L166 User's Guide

Aligning Sections

Each section must have one of the following alignment attributes:

Alignment TypeDescription
BITSections of this type may be located at any bit address in the bit-addressable memory space.
BYTESections of this type may be located at any memory address.
WORDSections of this type may be located at a memory address that is a multiple of 2 (0, 2, 4, 6, ...).
DWORDSections of this type may be located at a memory address that is a multiple of 4 (0, 4, 8, 12, ...).
PAGESections of this type may be located at a page boundary which is the starting address of a 16K memory page (0, 0x4000, 0x8000, 0xC000, ...).
SEGMENTSections of this type may be located at a segment boundary which is the starting address of a 64K memory segment (0, 0x10000, 0x20000, 0x30000, ...).
PECADDRESSABLESections of this type may be located at a memory address in segment 0 (address range 0x0000-0xFFFF) that is a multiple of 2 (0, 2, 4, 6, ...).

Alignment attributes other than BIT and BYTE may result in a gap between combined sections. For example, when two DWORD-aligned sections are combined, a gap occurs if the length of the first section length is 1, 2, or 3. This is due to the DWORD alignment type of the second section which causes it to begin on a DWORD boundary.