大佬们,为什么这个停不下来呢

yodua 2019-04-30 01:10:44
data segment
string db "the data is FEB&03"
N dw $-string
data ends
code segment
assume ds: data, cs: code
start::
mov ax,data
mov ds,ax
mov al,'&'
mov cx,N
lea di, string
cld
repne scasb
mov string[di-1],' '
mov ah, 4ch
int 21h
code ends
end start
RT 这个是为了把&替换成空格,我想的是repne scasb到&时就停止,就算di到后一位,-1也就正常了,但是为什么它会一直扫描到字符串结束,di-3才正常
...全文
117 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
我今年八岁了 2019-05-01
  • 打赏
  • 举报
回复
scasb 是搜索 es:di 处吧,所以开头也要设 es 指向 data 段的。
zara 2019-04-30
  • 打赏
  • 举报
回复
scasb 是搜索 es:di 处吧,所以开头也要设 es 指向 data 段的。
yodua 2019-04-30
  • 打赏
  • 举报
回复
引用 1 楼 zara的回复:
scasb 是搜索 es:di 处吧,所以开头也要设 es 指向 data 段的。
谢谢,弄好了,,还有一个问题,为什么我没设es指向date的时候,也可以扫描完全,只是di需要-3才能用空格替代&
yodua 2019-04-30
  • 打赏
  • 举报
回复
引用 1 楼 zara的回复:
scasb 是搜索 es:di 处吧,所以开头也要设 es 指向 data 段的。
谢谢,弄好了,,还有一个问题,为什么我没设es指向date的时候,也可以扫描完全,只是di需要-3才能用空格替代&

21,453

社区成员

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

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