Ich habe ein PGM-Foto, das ich versuche zu öffnen und in MIPS lesen. Wenn die Werte in der PGM-Datei ASCII sind, funktioniert alles wie erwartet. Wenn sie im HEX-Format sind, liest der Syscall 14 (read) nur ein paar Werte und stoppt dann und ich habe nur einen Teil der Datei im Puffer.Lesen aus einer Binärdatei in MIPS
Auf der linken Seite HEX - nicht arbeiten, nach rechts ASCII - arbeiten. Gleiche Datei.
Das ist mein Code (der Puffer in Datenbereich deklariert und hat genug Platz, um die Datei zu verteilen)
#open a file
li $v0, 13 #Syscall for loading files
la $a0, image_file #Saving the address to $a0
li $a1, 0 # flag for reading
li $a2, 0 # mode is ignored
syscall
move $s6, $v0 #Placing the descriptor in $s6 for later-use
#read from file
li $v0, 14 #Syscall to read from files
move $a0, $s6 #Moving descriptor to $a0
la $a1, buffer # address of buffer to which to read
li $a2, 65555 # hardcoded buffer length
syscall
Haben Sie schon etwas herausgefunden? Wenn Sie dies getan haben, können Sie auch Ihre eigene Frage beantworten. – szoszk