汇编:判断两个字符串是否相等

;判断两个字符串是否相等相等输出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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值