La lecture et l'impression d'un nombre entier en mips
Mon programme est supposé lire un entier et l'imprimer à l'utilisateur, mais à chaque fois qu'il imprime juste 268501230 peu importe ce qui est entré. Toute aide serait appréciée.
.data
prompt2: .asciiz "Please enter value: "
array1: .space 40
array2: .space 40
buffer: .space 4
.text
main:
#Prints the prompt2 string
li $v0, 4
la $a0, prompt2
syscall
#reads one integer from user and saves in t0
li $v0, 5
la $t0, buffer
syscall
li $v0, 1
li $t0, 5 # $integer to print
syscall
exitProgram: li $v0, 10 # system call to
syscall # terminate program
OriginalL'auteur user2837034 | 2013-11-02
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas la façon dont syscall 5 œuvres. L'entier est retourné dans
$v0
, de sorte que le code devrait être quelque chose comme:Vous utilisez la mauvaise inscrire ici. L'entier à imprimer doivent aller dans
$a0
, pas$t0
.Voici une liste d'appels et les registres qu'ils utilisent.
OriginalL'auteur Michael
C'est comment je vais écrire un programme pour obtenir un nombre entier d'entrée et imprimer
OriginalL'auteur aspire29