问答题
有一存储器堆栈。其栈底地址为300,且有a,b,c三个数据依次存放在堆栈中,a放在栈底。CPU中有一硬件堆栈指示器SP,且用通用寄存器R
1
作为数据交换器。试画出数据c出栈以前与出栈以后堆栈、SP与通用寄存器R
1
的状态。
【正确答案】
正确答案:存储器堆栈中,进栈时先存入数据,后修改堆栈指示器。反之,出栈时,先修改堆栈指示器,然后取出数据。即 进栈操作:(R
1
)→Msp,(SP)-1→SP 出栈操作:(SP)+1→SP,(Msp)→R
1
其中Msp是堆栈指示器指示的栈顶单元。因此可画出题目要求的状态变化图,如图4.1所示。
【答案解析】
提交答案
关闭