LX51 User's Guide

Memory Classes

A class is an arbitrarily ordered collection of segments that share a common attribute. The purpose of a class is to allow manipulation of a number of segments using only the class name. For instance, the code objects from all modules in a program are combined into the CODE class while the xdata objects are combined into the XDATA class.

You may use the CLASSES linker directive to specify the address range for a class rather than specifying the addresses for each segment individually.

The following default classes are generated automatically by the linker. However, any number of user classes may be created and linked.

Memory
Class
Address
Range
Description
BITI:20h.0-I:2Fh.7Bit memory limited to 16 Bytes.
CODEC:0000h-C:0FFFFhCode memory limited to 64 KBytes.
CONSTC:0000h-C:0FFFFhConstant data limited to 64 KBytes.
DATAD:00h-D:7FhVariable data limited to 128 Bytes and accessed using the MOV instructions.
HCONSTC:000000h-C:0FFFFFFhConstant data limited to 16 MBytes.
HDATAX:000000h-X:0FFFFFFhVariable data limited to 16 MBytes.
IDATAI:00h-I:0FFhVariable data limited to 256 Bytes and accessed using the MOV @Rx instructions.
XDATAX:0000h-X:0FFFFhVariable data limited to 64 KBytes and accessed using the MOVX instruction.