BACHELOR OF COMPUTER APPLICATIONS
Course Code : BCSL-022
Course Title : Assembly Language Programming Lab
Assignment Number : BCA(II)/L-022/Assignment/2015
Maximum Marks : 50
Weightage : 25%
Write and run an Assembly language program that counts the occurrence of alphabet A (irrespective of case) in a sting. For example, for the string AXabAYaf, the output will be 4. You may assume that the string is available in the memory and output is stored in the AL register.
DATA SEGMENT
STR1 DB “AXabAYaf”
A DB 0H
MSG1 DB 10,13,”COUNT OF A’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: INC SI
LOOP CHECK
MOV AL,A
DISPLAY MSG1
MOV DL,A
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 “AXabAYaf”
A DB 0H
MSG1 DB 10,13,”COUNT OF A’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: INC SI
LOOP CHECK
MOV AL,A
DISPLAY MSG1
MOV DL,A
ADD DL,30H
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
[/codesyntax]
Screen shots :-
After Execution :