一.逻辑运算指令逻辑运算指令用来对字或字节按位进行逻辑运算,包括逻辑与and.逻辑或or.逻辑非not.逻辑异或xor与测试test五条指令.1.逻辑与指令andand dest,src ;des←dest∧src(符号∧表示逻辑与)and指令对两个操作数执行按位的逻辑与运算:即只有相“与”的两位都是1,结果才是1;否则,“与”的结果为0.逻辑与的结果送到目的操作数.用and指令可以将一个字节或字中的某些特定位清零,或者说将某些位截取下来.如将ascii码的高4位清零,亦即截取低4位,假设这个ascii码已在al中,则and al,00001111b就会将al中的低4位截取下来,将al中的高4位清零.其中00001111b称为逻辑乘常数.and指令及后面介绍的其他双操作数逻辑指令or.xor与test,源操作数可以是任意寻址方式,而目的操作数只能是立即数之外的其他寻址方式,并且两个操作数不能同时为存储器寻址方式.所有双操作数的逻辑指令均设置cf=of=0,根据结果设置sf.zf与pf状态,而对af未定义.2.测试指令testtest dest,src ;dest∧src(符号∧表示逻辑与)test指令对两个操作数执行按位的逻辑与运算,但结果不回送目的操作数.test指令执行的操作与and相同,但不保存执行结果,只根据结果来设置状态标志.test指令通常用于检测一些条件是否满足,但又不希望改变源操作数的情况,这条指令之后,一般都是条件转移指令,目的是利用测试条件转向不同的程序段.... 下一页