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.
|