MIPS实现从10个数里面找出最大和最小的数
程序员文章站
2024-03-15 22:34:30
...
li $t1,1 #t1中存放的是临时变量 i
li $t2,11 #t2中存放的是临时变量 也就是循环的上界
li $t4,1 #4中存放的是临时变量,也就是代表第一次循环
loop1:
li $v0,5
syscall
beq $t1,$t4,IF1
L1:blt $v0,$t3,IF2 #如果v0小于v3,此时应该让v3得到v0的值
L2:blt $t5,$v0,IF3 #如果t5小于v0,也就是说最大值应该要更新
L3:addi $t1,$t1,1 #次数加1
bne $t1,$t2,loop1 #判断循环终止条件
beq $t1,$t2,end
IF1:
move $t3,$v0 #t3中存放的是最小值
move $t5,$v0 #t5中存放的是最大值
b L1
IF2:
move $t3,$v0
b L2
IF3:
move $t5,$v0
b L3
end:
li $v0,4
la $a0,String1
syscall
li $v0,1#打印最大值
move $a0,$t5
syscall
li $v0,4#打印换行符
la $a0,String3
syscall
li $v0,4
la $a0,String2
syscall
li $v0,1#打印最小值
move $a0,$t3
syscall
li $v0,10 #结束程序
syscall
.data
String1: .asciiz "MAX:"
String2: .asciiz "MIN:"
String3: .asciiz "\n"