我刚开始学习MIPS的基础知识。在阅读有关MIPS的书时,我想到了下一个问题:
我有以下代码:
while (x) {...}
括号之间的内容并不重要(只需在代码的正确位置放点)。知道x包含一个布尔语句。设reg $ t0包含x。我试图将此C循环转换为MIPS代码。怎么做?
答案 0 :(得分:0)
您可以使用分支和标签来完成此操作。例如,声明
while (n>0) { .... }
可以使用分支和标签转换为MIPS:
.data
n: .word 100
.text
main:
la $t0, n
lw $t1, 0($t0)
li $s0, 0
Loop:
bgt $t1, $zero, EXIT
add $t1, $s0, $t1
addi $t1, $t1, -1
j Loop
EXIT: