следуют за строкой заголовка. Наконец,
Фиг. 6.1 Макрокоманда Page 1-1
PAGE ,132
TITLE Фиг. 6.1 Макрокоманда
FENI MACRO
DB 0DBH, 0E0H
ENDM
0000 CODE SEGMENT
ASSUME CS:CODE
FENI
0000 DB E0 1 DB 0DBH, 0E0H
0002 CODE ENDS
END
Фиг. 6.1 (b) Листинг ассмблера программы
Фиг.6.1 Макроопределение.(a) исходный файл; (b) листинг ассемблера.
(или действия ассемблера), которые будут заменять имя макрокоманды,
следуют за строкой заголовка. Наконец, ключевое слово ENDM
указывает ассемблеру на конец определения. Текст между операторами
MSCRO и ENDM называется телом макрокоманды. На Фиг. 6.1 телом
макрокоманды FENI является оператор определения байтов. Поскольку в
8088 нет команды, которая соответствовала бы команде FENI код
машинного языка для этой команды должен состять из операторов DB.
Важно заметить, что во время определения макрокоманды код
машинного языка еще не генерируется. Это можно утверждать, потому
что колонки адреса и данных в листинге ассемблера пусты. Когда
ассемблер впервые встречае макроопределение, он сохраняет его для
дальнейшего использования. Затем программа на Фиг. 6.1 привлекает
макрокоманду FENI. Программист использует имя макрокоманды FENI как
если бы это был код оперции ассемблера типа CLD или DAA, а
ассемблер обращается к сохраненному определению макрокоманды FENI.
Ассемблер берет текст из тела макроопределения и помещает его в той
же позиции транслируемой программы. Знак "+", появляющийся слева от
оператора DB в распечатке ассемблера, указывает на то, что эта
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий