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

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

通了。答案如下:

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

您可以执行addi $a1 $ai 4来递增阵列

最新更新