汇编程序设计-27-栈的设置

汇编程序设计-27-栈的设置

最新推荐文章于 2022-08-03 22:52:01 发布

原创

最新推荐文章于 2022-08-03 22:52:01 发布

·

865 阅读

·

0

·

3

·

CC 4.0 BY-SA版权

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

文章标签:

#c语言

#链表

#开发语言

汇编程序设计

专栏收录该内容

36 篇文章

订阅专栏

本文通过示例解释了如何在CPU中使用SS和SP寄存器来表示栈顶指针,并展示了如何通过修改这些寄存器来调整栈的大小。具体演示了执行popax指令后栈的变化过程。

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

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

那栈顶指针应该为起点2000:0000

接下来修改寄存器。

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

修改栈底指针。


TOP