MIPS for-loop(仅使用beq或bne检查是否为0)

时间:2016-09-15 21:19:49

标签: mips qtspim

我是MIPS的新手,并试图编写一个程序,其中包含零或一个变量(这些变量是print或sum),然后是其他四个只是随机数的变量。如果变量sum或print是1则执行操作,如果是0则不执行操作。因此,如果print为1且sum为0,则只打印出四个数字,而不是总和。我怎么得到这个?我是否必须创建一个0的不同变量并比较它们以查看它是否大于0?

1 个答案:

答案 0 :(得分:1)

嗯,这是一种方法:

li $s1, 1 # this is sum
li $s2, 0 # this is print

SUM:
    slti $t1, $s1, 1
    beq $t1, 1, PRINT # branch to PRINT if we do not have to sum
    # sum here

PRINT:
    slti $t1, $s2, 1
    beq $t1, 1, EXIT # branch to EXIT if we do not have to print
    # print numbers here

EXIT: