|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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不是相当于内存单元吗??怎么能相减后得到字符串的长??麻烦高手指教下
谢谢先 |
|