ndakota
16-05-2010, 14:13
Ciao a tutti. Sto muovendo i miei primi passi con l'assembly MIPS. Beh, un esempio vale pių di mille parole.
.data
array: .byte 1, 3, 5, 7, 9, 11, 13, 15, 17, 19
newline: .asciiz "\n"
.text
main:
la $t0, array
move $t1, $zero
repeat:
lb $a0, 1($t0) # load i element
li $v0, 1 # code to print an integer
syscall
li $v0, 4 # code to print a string
la $a0, newline
syscall
addi $t1, $t1, 1 # increment i
bne $t1, 10, repeat
li $v0, 10 # correct termination
syscall
Dichiaro un array di 10 elementi di byte. Quello che voglio fare č semplicemente ciclare su questo array e stampare i suoi elementi. Cosė come č ora il codice, stampa sempre il primo elemento. Quello che volevo fare era di mettere al posto dell'istruzione in grassetto questa
lb $a0, $t1($t0)
Praticamente, voglio aggiornare l'offset ma mi da' errore. Qualcuno riesce ad aiutarmi?
P.s. scusate per il mio inglese :D
.data
array: .byte 1, 3, 5, 7, 9, 11, 13, 15, 17, 19
newline: .asciiz "\n"
.text
main:
la $t0, array
move $t1, $zero
repeat:
lb $a0, 1($t0) # load i element
li $v0, 1 # code to print an integer
syscall
li $v0, 4 # code to print a string
la $a0, newline
syscall
addi $t1, $t1, 1 # increment i
bne $t1, 10, repeat
li $v0, 10 # correct termination
syscall
Dichiaro un array di 10 elementi di byte. Quello che voglio fare č semplicemente ciclare su questo array e stampare i suoi elementi. Cosė come č ora il codice, stampa sempre il primo elemento. Quello che volevo fare era di mettere al posto dell'istruzione in grassetto questa
lb $a0, $t1($t0)
Praticamente, voglio aggiornare l'offset ma mi da' errore. Qualcuno riesce ad aiutarmi?
P.s. scusate per il mio inglese :D