Informatique Industrielle : Exercices Instructions de branchement et boucles
Télécharger PDFBranchement et boucles : Instructions de branchement et boucles
Exercice 1
Exécuter les instructions suivantes et donner les états successifs.
Étiquette : Instructions
movlw 0x02
movwf xdata
decfsz xdata, f
goto saut
movlw 0x0A
movwf xdata
saut
decfsz xdata, f
goto saut
decf xdata, f
Exercice 2
Exécuter les instructions suivantes et donner les états successifs.
Étiquette : Instructions
movlw 0xFF
movwf xdata
incfsz xdata, f
goto boucle
movlw 0x01
movwf xdata
boucle
decfsz xdata, w
goto boucle
decf xdata, f
Exercice 3
Exécuter manuellement les instructions suivantes.
Étiquette : Instructions
clrf ydata
movlw 0x0A
movwf xdata
rec
incf ydata, f
decf xdata, f
btfss STATUS, Z
goto rec
decf xdata, f
Exercice 4
1. Exécuter manuellement les instructions suivantes.
Étiquette : Instructions
début
clrf compt
compter
movf compt, w
movwf PORTB
incf compt, f
movlw 0x0A
xorwf compt, w
btfss STATUS, Z
goto compter
goto début
2. Ce programme incrémente et affiche une valeur sur le port B jusqu'à atteindre 0x0A, puis recommence.
FAQ
1. Que signifie "decfsz" dans les instructions ?
L'instruction decfsz (décrémente et saute si zéro) décrémente une variable et vérifie si le résultat est nul. Si la valeur n'est pas nulle, le programme saute à l'étiquette indiquée.
2. À quoi sert "btfss STATUS, Z" ?
La commande btfss STATUS, Z (branchement si le flag Z n'est pas défini) permet de tester le bit Z du registre STATUS. Si ce bit est à 0 (la condition n'est pas remplie), le programme saute à l'étiquette spécifiée.
3. Pourquoi utiliser "xorwf" dans l'exercice 4 ?
L'instruction xorwf (XOR avec W) est utilisée pour comparer la valeur de compt avec 0x0A. Si le résultat est nul (compt = 0x0A), le bit Z du STATUS est positionné à 1, ce qui permet de sortir de la boucle.