
- •Теоретическая часть
- •Тема 1.1. Основные понятия и определения
- •Тема 1.2. Ассемблеры
- •Тема 1.3. Регистры
- •Тема 1.4 . Арифметические операции
- •Тема 1.5. Команды обработки строк
- •Тема 1.6. Обработка таблиц
- •Тема 1.7. Свойства операторов работы с экраном
- •Тема 1.12. Компоновка программ
- •Тема 1.13. Выполнение программ
- •Тема 1.14. Макросредства
- •Тема 1.15. Макропроцессоры
- •Тема 1.16. Загрузчики и редакторы связей
- •Тема 1.17. Кросс-системы
- •Тема 1.18. Ошибки программирования
- •Тема 1.19.
Тема 1.12. Компоновка программ
Директива PUBLIC имеет следующий формат:
PUBLIC идентификатор [, ... ]
PUBLIC имя:тип [, ... ]
PUBLIC n:имя файла
PUBLIC выражение
(а)
Директива EXTRN имеет формат:
EXTRN имя:тип [, ... ]
EXTRN идентификатор [, ... ]
EXTRN n:имя файла
EXTRN выражение
(а)
Программа ассемблируется отдельно и генерирует собственный уникальный объектный модуль …
OBJ
LINK
ЕХЕ
СОМ
(а)
Функции загрузки и выполнения программы
AL=0
AL=1
AL=2
AL=3
AL=4
(а,г)
Программа компоновщик …
OBJ
LINK
ЕХЕ
СОМ
(б)
Тема 1.13. Выполнение программ
Директива … которая вызывает выравнивание данных и команд на четные адреса памяти.
EVEN
MOV
ADD
ОR
(a)
Тема 1.14. Макросредства
Для обеспечения уникальности генерируемых в каждом макрорасширении имен используется директива …
LOCAL
REPT
IRP
IRPC
(a)
Директива … указывает Ассемблеру на включение всех макроопределений из специфицированной библиотеки.
INCLUDE
LOCAL
REPT
IRPC
(a)
Символ … указывает Ассемблеру на сцепление текста или символов.
and
$
@
;
(a)
Директивы повторения:
REPT
IRP
IRPC
REP
IRC
(a, б, в)
Директива выхода из макроса EXITM имеет формат
IFxx [условие]
EXITM [условие]
IFxx [имя_выражения]
EXITM [имя_выражения]
(а)
Для любого неопределенного элемента макрокоманда увеличивает счетчик …
REPT
IRP
IRPC
CNTR
(г)
В случае, если идентификатор не объявлен как EXTRN, то Ассемблер обрабатывает операторы в условном блоке
IFNDEF идентификатор
IFDEF идентификатор
IF1 идентификатор
IFE выражение
(а)
Тема 1.15. Макропроцессоры
… — модуль системного ПО, позволяющий расширить возможности языка Ассемблера за счет предварительной обработки исходного текста программы.
Макропроцессор
Макровызов
Макрокоманда
Макрорасширение
(а)
Соотнесите основные термины, связанные с данными, обрабатываемыми Макропроцессором:
-
Макровызов
оператор программы, который подлежит обработке Макропроцессором
Макроопределение
описание того, как должна обрабатываться макрокоманда,
Макрорасширение
результат выполнения макровызова, представляющий собой несколько операторов языка Ассемблера,
Заголовок макроопределения имеет формат:
имя_макрокоманды MACRO список формальных параметров
имя_макрокоманды MICRO список формальных параметров
имя_макрокоманды MACRO размер
имя_макрокоманды MEND список формальных параметров
(а)
Для сильносвязанных Макропроцессоров могут использоваться имена программы, определяемые директивой
EQU
DD
BSS
END
(а)
Присваивание значений переменным макроопределения может производиться оператором:
имя_переменной SET выражение
имя_переменной LOCL начальное_значение
имя_макрокоманды MACRO список формальных параметров
имя_макрокоманды MEND список формальных параметров
(а)
Объявление глобальной переменной макроопределения:
имя_переменной GLBL начальное_значение
имя_переменной BLGL начальное_значение
имя_переменной GLBL нулевое_значение
имя_переменной BLGL нулевое значение
(а)
Уникальное имя метки может формироваться в формате:
&имя.nnnnnn
имя&SYSNDX
имя.nnnnnn
имя&SYX
(а, б)
Оператор безусловного перехода и метки макроопределения
MGO макрометка
MIF макрометка
MIF_выражение макрометка
MG_выражение макрометка
(а)
Последовательность формата Выдачи сообщения:
MOTE
код_серьезности,
код_ошибки,
сообщение_об_ошибке
Для обработки каждого макровызова создаются:
Таблица параметров
Таблица локальных переменных
Таблица выражений
Таблица глобальных переменных
(а,б)
Алгоритм обработки разветвляющего макроопределения завершается при достижении оператора
MEND.
MEXIT.
END
EXIT.
(б)