Я пытаюсь написать программу, которая читает символы из файла .dat, которые соответствуют разным цветам, для отображения в симуляторе светодиодов; x = выкл, R = красный и т. д. Моя проблема в том, что я не могу понять, что я делаю неправильно, открывая файл .dat. Я осмотрелся и попробовал все, что только мог придумать, но каждый раз, когда я собираюсь и запускаюсь, я получаю -1 в $ v0, означая ошибку. Вот мой код для открытия / чтения / закрытия файла:
.data
fin: .asciiz "maze1.dat" # filename for input
buffer: .asciiz ""
.text
#open a file for writing
li $v0, 13 # system call for open file
la $a0, fin # board file name
li $a1, 0 # Open for reading
li $a2, 0
syscall # open a file (file descriptor returned in $v0)
move $s6, $v0 # save the file descriptor
#read from file
li $v0, 14 # system call for read from file
move $a0, $s6 # 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, $s6 # file descriptor to close
syscall # close file
Файл maze1.dat находится в том же каталоге, что и программа MIPS. Любая помощь или предложения с благодарностью.