注册 登录
编程论坛 汇编论坛

汇编初学者 请教一个关于字符串比较的问题 cmpsb

情.难言ゝ 发布于 2014-05-14 23:14, 1452 次点击
我用记事本写了个汇编程序,为什么跟我想要的结果不一样,求各位大神帮帮忙。。。。

程序代码:
data   segment
       MAXLEN       db       22
       ACTLEN       db       ?
       STRING1      db       20 dup(?)  
       STRING2      db       20 dup(?)
       mess1        db       'please input the frist string:','$'
       mess2        db       'please input the second string:','$'
       mess3        db       'MATCH!',13,10,'$'
       mess4        db       'NOT MATCH!',13,10,'$'
data   ends

code   segment
main   proc    far
       assume  cs:code,ds:data
start:
      
       push  ds
       sub   ax,ax
       push  ax

       mov   ax,data
       mov   ds,ax
;input the frist string
       mov   ah,9
       mov   dx,seg mess1
       mov   ds,dx
       mov   dx,offset mess1
       int   21h
      
       lea   dx,MAXLEN
       mov   ah,0ah
       int   21h
      
;input the second string
       mov   ah,9
       mov   dx,seg mess2
       mov   ds,dx
       mov   dx,offset mess2
       int   21h
      
       lea   dx,MAXLEN
       mov   ah,0ah
       int   21h
      
       lea   si,STRING1
       lea   di,STRING2

       cld
       mov   cx,20
       repe  cmpsb
       jnz   next

       mov   ah,9
       mov   dx,seg mess2
       mov   ds,dx
       mov   dx,offset mess3      
       jmp   exit
next:
       mov   ah,9
       mov   dx,seg mess4
       mov   ds,dx
       mov   dx,offset mess4

exit:
      
       ret
main   endp

code   ends
       end   start
6 回复
#2
砖家的谎言2014-05-16 17:49
汇编不懂,本来进来看看的,这个问题这么久怎么没人回答呢
#3
我是沙罗2014-05-16 18:55
不用这么麻烦吧!
#4
zklhp2014-05-17 16:44
以下是引用砖家的谎言在2014-5-16 17:49:23的发言:

汇编不懂,本来进来看看的,这个问题这么久怎么没人回答呢

贴一大段代码 然后说 哎呀 这个怎么XXX 反正这种东西我是懒得看
#5
funyh2502014-05-17 20:57
回复 4 楼 zklhp
提问者有时还要站在回答者角度上来想如何简明扼要的提问
#6
zklhp2014-05-17 21:25
以下是引用funyh250在2014-5-17 20:57:44的发言:

提问者有时还要站在回答者角度上来想如何简明扼要的提问

错。

提问应该尽量多的提供信息 你以为回答者那么牛啊 你简明扼要 我就知道你到底想干啥了

就比如这个问题 提问者至少要提供两个信息: (1) 预期结果; (2) 现在的结果。

别人我不知道 反正对我来说 没有这些 我连看都不看
#7
xkwy00002014-06-09 15:07
       mov   dx,seg mess1
       mov   ds,dx
       mov   dx,offset mess1
   起初我认为这几句会出现问题,在编译阶段,
会为变量mess1确定一个段值,而在加载时,
又是浮动的,总是有些疑惑的,好在很多时候
并不需要关心这些细节。

1