微型计算机原理课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《微型计算机原理课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 原理 课件
- 资源描述:
-
1、授课教师:授课教师:第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令 8086/8088CPU的指令系统提供的指令系统提供8位位和和16位的逻辑运算与移位指令有位的逻辑运算与移位指令有3组组v逻辑运算指令逻辑运算指令 AND/OR/XOR/NOT/TESTAND/OR/XOR/NOT/TESTv移位指令移位指令 SHL/SHR/SAL/SARSHL/SHR/SAL/SARv循环移位指令循环移位指令 ROL/ROR/RCL/RCR ROL/ROR/RCL/RCR 第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令一、逻辑运算指令一、逻辑运算指令 8086/8088CPU的逻辑运
2、算指令有的逻辑运算指令有AND、OR、XOR、TEST、NOT 5条指令。条指令。以上以上5条除条除NOT对标志位对标志位不不产生影响;产生影响;其余均产生影响:其余均产生影响:这些指令根据各自逻辑运算的结这些指令根据各自逻辑运算的结果都将果都将影响影响SF、ZF、和、和PF,同时,同时 AF的值不确定。的值不确定。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令一、逻辑运算指令一、逻辑运算指令1、与运算指令、与运算指令AND指令格式及操作指令格式及操作AND DST,SRC ;(;(DST)(DST)(SRC)注释:注释:操作数格式同操作数格式同加减法指令;加减法指令;设设CF=O
3、F=0,影响,影响SF、ZF、PF,对,对AF无定义。无定义。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令 AND的指令可以屏蔽某些不关心的位(该位置的指令可以屏蔽某些不关心的位(该位置0),保留一些),保留一些有用的位。为了做到这一点,只需有用的位。为了做到这一点,只需把要屏蔽位和把要屏蔽位和“0”进行逻辑位进行逻辑位,而而将保留的位与将保留的位与“1”进行逻辑与即可。进行逻辑与即可。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令2、或运算指令、或运算指令OROR DST,SRC ;(DST)(DST)V(SRC)注释:注释:操作数格式同操作数格式同加减法指令;加减
4、法指令;设设CF=OF=0,影响,影响SF、ZF、PF,对,对AF无定义。无定义。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令 OR常见用途:常见用途:把某些特定的位把某些特定的位 置置1。方法:把要置。方法:把要置1的位与的位与1按按位逻辑或;不改变的位与位逻辑或;不改变的位与0按位逻辑或。按位逻辑或。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令 OR与与AND的共性:的共性:如果寄存器与其自身内容进行逻辑与操作,如果寄存器与其自身内容进行逻辑与操作,或进行逻辑或操作,寄存器内容不变,但逻辑运算结果影响或进行逻辑或操作,寄存器内容不变,但逻辑运算结果影响SF、ZF
5、、PF标志位,且将标志位,且将CF清清0。利用这个特性,可以在数据传送指令之后,进行逻辑运算以影利用这个特性,可以在数据传送指令之后,进行逻辑运算以影响标志位,然后可以判断数据的正负、是否为响标志位,然后可以判断数据的正负、是否为0,以及数据的奇偶性,以及数据的奇偶性等。等。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令3、异或运算指令、异或运算指令XOR指令格式及操作指令格式及操作XOR DST,SRC ;(DST)(DST)(SRC)注释:注释:操作数格式同加操作数格式同加减法指令;减法指令;设设CF=OF=0,影响影响SF、ZF、PF,对,对AF无无定义。定义。第第 3 3
6、章章.3逻辑运算与移位指令逻辑运算与移位指令 XOR常见用途一:常见用途一:寄存器某些特定的位寄存器某些特定的位“求反求反”,而使其余的位,而使其余的位不变。因此不变。因此求反求反的位与的位与1异或异或;不变的位与;不变的位与0进行进行“异或异或”。MOV AL ,0FFH ;XOR AL,55H;AL=10101010B,55H=01010101B第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令 XOR常见用途二:常见用途二:寄存器内容清寄存器内容清0XOR AX,AX;XOR BX,BX;在初始化时,将寄存器清;在初始化时,将寄存器清0如:如:0010 1001B=AX XOR)
7、0010 1001B=AX 0000 0000B第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令 XOR常见用途三常见用途三:用来测试某一操作数是否与另操作数用来测试某一操作数是否与另操作数相等,例如检查相等,例如检查AX的内容是否等于的内容是否等于0F00H,若相等则转,若相等则转MATCH去执行,否则顺序执行。程序段如下:去执行,否则顺序执行。程序段如下:XOR AX,0F00H;JZ MATCH ;JZ为跳转指令为跳转指令 表示表示AX为为0时转移时转移 :第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令4、测试指令、测试指令TEST指令格式及操作指令格式及操作TES
8、T DST,SRC ;(DST)&(SRC)DSTDST:可以为:可以为寄存器操作数寄存器操作数、存储器操作数存储器操作数SRCSRC:可以为:可以为寄存器操作数寄存器操作数、存储器操作数存储器操作数、立即数立即数 指令功能指令功能:目标操作数与源操作数按位目标操作数与源操作数按位“逻辑与逻辑与”运运算,结果不送回目标操作数算,结果不送回目标操作数。置。置CF=0,OF=0;对其他标志;对其他标志没有定义。没有定义。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令 TEST指令用于位的测试,它与条件转移指令一起,共同完指令用于位的测试,它与条件转移指令一起,共同完成对特定位的状态的判
9、断,并实现相应程序的的转移。成对特定位的状态的判断,并实现相应程序的的转移。与与CMP有些类似,有些类似,CMP比较两个操作数,比较两个操作数,TEST比较特定的位。比较特定的位。测试方法:测试方法:要测试操作数的的某些位是否为要测试操作数的的某些位是否为0,只需要把,只需要把TEST的的源操作数设置成一个立即数,其中需要测试的位设为源操作数设置成一个立即数,其中需要测试的位设为1。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令 MOV AL,40H;TEST AL,0AH ;JNZ NEST;JNZ为跳转指令为跳转指令 表示表示ZF=0时转移时转移 :NEST:.第第 3 3 章
10、章.3逻辑运算与移位指令逻辑运算与移位指令5、取反指令、取反指令 NOT指令格式及操作指令格式及操作NOT OPR ;(OPR)(OPR)OPROPR:除了立即数以外的各种寻址方式:除了立即数以外的各种寻址方式 的操作数、寄存器。的操作数、寄存器。对标志位没对标志位没有影响。有影响。指令功能指令功能:对操作数按位取反。对操作数按位取反。NOT指令是一条逻辑指令是一条逻辑“非非”指令,只有一个操作数,可以是指令,只有一个操作数,可以是8位,也可以是位,也可以是16位位的存储器或寄存器。的存储器或寄存器。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令NOT AL ;NOT DXNOT
11、BYTE PTR 0002HBX NOT WORD PTR BX+SI分析指令分析指令功能功能第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令二、移位指令(二、移位指令(shift)8086/8088 CPU有有4条移位指令。条移位指令。算术左移指令算术左移指令SALSAL 逻辑左移指令逻辑左移指令SHLSHL 算术右移指令算术右移指令SAR SAR 逻辑右移指令逻辑右移指令SHRSHR 功能:功能:用来实现对寄存器或存储单元的用来实现对寄存器或存储单元的8位或位或16位数据位数据的移位,指令移位操作可以是的移位,指令移位操作可以是向左向左或或向右移一位向右移一位,也可以也可以是多位
12、,是多位,移多位时,规定移多位时,规定移位的次数必须放在移位的次数必须放在CL寄存器中。寄存器中。对应同对应同一条机一条机器指令器指令第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令1、逻辑左移指令逻辑左移指令 SHL/SHL/算术左移指令算术左移指令 SALSAL指令格式:指令格式:SHL(SAL)OPR,CNT;OPROPR:通用寄存器或:通用寄存器或存储器操作数存储器操作数CNTCNT:可为:可为1 1,或,或CLCL,CLCL中放移位的次数。中放移位的次数。指令功能:指令功能:操作数左移操作数左移1位或位或CL规定的位数,规定的位数,最低位补最低位补0,最高位进最高位进CF。
13、只影响只影响CF、OF两个标志位。两个标志位。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令逻辑左移指令逻辑左移指令 SHL/SHL/算术左移指令算术左移指令 SALSALMSB LSB0CFSHL/SAL指令示意图指令示意图D15/D7D0SHL/SAL功能完全一样,因为对一个无符号数乘以功能完全一样,因为对一个无符号数乘以2和对一和对一个有符号数乘以个有符号数乘以2没有什么区别。没有什么区别。在左移位数为在左移位数为1的情况下的情况下,如果最高位与,如果最高位与CF不同,则溢不同,则溢出标志出标志OF=1,这对带符号数可以判断移位前后的符号位不,这对带符号数可以判断移位前后的符
14、号位不同;反之,如果最高位与同;反之,如果最高位与CF相同,则溢出标志相同,则溢出标志OF=0,这表,这表示移位前后符号位没有改变。示移位前后符号位没有改变。在移位次数为多次,在移位次数为多次,则则OF值不确定。值不确定。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令SHL AL ;SHL CL;SHL WORD PTR BX+100,1分析指令分析指令功能功能 左移左移1位相当于乘位相当于乘2,因此可以代替某些,因此可以代替某些常数的运算,并且速度很快。常数的运算,并且速度很快。分析分析170书中例书中例3.11第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令2、逻辑右
15、移指令逻辑右移指令 SHRSHR指令格式:指令格式:SHR OPR,CNT;OPROPR:通用寄存器或:通用寄存器或存储器操作数存储器操作数CNTCNT:可为:可为1 1,或,或CLCL,CLCL中放移位的次数。中放移位的次数。指令功能:指令功能:操作数右移操作数右移1位或位或CL规定的位数,规定的位数,最低位进最低位进CF。最高位补最高位补0,只影响只影响CF、OF两个标志位。两个标志位。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令逻辑右移指令逻辑右移指令 SHRSHRSHR指令示意图指令示意图D15/D7D0 在右移位数为在右移位数为1的情况下的情况下,移位后如果最高位与次高
16、位,移位后如果最高位与次高位不相等,则溢出标志不相等,则溢出标志OF=1,否则,否则0F=0,这表示符号位在移,这表示符号位在移位前后有没有改变。位前后有没有改变。在移位次数为多次,在移位次数为多次,则则OF值不确定。值不确定。MSB LSBCF0第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令SHR AL,1;SHR AX,CL;SHR BYTE PTRBX+SI;SHR WORD PTR BUFFER,CL分析指令分析指令功能功能 逻辑右移逻辑右移1位相当于位相当于无符号数无符号数除以除以2,因,因此可以代替某些常数的运算,并且采用移位此可以代替某些常数的运算,并且采用移位指令比
17、除法指令时执行速度要快得多。指令比除法指令时执行速度要快得多。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令例例3.12 将一个将一个16位无符号数除以位无符号数除以512,结果仍放回原单元。该,结果仍放回原单元。该数原来存放在以数原来存放在以TDATA 为首地址的两个连续的存储单元中。为首地址的两个连续的存储单元中。分析:分析:TDATA 512=(TDATA 2)256因此用逻辑右移完成上述除法运算。编程如下:因此用逻辑右移完成上述除法运算。编程如下:MOV AX,TDATASHR AX,1XCHG AL,AH;右移;右移8位,商放位,商放AL中。中。AND AX,00FFHM
18、OV TDATA ,AXHLT第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令4、算术右移指令算术右移指令 SARSARSAR指令示意图指令示意图D15/D7D0MSB LSBCF第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令SAR AL ,1SAR AX,CLSAR WORD PTR 100SI,1SAR BYTE PTR DATASI+BX,CL算术右移算术右移1位,相当于带符号数除以位,相当于带符号数除以2MOV AX,0064HSAR AX,1第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令三、循环移位指令(三、循环移位指令(rotate shift)8
19、086/8088 CPU有有4条循环移位指令。条循环移位指令。不带进位标志不带进位标志CF的左循环移位指令的左循环移位指令ROL不带进位标志不带进位标志CF的右循环移位指令的右循环移位指令ROR带进位的左循环移位指令带进位的左循环移位指令RCL带进位的右循环移位指令带进位的右循环移位指令RCR 循环移位指循环移位指令的令的操作数操作数与移位指令与移位指令相同。相同。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令1、循环左移指令循环左移指令ROL(rotate left)指令格式:指令格式:ROL OPR,CNT;指令功能:指令功能:操作数向左循环移操作数向左循环移1位或位或CL规定
20、的位数,规定的位数,最高位最高位移进移进CF,同时最高位移进最低位形成循环,进位标志不在,同时最高位移进最低位形成循环,进位标志不在循环回路之内。循环回路之内。只影响只影响CF、OF两个标志位。两个标志位。第第 3 3 章章MSB LSBCFROL指令操作示意图指令操作示意图 ROL指令影响指令影响CF、OF两个标志位。两个标志位。在循环移位为在循环移位为1的情况下,移位后如果最高位与的情况下,移位后如果最高位与CF不相等,则溢出标志不相等,则溢出标志OF=1,否则,否则OF=0,因此,因此OF的值的值表示符号位在移位前后有没有改变。表示符号位在移位前后有没有改变。在移位次数为多次,则在移位次
21、数为多次,则OF值不确定。值不确定。第第 3 3 章章 ROL AH ,1 ROL BX ,CL ROL WORD PTRDI,CL ROL BYTE PTR BX,1分析指令分析指令功能功能第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令2、循环右移指令循环右移指令ROR(rotate right)指令格式:指令格式:ROR OPR,CNT;指令功能:指令功能:操作数向右循环移操作数向右循环移1位或位或CL规定的位数,规定的位数,最低位最低位移移进进CF,同时,同时最低位移最低位移进最低位形成循环,进位标志不在进最低位形成循环,进位标志不在循环回路之内。循环回路之内。只影响只影响C
22、F、OF两个标志位。两个标志位。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令2、循环右移指令循环右移指令ROR(rotate right)CFMSB LSBROR指令操作示意图指令操作示意图 ROR指令影响指令影响CF、OF两个标志位。两个标志位。在循环移位为在循环移位为1的情况下,移位后如果新的最高位与的情况下,移位后如果新的最高位与次高位不等次高位不等,则溢出标志,则溢出标志OF=1,否则,否则OF=0。在移位次数为多次,则在移位次数为多次,则OF值不确定。值不确定。第第 3 3 章章ROR BX,1ROR AX,CLROR BYTE PTR BX,1ROR WORD PTR
23、DI,CL分析指令分析指令功能功能第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令3、带进位、带进位循环左移指令循环左移指令RCL(rotate left through carry)指令格式:指令格式:RCL OPR,CNT;指令功能:指令功能:将目标操作数连同进位标志将目标操作数连同进位标志CF一起向左循环移一起向左循环移动一位或由动一位或由CL寄存器指定的位数。寄存器指定的位数。最高位移入进位标志最高位移入进位标志CF,而而CF移入最低位。移入最低位。MSB LSBCFRCL指令操作示意图指令操作示意图第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令3、带进位、带进位
24、循环左移指令循环左移指令RCL(rotate left through caary)RCL AX,1RCL AH,CLRCL WORD PTRDI,1RCL BYTE PTR SI+BP,CL分析指令分析指令功能功能 RCL指令影响指令影响CF、OF两个标志位。两个标志位。在循环移位次数为在循环移位次数为1的情况下,左移位后如果新的最的情况下,左移位后如果新的最高位与高位与CF不等不等,则溢出标志,则溢出标志OF=1,否则,否则OF=0。在移位次数为多次,则在移位次数为多次,则OF值不确定。值不确定。第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令4、带进位、带进位循环左移指令循环左
25、移指令RCR(rotate right through caary)指令格式:指令格式:RCR OPR,CNT;指令功能:指令功能:将目标操作数连同进位标志将目标操作数连同进位标志CF一起向右循环移一起向右循环移动一位或由动一位或由CL寄存器指定的位数。寄存器指定的位数。最低位移入进位标志最低位移入进位标志CF,而而CF移入最高位。移入最高位。RCR指令操作示意图指令操作示意图CFMSB LSB第第 3 3 章章.3逻辑运算与移位指令逻辑运算与移位指令RCR AH,1RCR DI,CLRCR BYTE PTRBX,1RCR WORD PTR SI+BX,CL分析指令分析指令功能功能第第 3 3
展开阅读全文