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)