Série TD 5 : Systèmes embarqués
Exercice 1 :
Compléter les phrases suivantes :
1. Que signifie l'instruction DJNZ Reg , Label ?
2. L’instruction DJNZ Reg, label est utilisée pour effectuer est limitée à une opération de
..............
3. L'action de bouclage avec l'instruction DJNZ Reg, label est limitée à………..itération
Exercice2 :
1. Que faire lorsque le nombre d'itérations dépasse 256 fois ?
2. Que représente les trois octets dans l'instruction LJMP .
3. L'adresse cible de 2 octets permet un saut vers n'importe quel emplacement mémoire
de……………à…………
Exercice 3 :
Faire la multiplication de 60 par 8 en utilisant le langage assembleur et la technique d'addition répétée.
Exercice 4 :
Soit le programme suivant. Expliquez chaque line de ce programme. Quel est leur but ?
MOV A , # 0 ;…………………………………………………..
MOV R7 , A ; ………………………………………………….
ADD A , # 79H ; ………………………………………………….
JNC N_1 ; ………………………………………………….
INC R7 ; ………………………………………………….
N_1: ADD A #0F5H ; ………………………………………………….
JNC N_2 ; ………………………………………………….
INC R7 ; ………………………………………………….
N_2 : ADD A # 0E2H ; ………………………………………………….
JNC OVER ; ………………………………………………….
INC R7 ; ………………………………………………….
OVER : MOV R2 , A ; ………………………………………………….
Exercice1 :
1.l'instruction DJNZ Reg , Label signifie que la décrémentation des registre et la décision de
sauter sont combinées en une seule instructions.
2. L’instruction DJNZ Reg, label est utilisée pour effectuer est limitée à une opération de boucle.
3. L'action de bouclage avec l'instruction DJNZ Reg, label est limitée à 256 itération
Exercice 2 :
1. Lorsque le nombre d'itérations est supérieur à 256 nous utilisons une boucle dans une autre
boucle, cela s'appelle une boucle imbriquée. Dans ce cas, deux registres sont utilisés pour
contenir le nombre des itérations .
2. les trois octets dans l'instruction LJMP représente l’opcode et l’adresse de 16 bits de
l’emplacement cible .
3. L'adresse cible de 2 octets permet un saut vers n'importe quel emplacement mémoire de 0000
à FFFFh .
Exercice 3 :
MOV A , # 0 ; A=0 clen ACC
MOV R2 , # 8 ; the multiplier is replaced in R2
AGAIN : ADD A , # 60 ; Add the multiplicand to the ACC
DJNZ R2, AGAIN ; repeat until R2=0 (8times)
MOV R5,A ; save Ain R5[R5(E0H)]
Exercice 4 :
MOV A , # 0 ;…………………………………………………..
MOV R7 , A ; ………………………………………………….
ADD A , # 79H ; ………………………………………………….
JNC N_1 ; ………………………………………………….
INC R7 ; ………………………………………………….
N_1: ADD A #0F5H ; ………………………………………………….
JNC N_2 ; ………………………………………………….
INC R7 ; ………………………………………………….
N_2 : ADD A # 0E2H ; ………………………………………………….
JNC OVER ; ………………………………………………….
INC R7 ; ………………………………………………….
OVER : MOV R2 , A ; ………………………………………………….