Макроопределения

Описание макроса, т.е. макроопределение, имеет следующий вид:

 

<имя макроса> MACRO <формальные параметры>

<тело макроса>

ENDM

 

Макрокоманды

Обращение к макросу осуществляется через макрокоманду, которая записывается следующим образом:

 

<имя макроса> <фактические параметры>

После выполнения макроподстановки формируется макрорасширение.

 

 

Пример:

 

Макроопределение

 

SUM MACRO S1, S2, REZ

PUSH AX

MOV AX, S1

ADD AX, S2

MOV REZ, AX

POP AX

ENDM

 

Макрокоманда

 

SUM 5, ALFA, BX

 

Макрорасширение

 

PUSH AX

MOV AX, 5

ADD AX, ALFA

MOV BX, AX

POP AX

 

 

Макроповторения

Блок повторения имеет следующую структуру:

 

<заголовок>

<тело>

ENDM

Различают три варианта блока повторения:

REPT-блоки, IRP-блоки, IRPC-блоки.

 

1. REPT-блоки

 

REPT k

<тело>

ENDM

 

Пример:

 

REPT 3 SHR AX, 1 ENDM SHR AX, 1 SHR AX, 1 SHR AX, 1

 

Пример:

 

N EQU 6 REPT N-4 DB 0, 1 DW ? ENDM N EQU 6 DB 0, 1 DW ? DB 0, 1 DW ?

 

 

2. IRP-блоки

 

IRP p, <v1, …, vk>

<тело>

ENDM

 

p – некоторое имя, формальный параметр; vi – фактические параметры.

 

Пример:

 

IRP REG, <AX,CX,SI> PUSH REG ENDM   PUSH AX PUSH CX PUSH SI  

 

3. IRPC-блоки

 

IRPC p, s1…sk

<тело>

ENDM

 

p – некоторое имя, формальный параметр; si – символы, кроме пробелов и точек с запятой.

 

Пример:

 

IRPC D,17W ADD AX,D ENDM     ADD AX,1 ADD AX,7 ADD AX,W  

 

 

Макрооператоры

Макрооператоры – операторы, разрешенные к применению только в конструкциях макроязыка.

 

Оператор замены (&)

 

& параметр

Пример:

 

IRP W, <1, 6> VAR&W DW ? ENDM   VAR1 DW ? VAR6 DW ?    

Оператор выделения текста (<>)

Пример:

 

IRP VAL, <<1,2>, 3> DB VAL ENDM   IRPC S,<A;B> DB ‘&S’ ENDM   DB 1,2 DB 3     DB ‘A’ DB ‘;’ DB ‘B’ IRP VAL, <<1,2>, 3> DB VAL ENDM   DB 1,2 DB 3    

Оператор выделения символа (!)

Пример:   IRPC X,<A!>B,Привет> DB ‘&X’ ENDM       DB ‘A>B’ DB ‘Привет’    

Оператор выражения (%)

% <константное выражение>

 

Пример:   K EQU 4 … IRP A,<K+1,%K+1,W%K+1> DW A ENDM     DW K+1 DW 5 DW W5    







Дата добавления: 2015-10-09; просмотров: 529;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.