User manual

ST Assembler-Linker ST assembler
Doc ID 11392 Rev 4 35/89
FI option
Note: Instead of using ASM -fi, it is advised to use the list file post processor ABSLIST
which guarantees that the final list file is consistent with the executable code
generated by the linker.
Note: When assembling in '-fi' mode, the assembler uses the map file produced by the linker,
and no object files are generated.
When using the option -fi=<file>.map, the assembler step may fail under certain
circumstances:
If there are empty segments (Error 73). To avoid this, comment out any empty
segments.
If you try to assemble a file that has not been used to produce the .map file (Error
73).
Some EXTERN labels are never used (Warning 80). To avoid this, comment the
unused EXTERN labels out.
Description: One side effect of using a linker is that all modules are assembled
separately, leaving inter modules' cross-references to be fixed up by the
linker. As a result the assembler listing file set all unresolved references to 0,
and displays a warning character.
The -fi option enables you to perform an absolute patch on the desired
listing. Therefore, you must have linked your application to compute
relocations and produce a .COD file and a map file.
To generate a full listing, you must not have made any edits since the last
link (otherwise the named map-file would be 'out of date' for the module
being assembled). This is not usually a problem since full listings are only
needed after all the code has been completed. -fi automatically selects a
complete listing.
Format: ASM <file> -fi=<file>.map
The output <file>.lst contains the absolute patches.
Example: ASM ex1 (produces ex1.obj)
ASM ex2 (produces ex2.obj)
LYN ex1+ex2,ex (produces ex.map, ex.cod)
(see Chapter 5: Linker on page 38)
ASM ex1 -fi=ex.map (produces ex1.lst)
ASM ex2 -fi=ex.map (produces ex2.lst)