Код выдает ошибку и использует команды, которые мы не должны использовать - PullRequest
0 голосов
/ 19 марта 2019

Нужна помощь в исправлении следующего кода 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
...