• Aucun résultat trouvé

SDS PROCRAM LIBRARY PROGRAM DESCRIPTION

Dans le document Technical Information (Page 60-78)

Catalog No. 042016 IDENTIFICATION: Initialize the end-of-file cards routine (INEFC)

PURPa E: To set the unit and channel assignments in the I/O instructions to clear the card punch.

ACTION:

PROGRAMMING TECH NIQUES:

CALLING SEQUENCE:

MEMORY

REQUIREMENTS:

SUBROUTINES USED:

INEFC calls GTUNT to obtain the unit and channel assignments which are used to initialize the I/O instructions in EFC.

INEFC is a logical extension of the EFC routine and is an absolute routine assembled as part of MSCONTRL.

I/O control word to index register BRM INEFC

158 cells

GTUNT

900 Series Onl y

* II • -1* ,

SC.ENTIPIC DATA SYSTEMS

SDS PROGRAM LIBRARY PROGRAM DESCRIPTION

IDENTIFICATION: Clear the card punch (EFC)

Catalog No. 042016

PURPOSE: To feed two cards through the designated card punch.

ACTION: EFC calls INEFC to initialize I/O instructions; it then punches two cards.

PROGRAMMING

TECHNIQUES: EFC is designed to work with the standard file processing routines and is an

CALLING SEQUENCE:

MEMORY

REQUIREMENTS:

SUBROUTINES USED:

absolute routine assembled as part of MSCONTRL.

I/O control word to index register BRM EFC

148 cells

INEFC

900 Series Only

I *f • -1* I

SCIENTIPIC DATA SYSTEMS

SOS PROGRAM LIBRARY PROGRAM DESCRIPTION

Catalog No. 042016

IDENTIFICATION: Extract unit and channel assignments (GTUNT)

PURPOSE: To obtain the unit and channel assignments from a standard I/O control word for use by the various I/O initialization routines.

ACTION:

PROGRAMMING TECH NIQUES:

CALLING SEQUENCE:

MEMORY

REQUIREMENTS:

SUBROUTINES USED:

GTUNT extracts the unit channel and mode bits from the I/O control word in the index register and stores them in CHANL. The channel designation is right adjusted in the index register.

GTUNT is an absolute routine assembled as part of MSCONTRL.

I/O control word to index register BRM GTUNT

131"\ cells

o

None

LOADER

Record origin - call ing sequenc File nr. - call ing sequence Word count - call ing sequence

o - error fl ags

File number -call ing sequence

MSCONTRL

ABORT, TYPMSG, REWW AND INPUT ROUTINES

See message no.

Set QPESW

ITOpe

only

~

- -

-Using relative UAT location given by X2 obtain channel and unit to rewind. Build and execute rewind instruction.

Build rcwinri rom-.. mand fm tOpt'

It'-wind. Execute

Type 5 words from MSORG

Initial ize all SKS, EOM, and WIM instructions in the PPTB routine.

Load reg isters for disc read linkage

900 Series Only RAD MONARCH Only

BASIC RAD LOADER

900

y e \ Z o / Exit EOF

v

Buffer error?

Step packet location. Store data word in new packet location. Checksum data word added.

Buffer full?

yes

WRITE empty bu ffer

Buffer empty?

Location 1st data word - A reg.

40 - B reg.

X2 -SAVEX

Location I/o routine - X2

SAVEX - X 2

Number data words - 3rd word of pocket

Checksum record read.

Checksum OK?

yes

Location 1st data word - 1st word of pocket.

Address of lost data word - 3rd word of packet.

Increment READ.

MSCONTRL

READ, RMTBU AND WMTBU ROUTINES

EOF

900 Series Only

Initial ize I/O instructions as to mode (decimal or binary)

GTUNT get unit and channel

Initialize I/O instructions in RM TB routine as to channel and unit.

Initial ize I/O instruction for WM TB as to mode.

GTUNT get unit and channel

Initialize I/o instructions in WMTB and EFMT as to unit and

X2-WCNT

lAW get address

READY test ready

test beginning

READY test ready

End of tope

nO

Using MIW loop, write specified number of words.

Terminate output.

READY test ready

Error?

900 Series Only MSCONTRL

'IIMTB, P.EADY AI'~D TSOT ROUTINES

Using MIW loop, erose reverse the number of words written.

test ready

Terminate output. Using MIW loop, erose forward.

Wri te one chmactel of 017.

MSCONTRl

I ~M 1 RM IB, INPCB AND PCB ROllTlNI '-,

Usinq WIM, read 1 WOIJ

yes

no

na

Illi tial ize I/O instructions in PCB routine as to unit and channel

Punch specified numbel of words into next row.

Terminate wait for blJffer ready

ENCODER

S4B

MONl

