[an error occurred while processing this directive]
|
AADD #-3,SP
означает что от указателю стека вычитается три.
После этой команды функция получает три 16 битных слова под локальные нужды в стеке. после этого я могу писать типа
MOV #1, *SP(0)
MOV #2, *SP(1)
MOV #3, *SP(2)
однако если я напишу
MOV #4, *SP(3)
то я испорчу стек и прога скорее всего рухнет
ADD #3, SP
возвращаем три слова обратно в стек, попользовались - вернули на место.
Все локальные переменные функции размещаются в стеке, кроме случаев ренмстровой оптимизации - когда хватает регистров и особой надобности использования стека нет
E-mail: info@telesys.ru