Keil Logo

Overlaying Segments

If the overlay process is executed during program linking and locating, it is important that each assembler subroutine have a unique program segment. This is necessary so that during the overlay process, the references between the functions are calculated, using the references of the individual segments.

The data areas of the assembler subprograms may be included in the overlay analysis when the following points are observed:

  • All segment names must be created using the Cx51 Compiler segment naming conventions.
  • Each assembler function with local variables must be assigned its own data segment. This data segment may be accessed by other functions only for passing parameters. Parameters must be passed in order.

The following C functions are used in all of these examples:

int function (
  int v_a,       /* passed in R6 & R7 */
  char v_b,      /* passed in R5 */
  bit v_c,       /* passed in fixed memory location */
  long v_d,      /* passed in fixed memory location */
  bit v_e);      /* passed in fixed memory location */
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.