这个问题已经出现在过去几篇论文中,但我在互联网上找不到任何相关内容。
六个单指令MIPS可以设置$ v1来保存十进制值1?
答案 0 :(得分:3)
针对常见的误解,li
,la
或move
不只是一条指令,而是伪指令,需要多台机器指令才能执行。因此,我猜他们不会作为一种选择。
以下是可以执行此类操作的说明
addi $v1, $zero, 1
addui $v1, $zero, 1
ori $v1, $zero, 1
xori $v1, $zero, 1
# these use comparison
slt $v1, $zero, $31 # the last one can be any non-empty register
slti $v1, $zero, 1
sltu $v1, $zero, $31 # the last one can be any non-empty register
sltiu $v1, $zero, 1
# these use memory
lb $v1, one($zero)
lbu $v1, one($zero)
lh $v1, one($zero)
lhu $v1, one($zero)
lw $v1, one($zero)
one: .word 1
使用伪指令进行计数时,li
和la
也可用。