The /LIST compiler option generates a program listing on a given file. If <pathname> is omitted, then the default name for the listing file is <filename>.LIS.
When a compilation listing is produced, it always contains the following information:
Date and time of compilation
Source file pathname
Compiler version number
Compiler options in use
Source statement listing
Error, warning and comment messages.
The listing consists of all source statements and directives, numbered from line 1. If an INCLUDE file is listed, its numbering starts from 1 and numbering reverts to that of the previous file once the INCLUDE file has been processed. At the end of the listing of each program unit, three blank lines are output. Some error messages, warnings and comments are inter spersed with the listing of statements and directives; others ap pear at the end of the listing of a program unit. A number of other features of the listing should be noted:
INCLUDEDd files are not listed unless the /LIST_INSERT_FILES option is also used.
The line numbers of an INCLUDEd file are preceded by a slash character, which itself is preceded by two digits specifying the level of nesting of the INCLUDE directive.
Non-printing ASCII characters are represented by a query character (?) on the compilation listing. Note that the actual non-printing character is, however, treated as part of the source line to be processed.
The relative address of each statement is printed in hexadecimal at the right of the line (unless /NO_OFFSET is also used). Relative addresses allow the user to locate the source of run-time errors which occur in parts of the program where no checks have been specified. This is the byte address of the first machine instruction corresponding to the statement, relative to the start of the current program unit. The relative address is incremented for each statement for which the compiler generates code. Code generation ceases for the remainder of the source file when a compilation error is found (unless /PERSIST is also used).
For fixed format files the information in positions 73 to 80 is separated from the remainder of the line by several spaces. This makes the problem of lines overflowing past column 72 more noticeable from the compilation listing. Note, however, that in formation contained in positions 73 to 80 is overwritten in the source listing by the address offset information (unless /NO_OFFSET is also used ).