- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用CMPS指令对STRING1和STRING2二个字符串进行比较,相同在RESULT 单元送00H,不同送0FFH。 写程序 例:利用CMPS指令对STRING1和STRING2二个字符串进行 比较,相同在RESULT 单元送00H,不同送0FFH。 MOV SI,OFFSET STRING1 MOV DI,OFFSET STRING2 MOV CX,COUNT CLD REPZ CMPSB JNZ UNMAT ;若串不同,在RESUL单元中置0FFH MOV AL,0 ;若串相等,在RESULT单元中置00H JMP OULPT UNMAT:MOV AL,0FFH OUTPT:MOV RESULT,AL HLT SCAS (Scan string) 串扫描指令,搜索指令 (DI)—字符串起始地址,(AL)或(AX) — 关键字 串扫描指令有3种格式: 格式:SCAS dest SCASB (字节);(AL) - ((ES): (DI)),(DI)?(DI)±1 SCASW (字);(AX) - ((ES): (DI)),(DI) ? (DI)±2 注意: (AL)或(AX) -目的串,两数相减,只影响标志,不影响操作数。其它特性与MOVS同。 要搜索的关键字 放在(AL)或(AX)中,搜索某一数据块或字符串中有无关 键字,若有,把搜索次数记下来,且记录关键字地址;若次数为0,表示没有要搜索的关键字。 写程序 MOV DI,0FFSET BLOCK;设置数据块地址指针 MOV CX,COUNT;设置数据块长度 MOV AL,CHAR ; 关键字送入AL或AX REP NE SCASB ;(CX)≠0,Z=0 继续SCASB JZ FOUND MOV DI,0 JMP DONE FOUND: DEC DI MOV POINTR,DI MOV BX,OFFSET BLOCK SUB BX,DI MOV DI,BX;把搜索次数记下来,且记录关键字地址 DONE: HLT 例:要搜索的关键字 放在(AL)或(AX)中,搜索某一数据块或字符串中有无关 键字,若有,把搜索次数记下来,且记录关键字地址;若次数为0,表示没有要搜索的关键字。 应用举例: 一个数据块由大小写英文字母、数字、其他符号组成,用 CR(ASCII码0DH)结束。数据块首地址为BLOCK1。将其传送到BLOCK2为首地址的内存区,并将英文中小写英文字母(a~z)转换成大写英文字母(A~Z) ,其余不变。 分析: 大小写英文字母中相应ASCII码的关系: ‘ a’~’z’相应ASCII码为: 61H~7AH,‘A’~’Z’相应ASCII码为:41H~5AH 英文中小写英文字母(a~z)转换成大写英文字母(A~Z):只要将小写的ASCII码减去20H即可。 * 程序: LEA SI, BLOCK1 LEA DI, BLOCK2 CLD NEXT: LODSB CMP AL, 0DH JZ DONE CMP AL, 61H JC OK CMP AL, 7BH JNC OK SUB AL, 20H OK: STOSB JMP NEXT DONE: HLT 流程图 小结:串操作指令重复前缀,操作数,地址指针 指令 重复前缀 操作数 地址指针寄存器 MOVS REP 源,目标 (DS): (SI), (ES): (DI) CMPS REPE/REPNE 源,目标 (DS): (SI), (ES): (DI) SCAS REPE/REPNE 目标 (ES): (DI) LODS 无 源 (DS): (SI) STOS REP 目标 (ES): (DI) 谢 谢! * 1、ROL不含CF循环左移指令 格式: ROL dest, cnt;不含CF循环左移指令, B/W 执行操作:ROL指令操作示意图如下图所示,移动8次后操作数还原。 CF dest 指令格式举例: ROL BH, 1 ROL DX, CL 循环移位指令 影响标志OF、CF 情况: 左循环移动1次后: 移位后,最高有效位(符号位)是否发生变化: 如果移位后,最高有效位与CF不等 则: OF = 1,
文档评论(0)