Académique Documents
Professionnel Documents
Culture Documents
tp3 MOUISSIassala
tp3 MOUISSIassala
POPULAIRE
MINISTERE DE L’ENSEIGNMENT SUPPERIEUR ET DE LA RECHERCHE
SCIENTIFIQUE
ECOLE NATIONALE POLYTECHNIQUE D’ORAN
Le travail :
1. On établit l’organigramme sous forme d’un programme principal
qui appelle un S/P de multiplication nommé MULT8
DE 50 B A
HL 0
A 3
HL HL+DE
APPELLE LE S/P
MULT8
B B-1
Fin
NON OUI
B=0
Programme principale sous-programme
RET
2- On écrit le programme en langage assembleur
ORG 1800H
program
LD DE,val1
LD A,val2
CALL MULT8
HALT
MULT8: LD B,A
LD HL,0
LOOP: ADD HL,DE
DJNZ LOOP
RET
val1: EQU 25h
val2: EQU 4h
END program
5- On exécute le programme
Début DIV
HL 16 B 0
carry 0
DE 3
HL HL-DE-carry
APPELLE LE S/P DIV
Fin M=1
OUI
NON HL HL+DE
B B+1
RET
1. le programme :
ORG 1800H
LD HL,16
LD DE,3
CALL DIV
HALT
DIV: LD B,0
LOOP: XOR A
SBC HL,DE
JP M,LOOP1
INC B
JP LOOP
LOOP1 : ADD HL,DE
RET
END
2. On assemble le programme
Exercice 04 :
Le programme :
ORG 1800H
program
LD IX,0
LD HL,val1
EXX
LD HL,val2
LD A,L
CALL CONTBT
LD A,H
CALL CONTBT
EXX
LD A,L
CALL CONTBT
LD A,H
CALL CONTBT
HALT
CONTBT:
LD B,8
LOOP1:
RR A
JP NC,LOOP
INC IX
LOOP:
DJNZ LOOP1
RET
val1: EQU 0c5feh
val2: EQU 0bcf7h
END program
Questions :
Ce qui nous a obligé d’utiliser S/P CONTBT 4 fois que pour tester un
nombre de 32 bits il faut test chaque registre
L’avantage d’utiliser un sous-programme est de réduire la taille de
programme.
De préférence d’utiliser le sous-programme comme un module dans un
programme pour ne pas consommer d’espace mémoire lors d’exécution
du programme, c.à.d. la mémoire à utiliser dans le cas où le programme
contient un sous-programme est moins qu’on inclut le sous-programme
comme des instructions du programme principal.
Exercice 05 :
Le programme :
ORG 1800H
program
loop3:
LD IX,1850H
LD B,nmax
DEC B
LD C,0
LD A,L
loop2:
LD A,(IX+0)
CP (IX+1)
JP Z,loop1
JP C,loop1
LD D,(IX+1)
LD (IX+1),A
LD (IX+0),D
LD C,1
loop1:
INC IX
DJNZ LOOP2
BIT 0,C
JP NZ,loop3
HALT
nmax: EQU 15
END program
Exemple 01
1. On charge les valeurs du tableau suivant :
Case mémoires Valeur
1850H 10
1851H 05
1852H 10
1853H 01
1854H 04
1855H 02
1856H 13
1857H 03
1858H 12
1859H 06
185AH 08
185BH 07
185CH 11
185DH O9
185EH 14
Apres l’exécution :
4- On observe que la tableau est tirer dans un ordre croissant
Exemple 02 :
1850H 1851H 1852H 1853H 1854H 1855H 1856H 1857H 1858H 1859H 185A 185BH 185CH
H
r i o k t z f q v c n u h
72h 69h 6Fh 6Bh 74h 7Ah 66h 71h 76h 63h 6Eh 75h 68h
185D 185EH 185FH 1860H 1861H 1862H 1863H 1864H 1865H 1866H 1867H 1868H 1869
H
e m y b l w g p s a x d j
65h 6Dh 79h 62h 6Ch 77h 67h 70h 73h 61h 78h 64h 6Ah
Apres exécution du programme on remarque que les alphabets sont classés de
aàa
Case Lettr
mémoires e
1850H a
1851H b
1852H c
1853H d
1854H e
1855H f
1856H g
1857H h
1858H i
1859H j
185AH k
185BH l
185CH m
185DH n
185EH o
185FH p
1860H q
1861H r
1862H s
1863H t
1864H u
1865H v
1866H w
1867H x
1868H y
1869H z