Ciao
ci siamo quasi purtroppo ci sono ancora errori
perchè usi
ADDQ.L #1,INDICE
se indice è una word ?
la sintassi,in questo caso, e
ADD.w #1,INDICE
per farti capire ti riorganizzo il tutto
... *routine di gestione
CMPI.W #12,INDICE *confronta 12 con indice
BNE SKIP *salta se diverso da 12
cimmiv ha scritto:
1- IF indice ==12 then (locazione di memoria ($8200 + indice))=D3- 1
MOVE.W #$8200,A2 *traduzione del then
ADD.W #INDICE,A2
SUB.W #1,D3 ;
MOVE D3,A2
*qui manca la condizione di fine
*puoi comodamente mettere un salto alla fine del programma
cimmiv ha scritto:
else (locazione di memoria ($8100 + indice))=D3*2
* manca la Label
MOVE.W #$8200,A2 *realizzazione del else
ADD.W #INDICE,A2
MULS.W #2,D3
MOVE D3,A2
dopo ciò o metti la fine o metti un salto alla routine di gestione.
ricordati che le struture if then else in assembly e come se avessero questa struttura:
if condizione (se è falsa) salta ad una label
............ ; operazioni del then
.............
salta o alla fine o alla routine di gestione della condizione
label di condizione falsa
............ ; operazioni del then
.............
salta o alla fine o alla routine di gestione della condizione
<< se successivamente c'è la fine e si vuol terminare allora non serve mettere il salto.>>
spero di esserti stato di aiuto