Initialize I/O

lost location of buffer indexed by 2 -ADDR

900 Series Only

SCIENTIFIC DATA SYSTEMS

IDENTIFICATION: ENCODER

SDS PROGRAM LIBRARY PROGRAM DESCRIPTION

Catalog No. 042016

PURPOSE: To encode symbolic programs or to update existing encoded programs.

ACTION: Performs the following functions:

1. Calls MO N 1 to set up the input/output unit and channel assignments and the input/output function requests in MSCONTRL and, if

necessary, to copy symbol i c corrections to scratch tape X2.

2. Reads a record of symbolic input and checks for correction (+ in column 1). If the card is a correction, or if there is encoded input only as determined by an end-of-file return from the reader, ENCODER copies the old encoded dictionary into core and builds the APO table of di ctionary addresses.

3. ENCODER reads the symbolic input or the encoded text, or both if it be an update run. When correcting an encoded file, the symbolic in-sertions are inserted into the file by using the same TRANS routine as is used for runs with only symbolic input. Deleted encoded lines are by-passed by calling the DELETE routine, and encoded lines to be retained are passed along by calling the SKIP routine. All symbolic lines are translated to META-SYMBOL language by calling the translation program S4B.

4. As each line of input is obtai ned, E NCO DER scans the line and co II ects each string of characters into a dictionary entry. (See Section 4, Item Formats.) The encoder bui Ids four types l)f entries: blank strings, special characters, numeric items, and alphanumeric items. If the string is in the form '1f a byte of encoded record, this construction step

ACTION:

(cont. )

900 Series Only

Catalog No. 042016 is eliminated since the dictionary entry is already available. If this is an encoded byte, the program tests APO to see if the new byte value has been determined; if it has not, or if this is a string from a symbolic record, SRCH is called to find the location of the CPO (balanced tree insert table) entry for the string and to obtain the byte value. If SRCH fails to find an equivalent entry in CPO, NSRT is called to enter the string into the dictionary (BPO) and insert a 3-word entry into CPO for later reference. (See Section 4, Item Formats.) The sequence number of a unique string of characters or dictionary entry is the byte value for the entry.

5. As a value for each byte is obtained, it is output on the intermediate output tape (Xl). This encoding-updating process continues until an end of fi lei s detected on the input fi Ie. Note that an END card does not terminate the encoding process. During the encoding process com-ments are not encoded in the manner indicated. Comcom-ments, as deter-mined by the presence of an

*

in the first character of the record or by three blank fields (excluding imbedded blank strings in TEXT and BCD variable fields or in alphanumeric expressions), are output as they appear in the source language except that they are preceded by a count byte of six bits indicating the number of comment characters.

6. When an end-of-file condition is detected on the input file, control goes to the END section of ENCODER. Here a check is made to see if there was encoded input; if so, the insert table CPO is moved to the origin of APO and the dictionary is moved to a position immediately following CPO. The intermediate output tape is rewound, and the dictionary is output on the encoded output device by selecting the dictionary entry for each entry in CPO. In this manner dropped bytes

900 Series Only

Catalog No. 042016 ACTION: PREASM. When all dictionary entries have been output, the encoded {cont.} text records are copied from Xl to the output file.

CALLING SEQUENCE:

PROGRAMMING CONVENTIONS:

7. When the output fi Ie has been completed, ENCODER checks the I/O function control cells in MSCONTRL to determine if additional outputs are required. If encoded output is the only output, control is returned to MONARCH; otherwise, the PREASM routine is loaded by branching to the basi c tape loader routi ne.

ENCODER is one of several independently assembled routines loaded as the first assembler overlay. The last of these routines in order loaded is

MSCONTRL. The transfer address for MSCONTRL is to a cell containing a branch to the starting location of ENCO DER (TRACOR).

ENCODER is assembled with an origin of 01337, which is just above the MSCONTRL program. Since ENCODER leaves the dictionary and search tables in core for PREASM, it is necessary to provide a few control words to PREASM indicating the location of tables and key words. The following control cells are left by ENCO DER in the first locations following MSCONTRL.

1. DTAB. Starting location for PREASM-built dictionary if no POPs are used. (The programmed operator routines overload this cell to account for the additional length of the POP code.)

2. APO or CPO. The next available location in the balanced tree search table for entering items.

3. BPO. The next available cell in the ENCODER-built dictionary.

4. HED. A 3-word control region used in building CPO and BPO. All chain ends in CPO point to HED.

PROGRAMMING

ENCODER is designed to be maximally independent of machine configura-tion.

9300 Only

SCIENTIPIC DATA SVSTEMS

IDENTIFICATION: ENCODER

SDS PROGRAM LIBRARY

Dans le document Technical Information (Page 60-78)