📜  门| GATE CS Mock 2018年|第41章

📅  最后修改于: 2021-06-29 06:08:51             🧑  作者: Mango

考虑一下RISC机器中的以下指令序列:

捕获

有条件和无条件分支指令使用PC相对寻址模式,其偏移量以字节为单位指定到分支指令的目标位置。此外,偏移量始终与程序序列中下一条指令的地址有关。如果分支指令的目标是i,则Offest的十进制值为__________。
(A) -16
(B) 18
(C) 1000
(D)以上都不是答案: (A)
说明:我们的第一条指令的地址为1000。因此,

333

问题说分支指令的目标是“ i”,在我们的示例中为“ i”。
因此,我们需要从地址1016转到地址1000(当前由PC指向)
1016 – 1000 = 16
因此,我们必须将Offset指定为-16,这意味着应该从下一条地址指令(1000)中减去16。

替代方式–

Instruction            Bytes
i               0-3
i+1               4-6
i+2                 7-11
i+3                 12-12
i+3            13-15
Next Instruction    16
Instruction            Bytes
i               0-3
i+1               4-6
i+2                 7-11
i+3                 12-12
i+3            13-15
Next Instruction    16

根据PC相对模式,

有效PC地址=下一条指令地址+偏移量
0(i)= 16 +偏移
0-16 =偏移

偏移= -16
选项(A)是正确的。
这个问题的测验