We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I'm using C51 V6.12 C source file is like this: void I2CWrite(unsigned char D,bit ConvToBCD) { #pragma asm ..... #pragma endasm } unsigned char I2CRead(bit ACK,bit ConvToBin) { #pragma asm ..... #pragma endasm } complied with C51: ?PR?I2CRead?IO_INT SEGMENT CODE ?BI?I2CRead?IO_INT SEGMENT BIT OVERLAYABLE ?PR?_I2CWrite?IO_INT SEGMENT CODE ?DT?_I2CWrite?IO_INT SEGMENT DATA OVERLAYABLE ?BI?_I2CWrite?IO_INT SEGMENT BIT OVERLAYABLE PUBLIC ?_I2CWrite?BIT PUBLIC _I2CWrite PUBLIC ?I2CRead?BIT PUBLIC I2CRead RSEG ?DT?_I2CWrite?IO_INT ?_I2CWrite?BYTE: D?142: DS 1 ;******* RSEG ?BI?_I2CWrite?IO_INT ?_I2CWrite?BIT: D?142: DS 1 ;****** ConvToBCD?143: DBIT 1 RSEG ?BI?I2CRead?IO_INT ?I2CRead?BIT: ACK?040: DBIT 1 ConvToBin?041: DBIT 1 there is Two "D?142" one is in ?_I2CWrite?BIT: and A51 can't compile it. which is compiled OK with C51 V6.02