这实际上是一个考试问题,我有疑问,我需要知道正确的答案和解释。机器指令和内存地址
常见问题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(十进制)开始加载。执行HALT指令之后CPU已经停止,保存到堆栈中的返回地址将是
一)1007
b)中1020
C)1024
d)1028
//我知道在任何指令执行期间,程序计数(PC寄存器)递增。所以当停止指令执行时,PC值应该是1028,但是正确的答案是c),我不确定。请帮助找到正确的答案。 Q2302。如果CPU是32位,可寻址字,则从起始地址1000开始载入程序。如果在ADD指令期间发生中断,则将返回地址推入堆栈。
一)1007
b)中1004
C)1005
d)1016
那你有没有提供什么样的答案?你的推理是什么? –
的问题1)两个可能的答案,暂停指令时,如果增加PC值,那么,答案将被D)1028如果PC值不增加,然后回答将是C)1024 – siddstuff
(公平地说他们没有指定本机非常好。一些机器离开递增中断的PC,而发生中断时别人备份。)在问题1 –