【发布时间】:2014-06-12 14:03:41
【问题描述】:
我试图弄清楚如何创建跳转指令代码并拥有正确的代码,但我不知道为什么。
所以,如果我有这个:
addi $s1, $s1, 0
addi $s1, $s1, 0
lui $s1, 0x1001
top: bne $s1, $s2, end
addi $s1, $s1, 1
end: j top
我想弄清楚j top的跳转指令
正确答案是 0x08100003。我只是不确定如何。
top的地址是0x0040000C。
一种快速而肮脏的计算方法是计算 x * 4 = 目标地址。因此,x * 4 = 4 (1) 和 x * 4 = 12 (3)。所以,我明白为什么指令中有 1 和 3 了。
跳转的操作码是 2hex,所以我们从 0000 10(操作码的 6 位)开始。然后我不确定下一步该怎么做。我知道指令的结尾是 3,但我怎么知道在哪里放置 1?
我希望这是有道理的。谢谢您的帮助。
【问题讨论】:
标签: mips