这实际上是一道考试题,我有疑问,我需要知道正确答案和解释。
常见问题 1 和 2。
INSTRUCTION INSTRUCTION SIZE (word)
MOV R1 LOC1 2
MOV R2 #01 1
ADD R1 R2 1
MOV LOC2,R1 2
Halt 1
Q1。考虑内存是字节可寻址的,大小为 32 位,并且程序已从内存位置 1000(十进制)开始加载。CPU在执行完Halt指令后已经停止,保存在堆栈中的返回地址将是
一)1007
b) 1020
c) 1024
d) 1028
// 我知道在执行任何指令期间,程序计数(PC 寄存器)会递增。所以当执行暂停指令时,PC 值应该是 1028 但正确的答案是 c),我不确定。请帮助找到正确的答案。
Q2。如果 CPU 是 32 位,字可寻址,程序从起始地址 1000 加载。如果在 ADD 指令期间发生中断,压入堆栈的返回地址是什么。
一)1007
b) 1004
c) 1005
d) 1016