MIPS组件更改整数,然后在该位置打印出来

时间:2016-02-29 23:22:59

标签: assembly 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

我真的很难理解函数和数组,所以很感激帮助。

1 个答案:

答案 0 :(得分:0)

想出来。这是答案:

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

你可以addi $a1 $ai 4增加数组