1.1.1 $A or $ALIGN : Align Data

The {$ALIGN directive can be used to select the data alignment strategy of the compiler for records. It takes a numerical argument which can be 1, 2, 4, 8, 16 or 32, specifying the alignment boundary in bytes. For these values, it has the same effect as the {$PACKRECORDS} directive (see section 1.1.58, page 143).

Thus, the following

{$A 8}

is equivalent to

{$PACKRECORDS 8}

and specifies to the compiler that all data inside a record should be aligned on 8 byte boundaries.

In MACPAS mode, additionally it can have the following values:

MAC68K
Specifies alignment following the m68K ABI.
POWER
Specifies alignment following the PowerPC ABI.
POWERPC
Specifies alignment following the PowerPC ABI.
RESET
Resets the default alignment.
ON
Same as specifying 4.
OFF
Same as specifying 1.

These values are not available in the {$PACKRECORDS} directive.