作者iamtops (Tops)
看板ASM
标题[问题] _cror_有bug还是我的问题呢?
时间Wed Jun 27 18:00:45 2012
板上高手好 小弟有个程式debug很久了总是无解
而且当我开始使用_cror_ 与_crol_这两个funciton以来
总是会有莫名奇妙出错的问题
所以在这边想要请各位高手帮我看一下
以下是跑马灯的程式
#include <at89x51.h>
#include <intrins.h>
typedef unsigned char uchar;
uchar x;
sfr Data=0x80;
uchar LEDON() //Led on
{
data uchar tmp;
tmp=Data;
tmp=_crol_(tmp,1);
return tmp;
}
void main()
{
Data=0x01;
while(1)
{
Data=LEDON();
}
}
bug是 不知道为什麽到了某一段 tmp总会自己变成零
但是
_cror_与 不就是一直 rotate吗?
怎麽会有我这样的状况出现呢? 请高手帮我解答一下
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.171.230.227
1F:推 WolfLord:CALL过程中CFLAG会发生变化 06/27 19:19
2F:→ iamtops:狼大,看不懂!可否明示! 06/27 22:52
3F:→ WolfLord:CROR会连C FLAG一起转,当你在DO WHILE时CFLAG会变化,所 06/28 20:43
4F:→ WolfLord:以你在CALL时会把MAIN 的FLAG带进去。你应该先储存C再离 06/28 20:44
5F:→ WolfLord:开副程式 06/28 20:44