Expno 4
Expno 4
.MODEL SMALL
.STACK 100H
DATA_SEG SEGMENT
MSG1 DB 'Enter the string: $'
MSG2 DB 'Length of the string is: $'
STRING DB 100 DUP('$')
LENGTH DB 0
DATA_SEG ENDS
CODE_SEG SEGMENT
ASSUME CS:CODE_SEG, DS:DATA_SEG, ES:DATA_SEG
MAIN PROC
MOV AX, DATA_SEG
MOV DS, AX
MOV ES, AX
EXIT:
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
Output:
To search string.
.MODEL SMALL
.STACK 100H
DATA_SEG SEGMENT
MSG1 DB 'Enter the string: $'
MSG2 DB 'Enter the substring to search: $'
MSG3 DB 'Substring Found$'
MSG4 DB 'Substring Not Found$'
STRING DB 100 DUP('$')
SUBSTRING DB 100 DUP('$')
DATA_SEG ENDS
CODE_SEG SEGMENT
ASSUME CS:CODE_SEG, DS:DATA_SEG, ES:DATA_SEG
MAIN PROC
MOV AX, DATA_SEG
MOV DS, AX
MOV ES, AX
SEARCH_LOOP:
MOV AL, [SI]
MOV BL, [DI]
CMP AL, BL
JNE NOT_MATCH
INC SI
INC DI
MOV DL, [DI]
CMP DL, '$'
JE MATCH_FOUND
JMP SEARCH_LOOP
NOT_MATCH:
INC SI
LEA DI, SUBSTRING + 2
MOV DL, [SI]
CMP DL, '$'
JE SUBSTRING_NOT_FOUND
JMP SEARCH_LOOP
MATCH_FOUND:
MOV AH, 09H
LEA DX, MSG3
INT 21H
JMP EXIT
SUBSTRING_NOT_FOUND:
MOV AH, 09H
LEA DX, MSG4
INT 21H
EXIT:
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
OUTPUT: