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???