Salve a tutti,
Sto svolgendo un esercizio per un esame in cui è richiesta la compilazione (asimtool) e la simulazione (asim) di un programma scritto in assembly mips.
Nel mio programma ho assegnato ad N il valore 2 attraverso la seguente istruzione: N EQU 2
In un altro punto del programma poi assegno a D0 il valore di N in questo modo: MOVE N,D0
Qui nasce il problema...
La compilazione non mi da errori, ma nella simulazione, osservando passo passo come si evolve lo stato dei registri, noto che a D0 non viene assegnato alcun valore, cosa che invece avviene nel caso in cui sostituisco la riga MOVE N,D0 con la riga MOVE #2,D0
Qualcuno saprebbe aiutarmi? Nel caso in cui serva posto il programma per intero:
ORG $8000
MAIN LEA VctA,A1
LEA VctB,A2
LEA VctO,A3
MOVE N,D0
LOOP MOVE.W (A1)+,D1
ASL.W #3,D1
BVS OVER
MOVE.W D1,(A2)+
MOVE.W #0,(A3)+
CHECK SUBI #1,D0
BNE LOOP
DONE JMP DONE
OVER MOVE.W D1,(A2)+
MOVE.W #1,(A3)+
JMP CHECK
ORG $8200
N EQU 2
VctA DC.W 1,2
VctB DS.W N
VctO DS.W N
END MAIN
P.S. Dalla memoria ho notato che anche VctA e VctB non sono vengono assegnati....
Sarà un problema dell'EQU???