Main Menu

Home
MASM
C
C/MASM
Java
Google
 
Home arrow MASM arrow Add 2 Numbers
Add 2 Numbers
TITLE Add 2 Numbers Program

INCLUDE Irvine16.inc
.data
entNum1  BYTE 0ah,0ah,0dh,"Enter 1st number (1-7): "
entNum2  BYTE 0ah,0ah,0dh,"Enter 2nd number (1-7): "
sumStr  BYTE 0ah,0ah,0dh,"Sum in hex = "
num1  BYTE ?
num2  BYTE ?

.code
main PROC

 mov ax,@data
 mov ds,ax

again:
number1:
 mov ah,40h    ;prompt user for 1st number
 mov bx,1    ;
 mov cx,SIZEOF entNum1 ;
 mov dx,OFFSET entNum1 ;
 int 21h     ;
 
 mov ah,1    ;read 1st number from standard input
 int 21h     ;
 mov num1,al    ;
 
 sub num1,30h   ;prepare number for bound check
 
 cmp num1,0h    ;bound check for 1st number
 jg L1     ;
 jmp number1    ;
 L1:      ;
 cmp num1,8h    ;
 jl number2    ;
 jmp number1    ;

number2:
 mov ah,40h    ;prompt user for 2nd number
 mov bx,1    ;
 mov cx,SIZEOF entNum2 ;
 mov dx,OFFSET entNum2 ;
 int 21h     ;
 
 mov ah,1    ;read 2nd number from standard input
 int 21h     ;
 mov num2,al    ;
 
 sub num2,30h   ;prepare number for bound check
 
 cmp num2,0h    ;bound check for 2nd number
 jg L2     ;
 jmp number2    ;
 L2:      ;
 cmp num2,8h    ;
 jl addNumbers   ;
 jmp number2    ;

addNumbers:
 mov ah,40h    ;prints message
 mov bx,1    ;
 mov cx,SIZEOF sumStr ;
 mov dx,OFFSET sumStr ;
 int 21h     ;
 
 mov al,num1    ;prepare number for printing
 add al,num2    ;
 add al,30h    ;
 cmp al,39h    ;
 jbe over    ;
 add al,7h    ;
 
 over:     ;print hex sum
 mov ah,6    ;
 mov dl,al    ;
 int 21h     ;
loop again
 exit
main ENDP
END main
 
< Prev   Next >
© 2009 SourceRip
Joomla! is Free Software released under the GNU/GPL License.