Exercices jeu d’instructions assembleur informatique industrielle

Informatique Industrielle : Exercices Jeu d’instructions

Télécharger PDF

Corrections des exercices de Jeu d’instructions

Écrire un nombre en assembleur

Un nombre peut être représenté en assembleur selon sa base :

  • Hexadécimal : 0x0A ou H’0A’ ou 0Ah (exemple : 10)
  • Binaire : B’00001010’ (exemple : 10)
  • Décimal : D’10’ ou .10 ou 10 (exemple : 10)

Adresse et contenu d’une variable

Soit X une variable (registre ou fichier en langage Microchip) dans la RAM.

  • adresse : 0x20
  • contenu : (X) = 0xA6

Dans les exercices suivants, X désigne une variable (registre) quelconque dans la RAM.

Addition et soustraction binaire

Les opérations binaires de base (addition et soustraction) fonctionnent avec des bits a et b.

Addition binaire

abS (somme)R (retenue)
0000
0110
1010
1101

Soustraction binaire

abD (différence)E (emprunt)
0000
0111
1010
1100

Fonctions logiques

Les opérations logiques de base en assembleur Microchip sont :

  • AND (ET)
  • OR (OU)
  • XOR
  • NOT

Table de vérité pour AND, OR et XOR

abAND (S)OR (S)XOR (S)
00000
01011
10011
11110

Exercices

Exercice 1 : Instructions MOV

1. movlw k : Charge la valeur littérale k dans le registre W.

2. movwf f : Charge le contenu du registre W dans le fichier (registre) f.

3. movf f,d : Charge le contenu du fichier f dans le registre W et met à jour le bit de destination d.

4. movf X,w : Charge le contenu de la variable X dans le registre W.

5. movf X,f : Charge le contenu de la variable X dans le fichier (registre) f.

Exercice 2 : Instructions arithmétiques

1. addlw k : Ajoute la valeur littérale k au registre W.

2. addwf f,d : Ajoute le contenu du fichier f au registre W et met à jour le bit de destination d.

3. addwf X,w : Ajoute le contenu de la variable X au registre W.

4. addwf X,f : Ajoute le contenu de la variable X au contenu du fichier f.

5. sublw k : Soustrait la valeur littérale k du registre W.

6. subwf f,d : Soustrait le contenu du fichier f du registre W et met à jour le bit de destination d.

7. subwf X,w : Soustrait le contenu de la variable X du registre W.

8. subwf X,f : Soustrait le contenu de la variable X du fichier f.

9. incf f,d : Incrémente le contenu du fichier f et met à jour le bit de destination d.

10. decf f,d : Décrémente le contenu du fichier f et met à jour le bit de destination d.

Exercice 3 : Instructions logiques

1. andlw k : Applique une opération logique AND entre le registre W et la valeur littérale k.

2. andwf f,d : Applique une opération logique AND entre le fichier f et le registre W, puis stocke le résultat dans f et met à jour le bit de destination d.

3. andwf X,w : Applique une opération logique AND entre la variable X et le registre W.

4. andwf X,f : Applique une opération logique AND entre la variable X et le fichier f.

5. iorlw k : Applique une opération logique OR entre le registre W et la valeur littérale k.

6. iorwf f,d : Applique une opération logique OR entre le fichier f et le registre W, puis stocke le résultat dans f et met à jour le bit de destination d.

7. iorwf X,w : Applique une opération logique OR entre la variable X et le registre W.

8. iorwf X,f : Applique une opération logique OR entre la variable X et le fichier f.

9. xorlw k : Applique une opération logique XOR entre le registre W et la valeur littérale k.

10. xorwf f,d : Applique une opération logique XOR entre le fichier f et le registre W, puis stocke le résultat dans f et met à jour le bit de destination d.

11. xorwf X,w : Applique une opération logique XOR entre la variable X et le registre W.

12. xorwf X,f : Applique une opération logique XOR entre la variable X et le fichier f.

13. comf f,d : Complète le contenu du fichier f (opération NOT), puis stocke le résultat dans f et met à jour le bit de destination d.

14. comf X,w : Complète la variable X (opération NOT), puis stocke le résultat dans le registre W.

15. comf X,f : Complète la variable X (opération NOT), puis stocke le résultat dans le fichier f.

Exercice 4 : Instructions de remise à zéro et de manipulation de bits

1. clrf f : Remet à zéro le fichier (registre) f.

2. clrw : Remet à zéro le registre W.

3. bsf f,b : Positionne le bit b du fichier f à 1.

4. bcf f,b : Positionne le bit b du fichier f à 0.

FAQ

Qu’est-ce qu’un registre en assembleur Microchip ?

Un registre est une mémoire temporaire utilisée pour stocker des données ou des résultats d’opérations. Dans la famille Microchip (PIC), les registres incluent le registre W et les fichiers (files) accessibles via des adresses.

À quoi sert le bit de destination d dans les instructions ?

Le bit de destination d est un indicateur qui permet de vérifier si une opération a produit un débordement, une retenue ou un emprunt, selon le contexte. Il est souvent utilisé pour la gestion des conditions dans les programmes.

Quelle est la différence entre movlw et movwf ?

movlw k charge une valeur littérale dans le registre W, tandis que movwf f transfère le contenu du registre W vers un fichier (registre) de la RAM.

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne