鱼C论坛

 找回密码
 立即注册
查看: 2210|回复: 0

查找字符串中字符出现的每个位置

[复制链接]
发表于 2012-4-8 02:08:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

[code=Assembly][/code]用串扫描实现
find proc near ;查找子程序
cld
mov di,offset string
mov cx,len
scan:
mov al,inch         ;串扫描
repnz scasb
jz zhaodao
  lea dx,mess1 ;找不到则退出
  mov ah,9
  int 21h  
jmp exit
zhaodao: ;找到
mov ince,cx ;保存cx
lea dx,is1
mov ah,9
int 21h
sub di,offset string
call output ;调用输出
lea dx,is2
mov ah,9
int 21h
mov cx,ince   
test cx,0 ;检查cx
jne scan ;重新扫描
exit:
lea dx,ag
  mov ah,9
  int 21h  
ret
find endp

为什么只会扫描第一个位置的字符
[code=Assembly]
用串扫描实现
find proc near ;查找子程序
cld
mov di,offset string
mov cx,len
scan:
mov al,inch         ;串扫描
repnz scasb
jz zhaodao
  lea dx,mess1 ;找不到则退出
  mov ah,9
  int 21h  
jmp exit
zhaodao: ;找到
mov ince,cx ;保存cx
lea dx,is1
mov ah,9
int 21h
sub di,offset string
call output ;调用输出
lea dx,is2
mov ah,9
int 21h
mov cx,ince   
test cx,0 ;检查cx
jne scan ;重新扫描
exit:
lea dx,ag
  mov ah,9
  int 21h  
ret
find endp

为什么只会扫描第一个位置的字符[/code]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 10:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表