Основы программирования на Ассемблере для ОС Windows: учебное пособие [Н. И. Черкасова] (pdf) читать постранично

-  Основы программирования на Ассемблере для ОС Windows: учебное пособие  1.38 Мб, 84с. скачать: (pdf) - (pdf+fbd)  читать: (полностью) - (постранично) - Н. И. Черкасова

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ГРАЖДАНСКОЙ АВИАЦИИ

Н.И. Черкасова

ОСНОВЫ ПРОГРАММИРОВАНИЯ
НА АССЕМБЛЕРЕ ДЛЯ ОС WINDOWS

Москва
2017

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ВОЗДУШНОГО ТРАНСПОРТА
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ
БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ОБРАЗОВАНИЯ

«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ ГРАЖДАНСКОЙ АВИАЦИИ» (МГТУ ГА)

Кафедра вычислительных машин, комплексов, систем и сетей
Н.И. Черкасова

ОСНОВЫ ПРОГРАММИРОВАНИЯ
НА АССЕМБЛЕРЕ ДЛЯ ОС WINDOWS

Утверждено Редакционноиздательским советом МГТУ ГА
в качестве учебного пособия

Москва-2017

УДК 681.3
ББК 6ф7.3
Ч-48

Печатается по решению редакционно-издательского совета
Московского государственного технического университета ГА

Рецензенты: канд. техн. наук, доц. Л.А. Вайнейкис (МГТУ ГА);
канд. физ.-мат. наук, доц. В.Р. Соловьев (МФТИ)
Черкасова Н.И.
Ч-48
Основы программирования на Ассемблере для ОС Windows: учебное пособие. —
М.: МГТУ ГА, 2017. — 83 с., лит.: 10 наим.
ISBN 978-5-903865-22-2
Данные тексты лекций содержат материалы учебно-методического характера, необходимые для освоения знаний и умений по предмету «Основы программирования на Ассемблере для ОС Windows». Содержит материал второй части учебной
дисциплины «программирование на машинно-ориентированном языке», в котором
рассматриваются вопросы работы с ассемблерами в современных операционных
системах.
Данное учебное пособие издается в соответствии с рабочей программой
учебной дисциплины «Основы программирования на Ассемблере для ОС Windows»
по Учебному плану направления 09.03.01 всех форм обучения.
Рассмотрено и одобрено на заседании кафедры 25.04.17 г. и методического
совета 25.04.17 г .

ББК 6ф7.3
Св. тем. план 2017 г.
поз. 34
ЧЕРКАСОВА Наталья Ивановна
ОСНОВЫ ПРОГРАММИРОВАНИЯ НА АССЕМБЛЕРЕ ДЛЯ ОС Windows
Учебное пособие
Печать офсетная
4,88 усл.печ.л.

Подписано в печать 14.06.2017 г.
Формат 60х84/16
Заказ № 1725/196

3,58 уч.-изд. л.
Тираж 30 экз.

Московский государственный технический университет ГА
125993 Москва, Кронштадтский бульвар, д. 20
ООО «ИПП «ИНСОФТ»
107140, г. Москва, 3-й Красносельский переулок д.21, стр. 1
© Московский государственный
технический университет ГА, 2017

3

Содержание
1. Программирование приложений
1.1.Язык программирования Ассемблер
1.2.Мнемоники команд
1.2.1.Разработка приложения на Ассемблере
2.Организация памяти
2.1.Сегментированная модель памяти реального режима.
2.2.Порядок формирования физического адреса в реальном
Режиме
2.3.Защищенный режим
3.Регистры микропроцессора
3.1.Регистры общего назначения
3.2.Сегментные регистры
3.3.Внутренние регистры
3.4.Регистр флагов и команды управления флагами
3.5.Системные регистры
3.6.Указатель команд
4.Программирование в среде Windows
4.1. Особенности приложений для ОС Windows
4.2. Особенности приложений для ОС Windows
на Ассемблере.
4.3. Средства программирования в Windows
4.3.1.Директива INVOKE
4.3.2. Упрощенный режим сегментации
4.4. Разработка оконных и консольных приложений
4.4.1. Вызов функций API
4.4.2. Структура программы
4.4.3. Создание окна
5.Использование компиляторов TASM и MASM
5.1.Компиляция с использованием TASM
5.2.Компиляция с использованием MASM
5.3.О пакете MASM32
Приложение 1
Приложение 2
Приложение 3
Приложение 4
Приложение 5
Литература

4
5
6
8
9
10
11
12
14
15
16
17
17
21
22
23
23
28
32
37
40
42
42
44
44
48
50
50
54
58
63
68
73
79
83

4

1. Программирование приложений
Язык программирования Ассемблер – это язык программирования
низкого уровня, а вернее семейство языков, максимально приближенных к
аппаратному обеспечению компьютера или группа так называемых машинноориентированных языков программирования.
Язык программирования – это система обозначений для описания
данных и алгоритмов их обработки на компьютере. Программы для первых
вычислительных машин составлялись на простейшем из языков
программирования – машинном коде, при помощи только двух символов: нуля
и единицы. И если вначале программы писали в двоичном коде, то затем в
шестнадцатеричной системе счисления.
Написанная на машинном коде программа имеет вид таблицы из цифр,
каждая строчка которой соответствует одному оператору – машинной команде.
Она определяет компьютеру выполнение определенных действий. Константы и
команды являются конструкциями машинного кода. Команда разделяется на
группы бит (или поля). Первые несколько бит это поле – код операции (также
операционный код, опкод – англ operation code), который определяет действия
компьютера. Остальные поля, называемые операндами, идентифицируют
требуемую команде информацию, показывают, где именно в памяти
компьютера находятся нужные числа (слагаемые, сомножители и тому
подобное) и куда следует поместить результат операции (сумму, произведение
и так далее). Операнд может содержать данные,