我必须实现jal指令作为伪指令,而不使用J类型指令。我可以使用jr来实现它,但我知道jal会将当前PC+8存储在$ra中。我该如何实现这个功能?如何在不使用J类型指令的情况下将PC地址存储在ra寄存器中?
我必须实现jal指令作为伪指令,而不使用J类型指令。我可以使用jr来实现它,但我知道jal会将当前PC+8存储在$ra中。我该如何实现这个功能?如何在不使用J类型指令的情况下将PC地址存储在ra寄存器中?
试试这个:
la $ra, ret # load return address (pseudo instruction!)
j dest # call the function
nop # delay slot
ret: # return here
...
dest: # destination function
...
jr $ra