This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

CARM 1.3 bug?

I've port C source from C51 to CARM
but CARM compiler seem has bug in comparison.

#include <lpc210x.h>

//DKARM 1.3h
//----------
//AA MACRO ASSEMBLER V0.10a
//CA ARM COMPILER V0.10a
//LA ARM LINKER/LOCATER V0.10c

unsigned char test(void) {
    return(0xEE);
}

void main(void) {
    unsigned char K;
    K=test();
    if ((K&0x0F)!=0x0F) {
        //0xEE&0x0F=>0x0E
        //0x0E!=0x0F
        //but this block don't enter
        while (1);
    }
    else {
        while (1);
    }
}

Parents
  • "I've port C source from C51 to CARM"

    On a general note, beware that the 8051 is an 8-bit processor, and ARM is 32-bit.

    You need to pay very careful attention to issues like data type sizes, byte ordering, and anywhere that your code has relied upon the specific details of the 8051 and/or C51.

Reply
  • "I've port C source from C51 to CARM"

    On a general note, beware that the 8051 is an 8-bit processor, and ARM is 32-bit.

    You need to pay very careful attention to issues like data type sizes, byte ordering, and anywhere that your code has relied upon the specific details of the 8051 and/or C51.

Children