12
• PCL (8 bits) est la partie basse de PC, il est accessible en lecture écriture
• PCH (5 bits) est la partie haute de PC, il n’est pas accessible directement. On peut toutefois le modifier indirectement à l’aide du registre PCLATH qui est une registre SFR accessible en lecture écriture et où seuls 5 bits sont utilisés.
I.15.1 GOTO calculé
Si on veut modifier le Program Counter pour réaliser un saut, il faut d’abord placer la partie
haute dans le registre PCLATH, ensuite on écrit la partie basse dans PCL. Au moment de l’écriture dans PCL, le contenu de PCLATH est recopié automatiquement dans PCH
Dans les instructions de branchement, l’adresse de destination est codée sur 11 bits. Lors de
l’exécution de telles instruction, les 11 bits sont copiés dans PC les deux bits manquants sont pris dans PCLATH. Pour le 16F84, On n’aura pas besoin de ces bits car pour adresser 1024 lignes de programme, seuls 10 bits du Programme Counter sont utilisés.
I.16 Les indicateurs
Les indicateurs C, DC, et Z sont des bits qui nous informent sur le résultat d’une instruction. Ils
sont situés dans le registre STATUS : • C (Carry) : ce bit Il passe à « 1 » lorsque le résultat d’une opération dépasse la valeur FF ou si le résultat est négatif.
• DC (Digital Carry) : ce bit passe à « 1 » lorsque une retenue s’est produite entre les bit 3 et 4.
• Z (Zero) : Ce bit passe à « 1 », pour indiquer que le résultat de l’opération est nul.
I.17 Les instructions du 16F84
Tous les PICs Mid-Range ont un jeu de 35 instructions. Chaque instruction est codée sur un
mot de 14 bits qui contient le code opération (OC) ainsi que l’opérande. A part les instructions de saut, toutes les instructions sont exécutées en un cycle d’horloge. Sachant que l’horloge fournie au PIC est prédivisée par 4, si on utilise par exemple un quartz de 4MHz, on obtient donc 1000000 cycles/seconde, cela nous donne une puissance de l’ordre de 1MIPS (1 Million d’ Instructions Par Seconde). Avec une horloge de 20MHz, on obtient une vitesse de traitement plus qu’honorable. I.17.1 Les instructions « orientées octet » (adressage direct)
Ce sont des instructions qui manipulent les données sous forme d’octets. Elles sont codées de
la manière suivante :
RP0 Z DC
C
11 bits venant de l’instruction PCLATH
PC
PCL PCH
PCLATH Ecriture dans PCL
PCL PCH