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

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

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

posted @ 2017-06-15 11:39  御坂美琴2604  阅读(242)  评论(0编辑  收藏  举报