如何停止在MIPS中输入-1?

时间:2014-10-14 00:48:52

标签: assembly input mips computer-architecture

我正在尝试为MIPS中的数组输入数字输入,但我希望它在用户输入-1时停止。我知道我必须使用'beq',但我无法理解。例如1 2 3 4 5 6 -1

我在MARS工作。

2 个答案:

答案 0 :(得分:1)

(对于MARS)beq $s, imm, LABEL表示$s == imm转到LABEL。您必须有一个循环,一直要求用户输入。您所要做的就是在此循环之外转移到LABEL

答案 1 :(得分:0)

大多数汇编语言都要求您首先将输入值与已知值进行比较,然后在结果为零时跳转(即,它们相等)。

所以它会像:

loop:
    ; input number here into r7

    cmp r7, -1      ; compare it with -1
    beq exit_loop   ; if equal, exit loop

    ; use r7 here

    bra loop        ; go get next number

exit_loop:
    ; carry on

那是在伪asm,因为许多MIPS的东西往往是课堂作业,你应该自己做一些的工作:-)找到等效的指令应该相对容易。