我想使用MIPS Syscall 13來簡單地打開一個文件,以便我可以讀取某些字符串並將它們打印到控制檯,但是當我打開該文件時文件描述符保持返回-1。我已經檢查過文件擴展名,所有內容似乎都是按順序排列的。在與源代碼相同的目錄中有一個名稱爲「cards.dat」的文件。這是我的代碼。如果任何人都可以幫助,這將不勝感激。MIPS文件打開
.data
filename: .asciiz "cards.dat" #file name
textSpace: .space 1050 #space to store strings to be read
.text
main:
li $v0, 13 #open a file
li $a1, 0 # file flag (read)
la $a0, filename # load file name
add $a2, $zero, $zero # file mode (unused)
syscall
move $a0, $v0 # load file descriptor
li $v0, 14 #read from file
la $a1, textSpace # allocate space for the bytes loaded
li $a2, 1050 # number of bytes to be read
syscall
la $a0, textSpace # address of string to be printed
li $v0, 4 # print string
syscall
這解決了我的問題。謝謝 ! 注意雙'\\'。 – PlayHardGoPro