0
J'essaie de lire et d'imprimer le contenu d'un fichier .txt.
Plus tard, je voudrais lire le fichier de mips aussi bien.
Je vois le code et il semble ok, mais rien n'outputed ...Lecture et impression du contenu d'un fichier txt à l'aide de Mips Assembly
.data
myFile: .asciiz "teste.txt" # filename for input
buffer: .space 1024
.text
# Open file for reading
li $v0, 13 # system call for open file
la $a0, myFile # input file name
li $a1, 0 # flag for reading
li $a2, 0 # mode is ignored
syscall # open a file
move $s0, $v0 # save the file descriptor
# reading from file just opened
li $v0, 14 # system call for reading from file
move $a0, $s0 # file descriptor
la $a1, buffer # address of buffer from which to read
li $a2, 11 # hardcoded buffer length
syscall # read from file
# Printing File Content
li $v0, 4 # system Call for PRINT STRING
la $a0, buffer # buffer contains the values
syscall # print int
li $v0, 10 # Finish the Program
syscall
pas à pas votre code dans le débogueur. Vérifiez les valeurs de retour syscall (dans le débogueur) pour les erreurs. Ou mieux, tracez les appels système. IDK si MARS ou SPIM ont cela, mais Linux le fait ('strace'). Bien sûr, Linux utilise différents appels système que MARS ou SPIM. –
Quoi qu'il en soit, ce serait un bien meilleur [mcve] si vous incluez des valeurs de registre du débogueur à divers points. –
Merci pour l'aide. Mais je n'ai aucune idée de comment débiter mon code ici, biseds le F3 + F7, F7, F7 ... Aussi, est-il un moyen d'être sûr que le fichier est lu correctement? Parce que même si je change le nom du fichier en un invalide, il n'y a pas d'erreur/avertissement affiché ... – PlayHardGoPro