Почему мы добавляем значение для инициализации указателя стека (R7) в сборке? - PullRequest
0 голосов
/ 06 января 2019

Я сейчас новичок в сборке. Я знаю, что сначала нам нужно выделить размерность стека (в приведенном ниже примере это 1000). Однако я изо всех сил пытаюсь понять, почему мы должны добавить значение (в данном случае # 999) для инициализации указателя стека. Вот псевдосборка:

STACK: .RES 1000

MOV #STACK, SP
ADD #999, SP 

1 Ответ

0 голосов
/ 06 января 2019

Чтобы выделить место в стеке, указатель стека уменьшается (т. Е. Стек увеличивается). Таким образом, чтобы использовать буфер STACK для стека, указатель стека должен сначала указывать на конец STACK, поэтому уменьшение указателя стека заставляет его указывать на новые части STACK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...