
上图是一个栈在内存中的示意图,在cpu中栈顶指针是通过SS寄存器和SP寄存器的组合来表示栈顶指针所指地址的。

在内存中,修改2000:0000的值,既然是通过SS、SP寄存器来设置栈顶指针的,那我们可以改变栈顶的指向,从而决定栈的大小。因为栈是向下生长的,如果要全部表示刚才输入的数字。
那栈顶指针应该为起点2000:0000
接下来修改寄存器。


执行pop ax后,从运行结果可以看出sp从0000变为了0002,移动了两个内存单元。因为ax为16位。此时ax也变为0201H,满足预期结果。

修改栈底指针。

汇编程序设计-27-栈的设置
最新推荐文章于 2022-08-03 22:52:01 发布
本文通过示例解释了如何在CPU中使用SS和SP寄存器来表示栈顶指针,并展示了如何通过修改这些寄存器来调整栈的大小。具体演示了执行popax指令后栈的变化过程。
1327

被折叠的 条评论
为什么被折叠?



