Нужна помощь в исправлении следующего кода MIPS, который был переведен из кода Python, предназначенного для чтения списка целых чисел заданного размера и вычисления минимального элемента в списке. Я также не могу использовать команды li, blez, bnez или move, поэтому, если есть альтернативные способы написания этих сегментов, это тоже будет полезно. Спасибо:)
Python:
size = int(input(”Enter list size : ”))
the list = [0] ∗ size
for i in range(size):
the list[i] = int(input(”Enter element ”+ str(i) + ”: ”))
if size > 0:
min = the list[0]
for i in range(1,size):
item = the list[i]
if min > item:
min = item
print( ”The minimum element in this list is ” + str(min) + ”\n ”)
MIPS:
.data
prompt: .asciiz "\n How many integer numbers? (5 integers, minimum) "
result: .asciiz "The minimum integer is "
.text
.globl main
main:
li $v0, 4
la $a0, prompt
syscall
li $v0, 5
syscall
blez $v0, end
li $t0, 0
loop:
add $t0, $t0, $v0
addi $v0, $v0, -1
bnez $v0, loop
li $v0, 4
la $a0, result
syscall
li $v0, 1
move $a0, $t0
syscall
b main
end:
li $v0, 4
la $a0,
syscall
li $v0, 10
syscall