Write a program in 8086 assembly Language to count the number of alphabets ‘a’, ‘e’ and ‘o’ (irrespective of lower or upper case) in a strings – IGNOU MCA Assignment 2015 – 16

By | August 16, 2015

 MASTER OF COMPUTER APPLICATIONS

Course Code : MCS-012
Course Title : Computer Organisation and Assembly Language Programming
Assignment Number : MCA(1)/012/Assign/2015-16
Maximum Marks : 100
Weightage : 25%

 

Write a program in 8086 assembly Language (with proper comments) to count the number of alphabets ‘a’, ‘e’ and ‘o’ (irrespective of lower or upper case) in a strings. For example, in case the strings is: “ABaDEFeHIO” the count of ‘a’ will be 2, ‘e’ is 2 and ‘o’ is 1. You may assume that string is available in the memory and is of length 10. Make suitable assumptions, if any.

 

DATA SEGMENT
STR1 DB “ABaDEFeHIO”
A DB 0H
E DB 0H
O DB 0H
MSG1 DB 10,13,”COUNT OF A’s IS : $”
MSG2 DB 10,13,”COUNT OF E’s IS : $”
MSG3 DB 10,13,”COUNT OF O’s IS : $”
DATA ENDS

DISPLAY MACRO MSG
MOV AH,9
LEA DX,MSG
INT 21H
ENDM

CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX

LEA SI,STR1

MOV CX,10
CHECK:
MOV AL,[SI]
CMP AL,’A’
JNE N1
INC A
N1:
CMP AL,’a’
JNE N2
INC A

N2: CMP AL,’E’
JNE N3
INC E

N3: CMP AL,’e’
JNE N4
INC E

N4: CMP AL,’O’
JNE N5
INC O

N5: CMP AL,’o’
JNE N6
INC O

N6: INC SI
LOOP CHECK

DISPLAY MSG1

MOV DL,A
ADD DL,30H
MOV AH,2
INT 21H

DISPLAY MSG2

MOV DL,E
ADD DL,30H
MOV AH,2
INT 21H

DISPLAY MSG3

MOV DL,O
ADD DL,30H
MOV AH,2
INT 21H

MOV AH,4CH
INT 21H
CODE ENDS
END START

Program Code :

[codesyntax lang=”asm” lines=”normal”]

DATA SEGMENT
STR1 DB “ABaDEFeHIO”
A DB 0H
E DB 0H
O DB 0H
MSG1 DB 10,13,”COUNT OF A’s IS : $”
MSG2 DB 10,13,”COUNT OF E’s IS : $”
MSG3 DB 10,13,”COUNT OF O’s IS : $”
DATA ENDS

DISPLAY MACRO MSG
MOV AH,9
LEA DX,MSG
INT 21H
ENDM

CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX

LEA SI,STR1

MOV CX,10
CHECK:
MOV AL,[SI]
CMP AL,’A’
JNE N1
INC A
N1:
CMP AL,’a’
JNE N2
INC A

N2: CMP AL,’E’
JNE N3
INC E

N3: CMP AL,’e’
JNE N4
INC E

N4: CMP AL,’O’
JNE N5
INC O

N5: CMP AL,’o’
JNE N6
INC O

N6: INC SI
LOOP CHECK

DISPLAY MSG1

MOV DL,A
ADD DL,30H
MOV AH,2
INT 21H

DISPLAY MSG2

MOV DL,E
ADD DL,30H
MOV AH,2
INT 21H

DISPLAY MSG3

MOV DL,O
ADD DL,30H
MOV AH,2
INT 21H

MOV AH,4CH
INT 21H
CODE ENDS
END START

[/codesyntax]

Screen shots :-

Asm_program_Count_aeo_in_String

After Execution :

 Asm_program_Count_aeo_in_String_Output