Макрорасширение (м/р)
Для получения расширения необходимо в м/о подставить фактические команды макрорасширения. Фактические параметры м/к должны быть записаны так, чтобы получились синтаксически правильные команды. Макрорасширение формируется компилятором и подставляется в программу вместо м/к. В листинге программы можно увидеть команды макрорасширения.
Пример. Составить программу для обмена местами данных длиной 32 бита с помощью макросов.
IDEAL
p586
model flat
extrn ExitProcess:proc
dataseg
first dd 1
second dd 2
codeseg
begin:
MACRO SWAP a, b
push eax ebx
mov eax, a
mov ebx, b
mov a, ebx
mov b, eax
pop ebx eax
endm
SWAP [first], [second]
call ExitProcess
end begin
Откомпилируйте программу в режиме формирования листинга (ключ l). По листингу проанализируйте число сформированных команд для функции и макросов. Сделайте выводы по использованию макросов и функций.