在单片机中,ANL和ORL在数与数之间是怎么计算的??

如题所述

1、ANL 位与运算,就是二进制数字一位一位进行与运算: 0*1=0, 1*1=1...

比如说07H(0000 0111)和A1H(1010 0001)进行位与运算,就一位一位地与:

0000 0111

*1010 0001

---------------

0000 0001

就变成了01H。代码可以写成:

A=07H

ANL A, #A1H

运行出来A里面就是01H。

向左转|向右转

2、ORL 位或运算,就是二进制数字一位一位进行或运算: 0+1=1, 1+1=1...

比如说07H(0000 0111)和A1H(1010 0001)进行位或运算,就一位一位地或:

0000 0111

+1010 0001

---------------

1010 0111

运算结果就是A7H。代码可以写成:

A=07H

ORL A, #A1H

运算结果就是A7H。

扩展资料:

ANL 位与运算

ORL 位或运算

0FH = 0000 1111 h
80H = 0100 0000 h
或后= 0100 1111 h = 8FH

所以A=0FH,执行ORL后是8FH

0FH = 0000 1111 h

88H = 0100 0100 h

与后= 0000 0100 h = 08H

所以A=0FH,执行ANL A,#88H后是08H

口诀:

与 有0则0
或 有1则1

参考资料来源:百度百科-汇编语言

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-09

1、ANL 位与运算,就是二进制数字一位一位进行与运算: 0*1=0, 1*1=1...

比如说07H(0000 0111)和A1H(1010 0001)进行位与运算,就一位一位地与:

0000 0111

*1010 0001

---------------

0000 0001

就变成了01H。代码可以写成:

A=07H

ANL A, #A1H

运行出来A里面就是01H。

2、ORL 位或运算,就是二进制数字一位一位进行或运算: 0+1=1, 1+1=1...

比如说07H(0000 0111)和A1H(1010 0001)进行位或运算,就一位一位地或:

0000 0111

+1010 0001

---------------

1010 0111

运算结果就是A7H。代码可以写成:

A=07H

ORL A, #A1H

运算结果就是A7H。

扩展资料:

除了ANL和ORL外,在汇编语言中还有个很常见的位运算是XRL。

XRL就是位异或操作,同样以上面的07H和A1H进行举例

0000 0111

⊕1010 0001

---------------

1010 0110

运算结果就是A6H,代码可以写成:

A=07H

XRL A, #A1H

参考资料:

百度百科-汇编语言

本回答被网友采纳
第2个回答  2013-07-26
anl就是与啊。比如A=0101B,R1=1001B.ANL A,R1 结果A为0001BORL就是或运算。比如A=0101B,R1=1001B.ANL A,R1 结果A为1101本回答被网友采纳
相似回答