首页 > 代码库 > 汇编 学到哪里写哪里——栈

汇编 学到哪里写哪里——栈

---恢复内容开始---

栈的两个操作入栈(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 实质上是一种内存传送指令

汇编 学到哪里写哪里——栈