An Assembly language program that counts the occurrence of alphabet A (irrespective of case) in a string – IGNOU MCA Assignment 2015 – 16

By | August 18, 2015

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

Asm_program_Count_Aa_in_String

After Execution :

Asm_program_Count_Aa_in_String_Output