Vous êtes sur la page 1sur 4

 Jeu d'instructions 16f84

W : régistre de travail (accumulateur), taille 8 bits

k : valeur littérale, taille 8 bits

nombre
Mnémonique bit du registre
Description de
, opérande STATUS affecté
cycles
MOVLW k k (8 bits) est chargé dans (W) - 1
Additionne k (8 bits) et (W)
ADDLW k C, DC , Z 1
et place le résultat dans (W)
Soustrait W de k (8 bits) et
place le résultat dans (W)
SUBLW k C, DC , Z 1
k - (W) -> (W)
Réalise un ET logique entre k
ANDLW k (8 bits) et (W), et place le Z 1
résultat dans (W)
Réalise un OU logique
(inclusif) entre k (8 bits) et
IORLW k Z 1
(W), et place le résultat dans
(W)
Réalise un OU exclusif entre
XORLW k k (8 bits) et (W), et place le Z 1
résultat dans (W)

L : label (étiquette)

bit du
nombre
Mnémonique , registre
Description de
opérande STATUS
cycles
affecté
GOTO L Branchement à l'adresse L - 2
Appelle un sous-programme
CALL L - 2
(subroutine) situé à l'adresse L
RETURN Retour de sous-programme - 2
Retour de sous-programme, avec
RETLW k chargement de la valeur littérale k - 2
(8 bits) dans (W)
Retour de sous-programme
RETFIE - 2
d'interruption
CLRWDT Efface le Watchdog /TO, /PD 1
Place le microcontrôleur en mode
SLEEP /TO, /PD 1
sommeil

f : registre (spécial ou d'usage général)

b : position du bit (0 à 7)

bit du
nombre
Mnémonique , registre
Description de
opérande STATUS
cycles
affecté
Mise à 0 du b ème bit du registre
BCF f , b - 1
f
Mise à 1 du b ème bit du registre
BSF f , b - 1
f
Si le b ème bit du registre f est
égal à 0, alors l'instruction
BTFSC f , b suivante est ignorée, et une - 1 ou 2
instruction NOP est exécutée à la
place (soit 2 cycles)
Si le b ème bit du registre f est
égal à 1, alors l'instruction
BTFSS f , b suivante est ignorée, et une - 1 ou 2
instruction NOP est exécutée à la
place (soit 2 cycles)

f : registre (spécial ou d'usage général)


d : registre de destination (on peut choisir entre le registre de travail W et
le registre f ).

bit du
nombre
Mnémonique registre
Description de
, opérande STATUS
cycles
affecté
MOVWF f (W) est chargé dans (f) - 1
MOVF f , d (f) (8 bits) est chargé dans (destination) Z 1
ADDWF f , Additionne le contenu du registre f (8 bits) et C, DC ,
1
d (W), et place le résultat dans (destination) Z
Soustrait (W) de (f) (8 bits) et place le résultat
SUBWF f , dans (destination). C, DC ,
1
d Z
(f) - (W) ->(destination)
ANDWF f , Réalise un ET logique entre (f) (8 bits) et (W),
Z 1
d et place le résultat dans (destination)
Réalise un OU logique (inclusif) entre (f) (8
IORWF f ,
bits) et (W), et place le résultat dans Z 1
d
(destination)
XORWF f , Réalise un OU exclusif entre (f) (8 bits) et
Z 1
d (W), et place le résultat dans (destination)
Réalise le complément logique de (f) (8 bits),
COMF f , d Z 1
et place le résultat dans (destination)
Décrémente (f) et place le résultat dans
(destination).
DECF f , d Z 1
(f) - 1 -> (destination)
Décrémente (f) et place le résultat dans
(destination).
DECFSZ f ,
- 1 ou 2
d Si le résultat est 0, alors l'instruction suivante
est ignorée, et une instruction NOP est
exécutée à la place (soit 2 cycles)
Incrémente (f) et place le résultat dans
(destination).
INCF f , d Z 1
(f) + 1 -> (destination)
Incrémente (f) et place le résultat dans
(destination).
INCFSZ f ,
- 1 ou 2
d Si le résultat est 0, alors l'instruction suivante
est ignorée, et une instruction NOP est
exécutée à la place (soit 2 cycles)
Efface le contenu du registre (f).
CLRF f Z 1
Remarque : le bit Z est donc mis à 1.
Efface le contenu de l'accumulateur (W).
CLRW Z 1
Remarque : le bit Z est donc mis à 1.
Réalise une rotation circulaire à gauche :

RLF f , d C 1

Le résultat est placé dans (destination).


Réalise une rotation circulaire à droite :

RRF f , d C 1

Le résultat est placé dans (destination).


Les 4 bits de poids forts et les 4 bits de poids
SWAPF f , faibles de (f) sont échangés.
- 1
d
Le résultat est placé dans (destination).
NOP Cette instruction ne fait rien (durée 1 cycle). - 1

Vous aimerez peut-être aussi