Arrays 如何在MIPS中访问阵列数据
我在MIPS中遇到了一个问题,我读取了文件中的一行,然后将字符串拆分为一个整数值数组,最后得到一个数字为100,5,20,-8,2的数组。我想把a[4]=2的值打印到一个文件中。我读了一个链接,该链接告诉我如何访问位置4处的值2。我试试我的代码Arrays 如何在MIPS中访问阵列数据,arrays,mips,Arrays,Mips,我在MIPS中遇到了一个问题,我读取了文件中的一行,然后将字符串拆分为一个整数值数组,最后得到一个数字为100,5,20,-8,2的数组。我想把a[4]=2的值打印到一个文件中。我读了一个链接,该链接告诉我如何访问位置4处的值2。我试试我的代码 output: .asciiz "output.txt" #open file li $v0, 13 la $a0,output li $a
output: .asciiz "output.txt"
#open file
li $v0, 13
la $a0,output
li $a1, 1
li $a2, 0
#accessing array
la $t3,buffer //access my array name buffer
li $t5,4 //$t5=4
add $t5,$t5,$t5
add $t5,$t5,$t5
add $t1,$t5,$t3
//write to file
li $v0, 15
move $a0, $s6
move $a1, $t1
li $a2, 4 //buffer length
syscall
//close
li $v0, 16
move $a0, $s6
syscall
But when i check my file ,nothing happend in my file. What happended ? Thanks for your help
您正在使用
$s6
,但未对其进行初始化。你从来没有真正执行过open
syscall(13)。没有在我的代码中,我已经初始化了s6,我不能在这里写500行代码。我的代码中也有syscall,我只是错过了这里我不知道当你删除了你发布的代码的重要部分时,我们应该如何帮助你发现代码中的问题。如果你不想发布500行代码,那么就用一个简单的例子来重现这个问题。你使用的是$s6
,而没有初始化它。你从来没有真正执行过open
syscall(13)。没有在我的代码中,我已经初始化了s6,我不能在这里写500行代码。我的代码中也有syscall,我只是错过了这里我不知道当你删除了你发布的代码的重要部分时,我们应该如何帮助你发现代码中的问题。如果你不想发布500行代码,那么就拿出一个简单的例子来重现这个问题。