汇编语言字符串比较,为什么无论是否相同输出的结果都是一样的?

datasegmentu1db'123456'u2db6dup(?)rdb'hello$'wdb'error$'dataendscodesegmentassumecs:c... data segment
u1 db '123456'
u2 db 6 dup(?)
r db 'hello$'
w db 'error$'
data ends

code segment
assume cs:code,ds:data,es:data

start: mov ax,data
mov ds,ax
mov es,ax

mov cx,6
one: lea ax,u2
mov ah,01h
int 21h
loop one

MOV SI,OFFSET u1
MOV DI,OFFSET u2
mov ch,0
cld
repz cmpsb
jnz exit

lea dx,r
jmp show

exit: lea dx,w

show: mov ah,09h
int 21h
mov ah,01h
int 21h
mov ah,4ch
int 21h

code ends
end start
展开
 我来答
百度网友e63964c
2012-04-10 · TA获得超过1510个赞
知道小有建树答主
回答量:426
采纳率:100%
帮助的人:465万
展开全部
mov cx,6
one: lea ax,u2
mov ah,01h
int 21h
loop one
这段是否想从键盘上读键依次存入U2单元,写法有问题
mov cx,6
lea bx,u2
one: mov ah,01h
int 21h
mov [bx],al
inc bx
loop one
按照这个改一下,但程序好像后面还有问题
MOV SI,OFFSET u1
MOV DI,OFFSET u2
mov ch,0
cld
repz cmpsb
jnz exit
这段还有问题,改成
MOV SI,OFFSET u1
MOV DI,OFFSET u2
mov cx,06h
cld
repz cmpsb
jnz exit
追问
十分感谢,结果出来了。不过还是有些不明白的地方:cld上面那行的mov    cx,06h
作用是什么呢?
追答
比较的个数,你现在字符串里有6个字符
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式