24. Команды работы со стеком

Для организации работы со стеком существуют специальные команды записи и чтения:

Команда PUSH выполняет запись значения «источник» в вершину стека:
PUSH источник
Алгоритм работы этой команды, включает два действия:

  • Значение SP уменьшается на 2
  • Значение источника записывается по адресу, указываемому парой SS:SP.



Команда POP выполняет запись значения из вершины стека по месту, указанному операндом «приемник» (значение при этом «снимается» с вершины стека):
POP приемник
Алгоритм работы команды POP обратен алгоритму команды PUSH

  • Запись содержимого вершины стека по месту, указанному операндом «приемник».
  • Увеличение значения SP на 2



Команда PUSHA предназначена для групповой записи в стек. По этой команде в стек последовательно записывается содержимое регистров АХ, СХ, DX, BX, SP, BP, SI, DI.
Обратная ей команда POPA выталкивает из стека в соответствующие регистры переданные значения в обратном порядке – DI, SI, BP, SP, BX, DX, CX, AX.


Команда PUSHF сохраняет регистр флагов в стеке

17.07.2015