Ассамблея Марса Мипса - PullRequest
       16

Ассамблея Марса Мипса

0 голосов
/ 21 октября 2018

Привет всем, я новичок в сборке mips, и мой учитель дал нам следующее решение.Программа в основном находит минимальное и максимальное значения в массиве, используя стек.Я полностью теряюсь, особенно используя стек, так как я не могу визуализировать все это.Пожалуйста, возможно, объясните различные строки на человеческом языке, я был бы очень признателен!

.data
array:   .word  4, 10, -1, 8, 0, 22, 100, 100, -5, 45
.text
main:
la   $a0, array
li   $a1, 10
jal  minmax
j    exit
minmax:
addi $sp, $sp, -8
sw   $a0, 0($sp)
sw   $a1, 4($sp)
lw   $v0, 0($a0)
lw   $v1, 0($a0)
addi $a1, $a1, -1
next:
    ble  $a1, $zero, return
addi $a0, $a0, 4
addi $a1, $a1, -1
lw   $t0, 0($a0)
blt  $v0, $t0, max
move $v0, $t0
max:   
  bgt  $v1, $t0, next
move $v1, $t0
j    next
return:  
lw   $a0, 0($sp)
lw   $a1, 4($sp)
addi $sp, $sp, 8
jr   $ra
exit:
...