whose 8051 cc omits the insignificant bytes of call instructions

From: PPAATT (ppaatt_at_aol.com)
Date: 01/10/04

  • Next message: Mark Lorenzen: "Re: Certified C compilers for safety-critical embedded systems"
    Date: 10 Jan 2004 14:15:36 GMT
    
    

    > Subject: whose 8051 cc overlays static inline stack frames

    And is there any persuading 8051 cc folk to work to eliminate the waste of the
    call instruction?

    People I know in real life are actually shipping a chipset whose effective cost
    pointlessly includes an external memory merely because their C compiler doesn't
    know how to eliminate the call instruction. They consequently blew out of
    masked rom space within their die.

    That is, they ship code that doesn't fit:

    _asm { call a; call b; call c; ... }

    Even though they have the time for code that does fit to work:

    { a, b, c ... }

    And indeed they have time for the more extremely smaller alternative to work:

    { '\0', '\1', '\2', ... }

    What they don't have people/ time for is the translation by hand. And they're
    too invested in vendor-specific extensions to contemplate switching compiler
    vendors. But again, so far as I know, offline, there's no convincing the
    compiler vendor that this is a problem worth solving, so I'm here now, hi.

    Maybe someone somewhere sells a translator from 8051 machine code back to 8051
    machine code that disassembles and reassembles the code image in order to omit
    the insignificant bytes of the call instructions? We could feed in a symbol
    table to let us declare which code we don't want compressed.

    Thanks in advance, Pat LaVarre
    http://members.aol.com/ppaatt/losslessc/
    http://plavarre.blog-city.com/


  • Next message: Mark Lorenzen: "Re: Certified C compilers for safety-critical embedded systems"