Different .HEX code when Assembler SRC is selected C51 V6.10

Is there a bug? I have a well debugged and tested C program, that works fine with a normal compile. (Optimization Level 8, emphasis on code size ) It does not work correct when I enable the Assembler SRC generation and assemble the SRC files.

The bytes of code generated are exactly the same, but a comparison of the 2 resultant *.HEX files shows some differences. The differences occur near the beginning of the .hex file, and then the files are identical for the rest of the 3600+ bytes. Can anyone help?

Parents
  • As far as the Linker is concerned, the object created via SRC is an Assembler-generated object - not 'C'.

    There are some differences in the way the Linker treats Objects from the Assembler & the 'C' compiler; eg runtime support and optimisations.

    The C51 manual lists Optimisation level 8 as a Linker optimisation - so that could make the difference?

Reply
  • As far as the Linker is concerned, the object created via SRC is an Assembler-generated object - not 'C'.

    There are some differences in the way the Linker treats Objects from the Assembler & the 'C' compiler; eg runtime support and optimisations.

    The C51 manual lists Optimisation level 8 as a Linker optimisation - so that could make the difference?

Children
More questions in this forum