Monday, August 13, 2012

Check vowel or consonant in Assembly

.MODEL SMALL
.STACK 100H

.DATA
 VOWEL DB 0DH,0AH,'VOWEL$'
 CONSONANT DB 0DH,0AH,'CONSONANT$'
 
.CODE
MAIN PROC
 
 MOV AX,@DATA
 MOV DS,AX
 
 MOV AH,1
 INT 21H
 CMP AL,'A'
 JE VL
 CMP AL,'E'
 JE VL
 CMP AL,'I'
 JE VL
 CMP AL,'O'
 JE VL
 CMP AL,'U'
 JE VL
 CMP AL,'a'
 JE VL
 CMP AL,'e'
 JE VL
 CMP AL,'i'
 JE VL
 CMP AL,'o'
 JE VL
 CMP AL,'u'
 JE VL
  LEA DX,CONSONANT
  MOV AH,9
  INT 21H
  JMP EXIT
  
 VL:
  LEA DX,VOWEL
  MOV AH,9
  INT 21H
  
 EXIT:
  MOV AH,4CH
  INT 21H
 MAIN ENDP
END MAIN

Using OR in Assembly

.MODEL SMALL
.STACK 100H

.DATA
 MSG1 DB 0DH,0AH,'YOU MADE IT$'
 
.CODE
MAIN PROC
 
 MOV AX,@DATA
 MOV DS,AX
 
 MOV AH,1
 INT 21H
 CMP AL,'Y'
 JE YES
 CMP AL,'y'
 JE YES
 JMP EXIT
 
 YES:
  LEA DX,MSG1
  MOV AH,9
  INT 21H
  
 EXIT:
  MOV AH,4CH
  INT 21H
 
 MAIN ENDP
END MAIN

If else condition in Assembly

.MODEL SMALL
.STACK 100H

.DATA
 MSG1 DB 0AH,0DH,'YES$'
 MSG2 DB 0AH,0DH,'NO$'
 
.CODE
MAIN PROC

 MOV AX,@DATA
 MOV DS,AX
 
 MOV AH,1
 INT 21H
 CMP AL,'Y'
 JE YES
 LEA DX,MSG2
 MOV AH,9
 INT 21H
 JMP EXIT
 
 YES:
  LEA DX,MSG1
  MOV AH,9
  INT 21H
  
 EXIT:
  MOV AH,4CH
  INT 21H
 
 MAIN ENDP
END MAIN

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

Lower case letter to Upper case letter conversion in Assembly

.MODEL SMALL
.STACK 100H

.DATA
 MSG1 DB 'ENTER AN LOWERCASE LETTER:$'
 MSG2 DB 0DH,0AH,'IN UPPERCASE IT IS: '
 CHAR DB ?,'$'
 
.CODE
 MAIN PROC
 
 MOV AX,@DATA
 MOV DS,AX
 
 LEA DX,MSG1
 MOV AH,9
 INT 21H
 
 MOV AH,1
 INT 21H
 SUB AL,20H
 MOV CHAR,AL
 
 
 LEA DX,MSG2
 MOV AH,9
 INT 21H
 
 MOV AH,4CH
 INT 21H
 
 MAIN ENDP
END MAIN

Upper case letter to Lower case letter conversion in Assembly

.MODEL SMALL
.STACK 100H

.DATA
 MSG1 DB 'ENTER AN UPPERCASE LETTER:$'
 MSG2 DB 0DH,0AH,'IN LOWERCASE IT IS: '
 CHAR DB ?,'$'
 
.CODE
 MAIN PROC
 
 MOV AX,@DATA
 MOV DS,AX
 
 LEA DX,MSG1
 MOV AH,9
 INT 21H
 
 MOV AH,1
 INT 21H
 ADD AL,20H
 MOV CHAR,AL
 
 
 LEA DX,MSG2
 MOV AH,9
 INT 21H
 
 MOV AH,4CH
 INT 21H
 
 MAIN ENDP
END MAIN

Which button in pressed in Assembly?

.MODEL SMALL
.STACK 200H
.DATA
 MSG DB 0DH,0AH,'YOU PRESSED: '
 CHAR DB ?,'$'
.CODE
MAIN PROC

 MOV AX,@DATA
 MOV DS,AX
 
 MOV AH,1
 
 INT 21H
 MOV CHAR,AL
 
 LEA DX,MSG
 MOV AH,9
 INT 21H
 
 MOV AH,4CH
 INT 21H
 
 MAIN ENDP
END MAIN