User manual

ST Assembler-Linker ST assembler
Doc ID 11392 Rev 4 27/89
4.4.2 Parameters
Possible arguments are:
Name
Align
Combine
cod parameter, output file control
The following paragraphs describe each argument in detail, and the final paragraph
describes Copying code.
Name
The <name> argument is optional; it can contain a name of up to 12 characters. If it does,
then all segments with the same name are grouped together within their class, in the order
that new names are defined.
Align
The <align> argument defines the threshold on which each segment must start. The
default is the alignment specified at the introduction of the class (if none is specified in the
class introduction then para alignment is assumed), although the alignment types
described in Ta bl e 1 0 are allowed to be specified overriding the default.
Looking back to our example on page 26, you should now be able to see that the 'RAM0'
class will allocate 80 to counter, 81 to address, 92 to stack in FILE1, and when the
linker meets the segment in FILE2 of the same class, serialtemp will be allocated 93, and
serialcou 94. The same processing happens to the two 'eprom' class segments, the
second, in FILE2, will be tacked on to the end of the first in FILE1. If the FILE2 'eprom'
class segment had specified, say, the long align type instead of the default byte, then that
segment would have been put on the next long-word boundary after the end of the FILE1
'eprom' class segment.
Table 10. Alignment types
Type Description Examples
byte Any address
word Next address on boundary 1001->1002
para Next address on 16-byte boundary 1001->1010
64 Next address on 64-byte boundary 1001->1040
128 Next address on 128-byte boundary 1001->1080
page Next address on 256-byte boundary 1001->1100
long Next address on 4-byte boundary 1001->1004
1k Next address on 1k-byte boundary 1001->1400
4k Next address on 4K-byte boundary 1001->2000