TP 02 Opration arithmtique et logiques
Premier partie :
Solution 1 :
Contenu A B S Z CY P
initial : o
MVI B,FFH 00H FFH 0 0 0 r/
t
MVI A,F2 F2H FFH 0 0 0 /
MVI B,7AH F2H 7AH 0 0 0 /
ADD B 6CH 7AH 0 0 1 /
OUT 00H 6CH 7AH 0 0 1 6
HLT C
H
1
TP 02 Opration arithmtique et logiques
2_lopration qui peut tre effectu en excutons ADD A :
ADD: A<=A+A or RLC
3_lopration qui peut tre effectu en excutons SUB A :
SUB A = A-A = 0 or XRA
4)
A C S Z CY
MVI A,5EH 5E xx 0 0 0
ADI A2H 00 xx 0 1 1
MOV C ,A 00 00 0 1 1
HLT
2
TP 02 Opration arithmtique et logiques
Deuxime Partie :
Solution 1:
1- lopration que peut tre effectue par lexcution de linstruction
XRA A :
XRA A = A-A = 0 or SUB A
2- le contenu des registres et ltat des flags S,Z et CY aprs l
excution de linstruction ORA A:
A B S Z CY
MVI A,A9H A9 00 0 0 0
MVI B,57H A9 57 0 0 0
ADD B 00 57 0 1 1
ORA A 00 57 0 1 0
3- le contenu des registres et ltat des flags S, Z et CY pour le
programme suivante :
A B S Z CY
XRA A 00 00 0 1 0
MVI B,4AH 00 4A 0 1 0
SUI 4FH B1 4A 1 0 1
ANA B 00 4A 0 1 0
HLT 00 4A 0 1 0
3
TP 02 Opration arithmtique et logiques
3- TROISIEME PARTIE :
1- Expliquer le rle de ces instructions :
- Le rle de ces instructions ( RRC)est devisions
MVI A,79H A= 79 BCD
ANI F0H A=70H = (7*16^0)+(0*16^1) = 112
RCC (A/2) A=38H= (8*16^0) + (3*16^1)=56
RCC (A/2) A=1CH= (C*16^0 )+ (1*16^1)= 28
RCC (A/2) A=0EH=(E*16^0 ) +(0*16^1)= E
RCC (A/2) A=07H= (7*16^0 )+ (0*16^1)= 7
Contenu initial : A S Z CY
MVI A,79H 79H 0 0 0
ANI F0H 70H 0 0 0
RRC 38H 0 0 0
RRC 1CH 0 0 0
RRC 0EH 0 0 0
RRC 07H 0 0 0
HLT
2-Lquation mathmatique ralise par le programme suivant :
MVI A,07H A=X
RLC (A*2)=0E
MOV B,A B=0E
RLC (A*2) =1C
RLC ( A*2 )=38 , B=0E
ADD B A=46 , B=0E
4
TP 02 Opration arithmtique et logiques
ALORS LEQUATION EST : y= (((2*x)*2)*2)+2*x=8*x+2*x=10x
4. QUATRIEME PARTIE :
*Ecrire un programme assembleur qui permet de ralis la fonction
mathmatique suivante :
Y= (16(2X+1)+X-1)/8