The following example places the ?DT?A and ?DT?B segments at 28h and 30h in DATA memory:
LX51 A.OBJ,B.OBJ SEGMENTS (?DT?A(D:0x28),?DT?B(D:0x30))
The following example specifies the order for the ?DT?A, ?DT?B, and ?DT?C segments. These segments start at the beginning of the memory class (the DATA class in this example). All other segments in the DATA class are located AFTER these segments.
LX51 A.OBJ,B.OBJ,C.OBJ SEGMENTS(?DT?A,?DT?B,?DT?C)
The following example places the ?PR?FUNC2?B segment in code bank 0 and the ?PR?FUNC2?A segment in code bank 1 at address 8000h.
LX51 BANK0 {A.OBJ}, BANK1 {B.OBJ} &
SEGMENTS(?PR?FUNC2?B (B0:), ?PR?FUNC1?A (B1:0x8000))
The following example locates the ?DT?B segment as the last segment in the DATA class.
LX51 A.OBJ,B.OBJ,C.OBJ SEGMENTS(?DT?B(LAST))
The following example locates the ?PR?SUM?B segment so that it ends at address 0FF7FFFFh in the CODE class.
LX51 A.OBJ,B.OBJ SEGMENTS(?PR?SUM?B(^0xFF7FFFF))
The following example assigns the ?PR?FUNC1?A segment an execution address of 4000h and a storage address of 0FF8000h. Memory is reserved at 4000h for the executable copy of this segment.
LX51 A.OBJ SEGMENTS(?PR?FUNC1?A(0x4000)[0xFF8000])
The following example assigns the ?PR?FUNC1?A segment an execution address of 4000h and a storage address of 0FF8000h. Memory is reserved at 4000h for the executable copy of this segment.
LX51 A.OBJ SEGMENTS(?PR?FUNC1?A(0x4000)[0xFF8000])
The following example assigns the ?PR?FUNC1?A segment an execution address of 2000h. The segment is stored in the SROM memory class. Memory is not reserved for the executable copy of this segment.
LX51 A.OBJ SEGMENTS(?PR?FUNC1?A(0x2000)[!])
|