1 Université Badji Mokhtar – Licence Electronique Matière : Systèmes à micropro
1 Université Badji Mokhtar – Licence Electronique Matière : Systèmes à microprocesseurs 2021/2022 Enseignant : Dr S.BENSAOULA PIC16f84 : Jeu d'instructions et modes d’adressages 1. Les instructions Les PICs sont conçus selon une architecture RISC. Programmer avec un nombre d'instructions réduit permet de limiter la taille de leur codage et donc de la place mémoire et du temps d'exécution. Toutes les instructions du pic 16f84 sont codées sur 14 bits. Elles sont regroupées en trois grands types: - Instructions orientées octets - Instructions orientées bits - Instructions de contrôle Le registre de travail w joue un rôle particulier dans un grand nombre d'instructions. Exemple d’une ligne d’instruction : 2 2. Les modes d'adressages Il existe trois grands types d'accès à une donnée ou modes d'adressage : - adressage immédiat: la donnée est contenue dans l'instruction. - adressage direct: la donnée est contenue dans un registre. - adressage indirect : l'adresse de la donnée est contenue dans un pointeur 2.1 Adressage immédiat La donnée est contenue dans la ligne d'instruction (champ opérande) Exemples de différentes écritures : movlw 0xC4 ; transfert la valeur hexadécimale C4 dans w movlw .255 ; transfert la valeur décimale 255 dans w movlw B’00001111’ ; transfert la valeur binaire 00001111 dans w 2.2 Adressage direct La donnée est contenue dans un registre. Ce dernier peut être un nom (par exemple w) ou une adresse mémoire. Exemples : movlw 0x0f ; charge w avec la constante hexadécimale 0f (15) : adressage immédiat movwf PORTB ; copie (ou transfert) le contenu de w dans le PORTB : adressage direct ; c’est une écriture dans le PORTB movf PORTB,w ; transfert le contenu du PORTB dans le registre w : adressage direct movf 0x2B, w ; transfert le contenu de l'adresse 0x2B dans w: adressage direct ; c’est une lecture de la position mémoire d’adresse 0x2B Le PORTA peut être utilisé exactement comme le PORTB. autre forme syntaxique: movf 0x2B, 0 ; copie le contenu de l'adresse 0x2B dans w cette fois-ci le registre w est remplacé par 0 Remarque : une adresse s’écrit toujours en hexadécimale Exemples : adresse 9 : 0x09 adresse 100 : 0x64 2.3 Adressage indirect Définition Un pointeur est un registre qui contient une adresse. Donc lorsque ce pointeur est utilisé, son contenu sera traité comme une adresse. Dans le pic 16f84 un seul pointeur est disponible pour l’adressage indirect, c’est le registre FSR. Quand on veut lire ou écrire dans une position mémoire en RAM, en utilisant l’adressage indirect, on doit d’abord chargée l’adresse de cette position dans le registre FSR. Le pic exécute l’adressage indirect en faisant intervenir un deuxième registre, c’est le registre INDF. Ce registre se trouve à l’adresse 0 dans les deux banques (bank0 et bank1); il n’a pas 3 d’existence physique. On doit le faire apparaitre dans les lignes d’instructions de l’adressage indirect. Exemple de lecture : movlw 0x1A ; charge 1A dans w : adressage immédiat movwf FSR ; FSR contient maintenant 1A : on dit que ; le registre FSR pointe l’adresse 0x1A movf INDF, 0 ; copie le contenu de l'adresse 0x1A dans w : ; c’est une lecture Exécution : Le pic récupère le contenu de FSR : c’est l’adresse 0x1A, ensuite il copie le contenu de cette adresse dans w : c’est la lecture d’une position mémoire par adressage indirect. Exemple d’écriture : movlw 0x0D ; charge 0D dans w: adressage immédiat movwf FSR ; FSR pointe l’adresse 0x0D movlw 0xff ; charge w avec 255 (ou autre valeur): adressage immédiat movwf INDF ; transfère le contenu de w dans la position mémoire ; d’adresse 0x0D : c’est une écriture Exécution : Le pic récupère le contenu de FSR : c’est l’adresse 0x0D, ensuite il copie le contenu de w dans cette adresse : c’est l’écriture dans une position mémoire par adressage indirect. Conclusion: la lecture : c’est lorsqu’une donnée est copiée dans le registre w cette donnée peut provenir soit d’un port, soit de la RAM l’écriture : c’est lorsqu’une donnée sort du registre w cette donnée peut être envoyée soit vers un port ou vers la RAM. L’adressage indirect est utilisé lorsqu’on veut lire ou écrire dans un tableau de données en RAM. 3. Représentation de l’information dans le pic movlw .32 ; charge 32 dans w: opérande décimale movlw 0x1f ; charge 32 dans w : opérande hexadécimale movlw B’00011111’ ; charge 32 dans w : opérande binaire C’est trois écritures sont équivalentes, et la valeur 32 est représentée dans w comme suit : 4 Le jeu d’instructions uploads/Litterature/ ii-jeu-dinstructions.pdf
Documents similaires










-
24
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 15, 2022
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.2034MB