📄 b2bcd.c
字号:
long int2bcd(int I)
{
UC CONT=16;
union BCDRES
{
long Y;
unsigned char BCD[3];
}BCDULT;
BCDULT.Y=0;
while(1)
{
NOP();
I=I<<1;
if(CARRY)
{
BCDULT.Y=BCDULT.Y<<1;
BCDULT.Y++;
}
else
BCDULT.Y=BCDULT.Y<<1;
CONT--;
if(!CONT)
break;
if(BCDULT.BCD[0]+3&8)
BCDULT.BCD[0]=BCDULT.BCD[0]+3;
if(BCDULT.BCD[0]+0x30&0x80)
BCDULT.BCD[0]=BCDULT.BCD[0]+0x30;
if(BCDULT.BCD[1]+3&8)
BCDULT.BCD[1]=BCDULT.BCD[1]+3;
if(BCDULT.BCD[1]+0x30&0x80)
BCDULT.BCD[1]=BCDULT.BCD[1]+0x30;
if(BCDULT.BCD[2]+3&8)
BCDULT.BCD[2]=BCDULT.BCD[2]+3;
if(BCDULT.BCD[2]+0x30&0x80)
BCDULT.BCD[2]=BCDULT.BCD[2]+0x30;
}
return BCDULT.Y;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -