Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SP.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
166.62 Кб
Скачать

50)Описать и охарактеризовать дополнительные средства макрокоманд – директивы include и purge. Объяснить их назначение и использование.

Директива INCLUDE Отдельные фрагменты ассемблерного кода или макрокоманды могут использоваться в различных программах. Для этого такие фрагменты и макрокоманды записываются в отдельные дисковые файлы, доступные для использования из любых программ. Пусть некоторая подпрограмма, преобразующая ASCII-код в двоичное представление, записана на диске С в файле по имени CONVERT.LIB. Для доступа к этому файлу необходимо указать директиву INCLUDE lab.mac причем в том месте исходной программы, где должна быть закодирована подпрограмма преобразования ASCII-кода. В результате ассемблер найдет необходимый файл на диске и вставит его содержимое в исходную программу. (Если файл не будет найден, то ассемблер выдаст соответствующее сообщение об ошибке и директива INCLUDE будет игнорирована.) Для каждой вставленной строки ассемблер выводит в LST-файл в 30-й колонке символ С (исходный текст в LST-файле начинается с 33-й колонки). В гл.20 (Макрокоманды) дан практический пример директивы INCLUDE и дано объяснение, каким образом можно использовать эту директиву только в первом проходе ассемблера.

Удаление общей макрокоманды: директива PURGE Для удаления макрокоманд вы можете использовать директиву PURGE. Директива PURGE имеет следующий синтаксис: PURGE имя_макрокоманды, [имя_макрокоманды]. Директива PURGE удаляет определение макрокоманды, состоящей из нескольких строк, с именем "имя_макрокоманды" После использования директивы PURGE Турбо Ассемблер больше не интерпретирует идентификатор PURGE как макрокоманду, например:

ADD MACRO a1,a2 SUB a1,a2 ENDM ADD ax,bx ; этот вызов даст SUB ax,bx PURGE ADD ADD ax,bx ; теперь это не макрокоманда, поэтому вы получите ADD ax,bx

Вы можете сразу удалить этой директивой несколько макрокоманд, разделив их имена запятыми. Отметим однако, что идентификатор удаленной макрокоманды можно переопределить только другой макрокомандой.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]