第3章 8086的指令系统—3.2.3逻辑运算和移位指令.ppt_第1页
第3章 8086的指令系统—3.2.3逻辑运算和移位指令.ppt_第2页
第3章 8086的指令系统—3.2.3逻辑运算和移位指令.ppt_第3页
第3章 8086的指令系统—3.2.3逻辑运算和移位指令.ppt_第4页
第3章 8086的指令系统—3.2.3逻辑运算和移位指令.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章 3 2 3逻辑运算和移位指令 位操作类指令以二进制位为基本单位进行数据的操作当需要对字节或字数据中的各个二进制位操作时 可以考虑采用位操作类指令注意这些指令对标志位的影响1 逻辑运算指令ANDORXORNOTTEST2 移位指令SHLSHRSAR3 循环移位指令ROLRORRCLRCR 1 逻辑运算指令 单操作数逻辑指令NOT不影响标志位 操作数与INC DEC和NEG一样 NOTreg mem双操作数逻辑指令AND OR XOR和TEST设置CF OF 0 根据结果设置SF ZF和PF状态 而对AF未定义 它们的操作数组合与ADD SUB等一样 运算指令助记符reg imm reg mem运算指令助记符mem imm reg 逻辑非指令NOT 对一个操作数执行逻辑非运算 NOTreg mem reg mem reg mem 按位取反 原来是 0 的位变为 1 原来是 1 的位变为 0 逻辑与指令AND 对两个操作数执行逻辑与运算 结果送目的操作数 ANDdest src dest dest src 只有相 与 的两位都是1 结果才是1 否则 与 的结果为0 逻辑或指令OR 对两个操作数执行逻辑或运算 结果送目的操作数 ORdest src dest dest src 只要相 或 的两位有一位是1 结果就是1 否则 结果为0 逻辑异或指令XOR 对两个操作数执行逻辑异或运算 结果送目的操作数 XORdest src dest dest src 只有相 异或 的两位不相同 结果才是1 否则 结果为0 测试指令TEST 对两个操作数执行逻辑与运算 结果并不送目的操作数 仅按AND指令影响标志 TESTdest src dest src AND与TEST指令的关系 同SUB与CMP指令的关系一样 例1逻辑运算 MOVAL 75H AL 75HANDAL 32H AL 30H CF OF 0 SF 0 ZF 0 PF 1ORAL 71H AL 71H CF OF 0 SF 0 ZF 0 PF 1XORAL 0F1H AL 80H CF OF 0 SF 1 ZF 0 PF 0NOTAL AL 7FH 标志不变 例2逻辑运算指令的应用 ANDBL 11110110B BL中D0和D3清0 其余位不变ORBL 00001001B BL中D0和D3置1 其余位不变XORBL 00001001B BL中D0和D3求反 其余位不变 AND指令可用于复位某些位 同0相与 不影响其他位 OR指令可用于置位某些位 同1相或 不影响其他位 XOR指令可用于求反某些位 同1相异或 不影响其他位 2 移位指令 将操作数移动一位或多位 分成逻辑移位和算术移位 分别具有左移或右移操作移位指令的第一个操作数是指定的被移位的操作数 可以是寄存器或存储单元 后一个操作数表示移位位数 该操作数为1 表示移动一位该操作数为CL CL寄存器值表示移位位数 移位位数大于1只能CL表示 按照移入的位设置进位标志CF 根据移位后的结果影响SF ZF PF 逻辑左移指令SHL SHLreg mem 1 CL reg mem左移1或CL位 最低位补0 最高位进入CF 演示 逻辑右移指令SHR SHRreg mem 1 CL reg mem右移1 CL位 最高位补0 最低位进入CF 演示 算术左移指令SAL SALreg mem 1 CL 与SHL是同一条指令 演示 算术右移指令SAR SARreg mem 1 CL reg mem右移1 CL位 最高位不变 最低位进入CF 演示 例3数据移位 MOVDX 6075H DX 0110000001110101BSHLDX 1 DX 1100000011101010B CF 0 SF 1 ZF 0 PF 0SARDX 1 DX 1110000001110101B CF 0 SF 1 ZF 0 PF 0SHRDX 1 DX 0111000000111010B CF 1 SF 0 ZF 0 PF 1MOVCL 4 CL 4 标志不变SARDX CL DX 0000011100000011B CF 1 SF 0 ZF 0 PF 1 例4将AL寄存器中的无符号数乘以10 XORAH AH 实现AH 0 同时使CF 0SHLAX 1 AX 2 ALMOVBX AX BX AX 2 ALSHLAX 1 AX 4 ALSHLAX 1 AX 8 ALADDAX BX AX 8 AL 2 AL 10 AL 逻辑左移一位相当于无符号数乘以2逻辑右移一位相当于无符号数除以2 3 循环移位指令 循环移位指令类似移位指令 但要将从一端移出的位返回到另一端形成循环 分为 ROLreg mem 1 CL 不带进位循环左移RORreg mem 1 CL 不带进位循环右移RCLreg mem 1 CL 带进位循环左移RCRreg mem 1 CL 带进位循环右移循环移位指令的操作数形式与移位指令相同 按指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论