1 .求反指令 NOT 语句格式: NOT OPD 功能:将目的地址中的内容逐位取反后送入目的地址。即( OPD ) 取反→ OPD 【例】逻辑非运算。 MOV AX , 878AH ; (AX)=878AH ; 1000 0111 1000 1010 B NOT AX , ;( AX ) =7875H 2 逻辑乘指令 AND 语句格式: AND OPD , OPS 功能:将目的操作数和源操作数进行逻辑乘运算,结果存目的地址。 即( OPD )∧( OPS )→ OPD 。 该指令用于清除目的操作数中与源操作数置 0 的对应位。说明:逻辑乘的运算法则为: 1 ∧ 1=1 , 1 ∧ 0=0 , 0 ∧ 1=0 , 0 ∧ 0=0 【例】将 AL 中第 3 位和第 7 位清零。 MOV AL , 0FFH AND AL , 77H ;0111 0111 B
3 测试指令 TEST 语句格式: TEST OPD , OPS 功能:源地址和目的地址的内容执行按位的逻辑乘运算,结果不送入目的地址。 即( OPD )∧( OPS )。 【例】测试 AX 中的第 12 位是否为 0 ,不为 0 则 转 L 。 TEST AX , 1000H ; 0001 0000 0000 0000B JNE L
4 逻辑加指令 OR 语句格式: OR OPD , OPS 功能:将目的操作数和源操作数进行逻辑加运算,结果存目的地址。 即( OPD )∨( OPS )→ OPD 。 说明:逻辑加的运算法则为: 1 ∨ 1=1 , 1 ∨ 0=1 , 0 ∨ 1=1 , 0 ∨ 0=0 。 【例】将 AL 寄存器中第 3 位和第 7 位置 1 。 MOV AL , 0 OR AL , 88H
5 按位加指令 XOR 语句格式: XOR OPD , OPS 功能:目的操作数与源操作数做按位加运算,结果送入目的地址。 即( OPD )⊕ (OPS) → OPD 。 说明:按位加的运算法则为; 1 ⊕ 1=0 , 1 ⊕ 0=1 , 0 ⊕ 1=1 , 0 ⊕ 0=0 。 【例】按位加运算。 MOV AL , 45H ;( AL ) =45H XOR AL , 31H ;( AL ) =74H
|