[工学]微机原理第三章2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]微机原理第三章2

六 串操作指令 数据串是指存放在存储器中的一组字节(或字)数据。一个数据串的长度最长为64KB。 1、串传送(MOVS) 2、串比较(CMPS) 3、串扫描(SCAS) 4、取数据串(LODS) 5、存数据串(STOS) 6、三个重复前缀指令 串操作指令 执行串操作指令时应注意隐含约定和特点: (1)数据串包括字节串和字串; (2)所有串操作指令都用SI寄存器指示源串中元素的偏移地址,源串的起始地址(或末地址)用DS:SI表示,目的串的起始地址(或末地址)ES:DI; (3)每执行一次串操作指令,处理一个元素,SI和DI自动修改指向下一个元素,修改方向由DF标志决定(DF=0,地址递增,用CLD指令。DF=1,地址递减,用STD指令); 串操作指令 (4)串长度放在CX中; (5)在基本串操作指令前加重复前缀符,使串操作指令重复执行,直至整个串处理完毕,每重复一次,SI和DI根据方向标志,自动进行修改,CX值自动减1。 1、串传送(MOVS) 指令格式:MOVS dst,src 或 MOVSB ;字节操作 MOVSW ;字操作 指令功能:将源串中由SI所指一个字节或字元素传送到由DI所指示的目的串中。MOVSB、MOVSW分别是字节串和字串的传送指令,隐含了操作数。 执行后自动修改SI、DI地址指针。 在串传送指令前加REP重复前缀,可实现一批数据的传送。 不影响标志位。 1、串传送(MOVS) 例:将数据段中偏移地址 为ADDR1开始的100个字节数 据传送到附加段中从ADDR2 开始的单元中。 解: CLD ;设DF=0,地址递增 LEA SI,ADDR1 ;装载ADDR1的偏移地址 LEA DI,ADDR2;装载ADDR2的偏移地址 MOV CX,100 ;重复次数100送CX REP MOVSB ;完成数据串传送, ;REP MOVS ADDR2,ADDR1 2 、串比较(CMPS) 指令格式:CMPS dst,src 或 CMPSB ;字节操作 CMPSW ;字操作 指令功能:将DS段中由SI所指示的源串中的一个字节或字元素减去ES段中由DI所指示的相对应的一个元素,结果不保存,影响标志位(比较的结果从标志位可以看出,如ZF=1说明两串相同, ZF=0说明两串不相同)。 比较之后,自动修改指针SI、DI,指向下一个待比较的元素。 常用CMPS指令来比较两个串是否相同。 3 、串扫描(SCAS) 指令格式:SCAS dst 或 SCASB ;字节操作 SCASW ;字操作 指令功能:从累加器AL或AX中减去ES中由DI指示的目的串的一个元素,结果不送回,影响标志位。 比较之后,自动修改指针DI,指向下一个待比较的元素。 常用SCAS指令来查找目的串中的关键元素,待查找的关键数据放在AL或AX中。 3 、串扫描(SCAS) 例:在某一数据块中查找是否存在“E”字符,若存在,将“E”字符所在地址记入DX寄存器中,否则将DX置为全“1”。设目的串首元素偏移地址为0100H,串长度100(64H)。 解:程序如下: 3 、串扫描(SCAS) 程序如下: MOV AL,“E” ;关键数据放入AL MOV CX,64H ;串长度100送CX MOV DI,0100H ;目的串偏移地址送DI CLD ;设DF=0,地址递增 REPNE SCASB ;串扫描,与AL值比较,不等 ;则重复。 JZ FIND ;相等则转移到FIND MOV DX,0FFFFH ;不等,则送全1至DX JMP STOP ;程序无条件转移到STOP FIND: DEC DI ;相等,取该数的偏移地

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档