Data
Data
data
line byte " This is a Simple Calculator in Assembly ",0,13h,10h
line1 byte " Chosee Operation: '+' '-' '/' '*' ",0,13h,10h
line11 byte " Addition: '+' ",0,13h,10h
line12 byte " Subtraction: '-' ",0,13h,10h
line13 byte " Multiplication: '*' ",0,13h,10h
line14 byte " Division: '/' ",0,13h,10h
line15 byte " Repete: 'R' ",0,13h,10h
line16 byte " Exit: 'E' ",0,13h,10h
num1 word ?
num2 word ?
button byte ?
.code
main PROC
call clrscr
mov edx,offset line
call writestring
call crlf
start:
call crlf
mov edx,offset line1
call writestring
call crlf
mov edx,offset line11
call writestring
call crlf
mov edx,offset line12
call writestring
call crlf
mov edx,offset line13
call writestring
call crlf
mov edx,offset line14
call writestring
call crlf
mov edx,offset line15
call writestring
call crlf
mov edx,offset line16
call writestring
call crlf
call crlf
cmp button,'+'
JE addition
cmp button,'-'
JE subtraction
cmp button,'*'
JE multiplication
cmp button,'/'
JE division
cmpbutton,'r'
JE start
JNE stop
addition:
mov edx,offset line2
call writestring
call crlf
mov edx,offset msg;Read first no
call writestring
call readint
mov num1,ax
Jmp start
subtraction:
mov edx,offset line3
call writestring
call crlf
mov edx,offset msg;Read first no
call writestring
call readint
mov num1,ax
JMP start
multiplication:
mov edx,offset line4
call writestring
call crlf
mov edx,offset msg;Read first no
call writestring
call readint
mov num1,ax
JMP start
division:
mov edx,offset line5
call writestring
call crlf
mov edx,offset msg;Read first no
call writestring
call readint
mov num1,ax
JMP start
stop:
exit
main endp
end main