You are on page 1of 5

Practical 7

Roll No: ​18BCE363


Name: ​praful parmar

Aim:

a) Find the occurrences of a character from the entered string and


display results using string related instructions.

Code :

DATA SEGMENT
STR1 DB 20 DUP('$')
A DB 'I'
NEWLINE DB 0AH,0DH,24H
RESULT DB 10 DUP('$')
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE, DS:DATA, ES:DATA

START: MOV AX,DATA


MOV DS,AX
MOV ES,AX

MOV AH,0AH
LEA DX,STR1
INT 21H

XOR AX,AX
MOV AL,'I'

XOR BX,BX
XOR CX,CX

MOV CL,STR1+1
LEA DI,STR1+2
CLD

AGAIN:

SCASB
JNE SKIP
INC BL

SKIP:
LOOP AGAIN

MOV AL,BL
AND AL,0F0H
SHR AL,4
ADD AL,30H

MOV RESULT,AL

MOV AL,BL
AND AL,0FH
ADD AL,30H

MOV RESULT+1,AL

MOV AH,09H
LEA DX,NEWLINE
INT 21H

MOV AH,09H
LEA DX,RESULT
INT 21H

CODE ENDS
END START

Output :
b) Write a program to find substrings from a given string using a near

procedure. Take the string and the substring from the user​ ​DATA
SEGMENT

STR1 DB 20 DUP('$')
SUBSTR1 DB 20 DUP('$')
PR DB 'PRESENT$'
ABS DB 'ABSENT$'
NEWLINE DB 0AH,0DH,24H
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE, DS:DATA, ES:DATA

START: MOV AX,DATA


MOV DS,AX
MOV ES,AX

MOV AH,0AH
LEA DX,STR1
INT 21H

MOV AH,09H
LEA DX,NEWLINE
INT 21H

MOV AH,0AH
LEA DX,SUBSTR1
INT 21H

MOV AH,09H
LEA DX,NEWLINE
INT 21H

XOR AX,AX
XOR BX,BX
XOR CX,CX

MOV CL,STR1+1
LEA DI,STR1+2

MOV DL,SUBSTR1+1
LEA BX,SUBSTR1+2
MOV AL,[BX]
CLD

AGAIN:

SCASB
JNE SKIP
INC BX
MOV AL,[BX]
DEC DL
JMP CHK

SKIP:
LEA BX,SUBSTR1+2
MOV DL,SUBSTR1+1
LOOP AGAIN

CHK:
CMP DL,0H
JE PRE
CMP CX,0H
JE AB
JMP AGAIN

AB:
MOV AH,09H
LEA DX,ABS
INT 21H
JMP LAST

PRE:
MOV AH,09H
LEA DX,PR
INT 21H
JMP LAST
LAST:
CODE ENDS
END START
Output :

You might also like