汇编MIPS仅与BEQ评估差异

时间:2012-05-13 10:27:11

标签: assembly mips

你必须编写这个循环代码:

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

但我仍然坚持验证。

1 个答案:

答案 0 :(得分:2)

  1. 设置$ 6等于10.为什么在6美元时给6美元的初始值为6 只是要覆盖它?
  2. 输入您的循环并将$ 7设置为$ 6.
  3. 如果$ 6等于零,则递减$ 6并跳转到下一个标签,否则 跳回到循环的开始。
  4. 代码:

    li $6, 10
    for:
        move $7, $6
        subi $6, $6, 1
        beq $6, $0, end
        j for
    end: