版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
逻辑运算和移位指令有两类:逻辑运算指令移位与循环指令位运算指令类型指令指令功能表三位运算指令列表逻辑运算ANDd,sORd,sXORd,sNOTdTESTd,s
算术左移CF
0算术右移CF
逻辑左移CF
0逻辑右移CF0SALd,countSARd,countSHLd,countSHRd,count移位ddsddsddsddds,不送结果位运算指令指令类型指令指令功能表三位运算指令列表(续)ROLd,countRORd,countRCRd,countRCLd,count循环左移CF
循环右移CF
带进位循环左移CF
CF循环带进位循环右移逻辑运算指令共有5条:AND按位逻辑与OR按位逻辑或XOR按位逻辑异或TEST按位逻辑与,但不保存结果NOT按位取反
逻辑运算指令AND,OR和XOR指令
•
基本格式和功能指令格式:
AND(OR/XOR/TEST)d,s执行的操作:
AND
(d)←(d)OR(s)
XOR
逻辑运算指令AND,OR和XOR指令
•
基本格式和功能常见逻辑运算的规则如下列表格所示:与(AND):全1才1,有0就0或(OR):有1就1,全0才0异或(XOR):相同为0,相异为1
1
0
1
0
0
0
1
0AND
1
1
1
1
0
0
1
0OR
0
1
1
1
0
0
1
0XOR逻辑运算指令AND,OR和XOR指令
•
说明寻址方式:AND(OR,XOR,TEST)reg/mem,reg/mem
AND(OR,XOR,TEST)reg/mem,data说明:源S可以是通用寄存器、存储器或立即数;但d只能是通用寄存器或存储器,不能为立即数;而且d和s不能同时为存储器操作数。逻辑运算指令AND,OR和XOR指令
•
说明测试指令TEST不将结果送回d,它只影响F寄存器;这4条指令均影响标志位:SF、ZF、PF根据运算结果设置相应位;CF、OF总是置零;AF不确定。逻辑运算指令NOT指令
•
基本格式和功能指令格式:
NOTd寻址方式:
NOTreg/mem逻辑运算指令NOT指令
•功能&说明功能&说明:单操作数指令,对d进行按位取反(0变1,1变0)操作;d可以是通用寄存器或存储器操作数;NOT指令对标志寄存器各位均无影响;逻辑运算指令•说明小结:逻辑运算指令都是按位进行逻辑运算的,可以对字节或字进行逻辑运算;逻辑运算指令可用于组合、分离、屏蔽或设置某些位。逻辑运算指令•例子例1:请分别写出实现下列要求的指令:①使AL中高4位清零,低4位不变;②使AL中低4位清零,高4位不变;③使AL中最高位置1,其他位不变;④AL中低4位求反,其余各位不变。解:①ANDAL,0FH②ANDAL,0F0H③ORAL,80H④XORAL,0FH逻辑运算指令•例子例2:请编制一程序段,将F寄存器中溢出位OF变反。解:程序如下:
PUSHFPOPAXXORAX,0800HPUSHAXPOPF逻辑运算指令•例子例3:将AL清零,至少有以下几种方法,它们有何不同?①MOVAL,00H②ANDAL,00H③XORAL,AL移位&循环指令共有以下8条:SHL(shiftlogicalleft)逻辑左移SAL(shiftarithmeticleft)算术左移SHR(shiftlogicalright)逻辑右移SAR(shiftarithmeticright)算术右移ROL(Rotateleft)循环左移ROR(Rotateright)循环右移RCL(Rotateleftthroughcarry)带进位循环左移RCR(Rotaterightthroughcarry)带进位循环右移移位&循环指令移位类指令的格式(详见表三①②)
移位指令
d,Count移位类指令的寻址方式
移位指令
reg/mem,1/CL
移位&循环指令移位指令执行的操作
(参见表三①)SHL,SAL和SHR(d)左(右)移Count位,移出的位进入CF,移位造成的空位补0
SAR
(d)最高位不变,(d)右移Count位,移出的位进入CF,移位造成的空位用最高位值填补。左右移位使乘,除2运算变得简单,算术右移可用于有符号数的除2运算。移位&循环指令循环指令执行的操作(详见表三②)ROL和ROR(小循环)
(d)循环左(右)移Count位,每移1位,移出的位从另一端进入,同时进入CF。
RCL和RCR(大循环)
(d)循环左(右)移Count位,每移1位,CF从另一端进入,移出的位进入CF。移位&循环指令说明:各移位指令中的d可以是字或字节,可以是寄存器或存储器单元,但不能是立即数。指令中的Count指明移位的位数,只能用两种形式之一:1或CL带进位循环移位指令常用于多字节或多字的数据移位。移位&循环指令影响标志位情况:移位指令根据移位结束后的结果修改CF、PF、ZF、SF和OF,而AF不确定;循环移位指令根据移位结束后结果仅修改CF和OF;如果移位/循环移位仅移一位,且移位前后操作数的最高位发生变化,那么OF置1,否则置0;如果移位/循环移位的位数大于1,则OF不确定。移位&循环指令例题例1:在AX中有符号数不大的情况下,利用算术移位指令进行简单的(AX)5/2运算,可以用下述程序段:
MOVDX,AXSALAX,1;(AX)*2SALAX,1;(AX)*4ADDAX,DX;(AX)*5SARAX,1;(AX)*5/2移位&循环指令例题例2:由(DX):(AX)构成的2个字数据要左移2位,写出实现此要求的指令序列。解:指令序列如下:
SALAX,1RCLDX,1SALAX,1RCLDX,1思考:用下列方法如何?
MOVCL,2
SALAX,CLRCLDX,CL移位&循环指令例题例3:将AX的高低8位换位,写出指令序列。解:方法之一如下:
MOVCL,08HROLAX,CL方法二如下:
MOVCL,AHMOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防尘教学课件
- 妇产科问诊教学课件
- 妇产科课件教学课件
- 毕马威 -2026年毕马威全球财务智能化调研报告
- 物业管理-EISS系统技术方案
- 防尘挡板自营课件
- 2026-2027学年初中信息技术(信息科技)八年级 第11册滇人版(旧版)第8课 规划自己的网站课时过关卷
- 2026-2027学年初中心理健康七年级下册(2025)北师大版(2025)第十四课 沟通从“听”开始课时过关卷
- 四川省遂宁市射洪中学强实班2026-2027学年高二上学期10月月考英语试卷
- 钢筋后台加工安全技术交底
- 社区医疗废物泄漏应急演练脚本
- 智慧农业前沿技术导论 课件 第14章 智慧植保
- 公司代理记账人员管理制度(3篇)
- 成本实操-储能系统集成行业成本核算实例
- 水利水电工程专职安全生产管理人员(C类)知识考试题库(附答案)
- 病虫害绿色防控讲义
- 2025年哈尔滨市香坊区事业单位考试真题
- 雨课堂在线学堂《全球化与世界空间》单元考核测试答案
- 学堂在线 人工智能 章节测试答案
- 幼儿园中班语言《秋天的画报》课件
- 西藏施工方案
评论
0/150
提交评论