1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| pile segment
ope1 db 10 dup (?) ;//la pile qui va contenir le premier operand//
ope2 db 10 dup (?) ;//la pile qui va contenir le deuxieme operand
ope3 db 10 dup (?) ;//la pile qui va contenir le troisieme operand
pile ends
;********************************************************
data segment
mes db 'entrer le premier operand:',13,10,'$'
me db 'entrer le deuxiem operand:',13,10,'$'
entrer db 13
a dw ?
b db ? ; intermediaire pour transformer le contenu de AL vers DX
retour dw 10,'$'
data ends
;********************************************************
code segment
Assume ss:pile,ds:data,cs:code
debut:
mov ax,data
mov ds,ax
mov a,0
;***********Affichage de message ****************************
lea dx,mes
mov ah,9
int 21h
;********************************************************
;***********remplissage de Pile1 ******************************
boucl:
;lecture et remplissage de la pile
mov ah,1
int 21h
cmp al,13
je deux
mov b,al
mov ax,1
mul b
lea bx,ope1
push ax
loop boucl
;********************************************************
deux: mov dx,retour
mov ah,2
int 21h
;***********Affichage de message ****************************
lea dx,me
mov ah,9
int 21h
;********************************************************
mov dx,retour
mov ah,2
int 21h
;***********remplissage de Pile2 ******************************
boucle:
;lecture et remplissage de la pile
mov ah,1
int 21h
cmp al,13
je aff
mov b,al
mov ax,1
mul b
lea bx,ope2
push ax
loop boucle
;********************************************************
mov dx,retour
mov ah,2
int 21h
;*******************affichage de la pile1*************************************
aff:
mov cx,3
lea dx,ope1
mov dx,retour
mov ah,2
int 21h
depiler :
pop dx
mov ah,2
int 21h
loop depiler
;********************************************************
mov dx,retour
mov ah,2
int 21h
;************************affichage de la pile2*******************************
mov cx,3
lea dx,ope2
depile :
pop dx
mov ah,2
int 21h
mov ax,dx
;call deu
loop depile
;*******************************************************
;je cherche a addition le contenu de la pile 1 et 2 et mettre le resultat dans pile3 SVp
;*******************************************************
mov ah,4ch
int 21h
code ends
end debut |
Partager