比较两个字符串STR1与STR2是否相同,相同则在屏幕上显示MATCH,不同显示NOMATCH

程序有了,我想要每个语句的注释,急求,各位大神!!拜托了!codesegmentassumecs:codeorg100hstart:jmpbbbstr1db'jkdshf... 程序有了,我想要每个语句的注释,急求,各位大神!!拜托了!
code segment
assume cs:code
org 100h
start:
jmp bbb
str1 db 'jkdshfkhsdjfsdjkfjdskljfds'
str1n db $-str1
str2 db 'jkdshfkhsdjfsdjkfjdskljfds'
str2n db $-str2
msg1 db 13,10,'match','$'
meg2 db 13,10,'nomatch','$'
bbb: push cs
pop ds
push cs
pop es
mov al,str1n
cmp al,str2n
je @2
@1:
lea dx,meg2
mov ah,9
int 21h
jmp @exit
@2:
mov cl,str1n
xor ch,ch
lea si,str1
lea di,str2
cld
repe cmpsb
cmp cx,0
jne @1
lea dx,msg1
mov ah,9
int 21h
@exit:
mov ah,4ch
int 21h
code ends
end start
展开
 我来答
pardream941026
2018-12-05 · TA获得超过8216个赞
知道大有可为答主
回答量:4602
采纳率:89%
帮助的人:1310万
展开全部
code segment
assume cs:code

    org 100h ;首地址从100h开始
start:
    jmp bbb  ;代码从bbb开始,之间为数据
    str1 db 'jkdshfkhsdjfsdjkfjdskljfds'
    str1n db $-str1                      ;str1长度
    str2 db 'jkdshfkhsdjfsdjkfjdskljfds' ;
    str2n db $-str2                      ;str2长度
    msg1 db 13,10,'match','$'
    meg2 db 13,10,'nomatch','$'
bbb:
    push cs   ; cs段地址
    pop ds    ; 填充到ds
    push cs   ; 和
    pop es    ; es  (为什么要这样做?因为要使用rep cmbsb指令)
    mov al,str1n   ; str1n == str2n?
    cmp al,str2n   ;
    je @2          ; 2个字符串长度相等,跳转到@2
@1:
    lea dx,meg2    ; 不相等,则证明2个字符串不等
    mov ah,9       ; 显示 notmatch
    int 21h        ;
    jmp @exit      ; 并退出
@2:                ; 开始比较2个字符串
    mov cl,str1n   ; 字符串1长度写入cl 
    xor ch,ch      ; ch置0, cx做计数器
    lea si,str1    ; si->str1的首地址
    lea di,str2    ; di->str2的首地址
    cld            ; 比较方向(具体看 repe cmpsb用法)
    repe cmpsb     ; 开始比较,如果2个字符相等,则继续下一个字符比较
                   ; 具体指令看说明
    cmp cx,0       ; 是否是最后一个字符
    jne @1         ; 不是,说明比较中途发现不相等字符,即2个字符串不相等。

    lea dx,msg1    ; 说明相等,输出match
    mov ah,9
    int 21h
@exit:  ; 退出
    mov ah,4ch
    int 21h
code ends
end start
追问
大神,在不在,还有最后一个😭我们做实验呢,什么都不会,老师不让走
李娜娜822
2018-12-05
知道答主
回答量:13
采纳率:0%
帮助的人:9867
展开全部
code segment
assume cs:code
org 100h
start:
jmp bbb
str1 db 'jkdshfkhsdjfsdjkfjdskljfds'
str1n db $-str1
str2 db 'jkdshfkhsdjfsdjkfjdskljfds'
str2n db $-str2
msg1 db 13,10,'match','$'
meg2 db 13,10,'nomatch','$'
bbb: push cs
pop ds
push cs
pop es
mov al,str1n
cmp al,str2n
je @2
@1:
lea dx,meg2
mov ah,9
int 21h
jmp @exit
@2:
mov cl,str1n
xor ch,ch
lea si,str1
lea di,str2
cld
repe cmpsb
cmp cx,0
jne @1
lea dx,msg1
mov ah,9
int 21h
@exit:
mov ah,4ch
int 21h
code ends
end start
0
追问
我知道是这个,我想要每个语句的注释,注释
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大萌萌youhome
2018-12-05 · 贡献了超过245个回答
知道答主
回答量:245
采纳率:14%
帮助的人:18.3万
展开全部
谁清楚谁清楚
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宋车教练
2018-12-05 · 贡献了超过395个回答
知道答主
回答量:395
采纳率:1%
帮助的人:30.7万
展开全部
lol天下雨啦额YY5665646526565.8.6
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
酷儿酷儿666
2018-12-05 · TA获得超过300个赞
知道小有建树答主
回答量:2338
采纳率:71%
帮助的人:91.8万
展开全部
谁知道,谁知道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 6条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式