A-A+

一条双字长直接寻址的子程序调用CALL指令 其第一个字为操作码和寻址特征 第二个字为地址码5

2022-08-12 13:51:34 问答库 阅读 196 次

问题详情

一条双字长直接寻址的子程序调用CALL指令,其第一个字为操作码和寻址特征,第二个字为地址码5000H。假设PC当前值为1000H,SP的内容为0100H,栈顶内容为1234H,存储器按字编址,而且进栈操作是先(SP)-△→SP,后存入数据。试回答下列几种情况下,PC,SP及栈顶内容各为多少。 (1)CALL指令被读取前; (2)CALL指令被执行后; (3)子程序返回后。请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:(1)CALL指令被读取前PC、SP和栈顶内容由题目给出即PC=1000HSP=0100H栈顶内容为1234H。(2)CALL指令被执行后程序断点1002H进栈此时SP=00FFH栈顶内容为1002HPC被更新为子程序入口地址5000H。(3)子程序返回后程序断点出栈PC=1002 HSP被修改为0100H栈顶内容为1234H。
(1)CALL指令被读取前,PC、SP和栈顶内容由题目给出,即PC=1000H,SP=0100H,栈顶内容为1234H。(2)CALL指令被执行后,程序断点1002H进栈,此时SP=00FFH,栈顶内容为1002H,PC被更新为子程序入口地址5000H。(3)子程序返回后,程序断点出栈,PC=1002H,SP被修改为0100H,栈顶内容为1234H。

考点:指令,特征