bonjour
j'ai besoin de lire depuis un fichier et stocker l'entier lu dans une case memoire et puis afficher l'entier lu. pour cela, j'ai fait le petit code suivant. (j'utilise MARS comme simulateur)
le probleme c'est que au moment de l'affichage, y a un autre entier qui s'affiche et non pas le 120 que je viens de lire du fichier. par contre, si je fait appel au syscall qui permet d'afficher une chaine de caractère, alors l'entier s'affiche correctement.....je sais pas d'ou vient ce problème??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 .data fout : .asciiz "exemple.txt" nb: .word .text #ouvrir le fichier pour lecture li $v0, 13 la $a0, fout li $a1, 0 li $a2,0 syscall #lire les 10 premiers caractères du fichier (en fait y a qu un seul entier à lire qui est 120 par exemple) li $v0, 14 move $a0, $s6 la $a1, nb li $a2, 10 syscall #fermer le fichier li $v0,16 move $a0, $s6 syscall #afficher l entier lu la $a0, nb li $v0, 1 syscall
Partager