6.1MinMax (&×, N, Min, Max)
写一个函数∶搜索大小为“N"个字( word ) 的数组“X",找出其中的最小值和最大值。输
入参数×和N以及返回的最小值和最大值都通过栈传递。(显示最小值和最大值通过调用
MinMax函数实现)
.data
arr:.word 13,25,26,37,12,4,99,21,5
.text
main:
la $t1,arr
li $t2,9 #len
addiu $sp,,$sp,-20
sw $t1,0($sp)
sw $t2,4($sp)
sw $ra,16($sp)
jal fuct
lw $ra,16($sp)
lw $t4,8($sp) #min
lw $t5,12($sp) #max
addiu $sp,$sp,20
li $v0,10
syscall
fuct:
lw $a0,0($sp) # &arr
lw $a1,4($sp) #len
li $t0,0 # i
add $t2,$a1,-1 # len -1
mul $t1,$t0,4
lw $t1,($t1)
move $a2,$t1
move $a3,$t1
loop:
bgt $t0,$t2,out
mul $t1,$t0,4
lw $t1,($t1)
bgt $t1,$a2,go
move $a2,$t1
go:
blt $t1,$a3,go2
move $a3,$t1
go2:
addi $t0,$t0,1
b loop
out: sw $a2,8($sp)
sw $a3,12($sp)
jr $ra