3.7 CPU提供的栈机制
现代的CPU中都有栈机制,8086CPU提供入栈和出栈指令,最基本的两个是PUSH(入栈)和POP(出栈)。
如push ax表示将寄存器ax中的数据送入栈中,pop ax表示从栈顶取出数据送入ax
CPU如何知道栈顶位置?
8086CPU中,有两个寄存器,段寄存器SS(Stack Segment)和寄存器SP(Stack Pointer)。栈顶的段地址存放在SS中,偏移地址存放在SP中。任意时刻,SS:SP都指向栈顶元素
push ax的执行,由以下两步完成:

思考:如果将10000H~1000FH这段空间当作栈,初始状态栈是空的,若此时SS=1000H,SP应该等于多少?

pop的执行过程:

注意:原栈顶元素1000CH中的元素不会被删除,因为这样是很耗费时间的。当下一次再入栈数据时,其自然的就会被覆盖