A: Define Linker Class

The -Aclass=low-high option allows one or more of the address ranges to be assigned a linker class, so that psects can be placed anywhere in this class. Ranges do not need to be contiguous. For example:

-ACODE=1020h-7FFEh,8000h-BFFEh

specifies that the class called CODE represents the two distinct address ranges shown.

Psects can be placed anywhere in these ranges by using the -P option and the class name as the address (see P: Position Psect), for example:

-PmyText=CODE

Alternatively, any psect that is made part of the CODE class, when it is defined (see Class Flag), will automatically be linked into this range, unless they are explicitly located by another option.

Where there are a number of identical, contiguous address ranges, they can be specified with a repeat count following an x character. For example:

-ACODE=0-0FFFFhx16

specifies that there are 16 contiguous ranges, each 64k bytes in size, starting from address zero. Even though the ranges are contiguous, no psect will straddle a 64k boundary, thus this can result in different psect placement to the case where the option

-ACODE=0-0FFFFFh

had been specified, which does not include boundaries on 64k multiples.

The -A option does not specify the memory space associated with the address. Once a psect is allocated to a class, the space value of the psect is then assigned to the class (see Space Flag).