Hesap Makinasi
DOSSEG
.MODEL SMALL
.STACK 100H
org 100h
.Data
baslangic db 13,10, "HESAP MAKINASI",0
sayi1 dw ?
sayi2 dw ?
op dw ?
Addi db 13,10, " 1-Toplama",0
Subtrk db 13,10, " 2-Cikarma",0
Multl db 13,10, " 3-Carpma",0
Divd db 13,10, " 4-Bölme",0
Be db 13,10, " 5-Exit",0
erg db ?
include macros.mac
jumps
.CODE
Start: mov ax,@Data ;
mov ds,ax
writeS baslangic
nl
nl
nl
mov ah,01h
int 21h
nl
print "Ilk Sayiyi Giriniz:"
readZ ax
print "Ikinci Sayiyi Giriniz:"
readZ cx
print "Hangi islemi yapmak istiyorsunuz?"
writeS addi
writes subtrk
writes multl
writes divd
writes be
nl
nl
print "Islem :"
readZ op ;
cmp op, 1 ;
je Addit ;
cmp op, 2 ;
je Subt ;
cmp op, 3 ;
je Multip ;
cmp op, 4 ;
je Divid ;
cmp op, 5 ;
je quit ;
Addit:
add ax,cx
;mov bx,ax
jno sonuc
jmp overflow
Subt:
sub ax,cx
;mov bx,ax
jno sonuc
jmp Overflow
Multip:
mov sayi1,ax
mov sayi2,cx
mov ax,sayi1
mov bx,sayi2
mul bx
jno sonuc
jmp overflow
Divid:
mov sayi1,ax
mov sayi2,cx
mov ax,sayi1
mov cx,sayi2
div cx
mov ax,cx
jno sonuc
jmp overflow
sonuc:
print "Sonuc: "
writeZ ax
jmp quit
Overflow:
print "Overflow...!"
jmp Start
quit:
mov ax,4c00h
int 21h
end Start