2015-12-08 181 views
-1

任何幫助找到答案將不勝感激。彙編語言數組

.data 
array: .word 1,2,3,4,5,6,7,8,9,10 
.text 
.globl main 
main: 
    la $t0, array 
    li $t1, 4 
    mult $t1, $t1 
    mflo $t1 
    add $t0, $t0, $t1 
    sw $t1, 20($t0) 

哪些陣列的執行指令後的價值?我對這部分感到困惑。我只需將20添加到數組中的每個值中?

+1

爲什麼不運行代碼並親自查看? –

+0

目前我不能因爲即時通訊使用我的手機發布此信息。我將筆記本電腦送去維修,直到星期三才能使用筆記本電腦。 –

+1

您可以隨時嘗試各種[在線MIPS模擬器]之一(http://morriswmz.jit.su/static/simple-mips-pipelined.html)。 –

回答

2

一些提示

.data 
array: .word 1,2,3,4,5,6,7,8,9,10 # 10 32 bits values @array 
.text 
.globl main 
main: 
    la $t0, array  # Load address of array into $t0 
    li $t1, 4   # Load constant 4 into $t1 
    mult $t1, $t1  # Multiply $t1 x $t1 
    mflo $t1   # Put result (lower word) into $t1 (16) 
    add $t0, $t0, $t1 # $t0 = $t0 + $t1 (array + 16) 
    sw $t1, 20($t0) # Store $t1 at address ($t0 + 20) 

只要一個字爲4個字節,即存儲在(數組+ 4)覆蓋在陣列2(2 第二值),則應該能夠找出回答你的問題。