Vous êtes sur la page 1sur 4

NOM : MOULAY BRAHIM PRENOM : OUSSAMA Master 1 AUTOMATIQUE MODULE : MICROPROCESSEUR LA REPONSE DU DEVOIRS : Exercice 1 :

programme en assembleur 8086 qui ralise le comptage des nombres pairs et des nombres impairs stocks dans lespace mmoire 100h a 10Fh, ensuite affiche sur cran le rsultat sous la forme suivante : es nombres pairs : ! es nombres impairs : "

La rponse :
org 100h #mp st ! db $ " db $ pair db %les nombres pairs :%,%&% impair db %les nombres impairs:%,%&% entree db 1',10,%&% st: mov si,0100h mov bl,( mov c!,0fh etq: mov al,)si* div bl cmp ah,0 #n+ impaire add !,1 inc si dec c! #n+ etq impaire: add ",1

inc si dec c! #n+ etq mov d!,offset pair mov ah,0,h int (1h mov dl,! add dl,'0h mov ah,0(h int (1h mov d!,offset entree mov ah,0,h int (1h mov d!,offset impair mov ah,0,h int (1h mov dl," add dl, '0h mov ah,0(h int (1h hlt

Exercice 2 :
un programme en assembleur 8086 qui ralise la saisie dune chaine de caract-res, ensuite remplace dans cette chaine tous les caract-res .a par le caract-re ./, et en fin raffiche la nouvelle chaine dans une nouvelle ligne0

La rponse :
org 100h #mp st chaine db (1 dup2$3 entree db 1',10,%&% lect proc mov si,d! mov )si*,al mov ah,0ah int (1h ret lect endp affich proc mov ah,0,h

int (1h ret affich endp st: mov d!,offset chaine mov al,1( call lect mov d!,offset entree call affich mov d!,offset chaine add d!,( mov si,d! mov bl,)si41* mov bh,0 mov )b!5si*,%&% etq: cmp )b!5si*,616 #n+ done sub )b!5si*,(0h #n+ etq #mp aff done: dec b! cmp b!,41 #n+ etq aff: call affich hlt

Exercice

: un programme en assembleur 8086 qui ralise

la saisie dune chaine de caract-res de 10 caract-res ma!imum,

ensuite affiche les caract-res de cette chaine sous forme dune p"ramide0 7!emple : abcdefg a ab abc abcd abcde abcdefg

La rponse :
org 100h #mp st chaine db (0 dup2$3 entree db 1',10,%&% lect proc mov b!,d! mov )b!*,al mov ah,0ah int (1h ret lect endp affich proc mov ah,0,h int (1h ret affich endp st: mov al,10 lea d!,chaine call lect mov cl,)b!51* mov ch,00h #ump: mov d!,offset entree call affich mov al,)b!5'* mov ah,0 mov si,a! mov )b!5'*,%&% lea d!,chaine add d!,( call affich mov a!,si mov )b!5'*,al inc b! loop #ump hlt

Vous aimerez peut-être aussi