The SPA program is simply a user interface to the data file, known for historical reasons as the S file. The SPA program simply modifies and manipulates data contained within the S file or values within several control blocks which perform all of the necessary bookkeeping associated with the program. These control blocks are initialized with the SPI program (see Chapter 2) when the data file is created. Table 3-1 describes the location within the data file and contents as given by FORTRAN include files of these control blocks. At the startup of the program, these records are read into memory and the values are frequently scanned with the processing of each function.
| Block | Starting Record | Length |
| STORAGE COMMON | 1 | 1 |
| CODES COMMON | 2 | 1 |
| DEFAULT FUNCTION CONSTANTS | 3 | 1 |
| FUNCTION CONSTANTS C1 | 4 | 1 |
| FUNCTION CONSTANTS C2 | 5 | 1 |
| FUNCTION CONSTANTS C3 | 6 | 1 |
| FUNCTION CONSTANTS C4 | 7 | 1 |
| FUNCTION CONSTANTS C5 | 8 | 1 |
| SYNTHETIC FUNCTIONS | 9 | 2 |
| STACK ARRAY | 11 | 1 |
| SSCAN ARRAY | 12 | 4 |
| DISK FILE ROOT DIRECTORY | 16 | 1 |
| DISK FILE DIRECTORY INDEX | 17 | 1 |
| TAPE ROOT DIRECTORY | 18 | 1 |
| TAPE DIRECTORY INDEX | 19 | 1 |
| FREE SPACE | 20 | 21 |
Several of these blocks are frequently modified by the SPA program. For example, when the user has loaded the C1 function constants and queries a function to modify a function constant, then this change is stored on disk at the completion of processing the command line.
In general, the values of these control blocks are inaccessible to the user while running the program. To see the present state of an S file, one must run the spi program and answer yes to the question DO YOU WISH TO MAKE A DIAGNOSTIC DUMP OF THE S FILE? and no to all remaining questions. The spi program will produce a file written to logical unit 10 or in the case of the UNIX version, SDUMP.LIS. SDUMP.LIS is an ascii file which can be read from a terminal. It includes both decimal and hexidecimal output of each record in the S file.