大众信息网

问几个单片机程序问题

关注:260  答案:3  手机版
解决时间 2021-02-08 16:25
1. MOV A,#00H
ADDC A,#00H
这个两条程序什么意思(这个我从程序中抽出出来的,其他都看得明),解释一下
2. (A)=86H 那么 执行ANL A,#1AH; 之后,为什么A=02H 详细解释一下,是怎样个“与”法 还有 执行ORL A,#1AH;之后A为什么为9EH
最佳答案
1,MOV A,#00H;将00H赋值给累加器A
ADDC A,#00H;累加器A中的值加上00H结果存放在A中,通常作用是取标志位

2 ANL和ORL都是位运算。
A = 86H = 10000110B
ANL 1AH = 00011010B
---------------------
结果是02H = 00000010B
ORL的道理也是同样,不过逻辑换成或。

这两道题都是最基础最基础的指令运用而已,如果你连这个都还没弄明白,说明你基础还是有待提高。建议你先买一本汇编的数据系统的看一遍。这样囫囵吞枣的学习方面对你没好处。
全部回答
用软件 汇编指令查询器 来查吧,这是受人以渔 而不是受人以鱼
这样的问题好歹也贴点赏分上来呀,10分也行啊。 不过还是给你回答吧。 MOV A,#00H 是将实数00H就是十六进制数0写入ACC ADDC A,#00H,这句就没有什么意义了,将ACC加0并带有进位功能。加0不等于白加吗。 ANL 是有两数各位相与,任何一数中有0该位就为0 如:1. 0 送到A 带进位加 即进位位和0 相加 ,结果送给A。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!