---恢复内容开始---
栈的两个操作入栈(PUSH) 出栈(POP)
原谅色
注意:任意时刻SS:SP指向栈定元素 SS和SP定义栈
PUSH AX的执行, 做了两件事:
(1)SP=SP-2
(2)将AX的内容放到SS:SP指向的内存单元
栈空的时候 SP指向什么?
比如这个栈的战地(栈底)是1000FH 那么空战(空栈)的时候指向的是10010H
POP AX 执行过程与PUSH相反
(1)将SS:SP指向的内存单元的数据放到AX中
(2)SP=SP+2
SS 和 SP只能指向栈的顶 但是存在栈的越界的问题
哼,你以为会有吗?不存在的。
8086CPU不保证我们对栈的操作不会越界,全靠自己。
编程的时候要小心。
原谅色
PUSH 和 POP指令的格式
PUSH __
POP __
可以填:寄存器(AX)、段寄存器(SS)、内存单元(DS:[0000H])
PUSH 和 POP 实质上是一种内存传送指令