3.10 栈段
* 我们可以根据需要,将一组内存单元定义为一个段
* 我们可以将长度为n(n<=64k)的一组地址连续。起始地址为16的倍数的内存单元,当做栈来使用,从而定义了一个栈段
* 将内存当做栈栈,仅仅是我们再编程时的一种安排。CPU并不会由于这种安排,就在执行push、pop等栈操作指令时就自动的将我们定义的栈段当做栈空间来访问
*
如果我们将10000~1FFFF这段空间当做栈段。初始状态是空的,此时ss=1000,sp=?
* 栈最底部的内存单元为1000:FFFE
* 任意时刻,ss:sp执行栈顶,当栈中只有一个元素的时候,ss=1000, sp=FFFEH
* 栈为空的,就相当于与栈中唯一的元素出栈, 出栈后,sp=sp+2
FFFE + 2 = 10000 因为进位存不下的问题,又用到了前面相加的知识,所以当这段栈为空的时候:SS=1000H,SP
热门工具 换一换