您好,必须编写此循环代码:
for($6=10;$6!=0;$6--){
$7=$6;
}
但有一些条件。我只能使用BEQ
并且必须假设每个寄存器的初始值是寄存器的编号。
如何仅使用 BEQ
评估该差异?
我做了这个
main:
add $6,$5,$5
for:
add $7,$6,$0
sub $6,$6,$1
beq $6,for
但我陷入了验证。
最佳答案
- 将 $6 设置为 10。当您 只是要覆盖它吗?
- 输入循环并将 $7 设置为 $6。
- 如果 $6 等于 0,则递减 $6 并跳转到下一个标签,否则跳转到下一个标签 跳回到循环的开头。
代码:
li $6, 10
for:
move $7, $6
subi $6, $6, 1
beq $6, $0, end
j for
end:
关于 assembly MIPS 仅使用 BEQ 评估差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10570999/