Вычислительная обстановка вовремя выполнения программа определяется с помощью однобитных флагов, хранящихся в специальном регистре микропроцессора – PSW – слово состояния процессора. Все флажки делятся на две группы: флажки условий и флажки управления.
1) Флажки условий:
1.1) Флажок знака SF. Равен старшему биту результата: ноль – если результат положительный, и единица – если результат отрицательный.
1.2) Флажок нуля ZF. Устанавливается в единицу при получении нулевого результата и сбрасывается в ноль, если результат отличается от нуля.
1.3) Флажок паритета PF. Устанавливается в единицу, если младшие 8 бит результата содержат четное число единиц, в противном случае он сбрасывается в ноль.
1.4) Флажок переноса CF. При сложении (вычитании) устанавливается в единицу, если возникает перенос из младшего бита или заем из старшего бита.
1.5) Флажок вспомогательного переноса AF. Устанавливается в единицу, если при сложении (вычитании) возникает перенос (заем) из бита 3. Только для двоично-десятичной арифметики.
1.6) Флажок переполнения OF. Устанавливается в единицу, если возникает переполнение, т.е. получение результата вне допустимого диапазона. При сложении этот флажок устанавливается, если имеется перенос в старший бит и нет переноса из старшего бита и наоборот.
2) Флажки управления:
2.1) Флажок направления DF. Применяется в командах манипуляции цепочками.
2.2) Флажок разрешения прерываний IF. Когда установлен этот флажок, центральный процессор распознает маскируемые прерывания, иначе прерывания игнорируются.
2.3) Флажок прослеживания (трассировки) TF. Когда этот флажок установлен, после выполнения каждой команды генерируется внутреннее прерывание.
Список сокращений и условных обозначений
Прежде чем перейти к рассмотрению регистров микропроцессора и основных команд языка ассемблера, следует ознакомиться с условными обозначениями, используемыми в дальнейшем. Перечень сокращений и условных обозначений приведен в таблице 4.1.
Таблица 4.1 – Перечень сокращений и условных обозначений
Сокращение | Смысловое значение | Сокращение | Смысловое значение |
OPR | Операнд | DATA8 | 8- битный непосредственный операнд |
SRC | Операнд- источник | DATA16 | 16- битный непосредственный операнд |
DST | Операнд- получатель | AX,BX.CX,DX | 16- битные регистры |
REG | Регистр | AL,AH,BL,BH | 8- битные регистры |
RSRC | Регистр- источник | CL,CH,DL,DH | 8- битные регистры |
RDST | Регистр- получатель | IP | Регистр- указатель команды |
CNT | Счетчик | SP | Регистр- указатель стека |
Продолжение таблицы 4.1 | |||
DISP | Смещение | BP | Регистр базовый |
D8 | 8- битное смещение | SI,DI | Регистры индексные |
ADDR | Адрес | CS,SS,DS,ES | Регистры сегментные |
EA | Эффективный адрес | DF,IF,TF | Флаги управляющие |
SEG | Сегмент | oF,SF,ZF | Флаги условий |
DATA | Непосредственный операнд | AF,PF,CF | Флаги условий |
Общий формат ассемблерной команды
Метка: Мнемоника Операнд, Операнд; Комментарий
Метка представляет собой идентификатор, то есть последовательность букв и цифр, начинающаяся с буквы. Символы метки могут разделяться знаком подчеркивания. Все имена регистров являются зарезервированными и их использовать в качестве метки нельзя. Они используются для указания соответствующих регистров.
Команда (мнемоника) указывает транслятору с ассемблера какое действие должен выполнить данный оператор. В сегменте данных команда или псевдооператор определяет поле, рабочую область или константу.
Операнды - регистры, метки данных или непосредственные данные.
Комментарий служит для пояснения действий команды или директивы ассемблера. Посте точки с запятой комментарий записывается на одной строке. Для продолжения комментария на последующих стоках он записывается после точки с запятой.
Определение данных
Формат операторов резервирования и инициализации данных: