- 1、本文档共150页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 六 章 6.1 移位指令及循环移位指令 所谓高级编程技术,是指在汇编语言程序设计中,如果我们把移位及循环移位指令、串操作指令和宏指令巧妙地应用到汇编语言程序设计中,将大大提高编程质量和编程效率。 本章主要介绍这三类指令:移位及循环移位指令、串操作指令和宏指令的功能,并通过大量例子说明其应用。 6.1 移位指令及循环移位指令 移位指令完成对操作数的移位操作。分为一般移位和循环移位指令。移位操作也是将操作数倍增和减半的有效方法。 6.1.1 移位指令 (1)逻辑左移指令 【指令格式】 ?SHL D,COUNT D为通用寄存器或存储器操作数。 COUNT表示移位的次数。 移位一次,COUNTR=1; 移位多次,COUNT=CL (CL中为移位的次数)。 【功能】对给定的目的操作数D(8位/16位)左移COUNT次。最高位移入CF中,最低位补零。 其操作示意图如图6-1所示。 例如:如下逻辑左移指令:SHL AL,1MOV CL,3SHL CX,1SHL DX,CLSHL ALFA[DI],1SHL ALFA[DI],CL 说明:本指令影响标志位:OF、PF、SF,ZF。CF决定移入的最高位。 本指令主要用于向左移位操作。但因为左移一位相当于权值提高一级,故本指令又常作有、无符号数的倍增操作。 但请注意,在左移一次后,当新的操作数最高位与CF不相同时,则OF置1,表明有符号数操作产生溢出,不再符合倍增关系。对无符号数,当移位后使CF置1,则不再符合倍增关系。 例如: AL(66)/(+66) 左移一位后: AL132)/ (-124),CF=0,OF=1 上例表明,对无符号数,移位后CF=0,故移位前后数间符合倍增关系(66*2=132);而对有符号数,移位后OF=1发生了溢出,所以移位前后数间不再符合倍增关系(+66*2≠-124) 【例6-1】编写程序段,把AX中的无符号数乘以8,如果有溢出,忽略超过16位的部分。 【分析】乘以8的操作可以通过在二进制数的后面加3个0完成,即左移3位,移出部分自动丢失。只需要在CL中放移动位数(3位),再用SHL指令移位即可: 【解】指令序列如下:MOV CL,3 SHL AX,CL 对于双字型数据,或者位数更多的复杂数据,也可以用移位指令与逻辑运算指令配合,简化乘除法的运算。 ⑵逻辑右移指令 【指令格式】SHR D,COUNT D为任一通用寄存器或存储器操作数。 COUNT表示移位次数。 移位一次,COUNT=1; 移位多次,COUNT=CL (CL中为移位的次数)。 【功能】对给定的目的操作数D(8位/16位)右移COUNT次。最低位移入CF中,最高位补零。 其操作示意如图6-2所示。 例如:如下指令: SHR AL,1MOV CL,3 SHR SI,CLSHR DX,CL SHR ALFA[DI],1SHR ALFA[DI],CL 说明: 本指令影响标志位:OF、PF、SF,ZF。CF决定移入的最低位。 同样,本指令主要用于右向逻辑移位操作。但右移一位,相当权值下降一级。所以本指令可作为无符号数的除2运算。但请注意,在右移后,如果新的CF=1,表明移位前的数是一个奇数,则减半的结果是不精确的。 (3)算术左移指令 【指令格式】SAL D,COUNT D为任一通用寄存器或存储器操作数。 COUNT表示移位次数。 移位一次,COUNT=1; 移位多次,COUNT=CL。 (CL中为移位的次数) 【功能】对给定的目的操作数D(8位/16位)算术左移COUNT次。最高位移入CF中,最低位补零。 其操作示意图与图6.1完全相同。 说明:实际上SAL与SHL是同一指令的两种表示方法。具有完全相同的功能。它一般用来作为有符号数的倍增运算。 在左移一次后,如果新的CF与新的操作数最高位不相同,则标志OF=1。表明移位前、后的操作数不再具有倍增关系。 ⑷算术右移指令 【指令格式】SAR D,COUNT D为任一通用寄存器或存储器操作数。 COUNT表示移位次数。 移位一次,COUNT=1; 移位多次,COUNT=CL。 (CL中为移位的次数) 【功能】对给定的目的操作数D(8位/16位)右移COUNT次。最低位移入CF中,最高位保持不变。 其操作示意如图6-3所示。 例如:(如下指令)SAR AL,1MOV CL,6SAR BX,CLSAR BX,1SAR BETA[BX],1SAR BETA[BX],CL 说明:本指令影响标志位:PF、SF,ZF。CF决定移入的最低位。同样,本指令常用于有符号数的减半运算。 但在右移使CF=1时,会
您可能关注的文档
- 软件工程(全)420页39592.ppt
- 高三一轮复习之凡尔赛体系与国际联盟.ppt
- 社会保障学835530.ppt
- 高中数学学习方法-intorun.ppt
- 第四章a利息与利息率37522.ppt
- 现代材料分析方法第七章 热分析技术.ppt
- 6-cq_analyse.ppt
- 领导心理26920.ppt
- 传感器的简单应用22576.ppt
- Top sales营销技术训练营讲义(下).ppt
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
最近下载
- 珠心算家长会(金)课件.ppt VIP
- 税法(第5版)课件 曹越 第1--5章 税法基本原理、增值税--- 企业所得税.pptx
- 手外科疾病诊断与治疗.pptx VIP
- 2021乒乓球比赛活动设计方案.docx VIP
- 医疗器械分类目录2002版.doc VIP
- JBT10216-2013电缆桥架标准将代替JBT10216-2000旧标准.docx VIP
- 非遗知识文化云肩知识介绍PPT课件.pptx VIP
- 人行地通专项施工方案.doc VIP
- 阳江核电厂疏浚(清淤)项目环境影响报告书.docx VIP
- 2025广西公需科目考试答案(3套,涵盖95_试题)一区两地一园一通道建设;人工智能时代的机遇与挑战.pdf VIP
文档评论(0)