微机原理与接口技术:第3章3-3-3逻辑和移位指令_第1页
微机原理与接口技术:第3章3-3-3逻辑和移位指令_第2页
微机原理与接口技术:第3章3-3-3逻辑和移位指令_第3页
微机原理与接口技术:第3章3-3-3逻辑和移位指令_第4页
微机原理与接口技术:第3章3-3-3逻辑和移位指令_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1逻辑运算与移位类指令逻辑运算指令移位指令循环移位指令21、逻辑运算指令3逻辑运算指令对操作数的要求大多与MOV指令相同。“非”运算指令为单操作数指令,其操作数不能是立即数;“非”运算指令不影响标志位;其他逻辑运算指令会影响6个状态标志位,且不论执行结果如何,都会使OF=CF=041.“与”指令:格式:

ANDdest,src操作:两操作数相“与”,结果送目标地址。5“与”指令的应用实现两操作数按位相与的运算ANDBL,[SI]使目标操作数的某些位不变,某些位清零ANDAL,0FH在操作数不变的情况下使CF和OF清零ANDAX,AX6“与”指令应用例ANDAX,1110111101111111B72.“或”运算指令格式:

ORdest,src操作:

两操作数相“或”,结果送目标地址8“或”指令的应用实现两操作数相“或”的运算ORAX,[DI]使某些位不变,某些位置“1”ORCL,0FH在不改变操作数的情况下使OF=CF=0ORAX,AX“或”指令应用例ORBX,0001000010000000B

9103.“非”运算指令格式:NOTOPRD操作:操作数按位取反再送回原地址注:指令中的操作数不能是立即数指令的执行对标志位无影响“非”指令应用例例:NOTBYTEPTR[BX]NOTAL11124.“异或”运算指令格式:XOROPRD1,OPRD2操作:两操作数相“异或”,结果送目标地址例:XOR

BL,80H

XORAX,AX两操作数自身相异或,结果=?“异或”指令应用例1XORAL,10100000B13“异或”指令应用例2例1:将AL中的第1、3、5、7位求反,0、2、4、6位保持不变。

MOVAL,0FH

XORAL,0AAH14指令应用例3例3-10:将AX和CF清零。解:实现方法有多种,如下:方法1:ANDAX,0

方法2:XORAX,AX

方法3:SUBAX,AX15165.“测试”指令格式:TESTOPRD1,OPRD2操作:执行“与”运算,但运算的结果不送回目标地址。应用:常用于在不破坏目标操作数内容的情况下测试操作数某些位是“1”还是“0”。“测试”指令例1例:TESTAL,02H

TESTAX,0040H17“测试”指令例2例:判断A单元最低位是否为0.

假定(A)=0AEH.

程序:MOVAL,A

TESTAL,01H;指定测试AL的最低位JZEVEN;指定位=0转EVEN……奇数处理

……EVEN:偶数处理18逻辑运算综合例15.设DL=55H,执行指令后能使DL中的数据为OAAH的指令是()。

A.TESTDL,OAAH

B.ORDL,OAAHD.XORDL,OFFH题目答案:D19逻辑运算综合例26.无论BX中原有的数是奇数或偶数,若要使BX中的数一定为奇数,应执行的指令是()。

A.ADDBX,1B.ORBX,1

C.XORBX,1D.TESTBX,1题目答案:B20逻辑运算综合例37.将寄存器AL的低4位屏蔽,应当用的指令是()。

A.ANDAL,0FHB.ANDAL,0F0H

C.XORAL,0FHD.XORAL,0F0H题目答案:B

218.AND指令用于()。

A.取一个数中的某一位

B.置一个数中的某些位为1

C.将一个数置为0

D.置一个数中的某些位为0题目答案:D22232、移位指令非循环移位指令循环移位指令24移位指令移位指令在格式上应注意的两点:移动一位时由指令直接给出;移动两位及以上,则移位次数由CL指定。学习移位指令应注意:操作码的表示;指令的工作原理。251.

非循环移位指令逻辑左移SHL算术左移SAL逻辑右移SHR算术右移SAR26算术左移SAL算术左移指令:SALOPRD,1SALOPRD,CL有符号数移动一位后,若CF状态与最高位不相等,则OF=1;否则OF=00CF逻辑左移SHL逻辑左移指令:SHLOPRD,1SHLOPRD,CL27无符号数移动一位后,若CF状态与最高位不相等,则OF=1;否则OF=00CF算数左移和逻辑左移的移动原理相同28逻辑右移SHR格式:

SHROPRD,1SHROPRD,CL0CF无符号数的右移移动一位后,若次高位与最高位不相等,则OF=1;否则OF=029逻辑右移例:MOVAL,68HMOVCL,2SHRAL,CL0CF011010AL0000110100ALCF0000011010ALCF00移动1次移动2次0030算术右移SAR格式:

SAROPRD,1SAROPRD,CL有符号数的右移CF31非循环移位指令的应用左移可实现乘法运算每左移1位,相当于给目标操作数乘以2右移可实现除法运算

每右移1位,相当于给目标操作数除以2

非循环移位指令例1例3-14:执行以下指令

MOVAL,82H

SHRAL,1若换位SARAL,1,则结果是?32非循环移位指令例2例3-4-15:已知(AL)=80H,(CL)=03H,求执行下列指令后,(AL)=?,CF=?

(1)SARAL,CL

(2)SHRAL,CL

解:(1)(AL)=0F0H,CF=0

(2)(AL)=10H,CF=033342.循环移位指令不带进位的循环移位带进位的循环移位左移ROL右移ROR左移RCL右移RCR指令格式、对操作数的要求与非循环移位指令相同35不带进位的循环移位ROL和RORCFCF36带进位的循环移位RCL和RCRCFCF37循环移位指令的应用用于对某些位状态的测试;高位部分和低位部分的交换;与非循环移位指令一起组成32位或更长字长数的移位。循环移位指令例1例:设CF=0,执行以下程序段。

MOVAL,82H

ROLAL,1执行结果:(AL)=05H,CF=1

若换为RCLAL,1执行结果:(AL)=04H,CF=138循环移位指令例2例3-4-20:已知(AL)=12H,CF=1,求:执行下列指令后,(AL)=?,CF=?

(1)RORAL,1

(2)RCRAL,1

温馨提示

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

评论

0/150

提交评论