Da Pochi giorni ho iniziato a programmare con assembly per motorola 6800, mi hanno assegnato questo esercizio da sviluppare , un sottoprogramma assembly:

IF indice ==12
then (locazione di memoria ($8200 + indice))=D3- 1
else (locazione di memoria ($8100 + indice))=D3*2

io l'ho implementato cosi :

codice:
... 
    cmp.l #12,indice *confronta 5 con indice
    bne    skip          *salta se indice diverso da 5
    mul.l d3,2
    add.l $8500,indice
    mov.l $8500,d3
    bra end if
skip sub d3,1
      add.l $8500,indice
      mov.l $8500,d3

Mi hanno detto che cosi però non va bene , e ho capito qual'è , ma non ricordo la sintassi per mettere d3 nella locazionememoria+indice

Potete aiutarmi ?