导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→C51编程:please help me!

* 3395: C51编程:please help me!

   flyfish 
flyfish发表的帖子 

 C51编程:please help me!
各位论坛朋友:
你们好!
近一个月来,我边学c51边编程,感觉收益挺大,用c编程比汇编编程,可读性可修改性强多
了,我就是看了论坛而决定用c51编程,并且论坛各位朋友的精彩解答帮我解决了许多的疑
惑,感谢论坛!
我在最近的编程中碰到一个比较奇怪的现象,请各位朋友帮忙。
c语句:
#define uchar unsigned char
uchar data org_bj_state;
void check_port(void)
{
 ACC=P0;
 ACC^=org_bj_state;
}
translate通过,no warnings,no errors
其.src汇编语句为:
mov a,p0
mov a,org_bj_state
xrl a,acc
看其汇编语句,与我设想的要求显然不同,我将上段c语句改为如下:
void check_port(void)
{
 uchar temp_data;
 temp_data=P0;
 temp_data^=org_bj_state;
 ACC=temp_data;
}
则其汇编的语句执行过程为:
读取P0口的值,将P0口的值与存储器org_bj_state中值异或,结果送A中.

通过上边的现象,我发觉在c51中累加器A有一些特别使用注意的地方,从买的c51的书中又查
不到有关A的特别注意的地方,请各位朋友解惑?(是否因为^的两边运算对象为变量,而A不合
规定)


发表时间:2001年12月10日18:17:00

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  3411.[详细]在c语言里,不要对a 和r0-r7,dptr等操作。
摘要:......(无内容)
- [老古][1234次] 2001年12月11日

  3420.[详细]除了R0-R7,其它都可直接操作,只不过注意在不被改变的条件下使用。
摘要:......(无内容)
- [《农民运动讲习所》所长][1203次] 2001年12月11日

[上一篇帖子]:谁有,请也给我一个?谢谢zh_lyp@163.com
[下一篇帖子]:初学者:请教各前辈小弟想做一个万年历, 用DS1302的电路图及程序先谢了,