Listmac - Включить разворачивание макросов в листинге

После директивы LISTMAC компилятор будет показывать в листинге содержимое макроса. По умолчанию в листинге показывается только вызов макроса и передаваемые параметры.

Синтаксис:

.LISTMAC

Пример:

.MACRO MACX; Определение макроса

add r0,@0; Тело макроса

eor r1,@1

.ENDMACRO; Конец макроопределения

.LISTMAC; Включить разворачивание макросов

MACX r2,r1; Вызов макроса (в листинге будет показано тело макроса)

MACRO - Начало макроса

С директивы MACRO начинается определение макроса. В качестве параметра директиве передаётся имя макроса. При встрече имени макроса позднее в тексте программы, компилятор заменяет это имя на тело макроса. Макрос может иметь до 10 параметров, к которым в его теле обращаются через @0-@9. При вызове параметры перечисляются через запятые. Определение макроса заканчивается директивой ENDMACRO.

По умолчанию в листинг включается только вызов макроса, для разворачивания макроса необходимо использовать директиву LISTMAC. Макрос в листинге показывается знаком +.

Синтаксис:

.MACRO макроимя

Пример:

.MACRO SUBI16; Начало макроопределения

subi @1,low(@0); Вычесть младший байт параметра 0 из параметра 1

sbci @2,high(@0); Вычесть старший байт параметра 0 из параметра 2

.ENDMACRO; Конец макроопределения

.CSEG; Начало программного сегмента

SUBI16 0x1234,r16,r17; Вычесть 0x1234 из r17:r16

NOLIST - Выключить генерацию листинга

Директива NOLIST указывает компилятору на необходимость прекращения генерации листинга. Листинг представляет из себя комбинацию ассемблерного кода, адресов и кодов операций. По умолчанию генерация листинга включена, однако может быть отключена данной директивой. Кроме того данная директива может быть использована совместно с директивой LIST для получения листингов отдельных частей исходных файлов

Синтаксис:

.NOLIST

Пример:

.NOLIST; Отключить генерацию листинга

.INCLUDE "macro.inc"; Вложенные файлы не будут

.INCLUDE "const.def"; отображены в листинге

.LIST; Включить генерацию листинга


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: