#283 Little endians and the hc08

Gary Osborn

The hc08 system reverses the byte order of the ret2 and ret3 portion of
4-byte values returned by functions. The inconsistency has no adverse
consequencess for the hc08, as it moves 32 bit values in 8 bit chunks,
but the hcs08 can usually move large data items in 16 bit chunks, and
the reversed byte order makes optimization for the hcs08 impossible.
The attached files transfer 32 bit results in a consistent big endian
format. The library must be rebuilt after incorporating the changes.

The new version also shows the name of variables on the SP stack as a
comment, which makes the assembly language output files more readable
when the code is compiled with the --stack-auto option. There are other
cosmetic changes to enhance legibility, and to provide a better
foundation for the hcs08 upgrade.

The corrections for bug 1579949 must be completed before these changes
will pass the hc08 regression test with the --stack-auto option. For
preliminary testing, simply delete file
SDCC/support/regression/tests/bug1579949.c The bug has no connection
with these revisions. See bug 2912013 for more info.


  • Gary Osborn
    Gary Osborn

    SDCCpeeph.c, gen.c

    • labels: 587905 -->
    • milestone: 100457 -->