Cx51 User's Guide

Atmel 89x8252 and Variants

The Atmel 89x8252 and variants provide 2 data pointers which may be used for memory access. Using multiple data pointers may improve the speed of library functions like memcpy, memmove, memcmp, strcpy, and strcmp.

The MODA2 directive instructs the Cx51 Compiler to generate code that uses both data pointers in your program.

The Cx51 Compiler uses at least one data pointer in an interrupt function. If an interrupt function is compiled using the MODA2 directive, both data pointers are saved on the stack. This happens even if the interrupt function uses only one data pointer.

To conserve stack space, you may compile interrupt functions with the NOMODA2 directive. The Cx51 Compiler does not use the second data pointer when this directive is used.