Documente Academic
Documente Profesional
Documente Cultură
Exemple
Movf FSR ,W
; (FSR) W
Movf PCLATH ,W
;(PCLATH) W
movf EEDATA, W
; (EEDATA) ) W
Exemple
Movf PCLATH, W
; (PCLATH) ( W)
Movwf PCLATH_temp
; (W) PCLATH_temp
..
..
..
Pour utiliser PCLATH, par exemple
dans un sous-progr.
Clrf PCLATH
« Les instructions « orientées bits »
Ce sont des instructions destinées à manipuler directement des
bits d’un registre particulier. Elles sont codées de la manière
suivante :
-4 bits pour l’instruction (dans l’espace resté libre par les
instructions précédentes)
-3 bits pour indiquer le numéro du bit à manipuler (bit 0 à 7
possible), et de nouveau :
-7 bits pour indiquer l’opérande.
Exemple d’instructions « orientées
bits »
Exemple
; RP0=0 et RP1=1,
; sélectionner bank1
Exemple
Exemple
Movlw B’00100111’ ; w = ‘B00100111’= 0x27
Movlw addwrite ; charger adresse d'écriture
Les sauts et appels de sous-routines
Ce sont les instructions qui provoquent une rupture dans la
séquence de déroulement du programme. Elles sont codées
de la manière suivante :
Remarques
Le jeu d’instructions du 16F876 est strictement identique à celui du 16F84, et, de ce
fait, présente les mêmes limitations.
Une de celle-ci, la plus gênante, est le nombre de bits qui accompagne les instructions
de saut, comme le « goto ». Rappelez-vous que les instructions de saut sont de la
forme:
Op-code + 11 bits de destination.
Or, les sauts sur 11 bits ne permettent « que » des sauts à l’intérieur d’une page de 2K
Mots. Notre processeur utilise un maximum de 8Kmots de programme, et nécessite
donc 2 bits supplémentaires pour accéder à l’intégralité de la mémoire programme. Le
schéma-bloc donnant bien une largeur de bus d’adressage de 13 bits.
Pour résumer, le saut s’effectuera à l’adresse donnée en argument complétée en poids