Программа MIPS MARS MinMax - PullRequest
       7

Программа MIPS MARS MinMax

0 голосов
/ 06 декабря 2018

У меня в настоящее время есть программа в MIPS MARS, чтобы найти максимальное, минимальное и среднее значение массива ввода / вывода, введенного пользователем.Если бы у меня была программа с массивом чисел, уже переданным мне, как изменился бы мой код?Ниже мой код, это были бы массивы, которые мне нужны, чтобы напечатать min и max из: array: .word 107, 777, 127, 87, 407 array2: .word 10, 77, 12, 8, 40

.data
txt1:   .asciiz   "Please enter apositive integer (negative integer to exit) : "
txt2:   .asciiz   "\nThe maximum value is : "
txt3:   .asciiz   "\nThe minimum value is : "
txt4:   .asciiz   "\nThe average is : "
txt5:   .asciiz   " with remainder : "


.text
.globl main
main:
addi $s0, $zero, 0
loop:
la $a0, txt1
li $v0, 4
syscall

li $v0, 5
syscall

bltz $v0, average
add  $s0, $v0, 0
add  $t0, $t0, 1
add  $t3, $t3, $s0

beq  $t0, 1, first 
blt  $s0, $t1, min
bgt  $s0, $t2, max
first:
 add $t1, $s0, 0
 add $t2, $s0, 0
 j   loop
min: 
add $t1, $s0, 0
j   loop
max:
add $t2, $s0, 0
j   loop    

average:
div  $t3, $t0
mflo $t7
mfhi $t6

print:
la $a0, txt2
li $v0, 4
syscall

add $a0, $t2, 0
li  $v0, 1
syscall

la $a0, txt3
li $v0, 4
syscall

add $a0, $t1, 0
li $v0, 1
syscall

la $a0, txt4
li $v0, 4
syscall

add $a0, $t7, 0
li $v0, 1
syscall

exit:
li $v0, 10 
syscall
...