Инструкция PUSHПоместить регистр или ячейку памяти в стек
PUSH reg/mem
16 - Поместить reg/mem
16 в стек.
PUSH reg
16 - Поместить reg
16 в стек.
PUSH CS - Поместить CS в стек.
PUSH SS - Поместить SS в стек.
PUSH DS - Поместить DS в стек.
PUSH ES - Поместить ES в стек.
Предположим, что регистр
ax содержит
123416 После выполнения
push ax регистр
ax по прежнему будет содержать
123416, но на вершине стека будет лежать значение регистра
ax.
- title Автор: Довгополов Евгений Сергеевич
- .model small
- .stack 100h
- code segment public
- ____assume cs:code
- ____main proc
- ________mov_____al, 1234h
- ________push____ax
- ________mov_____ax, 4C00h
- ________int_____21h
- ____main endp
- code ends
- end main
В следующем примере мы положим на вершину стека значение переменной value которое находится в сегменте данных.
- title Автор: Довгополов Евгений Сергеевич
- .model small
- .stack 100h
- data segment public
- ____value dw 1234h
- data ends
- code segment public
- ____assume ds:data, cs:code
- ____main proc
- ________mov_____ax, seg data
- ________mov_____ds, ax
- ________push____ds:[value]
- ________mov_____ax, 4C00h
- ________int_____21h
- ____main endp
- code ends
- end main