Макрокоманды и макроопределения
Возврат результата из процедуры
Ret6
Pop bp
sp
bp+6
bp+8
bp+10
Способы возврата:
1) Через свободный регистр.
2) С использованием общей памяти, когда объем передаваемой информации велик. Способ требует внимания программиста при чтении возвращаемых результатов.
3) Через стек. Программист резервирует некоторую область стека с целью возврата в этой области результата работы процедуры.
На рисунке показан вариант резервирования стека для возврата двух параметров.
BP | ||
CS | ||
IP | ||
Dat3 | ||
Dat2 | ||
Dat1 | ||
VAR1 |
Использование макрокоманд позволяет:
1) Упростить и сократить исходный текст программы.
2) Сделать программу более понятной.
3) Уменьшить количество ошибок.
4) Увеличить быстродействие за счет замены процедур макросами.
Примеры использования макрокоманд:
· операции ввода/вывода,
· инициализация регистров,
· выполнение прерываний,
· выполнение арифметических операций,
· работа со строковыми переменными.
Структура макроопределения:
NAME MACRO [PAR1, PAR2, …]
;текст