Для работы со стеком имеется несколько команд, которые называются стековыми. Они будут выполняться правильно, только если SS указывает на начало сегмента стека, а SP – на вершину стека. Если в этих регистрах записано что-то иное, то действие стековых команд непредсказуемо.
1. Команда PUSH <источник>
“Втолкнуть” операнд из источника в стек (запись в стек). При этом в качестве источника можно представлять любой 16-битовый регистр, не говоря уже о простых регистрах, но ни в коем случае нельзя указывать непосредственный операнд. Команда PUSH 5 – считается ошибочной.

Рис.7.2. Стек до и после выполнения команды PUSH
Команда PUSH выполняется так: сначала значение регистра SP уменьшается на 2 и теперь SP указывает на свободную ячейку области стека, а затем в нее записывается значение из источника (см. рис.7.2). По команде PUSH можно записать только слово, а не байт или двойное слово. Последнее приходится записывать двумя командами, а первое – расширять каким-либо способом до слова.
2. Команда POP <приемник>
“Вытолкнуть” слово в приемник (запись слова из стека в приемник). Приемником может быть любой регистр, в том числе и сегментный, кроме регистра CS.
Команда выполняется так: слово из ячейки, на которую указывает пара SS:SP , пересылается в приемник, а затем SP увеличивается на 2 (см. рис.7.3).

Рис.7.3. Стек и регистр АХ до и после выполнения команды РОР.