gpt4 book ai didi

arrays - Mips,如何读取数组并打印它们?

转载 作者:行者123 更新时间:2023-12-02 02:33:26 24 4
gpt4 key购买 nike

好的,C++ 和 java 我在学习上没有任何问题当谈到 mips 时,它就像 hell 一样

好吧,我想学习如何读取数组并打印出所有元素

这是我写的一个简单的数组

int[] a = new int[20];

for(int i=0; i<a.length; i++){
a[i]=1;
}

for(int j=0; j<a.length; j++){
System.out.Println(a[i])
}

你是如何在 mips 中做到这一点的

最佳答案

假设您的数组地址在寄存器 $a1 中,您可以执行以下操作:

    li $t0, 1
move $t1, $a1
addi $t2, $a1, 80
loop1:
sw $t0, ($t1)
addi $t1, $t1, 4
bne $t1, $t2, loop1

move $t1, $a1

loop2:
lw $t0, ($t1)
li $v0, 1
move $a0, $t0
syscall
addi $t1, $t1, 4
bne $t1, $t2, loop2

此代码应产生与您的 java 代码相同的结果,除了您使用了 println(它将在新行中打印每个元素)并且此代码将在同一行中打印数组的所有元素。

我不知道你有没有注意到,但是你的 Java 代码和这段代码将打印全 1,如果你想打印从 1 到 19 的数字,你将不得不在循环 1 中递增 $t0

关于arrays - Mips,如何读取数组并打印它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2893148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com