Professional Documents
Culture Documents
Aim:
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
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
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 :