- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指令系统串操作
* * §3.2 指令系统 (一)串传送指令 五.串操作指令 MOVSB MOVSW ;字节传送 ;字传送 【操作】 (ES:DI ) ← (DS:SI ) (SI ) ← (SI ) ±1(2) (DI) ← (DI ) ±1(2) ;修改指针 ;字节/字传送 ①串长度 ②源串指针 ③目的串指针 ④传送方向 说明: 加重复前缀实现串传送 REP MOVSB/ MOVSW 准备工作:需要预设置 不影响状态标志 §3.2 指令系统 (二)串比较指令 五.串操作指令 CMPSB CMPSW ;字节比较 ;字比较 【操作】 (DS:SI )-(ES:DI ) (SI ) ← (SI ) ±1(2) (DI) ← (DI ) ±1(2) ;修改指针 ;比较 说明: 1. 源- 目的,影响所有状态标志,但不影响操作数. 2. 与REPZ/REPE配合,寻找第一个不匹配字符 3. 与REPNZ/REPNE配合,寻找第一个相同元素 §3.2 指令系统 (三)存入串指令 五.串操作指令 STOSB STOSW ;存入字节 ;存入字 【操作】 (ES:DI ) ← (AL)/(AX) (DI) ← (DI ) ±1(2) ;修改目的串指针 ;将AL/AX 存入目的串 与重复前缀配合,对特定存储区域置相同值。 说明: §3.2 指令系统 (四)取出串指令 五.串操作指令 LODSB LODSW ;取出字节 ;取出字 【操作】 (AL)/(AX) ← (DS:SI ) (SI) ← (SI ) ±1(2) ;修改源串指针 ;将源串取入 AL/AX §3.2 指令系统 (五)串搜索指令 五.串操作指令 SCASB SCASW ;搜索字节 ;搜索字 【操作】 (AL)/(AX) - (ES:DI ) (DI) ← (DI ) ±1(2) ;修改目的串指针 ;从目的串搜索字节/字 说明: 两数相减,影响所有状态标志,但不影响操作数。 与条件重复前缀配合,寻找串中的特定字符。 §3.2 指令系统 第三章 80X86微处理器的指令系统 六.处理机控制指令 标志操作指令 CLC, STC, CMC; CLD, STD; CLI, STI。 HLT, NOP, WAIT, ESC, LOCK 处理机控制指令 §3.2 指令系统 (一)标志操作指令 六.处理机控制指令 (1)对进位标志CF的操作 STC CLC CMC ;CF←1 ;CF←0 ;CF←CF (2)对方向标志DF的操作 STD CLD ;DF←1 ;DF←0 (3)对中断允许标志IF的操作 STI CLI ;IF←1 ;IF←0 (开放可屏蔽中断) (关闭可屏蔽中断) §3.2 指令系统 (二)处理机控制指令 六.处理机控制指令 (1)暂停指令 HLT 【操作】 使CPU处于暂停状态 用于等待外部中断,中断处理结束后,继续执行HLT后的下一条指令。 注意: 一旦执行HLT指令,只有中断请求或者RESET信号才能使之退出暂停状态。 §3.2 指令系统 (二)处理机控制指令 六.处理机控制指令 (2)空操作指令 NOP 【格式】 【操作】 CPU不执行任何操作,不影响标志位 延迟三个时钟周期 机器码(90H)占一个字节 §3.2 指令系统 (二)处理机控制指令 六.处理机控制指令 (3)同步指令 ESC ;交权给外部处理机 WAIT LOCK ;与ESC配合使用,常用在ESC指令之后。执行该指令,CPU处于等待状态,且每隔五个时钟周期测试TEST引脚,若为低电平则退出等待状态。 ;可用于任何指令之前。CPU执行带LOCK前缀的指令时封锁总线。 (CX)←(CX)-1 REPZ后的 串指令 Y N CX=0 ? ZF=1 ? Y N (CX)←(CX)-1 REP 后的 串 指 令 Y N CX=0 ? Y (CX)←(CX)-1 REPZ后的 串指令 Y Y CX=0 ? ZF=1 ? N N REPE / REPZ执行流程 REPNE / REPNZ执行流程 REP执行流程 【例】 JMP next next: MOV AX, BX 无条件转移指令 【例】 段内短转移 JMP next next:MOV AX, BX +127 -128 JMP next next:MOV AX, BX 【例】 当前数据段偏移地址为1000H和1001H两个单元中存放有两个无符号字节数.要求编程将较大者送入该数据段偏移地址为1002H的单元中。 MOV AL,[1000H] CMP AL,[100
文档评论(0)