目录
逻辑运算也是有结果的
① NOT 取反指令 (Logical Not)
NOT 目的
(1)功能:将目的操作数取反,1变成0,0变成1,结果送回目的操作数。
(2)工作特点:
- 指令执行后,对标志位无影响。
- NOT 指令只有一个操作数。
- 目的操作数可以8位或16位寄存器或存储器。
(3)要求:
- 目的操作数是存储器时,需指明其类型是字或字节。
② AND 逻辑与运算 (Logical And)
AND 目的,源
(1)功能:两个操作数全转换为二进制形式,全1为1,有0为0,运算结果送回目标操作数。
(2)工作特点:
- 主要用于使操作数的某些位保留,某些位清楚。
(3)要求:
- 目标操作数只能使寄存器或存储器。
- 两个操作数不能同时位存储器。
- 指令执行后,CF、OF清0,ZF、SF、PF反映操作结果,AF未定义
③ OR 逻辑或指令 (Logical OR)
OR 目标, 源
(1)功能:两个操作数全转换成二进制形式,有1为1,全0为0,运算结果送回目标操作数。
(2)工作特点:
(3)要求:
- 目标操作数只能使寄存器或存储器。
- 两个操作数不能同时位存储器。
- 指令执行后,CF、OF清0,ZF、SF、PF反映操作结果,AF未定义
④ XOR 异或操作指令 (Exclusive OR)
XOR 目标, 源
(1)功能:两个操作数全转换成二进制形式,各位相同为0,不同为1,运算结果送回目标操作数。
(2)工作特点:
(3)要求:
- 目标操作数只能使寄存器或存储器。
- 两个操作数不能同时位存储器。
- 指令执行后,CF、OF清0,ZF、SF、PF反映操作结果,AF未定义
⑤ TEST 测试指令 (Test)
TEST 目标, 源
(1)功能:目的∧源,根据结果改变标志位。
(2)工作特点:
- 指令执行后,两个操作数不变。
- 常用于检测某些条件是否满足,但又不希望改变原操作数。
(3)要求:
- 目标操作数只能使寄存器或存储器。
- 两个操作数不能同时位存储器。
- 指令执行后,CF、OF清0,ZF、SF、PF反映操作结果,AF未定义