Informatique Industrielle : Correction exercices: Instructions de branchement et bouc
Télécharger PDFObtenir le pack complet des cours, TDs, TPs et projets sur Informatique Industrielle : Microprocesseur & Microcontrôleur!
Vous souhaitez maîtriser les microprocesseurs et Microcontrôleurs ? Ne cherchez plus, nous avons le pack parfait pour vous.
Accédez à une collection complète des supports de cours, des travaux dirigés (TD) corrigés, des travaux pratiques (TP) et des projets.
Obtenir le pack maintenant1/4 N. ROUSSAFI Branchement et boucles Instructions de branchement et boucles
Exercice 1
Etiquette Instructions Description état des registres movlw 0x02 0x02 → (w) (w) = 0x02 movwf xdata (w) → (xdata) (xdata) = 0x02 decfsz xdata,f (xdata) – 1 = (xdata) (xdata) = 0x01 goto saut Aller à saut, si (xdata) ≠ 0 (xdata) = 0x01 movlw 0x0A Instruction non exécutée (w) = 0x02 movwf xdata Instruction non exécutée (xdata) = 0x01 saut decfsz xdata,f
(xdata) – 1 = (xdata) (xdata) = 0 goto saut Instruction non exécutée (xdata) = 0 decf xdata,f (xdata) – 1 = (xdata) (xdata) = 0xFF 2/4 N. ROUSSAFI Branchement et boucles
Exercice 2
Etiquette Instructions Description
état des registres movlw 0xFF 0xFF → (w) (w) = 0xFF movwf xdata (w) → (xdata) (xdata) = 0xFF incfsz xdata,f (xdata) + 1 → (xdata) (xdata) = 0 goto boucle Instruction non exécutée (xdata) = 0 movlw 0x01 0x01 → (w) (w) = 0x01 movwf xdata (w) → (xdata) (xdata) = 0x01 boucle decfsz xdata,w (xdata) – 1 → (w) (w) = 0 goto boucle Instruction non exécutée (w) = 0 decf xdata,f (xdata) – 1 → (xdata) (xdata) = 0 3/4 N. ROUSSAFI Branchement et boucles
Exercice 3
Etiquette Instructions Description
état des registres clrf ydata 0 → (ydata) (ydata) = 0 movlw 0x0A 0x0A → (w) (w) = 0x0A movwf xdata (w) → (xdata) (xdata) = 0x0A rec incf ydata,f (ydata) + 1 → (ydata) Instruction exécutée 10 fois. (ydata) = 0x0A decf xdata,f (xdata) – 1 → (xdata) Instruction exécutée 10 fois. (xdata) = 0 btfss STATUS,Z Z = 1 ? ((xdata) = 0 ?)
goto rec Si (xdata) ≠ 0 aller à rec
decf xdata,f (xdata) – 1 → (xdata) (xdata) = 0xFF 4/4 N. ROUSSAFI Branchement et boucles
Exercice 4
1. Etiquette Instructions Description
état des registres
début clrf compt 0 → compt (compt) = 0 compter movf compt,w (compt) → (w) (w) = 0 movwf PORTB (w) → (PORTB) (PORTB) = 0 incf compt,f (compt) + 1 → (compt)
movlw 0x0A 0x0A → (w) (w) = 0x0A xorwf compt,w (compt) (w) → (w) btfss STATUS,Z Z = 1 ? ((w) = 0 ?)
goto compter Si (w) ≠ 0 aller à compter goto début Si (w) = 0 aller à debut
2. La fonction réalisée par ce programme est un compteur modulo 10.
