.data numbers_len: .word 10 numbers: .word 23, -7, 15, -17, 11, -4, 23, -26, 27, 8 prompt: .asciiz "Enter an integer\n" prompt2: .asciiz "Enter another integer\n" arrayContent: .asciiz "Result Array Content\n" newLine: .asciiz "\n" .text .globl main main: ############################################################### li $v0, 4 la $a0, prompt # prompt of num 1 syscall li $v0, 5 syscall # scan in num 1 move $s0, $v0 ############################################################### ############################################################### li $v0, 4 la $a0 prompt2 # prompt of num 2 syscall li $v0, 5 syscall # scan in num 2 move $s1, $v0 ############################################################### lw $s2, numbers_len #s2 = numbers_len = 10 la $t1, numbers # t1 = base address of numbers ############################################################### li $v0, 4 la $a0, arrayContent syscall ############################################################### fun: bge $t0, 10, exit # conditional lw $t2, 0($t1) # t2 = numbers[i] addi $t1, $t1, 4 # move down numbers array add $t3, $s0, $s1 # t3 = (num1+num2) bge $t2, $t3, print # if (numbers[i] < t3 ) go on, else print add $t2, $t2, $s0 # numbers[i] += num1 sub $t2, $t2, $s1 # numbers[i] -= num2 addi $t0, $t0, 1 # increment i j fun #loop ############################################################### print: li $v0, 1 move $a0, $t2 syscall # print numbers[i] li $v0, 4 la $a0, newLine syscall # print newline j fun # go back to loop ###############################################################