2.3.3 逻辑运算类指令
更新于 2026年10月10日
版权声明
2.3.3 逻辑运算类指令
逻辑运算类指令(Logical Instructions)共24条。逻辑运算按位执行,只有目的操作数为累加器A时才影响奇偶标志位P,带进位的移位指令影响进位位CY。
1.单操作数的逻辑操作指令
(1)CPL累加器取反

例:设(A)=89H=10001001B,执行CPLA,结果(A)=01110110B=76H。
(2)CLR累加器清零
CLR A ;(A)←0,把A中内容清为0
(3)RL不带进位循环左移

例:设(A)=90H=10010000B,执行RLA,结果(A)=00100001B=21H。
(4)RR 不带进位循环右移

(5)RLC带进位循环左移

例:设(A)=10H=00010000B,(CY)=1,执行RLCA,结果(A)=00100001B=21H,(CY)=0。
(6)RRC带进位循环右移
(https://www.daowen.com)
2.双操作数逻辑操作指令
(1)ANL逻辑“与”运算(6条,按位进行,两位同为“1”结果才为“1”)

例:设(A)=25H,(36H)=AAH,执行ANLA,36H

结果(ACC)=20H,(36H)=AAH,(P)=1
例:屏蔽(36H)=AAH的低4位(相当于清零),执行ANL36H,#0F0H

结果(36H)=A0H
(2)ORL逻辑“或”运算(6条,按位进行,两位有一位为“1”结果便为“1”)

例:提取端口(P1)=AAH的高4位(使之保持不变),执行ORLP1,#0FH

(3)XRL逻辑“异或”运算(6条,按位进行,两位不相同时结果才为“1”)

例:设(28H)=3AH,执行XRL28H,#5CH

结果(28H)=66H