; compare two strings
;--------------------------------------------------------------------------
.model small
.data
message_display macro msg
mov dx,offset msg
mov ah,09h
int 21h
endm
msg1 db 10,13, "Enter first string $"
msg2 db 10,13, "Enter Second string $"
msg3 db 10,13, "$"
msg4 db 10,13, "Strings are not equal $"
msg5 db 10,13, "Strings are equal $"
string1 db 10h dup(0)
string2 db 10h dup(0)
len1 db 00h
len2 db 00h
.code
mov ax,@data
mov ds,ax
lea si,string1
nxt_char: mov ah,01h
int 21h
mov [si],al
inc si
inc len1
cmp al,0dh
jnz nxt_char
mov al,24h
mov [si],al
message_display msg3
message_display string1
message_display msg3
lea si,string2
nxt_char1: mov ah,01h
int 21h
mov [si],al
inc si
inc len2
cmp al,0dh
jnz nxt_char1
mov al,24h
mov [si],al
message_display msg3
message_display string2
mov al,len1
mov ah,len2
cmp al,ah
jnz not_equal
mov ax,@data
mov ds,ax
mov es,ax
mov bh,00
mov bl,len1
lea si,string1
lea di,string2
mov cx,bx
repz cmpsb
cmp cx,0000h
jnz not_equal
message_display msg5
jmp exit
not_equal:
message_display msg4
exit:
mov ah,4ch
int 21h
end
No comments:
Post a Comment