|
Приложение
1. Директивы языка Assemler
________________________________________________________________
| | |
| синтаксис | функция |
|____________________________|_________________________________|
| | |
| .186 | допустимы инструкции 80186 |
| | и 8086 |
|____________________________|_________________________________|
| | |
| .286c | допустимы инструкции 80286 |
| | и 8086 |
|____________________________|_________________________________|
| | |
| .286p | допустимы запрещенные инструк- |
| | ции 80286 и 8086 |
|____________________________|_________________________________|
| | |
| .287 | допустимы инструкции 80287 |
| | и 8087 |
|____________________________|_________________________________|
| | |
| .8086 | допустимы только инструкции |
| | 8086 |
|____________________________|_________________________________|
| | |
| .8087 | допустимы только инструкции |
| | 8087 |
|____________________________|_________________________________|
| | |
| имя=выражение | присваивание значения |
| | символическому имени |
|____________________________|_________________________________|
| | |
| ASSUME segreg:segname,... | описание содержимого регист- |
| | ров сегментов по умолчанию |
|____________________________|_________________________________|
| | |
| COMMENT ограничитель | указанный текст трактуется |
| текст ограничитель | как комментарий |
|____________________________|_________________________________|
| | |
| .CREF | формировать файл перекрест- |
| | ных ссылок |
|____________________________|_________________________________|
| | |
| [имя] DB значение,... | распределение и инициализация |
| | 1 байта памяти |
|____________________________|_________________________________|
- 50 -
________________________________________________________________
| | |
| [имя] DW значение,... | распределение и инициализация |
| | 2 байтов памяти |
|____________________________|_________________________________|
| | |
| [имя] DD значение,... | распределение и инициализация |
| | 4 байтов памяти |
|____________________________|_________________________________|
| | |
| [имя] DQ значение,... | распределение и инициализация |
| | 8 байтов памяти |
|____________________________|_________________________________|
| | |
| [имя] DT значение,... | распределение и инициализация |
| | 10 байтов памяти |
|____________________________|_________________________________|
| | |
| ELSE | начало условного альтернатив- |
| | ного блока |
|____________________________|_________________________________|
| | |
| END [выражение] | конец модуля и определение |
| | адреса точки входа |
|____________________________|_________________________________|
| | |
| ENDIF | конец условного блока |
|____________________________|_________________________________|
| | |
| ENDM | конец макро- или блока повтора |
|____________________________|_________________________________|
| | |
| имя ENDP | конец процедуры |
|____________________________|_________________________________|
| | |
| имя ENDS | конец сегмента или описания |
| | шаблона структуры |
|____________________________|_________________________________|
| | |
| имя EQU выражение | присваивание значения |
| | символическому имени |
|____________________________|_________________________________|
| | |
| .ERR | генерация ошибки |
|____________________________|_________________________________|
| | |
| .ERR1 | генерация ошибки 1-го прохода |
|____________________________|_________________________________|
| | |
| .ERR2 | генерация ошибки 2-го прохода |
|____________________________|_________________________________|
| | |
| .ERRB <аргумент> | генерация ошибки, если аргу- |
| | мент является пробелом |
|____________________________|_________________________________|
- 51 -
________________________________________________________________
| | |
| .ERRDEF имя | генерация ошибки, если имя |
| | было ранее определено как |
| | метка, переменная или символ |
|____________________________|_________________________________|
| | |
| .ERRDIF <строка1>, | генерация ошибки, если строки |
| <строка2> | различны |
|____________________________|_________________________________|
| | |
| .ERRE выражение | генерация ошибки, если выраже- |
| | ние ложно (нуль) |
|____________________________|_________________________________|
| | |
| .ERRIDN <строка1>, | генерация ошибки, если строки |
| <строка2> | идентичны |
|____________________________|_________________________________|
| | |
| .ERRNB <аргумент> | генерация ошибки, если аргу- |
| | мент не является пробелом |
|____________________________|_________________________________|
| | |
| .ERRNDEF имя | генерация ошибки, если имя |
| | еще не было определено |
|____________________________|_________________________________|
| | |
| .ERRNZ выражение | генерация ошибки, если выраже- |
| | ние истинно (не нуль) |
|____________________________|_________________________________|
| | |
| EVEN | установка указателя позиции на |
| | четный адрес |
|____________________________|_________________________________|
| | |
| EXITM | выход из текущего макроопреде- |
| | ления или блока повторения |
|____________________________|_________________________________|
| | |
| EXTRN имя:тип,... | определение внешних перемен- |
| | ных, меток или символов |
|____________________________|_________________________________|
| | |
| имя GROUP имя сегмента,... | определение имени группы |
| | сегментов |
|____________________________|_________________________________|
| | |
| IF выражение | ассемблировать, если |
| | выражение истинно (не нуль) |
|____________________________|_________________________________|
| | |
| IF1 | ассемблировать только на |
| | 1-м проходе |
|____________________________|_________________________________|
- 52 -
________________________________________________________________
| | |
| IF2 | ассемблировать только на |
| | 2-м проходе |
|____________________________|_________________________________|
| | |
| IFB <аргумент> | ассемблировать, если аргумент |
| | является пробелом |
|____________________________|_________________________________|
| | |
| IFDEF имя | ассемблировать, если имя было |
| | ранее определено как метка, |
| | переменная или символ |
|____________________________|_________________________________|
| | |
| IFDIF <аргумент1>, | ассемблировать, если аргумен- |
| <аргумент2> | ты различны |
|____________________________|_________________________________|
| | |
| IFE выражение | ассемблировать, если выражение |
| | ложно (нуль) |
|____________________________|_________________________________|
| | |
| IFIDN <аргумент1>, | ассемблировать, если аргумен- |
| <аргумент2> | ты идентичны |
|____________________________|_________________________________|
| | |
| IFNB <аргумент> | ассемблировать, если аргумент |
| | не является пробелом |
|____________________________|_________________________________|
| | |
| IFNDEF имя | ассемблировать, если имя еще |
| | не было определено |
|____________________________|_________________________________|
| | |
| INCLUDE имя файла | включить текст из файла |
|____________________________|_________________________________|
| | |
| IRP фиктивное имя, | блок повторения: фиктивное имя |
| <параметр,...> | последовательно принимает зна- |
| | чения параметров |
|____________________________|_________________________________|
| | |
| IRC фиктивное имя, | блок повторения: фиктивное имя |
| <параметр,...> | последовательно принимает зна- |
| | чения символьных параметров |
|____________________________|_________________________________|
| | |
| имя LABEL тип | создать в текущей позиции |
| | новую переменную или метку |
|____________________________|_________________________________|
| | |
| .LALL | печатать макрорасширения |
|____________________________|_________________________________|
- 53 -
________________________________________________________________
| | |
| .LFCOND | восстановить листинг |
| | условных блоков |
|____________________________|_________________________________|
| | |
| .LIST | восстановить листинг |
| | предложений программы |
|____________________________|_________________________________|
| | |
| LOCAL фиктивное имя,... | объявление фиктивных имен в |
| | макро для размещения позже со- |
| | здаваемых реальных имен |
|____________________________|_________________________________|
| | |
| имя MACRO формальный- | начало макроопределения с |
| параметр,... | формальными параметрами |
|____________________________|_________________________________|
| | |
| NAME имя модуля | изменить имя текущего модуля |
|____________________________|_________________________________|
| | |
| PURGE имя макро,... | удалить указанные макро |
|____________________________|_________________________________|
| | |
| ORG выражение | установить указатель позиции |
|____________________________|_________________________________|
| | |
| %OUT текст | выдать текст на терминал |
|____________________________|_________________________________|
| | |
| имя PROC тип | начало процедуры |
|____________________________|_________________________________|
| | |
| PAGE длина,ширина | установить число строк и число |
| | символов в строке листинга |
|____________________________|_________________________________|
| | |
| PAGE+ | переход на новую секцию |
| | листинга |
|____________________________|_________________________________|
| | |
| PAGE | переход на новую страницу |
| | листинга |
|____________________________|_________________________________|
| | |
| PUBLIC имя,... | описание общих переменных, |
| | меток и абсолютных имен |
|____________________________|_________________________________|
| | |
| .RADIX выражение | установить умалчиваемое |
| | основание чисел |
|____________________________|_________________________________|
- 54 -
________________________________________________________________
| | |
| имя записи RECORD | описание шаблона записи для 8- |
| имя поля:ширина | или 16-битовых записей, содер- |
| [=выражение],... | жащих одно или более полей |
|____________________________|_________________________________|
| | |
| REPT выражение | начало блока, повторяющегося |
| | указанное число раз |
|____________________________|_________________________________|
| | |
| .SALL | подавить вывод макрорасширений |
|____________________________|_________________________________|
| | |
| имя SEGMENT [выравнивание] | начало сегмента с указанными |
| [комбинация] ['класс'] | атрибутами |
|____________________________|_________________________________|
| | |
| .SFCOND | подавить вывод условных блоков |
| | с ложными (нулевыми) условиями |
|____________________________|_________________________________|
| | |
| имя STRUC | начало шаблона структуры |
|____________________________|_________________________________|
| | |
| SUBTTL [текст] | установить подзаголовок листинга|
|____________________________|_________________________________|
| | |
| .TFCOND | установить умалчиваемый режим |
| | печати условных блоков |
|____________________________|_________________________________|
| | |
| TITLE текст | установить заголовок листинга |
|____________________________|_________________________________|
| | |
| .XALL | выводить только те предложения |
| | в макро, по которым гененриру- |
| | ется код или данные |
|____________________________|_________________________________|
| | |
| .XCREF [имя,...] | подавить листинг таблицы |
| | перекрестных ссылок |
|____________________________|_________________________________|
| | |
| .XLIST | подавить листинг исходного |
| | файла |
|____________________________|_________________________________|
© KOAP
Open Portal 2000
|