2011-05-22 31 views
2

例如,PowerPC的书I,第3.3.2节,定义了lbz指令为:应该在PowerPC中总结有效地址'wrap'?如果是这样,怎么样?

让有效地址(EA)是总和(RA | 0)+ D的存储地址的字节由EA加载到RT 56:63。 RT 0:55设置为0.

我应该在以下两种情况下做什么?

  • (RA) + D > memory_capacity我应该换行还是做点什么?
  • (RA) + D > 4294967295我应该换行还是做点什么?

换句话说,是有效地址的(RA) + D的简单相加,或者计算完成mod memory_capacitymod 2^32-1

相关实用材料:在this script中设置var EA的每一行。

回答

3

在功率ISA 2.06书,部分1.9.3有效地址的计算

在32位模式中,64位结果的低位32位,前面 通过32 0位,为了寻址存储而包含64位有效的 地址。 [...]作为用于解决存储,所述 有效地址算术出现 从最大 地址绕到,2 -1,为解决 0,不同之处在于,如果当前 指令是在有效地址 -4下一个顺序指令的有效地址 是未定义的 。

+0

如果我通过在所有赋给有效地址的值上应用'mod 4294967296'来实现这个功能,我能正确解释吗? – 2011-05-23 10:17:47

+1

X&0xFFFFFFFF更简单快捷。 – 2011-05-23 11:14:06

+0

感谢您的帮助! – 2011-05-23 12:04:01

相关问题