cpu的栈机制

8086CPU提供入栈和出栈的操作,push【入栈】 pop【出栈】,push ax,即将ax的数据送入栈顶中,pop ax,从栈顶取出数据送入ax中,这两种操作,入栈和出栈都是以字为单位进行的。8086CPU中有两个寄存器,段寄存器SS和寄存器SP,任意时刻,SS:SP指向栈顶元素。

push ax的执行分以下两步

1.SP=SP-2 SS:SP指向当前新的栈顶

2.将ax中的内容送入SS:SP指向的内存单元中

pop ax 执行的过程

1.将SS:SP指向的内容送入到ax中去

2.SP=SP+2,指向新的栈顶

[问题]如何将10000H-1000F这段空间当做栈空间

mov ax,1000H

mov ss,ax

mov sp,0010

这里的注意点是,将一段空间当做栈空间,只能设置栈顶的初始位置,然而将某段空间当做栈空间来使用具体到到什么位置需要自己在编程时候注意。

                                                                    文章来自王爽汇编语言的阅读理解

cpu的栈机制》有一个想法

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据