Arrays 如何在MIPS中访问阵列数据

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

我在MIPS中遇到了一个问题,我读取了文件中的一行,然后将字符串拆分为一个整数值数组,最后得到一个数字为100,5,20,-8,2的数组。我想把a[4]=2的值打印到一个文件中。我读了一个链接,该链接告诉我如何访问位置4处的值2。我试试我的代码

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行代码,那么就拿出一个简单的例子来重现这个问题。