没有合适的资源?快使用搜索试试~ 我知道了~
首页字符串处理通用程序汇编语言
字符串处理通用程序汇编语言

功能说明 字符串处理通用程序 功能说明: ①:查找 ②:删除 ③:替换 ④:插入 寄存器说明: SI:①:主串下标 ②:替换串下标 DX:保存主串下标SI AL:保存主串字符 BX:子串下标 AH:保存子串字符 DI:存储下标 标记说明: TEXT:主串 STR:子串 PEPL:替换串 COUNT:计数单元 BUFFER:缓冲区 1AH:结束标记 […]:表示可选项
资源详情
资源评论
资源推荐

AH=’\’
AH=AL
AH+20H=A
L
AH-
20H=AL
SIDX ;恢复主串下标
INC SI ① 查找③替换(相同长度)
[MOVSB] ② 删除③替换(不同长度)
AH[BX]
INC BX
INC COUNT
AH=1A
H
AL=1A
H
AH=’?’
AH=’*’
结束 /④ 插入 [STOSB]
② 删除③替换 ( 不同长
度 )
DSDATA
[ESDATA]
CLD
LEA SI,TEXT
[DISI ②③]
DXSI
LEA BX,STR
LODSB
AH[BX]
INC BX
开
始
PUSH SI
LEA SI,PEPL
[SI]=1A
H
MOVSB
POP SI
YES 子串结束 匹配成功
NO
YES 部分通配符
YES 直接匹配
YES 小写匹配
YES 大写匹配
YES 转义字符 重读
YES 全通配符 匹配成功
YES 主串结束 退出循环
NO
NO
NO
NO
NO
NO
NO 匹配失败
YES
NO
功能说明:
①:查找 ②:删除
③:替换 ④:插入
寄存器说明:
SI:①:主串下标
②:替换串下标
DX:保存主串下标 SI
AL:保存主串字符
BX:子串下标
AH:保存子串字符
DI:存储下标
标记说明:
TEXT:主串
STR:子串
PEPL:替换串
COUNT:计数单元
BUFFER:缓冲区
1AH:结束标记
[…]:表示可选项
① 查找
② 删除
③ 替换
初始化数据段 ,
扩展段 , 置递增
标志
初始化主串下标
,存储下标
保 存 主 串 下 标
SIDX
初初初初初初初
读取主串字符 AL
初初初初初初 AH
计数
功能祥解:
①:查找
通配符:‘?’ 通配一个字符
‘* ’ 通配所有字符
忽略大小写:
精确匹配:通过转义字符‘\ ’,如查找“a?c*”,可写为“a\b\?c\*”
注:如只要查找功能,则无须初始化存储下标 DI。
②:删除
采用双下标:SI—扫描下标 DI—存储下标
如匹配成功则不拷贝串,否则只拷贝当前字符。
注:退出循环后应执行“STOSB”,以将 AL 中的结束标记拷贝至新位置。
③:替换
相同长度:
如匹配成功则继续匹配下一字符,否则进行替换。
注:无须初始化存储下标 DI。
不同长度:
先将主串传送至 BUFFER 区,SIBUFFER,DITEXT,
如匹配成功则拷贝当前字符,否则进行替换或进行插入(今年考研最后一题就属此类)。
注:退出循环后应执行“STOSB”,以将 AL 中的结束标记拷贝至新位置。
④:插入
③ 替 换
( 相 同 长
度 )
要 加 入
DISI
字符串处理通用程序 王俊川
主程序流程图: 制于 4.14


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1