correction exercices: instructions de branchement et bouc

Informatique Industrielle : Correction exercices: Instructions de branchement et bouc

Télécharger PDF

Obtenir 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.

pack complet des cours, TDs, TPs et projets sur Informatique Industrielle : Microprocesseur & Microcontrôleur

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 maintenant

1/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.

Partagez vos remarques, questions ou propositions d'amélioration ici...

Enregistrer un commentaire (0)
Plus récente Plus ancienne

Publicité 1

Publicité 2