.MODEL SMALL
.STACK 100H
.DATA
;from the data segment
DAT_DIC DB 'Europe'
DAT_TYPED DB 'Euorope'
MESSAGE1 DB 'The spelling is correct$'
MESSAGE2 DB 'Wrong spelling$'
;from code segment:
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
CLD ;DF=0 for increment
MOV SI,OFFSET DAT_DIC ;SI=offset of DAT_DIC
MOV DI,OFFSET DAT_TYPED ;DI=offset of DAT_TYPED
MOV CX,06 ;load the counter
REPE CMPSB ;repeat as long as equal or until CX=0
JE OVER ;if ZF=1 then display MESSAGE1
MOV DX,OFFSET MESSAGE2 ;if ZF=0 then display MESSAGE2
JMP DISPLAY
OVER:
MOV DX,OFFSET MESSAGE1
DISPLAY:
MOV AH,09
INT 21H
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
.STACK 100H
.DATA
;from the data segment
DAT_DIC DB 'Europe'
DAT_TYPED DB 'Euorope'
MESSAGE1 DB 'The spelling is correct$'
MESSAGE2 DB 'Wrong spelling$'
;from code segment:
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
CLD ;DF=0 for increment
MOV SI,OFFSET DAT_DIC ;SI=offset of DAT_DIC
MOV DI,OFFSET DAT_TYPED ;DI=offset of DAT_TYPED
MOV CX,06 ;load the counter
REPE CMPSB ;repeat as long as equal or until CX=0
JE OVER ;if ZF=1 then display MESSAGE1
MOV DX,OFFSET MESSAGE2 ;if ZF=0 then display MESSAGE2
JMP DISPLAY
OVER:
MOV DX,OFFSET MESSAGE1
DISPLAY:
MOV AH,09
INT 21H
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN