Keil Logo

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

  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.