.text
main: la $a0, A #loads address of A into $a0
li $t0, 1 #loads 1 into $t0
sw $t0, ($a0) #stores word from $a0 into $t0
li $t0, 2 #loads 2 into $t0
sw $t0, 4($a0)
li $t0, 3
sw $t0, 8($a0)
li $t0, 4
sw $t0, 12($a0)
la $a1, A
li $v0, 1
lw $a0, ($a1)
syscall
lw $a0, 4($a1)
syscall
lw $a0, 8($a1)
syscall
lw $a0, 12($a1)
syscall
la $a0, tab
li $v0, 4
syscall
li $v0, 10
syscall
.data
A: .space 16 #array size 16
tab: .asciiz "\t" #makes line indentation
#stores 1 - 4 into $t0
Из чего я могу видеть, он загружает адрес A в a0, затем он загружает '1' в $ t0, а затем переопределяет?!? $ t0, сохраняя в нем массив., затем загружает 2 в $ t0, тогда я не уверен, что должен делать 4 (ничего не делает, насколько я могу видеть, а затем загружает $ t0 в 3, то же, что и «4», не вижу, что делает 8, затем загружает 4 в $ t0, затем делает что-то с 12, а затем загружает адрес A в $ a1 и печатает его?!? I ' м, полностью потерянный в остальной части программы. Программа правильная (загружает «1234»), но я должен изучить MIPS, понимая, что каждая программа дает лекторы класса. Это не домашнее задание или что-то еще, просто обучение как работают программы MIPS.MIPS - Редакция Что делает эта программа на самом деле?
Это не то, что делает код. – gusbro
@gusbro Спасибо. Я был смущен его встроенными комментариями, но исправил мой пример. – Sparafusile