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

Time to update your compiler

It's time to do some work on you're compiler. It generates the same code it did 20 years ago. I have to do tricks, instead of writing normal portable code, to get it to generate good code or just use inline assembler. This of course is nothing new, I've been telling you this for almost a decade. Keep in mind that all Intel processors are little endian and that you're compiler generates big endian code, why? You should at least offer a compiler switch to select endianness. Why don't you support C++ and MISRA? Oh and BTW IAR does all of the above TODAY! So clearly they haven't been standing still. (Notice who wrote the paper.)

www.eetimes.com/.../The-Inefficiency-of-C--Fact-or-Fiction-

Parents
  • Well Intel disagrees with you and their opinion is the only one that really matters.

    Care giving a citation of an actual statement by Intel, about the MCS51 architecture, that backs up your claim?

    All the registers are little endian

    Nonsense. The vast majority of 8051 registers are single bytes. Endianness can't even be defined for those. So much for "all registers".

    capture 2

    No such thing on an actual 8051.

    timer/counter 0-2

    Care explaining how a 16-bit timer stored in SFR addresses 8A and 8C (with a rather unrelated other SFR in between, at 8B) is little endian in any "CRITICAL" way?

    Oh, and there's no such thing as timer/counter 2 in an actual 8051.

    just read the data books

    Which of the roughly 500 different data books describing 8051 variants in particular?

    Oh, right, you wont't/can't divulge the particulars. Sure. And just because you're paranoid doesn't mean THEY are NOT out to get you.

    forces little endian alignment

    Nobody can force that, because that's a meaningless combination of words.

    So do you work for Keil and are the person that got it backwards in the first place and are now trying to defend that mistake?

    A couple posts before you were trying to discredit me as being too young to know what big-/little endian is about, and now I'm supposed to be none less than the Evil Mastermind that ruined your world? Could you make up your mind?

    Did it ever occur to you that if all the world disagrees with you, this might be because you're plain and simply wrong?

Reply
  • Well Intel disagrees with you and their opinion is the only one that really matters.

    Care giving a citation of an actual statement by Intel, about the MCS51 architecture, that backs up your claim?

    All the registers are little endian

    Nonsense. The vast majority of 8051 registers are single bytes. Endianness can't even be defined for those. So much for "all registers".

    capture 2

    No such thing on an actual 8051.

    timer/counter 0-2

    Care explaining how a 16-bit timer stored in SFR addresses 8A and 8C (with a rather unrelated other SFR in between, at 8B) is little endian in any "CRITICAL" way?

    Oh, and there's no such thing as timer/counter 2 in an actual 8051.

    just read the data books

    Which of the roughly 500 different data books describing 8051 variants in particular?

    Oh, right, you wont't/can't divulge the particulars. Sure. And just because you're paranoid doesn't mean THEY are NOT out to get you.

    forces little endian alignment

    Nobody can force that, because that's a meaningless combination of words.

    So do you work for Keil and are the person that got it backwards in the first place and are now trying to defend that mistake?

    A couple posts before you were trying to discredit me as being too young to know what big-/little endian is about, and now I'm supposed to be none less than the Evil Mastermind that ruined your world? Could you make up your mind?

    Did it ever occur to you that if all the world disagrees with you, this might be because you're plain and simply wrong?

Children
No data