- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.2.5 串操作类指令 串操作指令是8086指令系统中比较独特的一类指令,采用比较特殊的数据串寻址方式,在操作主存连续区域的数据时,特别好用、因而常用 重点掌握: MOVS STOS LODS CMPS SCAS REP 一般了解: REPZ/REPE REPNZ/REPNE 串数据类型 串操作指令的操作数是主存中连续存放的数据串(String)——即在连续的主存区域中,字节或字的序列 串操作指令的操作对象是以字(W)为单位的字串,或是以字节(B)为单位的字节串 串寻址方式 源操作数用寄存器SI寻址,默认在数据段DS中,但允许段超越:DS:[SI] 目的操作数用寄存器DI寻址,默认在附加段ES中,不允许段超越:ES:[DI] 每执行一次串操作指令,SI和DI将自动修改: ±1(对于字节串)或±2(对于字串) 执行指令CLD指令后,DF = 0,地址指针增1或2 执行指令STD指令后,DF = 1,地址指针减1或2 串传送MOVS(move string) 把字节或字操作数从主存的源地址传送至目的地址 例3.52:字节串传送 MOV SI,offset SOURCE MOV DI,offset DESTINATION MOV CX,100 ;cx←传送次数 CLD ;置DF=0,地址增加 AGAIN: MOVSB ;传送一个字节 DEC CX ;传送次数减1 JNZ AGAIN ;判断传送次数CX是否为0 ;不为0,则到AGAIN位置执行指令 ;否则,结束 例3.52:字串传送 MOV SI,offset SOURCE MOV DI,offset DESTINATION MOV CX,50 ;CX←传送次数 CLD ;置DF=0,地址增加 AGAIN: MOVSW ;传送一个字 DEC CX ;传送次数减1 JNZ AGAIN ;判断传送次数CX是否为0 ;不为0,则到AGAIN位置执行指令 ;否则,结束 串存储STOS(store string) 把AL或AX数据传送至目的地址 串读取LODS(load string) 把指定主存单元的数据传送给AL或AX 串比较CMPS(compare string) 将主存中的源操作数减去至目的操作数,以便设置标志,进而比较两操作数之间的关系 串扫描SCAS(scan string) 将AL/AX减去至目的操作数,以便设置标志,进而比较AL/AX与操作数之间的关系 重复前缀指令(repeat) 串操作指令执行一次,仅对数据串中的一个字节或字量进行操作。但是串操作指令前,都可以加一个重复前缀,实现串操作的重复执行。重复次数隐含在CX寄存器中 重复前缀分2类,3条指令: 配合不影响标志的MOVS、STOS(和LODS)指令的REP前缀 配合影响标志的CMPS和SCAS指令的REPZ和REPNZ前缀 REP重复前缀指令 REP前缀可以理解为:当数据串没有结束(CX≠0),则继续传送 REPZ重复前缀指令 REPZ/REPE前缀可以理解为:当数据串没有结束(CX≠0),并且串相等(ZF=1),则继续比较 REPNZ重复前缀指令 REPNZ/REPNE前缀可以理解为:当数据串没有结束(CX≠0),并且串不相等(ZF=0),则继续比较 3.2.6 处理机控制类指令 对CPU状态进行控制的指令 NOP LOCK HLT ESC WAIT 空操作指令 NOP 不执行任何操作,但占用一个字节存储单元,空耗一个指令执行周期 NOP常用于程序调试 在需要预留指令空间时用NOP填充 代码空间多余时也可以用NOP填充 还可以用NOP实现软件延时 事实上,NOP和XCHG AX,AX的指令代码一样,都是 90H 段超越前缀指令 在允许段超越的存储器操作数之前,使用段超越前缀指令,将采用指定的段寄存器寻址操作数 CS: ;使用代码段的数据 SS: ;使用堆栈段的数据 DS: ;使用数据段的数据 ES: ;使用附加段的数据 封锁前缀指令 LOCK ;封锁总线 这是一个指令前缀,可放在任何指令前 这个前缀使得在这个指令执行时间内,8086 处理器的封锁输出引脚有效,即把总线封锁,使别的控制器不能控制总线;直到该指令执行完后,总线封锁解除 暂停指令 HLT ;进入暂停状态 暂停指令使CPU进入暂停状态,这时CPU不进行任何操作。当CPU发生复位或来自外部的中断时,CPU脱离暂停状态 HLT指令可用于程序中等待中断。当程序中必须等待中断时,可用HLT,而不必用软件死循环。然后,中断使CPU脱离暂停状态,返回执行HLT的下一条指令 交权指令 ESC 6位立即数,reg/mem ;把浮点指令交给浮点处理器执行 浮点协处理器8087指令是与8086的整数
您可能关注的文档
- 第16周认识网络远离网瘾题稿.ppt
- 2.项目管理系统project操作规程(实用)题稿.ppt
- 液压扳手操作说明说课.ppt
- 2.原始的农耕生活题稿.ppt
- 第17章肝的生物化学4题稿.ppt
- 2-1-1烷烃和烯烃烯烃的顺反异构题稿.ppt
- X4说明书题稿.doc
- 第18章失业与通货膨胀题稿.ppt
- 4.1《物质跨膜运输的实例》正式上课教案.ppt
- 集团公司燃煤电厂集中控制室典型设计题稿.doc
- 2024年中石油陕西销售分公司秋季招聘(30人)笔试模拟试题及答案解析.docx
- 2024年浙江杭州淳安县第二人民医院招聘合同制工作人员7人笔试模拟试题及答案解析.docx
- 2024年浙江教师招聘-金华市青少年宫 专业教师(非事业编)招聘2人笔试模拟试题及答案解析.docx
- 2024年下半年黑龙江省教育厅事业单位公开招聘39人笔试模拟试题及答案解析.docx
- 2024年浙江教师招聘-宁波市姜山中学公开招聘高中物理事业编制教师1人笔试模拟试题及答案解析.docx
- 2024年浙江教师招聘-金华市外国语实验学校诚聘优秀教师4人笔试模拟试题及答案解析.docx
- 2024年下半年大庆市肇源县人才引进49人笔试模拟试题及答案解析.docx
- 2024年浙江医疗卫生招聘-宁波慈溪市人民医院医疗健康集团桥头分院招聘派遣制编外工作人员1人笔试模拟试题及答案解析.docx
- 2024年郑州中牟县纪委监委和巡察机构所属事业单位招聘24名笔试模拟试题及答案解析.docx
- 2024年宣城市澄江街道选拔村后备干部笔试模拟试题及答案解析.docx
文档评论(0)