《逻辑运算指令》PPT课件.ppt
《《逻辑运算指令》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《逻辑运算指令》PPT课件.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、复习:复习:算术运算指令l比较指令比较指令 CMPl加加/减减1 1指令指令INC,DECl不带进位的加不带进位的加/减法指令减法指令 ADD,SUBl带进位的加带进位的加/减法指令减法指令 ADC,SBB13.4 逻辑运算指令 运算规则:按位操作,无进运算规则:按位操作,无进/借位,包括以借位,包括以下两类:下两类:逻辑位运算逻辑位运算 移位、循环移位移位、循环移位CF OF SF ZF PF AF 0 0 *无定义无定义 根据运算结果设置根据运算结果设置 对标志位的影响对标志位的影响(除除NOTNOT指令外指令外):21、逻辑运算指令有有5条指令。条指令。(1)“与与”运算指令运算指令AN
2、D(2)“或或”运算指令运算指令OR(3)“异或异或”运算指令运算指令XOR(4)“非非”运算指令运算指令NOT(5)测试指令)测试指令TEST3(1)逻辑”与”AND对两个操作数进行按位逻辑对两个操作数进行按位逻辑“与与”操作。操作。格式:格式:AND dst,src功能:功能:(dst)(src)(dst)用途:保留操作数的某几位,其他位清零。用途:保留操作数的某几位,其他位清零。4例1:AND AL,0FHAND AL,0FH 若执行前:(AL)=35H(即5:字符5的ASCII码值)执行:0011 0101 0000 1111 分离了AL后4位 0000 0101例:例:AND DX,
3、0FF00H AND DX,0FF00H ;分离;分离DXDX内容的高内容的高8 8位位 AND AL,0F0H AND AL,0F0H ;分离;分离ALAL内容的高内容的高4 4位位执行后:(AL)=05H(AL)=05H(保留保留AL中低中低4位,高位,高4位清位清0)即:AND AL,0FH SUB AL,30H5例例2:AL中有字符中有字符az,将其转换将其转换成大写。成大写。;az61H7AH;AZ41H5AH;a A20H z Z20HAND AL,1101 1111B6例例3:测试:测试AL的的bit7,bit5,bit2是否都是是否都是1。AND AL,1010 0100BCM
4、P AL,1010 0100B JZ YES YES:7对两个操作数进行按位逻辑对两个操作数进行按位逻辑”或或”操作。操作。格式:格式:OR dst,src功能:功能:(dst)(src)(dst)用途:对操作数的某几位置用途:对操作数的某几位置1;对两操作数进行组合。对两操作数进行组合。(2)逻辑“或”OR8例例1 1:把把AL的第的第5位置为位置为1。OR AL,00100000B例例2:把把ALAL中的非压缩中的非压缩BCDBCD码变成相应十进制数的码变成相应十进制数的ASCIIASCII码。(求数字码。(求数字0 09 9的的ASCIIASCII码)码)OR AL,30H;09 =30
5、H39H9对操作数进行按位逻辑对操作数进行按位逻辑”非非”操作。操作。格式格式:NOT mem/reg(3)逻辑“非”(取反)NOT 按按位位取取反反,原原来来是是“0”的的位位变变为为“1”;原原来来是是“1”的的位位变变为为“0”例:例:已知已知 CX0011 0101B 35HNOT CX;CX1100 1010B0CAH10对两个操作数按位进行对两个操作数按位进行”异或异或”操作。操作。格式:格式:XOR dst,src功能:功能:(dst)(src)(dst)用途:对用途:对regreg清零清零(自身异或自身异或)把把reg/memreg/mem的某几位变反的某几位变反(与与11异或
6、异或)(4)逻辑”异或”XOR 例例1 1:把:把AXAX寄存器清零。寄存器清零。例例2 2:把:把DHDH的高的高4 4位求反位求反,低低4 4位变不变位变不变 MOV AX,0 XOR AX,AX AND AX,0 SUB AX,AX XOR DH,0F0H 11三种运算指令的操作数通用寄存器通用寄存器通用寄存器通用寄存器立即数立即数存储器存储器 立即数立即数通用寄存器通用寄存器 存储器存储器目的操作数目的操作数源操作数源操作数12三种运算指令的主要作用三种运算指令的主要作用指指 令令作作 用用举举 例例AND使目的操作数某些位不变,使目的操作数某些位不变,某些位变成某些位变成0保留保留A
7、X的最后的最后4位不变,其余清位不变,其余清0ORXOR使目的操作数某些位使目的操作数某些位不变,不变,某些位变成某些位变成1想把想把BX的低的低8位位置置1,其余不变,其余不变可以将目的操作数中的可以将目的操作数中的某某些位取反些位取反;还可以将还可以将通用寄存器清通用寄存器清0想把想把CX的内容的内容清清013ANDAND指令可用于复位某些位(同指令可用于复位某些位(同0 0相与),不影响其相与),不影响其他位:将他位:将BLBL中中D D3 3和和D D0 0位清位清0 0,其他位不变,其他位不变and bl,1111 and bl,1111 0 011110 0B BOROR指令可用于
8、置位某些位(同指令可用于置位某些位(同1 1相或),不影响其相或),不影响其他位:将他位:将BLBL中中D D3 3和和D D0 0位置位置1 1,其他位不变,其他位不变or or blbl,0000,0000 1 100001 1B BXORXOR指令可用于求反某些位(同指令可用于求反某些位(同1 1相异或),不影响相异或),不影响其他位:将其他位:将BLBL中中D D3 3和和D D0 0位求反,其他不变位求反,其他不变xorxor blbl,0000,0000 1 100001 1B B总结:总结:14操作与操作与ANDAND指令类似指令类似,但不将但不将”与与”的结果送回的结果送回,只
9、影只影响标志位。响标志位。TESTTEST指令常用于位测试指令常用于位测试,与条件转移指令一起用。与条件转移指令一起用。(5)测试指令TEST类似类似CMP例:测试例:测试AL的内容是否为负数。的内容是否为负数。TEST AL,80H ;检查检查AL中中D7=1?JNZ MINUS ;是是1(负数负数),转,转MINUS ;否则为正数否则为正数MINUS:152、移位指令(1)逻辑移位指令)逻辑移位指令(2)算术移位指令)算术移位指令(3)循环循环移位指令移位指令(4)带进位位)带进位位循环循环移位指令移位指令目的操作数可以是字节或字;目的操作数可以是字节或字;以以CL为源操作数的移位指令执行
10、以后,为源操作数的移位指令执行以后,CL的的值不变值不变。有有8条指令,分为以下四类。条指令,分为以下四类。1CL,存储器存储器通用寄存器通用寄存器目的操作数目的操作数源操作数源操作数16 逻辑左移指令逻辑左移指令 SHL(Shift LeftShift Left)逻辑右移指令逻辑右移指令 SHR(Shift RightShift Right)算术左移指令算术左移指令 SAL(Shift Arithmetic LeftShift Arithmetic Left)算术右移指令算术右移指令 SAR(Shift Arithmetic RightShift Arithmetic Right)这这4 4
11、条指令的格式相同条指令的格式相同,以以SALSAL为例:为例:(1)非循环移位指令CL ;移位位数大于移位位数大于1时时1 ;移位位数等于移位位数等于1时时 SAL mem/reg,SAL mem/reg,17逻辑左移指令SHL(Shift logical Left)格式:格式:SHL dst,count功能功能:将:将dst中的中的8位或位或16位数向左移动位数向左移动count次,最次,最后移出的位进入后移出的位进入CF,右边的,右边的count位移入位移入0。移动次数移动次数count只能为只能为1或或CL。如:如:SHL AX,1 SHL AL,CLCF dstD2D4D6D0D1D3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 逻辑运算指令 逻辑运算 指令 PPT 课件
限制150内