Vous êtes sur la page 1sur 5

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

MINISTRE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA


RECHERCHE SCIENTIFIQUE

UNIVERSITE SAAD DAHLEB BLIDA-1-


FACULTE DES SCIENCES DE L’ENGINIEUR
DEPARTEMENT D’ELECTRONIQUE
RAPORT DU TP1

Option : INSTRUMENTATION

µp & dsp

 Réalisation : Diriger par :

 Chemali Nassim  H.Ait Abdesslam


-

Année universitaire : 2019/2020


Partie A :
Ecrire le programme en assembleur, réaliser l’édition, l’assemblage et
le debbogage en utilisant l’interface de emu8086 
Programme :
Assume CS : Code, DS : Data, SS : Pile
Pile Segment
     DW 100h Dup( ?)
Pile ends    
data segment
   
    tab1 db 28,43,28,12,53,21,19,29,25,10,5
    tab2 db 10 
ends
stack segment 
    dw 128 dup(0)
ends
code segment
start:
 ;add your code here
 mov ax,data
 mov ds,ax
 mov es,ax 
 mov dh,00
 mov si,offset tab1
 mov di,offset tab2
 mov cl,00h
 mov bl,[si+0Ah]
 etiq2:mov ah,00h
 mov al,[si]
 div bl
 cmp ah,00h
 jnz etiq1
 mov al,[si]
 mov [di],al
 inc di
 inc dh
 etiq1:inc si
 cmp cl,9
 jz etiq3
 inc cl
 jmp etiq2
 etiq3:ends
; Classification en ordre decroissant
mov si,offset tab2 
mov dl,dh
l5:mov al,00
l3:cmp dh,00h
je l1
mov cl,[si]
mov bl,[si+1]
mov bh,[si-1]
cmp bl,cl
jg l2
cmp bl,00h
je l4
xchg [si+1],cl
mov [si],cl
cmp bh,[si]
jg l6
inc si
mov al,01
jmp l5
l6:xchg bh,[si]
mov [si-1],cl;
dec si
mov cl,[si]
mov bl,[si+1]
mov bh,[si-1]
cmp bh,[si]
jg l6
inc si
jmp l3
l2:cmp bh,cl
jg l6
inc si
dec dh
jmp l3
l1:cmp al,00h 
je l4   
jmp l5
l4:ends
int 21h
ends 
end start
Partie B:
Programme :

assume CS:code, DS:data,SS:pile


pile segment 
    DW 100h dup (?)
pile ends
.data
programme db ' realise le calcul du nombre de donnees multiples de VAL
dans une table de 16 donnees $'      
table1 db 30 dup(0)
table2 db 10 dup(0)  
mess1 db 'introduire les 16 donnees de la table :$'
mess2 db 'introduire la donnee VAl:$'
mess3 db 'le nombre de donnees multiples de VAL est :$'
diz db 10h 
.code  
mov ax,@data  
mov dx,ax  
 
mov ah,9  
mov dx,offset mess1  
int 21h  
 
mov ah,1  
int 21h  
mov bx,ax  
mov cx,'#'  
 
boucle: cmp [bx],cx  
je vide  
;inc i  
while1: mov ah,9  
mov dx,offset mess1  
int 21h  
mov ah,1  
int 21h  
mov bx,ax  
mov cx,'#'  
cmp [bx],cx  
je fin  
;inc i  
jmp while1  
fin: jmp end1  
vide: mov ah,9  
mov dx,offset mess2  
int 21h  
end1:  
mov ah,9    
;mov dx,i  
mov ah,2  
int 21h  
mov ah,4ch  
int 21h  
end

Vous aimerez peut-être aussi