COMTRAN Reconstruction

J28-6169 · January 1962

90.02.01

PDF page 139 of 221. Download the scanned PDF

The page as scanned

The scan of PDF page 139 of J28-6169
Select the scan to open it at full size.

The text read off it

[90.02.01]

SYMBOLIC LISTING

The symbolic listing is composed of four columns under the headings:

A. LOC B. OCTAL C. CNTRL D. SYMBOLIC

A. LOC

Each octal number under the heading LOC represents the displacement of the associated word from the first word of the object program (not necessarily PROGRAM.START). A blank space in this column accompanied by USE in the symbolic part of the listing represents a location counter discontinuity. The location counter discontinuity results from the compiler's use of three different 'pseudo' location counters during compilation. The three 'pseudo' location counters have been given the names:

Location Counter 0 Location Counter 1 Location Counter 2

Location Counter 0 is used by the compiler for the generation of in-line instructions, i.e., those instructions whose location is determined by the relative position of items in the source deck. Instructions generated under Location Counter 0 represent:

  1. The main body of procedure text
  2. Storage reservation for fixed location Data areas, i.e., data not located in an input/output buffer.

Location Counter 1 is used by the compiler for the generation of out-of-line subroutines and working storage areas which are used by the main body of the program. The subroutines generated under Location Counter 1 are, in general, routines which update 'pointer words'. A 'pointer word' is a word that points to (or addresses) a particular data item. If the location of the data item changes, the word pointer must also change. Data items which may change locations include:

  1. Items located in buffer areas
  2. Items within an array or following an array

Location Counter 2 is used by the compiler in initializing 'pointer words' with pre-determined constants.

References to the three 'pseudo' location counters occur at LOC discontinuities in the form of:

USE N

where N is 0, 1, or 2. It might be noted in the listing that the first instruction generated when Location Counter 0 is in use has the initial Displacement of 0 in the LOC field. Also, the first instruction generated when Location Counter 1 is in use will have, in the LOC field, a value one greater than the highest value obtained under Location Counter 0.