mcs-51单片机

来源:百度知道 编辑:UC知道 时间:2024/05/22 02:13:41
已知:(A)=78H,(R1)=78H,(B)=04H,CY=1,
片内RAM(78H)=ODDH,(80H)=6CH试分别写出下列指令执行后目标单元的结果和相应标志位的值.
(1)ADD A,@R1
(2)SUBB A,#77H
(3)MUL AB
(4)DIV AB
(5)ANL 78H,#78H
(6)ORL A,#OFH
(7)XRL 80H,A
要详细解答:解答的满意另加+20 67H+AOH=107H 怎么算的?=107H
2楼的这样算也太复杂了吧
67H
+)A0H
---
107H 原因是每逢16进10

怎么都没实事求是的回答啊。。
其实用windows里面的计数器有16进制的运算和16转10转8转2进制的运算,非常好用

1.是A里面的和78H单元内的数相加=F0H
2.subb有标志位运算,所以是A里面的数减77H再减Cy的值=0
3.MUL是A乘B,所以=1E0
4.DIV是A除B,所以=1E
5.ANL是与指令,把78H化成2进制为01001100B,那么就是把A的7,5,4,1,2清零。那么A的值为78H
6.0FH化成2进制是00001111B,ORL指令把为1位的置1,其他不变,所以A的低四位全部置1,所以A的值为7FH
7.XRL是异或指令,A的值2进制为01111000B,XRL 80H,A意思为源操作数的1位取反,其他为0,80H的数2进制为10000000B取反后为
111111000B
最后67H+AOH=107H 用计数器可以算

其实学单片机最好拿个软件来模拟一下,这样效果会很好,我认为WAVE6000不错。迅雷有得下

你看不懂吗?
我给你回答一下
不过你计算一下是不是正确.....应该是正确的!
1.是将@R1和累加器A相加结果是F0
2.是将累加器和立即数77H相减#1H
3.是将AB相乘1E0
4.是将A除以B结果是1E
5.这是一个与指令是将78H和#78H相与结果是78H
6.这是一个或指令结果是A
7.这是一个异或指令结果是80H
这是我的回答记得要给我分数啊!
还应该感谢我的回答.....