Image non trouvée ! Les différents modes d'adressages

 

L'adressage immédiat :

La valeur indiquée derrière l'instruction est à charger immédiatement dans le registre.

Syntaxe : Instruction #valeur où valeur < 256

L'adressage en page zéro :

La zone composée des 256 premiers octets est appelée la page zéro (sur 16 bits, la partie haute est toujours égale à 0). Plutôt que d'indiquer cette partie haute toujours à 0, il existe des instructions qui travaillent directement dans cette page. Ceci permettant de gagner en taille occupée (au lieu de 3 octets, 1 pour l'instruction et 2 pour la zone mémoire, on occupe 2 octets : 1 pour les instructions et 1 pour la zone mémoire) et donc un gain en vitesse d'exécution.

Syntaxe : Instruction valeur où valeur < 256

L'adressage en page zéro indexé :

La valeur indiquée est une adresse comme origine, le nombre qui est stocké dans le registre X sera ajouté à la valeur de l'adresse d'origine. L'adresse finale sera donc égale à la valeur de l'adresse d'origine + la valeur du registre X.

Syntaxe : Instruction valeur,X où valeur est < 256.

L'adressage absolu :

La valeur indiquée derrière l'instruction est en fait une adresse sur 16 bits. C'est la valeur 8bits contenue à cette adresse 16 bits qui est lue ou modifiée.

Syntaxe : Instruction valeur où valeur < 65536

L'adressage absolu indirect :

En fait, seule l'instruction JMP (JuMP) utilise ce mode d'adressage. La valeur qui est indiquée derrière la commande est une adresse mémoire qui contient à son tour une adresse sur 16 bits.

Syntaxe : JMP (valeur) où valeur < 65536

L'adressage absolu indexé :

La valeur indiquée est une adresse comme origine, le nombre qui est stocké dans le registre X sera ajouté à la valeur de l'adresse d'origine. L'adresse finale sera donc égale à la valeur de l'adresse d'origine + la valeur du registre X.

Syntaxe : Instruction valeur,X où valeur est < 65536.

L'adressage indexé indirect :

La valeur indiquée est une valeur sur 16 bits. Le contenu du registre X et ensuite ajouté à cette valeur. Ce qui donne une adresse. A cette adresse, on trouvera une nouvelle valeur sur 16 bits qui est une nouvelle adresse où lire/écrire la valeur 8 bits demandée. On peut considérer que l'on traite un tableau de pointeur : X est l'index du tableau. Chaque éléments du tableau étant un pointeur sur une donnée 8 bits.

Syntaxe :Instruction (valeur,X) où valeur est < 65536

L'adressage indirect indexé :

La valeur indiquée est une valeur sur 16 bits qui correspond à une adresse dans laquelle on trouve une nouvelle valeur sur 16 bits. Le contenu du registre Y et ajouté à cette nouvelle valeur. Ce qui donne une nouvelle adresse où lire/écrire une valeur sur 8 bits.

Syntaxe : Instruction (valeur), Y où valeur < 65536

L'adressage relatif :

Seules les instructions conditionnelles permettent l'adressage relatif. L'adressage relatif et le nombre d'octets qu'il faut passer pour retrouver la prochaine instruction. Avantage : pas d'adresse en dur dans le code.

Si la valeur qui est indiquée après l'instruction est comprise entre 0 et 127, alors le saut est un saut en avant.

Entre 128 et 255, c'est un saut arrière (Rappel : En fait, le 7ième bit est le signe. Si = 1 alors le nombre est négatif). (voir méthode de calcul des branchements conditionnels).

Syntaxe Instruction valeur où valeur < 256.