Синтаксис:
.EXIT
Пример:
.EXIT; Завершить обработку этого файла
.INCLUDE — вставить файл.
Директива INCLUDE указывает транслятору ассемблера на необходимость вставить в исходный текст программы другой файл. Реально при обработке этой директивы транслируется файл, указанный в директиве INCLUDE, после завершения его обработки (при достижении конца файла или директивы. EXIT) продолжается обработка основного файла. Вложенные файлы, в свою очередь, могут иметь директиву INCLUDE. Для облегчения понимания можно представить себе, что в текст программы вместо директивы INCLUDE вставляется соответствующий файл.
Синтаксис:
.INCLUDE "имя файла"
Пример:
; Файл iodefs.asm
.E0U sreg=0x3f; Регистр статуса
.EQU sphigh=0x3e; Старший байт стека
.EOU splow=0x3d; Младший байт стека
;Файл incdemo.asm
.INCLUDE "iodefs.asm"; Включить в текст программы файл incdemo.asm
in r0.sreg; Прочитать содержимое регистра статуса
.LIST — включить генерацию листинга.
Директива LIST включает генерацию листинга. Ассемблер генерирует листинг, содержащий исходный текст на ассемблере, адреса и коды операций. По умолчанию генерация листинга включена. В комбинации с директивой NOLIST можно организовать печать только нужных фрагментов программы.
Синтаксис:
.LIST
Пример:
.N0LIST; Отключить генерацию листинга
.INCLUDE "macro.inc"; Включаемые файлы не будут
.INCLUDE “const.def"; показаны в листинге
.LIST; Включить генерацию листинга
.LISTMAC — включить раскрытие макрокоманд.
Директива LISTMAC указывает транслятору ассемблера на необходимость показа в листинге содержимого макрокоманд. По умолчанию в листинге показывается только название макрокоманды.
Синтаксис:
.LISTMAC
Пример:
MACRO МАСХ; Определить макрокоманду
add r0,@0
еог г1,@1
.ENDMACRO; Конец определения макрокоманды
.LISTMAC
МАСХ r2,r1; Вызов макрокоманды. В листинге будет показан ее текст
.MACRO — начало определения макрокоманды.
Директива MACRO указывает транслятору ассемблера на начало определения макрокоманды. Параметром директивы MACRO является имя определяемой макрокоманды. В дальнейшем при обнаружении в тексте программы имени макрокоманды транслятор ассемблера будет фактически заменять это имя на содержание макрокоманды. Макрокоманда может иметь до 10 параметров. Эти параметры имеют фиксированные имена: @0…@9. При вызове макрокоманды параметры должны быть представлены в виде списка, разделенного запятыми. Определение макрокоманды завершается директивой ENDMACRO.
При определении новой макрокоманды нельзя использовать другие макрокоманды (т. е. нельзя использовать вложенные макрокоманды).
Макрокоманда должна быть определена в тексте программы до того, как ее используют.
По умолчанию в листинге генерируется только вызов макрокоманды. Чтобы получить в листинге содержимое макрокоманд, следует использовать директиву LISTMAC. Текст макрокоманды в листинге помечен символом «+».
Синтаксис:
.MACRO
Пример:
MACRO SUBI16; Начало определения макрокоманды
subi r16,low(@0); Вычитаем младший байт
sbci r17,hlgh(@0); Вычитаем старший байт
ENDMACRO; Конец определения макрокоманды
CSEG; начало сегмента кода
SUBI16 9x1234,r16,r17; Вычесть 0x1234 из r17:r16
Примечание: r17:r16 в данном случае — пара регистров, содержащая 16-разрядное число.
.NOLIST — включить генерацию листинга.
Директива NOLIST выключает генерацию листинга. Ассемблер генерирует листинг, содержащий исходный текст на ассемблере, адреса и коды операций. По умолчанию генерация листинга включена. В комбинации с директивой LIST можно организовать печать только нужных фрагментов программы.
Синтаксис: