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
这里的注意点是,将一段空间当做栈空间,只能设置栈顶的初始位置,然而将某段空间当做栈空间来使用具体到到什么位置需要自己在编程时候注意。
文章来自王爽汇编语言的阅读理解
博主加油!