一条双字长直接寻址的子程序调用CALL指令,其第一个字为操作码和寻址特征,第二个字为地址码5000H。假设PC(程序计数器)当前值为1000H,SP的内容为0100H,栈顶内容为1234H,存储器按字编址,而且进栈操作是先(SP)-1→SP,后存入数据。则

admin2014-04-17  28

问题 一条双字长直接寻址的子程序调用CALL指令,其第一个字为操作码和寻址特征,第二个字为地址码5000H。假设PC(程序计数器)当前值为1000H,SP的内容为0100H,栈顶内容为1234H,存储器按字编址,而且进栈操作是先(SP)-1→SP,后存入数据。则CALL指令执行后,SP及栈项的内容分别为(    )。

选项 A、OOFFH,1000H
B、0101H,1000H
C、OOFEH,1002H
D、OOFFH,1002H

答案D

解析 当子程序调用CALL指令时,首先需要将程序断点(PC的值)保存在堆栈中,然后将CALL指令的地址码送入PC。因为指令为双字长,所以取出CALL指令后,PC的值需要加2,即1002H。当CALL指令执行后,程序断点1002H进栈,此时SP=00FFH(因为进栈操作需要将SP的值减1,即0100H-0001H=00FFH),栈项内容为1002H。
转载请注明原文地址:https://kaotiyun.com/show/Rixi777K
0

最新回复(0)