大门|大门CS模拟2018 |问题41

在RISC机器中考虑下面的指令序列:

null

Capture

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

333

问题是分支指令的目标是“i”,在我们的示例中是1000。 所以,我们需要从地址1016(目前由PC指向)转到地址1000 1016 – 1000 = 16 因此,我们必须将偏移量指定为-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)是正确的。 这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享