Advertisement
madmaxhasan

Subtract Two Number

Jan 20th, 2018
322
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .MODEL LARGE
  2. .STACK 100
  3.  
  4. .DATA
  5.    
  6.     MSG DB 'SUBTRACT 2 NUMBERS$'    
  7.     1ST DB 10, 10, 13, 'ENTER 1ST NUMBER $'
  8.     2ND DB 10, 13, 'ENTER 2ND NUMBER $'
  9.     SUM DB 10,13, 'SUM $'
  10.    
  11. .CODE
  12.  
  13. MAIN PROC
  14.    
  15.     MOV AX, @DATA
  16.     MOV DS, AX
  17.    
  18.     LEA DX, MSG             ; FOR STRING PRINT
  19.     MOV AH, 9               ; FOR STRING RESULT
  20.     INT 21H
  21.    
  22.     LEA DX, 1ST             ; FOR STRING PRINT
  23.     MOV AH, 9               ; FOR STRING RESULT
  24.     INT 21H
  25.            
  26.     MOV AH, 1               ; FOR SINGLE DIGIT INPUT
  27.     INT 21H
  28.    
  29.     MOV BL, AL              ; SCAN FIRST INPUT INTO 'BL' FROM 'AL'
  30.            
  31.     LEA DX, 2ND             ; FOR STRING PRINT
  32.     MOV AH, 9               ; FOR STRING RESULT
  33.     INT 21H
  34.    
  35.     MOV AH, 1               ; FOR SINGLE DIGIT INPUT
  36.     INT 21H  
  37.    
  38.     MOV CL, AL              ; SCAN SECOND INPUT INTO 'CL' FROM 'AL'
  39.    
  40.     LEA DX, SUM             ; FOR STRING PRINT
  41.     MOV AH, 9               ; FOR STRING RESULT
  42.     INT 21H
  43.    
  44.     SUB BL, 30H             ; SUBTRACT FROM ACCUMALATOR
  45.     SUB CL, 30H             ; SUBTRACT FROM ACCUMALATOR
  46.    
  47.     SUB BL, CL              ; SUBTRACT 'BL' - 'CL' FOR ADDITION
  48.     ADD BL, 30H             ; ADD 'BL' + ACCUMALTOR
  49.    
  50.     MOV DL, BL              ; TRANFER VALUE OF 'BL' INTO 'DL'
  51.     MOV AH, 2               ; FOR INTEGER RESULT PRINT
  52.     INT 21H
  53.    
  54.     MOV AH, 4CH             ; FIXING ERROR
  55.     INT 21H                 ; RETURN
  56.  
  57. MAIN ENDP
  58. END MAIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement