马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 loop 于 2011-5-29 23:35 编辑
我的目的是 编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,若相同则显示‘MATCH’,若不相同则显示‘NO MATCH’。用串比较功能来完成程序所要求的功能
代码如下assume cs:code ,ds:data
data segment
String1 db 'I Love you!'
String2 db 'I Love you!'
Yes db 'Match',0dh,0ah,'$'
No db 'No Match',0dh,0ah,'$'
data ends
code segment
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov es,ax
lea si,String1
lea di,String2
cld
mov cx,String2-String1
repe cmpsb
jne DispNo
lea dx,Yes
jmp Disp
DispNo :
lea dx,No
Disp :
mov ah,9
int 21h
ret
code ends
end start
怎么我运行后是这样的
为什么会有这么多行????
还有 mov cx,String2-String1
这个语句 String2 和String1不是相当于内存单元吗??怎么能相减后得到字符串的长??麻烦高手指教下
谢谢先 |