|
楼主 |
发表于 2020-7-28 19:45:01
|
显示全部楼层
在网络上搜索到了一道题及其答案,大家参考。
1.如果一个堆栈从地址3250H:0000H开始,它的最后一个字的偏移地址为0100H,SP的内容为0052H,问:
1 栈顶地址是什么?
2 栈底地址是什么?
3 存入数据1234H和5678H后,SP的内容是多少?
答案:
1 堆栈的最高地址叫栈底,堆栈指示器SP总是指向栈顶。
栈顶地址=(SS)×10H+(SP)=3250H×10H + 0052H=32552H
2 栈底地址=(SS)×10H + 0100H=32600H
3 8086CPU中堆栈存取必须以字为单位。存入数据1234H和5678H后,即两个字压入堆栈后,SP减4,SP的内容为:(SP) - 字数×2=0052H - 2×2=004EH。SS的内容不变。
|
|