Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Лысков Игорь Витальевич
Статус: Младший модератор
Рейтинг: 409
∙ повысить рейтинг >>
_Ayl_
Статус: 5-й класс
Рейтинг: 380
∙ повысить рейтинг >>
Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 239
∙ повысить рейтинг >>

∙ / КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 1228 от 16.06.2009, 13:35
Администратор рассылки: Лысков Игорь Витальевич, Младший модератор
В рассылке: подписчиков - 425, экспертов - 60
В номере: вопросов - 1, ответов - 2

Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке:
оценить выпуск >>

Вопрос № 169292: Здравствуйте, товарищи Вопрос простой и вот какой: как осуществляется ввод с клавиатуры, или вывод на экран в Windows - прерываниями, как в DOS, или для Windows как-то по-другому? Извините, если вопрос не корректный...



Вопрос № 169292:

Здравствуйте, товарищи

Вопрос простой и вот какой: как осуществляется ввод с клавиатуры, или вывод на экран в Windows - прерываниями, как в DOS, или для Windows как-то по-другому? Извините, если вопрос не корректный.

Отправлен: 11.06.2009, 13:33
Вопрос задал: Vasiliusis, Посетитель
Всего ответов: 2
Страница вопроса >>


Отвечает Лысков Игорь Витальевич, Младший модератор :
Здравствуйте, Vasiliusis.
А это смотря какую программу писать. Основной тип программ в Windows (будем говорить о 32-битных версиях) - 32-битные программы формата PE.
В системе взаимодействие с клавиатурой и экраном осуществляется в системных драйверах.
А вот передача и получение информации программам (а их множество) осуществляется посредством механизма сообщений.

Но Windows может запустить не только программы в родном формате.
Система может запустить как программу, предназначенную для ДОС-а (формата EXE (MZ) и COM, так и программы для 16-битных Windows (формата NE, LE).
При этом для их работы создается специальная виртуальная машина, в которой эмулируется среда для этих программ.
Сами эти программы, в частности досовские программы, вполне могут пользоваться всеми привычными прерываниями. Украина, Кировоград
ICQ # 234137952
Mail.ru-агент: igorlyskov@mail.ru

-----
Удачи!

Ответ отправил: Лысков Игорь Витальевич, Младший модератор
Ответ отправлен: 11.06.2009, 14:11

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 250833 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает Дмитрий Бобровников, 2-й класс :
    Здравствуйте, Vasiliusis.

    Вместо прерываний (как в DOS) все функции ОС уровня пользователя реализуются через вызовы API (Windows API). При работе с консольным режимом в среде Си (Microsoft Visual Studio C++, Borland CBuilder) предусмотрены, так же как и для DOS, готовые функции printf, scanf, getch, puthch и т.д. Для Delphi точно также предусмотрены readln, writeln. Если консольная программа пишется на ассемблере под Windows, используются API вызовы, такие WriteConsole, ReadConsole (подробный справочник на русском по консольным функциям http://vsokovikov.narod.ru/New_MSDN_API/Console/con_fn.htm). Для использования API-консольных функций необходимо подключить библиотеку kernel32. Кстати говоря, в языках высокого уровня использование только Windows API вызовов позволит значительно сократить размер исполняемого файла.
    С графическими приложениями всё несколько сложнее. Оконная API архитектура Windows построена на сообщениях. При нажатии клавиши, клике мышки, любом другом событии отправляется сообщение (например, WM_KEYDOWN) оконному обработчику сообщений, где и классифицируется. Вывод информации в окно осуществляется также с помощью сообщений. Окну (окном является практически любой объект на экране, в том числе и поля для ввода текста) посылается сообщение WM_SETTEXT и передается текст. Также существует возможность прямого доступа к графической поверхности окна с помощью API GDI, которая позволяет «напрямую» рисовать в окно, в том числе текст.
    Высокоуровневые среды Borland Delphi и CBuilder, Microsoft MFC значительно упрощают программирование оконных приложений Windows.

    Ответ отправил: Дмитрий Бобровников, 2-й класс
    Ответ отправлен: 11.06.2009, 14:25

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 250834 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!



    Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке:
    оценить выпуск >>

    подать вопрос экспертам этой рассылки >>

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.2 от 15.06.2009

    В избранное