Sunday, August 12, 2012

A simple program that can perform addition and subtraction in Assembly

.MODEL SMALL
.STACK 100H
.DATA
 PLUS EQU '+'
 MINUS EQU '-'
 MSG1 DB 'ENTER THE FIRST NUMBER: $'
 MSG2 DB 0DH,0AH,'ENTER THE SECOND NUMBER: $'
 MSG3 DB 0DH,0AH,'WHICH OPERATION YOU WANT TO PERFORM: '
 MSG4 DB 0DH,0AH,'+ - * /'
 MSG5 DB 0DH,0AH,'ENTER ANY OF THE SYMBOL: $'
 MSG6 DB 0DH,0AH,'THE RESULT IS: '
 RES DB ?,'$'
.CODE
MAIN PROC
 
 MOV AX,@DATA
 MOV DS,AX
 
 LEA DX,MSG1
 MOV AH,9
 INT 21H
 
 MOV AH,1
 INT 21H
 MOV BL,AL
 SUB BL,30H
 
 LEA DX,MSG2
 MOV AH,9
 INT 21H
 
 MOV AH,1
 INT 21H
 MOV CL,AL
 SUB CL,30H
 
 LEA DX,MSG3
 MOV AH,9
 INT 21H
 
 MOV AH,1
 INT 21H
 CMP AL,PLUS
 JE AD
 CMP AL,MINUS
 JE MI
 CMP AL,MULTIPLICATION
 
 AD:
  ADD BL,CL
  JMP DISPLAY
 MI:
  SUB BL,CL
  JMP DISPLAY
  
 DISPLAY:
  LEA DX,MSG6
  ADD BL,30H
  MOV RES,BL
  MOV AH,9
  INT 21H
 
  MOV AH,4CH
  INT 21H
  
 MAIN ENDP
END MAIN

No comments:

Post a Comment