Vous êtes sur la page 1sur 4

electroussafi.ueuo.

com 1/4

Instructions de branchement et boucles

Exercice 1

Etiquette Instructions Description Etat 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

N. ROUSSAFI electroussafi.ueuo.com Branchement et boucles


electroussafi.ueuo.com 2/4

Exercice 2

Etiquette Instructions Description Etat des registres

movlw 0xFF 0xFF → (w) (w) = 0xFF

movwf xdata (w) → (xdata) (xdata) = 0xFF

incfsz xdata,f (xdata) + 1 → (xdata) (xdata) = 0

Instruction non
goto boucle (xdata) = 0
exécutée

movlw 0x01 0x01 → (w) (w) = 0x01

movwf xdata (w) → (xdata) (xdata) = 0x01

boucle decfsz xdata,w (xdata) – 1 → (w) (w) = 0

Instruction non
goto boucle (w) = 0
exécutée

decf xdata,f (xdata) – 1 → (xdata) (xdata) = 0

N. ROUSSAFI electroussafi.ueuo.com Branchement et boucles


electroussafi.ueuo.com 3/4

Exercice 3

Etiquette Instructions Description Etat des registres

clrf ydata 0 → (ydata) (ydata) = 0

movlw 0x0A 0x0A → (w) (w) = 0x0A

movwf xdata (w) → (xdata) (xdata) = 0x0A

Instruction exécutée 10
rec incf ydata,f (ydata) + 1 → (ydata)
fois. (ydata) = 0x0A
Instruction exécutée 10
decf xdata,f (xdata) – 1 → (xdata)
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

N. ROUSSAFI electroussafi.ueuo.com Branchement et boucles


electroussafi.ueuo.com 4/4

Exercice 4

1.

Etiquette Instructions Description Etat des registres

debut 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 ?)

Si (w) ≠ 0 aller à
goto compter
compter

goto debut Si (w) = 0 aller à debut

2. La fonction réalisée par ce programme est un compteur modulo 10.

N. ROUSSAFI electroussafi.ueuo.com Branchement et boucles

Vous aimerez peut-être aussi