汇编关于两个字符串比较的问题!请高手帮帮忙!

来源:百度知道 编辑:UC知道 时间:2024/06/07 20:29:18
由于刚学汇编不久,对很多东西都不是很了解,希望高手指正。
下面是我写的代码,希望高手指出错误之处!谢谢……
由于代码比较长,超出了补充的长度,所以就发在博客了。
http://hi.baidu.com/hucheng%5Flew/blog/item/f6f827036e7975e409fa934d.html

我给你写了个,仅供参考:

assume cs:code, ds:datas

datas segment
str1 db 32 dup(?) ;字符串1
str2 db 32 dup(?) ;字符串2
len1 dw 0 ;字符串1长度
len2 dw 0 ;字符串2长度

szYes db 'MATCH',0
szNo db 'UNMATCH',0
datas ends

code segment
start:
mov ax, datas
mov ds, ax
mov es, ax

mov bx, offset str1 ;输入
call input
mov len1, ax
mov bx, offset str2
call input
mov len2, ax

mov si, offset str1 ;比较
mov ax, len1
mov di, offset str2
mov bx, len2
call compare

cmp ax, 0 ;输出
jz notequal
mov bx, offset szYes
jmp print
notequal:
mov bx, offset szNo
print:
call output

mov ax, 4c00h
int 21h

; 比较函数
compare:
mov cx, ax
cmp cx, bx
jle next3
xchg cx, bx
cld
next3:
repe cmpsb
je equal
mov ax, 0
ret
e