Loops Mips代码:循环错误
我第一次在mips上工作 但我的代码似乎陷入了无限的while循环,我无法理解这个问题。当我在Qtspim中运行代码时,不会出现错误,也不会显示任何内容,并且窗口停止响应: 如果没有什么帮助,我们将不胜感激!谢谢Loops Mips代码:循环错误,loops,mips,Loops,Mips,我第一次在mips上工作 但我的代码似乎陷入了无限的while循环,我无法理解这个问题。当我在Qtspim中运行代码时,不会出现错误,也不会显示任何内容,并且窗口停止响应: 如果没有什么帮助,我们将不胜感激!谢谢 .data arr1:.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .text .globl _start main: add $s2,$zero,$zero add $s3,$zero,
.data
arr1:.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.text
.globl _start
main:
add $s2,$zero,$zero
add $s3,$zero,$zero
add $t3,$zero,$zero
add $t4,$zero,$zero
add $s1,$zero,$zero
addi $t5,$zero,31
addi $t6,$zero,-1
addi $s0,$zero,12 # s0 = 12
add $t0,$s0,$zero #initializing t0 with s0
addi $t2,$zero,2
while:
slt $t1,$zero,$t0 #initialization (0<t0)
beq $t1,$zero,while_exit#if(t1==0){exit}
div $s0,$t2 # s0/2;
mfhi $s1 # reminder
mflo $t0 # answer of division
#add $t5,$t5,$t6 # sub
beq $s1,0,else #if(s1!=0){else}
addi $s2,$s2,1 #counting no of ones
addi $v0,$zero,1
add $a0,$s1,$zero
syscall
j while
else:
addi $s3,$s3,1 #counting no of zeros
addi $v0,$zero,1
add $a0,$s1,$zero
syscall
j while
while_exit:
addi $v0,$zero,10
syscall
.data
arr1:。单词0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
文本
.globl_启动
主要内容:
添加$s2、$0、$0
添加$s3、$0、$0
加上$t3、$0、$0
加上$t4、$0、$0
加上$s1、$0、$0
addi$t5、$0、31
addi$t6,$0,-1
加上$s0,$0,12#s0=12
添加$t0、$s0、$零#用s0初始化t0
附加$t2、$0、2
而:
slt$t1、$0、$t0#初始化(0您在每次迭代中使用$s0
作为红利,但是$s0
永远不会被修改
输出中可能没有显示任何内容,因为您从未完成一行