《汇编语言》第3章寄存器(内存访问).ppt

3.10 栈段 比如我们将10010H~1001FH 这段长度为 16 字节的内存空间当作栈来用,以栈的方式进行访问。 这段空间就可以成为栈段,段地址为1000H,大小为16字节。 3.10 栈段 将一段内存当作栈段,仅仅是我们在编程时的一种安排,CPU 并不会由于这种安排,就在执行push、pop 等栈操作指令时就自动地将我们定义的栈段当作栈空间来访问。 如何使的如push、pop 等栈操作指令访问我们定义的栈段呢? 将SS:SP指向我们定义的栈段。 3.10 栈段 问题3.11 如果我们将10000H~1FFFFH这段空间当作栈段,初始状态是空的,此时,SS=1000H,SP=? 思考后看分析。 问题3.11分析 我们将10000H~1FFFFH这段空间当作栈段 ,SS=1000H ,栈空间大小为64KB ,栈最底部的字单元地址为1000:FFFE。 任意时刻,SS:SP指向栈顶,当栈中只有一个元素的时候,SS=1000H,SP=FFFEH。 问题3.11分析 栈为空,就相当于栈中唯一的元素出栈,出栈后,SP=SP+2。 SP原来为FFFEH,加2后SP=0,所以,当栈为空的时候,SS=1000H,SP=0。 换个角度看 问题3.11分析(续) 换个角度看 任意时刻,SS:SP指向栈顶元素,当栈为空的时候 ,栈中没有元素 ,也就不存在栈顶元素,所以SS:SP只能指向栈

文档评论(0)

1亿VIP精品文档

相关文档