.data A: .word 2:2 .text main: la $t3, A # address for A addi $t4, $zero, 48 #counter max addi $t5, $zero, 0 #offset addi $t8, $zero, 0 LOOP: beq $t4, $t5, END add $t6, $t3, $t5 # holds address of A[i] lw $t7, 0($t6) # gets value of A[i] # push to stack addi $sp, $sp -4 sw $t7, 0($sp) jal myfunc lw $t7, 0($sp) addi $sp, $sp, 4 add $t8, $t8, $t7 addi $t5, $t5, 4 j LOOP myfunc: # pull from stack lw $t0, 0($sp) addi $sp, $sp, 4 addi $t1, $zero, 2 div $t0, $t1 mfhi $t0 beq $t0, $zero, LABEL1 add $t2, $zero, $zero j LABEL2 LABEL1: addi $t2, $zero, 1 LABEL2: addi $sp, $sp, -4 sw $t2, 0($sp) jr $ra END: