MOV A #AAH ;将累加器赋值10101010
ORG A R2 ;将R2或到累加器中得R2奇数位(偶数位为1)
CPL A ;将累加器取反,即R2奇数位取反(偶数位为0)
MOV R3 A ;将累加器内容放入R3
MOV A #0AAH 将累加器赋值10101010
ANL A R2 ;将R2与到累加器中R2偶数位(奇数位为0)
ORG A R3 ;将R3或到累加器中,即R2奇数位的反与R2偶数位求或
MOV R2 A ;将结果赋到R2中
R2 不能直接进行计算,必须把数据传送到A中,才能计算。
所以,正确的程序如下:
MOV A, R2
XRL A. #1010 1010B
MOV R2, A
指令如下:
MOV A,R2
ANL A,#55H
MOV B,A
MOV A,R2
CPL A
ANL A,#55H
ORL A,B
MOV R2,A
让他与一个数0xaa进行异或
(R2中的数据 与 AAh) 或 (非(R2中的数据 与 55h) )