MIPS Ассемблер, который берет 10 целых чисел от пользователя, используя while l oop. Я не могу использовать массив для этого - PullRequest
0 голосов
/ 26 апреля 2020

Напишите программу, которая:

  • читает 10 чисел

  • печатать их

  • найти Мин из 10 чисел

  • найти Макс из 10 чисел

  • вычислить среднее значение Мин и Макс, распечатать его

  • и, наконец, сравните все числа со средним и выведите только те, которые больше / равны среднему.

.data

    Prompt: .asciiz "\nPlease input an integer: \n"
    Num: .asciiz "You entered : "
    Max: .asciiz "\nYour max is: "
    Min: .asciiz "\nYour min is: "

.text

    li $s0, 0
    li $s1, 9

    while:
    bgt $s0, $s1, max
    li $v0, 4   
    la $a0, Prompt
    syscall
    li $v0, 5
    syscall
    move $t1, $v0
    jal print
    jal compare
    addi $s0, $s0, 1
    j while


    max: 
    li $v0, 4
    la $a0, Max
    syscall
    li $v0, 1
    move $a0, $t0
    syscall


    exit: 
    li $v0, 10
    syscall

    print: 
    li $v0, 4
    la $a0, Num
    syscall
    li $v0, 1
    move $a0, $t1
    syscall
    jr $ra

    compare:
    bgt $t0, $t1, done
    move $t0, $t1

    done:
    jr $ra

Это код, который я написал, чтобы найти максимальное целое число, но я не знаю, как найти min, а затем среднее = min + max / 2. Я должен сделать это без использования массива, и поиск в Google только дает мне ответы, используя массив. Пожалуйста, помогите мне, или я потерплю неудачу большое время !!!

...