TAL Programmer's Guide

Modular Programming Example
Sample Programs
A–12 096254 Tandem Computers Incorporated
Initialization Module
Example A-6b shows the source code for the initialization module. This module
defines a primary global data block, DEFAULT_VOL, which is accessible to all
procedures in the modules that declare the block for reference.
Example A-6b. D-Series Initialization Module (Page 1 of 2)
!File name INITS
NAME initialization_module;
?SECTION default
BLOCK default_vol; !Default volume, subvolume
LITERAL file_name_max_len = 256;
INT def_vol_subvol_len;
STRING .def_vol_subvol[0:file_name_max_len - 1];
END BLOCK;
?SECTION end_of_data_sections
!Following are external procedure declarations:
?PUSHLIST, NOLIST, SOURCE $SYSTEM.SYSTEM.EXTDECS (
? OLDFILENAME_TO_FILENAME_)
?POPLIST
?PUSHLIST, NOLIST, SOURCE $SYSTEM.SYSTEM.EXTDECS (
? INITIALIZER)
?POPLIST
?PUSHLIST, NOLIST, SOURCE outp !OUT_FILE_HANDLER
?POPLIST
?PUSHLIST, NOLIST, SOURCE inp !IN_FILE_HANDLER
?POPLIST
?PUSHLIST, NOLIST, SOURCE msgp !MESSAGE_MODULE
?POPLIST
?PUSHLIST, NOLIST, SOURCE initp !INITIALIZATION_MODULE
?POPLIST ! (for consistency checks)