字符串比较的问题,大家帮帮忙?

jianjun081 2003-10-17 12:04:27
比较2个字符串,将2个串中小的拿出组成新串?用CMPSB以后影响好几个标志,我不知道该怎样跳转,源码如下:
data segment
src db '1b3d5f7'
dst db 'a2c4e6g'
res db 'result=', 7 dup(?),'$'
data ends

code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax

lea si,src
lea di,dst
lea dx,res

mov cx,7d
mov bx,7h
lop:
cmpsb

jb ble
mov dl,[di-1]
jmp next
ble:
mov dl,[si-1]

next:
mov [bx+res],dl
inc bx
loop lop

xor dx,dx
mov dl,offset res
mov ah,09h
int 21h

mov ax, 4c00h
int 21h
code ends
end start
...全文
31 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jianjun081 2003-10-20
  • 打赏
  • 举报
回复
to csdsjkk():
谢谢你,你只加了一句话 mov es,ax 就可以。不愧是高手。
csdsjkk 2003-10-18
  • 打赏
  • 举报
回复
to ahjoe(强哥):
你没看懂楼主的要求
jianjun081 2003-10-17
  • 打赏
  • 举报
回复
问题的关键在于CMPSB 语句执行后,改用那个跳转语句。
jianjun081 2003-10-17
  • 打赏
  • 举报
回复
比如上面的例子,比较后的串为"1234567"或'abcdefg'啊
紫郢剑侠 2003-10-17
  • 打赏
  • 举报
回复
组成新串?

怎么组成?
ahjoe 2003-10-17
  • 打赏
  • 举报
回复
lea di,dst
lea dx,res ;多余

mov cx,7d
mov bx,7h ;多余
ahjoe 2003-10-17
  • 打赏
  • 举报
回复
data segment
src db '1b3d5f7'
dst db 'a2c4e6g'
res db 'result=', 7 dup(?),'$'
data ends

code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov es,ax ;增加该条,串操作指令要用到ES

lea si,src
lea di,dst
lea dx,res

mov cx,7d
mov bx,7h
cld ; 清DF, 该标志控制串操作的方向
lop:
rep cmpsb

jb ble
mov si,offset dst ;改
jmp next
ble:
mov si,offset src ;改

next:
mov di, offset res + 7
mov cx, 7
rep movsb

xor dx,dx
mov dl,offset res
mov ah,09h
int 21h

mov ax, 4c00h
int 21h
code ends
end start
ahjoe 2003-10-17
  • 打赏
  • 举报
回复
JB
csdsjkk 2003-10-17
  • 打赏
  • 举报
回复
data segment
src db '1b3d5f7'
dst db 'a2c4e6g'
res db 'result=', 7 dup(?),'$'
data ends

code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov es,ax

lea si,src
lea di,dst
lea dx,res

mov cx,7d
mov bx,7h
lop:
cmpsb

jb ble
mov dl,[di-1]
jmp next
ble:
mov dl,[si-1]

next:
mov [bx+res],dl
inc bx
loop lop

mov dx,offset res
mov ah,09h
int 21h

mov ax, 4c00h
int 21h
code ends
end start

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