我正在尝试使用跳转表为我的工作制作菜单。一切对我来说看起来都很好,但下面的代码不起作用。在“jr $s0”指令之后,mars 给了我一个错误,如下所示:
Error in : invalid program counter value: 268501840
我知道十进制地址268501840是 L1 标签的实际地址,并且代码应该位于该标签,但此时我遇到了此错误。为什么?
main:
.data
jTable: .word L0,L1,L2,L3,L4,L5,L6,default #jump table definition
msg: .asciiz "\nEnter Your Choice;\n [1] for build,\n [2] for insert,\n [3] for find,\n [4] for findMinMax,\n [5] for delete,\n [6] for print\n [0] for Exit\nYour choice:#"
.text
userInteraction:
li $v0,4 #print string
la $a0,msg #get string address
syscall
li $v0,5 #get a menu option from user(0 to 6)
syscall
move $s0,$v0 #get index in $s0 …Run Code Online (Sandbox Code Playgroud)