我正在尝试使用跳转表作为跳转到的标签数组来实现mips中的switch case:
.data
JumpTable:
.word L0, L1, L2, L3
.text
.globl main
main:
la $t4, JumpTable # address of JumpTable
sll $t1, $s5, 2 # s5 is value of the variable witch we want to switch on it.
add $t1, $t1, $t4
lw $t0, 0($t1)
jr $t0
L0:
...
L1:
...
L2:
...
L3:
...
我的问题是,对于非顺序变量,有没有办法做到这一点?(如1,4,19,40)
答案 0 :(得分:2)
您可以在表格中添加双打
.word L0, L0, L0, L0, L1, L2, L2, L2, L2, L2, L2, L3, ...
OR
使用条件分支。这取决于您的预期应用。