# procedure max (array, size) { # max = 0 # i = 0 # while (i < size) do { # v = array[i] # if (v > max) { # max = v # } # i = i + 1 # } # print "The max is " + max + "\n" # } # procedure max (array, size) { # s1 = 0 # max = 0 # s2 = 0 # i = 0 # s3 = size # loop: if s2 >= s3 goto done # s0 = array[i] # if s0 <= s2 goto notGT # s1 = s0 # notGT: s2 = s2 + 1 # goto loop # done: print "The max is " + max + "\n" # } .data array: .byte 10,23,99,1,98,56,23 .align 2 size: .word 7 res: .asciiz "The max is: " nl: .asciiz "\n" .text # $s1: max # $s2: index into array # $s3: array bound main: li $s1,0 # max = 0 li $s2,0 # i = 0 lw $s3,size # $s3 = size loop: bge $s2,$s3,done # while (i