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


Возврат результата из процедуры

Ret6

Pop bp

 
 


sp

bp+6

bp+8

bp+10

 

 

Способы возврата:

1) Через свободный регистр.

2) С использованием общей памяти, когда объем передаваемой информации велик. Способ требует внимания программиста при чтении возвращаемых результатов.

3) Через стек. Программист резервирует некоторую область стека с целью возврата в этой области результата работы процедуры.

На рисунке показан вариант резервирования стека для возврата двух параметров.

BP
CS
IP
Dat3
Dat2
Dat1
SP
VAR2

VAR1

 

Использование макрокоманд позволяет:

1) Упростить и сократить исходный текст программы.

2) Сделать программу более понятной.

3) Уменьшить количество ошибок.

4) Увеличить быстродействие за счет замены процедур макросами.

 

Примеры использования макрокоманд:

· операции ввода/вывода,

· инициализация регистров,

· выполнение прерываний,

· выполнение арифметических операций,

· работа со строковыми переменными.

Структура макроопределения:

NAME MACRO [PAR1, PAR2, …]

;текст