39 1 86KB
REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTRE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE SAAD DAHLEB BLIDA-1FACULTE DES SCIENCES DE L’ENGINIEUR DEPARTEMENT D’ELECTRONIQUE RAPORT DU TP1 Option : INSTRUMENTATION
µp & dsp Réalisation : Chemali
Diriger par : 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