例如 (A)=FAH=11111010B,(R1)=7FH=01111111B
ANL A,Rl; (A)←11111010A01111111
结果为:(A)=01111010B=7AH。
逻辑“与”ANL指令常用于屏蔽(置位)字节中某些位。若清除某位,则用“0”和该位相
与;若保留某位,则用“1”和该位相与。
例如:(Pl)=C5H=11000101B,屏蔽P1口高4位
ANL P1,#0FH;(Pl)←(P0)AND 00001111
结果为:(P1)=05H=00000101B。
2)逻辑“或”指令
ORL A, Rn ;(A)←(A)OR(Rn), 48~4F
ORL A, direct ;(A)←(A)OR(direct), 45 direct
ORL A, @Ri ;(A)←(A)OR((Ri)), 46~47
ORL A, #data ;(A)←(A)OR#data , 44 data
ORL direct, A ;(direct)←(direct)OR (A), 42 direct
ORL direct, #data
;(direct)←(direc)OR #data ,43 direct data
功能:将两个操作数的内容按位进行逻辑或操作, 并将结果送回目的操作数的单元中。
例: 若(A)=C0H, (R0)=3FH, (3F)=0FH
执行指令:ORL A,@R0 ;(A)←(A)OR((R0)
结果为:(A)=CFH
例: 根据累加器A中4~0位的状态,用逻辑与、或指令控制P1口4~0位的状态,Pl
口的高3位保持不变。
ANL A,#00011111B;屏蔽A的高3位
ANL P1,#11100000B;保留P1的高3位。
ORL P1 A;
若上述程序执行前:
(A)=B5H=10110101B,(Pl)=6AH=01101010B,
则执行程序后
(A)=15H=00010101B,(Pl)=75H=01110101B
3) 逻辑“异或”指令
XRL A, Rn ;(A)←(A) XRL(Rn), 68 ~ 6F
XRL A, direct ;(A)←(A) XRL (direct), 65 direct
XRL A, @Ri ;(A)←(A) XRL ((Ri)), 66 ~ 67
XRL A, #data ;(A)←(A) XRL #data, 64 data
XRL direct, A ;(direct)←(direct) XRL(A), 62 direct
XRL direct, #data
; (direct)←(direct) XRL #data, 63 direct data
功能: 将两个操作数的内容按位进行逻辑异或操作, 并将结果送回到目的操作数的单元
中。