Загрузить значение из верхней части стека в регистр или ячейку памяти
__POP reg/mem16 - Загрузить значение из верхней части стека в mem16; увеличивает указатель стека.
__POP reg
16 - Загрузить значение из верхней части стека в reg
16; увеличивает указатель стека.
__POP DS - Загрузить значение из верхней части стека в DS; увеличивает указатель стека.
__POP ES - Загрузить значение из верхней части стека в ES; увеличивает указатель стека.
__POP SS - Загрузить значение из верхней части стека в SS; увеличивает указатель стека.
Загружает значение из верхней части стека в местоположение, указанное с помощью целевого операнда, а затем увеличивает указатель стека. Целевым операндом может быть регистр общего назначения, ячейка памяти или сегментный регистр.
Предположим, что регистр
ax содержит
123416 После выполнения
push ax регистр
ax по прежнему будет содержать
123416, но на вершине стека будет записано значение регистра
ax. Инструкция
pop bx выталкивает значение из верхней части стека в регистр
bx.
- title Автор: Довгополов Евгений Сергеевич
- .model small
- .stack 100h
- code segment public _______; Начало сегмента кода
- ____assume cs:code
- ____main proc _____________; Начало процедуры main
- ________mov_____al, 1234h _; Копируем значение 1234 в регистр ax
- ________push____ax_________; Ложим значение регистра ax на вершину стека
- ________pop ____bx_________; Выталкиваем значение из верхней части стека в регистр bx
- ________mov_____ax, 4C00h__; Копируем значение функции завершения процесса в ah а значение в al
- ________int_____21h _______; Вызываем прерывание DOS
- ____main endp _____________; Конец процедуры main
- code ends _________________; Конец сегмента кода
- end main __________________; Конец файла. Точкой входа указывается процедура main