1. Приведите классификацию регистров.
2. Опишите сегменты для работы программы.
Тема 3. Построение.ЕХЕ и.СОМ программ с полным и упрощенным описанием сегментов
Лекция 3. Основные правила написания ассемблерных программ.
Структура.EXE и.COM программ с полным и упрощенным описанием сегментов.
План:
1. Основные правила написания ассемблерных программ
2. Структура.ЕХЕ программ
3. Структура.СОМ программ
4. Модели памяти. Структура.ЕХЕ и.СОМ программ с кратким описанием сегментов
5. Вопросы на повторение.
1. Основные правила написания ассемблерных программ
Минимальная единица текста программы, написанной на языке ассемблера — строка.
Ассемблер просматривает текст программы построчно сверху вниз.
Предложения ассемблера бывают трех типов:
1. директивы, являющиеся указанием транслятору ассемблера на выполнение некоторых действий. У директив нет аналогов в машинном представлении;
2. команды или инструкции, представляющие собой символические аналоги машинных команд.
В процессе трансляции инструкции ассемблера преобразуются в соответствующие команды системы команд микропроцессора;
3. строки комментариев, содержащие любые символы, в том числе и буквы русского алфавита.
Однострочные комментарии – начинающаяся с «;»
Mov AX, 5;число 5 запишется в АХ
Многострочные комментарии
COMMENT <Разделитель>
Текст комментария
<Разделитель>
COMMENT *
число 5 запишется в АХ
*
Идентификаторы
Имена данных могут включать латинские буквы, цифры (не в качестве первого знака имени) и некоторые специальные знаки, например, знаки подчеркивания (_), доллара ($) и коммерческого at (@). Регистр букв не имеет значения. Длину имени некоторые ассемблеры ограничивают (например, ассемблер MASM - 31 символом), другие – нет.
Директивы определения данных
Формат | Функция | Формат | Функция | |
[имя] DB значение | определение байтов | [имя] DQ значение | определение квадрослов | |
[имя] DW значение | определение слов | [имя] DT значение | определение 10 байтов | |
[имя] DD значение | определение двойных слов |
Запись констант
В ассемблере есть два типа констант: простые и именованные.
Простые константы в свою очередь делятся на:
– двоичные – в конце символ «b» (0001001b);
– восьмеричные – в конце символ «q» (12q);
– десятичные – в конце может быть символ «d» (10d или 10);
– шестнадцатеричные – в конце символ «h»; не должна начинаться с буквы (А-F), в этом случае первым символом будет 0 (24h, 0Ah);
– строка символов (‘Аищ12’ или “Аищ12”). В отличие от других компонент языка, строковые константы чувствительны к регистру.