回 帖 发 新 帖 刷新版面

主题:[讨论]紧急求助.....汇编实验

编写一程序,比较两字符串string1,string2所含的字符是否相同,若相同则显示“Match”,否则显示“no match”。

回复列表 (共3个回复)

沙发

data segment
  string1 db 'abcdefgh'
  string2 db 'awedefgh'
  mess1 db 'MATCH!$'
  mess2 db 'NO MATCH!$'
data  ends

code segment
main proc far

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

   push ds
   push ax
 

   
   mov ax,data
   mov ds,ax
   mov es,ax
   
   lea si,string1
   lea di,string2

   mov cx,(string2-string1)/type string1    
   cld
    
   repz cmpsb
   jnz m1
   lea dx,mess1
   jmp disp
m1:  
   lea dx,mess2
   
disp:
   mov ah,09h
   int 21h
   ret
main endp
code ends
     end star

板凳

有没有解释 ????????

3 楼

这里有点不一样呢
mess1 db  'MATCH!$'
mess2 db  'NOMATCH!$'
看看下面的段
mess1 db 'MATCH!',13,10,'$'
mess2 db 'NO MATCH!',13,10,'$'
这两个有什么区别呢?

还有就是:
movcx,(string2-string1)/type string1cld
这个跟
cld
mov   cx,25
repz  cmpsb
jz    match
lea   dx,mess2
jmp   short,disp


呵呵,我刚学汇编,很多都还看不懂,多多指教...

我来回复

您尚未登录,请登录后再回复。点此登录或注册