资源描述:
《数据处理位操作和字符串操作指令》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、3.6位操作类指令计算机中最基本的数据单位是二进制位针对二进制位进行操作、实现位控制的指令逻辑运算指令移位指令……进行一位或若干位处理,采用位操作类指令13.6.1逻辑运算指令逻辑与指令AND逻辑或指令OR逻辑非指令NOT逻辑异或指令XOR测试指令TEST除NOT指令不影响标志外其他逻辑指令使OF=CF=0根据结果按定义影响ZF、SF和PF21.逻辑与指令AND逻辑与(逻辑乘)运算规则:两位都是逻辑1,则结果是1;否则,结果是0逻辑与指令AND:按位进行逻辑与,结果返回目的操作数ANDdest,src;逻辑与:dest←destsrc设置CF=OF=0影响SF,ZF和PFTBATAB01
2、0111001000T=A·B真值表与门电路逻辑表达式01000101001100010000000132.逻辑或指令OR逻辑或(逻辑加)运算规则:两位都是逻辑0,则结果是0;否则,结果是1逻辑或指令OR:按位进行逻辑或,结果返回目的操作数ORdest,src;逻辑或:dest←destsrc设置CF=OF=0影响SF,ZF和PFTBATAB110111101000T=A+B真值表或门电路逻辑表达式01000101001100010111010143.逻辑非指令NOT逻辑非(逻辑反)运算规则:原来为0的位变成1,原来为1的位变成0逻辑非指令NOT:按位进行逻辑非,结果返回操作数NOT
3、reg/mem;逻辑非:reg/mem←~reg/mem不影响状态标志位TA真值表非门电路逻辑表达式0110TAT=A0100010110111010~54.逻辑异或指令XOR逻辑异或(逻辑半加)运算规则:两位不同(相异),则结果是1;否则,结果是0逻辑异或指令XOR:按位进行逻辑异或,结果返回目的操作数XORdest,src;逻辑或:dest←destsrc设置CF=OF=0影响SF,ZF和PFTAB010001010011000101110100110011101000TBAT=AB真值表异或门电路逻辑表达式6〔例〕逻辑运算程序-1;定义数据段:varAdword11001010
4、000111100101010101001101BvarBdword00110111010110100011010111100001BvarT1dword?varT2dword?moveax,varA;EAX=11001010000111100101010101001101Bnoteax;EAX=00110101111000011010101010110010Bandeax,varB;EAX=00110101010000000010000010100000B7movebx,varB;EBX=00110111010110100011010111100001Bnotebx;EBX=110010
5、00101001011100101000011110Bandebx,varA;EBX=11001000000001000100000000001100Boreax,ebx;EAX=11111101010001000110000010101100BmovvarT1,eax8〔例〕逻辑运算程序-2moveax,varAxoreax,varB;EAX=11111101010001000110000010101100BmovvarT2,eax;moveax,varT1;二进制形式显示VART1calldispbdcalldispcrlf;换行显示moveax,varT2;二进制形式显示VART2c
6、alldispbd运行结果9111111010100010001100000101011001111110101000100011000001010110010逻辑运算的屏蔽作用AND指令复位某些位(同0与),不影响其他(同1与)OR指令置位某些位(同1或),不影响其他(同0或)XOR求反某些位(同1异或),不影响其他(同0异或)andbl,11110110b;BL中D0和D3清0,其余位不变orbl,00001001b;BL中D0和D3置1,其余位不变xorbl,00001001b;BL中D0和D3求反,其余位不变复位Reset:清0,清除Clear置位Set:置1大写=小写ANDDFH
7、小写=大写OR20Hxoreax,eaxsubeax,eaxmoveax,0115.测试指令TEST按位进行逻辑与运算,不返回逻辑与结果TESTdest,src;作逻辑与运算:destsrcTEST指令像AND指令一样来设置状态标志TEST指令常用于检测一些条件是否满足,一般后跟条件转移指令,目的是利用测试条件转向不同的分支AND与TEST?TEST与CMP?123.6.2移位指令逻辑左移指令SHL逻辑右移指令SHR算