在java中实现的MIPS32 aluipc指令

时间:2016-04-19 19:32:39

标签: java mips32

我在Java中实现MIPS32指令集来构建模拟器。我已经参加了aluipc指令,我不确定我所做的事情是否正确。

在MIPS 32的文档中,它说"该指令执行PC相对地址计算。 16位立即数向左移16位,意外, 并添加到ALUIPC指令的地址。结果的低16位被清除,即 结果在64K边界上对齐。结果放在GPR rs。"

他们提供的操作示例是:

    GPR[rs] <- ~0x0FFFF & ( PC + sign_extend( immediate << 16 ) )

我的代码是:

    0x0FFFF & (v1 + (v2 << 16));

其中v1是pc而v2是直接的,我认为我将它简单地存储在一个int并且这就是答案吗?或者我清除16位低位并仅存储高位16?

0 个答案:

没有答案