如果阵列已满,该如何结束程序。 mips
.data
array: .space 40
message1: .asciiz "Enter a number ~> "
message2: .asciiz "The max number is ~> "
.text
.globl main
main:
la $t0 , array
li $t1, 0
li $s0 , 0
move $s1 , $v0
loop:
addi $v0 , $0 , 4
la $a0 , message1
syscall
addi $v0 , $0 , 5
syscall
sw $v0 , 0($t0)
addi $t5 , $t5 , 4
addi $s0 , $s0 , 1
beq $s0 , $s1 , max
j loop
max:
la $t0 , array #load array start address
lw $t2 , 0($t0) #max = first element
li $s0 , 0 #i == 0
max_loop:
lw $t3, 0($t0) #temp = actual array element
slt $t4 , $t2 , $t3 #max < temp ?
bne $t4 , 1 , else
move $t2 , $t3 #max = temp
else :
addi $s0 , $s0 , 1
addi $t6 , $t5 , 4
beq $s0 , $s1 , exit
j max_loop
exit:
addi $v0 , $0 , 4
la $a0 , message2
syscall
li $v0 , 1
move $a0 , $t2
syscall
.data
array: .space 40
message1: .asciiz "Enter a number ~> "
message2: .asciiz "The max number is ~> "
.text
.globl main
main:
la $t0 , array
li $t1, 0
li $s0 , 0
move $s1 , $v0
loop:
addi $v0 , $0 , 4
la $a0 , message1
syscall
addi $v0 , $0 , 5
syscall
sw $v0 , 0($t0)
addi $t5 , $t5 , 4
addi $s0 , $s0 , 1
beq $s0 , $s1 , max
j loop
max:
la $t0 , array #load array start address
lw $t2 , 0($t0) #max = first element
li $s0 , 0 #i == 0
max_loop:
lw $t3, 0($t0) #temp = actual array element
slt $t4 , $t2 , $t3 #max < temp ?
bne $t4 , 1 , else
move $t2 , $t3 #max = temp
else :
addi $s0 , $s0 , 1
addi $t6 , $t5 , 4
beq $s0 , $s1 , exit
j max_loop
exit:
addi $v0 , $0 , 4
la $a0 , message2
syscall
li $v0 , 1
move $a0 , $t2
syscall
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论