Keil™, An ARM® Company

Cx51 User's Guide

SMALL Compiler Directive

Abbreviation SM
Arguments None.
Default SMALL
µVision Options — Target — Memory Model.
Description 

This directive selects the SMALL memory model that places all function variables and local data segments in the internal data memory of the 8051 system. This allows very efficient access to data objects. The address space of the SMALL memory model, however, is limited.

Regardless of memory model type, you may declare variables in any of the 8051 memory ranges. However, placing frequently used directives (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.
  • Always start by using the SMALL memory model. Then, as your application grows, you can place large variables and data in other memory areas by explicitly declaring the memory area with the variable declaration.
See Also COMPACT, LARGE, ROM
Example 
C51 SAMPLE.C SMALL

#pragma small

Related Knowledgebase Articles