Keil Logo

COMPACT Compiler Directive

Abbreviation

CP

Arguments

None.

Default

SMALL

µVision

Options — Target — Memory Model.

Description

This directive selects the COMPACT memory model.

In the COMPACT memory model, all function and procedure variables and local data segments reside in the external data memory of the 8051 system. This external data memory may be up to 256 bytes (one page) long. With this model, the short form of addressing the external data memory through @R0/R1 is used.

Regardless of memory model type, you may declare variables in any of the 8051 memory ranges. However, placing frequently used variables (such as loop counters and array indices) in internal data memory significantly improves system performance.

Note

  • The stack required for function calls is always placed in IDATA memory.
See Also

LARGE, ROM, SMALL

Example
C51 SAMPLE.C COMPACT

#pragma compact

Related Knowledgebase Articles

  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.