|
楼主 |
发表于 2015-2-10 14:30:16
|
显示全部楼层
本帖最后由 hzpyl 于 2015-2-10 14:32 编辑
#define rlcx(X) ACC=(X),CY=(bit)((X)&0x80),(X)=ACC //产生 RLC X 指令,MOV A,X; RLC A; MOV X,A
//==================================================================
void YK_Data_in_bit(bit b_c)
{
bit CY;
CY = b_c;
rlcx(YK_Data[0]);
rlcx(YK_Data[1]);
rlcx(YK_Data[2]);
rlcx(YK_Data[3]);
============================================================
38: void YK_Data_in_bit(bit b_c)
39: {
40: bit CY;
41:
42: CY = b_c;
C:0x180B A210 MOV C,0x22.0
C:0x180D 9211 MOV 0x22.1,C
43: rlcx(YK_Data[0]);
C:0x180F E523 MOV A,YK_Data(0x23)
C:0x1811 33 RLC A
C:0x1812 9211 MOV 0x22.1,C
C:0x1814 F523 MOV YK_Data(0x23),A
44: rlcx(YK_Data[1]);
C:0x1816 E524 MOV A,0x24
C:0x1818 33 RLC A
C:0x1819 9211 MOV 0x22.1,C
C:0x181B F524 MOV 0x24,A
45: rlcx(YK_Data[2]);
C:0x181D E525 MOV A,0x25
C:0x181F 33 RLC A
C:0x1820 9211 MOV 0x22.1,C
C:0x1822 F525 MOV 0x25,A
46: rlcx(YK_Data[3]);
C:0x1824 E526 MOV A,0x26
C:0x1826 33 RLC A
C:0x1827 9211 MOV 0x22.1,C
C:0x1829 F526 MOV 0x26,A
程序可以。
但每句多了一个MOV 0x22.1,C |
|