- 1、本文档共101页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 编程中的高级处理技术 知识 汇编语言程序设计 .ppt
第7章 编程中的高级处理技术
7.1 移位指令与应用
7.2 串操作
7.3 宏
*7.4 重复汇编
本章要点
习题七 ;7.1 移位指令与应用
7.1.1 逻辑左移
【指令格式】SHL ?d1, d2
【功能】把操作数d1的各个二进制位依次向左移动d2位,移动造成右边的空位填0,结果放回操作d1中。
【说明】
(1)操作数d1必须是通用寄存器或内存型寻址方式,必须有确定的类型,可以是字节型,也可以是字型,并且对内存型寻址方式可以使用段跨越。 ; (2)操作数d2表示移动的位数,只能是立即数1或者寄存器CL,当移动位数超过1位时,必须把移动位数放在CL中,以CL作为d2操作数。
(3)操作数d1各位移动的情况如图7.1所示,从最高位起,将有d2位移到操作数d1之外,除了最后移出的一位放到标志位CF中之外,其余各位均被丢弃,移动造成右边的空位用0填充。 ; (4)移动后d1中的数据是在其原值的后面加了d2个0,即把原数值扩大了倍,当扩大后的值超过表示范围时,超过d1类型(字节或字)规定位数的高位部分会自动丢失。
(5)该指令对其余标志位的影响情况是:移动后的结果为0则ZF置1,否则ZF清0;移动后d1最高位的值会复制到SF上;如果移动前后d1的最高位不同则OF置1,否则OF清0。
移位指令涉及数值计算问题,但并不复杂。比如AX的值是8D56H,CL的值是3,则下面几条指令是SHL指令的正确用法,后面也给出了移位后的结果:
SHL AL,1 移位后,AL = 0ACH,CF = 0,AH不变
SHL AX,1 移位后,AX = 1AACH,CF = 1
SHL AH,CL 移位后,AH = 68H,CF = 0,AL不变
SHL AX,CL 移位后,AX = 6AD0H,CF = 0; 7.1.2 算术左移
【指令格式】SAL d1, d2
【说明】这是一条与SHL完全相同的指令,该指令与SHL指令是同一条机器指令的两种不同写法。
; 7.1.4 算术右移
【指令格式】SAR d1, d2
【功能】把操作数d1的各个二进制位依次向右移动d2位,移动造成左边的空位填d1原值的最高位,结果放回操作d1中。
【说明】SAR指令的功能基本上与SHR的一样,仅仅是移动造成的空位填充方式不同,如果操作数d1移动前最高位是1,则移动造成的空位以1填充,否则以0填充,如图7.3所示。SAR指令执行的结果是把d1中的原值作为带符号数,除以并把除法的商放回d1中。 ;位号:15/7 14/6 1 0; 7.1.5 循环左移
【指令格式】ROL ?d1, d2
【功能】把操作数d1的各个二进制位向左移动d2位,从d1左端移出的每一位再依次移到右端空出的位上,最后移出的一位还要送到CF中。
可以把d1的各位看作是首尾相接的一个环状,如图7.4所示,把各位的值按逆时针方向旋转d2格,再从环原先的连接部断开,可以得到ROL指令执行后的结果。 ;14/6; 7.1.6 循环右移
【指令格式】ROR ?d1, d2
【功能】把操作数d1的各个二进制位向右移动d2位,从右端移出的各位再依次移到d1右端空出的位上,最后移出的一位还要送到CF中。
ROR是循环右移指令,与ROL指令相比,只是移位的方向不同,把图7.4中的移动方向改为顺时针方向,从第0位上最后一次移出的位送到CF中,就是ROR指令的功能。 ; 7.1.7 带进位的循环左移
【指令格式】RCL ?d1,d2
【功能】把操作数d1的各位与CF联合在一起,构成9个或者17个二进制位,向左移动d2位,从左端移出的各位再依次移到右端空出的位上。
从功能上说,可以把d1的各位与CF一起,看作首尾相接的一个环状,如图7.5所示,把各位按逆时针方向旋转d2格,再从环原先的连接部断开,可以得到ROL指令执行后的结果,包括CF的设置情况。 ;; 7.1.8 带进位的循环右移
【指令格式】RCR ?d1, d2
【功能】把操作数d1的各位与CF联合在一起,构成9个或者17个二进制位,向右移动d2位,从右端移出的各位再依次移到左端空出的位上。
带进位CF的循环右移指令的功能可以参照图7.5,把移动方向改为顺时针即可。
逻辑移位与算术移位指令除了功能本身描述的二进制位的移动之外,还用于把一个字节型或字型数
您可能关注的文档
- 第6章柴油机电控燃油喷射系统 汽车发动机电控技术 知识PPT.ppt
- 第6章菜单设计与实施 酒店经营与餐饮相关管理高校系列课件.ppt
- 第6章:挖掘大型数据库中的关联规则 数据挖掘:概念与技术 知识 .ppt
- 第6章:挖掘大型数据库中的关联规则 数据挖掘:概念与技术 知识 1.ppt
- 第6节深度报道采访与 及写作 《新闻写作》 .ppt
- 第6讲 进口、出口相关政策 对外经济贸易 教学文稿.ppt
- 第6讲 VHDL基本的语句与基本的设计 ----并行语句 EDA课件.ppt
- 第6讲 “一条线”与 及联美反苏 新中国对外关系 .ppt
- 第6讲 关系表示与 及关系性质 北京大学计算机系离散数学讲义(ppt版).ppt
- 第6讲 单片机层次电路图设计 Protel DXP2004 SP2印制电路板设计 教程文件.ppt
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
文档评论(0)