You are on page 1of 3

String Compare

============================================
.MODEL SMALL

DATA_SEG SEGMENT 'DATA'


ST1 DB "Enter First String: ",'$'
ST2 DB 10,"Enter Second Strind: ",'$'
ST3 DB 100 DUP (?)
ST4 DB 100 DUP (?)
ST5 DB 10,"Strings Are Equal",'$'
ST6 DB 10,"Strings Are Not Equal",'$'

DATA_SEG ENDS

CODE_SEG SEGMENT 'CODE'


ASSUME CS:CODE_SEG,DS:DATA_SEG,SS:STACK_SEG

START PROC FAR


MOV AX,DATA_SEG
MOV DS,AX

MOV AH,9
MOV DX,OFFSET ST1
INT 21H

MOV ST3[0],97
MOV DX,OFFSET ST3
MOV AH,0AH
INT 21H
MOV BL,ST3[1]
MOV BH,0
MOV ST3[BX+2],'$'

MOV AH,9
MOV DX,OFFSET ST2
INT 21H

MOV ST4[0],97
MOV DX,OFFSET ST4
MOV AH,0AH
INT 21H
MOV BL,ST4[1]
MOV BH,0
MOV ST4[BX+2],'$'

MOV AL,ST3[1]
MOV AH,ST4[1]
SUB AL,AH
JNE NOT_EQUAL

MOV DI,2
MOV BL,ST4[1]
MOV BH,0
MOV CX,BX

AGAIN: MOV AL,ST3[DI]


MOV AH,ST4[DI]
SUB AL,AH
JNE NOT_EQUAL
ADD DI,1
LOOP AGAIN

JMP EQUAL

NOT_EQUAL: MOV AH,9


MOV DX,OFFSET ST6
INT 21H
JMP END_PROGRAM

EQUAL: MOV AH,9


MOV DX,OFFSET ST5
INT 21H
JMP END_PROGRAM

END_PROGRAM: MOV AH,08


INT 21H
MOV AH,4CH
INT 21H

START ENDP
CODE_SEG ENDS
STACK_SEG SEGMENT STACK
DW 100 DUP(?)
STACK_SEG ENDS

END START

http://www.ravianeducation.blogspot.com
FARHAN: 03008855006

You might also like