These options enable listing output from the assembler. By itself, ‘-a’ requests high-level, assembly, and symbols listing. You can use other letters to select specific options for the list: ‘-ah’ requests a high-level language listing, ‘-al’ requests an output-program assembly listing, and ‘-as’ requests a symbol table listing. High-level listings require that a compiler debugging option like ‘-g’ be used, and that assembly listings (‘-al’) be requested also.
Use the ‘-ag’ option to print a first section with general assembly information, like as version, switches passed, or time stamp.
Use the ‘-ac’ option to omit false conditionals from a listing. Any lines
which are not assembled because of a false .if
(or .ifdef
, or any
other conditional), or a true .if
followed by an .else
, will be
omitted from the listing.
Use the ‘-ad’ option to omit debugging directives from the listing.
Once you have specified one of these options, you can further control
listing output and its appearance using the directives .list
,
.nolist
, .psize
, .eject
, .title
, and
.sbttl
.
The ‘-an’ option turns off all forms processing.
If you do not request listing output with one of the ‘-a’ options, the
listing-control directives have no effect.
The letters after ‘-a’ may be combined into one option, e.g., ‘-aln’.
Note if the assembler source is coming from the standard input (e.g.,
because it
is being created by gcc
and the ‘-pipe’ command-line switch
is being used) then the listing will not contain any comments or preprocessor
directives. This is because the listing code buffers input source lines from
stdin only after they have been preprocessed by the assembler. This reduces
memory usage and makes the code more efficient.