考虑上述问题中给出的数据。假设内存是字节可寻址的,字长是 32 位。如果在“INC R3”指令执行过程中发生中断,那么什么返回地址会被压入堆栈?
(一) 1005
(乙) 1020
(三) 1024
(四) 1040答案: (C)
说明:说明:
如果内存是字节可寻址的,那么对于每条指令,它需要 1 个字,等于 4 个字节,需要 4 个地址
Instruction | Word | location |
MOV R1,3000 | 2 | 1000-1007 |
MOV R2,R1 | 1 | 1008-1011 |
ADD R2,R1 | 1 | 1012-1015 |
MOV(R3),R2 | 1 | 1016-1019 |
INC R3 | 1 | 1020-1023 |
DEC R1 | 1 | 1024-1027 |
INC R3 指令执行期间发生中断。所以CPU会完成这条指令的执行并将下一个地址1024压入栈中。所以中断服务程序可以恢复到下一条指令。
所以(C)是正确的选项。
这个问题的测验