PDA

Visualizza la versione completa : [ASSEMBLY] Problemi con SPIM


Downloader
03-04-2008, 21:39
Ciao a tutti,
devo usare l'emulatore assembler spim per realizzare dei piccoli programmini fatti all'universitÓ.
Purtroppo per˛ per ragioni a me sconosciute le istruzioni scritte dopo l'etichetta main non vengono riconosciute dall'emulatore che mi restituisce ad esempio il seguente messaggio:



spim: (parser) syntax error on line 9 of file C:\...
li $t0,10


Questo Ŕ il codice:


.data
x: .word 5
y: .word 10

.text

.globl main
main:
li $t0,10



Da cosa pu˛ dipendere l'errore??

Grazie

spaghetto
03-04-2008, 21:52
Non sono molto pratico con l' assembler, sono agli inizi con lo spim...ma tu che vorresti fare?
Potresti scrivere il testo intero del tuo programma?
Ripeto, sono agli inizi, magari per˛ riesco a darti una mano!

oregon
03-04-2008, 22:05
Forse non devi scrivere

.globl main

ma

.global main

Downloader
03-04-2008, 22:07
Mo provo.
All'uni ci Ŕ sempre stato detto .globl main...

Downloader
03-04-2008, 22:11
Non va neanche in questo modo.
Adesso mi da errore proprio alla riga dove ho scritto .global main

Downloader
03-04-2008, 22:12
Originariamente inviato da spaghetto
Non sono molto pratico con l' assembler, sono agli inizi con lo spim...ma tu che vorresti fare?
Potresti scrivere il testo intero del tuo programma?
Ripeto, sono agli inizi, magari per˛ riesco a darti una mano!

Il codice Ŕ tutto lÓ.
Sostanzialmente Ŕ solo un'accozzaglia di direttive per iniziare a prendere la mano con il linguaggio, non deve eseguire un compito specifico.

spaghetto
03-04-2008, 22:19
Allora ti mancano alla fine di tutto queste due righe...che ti permettono di terminare il programma...


li $v0, 10
syscall

...che informa di terminare il programma...



.data
x: .word 5
y: .word 10

.text

.globl main
main:
li $t0,10
li $v0, 10 #Uscita
syscall #Termino il programma

oregon
03-04-2008, 22:24
Ho scaricato e installato il simulatore e il problema non l'ho avuto ...

Probabilmente il tuo file di testo e' "sporco" (contiene qualche carattere non visualizzabile che da' fastidio).

Cancella la linea indicata e riscrivila ...

Downloader
03-04-2008, 22:40
Adesso provo.

Downloader
03-04-2008, 22:45
Originariamente inviato da spaghetto
Allora ti mancano alla fine di tutto queste due righe...che ti permettono di terminare il programma...


li $v0, 10
syscall

...che informa di terminare il programma...



.data
x: .word 5
y: .word 10

.text

.globl main
main:
li $t0,10
li $v0, 10 #Uscita
syscall #Termino il programma

Ok, ma comunque le modifiche non risolvono il problema di fondo.

Loading