2016-02-29 59 views
0

我希望能夠使用函數傳遞數組,大小和值。在函數內部,我希望數組的第一個位置等於我們傳遞的值。MIPS程序集更改整數並在該位置打印出來

僞代碼等效是

function (array[10], size, value); 
    array[0] = value; 
    print(array[0]); 

我有什麼在MIPS:

.data 
array: .space 12 # my array of integers 
size: .word 3 # size of array 
start: .word 5 # starter value 

.text 

main: 

    la $a1 array # loads $a1 with array buffer 
    la $a2 size # loads $a2 with size of the user input 
    la $a3 start # loads $a3 with starter value 
    jal fillArray 

    li $v0 10 
    syscall 

fillArray: 

    # this is where we make "array" at position 0 equal to "start" 
    # this is where we print out "array" at position 0 

    li $v0 1 
    syscall 

    jr $ra 

我真的有一個很難理解的功能和排列,從而幫助表示讚賞。

回答

0

想通了。下面是答案:

sw $a3 0($a1) # saves $a3(start) to position 0 of array 

你可以做addi $a1 $ai 4遞增陣列