-1

ファイルのオープン、読み取り、書き込みに Syscall を使用して任意の種類の Spim プログラムを実行したいだけですが、うまくいきません。私のプログラムとファイルが QtSpim の作業ディレクトリにない可能性があることは承知していますが、それをチャンスにする方法や新しいディレクトリを設定する方法がわかりません。したがって、最初の Syscall $v0 の後、エラーを示す -1 になります。to-read-file (以下の例) のパス名全体を使用してみました。QtSpim がファイルを保存する場所を確認するために、ファイルの書き込み/作成を試みました。根本的な欠陥がある場合は、遠慮なくお知らせください。WindowsでQtSpimを使用しています

    .data
filename: .asciiz "C:\Users\...\test.txt"      #einzulesender Dateiname
buffer: .space 1024
    .text
main:
#open the file (to get the file descriptor)
li   $v0, 13       # system call for open file
la   $a0, filename # board file name
li   $a1, 0        # Open for reading
li   $a2,          # Mode 
syscall            # open a file (file descriptor returned in $v0)
move $s1, $v0      # save the file descriptor 

#read from file
li   $v0, 14       # system call for read from file
move $a0, $s1      # file descriptor 
la   $a1, buffer   # address of buffer to which to read
li   $a2, 1024     # hardcoded buffer length
syscall            # read from file

# Close the file 
li   $v0, 16       # system call for close file
move $a0, $s1      # file descriptor to close
4

1 に答える 1