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 :-
After Execution :