2011-05-22 37 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

相關問題