TITLE   Assembly language program to find sum   SUMPROG.ASM
COMMENT  |
         Objective: To add two integers.
            Inputs: Two integers.
|           Output: Sum of input numbers.
.MODEL SMALL
.STACK  100H
.DATA
prompt1_msg  DB  'Enter first number: ',0
prompt2_msg  DB  'Enter second number: ',0
sum_msg      DB  'Sum is: ',0
error_msg    DB  'Overflow has occurred!',0

number1      DD  ?  ; stores first number
number2      DD  ?  ; stores first number
sum          DD  ?  ; stores sum

.CODE
INCLUDE io.mac
.486
main  PROC
      .STARTUP
      ; prompt user for first number
      PutStr  prompt1_msg
      GetLint number1
      nwln
      
      ; prompt user for second number
      PutStr  prompt2_msg
      GetLint number2
      nwln
      
      ; find sum of two 32-bit numbers
      mov     EAX,number1
      add     EAX,number2
      mov     sum,EAX
      
      ; check for overflow
      jno     no_overflow
      PutStr  error_msg
      nwln
      jmp     done

      ; display sum
no_overflow:
      PutStr  sum_msg
      PutLint sum
      nwln
done:
      .EXIT
main  ENDP
      END     main
