比较两个字符串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 展开
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 展开
展开全部
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
追问
大神,在不在,还有最后一个😭我们做实验呢,什么都不会,老师不让走
展开全部
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
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
追问
我知道是这个,我想要每个语句的注释,注释
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
谁清楚谁清楚
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
lol天下雨啦额YY5665646526565.8.6
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
谁知道,谁知道
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询