FARRAY
The FARRAY macro accesses an array of a specified type in the far memory area (the HDATA memory class). You may use this macro in your programs as follows:
#include <absacc.h> /* Include Macro Definitions */
.
.
.
int i;
long l;
l = FARRAY (long, 0x8000)[i];
FARRAY (long, 0x8000)[10] = 0x12345678;
#define DualPortRam FARRAY (int, 0x24000)
DualPortRam [i] = 0x1234;
.
.
.
This macro scales the index by the size of the specified type and adds the result to specified address. The result is the memory address used.
Note
- With Dallas Contiguous Mode you may only address the memory area X:0 - X:0x7EFFFF.
- Objects accessed using this macro may not cross a 64KB segment boundary. For example, you cannot access a long array that starts at address 0xFFFE.
Related Knowledgebase Articles