繁体   English   中英

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

[英]MIPS Assembly Change integer and than print it out in that position

我希望能够使用一个函数来传递数组,大小和值。 在函数内部,我希望数组的第一位置等于我们传递的值。

等效的伪代码为

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

我所拥有的技巧:

.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来增加数组

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM