Sample J69 from IBM Reference Manual - IBM 7070 Series Programming Systems - Autocoder.A part of the XML version of the Brown Corpus2,028 words 23 (1.1%) quotes 79 symbols 1 formulaJ69

1961, 1963 by International Business Machines

IBM Reference Manual - IBM 7070 Series Programming Systems - Autocoder.

Note: illustration... are [0200]Typographical Error: or omitted [0460, compare 0490]

Header auto-generated for TEI version

The following items may be specified in actual or symbolic form in the operands of those instructions which refer to the particular items : channel , unit , combined channel and unit , combined arm and file , unit record synchronizers , inquiry synchronizers , and alteration switches . The declarative operation EQU is used to equate symbolic names to item numbers ( see page 85 ) . Continuation cards Certain Autocoder statements make provision for more parameters than may be contained in the operand ( columns 21 - 75 ) of a single line on the Autocoder coding sheet . When this is the case , the appropriate section of this manual will indicate that `` Continuation Cards '' may be used . Thus , when specifically permitted , the operand of a given line on the Autocoder coding sheet may be continued in the operand of from one to four additional lines which immediately follow .

The label and operation columns must be blank and the continuation of the operand must begin in column 21 ; ; i.e. , it must be left-justified in the operand column of the coding sheet . The operand need not extend across the entire operand column of either the header card or continuation cards but may end with the comma following any parameter . Remarks may appear to the right of the last parameter on each card provided they are separated from the operand by at least two blank spaces .

Illustrations of the use of continuation cards are included throughout the examples illustrating the various statements .

If a continuation card follows a statement that does not permit continuation cards , the compiler will generate a NOP and issue an error message . Additional restrictions regarding the use of continuation cards with macro-instructions appear on page 106 .

Reservation of index words and electronic switches The assignment of actual addresses to symbolic index word and electronic switch names occurs in Phase 3 , of the Autocoder processor . The initial availability of index words and electronic switches is determined by a table which is included in the Compiler Systems Tape . This table originally indicates that index words 1 through 96 and electronic switches 1 through 30 are available for assignment to symbolic references ; ; index words 97 through 99 are not available . The initial setting of this table may be altered , however , as described in the 7070/7074 Data Processing System Bulletin `` IBM 7070/7074 Compiler System : Operating Procedure '' , form Aj .

During the first pass of Phase 3 , , references to the actual addresses of index words and electronic switches are collected and the availability table is updated . At the end of this pass , the table indicates which index words and electronic switches are not available for assignment to symbolic references .

Both index words and electronic switches may have been made unavailable before the start of assignment in one of the following ways . 1 .

The initial setting of the availability table indicated that the index word or electronic switch was not available for assignment . 2 .

The one- or two-digit number of the index word or electronic switch was used in the operand of a symbolic machine instruction to specify indexing or as a parameter which is always an index word or electronic switch , e.g. , 3 .

The one- or two-digit number of the index word or electronic switch was used in the operand of an EQU statement , e.g. ,

When the index words or electronic switches are reserved because of actual usage in the statements described above , the position or order of the statements within the program is not important ; ; any such reference will make the index word or electronic switch unavailable at the end of this pass .

During the assignment pass of Phase 3 , , index words and electronic switches are reserved as they are encountered during assignment . Index words and electronic switches may be reserved in the following ways . The first two methods apply to both index words and electronic switches ; ; the third applies only to index words . 1 .

During the assignment pass , each instruction is examined for reference to the symbolic name of an index word or electronic switch . When such a reference is found , an actual address is assigned and the availability table is changed so that the assigned index word or switch is no longer available for later assignment . 2 .

If the one- or two-digit address of an index word or electronic switch is used or is included in the operand of an XRESERVE or SRESERVE statement ( see page 99 ) , the corresponding index word or electronic switch is reserved . 3 .

If a statement has been assigned an address in the index word area by means of an actual label or by means of an origin statement which refers to an actual address , the corresponding index word will be reserved . These entries should normally appear at the beginning of the program or immediately following each LITORIGIN statement . Otherwise , symbolic names may have previously been assigned to these same index words . ( This method does not apply to electronic switches .

The preceding methods allow efficient use of index words and electronic switches during a sectionalized or multi-phase program , particularly when used in conjunction with the LITORIGIN statement . Extreme caution should be used , however , to avoid the conflicting usage of an index word or electronic switch which may result from the assignment of more than one name or function to the same address .

If the symbolic name or actual address of an index word or electronic switch appears or is included in the operand of an XRELEASE or SRELEASE statement ( see page 101 ) , the specified index word or electronic switch will again be made available , regardless of the method by which it was reserved . It will not , however , be used for symbolic assignment until all other index words or electronic switches have been assigned for the first time .

If , at any time during the assignment pass , the compiler finds that there are no more index words available for assignment , the warning message `` No More Index Words Available '' will be placed in the object program listing , the table will be altered to show that index words 1 through 96 are available , and the assignment will continue as before . If the compiler finds that there are no more electronic switches available for assignment , the warning message `` No More Electronic Switches Available '' will be placed in the object program listing , the table will be altered to show that electronic switches 1 through 30 are available , and assignment will continue as before . The resultant conflicting usage of index words or electronic switches may be avoided by reducing the number of symbolic names used , e.g. , through the proper use of the EQU , XRELEASE , or SRELEASE statements .

As noted in Appendix C , index words 97 through 99 are never available for assignment to symbolic names by the compiler ; ; also , index words 93 through 96 may have been made unavailable for assignment .

Declarative statements Autocoder declarative statements provide the processor with the necessary information to complete the imperative operations properly . Declarative statements are never executed in the object program and should be separated from the program instruction area , placed preferably at its beginning or end . Otherwise , special care must be taken to branch around them so that the program will not attempt to execute something in a data area as an instruction . If the compiler does encounter such statements , a warning message will be issued . 7070/7074 Autocoder includes the following declarative statements : DA ( Define Area ) , DC ( Define Constant ) , DRDW ( Define Record Definition Word ) , DSW ( Define Switch ) , DLINE ( Define Line ) , EQU ( Equate ) , CODE,DTF ( Define Tape File ) , DIOCS ( Define Input/Output Control System ) , and DUF ( Descriptive Entry For Unit Records ) . DA , DC , DTF , and DLINE require more than one entry .

The DA statement is used to name and define the positions and length of fields within an area . The DC statement is used to name and enter constants into the object program . Since the 7070 and 7074 make use of record definition words ( RDWS ) to read , write , move , and otherwise examine blocks of storage , the DA and DC statements provide the option of generating RDWS automatically . When so instructed , Autocoder will generate one or more RDWS and assign them successive locations immediately preceding the area with which they are to be associated . An RDW will be of the form Af , where xxxx is the starting location of the area and yyyy is its ending location . These addresses are calculated automatically by the processor .

In some cases , it may be more advantageous to assign locations to RDWS associated with DA and DC areas in some other part of storage , i.e. , not immediately preceding the DA or DC areas . The DRDW statement may be used for this purpose . The DRDW statement may also be used to generate an RDW defining any area specified by the programmer .

As many as ten digital switches may be named and provided by the DSW statement for consideration by the SETSW and logic macro-instructions . Each switch occupies one digit position in a word , can be set on or off , and is considered as logically equivalent to an electronic switch . It cannot , however , be referred to by electronic switch commands , e.g. , ESN , BSN , etc. . An individual switch or the entire set of switches in a word may be tested or altered as desired .

Through use of the DLINE statement , a means is provided for specifying both the editing of fields to be inserted in a print line area and the layout of the area itself . The area may include constant information supplied by the programmer . The area may also be provided with additional data during the running of the object program by means of EDMOV or move macro-instructions .

The declarative statement EQU permits the programmer to equate symbolic names to actual index words , electronic switches , arm and file numbers , tape channel and unit numbers , alteration switches , etc. , and to equate a symbol to another symbol or to an actual address .

The DIOCS , DTF , and DUF statements are used when required by the Input/Output Control System . DIOCS is used to select the major methods of processing to be used , and to name the index words used by Aj . Each tape file must be described by Tape File Specifications , produced by Aj . In addition to information related to the file and its records , the File Specifications contain subroutine locations and the location of tape label information . A DUF entry must be supplied for every unit record file describing the type of file and the unit record equipment to be used . The DUF also supplies the locations of subroutines written by the user that are unique to the file .

A full description of the DIOCS , DTF , and DUF statements is contained in the 7070 Data Processing System Bulletin `` IBM 7070 Input/Output Control System '' , form Aj . Brief descriptions of these three declarative statements and detailed descriptions of the formats and functions of each of the other 7070/7074 Autocoder declarative statements follow below . diocs -- define input/output control system When the Input/Output Control System is to be used in a program , a DIOCS statement must be used to select the major methods of processing to be used . This statement also allows the naming of the index words used by Aj . Source program format The basic format of the DIOCS statement is as follows : anylabel is any symbolic label ; ; it may be omitted . The entry DIOCS must be written exactly as shown .

The first item in the operand , IOCSIXF , is used to specify the first IOCS index word for programs using tape files . This item may be a symbolic name or an actual one-digit or two-digit index word address in the range 3 - 94 . If the first item in the operand is omitted , the symbolic name IOCSIXF will be assigned . When an actual index word or a symbolic address is specified , Autocoder will equate the name IOCSIXF to it .

The second item in the operand , IOCSIXG , is used to specify the second IOCS index word for programs using tape files . This item may be a symbolic name or an actual one-digit or two-digit index word address in the range 3 - 94 . If the second item in the operand is omitted , the symbolic name IOCSIXG will be assigned . When an actual index word or a symbolic address is specified , Autocoder will equate IOCSIXG to it .