0
我想了解MIPS的應用程序,但我有點困惑於以下說明:需要在MIPS內存澄清解決LW
la $k1, off_9FC005A8
lw $k1, (off_9FC005D4 - 0x9FC005A8)($k1)
jr $k1
在我的理解,這將等同於以下僞C代碼:
$k1 = *off_9FC005A8;
$k1 = *($k1 + (*off_9FC005D4 - 0x9FC005A8));
因此,瞭解以下內容:
off_9FC005A8: .word 0x9FC01508
off_9FC005D4: .word 0x9FC011B4
你會得到:
$k1 = 0x9FC01508;
$k1 = *($k1 + (0x9FC011B4 - 0x9FC005A8));
離開:$ k1 = 0x9FC02114。然而,這個抵消是我已經查看並確認是正確的一段代碼的一半。那麼,我對這些指令和內存尋址是否有缺陷的理解?
好吧,但是,這還沒有給我帶$ 0x包含0x9FC02114?這似乎不是一個有效的地方跳轉到。 – PeterBelm 2010-11-24 10:45:48