.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中,然後打印它?!?這個程序是正確的(加載「1234」),但我應該學習MIPS,通過理解課程講師給出的每個程序是什麼,這不是家庭作業或任何東西,只是學習如何MIPS程序工作MIPS - 修訂本程序實際上做了什麼?
這不是代碼的作用。 – gusbro 2012-04-19 16:51:03
@gusbro謝謝。我被他的內聯評論弄糊塗了,但是修正了我的例子。 – Sparafusile 2012-04-19 16:58:43