50S PROGRAM LIBRARY PROGRAM DESCRIPTION
MOVE RESET
GET PUT
Catalog No. 900 Series: 04!6,_
9300; 6 1 4 .
ENTRY POINTS TO S4B SUBROUTINES
Page Page
Entry Descri ption Flowchart Entry Description Flowchart
BCI 3-108 OCT8 3-99 3-109
BINS 3-110 ocrc 3-99 3-109
DECS 3-110 PARAMS 3-102 3-112
DECS2 3-110 PUT 3-106 3-113
DED 3-108 RESET 3-104 3-113
ENDM 3-111 S4B 3-94 3-107
GET 3-105 3-113 S4B02 3-94 3-108
LIT 3-94 3-107 S4B03 3-94 3-108
LIT1 3-94 3-107 S4B1 3-94 3-108
MACRO 3-112 S4B2 3-94 3-107
MOVE 3-103 3-113 S4B6 3-94 3-107
NAME 3-101 3-112 TEN 3-98 3-108
NUM 3-100 3-109 TEN3 3-98 3-108
NUM1 3-100 3-109 rENC 3-98 3-108
NUM2 3-100 3-109 VFD 3-111
OCT 3-99 3-109 VFD3 3-111
OCT5 3-99 3-109 VFD4 3-111
OCT6 3-99 3-109
,. 1/ • -II I
SCIENTIFIC DATA SYSTEMSSDS PROGRAM LIBRARY
PROGRAM DESCRIPTION
900 Series: 042016 Catalog No. 9300: 612001IDENTIFICATIO N: Resume translation of DEC directive (TENC)
PURPOSE: To initialize parameters and exit location when resuming the translation of the operand field of a DEC directive which expands to more than 72
characters.
ACTION:
PROGRAMMI NG CONVENTIONS:
CALLING SEQUENCE:
MEMORY
REQUIREMENTS:
SUBROUTINES USED:
TENC sets S4B to the location of the EXU EMPTY instruction plus 4 and then calls RESET to initialize the card buffer for resuming the translation. TENC exits to TEN3 to continue the translation process.
TENC is executed only after the DEC translation code is unable to translate the input image into a 72-character META-SYMBOL equivalent because of space. It assumes the ENCODER wi II remotely execute the instruction at EMPTY. TENC is a relocatable routine assembled as part of S4B.
A BRM TENC is stored in EMPTY, and TENC is called when EMPTY is executed.
6 cells
RESET
, ;1
I-\* I
SC.ENTIFIC DATA SYSTEMSSDS PROGRAM LIBRARY
PROGRAM DESCRIPTION
900 Series: 0420 Catalog No. 9300: 6120(IDENTIFICATION: Resume translation of OCT directive (OCTC)
PURPOSE: To reset the S4B exit and the symbolic input buffer to resume the translation of the OCT directive.
ACTION: aCTC sets S4B to the location of the EXU EMPTY plus 4 and then calls RESET to initialize the symbolic input buffer to resume translation of the OCT directive.
PROGRAMMING TECHNIQUES:
CALLING SEQUENCE:
MEMORY
REQUIREMENTS:
SUBROUTINES USED:
OCTe is called only when during the translation of an OCT directive the symbolic card buffer filled before the translation could be completed. It assumes the ENCODER will remotely execute cell EMPTY. OCTC is a relocatable routine assembled as part of S4B.
A BRM OCTC is stored in EMPTY during the translation of an input OCT directive. OCTC is called by executing EMPTY remotely.
7 cells
RESET
,~nlt
I
SCIENTIPIC DATA SVST.MSSDS PROGRAM LIBRARY
PROGRAM DESCRIPTION
900 Series: 042016 Catalog No. 9300: 612001 IDENTIFICATION: Convert input numeric fields to META-SYMBOL format (NUM)PURPOSE: To translate input symbolic numeric fields from SYMBOL 4 or SYMBOL 8 format to META-SYMBOL format.
ACTION: NUM obtains characters one at a time by calling GET until a terminator is obtained. Binary scaling factors are converted from the B notation to
*/j
decimal seal ing factors are converted from the E notation to
*+.
Characters are stored in the input symbolic buffer by calling PUT.PROGRAMMING TECHNIQUES:
CALLING SEQUENCE:
MEMORY
REQUIREMENTS:
SUBROUTINES USED:
NUM is a relocatable routine assembled as part of S4B.
BRM NUM
1128 cells
GET PUT
t *1 • -It;
SCIENTIFIC DATA SYSTEMSSDS PROGRAM LIBRARY
PROGRAM DESCRIPTION
900 Series: 04201 Catalog No. 9300: 61200 IDENTIFICATION: Define name lines for MACRO directives being translated (NAME)PURPOSE: To define NAME directives by which procedures being generated from input MACRO I ines may be called.
ACTION:
PROGRAMMING TECH NIQUES:
CALLING SEQUENCE:
MEMORY
REQUIREMENTS:
SUBROUTINES USED:
NAME sets the exit from S4B and calls RESET to initialize the symbolic input buffer. NAME then sets NAME in the operation field of the buffer and the label from the MACRO line into the label field in the buffer. Before exiting S4B, NAME sets EMPTY to contain BRM PARAMS for translating the parameters to the MACRO sample.
NAME is called only as a result of encountering an input MACRO line.
NAME is a relocatable routine assembled as part of S4B.
BRM NAME is stored in EMPTY
NAME is called when EMPTY is executed.
NAME returns to the EXU EMPTY plus 4.
21acells
RESET
, *1
,M-It I
SCI.NTIPIC DATA SYST.MSSOS PROGRAM LIBRARY
PROGRAM DESCRIPTION
900 Series: 042010 Catalog No. 9300: 612001 IDENTIFICATION: Define parameters on MACRO lines (PARAMS)PURPOSE: To translate macro parameters to a format suitable to META-SYMBOL.
ACTION: PARAMS provides for the translation of parametric values by defining each parameter equal to the corresponding META-SYMBOL subscripted symbol
PROGRAMMING TECHNIQUES:
r A I I ' .... .., ...
~I"\LLJI~\..7
SEQUENCE:
MEMORY
REQUIREMENTS:
SUBROUTINES USED:
for the parameter. PARAMS sets the S4B exit location and then calls RESET to initialize the input buffer. The next parameter is then placed in the label fierd, the operation is set to EQU, and the operand field is set to the REFLIST (n), where REFLIST is the label given the PROC line generated in place of the MACRO and n is the current parameter number.
PARAMS is called only after generating a NAME line as part of the trans-lation of a MACRO. PARAMS is a relocatable routine assembled as part of S4B.
PARAMS is called by an EXU EMPTY after EMPTY has been set with a BRM PARAMS by the NAME routine. Return is to the EXU EMPTY plus 4.
GET PUT RESET
*-_-fj:i -l*;
SCIENTIPIC DATA SVST.MBSDS PROGRAM LIBRARY
PROGRAM DESCRIPTION
900 Series: 0420 Catalog No. 9300: 61201 IDENTIFICATION: Save symbolic lines of input (MOVE)PURPOSE: To move symbolic input lines and clear the symbolic input buffer to blanks in anticipation of having to translate a line and expand its size.
ACTION:
PROGRAMMING TECH NIQUES:
CALLING SEQUENCE:
MEMORY
REQUIREMENTS:
SUBROUTINES USED:
MOVE moves the contents of the buffer CARD to the buffer XCRD and stores blanks in CARD. MOVE then initializes the cells GETD, GETW, and GETCT for GET and the cells PUTT and PUTW for the PUT routine.
MOVE is a relocatable routine assembled as part of S4B.
BRM MOVE
238 cells
None
, 'I • -It ,
SCIENTIFIC DATA SYSTEMS50S PROGRAM LIBRARY
PROGRAM DESCRIPTION
900 Series: 042016 Catalog No. 9300: 612001 IDENTIFICATION: Initialize symbolic input buffer when continuing translation (RESET)PURPOSE: To set the last 16 words of the symbolic input buffer to blank and to initial ize the PUT routine parameters.
ACTION:
PROGRAMMING TECHNIQUES:
CALLING SEQUENCE:
MEMORY
R EQ UIR EME NTS:
SUBROUTINES USED:
RESET stores blanks in the last 16 words of CARD and also in the label field of CARD. RESET then initializes the PUT parameter words PUTT and PUTW.
RESET is a relocatable routine assembled as part of S4B.
BRM RESET
258 cells
None
~j:i
-Is
SCIENTIFIC DATA SYST.MBSOS PROGRAM LIBRARY
PROGRAM DESCRIPTION
900 Series: 0·l20 16 Catalog No. 9300: 612001 IDENTIFICATION: Get next character of symbolic source (GET)PURPOSE: To get the next character of symbolic input into the A register.
ACTION: GET extracts the next input character into the low order bit positions of the "-,
PROGRAMMING TECHNIQUES:
CALLING SEQUENCE:
MEMORY
REQUIREMENTS:
SUBROUTINES USED:
A register and GETC. The pointers to the next character of source are incremented. If the character is a comma or a blank, GET exits to the location following the call; otherwise, it exits to the location of the call plus 2.
GET is a relocatable routine assembled as part of S4B.
BRM GET
end -of -entry return norma I return
358 cells
None
s *1
I-I' I
SCIENTIFIC DATA SYSTEMSSDS PROGRAM LIBRARY
PROGRAM DESCRIPTION
900 Series: 042016 Catalog No. 9300: 612001 IDENTIFICATION: Store a character of translated source (PUT)PURPOSE: To insert a character located in the A register into the next character position of the symbolic input buffer.
ACTION:
PROGRAMMING TECHNIQUES:
CALLING SEQUENCE":
MEMORY
REQUIREMENTS:
SUBROUTINES USED:
PUT positions and stores the input character into the buffer at the location given by PUTW. The buffer location pointers are incremented for the next character.
Since PUT subtracts 60
8 from the character and adds the result to memory, it assumes the buffer has been cleared to blanks before being called. PUT is a relocatable routine assembled as part of S4B.
Character to A register BRM PUT
228 cells
None
yes
BCI for BCI DED for DED TEN for DEC OCT for OCT S4Bi for EOM, RCH,
SKS or OPD VFD for VFD ENDM for ENDM 54B02 for BOOl 54B03 for BORG
no
s·tS OVERAll r lO\\
no
yes
Hollerith
~---t523 - SCALE
---1
BOOlEau - operation field
Place lead zero before operand.
Move * i r needed.
S48
OVERALL FLOW (cont.) TENe AND DtC ROllTlNf,>
---I B()~G
Set count to 56
---1 ...
_D_E_C_ ....S23 - - SCALE
Change mnemonic to BCD
no ~---~---~
yes
Change count to character count.
S46 - SCALE
MOVE move card image
Generate 9 character octal constant with lead zero and 4 merged into 1st octol digit
S48
aeTe AND NUM ROUTINES
no
8RM aeTe - EMPlY
PUT
store character
S48
DECS AND BINS ROUTINES
no
- - - - -... - - - , yes d\QJOcter + ? ~---....
no
Character> 9?
yes
PUT
store character
yes yes
terminator
-....:.-'"
Character -?
yes
GET character
tenninator
H flag set?
yes
PUT
store character
S48
VFD AND ENDM ROUTINES
S flag set?
no
yes
Set S flog
PUT
store,
store character
O?
no
~tore PUT 0
H flag set?
yes
PUT
store'
no
S48
MACRO, NAME AND PARAMS ROUTINES
Save label modified by adding 1 to last character (M - N) store REFLIST in image as PROC label.
Set mnemonic to PROC.
BRM NAME - EMPTY
Reset exit for S48
RESET new card
GET character
terminator
NOP - EMPTY
normoi
no
stort new card
Restore label from MACRO card.
Set mnemonic to NAME.
BRM PARAMS - EMPTY
Dummy parameter - label field EQU - operation field
REFlIST (n) - operand field
S48
MOVE, RESET, GET AND PUT ROUTINES
Card image
- XCRD-XCRD t 17 Blanks - CARD + 3
-CARD + 20
Initialize parameters for GET.
Initialize parameters for PUT.
Extract character and store in GETC.
Step character position.
yes no
Increment EXIT
Blanks to last 16 wards of CARD buffer and to label field.
Initialize parameters for PUT.
Insert character into CARD buffer.
Step character position.
900 Series Only
~I
'I • -\1;
SCIENTIFIC DATA SYSTEMSSOS PROGRAM LIBRARY PROGRAM DESCRIPTION
Catalog No. 042016 IDENTIFICATION: Initialize I/O control cells and copy symbolic corrections (MON1)
PURPOSE: To initialize the file maintenance and I/O device handling control words of MSCONTRL, to copy symbolic corrections to scratch tape X2 if needed, and to set the delay loop timing for paper tape reading.
ACTION: MONl examines each entry of the unit assignment table (UAT) referenced by the assembly system and each entry in the MSFNC control word to deter-mine which I/O functions and devices are to be used for the run. If a func-tion is requested, MONl inserts an entry into a control cell of the following format:
Standard I/O Contro I Word
c~ntents H c I u I
Abl ts \...O;...L.l-.... 1-3J...4--4---+19--'-1-0---4f----+---+---t-~2~3 where: M is decimaVbinary mode flag
C is channel designation U is unit number
A is address of routine to perform function
The above control words are found in MSCONTRL from MONBO through MONLF. In addition, the control flags USI through USO in MSCONTRL are set by MON 1 in the following format:
Standard I/O Control Flag
c~ntents H c I u I
bits 0 1
1
3 4 19 1 01
Code
I 23
ACTION
Set DELAY IJsing functions uiven in MSFNC and Unit Assignments from UAT.
Set Control words in MSCONTRL with device codes:
0, not used 1, cards 2, f-aper tal_e 3, mag. tarJe
Using device codes extracted above and I/O unit Llddress starting at TSO, set the sub-routine I inkage words in MSCONTRL.
S'I'lbolic and encoded ini~ut both
on cords?
no
Store NOP over BRM REWW in ENCODER at SETMO
MONI
\
REWW rewind X2
Copy correctiuns from symbolic source to X2.
Write EOF on X2 and rewind it.
Chnnge symbolic inrut 'lssignrnents to mag. tape
PREA