;判断两个字符串是否相等相等输出match 否则no match
assume cs:code,ds:data
data segment
string1 db 100 dup(0)
string2 db 100 dup(0)
string3 db 'please input string 1 end by space',0dh,0ah,'$'
string4 db 0dh,0ah,'please input string 2 end by space','$'
string5 db 0dh,0ah,'match$'
string6 db 0dh,0ah,'no match$'
data ends
code segment
start:
mov ax,data
mov ds,ax
lea dx,string3;显示字符串3
mov ah,9
int 21h
mov si,0
loop1: ;获得字符串1保存到string1
mov ah,1
int 21h
mov string1[si],al
cmp al,20H
je k1
add si,1
loop loop1
k1:
lea dx,string4
mov ah,9
int 21h
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
mov si,0
loop2: ;获得字符串2保存到string2
mov ah,1
int 21h
mov string2[si],al
cmp al,20h
je k2
add si,1
loop loop2
k2:
mov si,0
loop3:
mov al,string1[si]
mov bl,string2[si]
cmp al,bl
jne k5
cmp string1[si],20h ;这句最经典,通过判断string1中的字符遇到字符0结束
je k4
add si,1
loop loop3
k4:
lea dx,string5
mov ah,9
int 21h
jmp k6
k5:
lea dx,string6
mov ah,9
int 21h
k6:
mov ah,4ch
int 21h
code ends
end start