我是汇编语言的新手.我正在阅读有关MIPS架构的内容,我遇到了跳转目标地址和分支目标地址以及如何计算它们.
这是我为测试跳转指令而编写的一些MIPS汇编代码:
addi $a0, $0, 1
j next
next:
j skip1
add $a0, $a0, $a0
skip1:
j skip2:
add $a0, $a0, $a0
add $a0, $a0, $a0
skip2:
j skip3
loop:
add $a0, $a0, $a0
add $a0, $a0, $a0
add $a0, $a0, $a0
skip3:
j loop
Run Code Online (Sandbox Code Playgroud)
当我运行汇编程序时,结果如下:
[0x000000] 0x20040001 # addi $a0, $zero, 1 ($a0 = 1)
[0x000004] 0x08000002 # j 0x0002 (jump to addr 0x0008)
[0x000008] 0x08000004 # j 0x0004 (jump to addr 0x0010)
[0x00000C] 0x00842020 # add $a0, $a0, $a0 …Run Code Online (Sandbox Code Playgroud)