Staa -1, SP ; A dans (SP – 1) 5 bit offset
ldaa !5000,PC ; (PC + 5000) 16 bit offset dans A
2ème cas Index avec incrément et décrément (pré et post):
Le format est le suivant :
Opération valeur, - registre_index pré décrémentation
Opération valeur, registre_index- post décrémentation
Opération valeur, +registre_index pré incrémentation
Opération valeur, registre_index+ post incrémentation
La valeur est ajoutée ou soustraite du registre index avant (pré) ou après (post) que la donnée soit
transférée.
Valeur : entier 1 to 8
Registre_index: X, Y ou SP
Exemple:
ldaa !7, -X ; X-7 dans X, (X) dans A pré décrémentation
ldaa !2, X+ ; (X) dans A, X+2 dans X post incrémentation
3ème cas : Accumulateur offset
Format de l'instruction:
Opération Registre, registre_index
register: A, B, ou D
register_index : X, Y, SP, PC
L'instruction calcule l'adresse effective en ajoutant 8 ou 16 bits au registre index. Ceci ne change pas la
valeur actuelle du registre.
Exemple:
ldaa B,X ; (X+B) dans A
ldab A,Y ; (Y+A) dans B
ldy D,X ; (X+D:X+D+1) dans Y
4ème cas : Indexé indirect
Ce mode est indirect car on va chercher de l'adresse de la donnée qui elle sera utilisée pour aller
chercher la donnée.
Exemple
ldx #$5000 ; $5000 dans X (on initialise X)
ldaa [$64,X] ; ((5064)) dans A
ou bien
staa [-1,X] ; A dans (($4FFF))
¢ Adressage inhérent
L'instruction elle-même contient l'adresse où se trouve la donnée.
Exemple:
Aba ; A+B dans A
Inx ; X+1 dans X