22266900_CYBERDATA_Internal_Maintanence_Specification_1975 22266900 CYBERDATA Internal Maintanence Specification 1975

User Manual: 22266900_CYBERDATA_Internal_Maintanence_Specification_1975

Open the PDF directly: View PDF PDF.
Page Count: 797

Download22266900_CYBERDATA_Internal_Maintanence_Specification_1975 22266900 CYBERDATA Internal Maintanence Specification 1975
Open PDF In BrowserView PDF
CYBERDATA INTERNAL
MAINTENANCE SPECIFICATION
22266900

©

COPYRIGHT CONTROL DATA CORP. 1975

Contained herein aro software producto copyrightod
by Control Data Corporation. A roproduction of
tho copyright must appear on all completo or
partial copies.

.

.,~

INDEX
PAGE

AID
ARITH

Arithmetic, conversion, and packing
utilities

BORENr
BaRKEY
BSC

Beginning of Record (Entry Mode)

BSF
BSFKEY
BSR

( ,
.... "'

CAM
CANCEL
CBS
CDS
CDvrST
CENDS
CFS
CIa
CLEARS
CLR
CLR2
CMISCI
CONCAN
CON029
CaNT
CONTTY
CORKEY
CREGEN

1
3

10

14
16
20
Level 06
Backspace One Record

24
28

Core Allocation Module

31

38
Change Batch Status
Change Disk Status
Check Digit Validation
Change Format Status
Change I/O Units
Clear a Field on Display
Extended Power Fail Recovery (1)
Extended Power Fail Recovery (2)
CRT Miscellaneous Routines
029 Keyboard Character Conversion
Teletype Keyboard Code Conversion
Regenerate Screen Display - CRT

40

44
48
51
52
56
59
63
73
79
82
84
91
96
102
109

PAGE
DAM
DBT
DDC
DELETE
DER
DISPLY
DJB

DMPI
DMP2

DMPFMr
DMr
DMYFMr
DMYINr
DOC
DOCBCK
DPR
DRC
DSKER1
DSKER2
DSKSUP
DST
DUPKEY
DZR

EBCDIC
ECD
EDC
EFM
EJB
EMM

EMr
ENEXSR

Disk Allocation Module
\1
Delete Batch(es)
Delete Document

112
116

Disk-resident portion of Supervisor
- Command Processor
Display He~der for 970-32

202

117
120
125
Display Error
129
Display Routines Entry Program
133
Delete Job
136
145
Dump Format From Disk to Tape
158
Delete Mag-Tape Format
166
Dummy Program for Mag-Tape User Routines 168
Dummy Interrogate Function
171
173
Document Back
177
Delete User's Program
180
183
Display Records in a Packed Format
188
Disk Error Advisory (1)
192
Disk Error Advisory (2)

Double Zero Key Processor

Conversion routine between EBCDIC/ASCII
Enter Check Digit
Enter Document
Enter Format
Enter Job
Display and Store Character in Entry Mode
Entry Mag-Tape Format
Common Entry/Exit Routine

206
209
214

217
223
226
231
246
250
258
262

PAGE
'I

,

I

C
"-

ENrPRG
ENrRY
EOB
EORENl'
EORVR
ERRKEY
ERRTAB
ERRWEY
ESB
ESH
ESl
ES2
ES3
ES4
EXPrAB

.Contro1 for Disk Resident Programs
Entry Mode Processor
End of Batch Processor
Write a Record to Disk
End of Record Processor - Verify Mode
Error Override Key Level 06
Table of Cyberdata Error Codes
Error Override Key
End of Sub Batch Key

FAD
FIELDS
FMSEL
FMI'ADV
FMI'BAK
FMI'PAR

Format Adjustment Based on Keyed Data
Display a Field
Format Select
Format Advance
Format Backward
Locate a designated parameter in
Format Table
Locate Field Description in Format Table
Freeze BatcheS

FMrSCN
FRZ

GETLJD
GETPL
GFCORE
GJB
GSE

Second Overlay of SQZ
Third Overlay of SQZ - Program Squeeze
First Overlay of SQUEEZE

Manipulate an Entry in the Legal Job
Directory
Get Page and Line of Field
Get Format/Release Format
Maintain Legal Job Directory
Get/Store character; General error exit

266
210
275
281
285
288
292
293
296
299
302
307
312
317
322

323
327
331
335
338
341
344
347

353
357
359
363
368

PAGE

(

,,

HDRALP
IIDRNOS

Display Header Information

372
376

IDKCH
INSERT
INrRGT
IXPL

IDK Character/Function Processor

383
389
391

KDMY

Key Dummy Function

397

LBLO
LBL1
LODl
LOD2
LODFMr
LPR

Routine to Write Unlabelled Tapes
Write Standard ANS1 Tape Lab1es
LOD Command First Overlay Module
Second Overlay of LOD, J Command
Load Formats From Tape to Disk
Load Program

398
401
412
416
424
430

MATER
MCHAR

Open or Close Batch on Tape
Move Character into Self-Scan Terminal
Output Buffer
Miscellaneous Dummy Function

436
447

MDMY

MINr, SPACE,
MIPRO
MISKEY
MLDSKY
MONITR
MPC

394

MSOS Changes
Backspace Character or Display Misc.
Message on CRT - Level 06
Manual/Automatic Dup/Skip
Debug Utility
Main Process Control

"- .-

452
_ 457

Magnetic Tape Control Command Processor

460
463
473
479
484

Mag Tape Format Monitor

488

MSG

MrC
MI'FMON

450

PAGE

oCD...MY
OFRZ

arHW
PBR
PBS:

PB2
PDC
PER
PFM
PIT

PIO
PJB
PM!
(

,

'---

PPR
PRD
PSS
PST2

FrS

Own Code Dummy
Operator Freeze Routine
Operator Thaw Routine

495
496
502

Print Batch Report
Print Batch Status
Print Batch Status - Part 2
Print Documents
Print Erroneous Records
Print Format
Print Formats from Tape
Physical Input/Output
Print Job
Print Mag Tape Format
Print User Programs
Program Directory
Print System Status
Print Statistics Report Second Overlay
Print Terminal Status

510
514
518
523
527
533
540
547
561
566
572
578
579
584
590

RDMODS

REDKEY
REDOC
REG
RELKEY
RESET
RSQ

RTB

'-.."

.

Read A Document
Regenerate Display
Perform Release Function Key
Routine to Perform Reset Key Function
Resequencing Program
Return to Basic Mode and Return to
Document

594
598
602
606
608
618
621
627

PAGE
SCANV
SDMY
SET
SKIPKY
SKPDUP
SOF
SPCKEY
SPILL
SRCH1
SRCH2
STJ
ST005
SUP
SUPER

TRW
TOF
TON
TarAL

TRC
TST
VERIFY
VLBGOP
VLINP
VLINl'
VLOSOP

Scan Interrogate Buffer for next
character or number
Supervisor Dummy Function
Set A Counter
Skip Key
Perform Automatic Filling for
Fields
Supervisor Off Command
Space Key
Active Batch Table Handling Routine
Search 2
Special Test Jump Table
Numeric Field Validation
Make Key Entry Station's Supervisor Terminal
Dispatching program for Supervisor Functions

631
635
636
639
643
650
652
656
660
673
681
683
685
688

Thaw
Turn Off Key Entry Station
Turn On Key Entry Station
Display a Specified Counter Value
Tape Recovery and Leader Functions
Diagnostic Software for Remote Cluster

693
701
704
705
708
716

Process VERIFY Command
Background Core & Operation Mode
Processor
Terminal Keyboard Driver
Terminal Controller Interrupt
Handler
Select Start-up Conditions

722
728

730
733
736

PAGE
VLSTRT
VLSTTS
VLTYPE
VL2CRT
VL2SCN
VMM

Cyberdata Start-up Program
Start-Up Status Report
Print and Change Terminal Type Table
970-480 Display Driver
970-32 Display Driver
Verify Mode Processor

742
748
751
757
768
771

WBT
WRTFMr

Write Batch to Tape
Write Format to Disk

776
783

XPL

("
\

787

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
AID
PROGRAMNAME ________________
u0CUMENT CLASS

Level 6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
AID controls tutorial mode through bit 4 in Switch 1.
Function Format:
INT AID REL
Both for turn on and off tutorial mode.

2.

DETAILED DESCRIPTION
The program checks format validity. In case of error bit 8 of Switch 1
is set (indicates that RESET must regenerate display) and exit is made
via ERROR.
When the format is correct, bit 4 of Switch 1 is complemented (turn on
·or off tutorial mode) and DISPLAY is invoked. Exit is made via CLRSR.

INTERFACE
1.

ENTRY METHOD
AID is a disk resident program loaded by INTRGT (by use of ENTPRG) and
JMP is made to its single entry point.

2.

EXIT HETHOD
a,

JMP - (ERROR) incase of syntact i c error.

b.

JMP - (CLRSR)

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a. TRANSFER VECTOR
GETCO~' ($9C)
CLRSR ($93)
ERROR ($96)
DI SPLY ($AO)
b.

SST, ATT
SST ($il7)
STEMP (20)
SW1 (19)

c.

GENERAL
ONEB IT ($23)
ZROBIT ($33)
ERRE1 ($12)
PAGE NO. _ _
1 __

AA5641

'IINTED IN THE USA

CONTROL DATA CORPORATION

DOCUM ENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

--",C;. .:.Y. : .B.=.E.RD~A..:...:T...:..;A~I
...
Mu.;S~_ _
Level 6

PROGRAM NAME _ _
A_I_D_ _ _ __

2.

EXTERNALS
REGEN

3.

HACROS USED
None

4.

PROGRAM DEPENDENCIES
GETCOM
CLRSR
ERROR
DISPLY

5.

SYSTEM TABLES AND AREAS USED
SST
ATT
IRB

PHYSICAL CHARACTERISTI'CS
1.

MEMORY SPACE REQUIREMENTS

2.

15 16 - 21 10 words of program.
RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY
Reentrant.

PAGE NO. _ _
2__

AA5641

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __A_R_I_T_H_________________________________________________________________
PROGRAMNAME __~A~r~i~t~h=m=e~t~i=c~,_c=o=n~v~e=r~s~·~1o~n~,~a~n~d~p~a~r~k~i~n~g_u~t~il~·~lt~i~e~s~______________________________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
ARITH contains 8 entry points:
ADD adds two BCD numbers.
SUB subtracts two BCD numbers.
DB is a decimal to binary conversion routine.
BD is a binary to decimal conversion routine.
PACK packs an ASCI I string to a BCD number.
UNP unpacks a BCD number to an ASCI t string.
LUL performs lower and upper limits checks on a field.
NZT performs a nonzero test on a field.

2.

DETAILED DESCRIPTION
a.

b.

SUB
•

Call MOVE to move the operands addressed in Q and A to
locations AA through AA + 3, and BB through BB + 3,
respectively.

o

Complement bits 12-15 of BB.

•

Move return address from SUB to ADD, and continue at
step b.2.

ADD
Call MOVE to move the operands addressed in Q and A
to locations AA through AA + 3, and BB through BB + 3, respectively.

1. (ADD).

2.

(ADD1).

Set (AA = 1) = 0 and (BB - 1) = 0 (Sign extension areas).

G

Save address of result in ADDRR.

•

If (AA) is negative, call TENCMP to convert number in AA through
AA + 3 to lOIs complement.

o

If (BB) is negative, call TENCMP to convert the number in
BB through BB + 3 to 10's complement.

3. (ADD3). Add 16 digits in AA . . . AA + 3 to 16 digits in BB
BB + 3, working from right to left and storing the result in RR .
RR + 3.

~

.

4. (ADD9).

If sign of result, in RR-l is negative, call TENCMP to
complement the result, and set bits 12-15 of RR-l to $F.

PAGE NO. _-=3~_

'1INTfD IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __A_R_I_T_H____~--------------------------------------------------------___
PROGRAM NAME

Arithmetic. conversion. and parking util ities

•

•

If sign of result is positlve 1 set bits 12-15 of
RR-f to O.
If result address was specified, move result from
RR + 3 to result area.
RR .

5. (ADD 11) . Set (I) = Base address of ATT.
Set (Q) = RR (Result address), and exit to ca 11 e r.

•

c.

DB
Save the 4-digit BCD number in SST/STEMP.

(DB) .

1.

•

Set SST/STEMP + 1 = -4 (counter)

2. (DB I) .

Conver t the number to binary us i ng the formu 1a:

b = «d

3

x 10 + d ) x 10 + d ) x 10 + dO
2
l

where b is the binary result, d is the most significant
digit, and dO is the least signfficant digit in the BCD
number.
•
d.

Exit to the caller with (A) = (Q) = binary result

BD
1. (BD).

SetSST/STEMP=O

(result).

Set SST/STEMP + 1 = 4 (counter).
2. (BD1). Convert binary number in A to BCD number by dividing
the binary number by 10, shifting the remainder into the
BCD number from left to right; dividing the quotient by 10,
shifting the remainder into the BCD number, and so forth,
until a 4-digit number has been converted.

e.

3 . ( BD2). Ex itt 0 the calle r wit h (A) = BCD eq u i val en t 0 f
binary input.
PACK
1. (PACK). Set PN through PN + 3 to zero (Packed number buffer).
•

Adjust ATT/RCNT to point to beginning of current field.

•

Set (LOPCNT) = complement of field character count.

2. (PACK1).

Call GBYTE to extract next character from current field.

•

Increment ATT/RCNT by 2.

•

If current character is plus sign, set bits 12-15 of PN to
zero and go to step 3.

•

If current character is minus sign, set bits 12-15 of PN to
$F and go to step 3.
PAGE NO. __4__

'1INtED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~A~R~I~T~H~

•

PSSD

•

SOFTWARE DOCUMENT

________________________________________________________________

PROGRAMNAME __~A~r~i~t~h~m~e~t~i~c~,~c~o~n~v~e~rs~io~n~,~a~n~d~p~a~r~k~i~n~g~u~t~i~l~it~ie~s~_____________________________
•

Convert an ASCII number to a BCD number by subtracting $30
from the ASCI tnumber (if $20 encountered set to 0).

e

Insert the BCD number fn bits 0-3 of PN + 3, shifting all
precedtng digits 4 b[ts to the left.

•

Increment LOPCNT by 1.
has been converted.

Repeat step

3. (PAKEXT). Exit to caller with (Q)
packed result.
f.

until the entire field

= address

of first word of

UNP
(UNP).

I.

...... ""-.~

g.

2

Save address of packed number in UPADDR .

•

Save bits 12-15 (sign bits) of first word in SST/STEMP.

o

Set bits 12-15 to zero in first word of packed number .

•

Shift packed number one digit (4 bits) to the left.

Q

Call UPASCI to convert 15 packed digits to ASCI I equivalents,
storing the results, two digits per word, in UPN through UPN + 7.
Bits 0-7 of UPN + 7 contain $30.

•
•

Set I

= base address of Active Terminal Table (ATT).

Restore bits 12-15 of first word of packed number to the
original value.

13

If sign is plus, set bits 0-7 of UPN + 7 to $2B (plus sign).

0

tf sign is minus, set bits 0-7 of UPN + 7 to $2D (minus sign).

•

Exit to caller with (Q)

= address of first word of ASCI

I result.

LUL
1. (LUL).

Set LL through LL + 7 to zeros.

•

Call FMTPAR to extract 1 imit description byte from Format
table. Save address of first word of lower limit value in
LMTPNT. Save limit description byte in LMTTYP.

•

Call EXPAND to move lower limit field to LL through LL + 3.

G

Call EXPAND to move upper limit field to UL through UL + 3.

o

Call PACK to pack the data field to be checked.

•

Call SUB to subtract the Lower Limit value from the packed
data field value, leaving the result in a data area in SUB.
If Lower Limit value is greater than data field value, go
to step 2.

•

If not, call SUB to subtract the packed data field value from
the Upper Limit value, leaving the result in a data area in
. PAGE NO. _ _
5 __

/53

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ____A_R_I_T_H______________~_______________________________________________
PROGRAMNAME ____~A~r~i~t~h~m~e~t~i~cL._c~o~n~v~e~r~s~i~o~n~.~a~n~d~p~a~r~k~i~n~g~ut~il~i~t~i~e~s~__________________________

SUB. If the Upper Limit value is less than the data field
value, go to step 2.
•

h.

The data field value 1 ies within the 1 imits. If the 1 imits
are exclusive, exit to the caller. If not, go to step 3.

2.

(OUTLHT). The data field value lies outside the limits. If the
limits are exclusive, exit to the caller. If not go to LULERR
wI th (Q) = 8 (Limi tError) •

3.

(LULERR). If the whole field is zero, take normal exit.
Otherwise, exit to ERROR with (Q) = 8 (Limit Error).

NZT
1.

2.

(NZT).
•

Set SST/STEHP + 1 = complement of field character count.

•

If ATT/FDTP/13-15 = 7 (signed Numeric Field), increment counter
by 1, sot ha t I as t cha rae te r (s i gn ) i s not c he eked.

(NZTI).

Call GBYTE to extract next character from current field.

•
•

Increment ATT/RCNT by 1.
If current character of alpha or mixed numer i c field is not
blank, go to step 3.

•
•

If current character. of numeric field is not zero, go to step 3.

•
•

3.

Adjust ATT/RCNT to point to beginning of current field.

Increment counter in SST/SlEMP + 1 by 1 •
Repeat step 2 until entire field has been checked.
If alpha or mixed humeric field is all blank, or numeric field is
all zero, restore ATT/RCNT to original value and exit to ERROR
with (Q) = $C (nonzero error).

(NZTEXT).

Restore ATT/RCNT to original value and exit to caller.

INTERFACE
1. ENTRY AND EXIT CONDITIONS
a.

ADD
C
LDA
STA1
LDQ
A
LDA
B
EXT
ADD
RTJ
ADD
--Return--

Address
left in
Add ress
Add ress

of result; (1) =0 means result is to be
a data area in ADD.
of first operand
of second operand

(Q)
address of result
(1) = address of ATT
PAGE NO. _ _
6__

AA5641

PIINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __A_R_I_T_H________________----------------------------------------------____
PROGRAM NAME

b.

Arithmetic, conversion, and parking utilities

SUB
C
LOA
STA- r
A
LDQ
LOA
B
SUB
EXT
SUB
RTJ
--Return--

= address of result
= address of ATT

(Q)
( I)
c.

DB
LOA
A
EXT
DB
RTJ
DB
--Return-BD
LOA
A
EXT
BD
RTJ
BD
--Return-PACK
EXT
PACK
RTJ
PACK
--Return-(Q)

f.

Binary number in the range 0-9999

= Packed BCD equivalent of input number

(A)
e.

Packed BCD number in the range 0-9999

= Binary equivalent of input number

(A)
d.

Address of result; (t) = o means result is to be
left in a data area in SUB.
Address of first operand
Address of second operand

Field to be packed is defined in ATT.

= Address of packed BCD number

UNP
A
LOA
EXT
UNP
RTJ
UNP
--Return--

Address of packed BCD number

(Q) = Address of 8-word unpacked ASCII string
g.

LUL
EXT
LUL
RTJ
LUL
--Return--

Field is defined in ATT.
Limits are defined in FMT.

Return to caller if field passes limit check.
Exit to ERROR if field fails limit check .
. PAGE NO.

7

/ )~rllNTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __A_R_I_T_H______________________________________________________________

Arithmetic. conversion. and parking utilities

PROGRAM NAME

h.

NZT
EXT
NZT
RTJ
NZT
--Return--

Field is defined in ATT.

Return to caller if alpha field has at least one nonblank character,
or if numeric field has at least one nonzero character.
Exit to ERROR otherwise.
ASSEMBLY CHARACTERISTICS
1.

EQUATES
a. LOCORE
LPMASK ($2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
TEN ($46)
SST ($47)
GBYTE ($94)
ERROR ($96)
b. SST
CATT (1 1)
CFFA (12)
STEMP (20)
c.

ATT
FCNT (3)
RCNT (4)
FDTP (13)

2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
GSE

GBYTE)
Get current character from Terminal Record Buffer
ERROR ( Display error code
FMTPAR
Extract limit parameters

4.

DATA AREAS USED
SST
System Status Table
ATT
Active Terminal Table
. PAGE NO.

8 __

_.l1li.

'tiNtED IN THE

us.

CONTROL DATA CORPORATION

DOCUMENT CLASS
PROGRAM NAME

•

PSSD

•

SOFTWARE DOCUMENT

AR I TH
---------------------------------------------------------------------Arithmetic, conversion. and parking utilities

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
IE316 = 483 10

2.

words

RELOCATION TYPE
ARITH is core resident, loader relocatable.

3.

ENTRANCY CLASSIFICATION
Reentrant.

. PAGE NO.

J )C

9

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_D_AT_A___
IM_S__________~_______________________________________________

BORENT - Beginning of Record (Entry Mode)
LEVEL _6
PROGRAMNAME _____________________________________________________________________________________________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
BORE NT i5 entered when the first character (or function) of a record is
depressed. It performs the following operations:
a.

Gets a new track for the batch, if required, and calculates new disk
addresses.

b.

Builds TRB header for the record.

c.

Enters autosequence number when autosequencing is specified.

The closed subroutine LINKTR included in BORENT updates the track table
for the batch and writes it back to the first sector of the batch.
2.

DETAILED DESCRIPTION
BOREfJT calls the common entry subroutine to store the return address in
the ATT exits stack. The record length is obtained from the format table
and a check is made to see if sufficient room remains in the current track.
If there is not enough room in the existing track, DAM (GITRT) is called
to allocate another track. The closed subroutine LINKTR is entered to
update'the track table for the batch and write it back to the first sector.
PIO (CLCDWA) is called to convert sector to word address and the word
address is stored at ATT/NXTDA and ATT/NXTDA + 1. If the disk is full,
the error is displayed at the terminal via GSE (ERROR). If this new
record is an insert, and the terminal basic mode is Entry, the last entry
record is read in via SUBR, an internal subroutine to Read/Write 2 Words,
so that its next disk address pointers can be updated. The last entry
record is then rewritten via the same routine. In Entry mode, the same
treatment is given to the last record entered. The available track space
(ATT/AVLTK) is set to a maximum.
Whether or not a new track was needed, the beginning of record bit
(ATT/SW1/2) is cleared and the TRB header is built. IDK mode bit
(ATT/CMODE/14) is cleared and a check is made for required autosequencing.
If the record is an insert, the autosequencing number is automatically
set to 9999. If the record is not an insert, the autosequencing count
(ATT/ASCNT) is converted to decimal (four bits per number) via ARITH (BD)
and the ASCII autosequencing value is stored in the TRB. EMM (BOFFE) is
called to reinitial ize the ATT for the first field and the first field
display is generated via DISPLY. EMM (STTYPE) is called to set in the ATT
the correct data type from the format and EMM (AUTO) is called to perform
any necessary automatic skip/dup requirements. Exit from BORENT is made
via the common exit subroutine.

PAGE NO. _ _
1_0_

AA5641

... INTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__IM_,S________________________________________________________
PROGRAMNAME __~S~~P~\E~N~T__
-~B~e~g~i~n~n~in~g~o~f_R~\e~c~o~r~d~(E~n~t~r~y~t~1o~d~e~)________________________~LE~VuE~L~6
!NTER~ACE

1.

EN TRY

~1

ETHO D

Return jump
2.

INPUT
I

3.

=

PARA~1ETERS

curre~t

OR CONDITIONS

ATT base address

EXIT METHOD
Return to caller -- no error conditions
JMP -- (ERROR) -- no disk s~ace le~t

L

OU7~UT

!

= current ATT base address

~SSEMBLY

1.

PARAMETERS OR CONDITIONS

CHARACTERISTICS

[~UATES

a.

LOCORE
LPt'lAS K (2)
~~ ZER0

(S 12)

ZERO (S22)
8i~EBiT (S23)
ZPOBIT (S33)
TEN (S46)
SST (547)
CLCD'vIA (590)
ENTSR (S91)
EXTSR (S92)
ERROR (S96)
DISPLY (S.AO)
REWRIT (S.A4)
READP (SAS)
READN (SA6)
REDSEC (SA7)
WRTSEC (SA8)
CAM (SAE)
STRTPY (SAF)
WAIT (580)
REDDWA (SA9)
WP TD\JA (SAA)

PAGE NO.

AA5641

11

'.,NTfO IN HiE U~ ..

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_TA__I_M_S___________________________________________________
PROGRAMNAME __~BO~R~E~N~T_-~B~eg~i~n~n~in~g~of~R~e~co~r~d~(E~n~t~ry~M~o~de~)~----________________~L~E~\lEul~6

b.

c.

ATT
FTOB (1)
CMODE (2)
FCNT (3)
RCNT (4)
ASCNT (5)
ATRB (6)
FRBA (7)
PFBA (7)
AVLTK (8)
CURDA (9)
NXTDA (11)
CFFA (12)
FMTNO (13)
RFA (14)
BMOD (15)
BMDA (17)
SW1 (19)
SW2 (20)
RCD (32)
LUN (35)
ATEMP (73)
CONSTANTS
ERRF3 ($16)
ERRF7 ($1 F)

2. ,MACROS USED
None
3.

PROGRAM DEPENDENCIES
- REDDWA, WRTDWA, REDSEL, WRTSEL
PIO
ENEXSR
- ENTSR, EXTSR, WAIT
GSE
- ERROR
DISPLY
CAM
DAM
- GITRT, RELTRT
ARITH
- BD
- AUTO, BOFFE, STTYPE
EMM

4.

DATA AREAS USED
ATT
TRB
DTL

PAGE NO.

AA5641

12

.. aINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

CYBERDATA

•

PSSD

•

SOFTWARE DOCUMENT

I MS

PROGRAMNAME ____
B_OR_E_N_T__-_B_e~g~i_n_n_in~g~o_f__
Re_c_o_r_d~(E_n_t_r~y_M_o_d_e~)________________________~L~EV~E~L~6

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS

2.

10D 16 = 26 9
words
10
RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

13

'RINTfO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CY3ERDATA IMS
DOCUMENTCLASS __________________
_
Level 6

PROG RAM NAM E____B_O_R_K_E_Y________
?ROGRMI FUNCTION

1.

GENERAL DESCRIPTION
The program processes the BOR key-function, used in READ mode to backspace
to the first field of the current record.

2.

DETA I LED DESCR I PT ION
The program first checks for legal ity of function (it is legal only in
"pure" READ mode). In case the mode was not "pure" READ, exit is made via
ERROR.
Otherwise, the related pointers and counters are updated. The ~urrert
record character count is also cleared. The relative FMT Field Address
is also updated. A RTY is made to STTYPE (entry point in EM~) in orde~ to
set the data type.
DISPLY is invoked and on return exit is made via CLRSR.

INTEKFACE
1.

Er~ TRY MET HOD
BORKEY is a disk resident program invoked by ENTPRG.

2.

EX!T METHOD
a.

JMP - (ERROR) - in case the function is legal.

b.

JMP - (CLRSR) - normal exit.

ASSEMBLY CHARACTERISTICS
1.

E:lUATES

a.

TRANSFER VECTOR
ERROR ($96)
CLRSR ($93)
DISPLY ($AO)

b.

SST, ATT
MODE (2)
FCNT (3)
RCNT (4)
PFB~, (7)
RFA (14)
SST ($47)
CFFA (12)
FLDN (14)
ATEMP (73)

PAGE NO. _ _
1_4_

AA5641

'IINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS

DOCUMENTCLASS __________________
PROGRAMNAME __~B~O~RK~/E~Y________
C)

LOCORE
NZERO ($12)
ZERO ($22)
LPMASK (2)

2.

EXTERN.4LS
DBORKY
STTYPE

3.

MACROS USED
tJone.

4.

PROGRAr~1

DEPENDENCIES

ERROR
CLRSR
DISPLY
STTYPE (entry point in Et'1M)
5.

AREAS AND SYSTEM TABLES
SST
ATT
FBA

DHYSICAL CHARACTERISTICS
1.

~1Et10RY

SPACE REQUIREMENTS

23'6 = 35'0
2.

words of program

RELOCATION TYPE
Disk resident.

3.

REENTRANCY
Reent ran t.

PAGE NO.

AA5641

_-=1....;:;.5__

.. tiNTED iN THt

us ...

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
BSC
PROGRAMNAME ________________
__
DOCUMENT CLASS

Leve 1 6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
BSC is a disk resident routine to process the BSC key. This function may
be used in any mode, but not at the beginning of record.
BSC has two entry points: BSCKEY, BSC2. It is loaded via ENTPRG when
the operator hits the BSC key. Execution begins at the first entry point
BSCKEY. Exit method is: JMP - (CLRSR) when normal termination occurred,
and: JMP - (ERROR) with Q=4, when erroneous termination occurred.

2.

DETAILED DESCRIPTION
BSC first calls SETMOV to clear the program header I/O bit. If BSC is
pressed at beginning of record, the routine exits to ILLEGAL FUNCTION KEY
error. Further actions are taken according to the mode and the position
in the record:
a.

In Verify, Pseudo Verify and Replace Field modes, and not at beginning
of field, record and field counters are decremented by one. The current
field is redisplayed via DISPLY - DBSCEV. In-sight-verify we redisplay
via DISPLY - DBSCR to backspace the cursor and not clear the character.
Exit is via CLRSR.
If BSC is pressed at the beginning of field - jump to error (with Q=4).

b.

In READ mode:
If BSC is pressed not at the beginning of field: record and field
counters are decremented by 1; the cursor is placed on the previous
character as the routine does a return jump to DISPLY - DBSCR and
exits to CLRSR.
If after backspacing the beginning of the record is reached, the
routine sets IDK and SW1-B2 (first character of record next) bits.
If BSC is pressed at the beginning of field:
1) Number of words in previous format field is subtracted from current
and relative format field address, so they point to the previous
format field.
2) Record-counter and field-number are decremented by one.
3) Current field counter points to the last character of the previous

field (which is now actually the current field).

PAGE NO. _ _
1_6_

AA5641

PRINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

_C_Y_B_E_R_DA_T_A_I_M_S_ __
Level 6

PROGRAM NAME _ _B_S_C_ _ _ _ __

c.

•

Data-type in ATT is updated - STTYPE •

•

The cursor backspaces to the last character of the previous
field as the routine does a return-jump to DISPLY - REGEN and
exits - CLRSR.

In Entry and Insert modes:
If BSC is pressed not at the beginning of field: record and field
counters are decremented by one. The routine redisplays the current
field after backspacing and clearing last character, as it does a
return jump to display - DBSCEV and exits to CLRSR.
If after backspacing the beginning of record is reached:
o

Set IDK and SW1-B2 (first character record next) bits.

o

If we are in Entry mode and not in the first record of batch we
read the previous record, viaR'"TJ - (READP) in order to update
addresses and data in TRB. DUPKEY - bit SW2-B4 is not set.
If not at BOR and in Entry mode and not in the first field in
format, DUPKEY bit is set because the former data was destroyed.

(;';) If BSC is
READ mode; we
If we reached
seq. field we

pressed at the beginning of field: do 1),2), 3)as in
backspaced to the last character of the previous field.
the end of the first field in the record and it is an auto.
pass to Beginning Of Record state and exit (see BOR).

Updating counters and checking error flags:
We exit SSC disk function (RTJ- (EXDFUN) ) and jump to REPKEY (entry
point 3) by: RTJ- (ENTPRG) with the proper parameters at Q- regi?ter
in order to:
•

Clear error bit (if it is set) of current field.

•

If there is no other flagged field in reocrd, clear error bit in
TRB header.

•

Update the counters of field (if any).

BSC pass to REPKEY the difference between the record counter and the
current field counter in bits 0-11 of ATEMP, so that only fields from
the beginning of the record till current field will be checked for
error flags.
Control returns to SSC at second entry point - BSC2.
If we are at the end of an automatic field (auto. dUPe or auto. skip)
and MLT. DUP/SKIP not pressed, we pass to the beginning of current field
(updating record and field counters).

PAGE NO. __
1_7__

AA564t

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I t1S
BSC
NAME _ _ _ _ _ _ _ __

DOCUMENT CLASS
PROGRAM

Level 6

If we reached the beginning of record we set the flags and exit
(execute BOR from 2)). If not we loop and begin checks from (*).
If we are at the end of a nonautomatic field or MLT.DUP/SKIP was
pressed, we check whether we have to set DUPKEY bit. If we are in
Entry mode and not in the first field in format dupkey-bit SW2-B4 is set.
Then we check data-type-STTYPE, DISPLY - REGEN and exits.
BOR - Beginning Of Record:
1) If we are in Entry mode: decrement the auto. seq. number by one.
2) Set IDK and SW1-B2 (first character of record next) bits.
3) Set field number, record and field counters to zero.
4) Set relative format field address to 4 (points to the first field).
5) Update durrent format field address (in STT).
6) If not first record in batch and not inserted record we read
previous record, via RTJ- (READP) to update address and data in
the TRB. DUPKEY bit, SW2-B4 is not set.
7) Update data - type in ATT - STTYPE.
8) Redisplay - REGEN.

9) Exits:

JMP - (CLRSR).

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a.

LOCORE
LPMAS K (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
CLRSR ($93)
ERROR ($96)
ENTPRG ($9E)
EXDFUN ($9F)
DI SPLY ($AO)
READP ($A5)

b.

SST
CFFA (12)
RFA (14)

PAG E NO.

AA5641

_-=1-=8:--

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_y_B_E_R_DA_T_A__I_MS______
PROGRAM NAME __-=B~S~C________

c.

Level 6

ATT
MODE (2)
FCNT (3)
RCNT (4)
AUSQ (5)
HISCH (5)
ATRB (6)
PF!:3A (7)
SW1 (19)
SW2 (20)
STEMP (73)
FLAG (ATEMP)

2.

PROGRAM DEPENDENCIES
SETMOV
ERROR
DISPLY
CLRSR
READP
EXDFUN
ENTPRG
STTYPE

-

Clear the program header I/O bit.
Display error at terminal.
Handle display 6utput.
Free stack and exit to dispatcher.
Read previous record.
Exit disk resident function.
- Common program entry.
- Update data-type.

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
E8 16 = 23210

2.

RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

19

'RINTEO IN THE USA

CONTROL DATA CORPORATION
CYBERDATA IMS
DOCUMENTCLASS ________________________

~

•

PSSD

•

SOFTWARE DOCUMENT

__________________________________________________

Level 6

PROGRAM NAM E ____B_S_F___________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
BSF is a disk resident routine to process the BSF key. BSF is illegal
in the following modes: Verify, Pseudo Verify, and in Replace field modes.
BSF has two entry points: BSFKEY, BSF2. It is loaded via ENTPRG when the
operator hits the BSF-key. Execution begins at the first entry point BSFKEY.
Exit method is: JMP - (CLRSR) when normal termination occurred, and:
JMP - (ERROR) with Q-4, when erroneous termination occurred.

2.

DETAILED DESCRIPTION
BSF first calls SETMOV to clear the program header I/O bit. Then the
routine check the current mode. In Verify, Pseudo Verify and Replace
Field modes the routine exits to error. BSF is not allowed also at
the beginning of record in Entry and Insert modes.
a.

in READ mode:
o

If we are not in the first field of record the routine sets all
pointers a~he beginning of the previous field:
1) Subtract field count and max. number of words in previous field
from record count.
2) Set field counter to zero.
3) Number of words in previous format field is subtracted from

current and relative format field address, so they point to
the previous format field.
4) Field number is decremented by one.
5) Update data - type - STTYPE.
6) DISPLY - DBSF.

7) Exit - CLRSR.
•

If we are in the first field of record, position to last field of
the previous record:
1) Subtract field count from record count.
to the beginning of record.

Record count points

2) Set field count to zero.
3) Rewrite record back on disk if corrections were made.

4) Read previous record.
S) Decrement record count in read by one.

6) Get current format, via GFCORE.
PAGE NO. _ _
20__

AA5641

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_O_A_TA
___
IM_S__________~_______________________________________________________

Level 6

PROGRAM NAME _ _B_S_F_ _ _ _ __

7) Update current and relative format field addresses to point
to the last format field of the previous record.
8) Record count get the difference between max. number of characters

in the previous record and max. number of characters in the last
field of the previous record, point to the beginning of the last
field.

9) Update data-type, display and exit (see
b.

S), .6) and

7)).

In Entry and Insert modes:
o

If we are not at first of format position to the beginning of first
previous, nonautomatic field:
1) Current field counter is subtracted from record count.
2) Set field count to zero.
3) Max. number of words in previous field is subtracted from record

count.
4) Field number is decremented by one.
S) Update current and relative format field addresses.
6) Updating counters and checking error flags:

We exit BSF disk function via EXOFUN and jump to REPKEY (entry
point 4) via ENTPRG, in order to: clear error bit of current
field.
- If there is no other flagged field in record, clear error
bit in TRS header.
- Update counters of the field.
SSF. as SSC, pass to REPKEY the difference between the record
and field counters in bits 0-11 of ATEMP, so that only fields
from the beginning of the record till current field will be
checked for error flags. Control returns to BSF at second
entry point -SSF2.
7) If record count is equal to zero, pass to beginning of record
state, display and exit (perform BOR).
8) If we are on nonautomatic field or MLT OUP/SKIP was pressed the

routine set SW2-B4 (the OUPKEY-bit is set if we are in Entry mode
and not in the first field of the format); check data-type via
STTYPE; display -REGEN; and exits via RTJ- (CLRSR).
9)

If we are on automatic field and MLT OUP/SKIP was not pressed
we skip the field and position to the beginning of the previous
field - jump to (3).

PAGE NO. _ _
2_1_

AA5641

'RINTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
Level 6

PROGRAM NAME _ _
B_S_F_ _ _ __

•

If we are at first field of record we pass to beginning of record state:
1) Current field count is subtracted from record count.
2) Set field count to zero.
BOR - Beginning Of Record.
3) If in Entry mode, decrement auto. seq. number.
4) Set IDK and SW1-B2 (first character of record next) bits.
5) Set record count to zero.
6) Update current and relative format field addresses.
7) If we are not in the first record in batch and not in inserted
record, read previous record, via READP (SW2-B4 not set).

8) Update data-type - STTYPE, DISPLY - REGEN, and exits via CLRSR.
ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROB IT ($33)
SST ($47)
CLRSR ($93)
ERROR ($96)
ENTPRG ($9E)
EXDFUN ($9F)
DISPLY ($AO)
READP ($A5)
GFCORE ($9D)
REWRIT ($A4)

b.

SST
CFFA (12)
RFA (14)

PAGE NO.

AA5641

_2_2__

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_D_AT_A__I_M_S_________________________________________________

Level 6

PROGRAM NAME ___B_S_F_ _ _ __

c.

ATT
MODE (2)
FCNT (3)
RCNT (4)
AUSQ (5)
ATRB (6)
PFBA (7)
SWl (19)
SW2 (20)
ATEMP (73)
FLAG (ATEMP)
RCORD (31)

2.

PROGRAM DEPENDENCIES
SETMOV
ERROR
DISPLY
CLRSR
READP
EXDFUN
ENTPRG
STTYPE
GFCORE
REWRIT

-

Clear the program header I/O bit.
Display error at terminal.
Handle display output.
Free stack and exit to dispatcher.
Read previous record.
Exit disk resident function.
Common program entry.
Update data-type.
Get current format.
Rewrite record on disk t'f corrections were made.

PHYSICAL CHARACTERISTICS
1.

MEHORY SPACE REQUIREMENTS
BB 16

2.

=

187

10
RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO. _ _
2_3_

AA564t

'RINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ____C_Y_BE_R_D_A_T_A____________________________________________________________
PROGRAMNAME ______
B_S_FK_E_Y_________L_ev_e_I__O_6__________________________------------------------

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
BSF is a disk-resident routine to process the BSF key. BSF is illegal in
the following modes: Verify, Pseudo Verify, and in Replace Field.
BSF has two entry points: BSFKEY, BSF2. It is loaded via ENTPRG when the
operator hits the BSF key. Execution begins at the first entry point BSFKEY.
Exit method is: JMP - (CLRSR) when normal termination occurred, and:
JMP - (ERROR) with Q=4 when erroneous termination occurred.

2.

DETAILED DESCRIPTION
BSF first calls SETMOV to clear the program header I/O bit. Then the routine check the current mode. In Verify, Pseudo Verify, and Replace Field
modes the routine exits to error. BSF is not allowed also at the beginning
of record in Entry and Insert modes.
a.

In READ mode:
If we are not in the first field of record the routin~ sets all
pointers to-the beginning of the previous field:
1)

Subtract field count and maximum number of words in previous
field from record count.

2)

Set field counter to zero.

3)

Number of words in previous format field is subtracted from
current and relative format field address, so they point to
the previous format field.

4)

Field number is decremented by one.

S)

Update data - type - STTYPE.

6)

DISPLY - DBSF.

7)

Exit - CLRSR.

If we are in the first field of record, position to last field of
the previous record:
1)

Subtract field count from record count.
the beginning of record.

2)

Set field count to zero.

3)

Rewrite record back on disk if corrections were made .
. PAGE NO.

Record count points to

24
'IINHD IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ____
CY_B_E_R_D_A_T_A_____________________________________________________________
PROGRAMNAME _____B_S_F_K_E_Y________L_e_v_e_l_0_6_________________________________________________

b.

4)

Read previous record.

S)

Decrement record count in read by one.

6)

Get current format, via GFCORE.

7)

Update current and relative format field addresses to point to
the last format field of the previous record.

8)

Record count get the difference between maximum number of characters in the previous record and maximum numbers of characters in
the last field of the previous record, point to the beginning of
the last field.

9)

Updata data type, display and exit (see steps S, 6, and 7).

In ENTRY and INSERT modes:
If we are not at first of format position to the beginning of first
previous, nonautomatic field:
1)

Current field counter is subtracted from record count.

2)

Set field count to zero.

3)

Maximum number of words in previous field is subtracted from
record count.

4)

Field number is decremented by one.

S)

Update current and relative format field addresses.

6)

Updating counters and checking error flags:
We exit BSF disk function via EXDFUN and jump to REPKEY (entry
point 4) via ENTPRG, in order to:
- Clear error bit of current field.
If there is no other flagged field in record, clear error
bit in TRB header.
- Update counters of the field.
BSF, as BSC, pass to REPKEY the difference between the record
and field counters in bits 0-11 of ATEMP, so that only fields
from the beginning of the record till current field will be
checked for error flags. Control returns to BSF at second
entry point - BSF2.

7)

If record count is equal to zero, pass to beginning of record
state, display and exit (perform BOR).

8)

If we are on nonautomatic field or MLT DUP/SKIP was pressed,
the routine set SW2-B4 (the DUPKEY bit is set if we are in
entry mode and not in the first field of the format); check
data type via SSTYPE; display -REGEN; and exits via RTJ- (CLRSR) .

. PAGE NO.

25

'11N1I0 IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ____
CY_B_E_R_D_A_TA____________________________________________________________
PROGRAMNAME _____B_S_F_K_EY________L_e_v_e_l__
O_6_______________________________________________

9)

If we are on automatic field and MLT DUP/SKIP was not pressed
we skip the field and position to the beginning of the previous
field - jump to (3).

If we are at first field of record we pass to beginning of record
state:
1)
2)
3)
4)
5)
6)
7)
8)

Current field count is subtracted from record count.
Set field count to zero.
BOR - Beginning Of Record.
If in Entry mode, decrement auto. seq. number.
Set IDK and SW1-B2 (first character of record next) bits.
Set record count to zero.
Update current and relative format field addresses.
If we are not in the first record in batch and not in inserted
record, read previous record, via READP (SW2-B4 not set).
Update data type - STTYPE, DISPLY - REGEN, and exit via CLRSR.

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
CLRSR ($93)
ERROR ($96)
ENTPRG ($9E)
EXDFUN ($9F)
DISPLY ($AO)
READP ($A5)
GFCORE ($9D)
REWRIT ($A4)

b.

SST
CFFA (12)
RFA (14)

. PAGE NO. _26
__

PRINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
DOCUMENTCLASS ____________________________________________________________________
__
PROGRAMNAME _____B_S_F_K_E_Y________
Le_v_e_l__0_6_______________________________________________

c.

ATT
MODE (2)
FCNT (3)
RCNT (4)
AUSQ (5)
ATRB (6)
PFBA (7)
SWl (19)
SW2 (20)

ATEMP (73)
FLAG (ATEMP)
RCRD (31)
PROGRAM DEPENDENCIES
SETMOV - Clear the program header I/O bit.
ERROR - Display error at terminal.
DISPLY - Handle disply output.
CLRSR - Free stack and exit to dispatcher.
READP - Read previous record.
EXDFUN - Exit disk resident function.
ENTPRG - Common program entry.
STTYPE - Update data type.
GFCORE - Get current format.
REWRIT - Rewrite record on disk if corrections were made.
PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
BB 16 = 187 10

2.

RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

I"

. PAGE NO.

27

'1INlfD IN lHf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_D_A_TA
___
lt_1S__________~________________________________________________
PROGRAM NAME

Level 6

BSR - Backspace One Record

-----------------------------------------------------~~--

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
This routine processes the BSR key, when the terminal is in Read mode.

2..

DETAILED DESCRIPTION
BSR is a disk resident program. After being loaded, it starts with
clearing the I/O bit through SETMOV.
Mode is checked, and if it is not READ, ERROR is called with error code 4.
If switch 1 bit 13 is set - for Rewrite record back or disk, REWRIT (in PIO)
is called to perform writing. The previous record is read via READP (in PIO)
and number of records in READ is decremented by 1. If the format of the new
record is different from that in the ATT (format number is found in word 7
in TRB), the counters of number of characters in current field, and number of
characters in current record, will be set to point to the beginning of the
record. The new format is loaded via GFCORE. Current format field address
in SST, and data type in ATT are updated.
If the new record's format is the same as the last record, pointers will
point to the same field in the new record as they pointed to in the last
record when BSR was entered. The field being pointed to is displayed, and
BSR exits via CLRSR.

INTERFACE
1.

ENTRY METHOD
BSR is loaded via ENTPRG when the BSR key is entered.

2.

INPUT PARAMETERS OR CONDITIONS
I = current ATT base address.

3.

EXIT METHOD
JMP - (ERROR)
with error code 4 when station is not in Read mode.
JMP - (CLRSR) - when execution of function terminates normally.

4.

OUTPUT PARAMETERS OR CONDITIONS
I = current ATT base address.

PAGE NO. __2_8
__

AA5641

I'RINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYB ERDATA It1S
BSR - Backspace One Record
PROGRAMNAME ________________
DOCUMENT CLASS

Level 6

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
READP ($AS)
DIS PLY ($A 0)
CLRSR ($93)
ERROR ($96)
GFCORE ($9D)
REWRIT ($A4)

b.

SST
SST ($47)
CFFA (12)

c.

ATT
FMTNO (13)
RFA (14)
SW1 (19)
RCDRD (31)
r~ODE (2)
FCNT (4)
ATRB (6)
PFBA (7)

d.

TRB
TRBFMT (7)

2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
ENEXSR - CLRSR
GSE
- ERROR
GFCORE
- REWRIT
PIO
READP
DISPLY - DBSREL
SETt,lOV
- STTYPE
EMM

-

Clears address stack in ATT and exits to dispatcher.
Prints error messages.
Loads the format into core.
Writes a record back to disk.
Reads to the core the record previous to current record.
Clears I/O bit' and enables moving the program.
Stores data type in ATT.

PAGE NO.

AA5641

_2_9__

'RINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__I_MS__________~______________________________~_____________
PROGRAM NAME

BSR - Backspace One Record

--------------------

Leve 1 6

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
(31) 16

2.

=

(49) 10

RELOCATION TYPE
Run anywhere, movable.

3.

REENTRANCY
Reentrant.

PAGE NO. _....;;;;3~O_

AA5641

PRINTED IN THE USA

CONTROL DATA CORPORATION
CYBERDATA IMS
DOCUMENTCLASS ________________________

~

•

PSSD

•

SOFTWARE DOCUMENT

__________________________________________________

PROGRAMNAME ____C_A_t~__-__C_o_r_e_A__
l_lo_c_a_t_i_o_n__M_o_d_u_l_e__________________________________________L_e_v_e_1___
6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
There are three entry points in CAM: CAM honors requests for core space
by allocating a contiguous block of core in the Formats Records Programs
buffer area. (FRP). If a contiguous block of sufficient length is not
available, CAM attempts to create an adequate block by squeezing active
blocks down in the FRP buffer.
MMM moves an active block over a free area toward the beginning of the
FRP area. Only one block is moved on each call to MMM.
RPRD releases a designated block in the FRP.
Two additional subroutines in CAM are: RLSCOR, which builds a dummy block
header for a released area, and MMM1 which finds an active block and moves
it for HHM.

2.

DETAILED DESCRIPTION
a.

CAM (For calling sequence see INTERFACE)
1.

Call ENTSR to save the return address in the exit stack.

2.

Check for more than t11NCOR (=$800 words) available in allocatable
area of FRP buffer. If so, go to step a5.

3.

If not, search the entire FRP buffer for sufficient continguous
available space. This is done in the following 3 passes:
I)

(CAMOI). The FRP is searche"d from the lower limit upwards for
released buffers and for time-controlled programs with time
over. The programs with time over are released till the core
request is satisfied. A co~e request is satisfied if a buffer
or the length of some subsequent buffers equal one or greater,
at least with 3 locations from the amount of co~e required (the
additional 3 locations are needed to build a dummy header for the
remainder of the buffer).

II)

(NXTRAS). If a sufficiently large block was not found, the FRP
is searched for the second time for the additional possibi lity;
buffers will be moved, except for the buffers with 1/0 bits, if
the sum of the areas surrounding these buffers will be sufficient
for the core requested.

III)

If the above mentioned possibilities are not sufficient to get
the amount of core required, the FRP is passed for the thi rd
time with the new additional possibil ity; time control led
programs which are not accessed but their time is still not
over will be released if the length of these programs, together
with the areas of the surrounding released buffers, are sufficient
for the core requested.
PAGE NO"

AA5641

_-=3-=1:....-PRINTED IN "THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S__________~_____________________________________________
PROGRAMNAME ____C_A_M__
- __
Co_re__A_l_l_o_c_a_t_i_o_n_M_o_d_u_l_e_________

Level 6

4.

(NXTOUT). If sufficient space is still not available, set
(A) = $FFFF, Q = required length, and call EXTSR to exit.

5.

(OK). If the space is found, build the header for the block to
be assigned, adjust the FRPP pointer if necessary, and call RLSCOR
to release any excess space in the area found. Adjust the CFFA
pointer in SST, set (Q) = address of assigned block, (A) = 0 and
call EXTSR to exit.

6.

(MOVE). If sufficient space was found in step 311 or 3111, call
to move active blocks over the available areas (toward the
beginning of FRP).

t~HM1

b.

c.

d.

MMM (For call ing sequence see INTERFACE)
1.

Set start address (SST/STEMP) = beginning address of FRP.
Set 'SM' re 1ease i nd i cator (I NDC) = O.
Set FLAG=$FFFF.

2.

Call MMM1 to move the next active block toward the beginning of
FRP.

3.

If all active blocks have been handled, update the FRPP pointer to
the beginning of available space. Also reset SST/SLOCK/14 (storage
move flag) if no blocks have been skipped over.

4.

Exit with (q) =

o.

RPRD (For call ing sequence see INTERFACE)
1.

Reset bit 15 (I/O control flag) and bit 14 (time control flag) in
word 1 of the block header.

2.

Move the block disk address from word 3 of the block header to the
Program Directory (PRD) entry for the block.

3.

Reset the program status

4.

Return to caller.

bit~for

this block in the PRD control block.

RLSCOR
1.

Calling sequence is RTJ RLSCOR where:
Q = address of the block were from to release
SST+STEM~l = length, of area to be released.

2.

Clear user count field in block header.

3•

Put (b 10 c k 1en g t h-1) i n 1en g t h fie 1d •

4•

I f 211 b 10 c k 1eng t h, set SST / S LCO K/ 14 (s tor age move f 1a g) and
exit to caller.

PAGE NO. __3_2
__

AA5641

'RINTfO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_y_B_E_R_DA_T_A__I_M_S___________________________________________________________
PROGRAMNAME ____C_A_M__-__C_o_r_e_A__
ll_o_c_a_t_i_o_n__t1_0_d_u_l_e_________________________________________~L~e~v~e_l~6

e.

5.

If (2" + 2)
block length, put(2"-1) in length field, set
remaining length=block length -2".

6.

Advance block pointer by length field + 1 and repeat from step 2.

7.

I f 2II
b 10 c k len g t h
( 2II + 2) pu t ( 2" - 3) i n len g t h fie 1d, set
remaining length=block length - (2"-3) and repeat from step 6.

MI1Ml
1.

Calling sequence is RTJ MMM1 with starting address in SST/STEMP,
a val ue i n FLA Gin d i cat i n g the 0 rig i n 0 f the cal 1 ( FLA G
0 if
called from MMM, FLAG
0 if called from CAM), and required block
1ength is LENGTH if the ca 11 is from CAM.

2.

(MMM1).

Save starting address in FREBAS.

3.

(i1 MM3) .

Set len g tho f f r e e spa c e = O.
Move starting address from FREBAS to SST/STEMP.

4.

(MHt16).

If FRP block has been scanned up to FRPP, exit.

5.

(GET,~XT).
Check the next block for activity. If user count
0.
time control is selected, and the block is preceded by
free
space, go to step 13 to move the block. If the block is not
preceded by a free space go to 9.

6.

If user count = 0, and time control is not selected, update the
length of free space by the length of this block.

7.

If (FLAG)

8.

If (FLAG)
0 (called from CAM), compare length of free space
with required length. If free space length = required length,
or if free space length
required length + 3, exit. Otherwise
repeat from step 4.

9.
10.
11-

0 (called from t1t1M), repeat from step 4.

If user count = 0, time cont ro 1 is selected and free space length
repeat from step 3 •
If user count # 0, and free space length = 0, repeat from step 3.
If user count # 0, I/O control is not selected, an d free spa ce
length :f. 0, go to step 13 to move this block.

a

=

12.

If user count :f. O' I/O control is selected, and free space length =I
0, call RLSCOR to build a dummy header for the free space block, then
repeat from step 3.

13.

(MOVBLK). Move this block to the beginning of the current free
space area. Update the address of free space in SST/STEMP by the
length of this block.

PAGE NO. __3_3__

AA5641

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_y_B_E_R_D_AT_A__I_M_S___________________________________________________________
PAOGAAMNAME ____C_A_~1__-__
Co__
re__A_l_l_o_c_a_t_i~o_n_l_·1o~d_u_l_e____________.~__--____________________~L=e~v~e~1~6

14.

If (FLAG)
0, call RLSCOR to bui Id dummy header for the free
space block, then exit.

15 •

If

( F LA G)

0, repeat from step

4.

INTERFACE
1.

CAM
CAH is a core resident routine whose entry point address is in SST
location $AE.
Calling sequence is:
LDQ
Block length
RT J(CA~1)
--Return-I = ATT base address
Output parameters are:

2.

(A)

0 if space was allocated

(Q)

$FFFF if not
Beginning address of allocated space if space was allocated
Block length, if not.

MM'1
MMt1 i s core res i dent.
Call ing sequence is:
RT J Mt1M
--Return-Contents of Q and A registers are destroyed.

3.

RPRD
RPRD is core resident.
Call ing sequence is:
B
LDQ
RTJ
RPRD
--Retu rn--

B = Address of disk resident program
to be released.

Contents of Q register are preserved, A is destroyed.

PAGE NO. _ _3_4_

AA5641

... INTfO IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__
IM_S______________________________________________________

CAM - Core Allocation Module
Level __
6
PROGRAMNAME __________________________________________________________________
ASSEMULY CHARACTERISTICS
1. EQUATESa.

b.

LOCORE
LPMAS K (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
MONITR ($SC)
ENTSR ($91)
EXTS R ($92)
SST
SLOCK (1)
PRDA (3)
FRPLL (6)
FRPUL (7)
FRPP (8)
CFFA (12)
CLOCKS (17)
STEMP (20)
STEMP1 (21)
STEHP2 (22)
STEMP3 (23)

c.

ATT

d.

PF!3A (7)
RFA (14)
CONSTANT
t11 NCOR ($800)

3.

PROGRAM DEPENDENCIES
MONITR
Checkout mon i tor
ENTSR
Enter subrou tine
EXTSR
Ex its ub r ou tin e

4.

DATA AREAS USED
SST
System Status Table
ATT
Active Terminal Table
PRD
Program Directory
FRP
Formats Records Programs buffer

PAGE NO. __3_5_

AA5641

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_R_D_A_TA
___IM_S__________~______________________________________________
PROGRAMNAME __~C~A~M~-_C~o~r~e~A~l~l~o~ca~t~·~lo~n~M~o~d~u~le~__________.__________________________~L~e~v~e~1~6

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
13B16

2.

= 315 10

words.

RELOCATION TYPE
CAM is a core resident program.
It is in loader-relocatable form.

3.

ENTRANCY CLASSIFICATION
Not reentrant.

ATTACH ANALYTICAL SUPPLEMENTS
1.

Formats/Records/Programs (FRP) buffer.
Three words in SST define the FRP
first word of FRP, FRPUL contains
the end of FRP, and FRPP contains
the last active block in FRP. In
(FRPUL) is free space.

FRPP

buffer. FRPLL contains the address of
the address of the first word adjacent
the address of the first word adjacent
other words, all the space from (FRPP)

the
to
to
to

~~------------------------~

Free Space

FRPUL ~
2.

FRP Block Header
Each block of active and free space is defined by a 3-word header.
WORD 0

BACKWARDS POINTER

l

b
2

I~ I

I

LENGTH

I

UC

PAGE NO. _-=3"-,,,6~

AA5641

'RINTEO IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA Ir~s
------------------------------------------------------------------------

PROGRAMNAME __~C~A~M_-~C~o~r~e~A~l~lo~c=a~t~i~o~n~t1=od=u~l~e~____________________________________~I~e~v~e~1~6

Where:
I/O = I/O Control FLAG (1 = I/O in Progress)
TC = Time Control FLAG (1 = Time Control)
Length = Length of Block (not including backwards pointer)
(11 bits)
UC = User Count (6 bits)
A dummy header, as built by RLSCOR, has I/O
length of block - 1, and UC = O.

= TC = 0,

LENGTH

Backwards Pointer = a
I/O = TC = a
LENGTH = Length of block - 1
UC = 1
A header for the block just allocated by CAM has:
Active blocks may have additional header words fo·llowing word 2 to
define disk address, time to release, etc.

PAGE NO. _ _
3_7_

AA5641

'RINHO IN THE US"

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_D_A_TA
___
IM_S__________~______________________________________________

Level 6

PROGRAM NAME ___C_A_N_C_E_L_____

PROGRAM FUNCTION
1. GENERAL DESCRIPTION
To process the Cancel key after DLT and EOB.
2.

DETAILED DESCRIPTION
SETMOV is called to clear I/O bit and allow program move. CANCEL checks
if bits 0 or 1 of Switch 1 are set, else ERROR is invoked with error code 4.
If bit 1 in Switch 1 is set (for correct after delete to delete a record
in Read and Verify), bits 11 and 1 in Switch 1 are cleared (11 - when set
means that COR must be next). IDK bit in CMODE is reset. If mode is
VERIFY, CANCEL will exit by RTJ (EXDFUN), and JMP+ VMM1; if Read mode,
CANCEL exits to CLRSR. When bit 0 in Switch 1 is set (for EOB val idation
error, CANCEL, ERR O/R must be next), it is cleared. Switch 2 bit 12 is
cleared (when it is set it indicates that ERR O/R may be entered). In this
case CANCEL will exit to CLRSR.

INTERFACE
1•

ENTRY MODE
CANCEL is loaded via ENTPRG when the operator hits the CANCEL key.

2.

INPUT PARAMETERS OR CONDITIONS
I = current ATT base address.

3.

EX IT METHOD
JMP - (ERROR) - with error code 4 when switch condition is illegal for cancel.
JMP+VMM1
- (after EXDFUN), when COR/DLT in Verify mode.
JMP- (CLRSR) - when COR/DLT in READ mode, or when EOB error flag is set.

4.

OUTPUT PARAMETERS OR CONDITIONS
I = current ATT base address.

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a.

LOCORE
LPMASK (2)
NZERO ($12)
ONEBIT ($23)
ZROBIT ($33)
DISPLY ($AO)
ERROR ($96)
CLRSR ($93)
EXDFUN ($9F)
PAGE NO.

AA5641

38

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__IM_S__________~____________________________________________

CANCEL

Level 6

PROGRAMNAME ________________

b.

ATT
SW1 (19)

CMODE (2)
SW2 (20)

2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
SETMOV - Clears I/O bit to allow program move.
DISPLY - REGEN - regenerates screen display.

4.

DATA AREAS USED
ATT

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
(24)16 = (36)10

2.

RELOCATION TYPE
Run anywhere, movable.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

39

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_D_A_T_A__
IM_s___________________________________________________________
PROGRAM NAME

CBS - Change

Batc~h~S~t~a~t~u~s

____________________________________________~L~e~y~e~1~6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
CBS is a Supervisor function used to change the present status of a batch
to another status.

@

Call i ng sequence is: CBS, J J J , BBB, s s s ( , vv v)
where: JJJ
Job name
Batch number
BBB
sss
The requested status
when VER status is requested vvv is the ve r i fica t i on
vvv
options requested
2.

DETAILED DESCRIPTION
CBS first enters SETMOV to enable program moving, and then collects the
entered parameters via GETALP and GETBIN in SCANV. If a comma does not
follow, the CBS command goes to REJSUP to indicate "inval id command format"
(ERR9). If there are more than 6 characters in the job name or they are
not legal characters or the job name is not followed by a comma, exit is
to REJSUP to indicate "i llegal job name" (JERR). Fo'r a batch number that
exceeds 999 or is not followed by a comma, goes to REJSUP indicating
"inval id batch number" (BERR). The requested "change" is checked to be
OPN, ORV or VER; if another mnemonic was entered goes to REJSUP to indicate
"inval id parameter" (OERR). When VER is requested as the change, the new
verification options are expected - N for no verification options or any
combination of FEU options. If any of these are not given goes to REJSUP
to indicate invalid verification option (ERR17). Then prepares parameters
and enters GETLJD to ensure that the job specified is a legal job and to
extract the job index.
Next a check is made to see if modifications are being made to the ABT. If
this is the case (SST/SLOCK/13=1), exits to WAIT, and tries again. When no
changes are being made, sets SST/SLOCK/13, and inserts job parameters in a
request to SPILL to locate the specified batch in the ABT. If the batch does
not exist in the ABT, goes to BERR; else saves the parameters returned by
SPILL and performs the following: if the requested change is ORV, and the
present mode is waiting to be verified, changes the mode to completed, and
goes to update the ABT (UDABT); el se goes to BERR. I f the requested change
is VER and the batch mode is not entry or entry forzen or verify changes it
to verify frozen, inserts the new verification options and goes to UDABT;
else goes to BERR. If the requested change is OPN and the batch mode is
waiting to be verified or completed or written (if not one of these goes to
BERR), issues to the disk associated with the batch a READ request. If the
request is rejected goes to REJSUP to indicate "disk X is deselected". If the
disk is selected, request 32 core words via CAM and reads via REDDWA 32 words
of the ATT written on the disk. If no core is available, SST/SLCOK/13 is
cleared, and exit to REJSUP with a suitable message. Words 5, 6, 7, 13, 14,
27, 28 of the ATT are cleared, current terminal mode is set to 10K-IDLE, ATT/
SW1/2,3,lO and ATT/SW2/3 are set to 1, ATT/basic mode is set to ENTRY and
PAGE NO. _ _4_0_

AA5641

'RINlEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_R_D_A_TA
___IM_s__________~__________________________________________________
PROGRAMNAME __~C~B~S___-~Ch~a=n~g~e~B=a.t~=c~h~S~t~a~t~u~s__ .______________________________________~Le~v~e~1~6

writes back the 29 words via WRTDWA. Then transfers the batch mode in the
ABT to entry frozen and releases the requested core. 4 words of the last
record header of the batch are read via REDDWA. The disk address of the
next record in the header is updated according to the saved ATT and the
4 words are written back via WRTDWA (UDABT). Then the ABT is updated with
the new information via SPILL and exit is to SV, after clearing SST/SLOCK/13.
INTERFACE
1.

ENTRY METHOD
CBS is a supervisor function loaded by ENTPRG.
Only entry point is CBS.

2.

INPUT PARAMETERS OR CONDITIONS
I = current ATT address
Operator enters

~

CBS,JJJ,BBB,ccc(,vvv)~

3.

EXIT METHOD
1. Jump to REJSUP with appropriate error code
2.

4.

Jump to SV

EXIT PARAMETERS OR CONDITIONS
I

=

Current ATT address

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

LOCORE
LPMASK ($2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)

b.

SST
STEMP (20)
SLOCK (1)

PAGE NO. __4_1_

AA5641

'RINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_BE_R_D_A_TA
__I_M_S________~__________________________________________

CB S - Cha nge Ba tc~h_...:S:;.,..;t;,.=a-=-tu::...;s::..._. __________________________..!:::.L!:::.:ev:!..!:e::..!.1~6

PROGRAM NAME

c.

d.
e.

f.

TRANSFER VECTOR
CLCDWA ($90)
ENTSR ($91)
EXTS R ($92)
GETBIN ($99)
GETALP ($9B)
GETSOM ($9C)
SP ILL ($A 1)
REDDWA ($A9)
WRTDWA ($AA)
CAM (SAE)
SV (SB1)
REJSUP ($B2)
EST
DSKST (29)
ATT
FTOB (1)
JIDX (3)
SC (36+10)
TJOB (SC)
TBATCH (SC+3)
OPT (sc+4)
OPTV (SC+5)
WORD (SC+6)
WORD2 (SC+7)
WORD3 (SC+8)
WORD4 (SC+9)
CONSTANTS
E
F
N
U

3.

($45)
($46)
($4E)
($55)

PROGRAM DEPENDENCIES
a.

EXTERNALS
SETMOV GETLJD - Locates a job in the LJD.
BD
- Converts hexadecimal number to BCD.

PAGE NO. _ _
4_2__

AA5641

PRINTED IN lHE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
DOCUMENTCLASS ______________________
.____________________________________________________
PROGRAM NAME _ _C_B_S_-_C_ha_n_g_e_B_atch Status

b.

TRANSFER VECTOR
ENEXSR - ENTSR
EXTSR
PIO
- CLCDWA
REDDWA
WRTDWA
CAM
SCANV - GETBIN
GETALF
GETCOM
SUPER· - SV
REJSUP
SPILL

4.

Level 6

-

Common subroutine entry.
Common subroutine exit.
Calculates disk word addressing.
Read from disk according word addressing.
Write on disk according to word addressing.
Allocate core buffer.
Get binary number from input string.
Get next alph character from input string.
Get comma or end of record from input string.
Conclude supervisor request.
~ Generate error messages to supervisor.
- Handle Active Batch Table.

DATA AREAS
SST
EST
ATT
ABT
Buffer requested via CAM to hold the disk resident ATT.

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
18B

= 395
for the program.
16
10
32'0 words buffer as mentioned above.

2.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Partially reentrant. If ABT modifications are being carried out, the
main part of the program is locked.

PAGE NO. _ _
4_3_

AA5641

... INTfO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_D_AT_A___
IM_s__________~_______________________________________________
PROGRAMNAME ____C_D_S__-__
C_ha_n_g~e__D_i_s_k__
S_t_a_tu_s_____________________________________________~L~e~v~e~1~6

PROGRAM FUNCTION
1•

GENERAL DESCR I PT ION
CDS is a supervisor function to change the status of a disk drive from up-to
down status or vice versa. Command format is CDS, logical unit, status.

2.

DETAILED DESCRIPTION
a.

(CDS). Call SETt·10V to allow the program to move in FRP buffer. If
character after CDS in the command is not a comma exit to REJSUP with
A = 9 (will display INVALID COMHAND FORMAT and allow new supervisor
entry). GETBIN is called to get the logical unit which is stored in
ATT/SAVLU. If logical unit is not followed by comma or not between
1 and 4 command format is improper and exit to REJSUP with A = 27 is
made (will display INVALID LOGICAL UNIT and allow another supervisor
entry). GETALP is called to get the st'atus character (S or D) of the
command and it will be stored in ATT/ATEMP. If the character was
NONASCI I, comma or EOR or not S or D exit is made to REJSUP with A = 20
(INVALID STATUS OPTION).

b.

(IFEOR). In GETCOt~ next character is retrieved from command buffer. If
it is not an EOR character, exit is made to REJSUP with A = 20 (INVALID
STATUS OPTION).

c.

(CHCKST). If status character stored in ATT/ATEMP was an S go to step f
to mark unit as up.
,'-Down s ta tu s.

d.

Get EST/DSKST (disk status word). (C1) If it is legal to declare disk
as down go to e. If all other disks are detlared down, exit by calling
subroutine MOVPRT. This will display the message IIALL OTHER DISKS
DESELECTED INVALID CMD" on the supervisor list unit. Upon return exit
with A = FFFF to REJSUP (will not display a message) and allow a new
supervisor entry.

e.

(TSTATT). Get EST/DSKST. Mask out up/down bits and set the status bit
for this disk to down (=1). Store updated entry back into EST/DSKST.
Go to step k.

f.

(Up). Check EST/LUND1 + n (where n is disk number 0-3) to get logical
un i t numb e r 0 f dis k to ma r k as up. I f z e roo r 7 FFF go to step g. 'Stor e
logical unit of disk into RQLU of READ-request block. If PHYSTAB/EREQST
bits 11-13 equals 2 (mass storage class code) go to step g1.

g.

(LUER). Set A = 27 and exit to REJSUP (will display "INVALID LOGICAL
UNIT" and allow another supervisor entry).
1)

Get TRT length for the disk to be marked up from the corresponding
byte of one of the first two words of EST. If the TRT table is more
than one word long go to step h (there is space on disk that is to be
marked as up). Otherwise A is set to 30 and REJSUP is called (will
display "ERROR IN SYSTEM TABLES,b',,',1I and allow another supervisor
command to be entered).

PAGE NO.
AA5641

44
'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_R_D_A_TA__I_M_s__________~_____________________________________________
PROGRAMNAME ____~CD~S~-~C~h~a~n~g~e~D~i.=s~k~S~t~a~t~us~___________________------__________________-:L=ey~e~l~6

h.

(READ1). Find out absolute address of label READ1+1 in FRP buffer.
Calculate hence the completion address and store in CMPL of READrequest block. Set buffer address to read one word into as ATT/BUF
and store into BUFADD, call subroutine IOONF to set function lock and
I/O-move bit. Issue a read request to read one word from sector one on
the disk in order to verify its proper functioning. Go away to
dispatcher.

i.

(ERRBT). Upon completion of the diskread, restore the I register from
SST/ATTB (terminal 0 is always at the ATT base address). Call subroutine
IOONF to toggle back function lock on the ATT and reset the I/O-move bit
for the module. If the diskread completed with no errors (Q positive)
go to step j. If errors get the number of the existing disk, convert to
ASCI I code, plug into error-message and call subroutine MOVPRT to display
"READ ERROR IN DISK XII. Set A = 23 and go to REJSUP to display "1/0
ERROR" and wait for another supervisor command.

j.

(NOERR). Ch-ange EST/DSKST word to reflect that status for this disk
is now up.

k.

(WRTEST). Get address of EST/DSKST and plug into diskword write at
label CORAD. Get sector address of the start of core-image via MSOS
Extended communication region table convert to a word address throuqh
call to CLCDWA. Write the changed EST/OSQST word back to core image
on system disk. Exit to SV to allow another supervisor entry.

SUBROUTINES
1.

(MOVPRT). Call ENTSR to put return address into entry/exit stack.
Move number of words of message to output into request blocks. Get
starting address of message and plug into FROM. Store the start of
supervisor interrogate buffer into TO. Call MOVREC to move message
into IRS. Call SETMOV to set function index to allow a relative return
during the I/O. Call DUPRW to display the error message in the IRB.
Call RTNSR to get return address and exit out of subroutine.

m.

(IOONF). ·Toggle ATT/O/14 (function lock) and bit 15 of first reader
word of the program. Return to caller.

INTERFACE
1.

ENTRY METHOD
CDS is a disk resident supervisor function which is called via ENTPRG
requested by DSKSUP.

~hen

2.

INPUT PARAMETERS CONDITIONS

=

I
current ATT. address.
Command in interrogate buffer.

PAGE NO. __4_5_

AA5641

'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

CYBERDATA IMS

PROGRAM NAME

CDS - Change

Di~s:..:k..:...-=:S...:.t;::..a..:..:tu=s:'-

•

PSSD

•

SOFTWARE DOCUMENT

_______.______________...JI~e...lLv~e..Ll~6

3.

EX IT t1ETHOD
Jump to REJSUP in order to display error message.
Jump to SV in order to get another command.

4.

OUTPUT PARAMETERS OR CONDITIONS
If disk exists the disk status word in EST and the corresponding word in
the core image on disk is updated.

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
LPt~ASK ($2)
NZERO ($12)
(not used)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
b. SST
ATTB (10)
(not used)
ATTLNG (19)
STEMP (20)
CLCDWA ($90)
ENTSR ($91)
(not used)
EXTSR ($92)
SUPRW ($97)
RTNSR ($98)
GETBIN ($99)
GETALP ($9B)
GETCOM ($9C)
WRTDWA ($AA)
SV ($B1)
REJSUP ($B2)
DISPCH ($EA)
c.

d.

EST
LUND1 (25)
DSKST (29)
ATT
BMODE (15)
A I NT (2])
DLU (35)
ATEMP (73)

(not used)
(not used)

PAGE NO.

AA5641

46

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_y_B_E_R_D_AT_A__I_M_s___________________________________________________________
PROGRAMNAME __~C~D~S__
-_C~h~a~n~g~e~D~i~sk~S~t~a~t~u~s________________________________________~L~e~v~eu]~6

e.

SCA
SAVLU (50)
ATTLIM (51)
BUF (52)

f.

(not used)

Cons tan ts
EREQST (8)
D ($44)
S ($53)

Request status word in PHYSTAB
Character D
Character S
Code for formatted write
Pointer to extended system table
Sector address of core image

F';J (3)

EXTBL ($E9)
CORIMG (4)
2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
SETMOV (EN EXS R)
MOVREC (PIO)
LOGIA (SYSDAT)
ENTSR (ENEXSR)
RTNSR (ENEXSR)
GETBIN (SCANV)
GETALP (SCANV)
GETCOM (SCANV)
CLCDWA (PIO)
WRTDWA (PIO)
SV (SUPER)
REJSUP (SUPER)
SUPRW (PIO)

4.

Allows programs to move in FRP
Moves messages to IRB
Address table of PHYSTABt s
Common routine to save return address
Recover last entry in address stack
Converts a numeric value in IRB to binary
Checks character in IRB to be alpha
Checks character in IRB to be comma or EOR
Calculate a disk word address
Write in word address mode to disk
Supervisor command processor
Supervisor reject procedure
Read/write processor for supervisor console

DATA AREAS USED
SST
ATT

System Status Table.
Active Terminal Table.

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
Dl

2.

16

= 209 10

words.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.
PAGE NO. __
4_7_

AA5641

.. RINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

_________________________________________________________________

DOCUMENTCLASS~C~DV~T~S~T

PROGRAMNAME __~Ch~e~c~k~D~j~g~j~t~V~a~l~jd~a~t~i~o~n~__________________________________________________
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
CDVTST performs End of Field check digit validation where the right-most
digit in the field must have a specific relationship to the result of a
combination of the remaining digits with prescribed weight values. The
test is valid only for numeric fields of length 2-16, including a check
digit as the right-most digit.

2.

DETAILED DESCRIPTION
a.

(CDVNUM).

Save the Check Digit Validation (CDV) code in INDEX.

o

Compute the address of the designated CDV Weight Table (CWT)
entry and save it in ENTCWT .

•

If the field length, N, is 1 digit or less, go to step h.

G

Compute address of last word of data field.

b.

(LOUP1). Move digits from data field to BUF + 16 through BUF + N + 15,
reversing the order of the digits, that is, putting right-most digit
in BUF + 16, next digit to the left in BUF + 17, and so forth. The
check digit is in BUF + 16.

c.

(SOF). Move we i ghts from CWT entry to BUF through BUF + N - I, one
digit per word. The modulus is in BUF.

d.

(DOOP) .
o

e.

g.

I f Test number 1 requested, go to step i.

If Test number 3 requested, go to step j.

(OP1). Multiply each data digit by the corresponding weight value,
accumulating the products in FDCNT.
e

f.

Check CDV code.

If the modulus in BUF is zero, go to step h.

(CHECK).

Divide the weighted sum by the modulus value.

e

Add the check digit to the remainder; if the result is zero.
go to step g.

e

If not, subtract the result from the modulus.

(EXIT).

If the result is nonzero, go to step h.

If the result is zero, exit to caller.

=

h.

(ERR).Exit to ERROR with (Q)

i.

(SEV) . Di v i de base number by the modu 1us.
e

$A (Check Digit Error).

Exclusive OR the result with the check digit and go to step g .

. PAG E NO. ---.,;4...;;;;8:.-_
'tiNTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

_C_D_v_T_S_T_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __

PROGRAMNAME ____C_h_e_c_k_D_i~g~i_t_V_a_l_id_a_t_i_o_n_____________________________

j .

(DIX1). Multiply each data digit by the corresponding weight value,
and divide the result by 10; hold the result in FDCNT. Go to step f.

INTERFACE
1.

ENTRY METHOD
EXT
RTJ

2.

INPUT PARAMETERS OR CONDITtONS
(I)
(A)
(A)
(A)
(A)

(A)

3.

CDVNUM
CDVNUM

= Base address of Active Terminal Table (ATT)
Check digit validation code.
procedures are:

= 0:

Divide the value in the data field by 7.
equal the check digit.

The remainder must

1: Sum the digits in the data field. This result subtracted from
the next higher multiple of 9 must equal the check digit.

= 2:

Starting from the" right, mUltiply each odd digit in the data field
by 2; sum the resulting digits along with the even digits in the data
field. This result subtracted from the next higher multiple of 10
must equal the check digit.

3: Multiply each digit in the data field by the corresponding weight
values; divide the sum of the weighted digits by 11. The remainder
subtracted from 11 must equal the check digit.

EXIT METHOD
Normal exit:
Error exit:

4.

Currently defined validation

Return to location immediately following RTJ CDVNUM
Exit to ERROR with (Q)

= $A

OUTPUT PARAMETERS· OR CONDITIONS
(I) = Base address of ATT
(Q) = 0

(A)

Undef i ned

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

LOCORE
LPMASK ($2)
NZERO ($12)
. PAGE NO. _49
__

..;24-0

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ___
C_Dv_T_s_T______________~____________________________________
PROGRAMNAME ____C_h_e_c_k_D_i~g~i_t_V_a_l_i_da_t_i_o_n______________________________________________

ONEBIT ($23)
ZROB IT ($33)
TEN ($46)
SST ($47)
ERROR ($96)
b.

c.
d.

2.

3.
4.

SST
CATT (11)
STEMPl (21)
EST
6
AC\JT (2)
ATT
FCNT (3)
RCNT (4)
ATRB (6)

MACROS USED
None
PROGRAM DEPE~DENCIES
GSE (ERROR) Display error message
DATA AREAS USED
SST
System Status Table
ATT
Active Terminal Table
CWT
CDV Weight Table
TRB
Terminal Record Buffer

PHYSICAL CHARACTERISTICS
1.

2.

3.

MEMORY SPACE REQUIREMENTS
AF 16 = 175 10 words
RELOCATION TYPE
Core resident, loader relocatable
ENTRANCY CLASSIFICATION
Not reentrant

PAGE NO.

AA5641

50

.. RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CENDS
DOCUMENTCLASS ________________________________________________________________________
__
PROGRAMNAME ___________________________________________________________________________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
CENDS is core resident with four entry points:

2.

a.

CEOF

Display End-Of-Field

b.

CBOF

Display Beginning-Of-Field

c.

CEOREV

Di sp 1ay End-Of-Record ENTRY/VERIFY

d.

TUTHOD

Tutorial Display (if required)

DETAilED DESCRIPTION
a.

(CEOF). Perform ENDSR. Calculate the address of the next screen
line and store it as the new current screen position in TOPT/CURSRD.
Return to caller via EXDSR.

b.

(CBOF). Perform ENDSR. Reset current screen address in TOPT/CURSRD
to beginning of line. Check ATT/SW1/3 to see if Doc., Form. Adv. ,
or F. SELECT must be keyed in. If so, go to CBFEX. Get screen address
of End of Data Area (UPDAT) and subtract current screen position
(CURSD) and subtract the number of characters in Field Name/Number.
Increase this number by -2 (place for '**' error flag) and save as
the number of available positions. Obtain the field length of the
next field from the format (SST + FFA) and compare the number of
positions needed against the number of positions available. If sufficient
go to CBOF1, otherwise clear screen (with Cll), display the header
(with CHD) and go to CBOF2.
(CBOF1).

RTJ to CFNDTY to display the field number.

(CBOF2). RTJ to TUTMOD to do the tutorial mode if required. Then,
extract the field number from ATT/FlDN and pass it as a parameter to
CFDNO which displays the field number at the beginning of the 1 ine.
(CBFEX). Increase TOPT/CURSRD by 2 to allow for error flag positions
and return to caller via EXDSR.
c.

(CEOREV) Perform ENDSR. Then set ATT/RQ to $FF. RTJ to CPAGE
to clear the screen and regenerate the header. RTJ to TUTMOD to
perform tutorial display, if required. Then exit to caller via EXDSR.

d.

(TUTMOD). Perform ENDSR. Check ATT/SW1/4 to see if tutorial mode
needed and if not, return to caller via EXDSR. Then check ATT/FMTNO
and if zero, exit via EXDSR. Otherwise, save exit (SST/STEMP) in
ATT/RQ + C. Begin to build tutorial message of the form "KEY FIELD
FFFFFF WITH 99 FIX ALP CHARACTERS". First, set field name to all
blanks. RTJ to GETBUF with A = 44 to get a message buffer. Restore
exit from ATT/RQ + C back to SST/STEMP. Save the current SST/FFA
. PAGE NO. ___5::..1=-__

)3<;'

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_R_DA_T_A__I_M_s__________~_____________________________________________
PROGRAMNAME __~C~F~S~-~C~h=a~n~ge~F~o~~r~m=a~t~S~t=a~tu=s~ _____________

Level 6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
CFS is a supervisor function to change the status of a format between
active and inactive status.
If parameters are illegal the format is not updated.

2.

DETAILED DESCRIPTION
a.

(CFS).

Call SETMOV to enable CFS to be moved, if necessary.

1)

If the character following CFS in the IRB buffer is not a
comma go to step b.

2)

If the format number obtained in IRB is not numeric go to step b.

3)

If the format number is zero go to step c.

4)

Save the format number in ATT/47.

5)

If thi s format number is greater than the maximum allowed in
EST/24 go to step c.

6)

If next character in IRB is an ASCII character go to step d.

D.

(ERR 9). Set (A) =: 9 and ex it to REJSUP to issue the message
INVALID COMMAND FORMAT and wait for another supervisor command.

c.

(ERR 7). Set (A) = 7 and exit to REJSUP ahd issue the message
INVAL I D FORMAT NUt1BER and wa it for another superv i sor command.

d.

(TSTAI). If the next to last character in IRB (status) is A go
to step e.
1)

If the status character is I go to step f.

2)

Set (A) = 20 and exit to REJSUP and issue the message INVALID
STATUS OPTION and wait for another supervisor command.

e.

(SETA).

f.

(SETI).

= o to reflect active status go to step f3.
Set ATT/Status = $8000 to reflect inactive status.

Set ATT/Status

1)

If 1ast character in IRB is not EOR go to step b.

2)

Set (A)
(Q)

3)

= EST /39 (LFD base address = sector)
= (ATT/47)/2 (format number = word displacement).

Ca 11 subroutine READ1 to read the LFD entry for this format number.

PAGE NO. ___5__
2 __

AA5641

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_y_B_E_R_D_A_TA___
IM_S___________________________________________________________
PROGRAMNAME ____C_F_S__-__C_h_an_g~e__F_o__r_m_a_t__S_t_a_tu_s_______________._____________________________L_e_v_e_l___
6

4)

If the format address is nonzero go to step f6 (the format exists).

5)

Set (A) = 28 and exit to REJSUP and issue the message UNDEFINED
FORMAT NUMBER and wait for another supervisor command.

6)

Call subroutine WRITE1 to update the format status in LFD entry.

7)

Set (A) = ATT/49 (format sector is base address).
(Q) = 1 (word displacement in sector is one).

8}

Call subroutine READ1 to read last two words of format header.

9)

Call subroutine WRITE1 to update format status in the format entry.

10)

Exit to SV.

SUBROUTINE READ1
g.

(READ1). Read two words from disk into ATT/BUF using the sector
address from A and word-displacement in Q.
1}

Save return address in exit stack.

2)

Call CLCDWA to convert to a proper word address.

3)

Plug word address into request block (DWA1,DWA1+1)/

4}

Save this word address also in ATT/ADWA2,ADWA2+1.

5)

Calculate absolutized buffer address of where to read into
(ATT/BUF) and plug into request block (BUFAD1).

6)
7)

Cal 1 SETMOV to allow move during I/O.

8)

Call REDDWA to read from disk (2 words).
Call EXTSR to exit to the last address in exit stack {return
address of subroutine}.

SUBROUTINE WRITE1
h.

(WRITE1). Write two words to disk from ATT/BUF using a disk word
address in ATT/ADWA2.
1)

Save return address in exit stack.

2)

Update the format status bit of ATT/BUF + 1/15 with ATT/STATUS/15.

3)

Plug the word address into requ~st parameters from ATT/ADWA2 to
DWA2 and ATT/ADWA2 + 1 to DWA2 + 1.

4)

Plug address of ATT/BUF into BUFAD2.

5)

Call SETMOV to allow moving during

6)

Call WRTDWA to write to disk (2 words).

7}

Cal 1 EXTSR to exit to the last address in exit stack (return
address of subroutine).

rIo.

PAGE NO. __5_3_

AA5641

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_s_________________________________________________________
PROGRAMNAME ____C_F_S__
-_C_h_a_n~g~e__F_o._rm_a_t__S_t_a_t_u_s______________________~----------------L-e~v-e-l~6

b.

SST
STEMP (20)

c.

EST
MAXFMT (24)
LFDDA (39)

d.

ATT

e.

FORMAT (47)
STATUS (48)
BUF (49)
ADWA2 (51)
ALPHA CHARACTERS
SA ($41)
SI ($49)

2.

letter A
letter I

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
PIO
SCANV
SUPER
ENEXSR

4.

CLCDHA
REDDWA
WRTDWA
GETBIN
GET ALP
GETCOM
REJSUP
SV
SETMOV
ENTSR
EXTSR

Calculate disk word address
Read disk word address
Write disk word address
Get characters up to comma and convert to binary number
Get next alpha character from input string
Get comma, EOR or nonspace char. from input string
Supervisor reject procedure
Supervisor command processor
Enable disk resident program to move
Save return address in exit stack
Exit to last address in exit stack

DATA AREAS USED
SST
ATT
LFD

System status table
Active terminal table

PAGE NO. _ _5_4_

AA5641

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_s_________________________________________________________
PROGRAMNAME ____C_F_S_-_ _C_h_a_n~ge__F_o_r__m_a_t_S_t_a_t_u_s______________________________________~L~e~v~e~1~6

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
5E16 = 94 10

2.

words.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

(
'-

PAGE NO. _ _
5_5_

AA5641

.. tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
DOCUMENTCLASS __________________________________________________________________________
__
PROGRAMNAME __________________
________________________________
CIO - Change I/O._________________________
Units
Level __
6
~

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
This function is a supervisor function to change input and/or output
devices of supervisor/terminal.
Parameters are
xx
yy
zz

-

CIO, Ixx,Lyy,Pzz
Input Logical Unit preceded by I
Output Logical Unit preceded by L
Mag Tape Logical Unit preceded by P

Three or less parameters may follow the CIO command but at least one
parameter must be entered.
comma or ZERO follows the preceding letters, it means return to
basic logical unit of the terminal.

\~hen

2.

DETAILED DESCRIPTION
CIO receives control from DSKSUP, after storing the CIO command in the
Interrogate buffer. It scans the command and updates the Input/List/
Tape/Unit in the ATT (words 36-38) if the parameters are O.K~
a.

The function checks for I, L or P. If not one of these letters, exit
via REJSUP (INVALID COMMAND FORMAT).
If the function has been asked for by a terminal, then only P is
allowed as a parameter. Else exit via REJSUP (COMMAND INVALID ON THIS
STATION) •

b.

The function checks the logical unit number after the letter. If none
of ZERO, return to basic logical unit is performed by replacing INPUT/
LIST/TAPE/UNIT (words 36-38 in ATT) with the BASIC INPUT/LIST UNIT
(words 39, 40 in ATT) or logical unit of mag tape.
Before doing it checks if it is not the same device which has been asked.
Then checks for end of command and exits via SV, else repeats from step a.

c.

If the logical unit number is nonzero, the function checks the number
against max. logic unit (L0GIA); if greater, exits via REJSUP (INVALID
LOGICAL UNIT); else, checks equipment class where:
Tape unit is legal for I/L/P,
Card device is legal only for
Printer device is legal only for L
Paper tape device and Teletype are val id for I and L
Else exits via REJSUP.

PAGE NO. ___5_6__

AA5641

.. RINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

"DOCUMENTCLASS __C~Y~B~E~R~DA~T~A~I~M~S_________~_____________________________________________

CI 0 - Change I/O Un i ts

PROGRAM NAME

d.

Level 6

CIO does not allow more than one I/O unit at a time for mag tape; if so,
exits via REJSUP.
If the preceding letter of the parameter is P, checks if device was
already assigned to: TTY input unit, or TTY 1 ist unit, or new assignment
to: TTY input unit or TTY 1 ist unit and if so, exits via REJSUP.
Else, checks if there is another supervisor station which uses the same
logical unit; if so - exits via REJSUP (DEVICE BUSY).
Else, checks if there is one more parameter. If yes, keeps logical unit
number of current parameter and passes to next parameter (Step a.); if
there are more than three parameters, exits' via REJSUP.
If last parameter, updates the Input/List Tape/Unit, then exits via SV.

INTERFACE
1•

ENTRY METHO D
CIO is a disk resident program which is invoked from DSKSUP by ENTPRG.

2.

INPUT PARAMETERS
(I) - Base address of Active Terminal Table (ATT).

3.

EXIT METHOD
Exit is to REJSUP if an error is detected, to SV otherwise.

4.

OUTPUT PARAMETERS
(I)

= Base

address of ATT

Input Unit - ATT word 36
Output Unit - ATT word 37
- ATT word 38
Tape Unit
ASSEMBLY CHARACTERISTICS
1.

EQUATES
SCA I (36)
SCAO(37)
SCAT(38)
BLU(39)
BUF(SO) , TEM01(S7), SAVTYP(S3), SAVELU(S4), INDEX(SS), LI($49) ,
LL{$4C), LP($50), GETALP($9B), GETBIN($99), REJSUP($B2), SV($B1),
LPMASK($2), ZERO($22) , 0NEBIT($23), ERQST(8), ATTLIM(S6)

PAGE NO. ____
57_

AA5641

'tiNTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~RD~A~T_A~I_M~S

•

PSSD

•

SOFTWARE DOCUMENT

________~______________________________________________

CIO - Change I/O Units
Level _6
PROGRAMNAME _____________________________________________________________________
2.

PROGRAM DEPENDENCIES
SUPER

rV

REJSUP

SCANV

{ GET ALP

GETBIN
3•

EXTERNALS
LOGIA

4.

DATA AREAS USED
SST
SYSTEM STATUS TABLE
SCA
SUPERVISOR COMMUNICATION AREA
LOGIA
LOGICAL UNIT TABLE
PHYSICAL DEVICE TABLE
PHYSTB -

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE
99 16 = 153 10 for program.
2.

RELOCATION TYPE
Run anywhere.

3.

REENTRANCY
Reentran t.

REFERENCES
1.

CYBERDATA System Reference

2.

CYBERDATA Software User's Guide

3.

MSOS Version 4 Reference Manual

PAGE NO. __5_8_

AA5641

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

_____________________________________________________________

DOCUMENTCLASS~C_Y~B_ER~D~A~T_A
I.,.

PROGRAMNAME __~C=L~E~A~RS~-~C~l~e~a~r-=a~F~ie~ld~o~n~D~i~s~p~l~aY~_____________________________________~L~e~v_e~l~Q~6
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
CLEARS has two entry points:
CCLRFD clears the interrogate 1 ine, or clears a field or aline in the
Data area of the screen.
CCLRAL clears the entire screen.

2.

DETAILED DESCRIPTION
a.

CCLRFD
1)

2)

(CCLRFD) •

Ca 1 1

Ej~DSR

to save retu rn add ress in Ex i ts stack.

o

If in data area of screen, go to step a3.

o

Set cursor position to beginning of Interrogate line.

(CLR01).
•

Call CDATA to clear 1 ine and display cursor.

Exit to caller via EXDSR.

3)

(CLRl). If ATT/RQ 0 (Backspace to beginning of 1ine), set cursor
position to beginning of current 1 ine, and go to step a2.

4)

(CLR10).
•

S)

6)

Calculate address of last 1 ine of the field and save it.

(CLR12).
•

Clear field 1 ine via CDATA.

If the last line of the field was cleared go to a6. Else,
advance screen address in parameter 1 ist to next 1 ine and go
to as.

(CLR1S).
o

Calculate address of 1st 1 ine of the field and save it.

Call CFDNO to display current field number.

Advance cursor position by 2 to bypass error flag positions
and exit to caller via EXDSR.

59 _
. PAGE NO. ______

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
DOCUMENTCLASS ______________________________________________________________________
__
PROGRAMNAME ____
CL_E_A_R_S__-__C_le_a_r__a__F_i_e_ld__o_n__D_i_s~p_la_y~_________________________________Le_v~e~l~O~6

b.

CCLRAL
1)

(CCLRAL).

•
•
0

2)

3)

Reset screen addresses to first position of data area and
first position of interrogate line.
If there is no display string to be output, go to step b3.
Return all but the last block of the display string to the
s tr i ng of free blocks.

(KCLR12).
•

Set all words of remaining block to zero.

Set block count to 1.

(KCLR2).
•

Call ENDSR to save return address in Exits stack.

Call CDATA to clear the screen.

Exit to caller via EXDSR.

Ir~TERFACE
1.

ENTRY METHOD
Where A = CCLRFD or CCLRAL

EXT
A
A
RTJ
--Return-2.

INPUT PARAMETERS OR CONDITIONS
(I) = Base address of Active Terminal Table (ATT)
CCLRAL requires no other input parameters.
CCLRFD requires an additional parameter in ATT/RQ.
If (ATT/RQ) ~ 0, clears current field.
If (ATT/RQ)

3.

~

0, clear current 1 ine.

EXIT METHOD
Return to location Immediately following RTJ instruction.

4.

OUTPUT PARAMETERS OR CONDITIONS
(I)

=

Base address of ATT

. PAGE NO. _60
__

'1It,nEO IN THE USA

CONTROL DATA CORPORATION

. DOCUMENT CLASS
PROGRAM NAME

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
CLEARS - Clear a Eield

00

Display

Level 06

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a.

LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
Oi~EB IT ($23)
SST ($47)
CDATA ($80)
ENDSR ($8E)
EXDSR ($8E)

b.

SST
CEEA (12)

c.

ATT
ELDNO (J 4)
TOPT (33)
RQ (65)

d.

TOPT
COL (2)
CURS RD 0)
CURSRI (4)
PARAM (8)
TOPSTR (13)
BLOKS (14)
ELDST (15)

e.

CONSTANTS
BLOKE 0)
BLOKL (8)

61
. PAGE NO. _
__
'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS-¥C~YB~E~R~D~A~T~A

•

PSSD

•

SOFTWARE DOCUMENT

_____________________________________________________________

PROGRAMNAME ___C_L_E_A_R_S__
-_C_l_e_a_r_s_a__F_i_e_l_d_o_n__D_i_s~p_la~y~______________________________~L=ev~e~1~O~6

2.

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
CMISCI
VL2CRT
HDRNOS

4.

ENDSR
EXDSR
(CDATA)

Save return address In Exi ts stack
Return to last address in Exits stack
Display message on CRT

(CFDNO)

Display field number

DATA AREAS USED
SST
ATT
TOPT

System Status Table
Active Terminal Table
Terminal Output Table

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS

2.

75 16 = 117 10 words.
RELOCATION TYPE
Core resident, loader relocatable.

3.

ENTRANCY CLASSIFICATION
Not reentrant.

. PAGE NO.

62
'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CLR
DOCUMENTCLASS __________________________________________________________________________
__
PROGRAMNAME ____________________________________________________________________________
Extended Power Fail Recovery (1)
__

PROGRAM FUNCTION
Entry points:
1.

CLR, ENT2

GENERAL DESCRIPTION
CLR program releases tracks which were used by certain system routines which
were working when power fatl occurred.
The CLR program checks if active batches can be restored to the stations they
were connected to before the power fail occurred. If a batch cannot be
reactivated it is put into the frozen state. If a batch is in ENTRY mode and
has less than 16 records it is deleted. If reactivation of certain batches is
possible, the CLR2 program is brought into memory and is executed. Meanwhile
CLR is released. CLR2 restores the batch to its station and returns to CLR.
Return is done by loading CLR program into memory and executing it from the
second entry point ENT2, where scanning of the ABT's is done.

2.

DETAILED DESCRIPTION
a.

Asks for interrogate buffer, 35 words long.

a1. The Bad Tracks Directory in DAM is scanned. If nonempty entry is found
corresponding to track address of disk n (1-4) the message: BAD TRACK
IN DISK n. CLEAR DIRECTORY ( liJ) is printed. If the supervisor
wishes to clear the entries corresponding to disk n, in case the disk
pack was exchanged she answers
The entrieswhcse 2 LSB equals
n-l are cleared. If an attempt was made before release a bad track,
bit 3 in the entry is set. The track is then released via RELTRT
(subroutine of DAM).
b.

Releases tracks listed in the Tape Recovery Area unused words, and
clears the list.
The tracks are written in this 1 ist by the system routine PST (Print
Statistics). The routines use them for processing.

c.

The Active Batch Tables (ABT's) are read into memory one after the other.
Each ABT is checked.
(i)

Unused entries are skipped.

(ii)

Batches in maintenance mode,i .e. were being processed by any of the
dump routines when power fail occurred, are assigned their original modes

(I ii) Batches in ENTRY or VERIFY mode get special treatment.
1)

The logical unit, the address of first track and the job index are
transferred from the ABT entry to the ATT of the executing station.
1a)

2)

I f the log i ca 1 un it "dese 1ected" bit is set the batch cannot
be reactivated. A flag is set indicating that informative
message should be printed. Branch to (9).

The first 35 words from the ATT image in first track of batch
are read into the interrogate buffer.
PAGE NO. _....;;6~3~_

AA5641

rllNHO IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS __

~C~L~R~

•

PSSD

•

SOFTWARE DOCUMENT

___________________________________________________________________

PROGRAMNAME ____~E~x~t~e~n~d~e~d~Po~w~e~r~F~a~i~l~R~e~c~o~v~e~r~y~(~l~)___________________________________________

3)

The operator number, start of current run and accumulated time
are read into 4 temporary locations.

4)

If a batch is in ENTRY mode and total number of records is less
than 16, the batch is deleted.
The ABT entry is cleared.
Number of entries in the ABT is decreased by one.
The ABT is written back to disk.
The tracks of the batch are released.
A flag is set indicating that an informative message with the
job name, batch number and operator number should be printed.
The program branches to the point where job entry is read (9).

5)

The accumulated time is updated.
WRTATT routine in PIO saves the accumulated clock in word 34 of
ATT. If the last ATT was written by FRZ routines, the accumulated
time was already updated. Such ATT's may be recognized by the
negative record count. If word 34 is 0, it means this ATT was
written back to disk by the CLR program after the accumulated time
has been updated.
Updating is done by subtraction of the start time of the current
run from the last clock that was saved, and adding this value to
the accumulated time.

6)

If the batch was in Entry mode and under document control the entry
in the LOT is saved in relative mode, as a displacement to the
beginning of the document. This is necessary if the batch is put
into the frozen state and the LOO is squeezed while the batch is
frozen. If the ATT was written by FRZ programs the LOT entry is
already saved in relative mode. The document entry is read and
the difference between the displacement of current group (ELOT)
and the displacement of the beginning of the document is calculated
and saved in the ELOT.

7)

Word 34 of the ATT image in the interrogate buffer is cleared.

8)

The current clock and the updated accumulated time are written to
first track of batch.

9)

The job entry is read from LJO according to the job index. If
flags "job deleted" or "batch's disk is deselected" are set branch
to (12). The job name is transferred to the output queue if it is a
CRT.

64 _
. PAGE NO. ____
rllNlfO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

',-_J DOCUMENT CLASS _ _ _
C_L_R__________________________________

PROGRAMNAME _ _ _~E~x~t=e~n~d~ed~P~o=w~e~r~F~a~i~l~R~e~c~o~v=e~rLy~(~l)~____________________________________

10}

A check is done that the batch can be reactivated.
following conditions should be met:

The

lOa)

The station of the batch was initial ized in this run and
is now idle.

lOb)

There is enough memory for the TRB length specified in
the job's entry.
If possible a buffer is allocated and 1 inked to the TRB
backwards pointer in the ATT of the executing station.

lOc)

There is enough memory for the format.
The FBA is searched to check if the format is already
present in memory. If not, the LFD entry of the format
is read and a buffer equal to the length of the format is
allocated if possible. The buffer is immediately released.

11)

If one of these three conditions is not met the batch is
assigned the frozen state. The monitor check override bit in the
ATT image in the interrogate buffer is set.
The batch mode in the ABT entry is modified to "frozen".
The ATT image in the interrogate buffer is written on the ATT
image in first track of batch.

12)

An informative message with the job name, batch number and
ope·rator number and the batch status (deleted, frozen) is printed
on the teletype.

12)

An informative message with the job name and batch number is
printed if the disk of the batch is deselected.

13)

For the restored batch, the ATT image in the interrogate buffer
is written on the ATT image in the first track of batch. T\'JO
words have been modified: Word 34, in which the clock was saved,
was cleared; the ELDT, word 16, was saved in its relative mode.

14)

Second overlay CLR2 is loaded and executed. Its duty is to
restore the batch to its station. Meanwhile the CLR overlay is
released. When CLR2 completes its operation, it reloads CLR
back to memory and execution begins at the second entry point.

PAGE NO. __6_5__

AA5641

'RINTEO IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS __

~C~L~R

•

PSSD

•

SOFTWARE DOCUMENT

___________________________________________________________________

PROGRAMNAME ____~E~x~t=e~n~d~e~d__
Po~w~e~r~F~a~i~l~R~e~c~o~v~e~r~y~(~l~)___________________________________________

Second Entry Point ENT2
d. When all the entries of the ABT have been checked the ABT is written back
to dis k.
e. If it is the last ABT, care is taken to read into memory the last ABT
that is not empty. The message CYBERDATA SYSTEM is displayed on all the
idle stations, the message CYBERDATA READY is printed on the teletype.
System lock is cleared, the interrogate buffer is released, and the program
exits to the dispatcher.
Internal subroutines.
reads or writes an Active Batch Table.
ABTIO
reads (writes) the 35 first words of the ATT from (to) the ATT image
WRTRW
in first track of batch to (from) the interrogate buffer.
RWSACC reads (writes) start time of current run, operator number and accumulated
time from (to) first track of batch to (from) the 4 temporaries in ATT
(ATEMP).
reads 4 words from disk to 4 temporaries in communication area in ATT
READZ
of executing station.
On entry: A - sector address
Q - word address
Used in order to read:
1. Document entry
2. Job entry
FRZBCH sets the monitor check override bit in the ATT image in the interrogate
buffer.
Modifies the batch status in the ABT to frozen.
reads (writes) the list of tracks from (to) Tape Recovery Area to (from)
WRTR
9 temporary, words 50 on, in communication area in ATT of executing
stat ion.
INTERFACE
1. ENTRY METHOD
VLSTRT is responsible for loading and executing the CLR program from its first
entry point CLR.
CLR A
LDQ = N$803
third miscellaneous program
RTJ - (ENTPRG)
CLR2 is responsible for loading and executing the CLR program from its second
entry point ENT2.
ENQ 1
second entry point.
LDQ = N$803
RTJ - (ENTPRG)
. PAGE NO.

66

'IINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~C=L~R_____________________________________________________________________

Extended Power Fa i 1 Recovery (l)
INPUT PARAMETERS OR CONDITIONS

PROGRAM NAME

2.

CLR - first entry point assumes I = TTY ATT base address.
ENT2 - second entry point assumes that the following words in communication
area in ATT of teletype have not been changed while executing CLR2
program:
EQU SC (46)
SQ (SC + 1) - the address of current ABT entry
ABT (SC + 2) - ABT core address
ABTDA (SC + 8) ABT disk address
TABNO (SC + 9) displacement in sectors of current ABT from the ABT
disk address ..
I register points to the ATT of TTY.
3. EXIT METHOD
a. CLR program exits each time a batch has to be restored to its station and
CLR2 has to be executed.
RTJ (EXDFUN)
CLR A
LDQ = N$8ll CLR2
RTJ - (ENTPRG)
I

b. When all the ABT's have been scanned CLR exits to the dispatcher.

\

4. OUTPUT PARAMETERS OR CONDITIONS
a. When a batch is deleted or frozen the following messages:
I .) JJJJJJ, BBB, ENTERED BY 000, IS DELETED
2.) JJJJJJ, BBB ENTERED BY 000, IS FROZEN
are printed respectively
JJJJJJ - job name
BBB
- batch number
000
- operator number
If the disk of the batch is deselected the message
"JJJJJ, BBB IS ON DESELECTED DISK" is printed.
b. Before the CLR program exits to the dispatcher, the message:
xxxxxx CYBERDATA SYSTEM xxxxxx
is displayed on all the idle stations.
The message CYBERDATA READY is printed on the teletype.

67 _
. PAGE NO. ______

rllNTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~CL~R~_______________________________________________________
PROGRAM NAME

Ex tended Power Fa i 1 Recovery (1)

ASSEMBLY CHARACTERISTICS
1. EQUATES

a. Low Core Masks
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
b. SST
SLOCK (1)
ATTB (10)
CATT (11)
CLOCKS (17)
ATTLNG (19)
STEMP (20)
c. EST
LJ DDA (8)
LDDA (9)
FBA (15)
ABTADR (22)
SPIL (23)
LUND (25)
LFDDA (39)
d. ATT
FTOB (1)
CMODE (2)
JOBIND (3)
RCNT (4)
TRB (6)
FMTNO (13)
BMOD (15)
ELDT (16)
DOCNO (17)
SW2 (20)
IRB (27)
RCD (32)
ATOPT (33)
ECODE (34)
BLUN (35)
ATEMP (73)

. PAGE NO. _68
__

rllNHO IN THE US ...

CONTROL DATA CORPORATION
DOCUMENTCLASS ____

~C~L~RL_

•

PSSD

•

SOFTWARE DOCUMENT

________________________________________________________________

PROGRAMNAME ________________________________________________________________________
__
Extended Power Fail Recovery (1)

e.

Communication area

sc (36 + 10)
TRN (SC)
SQ (SC + 1)
ABT (SC + 2)
TATT (SC + 4)
ABTDA (SC + 8)
TABNO (SC + 9)
OPR esc + 10)
ENTIND (SC + 12)

TEMPR (SC + 13)
f.

General equates
CLRTWO ($0811)
DISPCH ($EA)
FW (3)
FR (2)
EXTBL ($E3)

'''-- ..

CORIMG (4)
2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES

Station number
Address of current ABT entry
ABT core address
ATT address of the batches station
ABT disk address
Displacement in sector of current ABT to ABTDA
The number of the operator who entered the ba tch
FLAG
( i ) entry or verify mode o/not 0
(i i) batch on deselected disk, deleted or not
deleted. $FFFF negative (not $FFFF)/positive
4 temporaries
- function index of CLR2.
11th miscellaneous program.
- holds dispatcher address
- F\JR ITE reques t code
- FREAD request code
- Extended system table 4th entry points to the core
image disk address
4th entry in the extended system table in core image
disk address.

Entry points
CLR - called by VLSTRT
ENT2 - called by CLR2 every time it completes the reactivation of a batch.
External Li st
GETBUF - entry in PIO.
Gets an interrogate buffer which is used for:
a) holding the 35 first words of ATT image
b) holding the messages to be displayed on idle stations or printed
on the teletype.
MOVREC - entry in PIO.
Moves messages to be displayed to the interrogate buffer.
SETMOV - entry in ENEXSR.
Enables program to move; used in all internal I/O routines and 2 entry
points. CLR is released whi le a batch is restored to its station by
CLR2 and then reloaded again, thus it does not always reside in the
beginning of the FRP and should be moveable in order to enable the
reactivation of as many batches as possible.
BADTRK - entry in DAM
address of Bad Tracks Directory.
PAGE NO.

AA5641

69

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ___C_L_R_____________________________________________________________________
PROGRAMNAME _____E_x_t_e_nd_e_d__P_o_w_e_r__F_a_i_I_R_e_c_o_v_e_r~y~(_l~)_________________________________________

CLRALL
DLINE
RELTRT
LI NKTR
SIABTW
SIABTS
SITRDA

- Entry in DISPLY.
Clears the screens of all idle stations.
- Entry in DISPLAY.
Displays the line xxxxxxCYBERDATA SYSTEMxxxxxx on all idle
stat ions.
- Entry in DAM.
Releases the tracks listed in the Tape Recovery Area.
- Entry in BORENT.
Releases all the tracks I isted in first track of batch of a deleted
ba tch.
- System installation parameter.
ABT length in words.
- System installation parameter.
ABT length in sectors.
- System installation parameter.
Tape Recovery Area disk address.

Routines used by means of transfer vector
CLCDWA ($90) - Entry in PIO.
Calculate disk word addresses for the internal I/O routines:
WRTRW
RWSACC
READ2
WRTR
REDDWA ($A9) - Entry in PIO.
Reads from disk with disk word addressing used in the internal
I/O routines:
WRTRW
RWSACC
READ2
WRTR
WRTDWA ($AA) - Entry in PIO.
Writes to disk with disk word addressing used in the internal
I/O routines:
WRTRW
RWSACC
WRTR
REDSEC ($A7) - Entry in PIO.
Reads from disk with sector addressing.
Used in the i nterna I I/O rout i ne
ABTIO

70 _
. PAGE NO. _____

'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS __

~C~L~R~

•

PSSD

•

SOFTWARE DOCUMENT

___________________________________________________________________

PROGRAMNAME _____E_x_t_en_d_e_d__P_o_w_e_r__F_a_i_l_R_e_c_o_v_e_r~y~(_l~)________________________________________

WRTSEC ($A8) - Entry in PIO.
Writes to disk with disk sector addressing.
Used in the internal I/O routine
ABTIO
ENTPRG ($9E) - Entry in ENTPRG.
Used in order to load CLR2 overlay whenever a batch should
be restored to a station.
EXDFUN ($9F) - Entry in ENTPRG.
Used by CLR in order to release its area in memory before
loading CLR2 and on completion.
CAM ($AE)
- Entry in CAM.
Used in order to allocate memory for the TRB of an active
batch. Allocates a buffer for the format of an active batch
which is released later in order to make sure that there is
enough memory to reactivate the batch.
RELFOR ($AD) - Entry in GFCORE.
Releases the interrogate buffer when program completes.
Releases the TRB in case there is not enough memory for the
format of an active batch.
SUPRW ($97) - Entry in PIO.
Used in order to print informative messages a, b, c and the
message CYBERDATA READY on the teletype.
DISPLY ($AO) - Entry in DISPLY.
The display driver.
ENTSR ($91) - Entry in ENEXSR.
Saves return address in enter/exit stack for the internal
I/O routines:
WRTR
WRTRW
RWSACC
READ2
ABTIO
EXTSR ($92) - Entry in ENEXSR.
Restores the return address for the internal I/O routines:
WRTR
WRTRW
RWSACC
READ2
ABTIO

71 _
. PAGE NO. ______
'RINT(D IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS _____C_L_R________________~_______________________________________________

Extended Power Fail Recovery (1)
PROGRAMNAME ________________________________________________________________________
_

4.

DATA AREAS AND SYSTEM TABLES USED
SST
ATT
ABT - on disk and in core
LJD
LUD
LFD
FBA
Interrogate buffer
DTL - (i) ATT image in first track of batch.
(ii) Operators number, start time of run and accumulated time in first
track of batch.
ADTOPT - job name is moved to the header if station is a CRT.
BADTRK

PHYSICAL CHARACTERISTICS
1.

MEl-WRY SPACE REQU I REMENTS
Program size - 6S0 words.
Interrogate buffer - 39 words long.

2.

RELOCATION TYPE
Disk resident.
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Not reentrant.

PAGE NO.

AA5641

72

PIINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~C~L~R~2~__________________________________________________________________
PROGRAM NAME _____E_x_t_e_n_d_e_d__
Po_w_e_r__F_a_·_1l__R_e_c_o_v_e_r~y~(_2~)___________________________________________

PROGRAM FUNCTION
1. GENERAL DESCRIPTION

CLR2 restores a batch to its station. The ATT of the station is updated with
the ATT image and the screen is regenerated. CLR2 program uses parameters in
the ATT of the teletype which were prepared by CLR program, and the ATT image
from first track of batch in the interrogate buffer of the teletype. The ATT
image was read by CLR program.
CLR2 recognizes an ATT image that was written by a FRZ program according the
negative record count.
2. DETAILED DESCRIPTION
a. Function lock is set on the ATT of TTY in order to stop processing characters
which are entered on TTY while modifying another ATT for the reactivation of
the batch.
b. The following words are transferred from the ATT of TTY to the ATT of the
station of the batch.
(i)

Logical unit.

(ii) Function index (function index of CLR2 program). Function index is
needed to calculate the return address according to the relative address
in the enter/exit stack.
c. The ATT image in the interrogate buffer of TTY is transferred to the ATT of
the station.
First 32 words are transferred except for the function index.
d. If the ATT was written by FRZ programs the error locks are restored FRZ
saves them in the PFBA.
e. The TRB is disconnected from the ATT of TTY and is linked to the ATT of the
station.
f. The format of the batch is brought into memory.
g. The monitor check override bit in switch 2 is set in order to avoid checking
while modifying the ATT.
h. Words 34-64 are read from the ATT in first track of batch into the ATT in core.
i. I f a ba tch is in ENTRY mode and unde r documen t con t ro 1 the "en try in LDT" is
modified from relative to absolute form.
The document's entry from LDD is read and the displacement of current group
to beginning of LDD is calculated as the sum of the displacements of first
group (taken from LDD) and of current group to first group (current ELDT) and
updates ELDT.

73 _
. PAGE NO. ______
'.INUD IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_L_R_2__________________~_______________________________________________
PROGRAMNAME __~E~x~t=e~n~d~e~d~P=ow~e~r~F~a~il~R~e~c~o~v~e~r~y~(~2L)____________________________________________
j .

The last processed record is read into the TRB. The disk address of
the record is taken from the current disk address in ATT.

k.

End of Data state is restored.
The state is recognized according to the following flags:
(i)

Where the ATT was written by CORKEY in such state, i.e. a
record was inserted after the last one or the last record
was deleted, bit 15 of word 5 of the ATT is set.

(ii)

Where the ATT was written by FRZ programs in such state, bit
15 in the interrogate buffer backwards printer is set.

(i i i) If it is End of Da ta inver i fy the
in switch 2 is set.

II

no forward mot i on ll bit

The current disk address from ATT is stored in previous record disk
address of TRB.
k2. The IIformat change bit " is restored according bit 13 in AINT, if ATT
was written by FRZ.
1.

m.

Current disk address is restored, if ATT is of FRZ. This disk address
was saved in the interrogate and search buffers backwards pointers
by FRZ programs.
The data connected with the format is regenerated.
If last ATT was written by FRZ, the format might have been changed
while the batch was frozen.
The field number, relative format field address and character count in
current field are regenerated.
The End of Field state is restored if a flag $FF was left in the field
count by a FRZ program.

n.

Data type is set and the screen is regenerated.

o.

The monitor check override bit and the 'LL' bit are cleared.

p.

The entry point that should be executed next is stored in the
enter/exit stack.
If the station must wait for the next char.
address is saved.

or key to be entered no

This happens if the batch is in ENTRY mode or READ mode. If the batch is
in VERIFY mode, no verification options are specified, no special key
has to be entered and the record is not an inserted one, the field count
and record count are updated with the values of the "end of fie1d" and
EORTST, entry point in VMM, is stored in the enter/exit stack.
If the batch is in VERIFY mode at the beginning of a record, VMM1, the
check field entry point in VMM is stored in the enter/exit stack.

::: i

AA5641

I

PAGE NO. _..:..7-:,4_

'1INTfO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ___C_L_R_2__________________~________________________________________________

Extended Power Fail Recovery (2)
PROGRAMNAME __________________________________________________________________________
__
If in VERIFY and the conditions listed above are not fulfilled no
address is saved.
If an address is saved the pseudo-function lock is set on the ATT,
thus MPC will process this station from the address in the enter/
exit stack.
q.

The function lock of the ATT of TTY is c1eared, the CLR2 program is
released and the CLR program is reloaded and executed from the second
ent ry po i nt.

INTERFACE
1.

ENTRY METHOD
CLR A First entry point
LDQ = N$811
11th miscellaneous program
RTJ - (ENTPRG) load and go

2.

INPUT PARAMETERS OR CONDITIONS
CLR loads and executes the CLR2 program whenever a batch should be
restored to a station and there is enough memory for the TRB and the
forma t.

\ ...

3.

(i)

The fo1lowing parameters are transferred via the communication
area of the teletype's ATT/
EQU
SC( 3 6+ 10 )
TATT (SC+4) - address of the batch's ATT.

(ii)

The TRB for the batch of the length specified in the job entry
is 1 inked to the TRB backwards pointer in the te1etype's ATT.

(iii)

The logical unit of the batch is in the appropriate word in the
te1etype's ATT.

(iv)

The 35 words of the ATT image from first track of batch are
in the interrogate buffer of the teletype's ATT.

(v)

I register points to the ATT of TTY.

EXIT METHOD
Return to caller. Reload the CLR program and re-execute it from the
instruction following the load and execute of the CLR2 program (second
entry point).

4.

OUTPUT PARAMETERS OR CONDITIONS
I register points to the ATT of TTY.

PAGE NO. _ _
7_5_

AA5641

'IINTED IN THf USA

CONTROL DATA CORPORATION

DOCUMENT CLASS
PROGRAM NAME

•

PSSD

•

SOFTWARE DOCUMENT

CLR2
------------------------------------------------------------Extended Power Fa i 1 Recovery (2)

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. Low Core Masks
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
b. SST
SST ($47)
EXTSST (0)
SLOCK (1)
BATT (10)
CATT (11)
CFFA (12)
IBL (14)
TIQ (15)
c. EST
LDDDA (3)
d. ATT
FTOB (1)
CMODE (2)
FCNT (3)
RCNT (4)
ASCNT (5)
TRB (6)
PFBA (7)
CURDA (9)
FMTNO (13)
RFA (14)
BMODE (15)
ELDT (16)
DOCNO (17)
SW1 (19)
SW2 (20)
FUN I DX (21)
AINT (27)
ASRCH (28)
LUN (35)
ATEMP (73)

. PAGE NO. _76
__

'IINTEO IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS __

~C~L~R~2

•

PSSD

•

SOFTWARE DOCUMENT

__________________________________________________________________

PROGRAMNAME ____~E~x~t~e~nd~e~d~P~o~w~e~r~F=a~i~l~R~e~c~o~v~e~r~y~(=2L)________~ _________________________________

e.

Communication Area

sc (36 + 10)
TATT (SC + 4) - address of ATT of batch's station
f. General Equates
CLRI ($803) - function index of the CLR program.
2. MACROS USED
None.
3. PROGRAM DEPENDENCIES
Entry points
CLR2
External 1 is t
SETMOV
SETDIS
\

\....

REGEN
STTYPE
EORTST
VMMI

- Entry point in ENEXSR.
Enables program to move while doing I/O or waiting for core.
- Entry in DISPLY.
Sets display to DATA mode.
- Entry in DISPLY.
Regenerates the screen when reactivating a batch.
- Entry in EMM.
Sets data type according to the format.
- Entry in VMM.
This address is saved in the enter/exit stack if this entry
should be executed in the next cycle.
- Entry in VMM.
This address is saved in the enter/exit stack if this entry
should be executed in the next cycle.

Routines called via transfer vector
GFCORE ($90) - Entry in GFCORE.
Gets the format for the batch.
ENTSR ($91) - Entry in ENEXSR.
Saves the address of the entry points in VMM that should be
executed in the next cycle in the enter/exit stack.
READN ($A6) - Entry in PIO.
Reads the last processed record into the TRB.
CLCDWA ($90) - Entry in PIO.
Calculates the disk word addresses of:
1. document's entry
2. counters area in ATT image in first track of tach .

. PAGE NO.

77

'1INTlO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~C~L~R~2_________________________________________________________________
PROGRAM NAME

Ex tended Power Fa i 1 Recovery (2)

REDDWA ($A9) - Entry in PIO.
Reads according to disk word addressing:
1. counters area from ATT image in first track of batch to
the counters area in ATT in core.
2. document's entry from LDD to a temporary in ATT (ATEMP + 1).
EXDFUN ($9F) - Entry in ENTPRG.
Used in order to release the area CLR2 occupies in memory.
ENTPRG ($3E) - Entry in ENTPRG.
Reloads CLR program and jumps to its second entry point.
DISP ($AO)
- the display driver.

4. DATA AREAS AND SYSTEM TABLES USED
SST
ATT
Interrogate buffer
TRB
LDD
DTL-(i) ATT image
PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
Program size - 11D

2.

16

= 285 words.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentran t.

. PAGE NO.

78

'RINHO IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
-----------------------------------------------------------------

PROGRAMNAME ____C_M_I_S_C_I_____C_R_T__M_i_s_c_e_l_l_a_n_e_o_u_s__
Ro_w__t_in_e_s_______________________L_e_v_e_I__O_6__________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
CMISCI has five entry points:

2.

a.

CDIS sets the screen area data definition bits in TOPT.

b.

CLOK sets and threads, if necessary, the system lock flags in TOPT.

c.
d.

EIWSR saves the return address for display routines in the Pia area
of the ATT.
EXDSR returns control to the last address saved via E~DSR.

e.

CDIR sets up the parameters for a direct call to CDATA.

DETAILED DESCRIPTION
a.

CIDS sets TOPT/BLOKS/13-12 according to value passed in A and temporarily saved in ATT/RQ. Values are: 00
Data
01 = Interrogate
10 = Idle

b.

CLOK checks to see if system locks are set. If so, it exits via EXTSR.
If locks were not set, it checks to see if its TOPT is threaded for
output. If the TOPT is threaded, the locks field is set and exit is
via EXTSR. If the TOPT was not threaded, CLOK threads it and sets TOPT/
BLOKS/4.6 (system locks) and exit via EXTSR. Interrupts are inhibited
during all threading and locks setting.

c.

ENDSR saves return addresses of display routines using ATT/PIO area as
a stack because the display routines do not use PIO routines. ENDSR
checks for stack overflow and hangs if overflow occurs.

d.

EXDSR exits using the last return address stored by ENDSR, and decreases
the stack pointer by 1.

e.

CDIR calls ENDSR to save its return address. A (saved in ATT/RQ) points
to the five-word parameter block used for a call to CDATA. The block
is moved internally to CDIR where a call to CDATA is made. Exit is via
EXDSR.

INTERFACE
1.

ENTRY METHOD
CDIS, CLOK, ENDSR, CDJR are entered by return jump.
direct jump.

EXDSR is entered by

PAGE NO. _-!.7....:9~

AA5641

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_ER_D_A_T_A____----_____________________________________________
PROGRAMNAME ___C~M~IS~C~I_____C~R~T~M~i~sc~e~l~l~a~n~eo~u~s~R~o~u~t~in_e~s~__________________~L~e~v~e~1~06~_______

2.

INPUT PARAMETERS OR CONDITIONS
CDIS:
I = current ATT base address.
CLOK:
I = current ATT base address.
:
I = current ATT base address.

E~mSR

EXDSR:
None
CDIR:
I = current ATT base address
ATT/RQ = pointer to 5-word parameter block for CDATA call.
3.

EXIT METHOD
CDIS:

Return to caller

CLOK:
ENDSR:

JMP- (EXTSR)
Return to caller-

EXDSR:

Jump to last address stored in display routines exit stack.

CDIR:

Return via EXDSR

ASSEMBLY CHARACTERISTICS
1•

[QUATES
a.

LOCORE
SST

($22)
($47)

CDATA

($~O)

EXTSR

($92)

ZERO

b.

ATT
TOPT

(33)

RQ

(65)
PAGE NO. _ _
8_0_

AA5641

'RINHD IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_ER_D_A_T_A____________~____________________________________
PROGRAMNAME __~CM~IS~C~I___
-~C~R~T~M~is~c~e~l~la~n~e~o~u~s~Ro~u~t~i~n~e~s________________--~L~e~v~e~1~O~6~-------

c.

SST
TOPCRT (4)
(20)
TEt1P

d.

TOPT
i3LOKS

(14 )

2.

MACROS USED
None

3•

PROGRAM DEPENDENCIES
ENEXSR
CDATA

4.

DATA AREAS USED
SST
ATT
TOPT

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
3F16 = 63 10 words.

2.

RELOCATIOI~

TYPE

Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Dormant reentrant.

PAGE NO.

AA5641

81

'IINUO IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~O~N~CA~N~

•

PSSD

•

SOFTWARE DOCUMENT

______________________________________________________________

PROGRAMNAME _________________________________________________________________________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
CONCAN checks for a continue or cancel request at the end of a display to
the operator.

2.

DETAILED DESCRIPTION
CONCAN calls the common entry subroutine to save the return address in the
ATT exits stack. Then the entry pofnt GETSTR in PIO is called to input
one character into the interrogate request buffer. If that character was
a continue key code, A is cleared and exit is made via the common exit
subroutine. If a continue key code was not input, the completion code in
word 2 (bits 8 -15) of the interrogate request buffer or ATT/TRMNT/14 is
checked for a 1 which indicates that the cancel key was entered. If so, A
is set to 1 and exit is via the common exit subroutine.
If neither a continue or cancel was entered, the one character input is
requested again and again until one of those keys is entered.

INTERFACE
1.

ENTRY METHOD
Return jump

2.

INPUT PARAMETERS OR CONDITtONS
I

3.

= current

ATT base address

EXIT METHOD
Return to caller after continue or cancel is entered by the operator.

4.

OUTPUT PARAMETERS OR CONDITIONS
current ATT base address
A

0 for continue

A =1= 0 for cancel
ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

LOCORE
LPMASK ($2)
ENTSR ($91)
EXTSR ($92)
GETSTR ($A2)
. PAGE NO. _82
_ __

/L., 0

'1 ..-nED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_O_NC_A_N______________________________________~-------------------PROGRAMNAME ____________________________________________________________________

b.

ATT
TRMNT (23)
AINT (27)
CONSTANT
CONT ($75)

c.

2.

Keyboard code for continue key

MACROS USED
None

3.

PROGRAM DEPENDENCIES
ENEXSR
PIO

4.

DATA AREA USED
ATT
INT

PHYSICAL CHARACTERISTICS1.

MEMORY SPACE REQUIREMENTS
15

2.

16

= 21 10

words.

RELOCATION TYPE
Loader re1ocatab1e.

3.

ENTRANCY CLASSIFICATION
Reentrant.

. PAGE NO. __8_3___
J~I

'IINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~BE~R~D~A~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

___________________________________________________________

PROGRAMNAME _____________________________________________________________________________
_
CON029 - 029 Keyboard Character Conversion
Level 06

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
CON029 converts keyboard with/without adding machine input codes to
ASCII equivalents.

2.

DETAILED DESCRIPTION
If the terminal is error locked, only 'Rest' and 'Display' keys are allowed.
If an unused key (with code $17) was entered, the code is passed on only if
the terminal was in interrogate or idle mode. Otherwise, a Ippi is displayed
at the terminal. If the code entered is alpha or a lower case key that is not
a function key and the field data type is defined as lower case, no code
conversion is necessary. If the field data type is defined as any form of
numeric (upper case), a table lookup is performed to convert the entered
code to its ASCI I equivalent. Special checks are performed to ignore
certain codes ($17) not used on a 029 keyboard. If one of these codes is
found, exit is to the dispatcher (the code is effectively ignored).

INTERFACE
1.

ENTRY METHOD
RTJ CONO 029 keyboard type
or
RTJ CONADD 029 + adding machine keyboard type.

2.

INPUT PARAMETERS OR CONDITIONS
I

3.

= ATT

base address.

ATT/ATTMP

= keyboard

code for key entered.

EXIT METHOD
P + 1 return to caller if key is processed. Jump to dispatcher if terminal
error locked or key unused. Jump to ERROR if PARITY ERROR.

4.

OUTPUT PARAMETERS OR CONDITIONS
I = ATT base address. ATT/ATTTMP = keyboard code for key entered.
ATT/CURCH/7-0 = ASCI I character or 0 (for function). When key entered was
a function. Q = 0, otherwise, Q = ASCI I value of the character entered.
Q = $lA (code of pp) when exit is to ERROR •

. PAGE NO.

84
... INTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_YB_E_R_D_A_TA__________________________________________________________
PROGRAMNAME ___C_0_N_0_2_9_-_ _0_2_9_K_e~y_bo_a_r_d__C_ha_r_a_c_t_e_r_C_o_n_ve_r_s_i_o_n______________________~L~ev~e~1~06

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a.

LOCORE
LPMASK (2)
NZERO ($12)
ONEBIT ($23)
ERROR ($96)
DI SPCH ($ EA)

b.

ATT
CMODE (2)
CU RCH (2)
DT (13)
ATTTMP (73)

c.

CONSTAr~TS

CPP ($lA)
RES ($67)
DSPKEY ($73)
2.

"PP" error code
Reset key code
Display error key code

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
NDISP
GSE
DISPCH
ERROR

4.

DATA AREAS USED
Internal Table MTA which contains the 029 conversions for upper case key
codes.
ATT

'-.

. PAGE NO. _ _
8_5_

'RINno IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~ER~D~A~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

___________________________________________________________

PROGRAMNAME ____
CO_N_O_2_9__-_0_2_9__K_e_y_bo_a_r_d__C_h_a_ra_c_t_e_r__co_n_v_e_r_s_i_o_n_________________________L_e_v_e_l_0_6
PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS

88 16
2.

= 136 10

words.

RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Not reentrant.

ATTACH ANALYTICAL SUPPLEMENT
Attachment A contains key codes and their corresponding 029 and TTY characters.

. PAGE NO. _86
__
PRINTED IN THE USA

CONTROL DATA CORPORATION
,

DOCUMENTCLASS~C~Y~BE~R~D~A~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

___________________________________________________________

PROGRAMNAME ____
CO_~_JO_2_9__-__
0_29__K_e_y_b_o_a_r_d_C_h_a_r_a_c_t_e_r_C_o_n_v_e_r_s_i_o_n________________________~L~e~v~e~l~O~6

The hardware for the adding machine is not
available as a standard product •

. PAGE NO.

87
'IINHO IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS
PROGRAM NAME

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
-----------------------------------------------------------------Leve 1 06
CON029 - 029 Keyboard Character Convers ion
ATTACHMENT A

Key Code

029 Character

TTY Character

00

0.1
02

03
04
05
06

07

08
09
OA

-0
Q)

til

:::>

OB

.j.J

OC

:z

.j.J

o

o

z:

OD
OE

OF
10

11
12

13
14
15
16
17
18
19

o

(adding machine)

%

#
;':

1B

SSC
(Not used)

1C

DUP

1D
1E
1F
20
21
22

(Not used)
(Not used)
(Not used)
Space

1A

23
24
25
26
27
28
29
2A
2B

!

6

[
7
&

1
Space
~

II

C

#
$

@

%

3

$
P

&

II

(
)

E

4
Q

'i'C

+
. PAGE NO.

88

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __
CY_B_E_R_D_AT_A__________________________________________________________
PROGRAMNAME ___C_O_N_O_29__-__
0_29__K_e~y_bo_a_r_d__
Ch_a_r_a_c_te_r__C_o_nv_e_r_s_i_on_________________________L_ev~e_l~06

Key Code

029 Character

,

2C
2D
2E
2F

8

/

30

o

31

1 (7 on
2 (8 on
3 (9 on
4
5
6
7 (1 on
8 (2 on
9 (3 on

32
33
34
35
36
37
38
39

3A
3B
3C
3D
3E
3F
40

9
(

add i n9 mach i ne)
add i n9 mach i ne)
adding machine)

"o
I

,

K
L

adding machine)
adding machine)
adding machine)

[
D
F

5

>

>

5
X
2

?
@

41

A

42

B
C

43

TTY Character

A
B
C

44

o

o

45

E
F
G
H

E

46
47
48
49

F
G

H
I

4B
4c

I
J
K
L

4D

M

4E
4F
50
51

N

N

o

o

p
Q

Q

4A

J

K
L
M
p

52

R

R

53
54

S

S
T

T

. PAGE NO.

89

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS _______
CY_B_E_R_DA_T_A___________________________________________________
PROGRAMNAME ________C_0_N_02_9__-_0_2_9__
Ke~y_b_o_a_rd__C_h_ar_a_c_t_e_r_C_o_nv_e_r_s_i_on___________________L_e_ve_l___
06

Key Code
55
56
57
58
59

5A
5B
5C
50
5E
5F

60
61

62
63

64
65
66
67
68

69
6A
68
6c

6D
6E
6F
70
71
72
73

74

75
76
77
78

79

7A
7B
7C

029 Character

u

u

V
W
X

V
W
X
Y

Y
Z

,Z

[
\
]
A

(Not used)
(Not used)
(Not used)
(Not used)
(Not used)
ESB
00 (adding machine)
RESET
SKI P
BSR
BOR
(Not used)
(Not used)
FMT BCK
FMT ADV
REL
DOC BCK
DOC ADV
BSF
DISP
REP FLO
CONT
CNCL
MLTL OUP/SKIP
INS
OLT
ERR OVR
FORM SEL
COR

70

RTRN

7E

READ
INT

7F

TTY Character

. PAGE NO.

T
R
+
W
/
?

DUP
REL
BSC
ESB
(Not used)
RESET
SKI P
BSR
BOR
FMT BCK
FMT ADV
)

o
DOC BCK
DOC ADV
BSF
DISP
REP FLD
CONT
CNCL
ML TL DUP/SKI P
INS
OLT
ERROUR
FORM SEL
COR
RTRN
READ
INT

90

PRINTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS

PROGRAMNAME __~C~O~NT~________________________________________________________~Le~v~e~l~6

PROGRAM FUNCTION
1. GENERAL DESCRIPTION
CONT processes the CONT key.
2.

DETAILED DESCRIPTION
CONT checks if switch 1 bit 5 is set for 'CONT m..Jst be next'. If it is
not, ERROR is c~lled with error code 4. Else chara~ter count in current
field, and character count in record will be increased to point to end
of field. 10K bit in CMODE and bit 5 in switch 1 are cleared. CONT
exits to ENDOF1 in VMM for end of field processing.

INTERFACE
1.

ENTRY METHOD
CONT is loaded by IDK via ENTPRG, when CONT key is entered, and terminal
is in IDK mode.

2.

INPUT PARAMETERS OR CONDITIONS
I = current ATT base address.
Switch 1 bit 5 should be set.
10K mode bit is used.

3.

EXIT METHOD
JMP - (ERROR) - with error code - 4, when 'CONT must be next' bit is not set.
JMP + ENDOF1 - E~try point in VMM.

4.

OUTPUT .PARAMETERS OR CONDITIONS
I = current ATT base address.

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a. LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
ERROR ($96)

PAGE NO.

AA5641

_9_1__

PlINTfD INTHf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
DOCUMENTCLASS ______________________________________________________________
__
PROGRAMNAME ____
C_ON_T______________________________________________________~Le~v~e~1~6

b.

c.

d.

GENERAL
FW ($3)
B ($42)
SST, ATT, EST
CATT (11)
SST ($47)
SLOCK (1)
STEt1P (20)
ATTB (10) ABT ADR (22)
FTOB (1)
JINX (3)
ABTINX (22)
TRt~N (23)
AINT (27)
DSKST (29)
LUN (35)
SCA
SUPCOM (36)
sc (SUPCOM)
FLAG (SC+l0+0)
ATEMPl (SC+l0+1)
MTHREE (SC+l0+2)
MTWO (SC+l0+3)
BBB (sC+l0+4)
CCC (SC+l0+5)
BBC (SC+l0+6)
TEMP (SC+l0+7)
JOBN (SC+l0+9)
JOBNAM (SC+l0+10)
TBATCH (SC+l0+13)

2.

INTERNAL ROUTINES
CHECK4 - To check if actual batch number is less than the last
batch number (BBC-CCC)
In case condition does not hold return is made to sup.

3.

~1ACROS

US ED

None.

PAGE NO. __
9_2__

AA5641

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__IM_S______________________________________________
PROGRAMNAME ____C_ON~T_______________________________

INTERFACE
1. ENTRY METHOD
DBT is loaded by ENTPRG.
2.

Leve 1 6

Execution begins at only entry point DBT.

INPUT PARAMETERS (in the DBT command)
Job name
Initial. Batch number - required
Last Batch number
,B - optional

3.

EXIT METHOD
a. Completion exit
JHP - (SV)

b.

Cancel exit
ENA 39
JMP - (REJSOP)

c.

4.

Error exi t
ENA 0 (3.8)
JMP - (REJSUP)

OUTPUT CONDITIONS
I = current ATT address

ASSEHBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
LPMASK ($2)
NZERO ($12)
ONEBIT ($23)
ZROBIT ($33)
ZERO ($22)
WAIT ($BO)
REJSUP ($B2)
SV ($81)

GETBIN ($99)
SP I LL ($A 1)
GETALP ($9B)
GETCOM ($9C)
SUPRW ($97)

PAGE NO.

AA5641

_9_3_ _

PRINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__
IM_S________~____________________________________ ,______
PROGRAMNAME ____C_ON_T______________________________________________________~L~ev~e~1~6

b.

c.

d.

SST
CFFA ( 12)
ATT
MODE (2)
FCNT (3)
RCNT (4)
SWl (19)
CONSTANTS
CA4 (4)

2.

MACROS, USED
None.

3.

PROGRAM DEPENDENCIES
ENDOF1 - Entry point in VMM
ERROR
- F or displaying error codes.

4.

DATA AREAS USED
ATT
SST
FMT

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
,(IF)16

=

(31)10'

2.

RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

94

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__IM_S________ .______________________________________________

C_ON_T______________________________
PROGRAMNAME ____

4.

5.

PROGRAM
SUPRW
REJSUP
WAIT
GETBIN
SV
SPILL
GETALP
GETCOM
SD
DB
GETLJD
SETMOV
MOVREC

Leve 1 6

DEPENDENCIES
-

DATA AREAS AND SYSTEM TABLES USED
SST
EST
ATT
LJD
ABT
SCA
I NT. BUFFER

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS

2.

101 6 = 256
words of program.
1
RELOCATION TYPE
Run anywhere, disk resident.

3.

REENTRY

PAGE NO.

AA564t

95

PRINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CONTTY
-------------------------------------------------------------------------

PROGRAMNAME ____
Te__le_t~y~p_e__K_e~y_b_o_a_rd__C_o_d_e__C_o_n_v_e_r_s_io_n__________________________________________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
CONTTY converts TTY keyboard input codes to ASCII equivalents.
consideration is given to field data type, e.g. upper shift.)

2.

(No

DETAILED DESCRIPTION
If the terminal is a TTY, the conversion table is plugged for code $66 (a
code not used on the 029 keyboard). If the code entered was less than
$16 and the terminal was not error locked, a IIPP" error is displayed at
the terminal. (rf the terminal was already error locked, exit is to the
dispatcher--the key is ignored.) If the code entered was $16 or greater,
a table lookup is performed to get the ASCII equivalent. A zero table
entry means the key is not used and exit is to the dispatcher (the key is
ignored). The converted character is stored in ATT/CURCH/7-0 and Q is
cleared if the key entered was a function key. If the terminal was error
locked, reset or display keys are processed and all others are ignored.

INTERFACE
1.

ENTRY METHOD
Return jump

2.

INPUT PARAMETERS OR CONDITIONS

= ATT base address
ATT/ATEMP = keyboard code for key entered
I

3.

EXIT METHOD
P + 1 return to caller if key is processed.
error locked or key unused.

4.

Jump to dispatcher if terminal

OUTPUT PARAMETERS OR CONDITIONS
I

= ATT base address

ATT/ATEMP

=

keyboard code for key entered

ATT/CURCH/7-0

= ASCII

character or unconverted code for functions

Q = 0 when key entered was a function
Q ~ 0 when key entered was a character

. PAGE NO.

7~

96

'1INlfO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_ON_T_T~Y____________________________________________________________
PROGRAM NAME

Teletype Keyboard Code Cooyers jon

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a. LOCORE
LPMASK (2)
NZERO ($12)
ONEBIT ($23)
SST ($47)
ERROR ($96)
DISPCH ($EA)
b. ATT

c.
d.
"

"-

2.

CMODE (2)
CURCH (2)
ATEMP (73)
SST
STEMP (20)
CONSTANTS
CPP ($lA)
RES ($67)
DSPKEY ($73)

er ror code
Reset key code
Disp key code

lIppI'

MACROS USED
None

3.

PROGRAM DEPENDENCIES
NDISP
GSE

4.

DATA AREAS USED
ATT
SST
Internal table MTA which contains the TTY conversion codes, stored two
characters per word.

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
6B 16 = 10 710
words

. PAGE NO.

'1?

97
"INUD IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS
PROGRAM NAME

2.

---..:C~ON~TT.!..!.Y

•

PSSD

•

SOFTWARE DOCUMENT

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __

Te 1etype Keyboa rd Code Conyers i on

RELOCATION TYPE
Loader relocatable

3.

ENTRANCY CLASSIFICATION
Dormant reentrant

ATTACH ANALYTICAL SUPPLEMENTS
Attachment A contains key codes and their corresponding 029 and TTY characters.
TELETYPE/TYPEWRITER CONFtGURATfON

DJ]mmmmmmDm[CJ][0~[§~B

o[G][G][][G]ommO[G]0rti381 Bl§J
BGJDGJJ[O[GJ][GJ]ODDEJJ8]EJJ [[§]§J
BDQ][G]mm[JJGJ]OODa i ~~rt ~

i

IIIDID~ iGl~~r

SI[

I

I

L - - UNDER - - - .....
INTERLOCK CONTROL

. PAGE NO.

98
'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

______________________________________________________________

DOCUMENTCLASS~C~ON~T~T~Y

PROGRAMNAME ___Tue~J~e~t~y~pe~K~e~y~bQ~a~r_d~C~Qd~e__C~o~n~ye~r~sui~Q~n______________________________________
ATTACHMENT A
029 Cfiaracter

Key Code
00
01
02
03
04
05
06
07
08
09
OA
OB
OC
OD
OE
OF
10
11
12
13
14
]5
16
17
18
19

l"

'"0
Q)
til

=>

Q)
til

=>
.j..I

z

z

0

%

#
i',:

BSC
(Not used)
DUP
(Not used)
(Not used)
(Not used)
Space

lA

6
{

7
&

1
}

Space
<

II

C

#
$

@

%
&

$
3
P
II

(
)

E
4

ii,

+
. PAGE

'¥/

'"0

.j..I

a

1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B

I'--

TTY Character

NO.

Q

99

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __
CO_N_T_T_Y_________________________________________________________

Teletype Keyboard Code Conyers ion

PROGRAM NAME

Key Code

029 Character

TTY Character

2C

2D
2E
2F

/

30
31
32
33
34
35
36
37
38
39

0

1
2

3
4
5

6
7
8

9

(

>
I
0
;
K
L

A

9

3A
3B
3C
3D
3E
3F
40

D

F

41
42
43
44
45

46

47
48
49

4A
4B
4c

4D
4E
4F

50

<

5

>

\
s

'j

X

@

2

A
B

A
B

C

C

D
E
F
G
H
I
J
K
L
M
N
0

D
E

F
G
H
I
J
K
L

M
N

0

p
Q

52

p
Q

R

53

S
T

R
S

51
54

. PAGE NO.

T

100
... INTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_O_N_TT_Y____________________________________________________________
PROGRAMNAME __~Te~le~t~y~pe~K~e~y~bo~a~r~d~Co~d~e~C~o~nv~e~r~s~io~n~____________________________________

029 Character
U
V

Key Code

\

'-- ,

55
56
57
58
59
5A
5B
5C
5D
5E
SF
60
61
62
63
64
65
66
67
68
69
6A
6B
6c
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
78
7C
70
7E
7F

w

w

X

X

Y

Y

Z
--,

Z

\

T
R

¢

I
(Not used)
(Not used)
(Not used)
(Not used)
(Not used)
ESB
(Not used)
RESET
SKIP
BSR
BOR
(Not used)
(Not used)
FMT BCK
FMT AOV
REL
DOC BCK
DOC AOV
BSF
DISP
REP FLD
CONT
CNCL
MLTL OUP/SKIP
INS
DLT
ERR OVR
FORM SEL
COR
RTRN
READ
INT

. PAGE NO.

TTY Character
U
V

+
W

/
?

DUP
REL
BSC
ESB
00 (TTN only)
RESET
SKI P
BSR
BOR
FMT BCK
FMT ADV
)

0
DOC BCK
DOC ADV
BSF
DISP
REP FLD
CONT
CANCEL
MLDS
INS
DEL
ERROVR
FSL
COR
RETURN
READ
INT

101
PlINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

--=C..:..Y.::..B=.:ER~D:.:.A.:..:T.:..;A:....-

•

PSSD

•

SOFTWARE DOCUMENT

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Level 06

PROGRAMNAME ___C~O~R~K~E~Y_~_ _- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
The routine processes the .. .c.ORRECT key in READ and VERIFY modes.
In VERIFY mode after a mismatch, places the new character in the TRB, clears
error flags as necessary, and sets reval idate bit. In READ and PSEUDO ENTRY,
after replacing a field, clear flags set rewrite, check for reverification
and autodup.
In READ it also processes the insertion and deletion of a record, it updates
pointers to next and prevIous records in batch, and updates counters and
error flags (if needed).

2.

DETAILED DESCRIPTION
CORKEY starts execution by checking if SWl B11 is set, for COR must be next.
I f so, I DK bit i s c 1ea red a nd CO RKE Y jump s to d iff ere n t sec t ion s to han die
the cases of COR after INSERT, and of COR after DELETE or after replace
field.
When replacing a field in READ mode and field is an autodup field and MLDS
is not set (SW1B6), checks basic mode If it is entry and the record changed
is not the last entered, or if basic mode is VERIFY and this is not the last
record of the batch, first word of next record is read into core, bit 13 for format change is set, and the word is written back into core. When in
READ mode and basic mode is VERIFY It checks if current verify point was
passed in read. If not, CORKEY will call CHKVRY for checking if reverification
needed. If it is, mode is changed to pseudo verify, and REWRITE bit in SWl
is set.
After clearing IMI from display and calling EXDFUN, CORKEY will exit
to RVFVER in VMM. If current Verify point was passed or no reverification
was needed, rewrite bit in SWl is set, and COR bit is cleared. The internal
subroutine REVERY is called to set SW2 bit 10 (in Verify and in Read when
MLDS was set) and SW2 bit 14 (for record reveriflcat)on). Pseudo entry bit
is cleared in CHODE - and CORKEY exi ts to ENDOFl in VMM (after call ing EXDFUN).
If in Read and the current field is an autodup~ set Auto Change bit in header
if MLDS (SW1B6) was set, and Format Change bit otherwise.

. PAGE NO. _102
_ __

... INTEO IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
--------------------------------------------------------------------------

PROGRAMNAME __~CO~R~K~E~Y~________________________________________________________~L=e~v=e~1~O~6

The procedure SETBEG in VMM is called to set pointers back to start of field.
DISPLAY is called and CORKEY exits via CLRSR. If SWl - bIt 11 was not set
and basic mode is entry, or it is verify without MISMATCH character CORKEY
will exit to ERROR, with error code 4. If basic mode is verify and there is
a mismatch character, rewrite bit in SWl is set, and REVERY is called to set
forced reverification flag- and Auto dup flag (SW2B10) as required.
If SW2 bit 13 is not set, it is set (for Reval idate), and CORKEY exits to
REPKEY for updating counters and flags. It will return from REPKEY through
second entry point of CORKEY - COR2. If SW2 bit 13 is already set, control
will be passed to COR2 without exiting to REPKEY. Here the new character
is placed in the ATT for current character, and it is stored vIa SBYTE in
the TRB. The mismatch word in the ATT is cleared, and CORKEY exits to GETNZ
in VMH.
COR after DELETE:

.........

In REA.D mode: If bas i c mode is ENTRY, checks if the de 1eted record is the
last in batch and releases free area if possible (via AVAIL). If the deleted
record is the last logical record, internal procedure BSRCD Is called (see
description of the procedure attached). Document and format change bits are
transferred from the deleted record to SW1. Bit 15 is set to Indicate that
the next record will start with a new format; Bit 14 in SW1 is set if a new
document should be started in next record. Pointers to previous record, and
next disk address are updated, and ATT is written to disk via WRTATT, with
end of data bit set. CORKEY exits to SETNFM in PIO. If basic mode in VERIFY
or if it is Entry but the deleted record is not the last in batch (logically),
BSRCD is called. Relevant information about the record is stored. Available
storage is freed, pointers to previous record are updated to point over
deleted record, basic mode disk addresses are updated to point to actual next
free are released by the delete. Pointers to the record after the deleted one
are updated too. First in format and first In document pointers are set in
the header of this record. If mode is READ, CORKEY exits to second entry point
in BSR, for display •. If mode is verify and the deleted record is the first
In batch, CORKEY will exit to EORVRC; else, to EORVRl (both after call ing
EXDFUN), both entry points in EORVR.

. PAGE NO.

103

'1INTlO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_BE_R_D_A_T_A_____________________________________________________________
PROGRAMNAME ____
CO_R_K_E_Y___________________________________________________________L_ev_e__
l_O_6

COR after INSERT:
If basic mode is Entry and current record is verifiable, increase number of
verifiable records in batch. Increase number of records in READ and number
of records in batch. Update basic mode information and pointers according
to new record. If it was an INSERT at end of data set last record flag.
Update available number of words in track. Check if there was format
change, for the inserted reco,rd, and set flag for new format in the header
of next record. Put free disk address into next, set pointers to beginning of
record, and change formats if required. Write ATT to disk, and exit to
CLRSR after displaying the record following the inserted one.
Internal Subroutines:
REVERY: Sets SW2 bit 10 in Verify and in Read when NLTL DUP SKIP was set,
and the change is done for a record In basic mode. It also sets forced
reverification bit if needed.
AVAIL:

Checks for free areas and releases them if possible.

BSRCD: Moves to end of record. Calls GETPFD to perform counters. Updates
RCD, RCDRD, number of verify records, and flagged records. It is used when
processing COR after DELETE.
INTERFACE
1.

ENTRY METHOD
CORKEY is a disk resident program invoked by ENTPRG, when COR key is
entered. It has two entry points: CORKEY which is entered when COR key
is entered; COR2 is entered when returning from REPKEY.

2.

INPUT PARAMETERS
I

3.

=

current ATT base address.

OUTPUT PARAMETERS
I

=

current ATT base address •

. PAGE NO.

104
'tiNTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENTCLASS~C~Y~BE~R~D~A~T~A

•

PSSD

•

SOFTWARE DOCUMENT

___________________________________________________________

PROGRAMNAME ____________________________________________________________________
_
CORKEY
Level 06

4.

EXIT METHOD
a.

JMP GETNZ in VMM - when there is a mismatch character, in Verify mode.

b.

JMP RVFVER in VMM, when COR after REPKEY, in Read with basic mode =
Verify, when Verify point was passed in read.

c.

JMP END OF 1 In VMM - when Verify point was not passed ih read.

d.

JMP - (CLRSR) - When processing COR after INSERT, and when replacing
field in Read mode.

e.

JMP SETNFM - In PIO, when COR after DEL in READ, with basic mode ENTRY,
and at end of data.

f.

JMP EORVRC - In EORVR, when COR after DEL in Verify (for first record).

g.

JMP EORVRl - In EORVR, when processing COR after DELETE in Verify
mode, when processing COR after DELETE in Verify- mode,
if deleted record was not first in batch.

h.

LDQ =N$1869 exit to second entry point in BSR.
RTJ- (ENTPRG)
- When processing COR after DELETE in READ mode, with basic mode - Verify.

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

TRANSFER VECTOR
REDDWA ($A9)
WRTDWA ($AA)
WR ITEC ($A3)
READP ($A5)
REWRIT ($A4)
READN ($A6)
WRTATT ($AC)
GBYTE ($94)
SBYTE ($95)
ERROR ($96)
EXD FUN ($9 F)
GFCORE ($9D)
ENTPRG ($9E)
DISPLY ($AO)
CLRSR ($93)
. PAGE NO.

105

'RINTED IN THE US ...

CONTROL DATA CORPORATION
DOCUMENTCLASS~CY_B_E_RD_A_TA~

•

PSSD

•

SOFTWARE DOCUMENT

__________________________________________________

CORKEY
Le_v_e___
1 06
PROGRAMNAME _______________________________________________________

b.

LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)

c.

ATT
CMODE (2)
FCNT (3)
RCNT (4)
MISCH (5)
PFBA (7)
SWl (19)

SW2(20)
VRCOR (16)
ATEMP (73)
CURCH (2)
BMOD (15)
ATRB (6)
BRCNT (15)
SWiTCH (24)
RCDER (30)
VRCD (29)
CURDA (9)
NDA (11)
BMDA (17)
LUNIT (35)

RQ (65)
FMTNO (13)
BFMTNO (25)
RCSIZE (69)
RCD (32)
RCDRD (31)
AVLTK (8)
RFA (14)

. PAGE NO.

lOb

'tINTEO IN THE USA

CONTROL DATA CORPORATION

DOCUMENTCLASS~C~YB~E~R~D~AT~A~

•

PSSD

•

SOFTWARE DOCUMENT

_______________________________________________________

PROGRAMNAME __~C~O~R~K~Ey~___________________________________________________L_e_v_e_l_0_6
d.

SST
STEMP (20)
CFFA (12)

e.

CONSTANTS
S (S)
MMA (6)
LU (3)

2.

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
VMM

- GETNZ
ENDOF1
DISPLY - SETBEG
DBSF
REGEN
- STTYPE
EMM
EORVR
- EORVRC
EORVR 1
PIO
- REDDWAWRTDWAWRITECREADPREWRITREADNWRTATTSETNFM
GSE
- GBYTE
SBYTE
ERROR
EXDFUN
ENTPRG
GFCORE
ENEXSR - CLRSRREPKEY

. PAGE

NO.

107
'IINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
DOCUMENTCLASS ________________________________________________________________
__
PROGRAMNAME ___C_O_R_K_E_Y______________________________________________________L_ev_e~1~06

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS

= 702 10 words of program.
16
RELOCATION TYPE

2BE

2.

Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

. PAGE NO.

108
'1INlEO IN THE US4

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS~C~Y~B~E~R~DA~T~A______________~_______________________________________

PROGRAMNAME __~C~R~E~G~E~N__-~R~eg~e~n~e~r~a~t~e~S~c~r~e~e~n~D~i~s~p~l~ay~-~C~R~T~_____________________~L~e~v~e~1~O~6~_________
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
CREGEN regenerates the display on the CRT screen.

2.

DETAILED DESCRIPTION
CREGEN calls ENDSR to save the caller's return address in the P10 area of
the ATT. If the terminal is in idle mode, CCLRAL is called to clear the
screen (SETB!T) and CDIS is called to set the TOPT data definition bits
to idle. Exit to the caller is via EXDSR.
If the terminal is in interrogate mode, CCLRFD is called to clear the interrogate line of the screen (CRG1S). A check is made for Read nnde if not in
Read mode, TUTMOD is called to display the aid line on the screen if required
and if a val id format is in use.
The current screen position in data area is
converted to a two-byte screen address by CONSCR and the cursor is displayed
there by the display driver VL2CRT (CDATA). Then control is transferred to
SETBIT with definition of interrogate.
If the terminal is not in idle or interrogate mode, the page number of the
current field is calculated by GETPL and the page is displayed by CPAGE. Then
control goes to CRG1S where the current mode check is made.

INTERFACE
1.

ENTRY METHOD
Retu rn jump

2.

INPUT PARAMETERS OR CONDITIONS
1

3.

=

current ATT address

EXIT METHOD
Return to caller

4.

OUTPUT PARAMETERS OR CONDITIONS
CRT scre~n is rLgenerated.
TOPT date definition bits are set.

PAG E NO. -",,1;;...;;;O~9~

AA5641

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENT CLASS

CYBERDATA

PROGRAM NAME

CREGEN - Regenerate Screen Display - CRT

Level 06

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

LOCORE
LPMASK (2)
ZERO ($22)
ONES IT ($8D)
ENDSR ($3E)
EXDSR ($8F)

b.

ATT
MODE (2)
FLDN ( 14)
TOPT (33)
RQ (65)

c.

TOPT
CURSRD (3)
ULOKS (14)

2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
CMISC1
CLEARS
GETPL
CPAGE
CENDS
VL2CRT

4.

DATA AREAS USED
ATT
TOPT

PHYSICAL CHARACTERISTICS
1•

MEHORY SPACE REQUIREt1ENTS
3416

=

5210 words.
PAGE NO.

AA5641

110

'tiNTED IN lHf USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________~____________________________________

PROGRAMNAME __~C~R~EG~E~N__-~R~eg~e~n~e~r~a~t~e_S~c~r~e~e~n~D~is~p~1~a~y__
-_C~R~T__________________~Le~v~e~1~O~6________
2.

RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Dormant reentrant.

PAGE NO.

AA5641

111

... INTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A___I_M_S________~______________________________________________
PROGRAMNAME ____D_A_M__-__D_i_s_k_A_l_l_o_c_a_t_i_o_n_M_o_d_u_l_e________________________________________l_e_v_e_l~6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
DAM has two entry points, GITRT and RELTRT. GITRT allocates one track to
the requester. RELTRT releases a track back to the allocation pool,
provided it is not logged in the Bad Track Table (COT - 64 ),
10
The CYBERDATA definition of a track is 16 sectors of 96 words each. A
cylinder is defined as 16 tracks.

2.

DETAILED DESCRIPTION
a.

GITRT
1) Call ENTSR to save return address in Exit stack.
2) Call SETLU to set up disk parameters:
Dis k log i ca 1 un i t 'n umb e r .
Disk logical unit in diagnostic messages.
Base sector address of allocatable over on this disk unit.
Length of Track Reservation Table (TRT) entry.
Core address of TRT entry.
Disk address of TRT entry.
Values for 70%, 80%, and 90% of allocatable area on this unit.
3) (CKCYL). Beginning with the first cyl inder in the TRT entry,
search for an available track.
4) (FULDSK). If there are no tracks avai lable on this disk unit, and
EST/DSKST/f is not set, set EST/DSKST/f and write message:
DISK u FULL
on the output comment device.
Note:

f = 0,1,2, or 3 (disk full flag for unit 0,1,2, or 3)
u = disk logical unit number

5) (FULEXT).

Set (A) = 0 and call EXTSR to exi t.

6) (GOTI). If a track is avai lable, mark it assigned in the TRT entry,
and increment the count of assigned tracks.
7)

If (FLAG80) = 0, and the number of assigned tracks exceeds 80% of
the allocatable area on the disk, set (FLAGSO) = 1 and write the
message:
DISK u MORE THAN 80% UTILIZED
on the output comment device.

PAGE NO.

AA5641

112
'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S__________~_______________________________________________
PROGRAMNAME ____D_A_M__
- __D_i_sk__A_I_I_o_c_a_t_i_o_n_M_o_d_u_l_e______________________________________~L~e~y~e~1~6

8) (CALSEC).

Calculate the sector address of' the ass igned track.

9} (WRTTRT).

Call WRTSEC to write the modified TRT to disk.

10) Set (A) = sector address of assigned track and call EXTSR to exit.
b.

RELTRT
1)

Call ENTSR to save return address in Exit stack.

2) Call SETLU to set up disk parameters (see 1.b).
3) Check if track being released is logged as bad.

If so, set release

5, and go to step 8.

bit

4) Clear track assignment list in TRT entry.

Decrement count of

assigned tracks.
5)

If EST/DSKST/f is set (disk full), and the number of assigned
tracks exceeds 90% of the allocatable area on the disk, go to
step f. If now under 90%, reset EST/DSKST/f, write the message:
DISK u LESS THAN 90% UTILIZED
on the output comment device, and go to step f.

6)
\

"

If EST / DSKS T/ f i s not set, ( FLA G90) = 1, and the numb e r 0 f ass i g ned
tracks is less than 70% of the allocatable area on the disk, set
(FLAG80) = 0, and write the message:
DISK u LESS THAN 70% UTILIZED
on the output comment device.

7) Call WRTSEC to write the modified TRT to disk and call EXTSR.
8) Write modified Bad Track Table to disk and exit via EXTSR.

INTERFACE
1•

GITRT, RELTRT

ENTRY METHOD
GITRT and RELTRT are core resident programs.
Each is called by means of the RTJ instructions.

2.

INPUT PARAMETERS OR CONDITIONS
GITRT:

(1) = ATT base address

RELTRT:

(A) = Sector address of track to be released
(1)

ATT base address

PAGE NO.

AA5641

113

'RINTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I MS

--~~------~--------~--------------------------------------------

PROGRAMNAME __~D~A'~~_-~D~i~sk~A~l~l~o~ca~t~i~o~n~Mo~d~u~1~e~__________________________________4Le~y~e~1~6

3.

EXIT MODULE
Exit from both routines is to the location following the RTJ which called
the routine.

4.

OUTPUT PARAMETERS OR CONDITIONS
(A) = 0, no track is available for assignment
GITRT:
(A) # 0, sector address of assigned track
Q register is not preserved.
No output parameters
RELTRT:
Q and A are not preserved.

ASSEMBLY CHARACTERISTICS
1 • EQUATES
a. LOCORE
EXTBL ($E9)
LPMASK (2)
NZERO ($12)
ONEBIT ($23)
SIXTEN ($27)
ZROBIT ($33)
TEN ($46)
SST ($47)
ENTSR ($91)
EXTSR ($92)
RTNS R ($98)
WRTSEC ($A8)
CLCDWA ($90)
WRTDWA ($AA)
b.

EST
TRTI (11)
RTRIDA (17)
LUND I (25)
DSKST (29)

c.

ATT
LUN (35)
ATEMP (73)
EXTERNALS
Start of Cyberdata data storage
SIBSEC
Calculation of addresses
ABSADD

d.

PAGE NO.

AA5641

114
'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~I~M~S

•

PSSD

•

SOFTWARE DOCUMENT

__________~_____________________________________________

PROGRAMNAME __~D=A~M__
-~D~i~s~k~A~]~]~Qc~a~t~i~Q~n~M~Q~d~!I~]e~_____________________________________L_e_v_e_1__
6
2.

t-1ACROS US ED
FWRITE

3.

PROGRAM DEPENDENCIES
ENTSR
EXTSR
RTNSR

4.

Save return address in Exits stack
Exit to return address in Exits stack
Return address from Exits stack

DATA AREAS USED
EST
ATT
TRT
BTT

Extended System Table
Active Terminal Table
Track Reservation Table
Bad Track Table

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
150

2.

16

= 336 10

words.

RELOCATION TYPE
DAM is core resident program.
It is loader relocatable.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO. 115
AA5641

'tiNTED IN THE USA

CONTROL DATA CORPORATION
CYBERDATA tMS
DOCUMENTCLASS ________________________

~

•

PSSD

•

SOFTWARE DOCUMENT

__________________________________________________

DBT - Delete Batch(es)
Level __
6
PROGRAMNAME ____________________________________________________________________________
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
To process the DBT command, whose function is to delete batches from
the disk.
The format of the DBT command is as follows:
DBT, JJJJJJ, xxx,_ yyy (, B)
It/here:
JJJJJJ - job name
xxx
- initial batch number
yyy
- last batch number
If "B" is entered all specificial batches not active on a key station are
erased, if "B" is not specificial f only batches previously transferred to
tape by the WBT command are erased.

2.

DETAILED DESCRIPTION
The program makes itself movable and enables the option to be terminated
by cancel key.
The whole command is processed; FLAG indicates whether ".B" was entered
(FLAG=O) or not (FLAG=l). In ca5eOf syntact ic errors, return is made
to SV with a suitable error message. Val idity of the batch numbers is
a 1so checked (i nit i a 1 batch number shou 1d be 1ess (equa 1) than 999);
return is made to SV in case of error.
GETLJD is evoked to get index of entry in LJD. In case of error (no job
with that job name was found) return is made to sup. Before work begins
the cancel bit is checked; in case cancel was entered return is made to
sup mode and a message is printed. Next bit 13 of SST+l (SLOCK) is checked
to see if THW command was entered and locked system, in which case DBT
should wait until this bit is cleared.
SPILL is invoked to get index of that batch entry in ABT. address of first
track in batch, mode and loci gal unit.
The mode is checked; if the batch is active (entry mode, verify mode or
maintenance( and ",B" was entered, a suitable message is printed. If it
is not active and ".B" was entered an attempt to delete is made. If ",B"
was not entered, the mode is checked for written (6); in case it fits an
attempt to delete is made, otherwise the next batch is taken.
If the corresponding disk is not assigned to the system, a message is printed.
If assigned, the entry in the ABT is deleted, and the tracks of the batch
are released (by use of LtNKTR).

PAGE NO.

AA5641

116

PRINTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I MS

PROGRAMNAME ____________________________________________________________________________
DOC - Delete Document
Level __6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
DOC is a supervisor function, used to delete an entry fr~ the Legal
Document Directory (LDD). Call ing sequence is DDC,nnn ~ where nnn
is the number of the document to be deleted.

2.

DETAILED DESCRIPTION
DOC first enters SETMOV to enable program moving and then collects the
parameters following the DOC command via GETALP and GETBIN in SCANV.
If DOC is not followed by a comma or the document number given is not a
val id number, goes to REJSUP to indicate "Inval id command format" (ERR9).
If the document number is greater than 255 goes to REJSUP to indicate
"Inval id document number" (INVALD). If the parameters are accepted all
the ATT's in the System are scanned to find if any terminal which is not
IDLE or supervisor uses this document. If such a terminal is found goes
to INVALD, else enters CLCDWA to calculate the disk address of the
requested document entry in the LDD and writes zero via WRTDWA in PI0
over the first word of the entry. Exit is to SV.

INTERFACE
1.

ENTRY METHOD
DOC is a supervisor function loaded by ENTPRG.
Only entry point is DOC.

2.

INPUT PARAMETERS OR CONDITIONS
I = Current ATT address.
Operator enters:
DOC ,aaa

3.

4.

@

(aaa = document number)

EXIT METHOD
a.

Jump to REJSUP with appropriate error codes.

b•

Jump to SV.

OUTPUT PARAMETERS OR CONDITIONS
I = Current ATT address.

PAG E NO.

AA5641

--:1=-=1::...;7:....'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
DDC - Delete Document
Leve 1 _6
PROGRAMNAME ____________________________________________________________________
DOCUMENT CLASS

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a. LOCORE
LPMASK ($2)
NZERO ($12)
ZERO ($22)
ONEB IT ($23)
ZROBIT ($33)
SST ($47)
b. SST
ATTB (10)
ATTLNG (19)
STEMP (20)
c.
d.

e.

EST
LDDDA (9)
TRANSFER VECTOR
CLCDWA ($90)
GETBIN ($99)
GETALF ($9B)
WRTDHA ($AA)
SV ($B1)
REJSUP ($B2)
ATT
SLaCK (1)
BHOD (1 5)
DOCNO (17)
DOC (46)

2.

PROGRAM DEPENDENCIES
EXTERNALS SETHOV

3.

TRANSFER VECTOR ROUTINES
Calculate word address of disk resident information
Pia
- CLCDWA:
Write to disk according to word addressing
WRTDWA:
Collect string of ASCI I digits and pack them into
SCANN
- GETBIN:
hexadecimal number
Get one ASCI I character from ASCI I string
GETALP:
Conclude supervisory function request
SUPER
- SV:
REJSUP:
Generates error message to supervisor
PAGE NO.

AA5641

11B

rRINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYB ERDATA IMS+

PROGRAMNAME __~D~D~C_-~D~e~l~e~te~D~o~c~u~me~n~t~________________________________________~L~e~v_e~1~6

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS

2.

3.

39 16 = 57 10
RELOCATION TYPE
Disk resident, run anywhere.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

119

'RINTEO IN 'HE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CVBERDATA

------------------------~----------------------------------------

PROGRAMNAME ____~D~EL~E~T~E~____________________________________~L~e~v~e~l~O~6_____________________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
DELETE processes the manual DELETE function.
DELETE is used with the INTLK key to delete the current record. In
entry mode it may be used only after the first character of a record
is keyed, but before the last character Is keyed. In Verify mode, the
key can be used only at the beginning of a field. In Read and Verify
modes it must be followed by the COR key.
The DLT key may not be used in Read mode of it could have been used under
the circumstances immediately preceeding transfer to read mode. The DLT
key is also used to cancel an INSERT.

2.

DETA,ILED DESCRIPTION
DELETE checks the current terminal mode. If it is not Entry or Insert,
DELETE is accepted only at the beginning of the field, else ERROR is
invoked with error code 4. While performing Replace field, DELETE is not
accepted and ERROR (4) is ca lIed.
In Verify or Read mode, DELETE checks if current and previous records are
the same. If they are it calls ERROR with code 4. In Read mode, the
number of records in Read should be more than one, or ERROR 4.
Verify and Read mode will not allow a DELETE if there is only one record
in batch, or if COR/DEL is already on.
I DK and swi tch 1 (11), (1) are set for DEL/COR and COR mu s t be next. Then
CLRSR is called. CORKEY will make more checks and change pointers for
deleted recored.
In Entry mode DELETE uses the internal subroutine GETPFD to move back to
the beginning of the record, and to reverse counters (using the external
subroutine count). If autosequencing is specified, it is decremented by
one, or set to gggg if it has already been zero. CMODE is set to 10K,
and switch 1 (2) is turned on to indicate "first character in record".
If the deleted record is not the first in batch, the previous record is
brought to the TRB, and if there is an inserted record before the last
one, the pointer to the next record is updated, and the ATT is written.
The format is checked, and if it is different from the format of the deleted
record, Switch 1 (15) is set to indicate "First record in format". Switch
2 (4) is cleared to eliminate special processing by DUP. Next, record
information is displayed, and DELETE exits via CLRSR.

PAGE NO.

AA5641

_1_2_0_

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS _____C_Y_BE_R_D_A_T_A__________~_______________________________________

DELETE
Level 06
PROGRAMNAME __________________________________________________________________________
__
If an inserted record is deleted, it moves to beginning of record,
reversing counters. The bits for rewrite, insert, cor, skip key must
be next, and first character in record in switch 1 are turned off.
Switch. 2 (15) (first nonzero) is cleared. Pseudo entry and pseudo
verify flags in CMODE are cleared. If current disk address equals
previous disk address in TRB, DELETE calls EXDFUN to free itself, and
jumps to SETNFM in Pl0, for updating previous and next record pointers
in TRB. If they are not the same, next record is read back to TRB, the
corresponding format is brought in by GFCORE, and the date type of first
field is fetched by STTYPE. After DISPLAY via DBSREL, DELETE exits to
CLRS R.
INTERFACE
1.

ENTRY METHOD
DELETE is loaded via ENTPRG when the operator hits the DLT key.
Execution begins at the only entry point DELKEY.

2.

INPUT PARAMETERS OR CONDITIONS
1 = Current ATT base address.

3•

4.

EXIT METHOD
JMP-

(ERROR)

with error code in Q, when an error occurs.

JMP-

(CLRSR)

when execution terminated normally.

RTJ

(EXDFUN), JMP + SETNFM (in Pl0) -

When insert.

OUTPUT PARAMETERS OR CONDITIONS
I

=

Current ATT base address.
Error message:
$4 ILLEGAL FUNCTION KEY - (see detailed description, when this error
is displayed).

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

LOCORE
LPMASK
ONEBIT

(~2 )
($23)
PAGE NO.

AA5641

121
'IINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ____C_Y_BE_R_D_AT_A__________________________________________
PROGRAMNAME ____~DE~L~E~TE~____________________________~Le~v~e~1~O~6________________

b.

ZROSIT

($33)

ZERO

($22)

NZERO

($12)

ERROR

($96)

OISPLY

($AO)

CLPSR

($93)

READP

($AS)

GFCORE

($90)

REWRIT

($A4)

READN

($A6)

EXOFUN

($9F)

SST

($47)

WRTATT

($AC)

SST
CFFA

c.

AA5641

( 12)

ATT
CMOOE

(

2)

FCNT

(

3)

RCNT

(

4)

ATRS

(

6)

PFBA

(

7)

BHOD

( 15)

FMTNO

( 13)

RCD

( 32)

RCDER

( 30)

PAGE NO.

122
... INTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

CYBERDATA

PROGRAM NAME

DELETE

2•

~1A

•

PSSD

•

SOFTWARE DOCUMENT

Level 06

RCDRD

(31)

ATEMP

( 73)

SW1

( 19)

SW2

( 20)

AUSQ

(

5)

CURDA

(

9)

BMDA

( 17)

NDA

( 11)

BRCNT

( 15)

CR0SUS ED

None
3.

PROGRAM DEPENDENCIES
EMM - COUNT - Subtract the contents of current field from the counter.
STTYPE - Extracts data type from format and puts it into ATT.
GFCORE - Releases the previous format and gets the one specified in Q register.
FMTPAR - Extracts information from a format.
DISPLAY-DEOREV

~

Displays end of record entry.

DBSREL

~

Displays backspace record, Release.

CLRSR - Clears the address stack and exits to dispatcher.
P10 - SETNFN - Updates previous and next record.
READP

- Reads previous record.

REWRIT - Reads next record.
\JRTATT EXDFUj~

i tes ATT chec kpo i nt.

- Exits disk resident function.

GSE - ERROR

AA5641

\~r

- Prints error

messa~and

PAGE NO. ____=-.L:..::::o.=::c.:j___

exit.

'RINTlO IN THE US ...

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ______C_Y_~_E_R_DA_T_A__________~____________________________________
PAOGAAMNAME ________D~E~L_ET_E~______________________________~L~e~ve~1~O~6___________________

4.

INTERNAL SUBROUTINES
GETPFD - Get previous information, and perform reverse counter operations
as necessary.

5.

DATA AREAS USED
SST
ATT
TRS
FBA

PHYSICAL CHARACTERISTICS
1.

MEMORY SPARE REQUIREMENTS
(109)16 = (265)10 program length.

2.

RELOCATION TYPE
Run anywhere, not movable.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO. --.!~..L

AA5641

'RINHO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_y_B_ER_D_A_T_A_____________________________________________________________
PROGRAMNAME ____D_E_R__
- __D_i~sp__la~y~E_r_r_o_r________________________________________________~~L~e~v~e~1_0~6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
DER is an interrogate function to display the error message associated with
the code which appears on the screen when an error occurs.
The command format is:
INT DER, XX REL
Where XX is a two character error code.
Special processing is performed if SM is requested and there are supervisory
messages to be displayed.

2.

DETAilED DESCRIPTION
SETMOV is invoked to al low the program to move, and ATT/SW1/8 is set to cause
regeneration of the screen. The command format is checked via GETALP, and the
two-character code is extracted. If tne format is inval id, or non-ASCI I
characters were entered, exit is to ERROR (Illegal Parameter). The two
characters are stored in the local variable LOCAL, and are compared with the
table of val id codes (contained in ERRTAB). If no match is found, exit is to
ERROR (Illegal Parameter). If a match is found but no SM, Q is converted to
an index into the system table ERRM, and th.e entry is read from disk and
displayed via DLINE. ATT/SW1/7 is set (RESET must be next), and exit is to
CLRSR. If SM has been entered, but no messages have been sent, then processing
is as deta i 1ed prev i ous 1y. If, however, there a re messages to be d i sp l.ayed,
a 96-word interrogate buffer is requested via GETBUF, and the message sector
for the current terminal is read from disk into It. Next the message index
is set in ATEMP+l to allow display of up to eight messages in one pass. The
screen is cleared, and the messages are displayed on successive lines until
either all the messages have been shown, or the first eight. Then GETSTR is
entered to await input of either RESET ,or eNCL. If either is entered, the
display is regenerated, ATT/SW1/8 is cleared, and exit is to CLRSR. Otherwise,
GETSTR is reentered to wait for one of these functions •

. PAGE NO.

125
'tiNTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENT CLASS _CYBERDATA
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
PROGRAMNAME _ _
__
_ _ _Error
__________________________
_ _06
_
DER
-_
Display
Level

INTERFACE
1.

ENTRY METHOD
DER is entered via ENTPRG from INTRGT when the corresponding set of
characters are keyed.

2.

INPUT PARAMETERS
I

3.

= current ATT base address.

OUTPUT PARAMETERS
I

= current ATT base address

If no errors were detected, but code other than SM, or SM with no messages:
- Interrogate line shows error message requested
- ATT/SW1/7,8 are set.
If SM was entered and messages were sent:
- up to 8 1 ines of up to 24 characters each consisting of messages from the
supervisor to the terminal.
4.

EX IT METHOD
a.

Error exit is to ERROR with Q = $13 (Illegal Parameter)

b.

Normal exit is to CLRSR.

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)

. PAGE NO.

126
'RINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __
CY_B_E_RD_A_T_A_____________________________________________________
PROGRAM NAME

b.

DER - Di sp 1ay Error

Leyel 06

SST
STEMP (20)
CLCDWA ($90)
CLRSR ($93)
ERROR ($96)
GET ALP ($98)
DISP ($AO)
GETSTR ($A2)
RESSEC ($A7)
REDD\;JA ($A9)

c.

ATT
SWl (19)
AI NT (27)
MSGP (78)

d.

CONSTANTS
CE2 ($13)
RES ($67)

2.

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
ENEXSR - SETMOV
CLRSR
DISPLY - DLI NE
SETDIS
CLRALL
REGEN
PIO
- REDDWA
RED SEC
GETBUF
GETSTR
CLCDWA
GSE
- ERROR
SCANV - GETALP

. PAGE NO.

127

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __
CY_B_E_R_D_AT_A__________________________________________________________
PROGRAMNAME __~D~E~R~-~D~i~s~p~la~y~E~r~ro~r~________________________________________-&L~ev~e~1~Q6

4.

OTHER EXTERNALS
ERRTL
EPM
S I ERRM
SIBMSG

PHYSiCAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS

2.

A0 16 = 160 10 program length.
96 10 buffer for messages.
RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

. PAGE NO.

128

"aINTEO IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________________________________________________

PROGRAMNAM~ ____D_I_S_P_l_Y__
-__D_i_sp~la_y~R_o_u_t_i_n_e_s__E_n_t_r~y__P_r_og__ra_m____________________~le_v~e_I~O~6~________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
The display routines entry program routes al I requested display functions
via t\-'JO parallel jump tables, one for the self-scan (TABMIT) and one for
the CRT (TABCRT). There is only one program entry point - DISPlY. It is
core resident.

2.

DETAilED DESCRIPTION
(DISPlY). If the function requested is DlOCK go to DISP1. Otherwise save
A,Q in ATT/RQ and ATT/RQ + 1 and clear the 'page display' flag in ATT/IOADDR
(word 0 of CRtJ).
(DISP1). Set up the current return address and RTJ to ENTSR in order to save
it in the ATT exits stack. Initial ize the top of stack pointer to own
stack in CRW (CRT work area in ATT).
(DISP2). Check the display type of the device (ATT/SlOCK/10) , get the
address of the appropriate jump table, and RTJ to the requested function. On
return, check the display type and if self-scan, go to DISP3. Otherwise,
check the CRT for function lock on. If it is, exit via EXTSR. Next, check if
the function requested was DCOl, DFMT, DDOe, DFNDTY, or DEOREV and if so, the
cursor is repositioned via CONCSR and CDATA to its position before the function
was executed. Then, clear the stack in P10 area in the ATT to indicate no I/O
on terminal and return to caller via EXTSR.
(DISP3). Self-scan exit: Inhibit interrupts and check if TOPT is threaded.
If not, add it to the top of the Self-Scan thread in SST (word 5). Enable
interrupts and return to caller via EXTSR.
(DUMMY). Dummy display function: Where no subroutine exists for the required
display function control is returned to caller via EXTSR.

INTERFACE
1.

ENTRY METHOD
RTJ through a transfer vector in SST (word $AO).
I points to base address of current ATT.

2.

I NPUT PARAMETERS OR COND IT IONS
In call ing program, the next word after RTJ is the index of the desired
display function. Upon entering, a RTJ to ENTSR is made. See Display
Functions (Attach Analytical Supplements).
PAGE NO. _ _
1_2_9_

AA5641

,.,,·.nEO IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

-

PSSD

-SOFTWARE DOCUMENT

CYBERDATA

~~~~~----------~-----------------------------------

PROGRAMNAME __~D~IS~P~L~Y_-~D~i~sp~l~a~y~R~o~u~t~in~e~s~En~t~r~y~Pr~o~g~r~am~______________~L=e~v~e~1~O~6~______

3.

EXIT METHOD
Exit is via EXTSR or a direct jump to address obtained from RTNSR

4.

OUTPUT

PARAt~ETERS

OR CONDIT!ONS

N/A
ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

LOCORE
ZERO ($22)
ONEBIT ($23)
SST ($47)
CDATA ($3D)
ENTSR ($91)
EXTSR ($92)
RTNSR ($98)

b.

SST
TOPCRT (4)
TOPMT (5)
TEt~P (20)

c.

ATT
T (2)
DSP (10)
TOPT (33)
10ADDR (64)
RQ (65)

d.

TOPT
CURSRD (3 )

e.

CRW
C (1)
THREAD (2)

PAGE NO.

AA5641

130

'III'UEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A______________~______________________________________
PROGRAMNAME __~D~I~S~PL~Y~-~D~i~5~p~la~y~R~.o~u~t~i~n~es~E~n~t~r~y~P~I·o~g~r~a~m~________________~L~e~y~e~l~O~6~_______

2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
VL2CRT (CONCSR)

4.

Convert CRT address from a binary number to two 8-bit
codes in required format.

DATA AREAS USED
The display routines use the P10 area in the ATT as a work area.
TEMP area in SST.

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS

99 16
2.

=

153 10 words.

RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Dormant reentrant.

ATTACH ANALYTICAL SUPPLEMENTS
Attachment:

List of display functions

PAGE NO.

AA5641

131
... INTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R~D~A~TA~

•

PSSD

•

SOFTWARE DOCUMENT

____________~_______________________________________________

PROGRAMNAME __~D~I~S~P~LY~-~D_i_s~p~l~ay~R~o~u~t~i~n_e~s_E~n~t~r~y~P~r~o.g~ra~m~________________~L~e~v~e~1~06~_______
Display Functions:
The display function table is set up as a table of entry points which are
equivalenced to an index for the dual tables of self-scan and CRT4 Thus:
Index

Function

o

DCOl
DERR
DFMT
DMOD
DBAX
DDOC
DJOB
DRCNT
GENHDR
DBOF
DCHAR
DCAROL
DEOF
DEOREV
DBORKEY
DBSCEV
DBSCR
DSSF
DSKPR
DBSREL
DREADK
DSKUP
DSPACE
CLRALL
CLRFLD
REGEN
DllNE
SETDIS
DLOCK
DMLDS
DFNDTY
DSUP
DSPFLD
DSPDIR
DMSG

1

2

3
4
5
6
7
8
9
10
11
12

13
14
15
16
17
18
19
20
21

22

23
24
25
26
27
28
29
30
31

32
33
34

Function Description
D splay Column Number
D splay Error Code
D s p 1a y Fo.r ma t
D splay Mode
D splay Batch Number
D splay Document Number
o splay Job Name
D splay Record Number
Generate Header Line Display
o splay Beginning-Of-Field
D splay Character
o splay Character and Column Number
o splay End-Of-Field
D splay End-Of-Record Entry/Verify
D s p 1a y B0 R Key
D splay BSC Key Entry/Verify
D splay BSC Key Read Mode
D s p 1a y BSF Ke y
D splay SKP Key Read Mode
D splay BSR/REL Keys Read Mode
D splay Read Key
D splay Manual SKP/DUP
o splay Space Key Read Mode
Clear Total Display
Clear Field
Regenerate Display
Di sp 1ay Li ne
Set Display Definition Bits
D splay System Lock
D splay Multi-Level SKP/DUP
D splay Field Number and Data Type
D splay -SV- On CRT
D splay Field For Sight Verification
D splay Direct 5-Word Buffer (Address of buffer in RQ,I)

PAGE NO.

AA5641

--1..12-'1INTlO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS~C_Y_B_E_RD_A~T_A__I_M~S__________~_____________________________________________

PROGRAMNAME __~D~J~B~-~D~e~l~e~t~e~J~o~b~__________________________ ~________________________________~I~e~\I~e~1~6
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
DJB is entered by the supervisor when a job has to be deleted from the system.

2.

DETAILED DESCRIPTION
a.

DJB starts by making itself movable in the memory and checking if the
DJB command is followed by a comma. If not, an error message is
sent to the supervisor and the command is rejected~
Next, a temporary area (JOBNAM to JOBNAM+2 in ATT) is blanked and a
counter (ATEMP) is set to zero. ATEMP counts the number of input
characters in the job's name.
A loop (headed NXTCHR) reads in one character at a time and stores it
in its corresponding place (in JOBNAM) using bit 0 of ATEMP as an
indicator in which half to store the character. If EOR is encountered,
go to b). Any illegal ASCI I character in the input buffer results in an
error message and rejection of the command. After 6 characters were
read in, a test is made (through the GETCOM subroutine) to find the
End-Of-Record indicator. Not finding it (existence of more characters)
results in an error sent and rejection of the command.

b.

After the job name is filled into ATT/JOBNAM, it is passed as a
parameter to the GETLJD subroutine, with Q set to 1 to obtain the
corresponding LJD entry. If the Job does not exist (Q = 0 at exit
from GETLJD) the command is rejected and an error message is sent.
If found, the Job Index (returned in A) is stored in the relevant
word of the ATT (word 3).
The job index is passed to the SPILL subroutine together with an
indication for checking the job activity. If SPILL returns a nonzero
value in A CABT for that job still active), an error message is printed
and the command is rej ec ted. If not, a ca 11 is made to the GETLJ D
subroutine, to delete the LJD entry for that job, and control is
retu rned to SV.

INTERFACE
1.

ENTRY METHOD
From DSKSUP, through ENTPRG.

2.

INPUT PARAMETERS
I

3.

= current

ATT base address.

EXIT METHOD
If any error detected, exit through REJSUP.
If no errors, return to SV.

\..

PAGE NO.

AA564t

_1_3_3_

'1INTfO IN THf USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I MS

--------------------~--------------------------------------------

PROGRAM NAME

4.

•

DJB - De 1ete Job

Leyel

6

OUTPUT PARAMETERS
I = current ATT base address (not changed) •
Corresponding entry in LJD detected (if no errors detected).

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
SST ($47)
GETCOM ($9C)
SV ($B1)
LPMASK ($2)
GETALP ($9B)
REJSUP ($B2)
SP ILL $A 1)
b. ATT
STEMP (20)
JIDX (3)
ATEMP (73)
SUPCOM (46)
c.
d.

2.

CONSTANTS
None
EXTERNALS
GETLJD,SETMOV

MACROS USED
None

3.

PROGRAM DEPENDENCIES
GET ALP
SV
GETLJD
REJSUP
SPILL
GETCOM

4.

DATA AREAS USED
SST
LJD
ATT
ABT

PAGE NO.

AA5641

134

PRINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __
C_YB_E_R_D_A_T_A__
IM_S__________~____________________________________________
PROGRAMNAME __~D~J~B~-~De~l~e~t~e~Jo~b~____________________

I eve]

6

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
53

2.

16

=

83 10

words.

RELOCATION TYPE
Loader relocatable, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reen tran t.

PAGE NO.

AA5641

135

'.,NTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
-------------------------------------------------------------------

PROGRAMNAME __~D~M~P~l____________________________________________________~L~e~ve~1~O~6~________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
The program is a supervisor function which analyzes the DMP commands and
saves the parameters for the next overlay in the communication area in the
ATT.
It searches for the current place on the tape for writing. Two different
overlays can be loaded and executed in case of different DMP parameters.

2.

DETAILED DESCRIPTION
The program gets as valid input in the interrogate buffer the following
strings:

Gj j j j j j]

DMP , J
DMP , D, n
DMP, S

[ ,m

J

[ ,m ]

~n]

DMP, F••••••••••
where:

J

stands for jobs

D stands for disk {all jobs of disk n}
S stands for statistics file
F stands for formats
jjjjjj - job name.

Default value is all jobs.

m - mode of batches.

Default value is all batches.

F - frozen batches
C - completed batches
W - written batches
n - disk number
r - delete/retain parameters.

D - delete; R - retain.

Default value is R.
means the parameter is optional
PAGE NO.

AA5641

136

'IINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYSERDATA

------------------------~----.----------------------------------------

PROGRAM NAME_---=D...:..M.:..;..P.....:..'_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Le_v_e_l_0_6_ _ _ __
The parameters of DMP,F are checked by the second overlay DMPFMT.

Note:

The first part of tne program w~ich performs the syntax analysis is locked.
Depending upon the value of the first parameter, a branch is taken to the
section which performs the specific checks for the parameters to come. If
the second parameter is J it is verified that if a job name is specified,
it corresponds to a legal job in the system. If the second parameter is D,
it is verified that the disk number corresponds to a selected disk. In both
cases it is verified that the mode of batches is one of the legal possibilities.
If the second parameter is S, the retain/delete parameter is checked. If the
second parameter is F, the second overlay (DMPFMT) is loaded and executed.
If any of the checks fails, the program exits through the common error exit
of the first part of the program. The possible errors are "invalid parameter"
for any syntax error, "invalid job name" if the job name which is specified
in the command does not exist in the system, "disk n is deselected" if this
is the situation. In the common error exit the lock of the first part is
cleared and the program exits to REJSUP.
If all the checks pass successfully, the following variables in the mag tape
communication area are assigned the following values:
DT -

o-

word
dump all jobs in system

- dump specific job
-1 - dump dis k

$FFFF - dump statistics
NO - word 2

disk number if DMP,D
job index if DMP,J, job name
SHODE - word 3
if DHP,S:
ASCI I value of D if DMP,S,D
ASCI I value of R if DMP,S,R

o -

no retain/delete parameter was specified

PAGE

AA5641

NO.

137

'IINTED IN 'HE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~BE~R~D~A~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________~_____________________________________

PROGRAMNAME __~D~MP~l__________________________________________________~L~e~v~e~l~O~6______~_
if DMP,J or DMP,D:

'w
bit 0 -

1-Dump

frozen batches

bit 1 -

l-Dump

completed batches

bit 2 -

l-Dump

written batches

o

C

F

Dump all batches

In the second part, the input tape is checked to have valid structure for
DMP operation, and the free section for writing is searched. A val id tape
for DMP operation can be a new tape with the tape label EODl preceded by
a tape mark or a tape which was written previously by a DMP operation.
The fol lowing structures are val id:
16 words
iEODlbbbbbbbbbbbbbbbbbbbb
16 words
IDMPB

IDMPS

I ...... @

IDMPB
if the command was DMP,J

@

I· .. ...
IDMPS
if the command was DMP,S

,....... ~ ~
J. · · · · · ·

CW ~

TM means tape mark. The alphanumeric characters mean their ASCI I values.
The tapes should be written in binary. All the labels are 16 words long.
All other tapes are rejected.
The checks are made as follows: If the tape is positioned by previous
DMP operation rewind of the tape should be avoided. The tape is backspaced two records and a check is made to see if both were tape ma rks. If
so, a file is backspaced and a record advanced to position the tape before
the label of the last DMP operation. If the label is a val id dump header,
the file number in the mag tape communication area is updated with the correspond i ng va 1ue in the header. If it is not a DMP header wh i ch ma tches the
data type which was specified in the command, the tape is rewound and a check
is made to see if it has in the beginning of a system label EODl by a tape
mark, or appropriate dump header. The tape is rejected if neither case pertains. If the tape is output of a previous dump operation, the tape is
PAGE
AA5641

NO.

138

'IINTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA

~~--------------------------------------------------------------

PAOGRAMNAME __~D~M~P_1~__________________________________________________~L~e~v~e~1~O~6__________

positioned between the two ending tape marks. The file number in the mag
tape communication area is updated to the number of the files skipped. The
terminate bit is checked every skipped file.
If it is a new tape (with system label EOD1), it is positioned at the beginning of the tape.
The tape handl ing section has 4 error exits to REJSUP.
After each tape motion request, the status is checked. If "end of tape" or
"tape I/O error" were encountered during the motion request, exit is taken to
REJSUP with an appropriate error code. If tape I/O error was encountered while
reading the headers or if the tape did not have a valid structure, exit is to
REJSUP with "wrong tape ll message error code. If the terminate bit was set
while reaching the tape, exit is to REJSUP with IIfunction terminated" message
error code.
In the normal exit, the program releases itself and loads the next overlay
DMP2.
I tJTERFACE
1.

ENTRY METHOD
The DMPl program is loaded and executed via ENTPRG by the disk resident
portion of SUPER, DSKSUP.

2.

I NPUT PARAMETER OR COND IT IONS
DMP command string in the interrogate buffer.

3.

EX IT METHOD
a.

No rma 1 Ex it.
1)

2)

If the command string begins with DMP,F the DMPFMT overlay is loaded
and executed via ENTPRG.
CLR

A

LDQ

=N$0810

RT J -

(ENTPRG)

load and execute 16 1 th miscel laneous program

In all other cases if the syntax analysis and the tape analysis pass
successfully, the DMP2 overlay is loaded and executed via ENTPRG.

PAGE NO.

AA5641

139

'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R=DA~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________~_____________________________________

PROGRAMNAME __~D~M~P~l____________________________________________________=L~ev~e~1~O~6~_______
b.

Error Exi t.
Error exit is via REJSUP with appropriate error message code in A register.
JMP-

4.

(REJ SU p)

OUTPUT PARAMETERS OR CONDITIONS
Normal exits:
a.

The parameters for the DMPFMT overlay in the command string in the
interrogate buffer.

b.

Parameters for DMP2 overlay:
Mag Tape Communication Area (MTCA) in ATT

o-

DT - word 1 - dump type.

dump all jobs

- dump specific job
-1- dump disk

$FFFF - dump statistics
r~o

- word 2
disk number

if DT

= -1

job index

if DT

=

BMODE - word 3
if DT

= $FFFF

ASC II value of R or D
Binary zero
i f DT = 0, 1 ,- 1

bit 0

=

-

dump frozen batches

bit

=

-

dump completed batches

bit 2

=

-

dump written batches

Binary zero - dump all batches
PAGE

AA5641

NO.

140

'RINHO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

__________________________________________________

DOCUMENTCLASS~C_Y_B_E_RD~A~T_A

PROGRAMNAME __~D~MP~l~______________________________________________~L~e~v~e~l~O~6~_______
FILEN

-

word 4 - file number

Number of tape marks until the point at which the tape is positioned.
Error exit:
Possible error codes:
3 -

i nval id parameter

a -

inva 1 id job name

65+n - disk n is deselected

58 -

tape I/O error

59 -

end of tape

70 -

wrong tape

39 -

function termi nated

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a.

b.

c.

LOCORE
LPMASK

(2)

NZERO

($12)

ZERO

($22)

ONEBIT

($23 )

ZROBIT

($33)

SST
SST

($47)

TEMPl

(20)

TEMP2

(21)

EST
DSKST

(29)

PAGE
AA5641

NO.

141
'RINTfO IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~BE~R~D~A~TA~

•

PSSD

•

SOFTWARE DOCUMENT

__________~________________________~_________________

PROGRAMNAME __~DM~P~l____________________________________________~L~e~y~e~1~O~6~______
d.

ATT
TRMi'JT

(23)

IR8

(27)

MTCA

(46) - mag tape communication area

ATEMP

e.

f.

DT

(MTCA) - dump type

NO

(MTCA+l) - disk number or job index

BMODE

(MTCA+2) - batch mode or retain/delete parameter

FILEN

(MTCA+3) - file number

TRANSFER VECTOR
ENTSR

($91)

EXTSR

($92)

ENTPRG

($9E)

EXDFUN

($9F)

SUPRW

($97)

GETBIN

($99)

GETALP

($98)

TAPIO

($9A)

GETCOM

($9C)

REJ SUP

( $82)

WAIT

($80)

GENERAL EQUATES
FR (2)
FW (3)
MO (4 )

- tape motion request
PAGE NO.

AA5641

142
'IINTEO IN

tH~

us.

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_y_B_ER_D_A_T_A____________________________________________________
PROGRAM NAME

DMPl

Leve 1 06
binary read

BR (8 )
J

($4A)

D ($44)
S ($53)
R ($52)
AS CI I va lues
A ($41)
F ($46)
C ($43)
W ($57)
2.

MACROS USED
None.

3.

' ..

PROGRAM DEPENDENCIES AND ROUTINES USED VIA TRANSFER VECTOR
ENTSR
EXTSR
ENEXSR
SETMOV

enable program1s moving

WAIT

used if syntax analysis section part is locked

GETLJD

used to get the job index of the job specified in the command

PIO

TAPIO

- used for motion and read requests

SUPRW
ENTPRG

- used to load next overlays

EXDFUi~

- releases the prog ram

GET ALP

- used for syntax analysis

GETCOM

- used for syntax analysis

GETBIN

- used for syntax analysis

REJSUP

- used incase of error exit

ENTPRG

SCANV

SUPER

PAGE NO.

AA564t

143

'1INTfO IN 'HI

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A____________________________________________________________
PROGRAMNAME __~D~M~P~l________________________________________________~L~ev~e~l~O~6________

4.

DATA AREAS AND TABLES USED
SST
ATT - MTCA (Mag Tape Communication Area)
EODl
DMP header - see Appendix A of DMP2
IRB - interrogate buffer

PHYSICAL CHARACTERISTICS
1.

PROGRAM LENGTH
lS4

2.

16

words.

RESIDENCE TYPE
Disk resident.

3.

RELOCATION TYPE
Run anywhere, movable.

4.

REEANTRANCY
Reentrant, partially locked.

PAGE NO.

AA5641

144

PRINTIO IN THE US ...

CONTROL DATA CORPORATION

/DOCUMENTCLASS~C~Y~B=E~R=DA~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

__________________________________________________

PROGRAMNAME __-=D~M~P=2____________________________________________________~Le~v~e~1~O~6~_______
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
The program dumps the statistics file or batches as requested in the DMP
command. The output tape is positioned on the point from which writing
should begin. Informatory messages are printed.

2.

DETAILED DESCRIPTION
The program is the second overlay of DMP1. It is responsible for handling
the dump operation of the statistics file and batches. The dump type and
other parameters are transferred to the program in the magnetic tape
communication area.
The program is constructed from two separate sections. One deals with the
statistics file and the other with batches. The section dealing with the
statistics file is locked. For both purposes a buffer is allocated for the
dump operation. The statistics file dumping needs a core buffer of 1 sector
(96 words) length. The batches dumping needs a buffer 4 sectors long (an
equate in the program) plus 91 words for the TKT (Tracks Table). The buffer
is connected to the TRB backwards pointer. If there is no core available
for the buffer, the program exits to REJSUP with "memory full" message error
code. A message informing the supervisor from whose station the file dump
is being performed, is printed.
The statistics file dumping proceeds as follows:
If number of records in the statistic file (in EST) equals zero, an inf'ormatory
message is printed and the program exits through the error exit. If the file
is not empty, DMP header is written on the tape (see Appendix A).
The statistics file is read sector after sector (via internal subroutine READ),
to the core buffer and every sector is searched to see if end of statistic
file mark (binary zero in the first word of a statistic record) is present.
If not, the whole sector (6 statistics records) is written to the tape.
Otherwise, the empty records are padded with $FFFF, and the whole sector
is written to the tape. If end mark was encountered or if the last sector
of the statistic file was written (its address is found in the EST), 2 tape
marks are written to the tape and the tape is rewound and unloaded.
If the delete option was specified or if the last sector was full, the request
priority is increased by 1 and an end of statistics file (binary zero) is
written in the beginning of the statistics file. If the number of records
specified in the EST exceeds the number of records unt1l the end of the mark,
the tape is positioned 3 records back (2 tape marks and 1 sector), the last
sector is read again to the core buffer and the process continues as before.
PAGE NO.

AA5641

145

'.INno IN THf USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________~______________________________________

---PROGRAMNAME __~D~M~P~2~__________________________________________________~L~e~Ywe~1~Q~6~________
The statistics fi le handling section has a common error exit with the batch
handl ing section. Possible error messages are "end of tape" and "tape I/O
errorll. Errors are detected by CHECKl subroutine, called after every tape
request. Before writing to the tape is performed, the terminate bit is
checked (in the internal subroutine TERMIN), and IIfunction terminated" is
printed if the bit is set. The messages are printed via PRTMSG. In the
common error exit the tape is positioned before the actual file. The lock
is cleared and th-e TRB is released (via internal subroutine RELEASE), and
the program exits via REJSUP. Normal exit is to SV after clearing the
lock and releasing the TRB (via RELEASE).
The batches dumping proceeds as follows:
If all the batches of all jobs or all the batches of a certain disk should
be dumped, the LJD is searched from beginning to end. The job entry is
looked for through GETLJD with job indices running from 1 to 255. If an
index is missing, the procedure continues with its successor. If only the
batches of a certain job should be dumped, this job is looked for through
GETLJD. Its job index is transferred to this overlay via the mag· tape
communication area. The batches of each job are checked. The ABT entries
of the batches with numbers running from 1 to 999 are brought through SPILL.
If a number is missing the procedure continues with the closest existing
successor (returned by SPILL).
For every batch a check is done to find a match to the mode of batches
specified in the command. If no mode was specified all inactive batches are
dumped. If the command was DMP,D (DT = -1) a check is made to see if the
disk number on which the batch resides is equal to the disk number which was
specified in the command. If the command was DMP,J (DT = 0,1) a check is
made if the disk on which the batch was written is selected. If the disk
is deselected a message informing the supervisor that the batch is rejected
is printed and the procedure continues with the next batch. If the batch is
in maintenance mode an informatory message is printed, and the procedure
continues with the next batch. Before a batch is dumped it Is assigned to
maintenance mode. Every batch is dumped as a file. An informatory message
with the job name and the batch number Is printed.
The file number in MTCA is increased by 1 and the DMP header is written
to tape. The tracks table Is read (via READ routine) to the beginning of
core buffer. The table is scanned. Every track is read (via READ) 4 sectors
(an equate in the program) at a time to the core buffer after the tracks
table, and the 4 sectors are written to the tape. When a zero entry in the
tracks table is encountered, 2 tape marks are written to the tape and the

PAGE NO.

AA5641

146

'RINTED IN THE USA

"

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________~__.__~_________________________________

PROGRAMNAME __~D~M~P~2________________________________________~L~~~e~1~0~6~________________
tape is positioned after the first one. The batchls mode is changed from the
maintenance mode to its original mode. If another batch is dumped, it
overwrites the second tape mark. If all the batches specified in the command
were dumped, the tape is advanced one record and is positioned after the
second tape mark. The TRS is released (via RELEASE subroutine) and the
program exits to SV.
Errors which abort the dump operation are errors connected with tape I/O.
After every I/O operation the tape is checked (via CHECK2 routine). If end
of tape was encountered the batch is assigned at its original mode.
The tape is positioned before the last tape mark, (the last file is backspaced).
An end of volume label (see Appendix A) is written to the tape. The message
lIend of tape - mount new tape and type CUll is printed, and the program reads
to the interrogate buffer the answer of the supervisor. If it is no "CU II
the program loops, prints the message and waits for the appropriate answer.
If the answer is IICU II the new tape is rewound and the procedure continues.
If an I/O error was encountered, the batch is assigned its original mode.
Exit is taken through the I/O error exit in the statistics file handl ing
section. Every batch, the terminate bit is checked (via TERMIN subroutine)
and exit is done through the common error exit.
All the messages in the program which are not printed through PRTMSG, are
printed from the interrogate buffer in the internal subroutine WRITE.
INTERFACE
1.

ENTRY METHOD
The program is loaded and executed by DMP1, which is initiated by the
supervisor command DMP.

2.

LDQ

=N0809

CLR

A

RTJ-

(ENTPRG)

I NPUT PARAMETERS OR COND IT IONS
Several parameters are transferred by DMP1 in the MTCA (Mag Tape Communication
Area).

PAG E NO. --:;;;1;......:4.....;..7_

AA5641

'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R=DA~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________~__.______________________________~___________

PROGRAMNAME __~D~M~P=2___________________________________________________~L~e~y~e~1~Q~6~_______
\-Jord 1

DT - dump type
$FFFF - dump statistics file

o-

dump all batches in the system

-1 - dump dis k
1 - dump job
\~ord

2

NO i f DT = -1 , dis k numb e r
if DT = 1, job index
SMODE

Word 3

,

if DT

=

if DT

= 0,-1,1

$FFFF

0

batches mode

bit 0

=

dump frozen batches

bit

=

dump completed batches

bit 2
Word 3

ASC II D or R

dump written batches

FILEN
number of tape marks up to the point the tape is positioned at

3.

EXIT METHOD
a.

No rma 1 Ex i t
The normal exit is through SV.
JMP-

b.

(SV)

Error Exi t
Error exit is through REJSUP
JMP-

(REJSUP)

PAGE

AA5641

NO.

148

PRINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

iDOCUMENTCLASS_C_Y_B_E_R_DA_T_A______________~_____________________________________
PROGRAMNAME __~D~M~P~2__________________________________________________~L~e~v~e~1~O~6________

4.

OUTPUT PARAMETERS OR

CONDITIO~S

The dumps operation can be aborted due to several conditions:
If dump statistics:
1.

Statistics file is empty

2.

End of tape

For all dump operations:

3.

Function was terminated

4.

Tape I/O error

5.

No memory available for a buffer

The fol lowing messages are printed corresponding to the errors:
1.

STATISTICS FILE IS EMPTY

2.

END OF TAPE

3.

FUNCTION TERMINATED

4.

TAPE I/O ERROR

5.

MEMORY FULL - ENTRY

Messages 2, 3, 4 are printed via the external routine PRTMSG.
correspond to the codes 59, 39, 58.

The messages

After these errors occur, the tape is positioned before the_last erroneous
file and 2 tape marks are written to the tape.
Message 5 is printed by REJSUP. The error code is 11.
are printed during the dump operation.

Informatory messages

When the operation is started:
DUMP STARTED, F!LE nnnn
where:

nnnn is the number of the file.

PAGENO._1~

AA5641

... INTlO IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A___________________________________________________
PROGRAMNAME ____D~M_P2____________________________________________~L~e~v~e~1_O~6~___________

For every batch whose status and disk number matches the status and the disk
number specified in the command, an informatory message is printed.
If the batch is dumped:
bbb jjjjjj
If the batch is rejected:
bbb jjjjjj REJECTED; BATCH IS IN MAINTENANCE MODE
bbb jjjjjj REJECTED; DISK n IS DESELECTED
where:

bbb

-

batch number

jjjjjj

-

job name

n -

disk number

If end of tape is encountered while dumping batches, the following message
is printed:
END OF TAPE - MOUNT NEW TAPE AND TYPE CU
ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

LOCORE
LPMASK

(2)

NZERO

($12)

ZERO

($22)

ONEBIT

($23)

ZROBIT

($33)

PAGE NO.

AA5S41

150

'1INTfO IN THE USA

CONTROL DATA CORPORATION
,

/ DOCUMENT CLASS
PROGRAM NAME

•

PSSD

•

SOFTWARE DOCUMENT

_C_YB_E_R_DA_T_A_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _.-:-_ _ __
DMP2
b.

c.

Level 06

SST
SST

($47)

TEMPl

(20)

TEMP2

(21)

RPF

( 18)

-

request priority

EST
SFDA

(5)

ESSF

(6)

RCSSF

(7)

DSKST

(29)

~

d.

ATT
FTOB

(1)

JIDX

(3 )

TRB

(6)

ABTIDX

(22)

TRMNT

(23)

IRS

(27)

BATCH.

(35)

MTCA

(46)

ATEMP

(73)

PAGE NO.

AA5641

-.!.~

'1INTlO IN THE US ...

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~ER~D~A~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

__________~__________________________~_______________

PROGRAMNAME __~DM~P~2~____________________________________________~L~e~v~e~1~O~6~_______
Communication Area Equates:
DT

(MTCA)

dump type

NO

(MTCA+l )

disk no. or job index

BMODE

(MTCA+2)

batch mode

FILEN

(MTCA+3)

f i 1e number

COUNTR
NXTDA

(MTCA+4)
(MTCA+S)

NOSEC (MTCA+6)
NOTRK

sector counter
track counter

(MTCA+8)

batch number

IN

(MTCA+9)

job name

(MTCA+12)

temporary

GENERAL EQUATES
BLOCK (4)

f.

next disk address

BN

DTEMP
e.

(MTCA+7 )

statistics file records counter

batch buffer length in sectors

(2)

SUPR\~

FW

(3)

SUPRW fwrite

MO

(4)

motion request code of the tape

BW

(9)

binary wri te

D

($44)

ASC I I va 1ue

TRANSFER VECTOR
ENTSR

($31 )

EXTSR

($32)

RTNSR

($38)

SUPRW

($97)
PAGE NO.

AA5641

f read

FR

152

PRINTED IN tHE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~

PROGRAMNAME __

~D~M~P2~

•

PSSD

•

SOFTWARE DOCUMENT

____________~_____________________________________

________________________________________________

TAPIO

~le~v~e~J~Q~6

_________

($3A)

EXDFUN ($9F)
SPIL

($A 1)

REDSEC ($A?)
WRTSEC ($A8)
RELFOR ($AD)
CAM

( $CAM)

WAIT

($BO)

SV

($B 1)

REJSUP ($82)
2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES AND ROUTINES USED VIA TRANSFER VECTOR
ENTSR
EXTSR
ENEXSR

RTNSR
SETMOV
WAIT

-

used if dump statistics section is locked, or if
core is not available in this cycle.

MOVREC

PIO

SUPRW

used for printing the messages, reading the answer

TAPIO

used for tape handl ing

REDSEC

read statistics file and the batches from the disk

WRTSEC

-

write first sector of the statistics file with end
mark (binary zero) in the beginning.

PAGE NO.
AA5641

153

'.INTlO IN THf USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________~______________________________________

PROGRAMNAME __~D~M~P=2__________________________________________________~L~e~v~e~1~06~_______
CAM

allocate core buffer for dump operation
REJSUP

SUPER

SV
PRTMSG

print messages from reject messages area

GETLJD
ENTPRG

{

EXDFUN

ENTPRG
used for all ABT processing

SPILL GFCORE

{ RELFOR

used for releasing the TRB

ARITH

{DB

used for batch numbers manipulation

I3D

used for batch numbers manipulation

System externals
ADAYTO

- day of month in ASC II

AMONTO

4.

month in ASC I I

DATA AREAS AND TABLES USED
SST
ATT
SRL

statistics file

ABT
TKT

tracks table

I RB
DMP header

PAGE NO.
AA5641

154

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A____________~________________________________~_
PROGRAMNAME __~DM~P~2~_____________________________________________~L~ev~e~1~0~6________

PHYSICAL CHARACTERISTICS
1.

PROGRAM LENGTH
30C16 words.
Buffer length

2.

-

9110

96 10 410 words.

=

RESIDENCE TYPE
Disk resident.

3.

RELOCATION TYPE
Run anywhere, movable.

4.

REENTRANCY CLASSIFICATION
Reentrant, partially locked.

PAGE NO.

AA5641

'1INtED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A______________~______________________________________________
PROGRAMNAME __~D~MP~2~________________________________________________~L~e~v~e~1~o~6~_______

APPENDIX A
1•

DMP headers
a.

Statistics
DMPSMMDDFNOOOOOOOOOOO

b.

Batches
DMPBMMDDFNJJJJJJNBNFTOOOOO
where:

DN\

- ASC II value of the two letters

PS

- ASC II value of the two letters

PB

-

MM

ASC II value of the month

DD

-

ASCII value of the day of month

FN

-

binary value of the f i 1e number
job na me (i n AS CI I)

JJJJJJ
IN

-

BN
FT
2.

ASC II value of the two letters

job index (in binary)
batch number (in packed decimal)

-

first track of batch address.

End of volume label
EOV 1 •••••••••••••••••••••••••••••

where

EO

-

ASCII value of the two letters

Vl

3.

DMP operation output tape
a.

Sta tis tic
DMPSMMDDOOOl

•••••••• S. F••••••• TM

DMPSMMDD0002·

.... s. F •

TM .••• TM TM

where S.F. is the statistics file information.
PAGE NO.

AA5641

156

PRINTED IN THf USA

CONTROL DATA CORPORATION

S

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_TA
______________________________________~__________________
PROGRAMNAME ____
DM~P_2_______________________________________________L_e_v_e_l_O_6________

b.

Batches
DMPBMMDD0001JJJJJJ000100012000 ••••••••.• batch # 1 ••• TM DMPBMMDD0002JJJJJJ00010002
••••• in ba tch# 2 ••••• TM ••••••••••• TM TM

PAGE NO.

AA5641

157

,aINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~D~M~P~FM~T~________________________________________________------________
PROGRAMNAME ____~D~u~m~p~F~o~rm~a~t~Fwr~o~m~D~i~s~k~T~o~T~a~p~e---------------------------------------------

PROGRAM FUNCTION
1. ENTRY POINTS
There is only one entry point to the program (ADC - DMP-DMPHDR)
2. DETAILED DESCRIPTION
Functional Description
The entered command and format numbers are checked not to contain any input
errors. Tape is checked to be the right one. Either tape1s header or tape
mark is searched. If the latter is found, the conclusion is - new tape. If
any header is found it is then checked to be the proper one: header containing
date and last block size used. If not found, then a WRONG TAPE message is sent
to supervisor. The same message is sent when EOD1, which indicates the end of
last written data, is not found. Request is made to CAM for three buffers:
2 sectors for LFD, 34 words for building the directory to tape and up to 16
sectors for formats save - in case it is not a new tape, the formats save
buffer length is saved according to last printed on tape.
Format is checked in the LFD. If the format ~xists it is transferred from
disk to formats buffer according to format length in words. If not specified,
the next in the LFD is checked, unless otherwise requested. When one of the
buffers, either the formats buffer or the directory buffer is full, it is
transferred to tape.
In case of a new tape, suitable header is written at the beginning of the
tape. If the last format requested is already reached, buffers are transferred
to tape although they might not be full, and EODl is placed at the end of the
buffer.
/

A message is printed indicating operation is completed and the program exits
to -sv-.
INTERFACE
1. ENTRY METHOD
The supervisor enters the following command:
DMP, F {

:~~~~ ~ ~ ~ ,nnnn (2) } CR

all
where:

F
- Formats dump.
nnnn(l) - first format number to be dumped.
nnnn(2) - last format number to be dumped.
When last format number is not specified all the formats
from nnnn(l) to the highest format number in the system
will be recorded on tape.
. PAGE NO. _158
_ __

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~D~M~P~FM~T~_______________________________________________________________
PROGRAMNAME ____~D~u~m~p~F~o~r_ma~t_F~r~o~m~D~i~s~k~T~o~T~a~p~e______________________________________________

When no format number is specified - all formats in system will be
recorded on tape.
2. INPUT CONDITIONS
Requested format numbers, nnnn(l) and nnnn(2) must be positive integers (not
zero). nnnn(2) can be greater or equal to nnnn(l) last format number can be
greater or equal to the first format number. Neither nnnn(l) nor nnnn(2)
can be greater than the highest format number in the system.

3. EXIT METHODS
The program can be terminated by one of the following methods:
Error exit - if an error is detected in the input parameters, in the logic
structure of the request, or if tape is not identified as the requested one,
program exits to REJSUP with error message.
Return to caller - when no errors are detected and operation is completed,
program exits to -SV- with a completion message.

4. OUTPUT PARAMETERS
PROGRAM'S ERROR MESSAGES
a. INVALID COMMAND FORMAT - when comma does not follow commands name, or
C R is missing at the end of the command.
b. INVALID FORMAT NUMBER - when requested format numbers do not fit the
description in section 2 of INTERFACE.
c. TAPE I/O ERROR - when something is damaged in the tape operations (read,
write, advance or rewind).
d. WRONG TAPE - when tape is not identified as the requested one.
e. END OF TAPE.
f. MEMORY FULL - RETRY - when CAM fails to get the requested word-size
buffers.
g. FUNCTION TERMINATED - if MI and SX are pressed during program run time,
function is terminated.
COMPLETION MESSAGES
1. LAST FORMAT ON TAPE NNNN: when NNNN is format number.
2. NO ACTIVE FORMATS WITHIN THIS RANGE IN SYSTEM .

. PAGE NO.

159
'IINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

DOCUMENT CLASS

DMPFMT

PROGRAM NAME

Dump Format From Disk To Tape

•

SOFTWARE DOCUMENT

ASSEMBLY CHARACTERISTICS
l.

EQUATES
a. Low Core Equates
LPMASK ($2)
NZERO ($12)
ONEBIT ($23)
ZROBIT ($33)
ZERO ($22)
TEN ($46)
b. SST Equates
SST ($47)
STEMP ($5B)
EXTSST (0)
MAXFMT (24)
LFDDA (39)
GETBIN ($99)
GETALP ($9BO)
REJSUP ($B2)
SV ($B1)
CAM ($AE)
RELFOR ($AD)
WAIT ($BO)
MAXWT (100)
SUPRW ($97)
CLCDWA ($90)
WRIDWA ($AA)
REDDWA ($A9)
REDSEC ($A7)
TAPIO ($9A)
ENTSR ($91)
EXTSR ($92)
c. ATT Equates
I RB (27)
CANC (23)

. PAGE NO.

160
ralNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~D~M~P~F~MT~_______________________________________________________________
PROGRAMNAME ____~D=u=m~p~F~o~r~m=a~t~F~ro=m~D~i~s~k~To~T~a~k~e~_________________________________________

d. Communication Area Equates
SUPCOM (36), SC (SUPCOM + 10)
- first requested format no.
FMT1 (SC + 0)
last requested format no.
FMT2 (SC + 1)
last format no. on tape.
FMTN (SC + 2)
last block size used in previous dump. (in words
LSTBLK (SC + 4)
exc. HDR).
big buffer size (inc. HDR).
BUFSIZ (SC + 5)
BUFF (SC + 6)
backwards pointer of the LFDBUF.
RELLFD (SC + 7)
relative address of the LFDBUF.
backwards pointer of the Directory Buffer.
BUFDl (SC + 8)
RELDIR (SC + 9) - relative addressing of the Directory Buffer.
FMTWRD (SC + 10) - format length in words.
- backwards pointer to big buffer.
BCKP (SC + 11)
RELBIG (SC + 12) - relative addressing in big buffer.
- flag for errors, contains error code.
SAVE (SC + 13)
- any active format.
SUBF (SC + 16)
- sign for reading tape, and for a new tape.
FLAG (SC + 17)
2. MACROS USED
None.
3. PROGRAM DEPENDENCIES
Entry points
None.
External 1 ist
AYERTO
AMONTO
ADAYTO
SETMOV

- Entry in SYSDAT.
Retrieve year in ASC II.
- Entry in SYSDAT.
Retrieve month in ASC II.
- Ent ry in SYSDAT.
Retrieve day in ASC II.
- Entry in ENEXSR.
Enables moving of a disk resident program.

Routines called via transfer vector
GETBIN ($99) - Entry in SCANV.
Retrieve the formats numbers.
GETALP ($9B) - Entry in SCANV.
Retrieve the comma following command.
REJSUP ($B2) - Entry in SUPER.
Exi t when input command error occurs or when tape fails .

. PAGE NO.

161

'IINUD IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~D~M~P~F~MT~_______________________________________________________________
PROGRAMNAME ____~D~u~m~p~Fo~rm~a~t~F~r~o~m~D~i~s~k_T~o~T~a~p~e~__________________________________________

SV ($Bl)
CAM ($AE)
RELFOR ($AD)
TAPIO ($9A)
CLCDWA ($90)
REDDWA ( $A9)
REDSEC ($A7)
SUPRW ($97)
ENTSR ($91)
EXTSR ($92)
WAIT ($BO)

- Entry in SUPER.
Exit when command is accomplished.
- Entry in CAM.
Request ,core space for programs buffers.
- Entry in GFCORE.
Release the requested format.
- Entry in PIO.
Performs tape motion, read and write (from and to) specified
buffer.
- Entry in PIO.
Calculates disk word address.
- Entry in PIO.
Reads word addressing.
- Entry in PIO.
Reads sector addressing.
- Entry in PIO.
Called to read or write from or to suitable logic units.
- Entry in ENEXSR.
Saves the enter address of subroutines with I/O or delay in the
exits stack A, Q, and I are saved.
- Entry in ENEXSR.
Exit subroutine used by subroutine which entered by ENTSR,
exit to last address in the stack.
- Entry in ENEXSR.
Used to delay function for one cycle.

4. DATA AREAS AND SYSTEM TABLES USED
LFD is read into a suitable buffer in order to check which formats exist
and where.

5. INTERNAL SUBROUTINES
CHKTAP - checks tape after any tapes operation:
rewind.
Input parameters:

read, write, advance or

after coming from tapio.
Register A - contains tapes status.

BLANKS - fills the interrogate buffer with blanks from the end of message
till the end of the buffer, and writes on tape.
Input parameters:

3SGj

Register A - Blanks code.
Register Q - Serial No. of the first word to
be blank.

. PAGE NO. 162
'IINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS __

~D~M~P~F~M~T

•

PSSD

•

SOFTWARE DOCUMENT

________________________________________________________________

PROGRAMNAME ____~D~u=m=p~Fo=r~m=a~t~F~r~o=m~D~i=s~k_T~o~T~a~p~e~___________________________________________

SERCOR - requests core for the program buffers.
Input parameters:
10NOF

Register Q - No. of requested words including
header.

- sets and clears I/O bits.
Input parameters:

Register Q - Backwards pointer of the buffer.

BINASC - converts binary numbers to ASCI I characters and stores them in STEMP.
Input parameters:

Register Q - The number to be converted.
STEMP
- Place to be stored after conversion.

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS

576 locatiQns = 24016
There are 3 requests to CAM for memory spaces:
a. 35 +3 words for directory buffers.
b. 192 + 3 words for LFD.
c. Up to 1536 + 3 words for big buffer.
2. RELOCATION TYPE
Disk resident, run anywhere.

3. ENTRANCY CLASSIFICATIONS
Re-entrant, unlocked.

. PAGE NO.

163

...INTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __D_M_P_F_M_T__________________________________________________________------PAOGAAMNAME ____D_u_m~p__
Fo__rm_a_t__F_r_o_m__D_i_s_k_t_o__T_a_p_e_____________________________________________

ANALYTICAL SUPPLEMENT
Buffers structure:
1.

TAPE DIRECTORY

36 + 3 words

size:
H

D
R
Firs t format no. in the big buffer.
Last format no. in the big buffer.
First format no.
Format length
Second format no.
Format length

·

·
·

Last format no.
Format length

34

35
If there are less than 17 formats in system, zero word will signify the end
of the directory.
Last format no.
Format length

o
35

PAGE NO. _1_6_4_

AA5641

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~D~M~P~F~MT~_______________________________________________________________
PROGRAMNAME _____D_u_m~p_F_o_r_m_a_t__
F_ro_m__D_i_s_k__To__T_a~p_e___________________________________________

2. FORMATS BIG BUFFER up to 1536 words
H
0

R
Format copied from
Disk/second format
copied, etc.

1536

3. TAPE S HEADER
I

DMPF
'-

.

MMDDYY

where: MM
DO
YY
XXXX

-

XXXX
month no.
day
year
Big buffers size used for current dump (i n words).

4. END OF DATA
XXXX
where: NNNN - last format no.
XXXX - Big buffers size used for last dump (i n words).
EODl

NNNN

. PAGE NO.

165

"tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_BE_R_D_A_T_A__IM_S__________~______________________________________________

DMT - Delete Mag-Tape Format
Level 6__
PROGRAMNAME __________________________________________________________________________
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
Instruction syntax:

DMT,nnn

nnn is the Mag-Tape Format number to be deleted.
Entered by the supervisor when that Format is obsolete.
2.

DETAILED DESCRIPTION
As all supervisor functions, DMT starts by making itself movable (through
the SETM~V routine). Then, if no comma is found following 'DMT', an error
is sent and the command rejected. Also, if nnn is illegal (nonnumeric),
missing, or not between the allowed limits (1 to 255), the command is
rejected.
If nnn is legal, word 3 of MTFBUF is cleared (marking the format as inactive).
Both the disk address and the core address of that format table are
calculated and then the (inactive) Mag-Tape Format is written in its
corresponding place on the disk, by the WRTDWA routine.', Control is then
returned to SV.

INTERFACE
1.

ENTRY METHOD
DMT is called by DSKSUP through ENTPRG.

2.

INPUT PARAMETERS
(I)

3.

4.

= base

address of ATT.

EXIT METHOD
If any errors detected, exit to REJSUP.

Else exit to SV.

OUTPUT PARAMETERS
Corresponding format on disk deactivated.

PAGE NO.

AA5641

166

'tiNTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_YB_E_R_D_AT_A__I_M_S________~___________________________________________
PROGRAMNAME ___D_M_T__
-_D_e_l_e_te__M_a~g-_T_a~p_e_F_o_r_m_at___________________________________L_e_v_e_l_6_

ASSEMBLY CHARACTERISTICS
1 • EQUATES
a. LOCORE
LPMASK (2)
NZERO ($12)
ONEBIT ($23)
ZROB IT ($33)
ZERO ($22)
SST ($47)
b. SST EQUATES
STEMP (20)
EXTSST (0)
MTFADD (42)
SUBCOM (36)
HTFBUF (46)
MTFN (52)
c. TRANSFER VECTOR
GETBIN ($99)
GETALP ($9B)
REJSUP ($B2)
SV ($B1)
CLCD\~A ($90)
REDDWA ($A9)
WRTDWA ($AA)
d. EXTERNALS
SETMOV

I

"-....

2.

DATA AREAS USED
ATT
SST
EST
Interrogate buffer

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
2A
= 42 10 words.
16
2. RELOCATION TYPE
Loader relocatable, run anywhere.
3.

REENTRANCY CLASSIFICATION
Reentrant.
PAGE NO.

AA5641

167

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS _____C_Y_B_E_RD_A_T_A__________~_______________________________________________
PROGRAMNAME ______~D~M~Y~F~MT~-~D~u~m~m~y~P~r~o~g~ra~m~f~o~r~M~a~g_-~Ta~p~e~U~s~e~r~R~o~u~t.i~ne~s'-______~L=ev~e~1~O~6~_______

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
This function is called if a nonexistent mag. tape Own Code, Label
routine, or conversion routine is invoked. It points an appropriate
message, and returns to the error entry point of MATER.

2.

DETAILED DESCRIPTION
The program checks whether the routine was invoked because of an
undefined labelling routine, or a nonexistent Own Code. If JIDX is
nonzero, MTFEXT indicates return to MTFMON, and MTFENT is -1, pprint
"INVALID MAG. TAPE OCD NO." Else print "INVALID TAPE LABEL NOli. Release
the program via EXDFUN, and exit to the fourth entry point of MATER
(via ENTPRG).

INTERFACE
1.

ENTRY METHOD
Invoked by ENTPRG when an undefined magnetic tape support routine
is called. It needs four entry points defined, since a label routine
has four entry points.

2.

I NPUT PARAMETERS
The Supervisor Communication Area contains the information placed there
by MATER or MTFMON.

3.

EXIT METHOD
Exit to the error exit of MATER via the following code:

4.

EQU

MATER ($dOS)

LDQ

=

ENA

3

RT J -

(EI~TP RG)

XMATER

OUTPUT PARAMETERS
A message is printed on the supervisor list unit.

PAGE NO. Jb8

AA5641

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ______C_y_BE_R_D_A_TA________~__________________________________
PROGRAMNAME ______~D~M~Y~F~MT~-~Du~m~m~y~Pr~o~g~r~am~f~o~r~M~a~g~-~Ta~D~e~Us~e~r~Ro~u~t~i~n~es~__~L~e~y~e~1~Q~6~______

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

b.

c.

2.

ATT
JIDX

(3)

MTFENT

(46)

MTFEXT

(47)

TRAi~SFER

VECTOR

SUPRW

($97)

ENTPRG

($9 E)

EXDFUN

($9F)

GENERAL
FW

(3)

MTFMON

($080F)

MATER

($0805)

MACROS
None

3.

PROGRAM DEPENDENCIES
SUPRW
EXDFUN
ENTPRG

4.

EXTERNALS
None

PAGE NO.

AA5641

169

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ____
CY_B_E_R_D_A_T_A__________~______________________________________
PROGRAMNAME ____~D~M~Y~F~M~T__
-~D~u~m~m~y~Pr~o~g~r~a~m~fo~r~M~a~g_-~Ta~p~e~U~s~e~r~R~o~u~t~i~n~e~s____________~L~e~v~e~1~0~6__
PHYSICAL CHARACTERISTICS
1.

ME~10RY

SPACE REQU I REMENTS

3A,6 = 58 '0 program length.
2.

RELOCATIOI~

TYPE

Dis k res i dent, run anywhere.

3.

ENTRAtJCY CLASS I F I CAT I ON

Reentrant.

PAGE NO. 170

AA5641

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ________C_Y_8_E_RD_A_T_A________~____________________________________
PROGRAMNAME __________~D~MY~IN~T__--=Du~m~m~y~l~n~t~e~rr~o=g~a~t~e_F~u~n~c~t~i~o~n______________~Le~y~e~]~O~6_________

PROGRAM FUNCTION
1.

DESCRIPTIOrJ
This program is called when a valid interrogate function is unpatched. The
routine sets ATT/SW1/8 (Regen needed with RESET), and exits to ERROR with
Q = $18 (Illegal Request).

INTERFACE
1.

ENTRY METHOD
Invoked by ENTPRG if an interrogate function disk address is set at $7FFF,
at its only entry point DISTRT.

2.

I NPUT PARAMETERS
I < current ATT base address

3.

EXIT METHOD
To ERRO R wit h

1,"-.

4.

Q =

$ 18

OUTPUT PARAMETERS
ATT/SW1/8 = 1
I = current ATT base address

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a.

b.

LOCORE
ONEBIT

($23)

ZROBIT

( $33)

ATT
SWl

c.

( 19)

TRANSFER VECTOR
ERROR

($96)

PAGE NO.

AA5641

171

'IINTEO IN THE US"

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS _________C_Y_B_E~R~DA~T~A~___________________________________________________
PROGRAMNAME ____________
D_MY__
IN_T__-__Du_m_m_y__l_n_te_r_r_o_9_a_t_e_F_u_n_c_t_i_o_n_______________
Le_v_e_l__O_6________

d.

GENERAL
E1

2.

($18)

t1ACROS
None

3.

PROGRAM DEPENDENCIES
None

4.

EXTERNALS
None

PHYSICAL CHARACTERISTICS
1.

HEMORY SPACE REQUIREMENTS
B = 11
program length.
16
10

2.

LOCATION TYPE
Disk resident, run anywhere.

3.

ENTRAi~CY

CLASS IF ICAT ION

Dormant reentrant.

PAGE NO.

AA5641

172

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__IM_S__________~______________________________________________
PROGRAMNAME ____D_O_C__________________________________- ____________________________L_e_v_e_1__
6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
Called by DOC key to check the validity of the key and to get 3 characters
If DOC key is illegal, exit to error. If the number is not 1-255 exit to
error also. Also use to advance to next document in READ mode.

2.

DETAILED DESCRIPTION
DOC first calls SETMOV to clear the program header I/O bit. If mode is not
Entry and at beginning of record, or Read, exit to error: Illegal Function
Key. In case of Entry mode: set data type (ATT 13) to upper; jump to
'DISPLAY' subroutine which displays 'D' character to signify that the following
digits are DOC number.
Get DOC number via GETSTR and store at the ATT. If CANCEL was entered,
clear the first data line of the display, regenerate the parameters for
the AID 1 ine, and exit via CLRSR. If an overflow condition occurred, or
a number larger than 255 was entered, clear all format and document pointers,
turn .on SW1B10 and SW1B3, clear the document and format number displays,
and exit to error (D3). If the number entered is val id, release this part
of the program by 'EXDFUN' and enter the second part of REDOC by 'ENTPRG'.
In READ mode: Clear flag word, if current record not written already,
write the record on disk. If the basic mode is Verify check for End of Data
through the bit in the TRB header; in Entry check for end of entered data.
If end of data, set flag (ATEMP+4) to FFFF in VERIFY, and to 0 in ENTRY.
If not end of Read (Entry) data and not one before, increment number of
records in Read (RCDRD) and read the next record. If not the first in DOC.
check if the format number of this record is different from the format
number in ATT. If different, jump to subroutine 'GFCORE' (Get Format),
set parameters to beginning of record and exit according flag. If flag
positive, jump to 'DISPLAY' subroutine and exit via 'CLRSR' or 'ERROR'.
If flag negative, jump to subroutine 'EXDFUN' and then exit via 'SETNFM'.

INTERFACE
1.

ENTRY METHOD
DOC is loaded via ENTPRG when the operator hits the DOC key.

2.

INPUT PARAMETERS OR CONDITIONS
I = current ATT base address.
In the case of DOC SEL the input parameters are 1 up to 3 decimal digit 1-255.

(

"--

PAGE NO. 173

AA5641

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
PROGRAMNAME ____
D_OC________________________________________________________Le_v_e_l__
6
DOCUMENT CLASS

3.

EXIT METHOD
JMP - (ERROR) When error occurs, except if in READ or VERIFY.
JMP' - (CLRSR) After execution of function.
JMP+
SETNFM When end of data in Verify is reached during the Search.

4.

OUTPUT PARAMETERS OR CONDITIONS
None.

ASSEMBLY CHARACTERISTICS
1• EQUATES
a. LOCORE
SST ($47)
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
b. SST
STEMP (20)
CFFA (12)
READN ($A6)
DISPLY ($AO)
GFCORE ($9D)
REWRIT ($A4)
RELFOR ($AD)
ERROR ($96)
DISP ($AO)
GETSTR ($A2)
CLRSR ($93)
EXDFUN ($9F)
ENTPRG ($9E)
GETBIN ($99)
c. ATT
BRCNT (15)
'RFA (14)
FMTNO (13)
BMOD (15)
RCDRD ($31)
RCD ($32)

PAGE NO.

AA5641

174

P'RINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__IM_S__________~____________________________________________
PROGRAMNAME ____
D_OC____________________________________----------------------~L~ev~e~1~6

CFFA (12)
ATRB (6)
PFBA (7)
FCNT (3)
CURDA (9)
RCNT (4)
DT (13)
CURCH (2)
AI NT (27)
DOCNO (17)
ATEHP (73)
S\~ 1

d.

(19)

ERROR CODES
ERRB2 (7)
CA4 (4)
CD3 ($7)

2.

END OF DATA
ILLEGAL FUNCTION KEY
INVALID NUMBER

MACROS US ED
None

3.

PROGRAM DEPENDENCIES
ENEXSR

-

ENTPRG

-

GSE
PIO

~

GFCORE

-

SCANV
EORENT EMM
DISPLAY -

(SETMOV - clear the program header I/O bit)
(CLRSR - clear exit subroutine)
Enter A Disk Resident Program
(EXDFUN - exit Disk Resident Program)
(ERROR - Display error at terminal)
(READN - Read next record)
(REWRIT - Write current record)
(GETSTR - Get string of characters)
(SETNFM - Set format motion bit 22 SW1)
Get format
(RELFOR - Release FBA or TRB area)
(GETBIN - Get the number in binary from input string)
(FIRSTF - Set up tutorial parameters)
(STTYPE - Set up data type in ATT)
Handle display output
(CLRFLD - Clear field number display)
(DCHAR - Display 0 character)
(DBOF - Display data type char. as before)
(DFNDTY - Display data type cha~ upper U)
(REGEN (DDOC - Clear doc. display)
(DFMT - Clear format display)

PAGE NO. 175

AA5641

... INTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~RD~A~T~A~IM~S~

•

PSSD

•

SOFTWARE DOCUMENT

________~____________________________________________

PROGRAMNAME ____DO_C___________________________________________________________Le_v_e_1__
6
PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
AA 16 = 170 words.
2.

RELOCATION TYPE
Run anywhere, disk resident.

3.

REENTRANCY CLASSIFICATION
Reentrant.

PAGE

AA5641

NO.

176

'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~I~M=S

•

PSSD

•

SOFTWARE DOCUMENT

_________________________________________________________

PROGRAMNAME __~D~O~C~B~C~K~-~D~o~c~u~m~e~nt~B~a~c~k~________________________------------______________________~L~e~y~e~1~6
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
Routine to process DOCBCK key in Read mode.

2.

DETAILED DESCRIPTION
DOCBCK first calls SETMOV to clear the program header I/O bit. Next it
checks if Read mode. If not, illegal function error is generated. In
case of Read mode reset flag (ATEMP+4). Then the program checks if it
is the first record in batch. If beginning of batch set flag = FFFF. If
not check SW1. If Bit 13=1 calls (REWRITE) to write the last record on
disk, and resets bit 13. Since bit 13=0 reads the previous record from
disk and decrements 1 from number of records in Read mode. The program
loops backwards through the records looking for first in document. In
case of first record in document the program checks if 'format number I in
the ATT = 'format number' in TRB. If not 'GFCORE ' is called to get new
format, and then reset number of characters in field, number of characters
in record. Relative FMT field address = 4. Add 4 to base address of
format number and store in SST (current format field address). Store new
data type in the ATT (STTYPE). Perform display and exit according to the
flag situation:

"

-.-

FLAG ~ 0 out vi a CLRSR
FLAG < 0 ou t v i a error wi th the message
B1 (Beginning of Data).
INTERFACE
1•

ENTRY METHOD
DOCBCK:

2.

-1--

is loaded via ENTPRG when the operator bits QQ£.
Execution begins at the only entry point DOCBCK.

EXIT METHOD
JMP - (ERROR) - When not in Read mode or beginning of data.
JMP - (CLRSR) - When function terminates normally.

3.

OUTPUT PARAMETERS
None.

PAGE

AA5641

NO.

_1_7_7_

'RINTfO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_YB_E_R_D_AT_A__I_MS________~__________________________________________
PROGRAMNAME ___D~O~C~B~CK~-~Do~c~u~m~en~t~Ba~c~k~____________________________________~L~ey~e~1~6

ASSEMBLY CHARACTERISTICS
1 • EQUATES
a. LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROB IT ($33)
SST ($47)
b. SST
CFFA (12)
REWRITE ($A4)
GFCORE ($9D)
READP ($AS)
DISPLAY ($AO)
ERROR ($96)
CLRSR ($93)
c. ATT
CMODE (2)
FCNT (3)
RCNT (4)
ATRB (6)
PFBA (7)
SW1 (19)
FMTNO (13)
RFA (14)
ATEMP (73)
RCDRD (31)
2.

ERROR CODE
B1 = Beginning of data.
B4 = Illegal Function key.

3.

MACROS USED
None.

PAGE NO.

AA5641

178

'RINTfO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__I_M_S_________________________________________________________
PROGRAM NAME _ _
DO_CBCK - Document Back

4.

Level 6

PROGRAM DEPENDENCIES
PIO

- (REWRIT - Write record on disk)
(READP - Read previous record)
GFCORE - Get-Format
DISPLAY - Handle display output
(DBSREL GSE
- (ERROR - Display error at Terminal)
ENEXSR - (CLRSR - clears the exits stake Terminal bit, Function
Lock and release Disk function, INTERROGATE Buffer)
(SETMOV - clears the program header I/O bit)
EMM
- (STTYPE - set up data type in ATT)
PHYSICAL CHARATERISTICS
1•

LENGTH
3E16 = 62

I

~

words.

2.

RELOCATION TYPE
Run anywhere, disk resident.

3.

ENTRANCY CLASSIFICATION
Reen t rant.

PAGE NO.

AA5641

179

'IINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I MS
DPR - Delete User's Program
Level __
6
PROGRAMNAME _________________________________________________________________________________
DOCUMENT CLASS

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
DPR is a supervisor function to delete from the disk a user written data
check own code program or a user written magnetic tape program of which
there are three types: own code, tape label, and code conversion.

2.

DETAILED DESCRIPTION
DPR receives control from DSKSUP after storing the DPR command in the
interrogate buffer. After calling SETMOV to enable itself to be moved,
DPR scans and checks the command for syntax errors. It stores the 1st
parameter (program number or directory index) in ATT/$2E in the case of
an own code (2nd parameter 0), it checks the own code number to be not
greater than maximum own code number in EST/4/8-15. In the case of a
magnet i c tape program (2nd parameter T) it checks that the program number
is within the maximum for the type specified. It should be noted here
that the area of the PRD reserved for mag-tapes entries is divided into
3 sections. Words 0-31 are reserved for mag-tape own codes words 32-63
for tape label routines and words 64-68 for code conversion prog~ams.
In cases of error DPR jumps to REJSUP with the appropriate error code
in A. During this initial phase DPR calculates the ordinal of the
entry in the PRD depending on the parameters and stores it in ATT/$2E
Subroutine CORBIT is cal led to locate the corresponding status bit in
the PRD control block (words 8 onwards of PRD).
If the program is currently not in core a check (status bit = 0) is made to
see if the PRD entry equals 7FFF, indicating an invalid PRD address, and
if so DPR jumps to REJSUP with A = 13. If the PRD entry is valid
(i .e., :f 7FFF) it and the corresponding entry in t he disk core image
are deleted by setting them to 7FFF.
If the program is in core (status bit = 1) then the core address in the
PRD entry is used to get the user count from word 2 of the program header.
If the user count is nonzero, the program busy error is indicated via a
jump to REJSUP. If user count is zero the status bit in PRD control block
is cleared and PRO entry in core and in the disk core image are deleted
by setting them to 7FFF. Exit is to SV.

SUBROUTINE CORBIT (locate status bit in PRD control block)
CORBIT subtracts the distance to the miscellaneous entries (PRD/O) from the
ordinal in the PRO plus one (ordinal is in ATT/2E) to get the bit position
in the PRD control block.
Dividing by 16 gives the word and the bit position in this word of the status
bit corresponding to the PRD entry. CORBIT returns with A = word in PRD
control block and Q = bit position in this word.

PAGE NO.

AA5641

180

'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~RD~A~T~A~I~M~S

•

PSSD

•

SOFTWARE DOCUMENT

_________________________________________________________

DPR - Delete User1s Program
Level _6PROGRAMNAME ______________________________________________________________________
INTERFACE
1•

ENTRY METHOD
DPR is a disk resident program which is called via ENTPRG.

2.

INPUT PARAMETERS
DPR command as entered by supervisor is stored in IRB buffer attached to
superv i sor ATT. I = cu rrent ATT address.

3.

4.

EXIT METHOD
Error exit by jump to REJSUP with A appropriate error code.
by jump to SV.

Normal exit

OUTPUT PARAMETERS OR CONDITIONS
On normal exit the PRD entry and its corresponding entry in the core image
on disk are set to 7FFF and the corresponding status bit in the PRD control
block is cleared.

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

~-

LOCORE
LPMASK (2)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)

b.

SST
PRD (3)
STEMP (20)
CLCDWA ($90)
GETBIN ($99)
GETALP ($9B)
GETCOM ($9C)
WRTDWA ($AA)
SV ($B1)
REJSUP ($B2)

c.

EST
PRDDA (10)

d.

ATT (SCA)
ATEMP (73)
DIRIDX (46)

PAGE NO. 181

'-

AA5641

,tINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__I_M_S__________~_____________________________________________
PROGRAMNAME ____D_P~R_-_ _D~e~l~e~t_e_U_s~e~r_'~s~P~r~o~g~ra~m~_______________________________________~L~e~v;e~1_6~

e.

CONSTANT ALPHA CHARACTERS
C ($43)
L ($4C)
o ($4F)
T ($54)

2.

PROGRAM DEPENDENCIES
PIO
SCANV
SUPER
ENEXSR

3.

CLCDWA
WRTDWA
GETBIN
GETALP
GETCOM
REJSUP
SV
SETMOV

Calculate disk word address
Write disk word address
Get characters up to comma and convert to binary.
Get next alpha character from input string
Get comma, EOR, or nonspace character from input string.
Supervisor reject procedure
Supervisor command processor
Enable disk resident program to move

DATA AREAS USED
ATT
SCA
PRD

Active terminal
Supervisor communication area
Program directory

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
7B'6 = 123'0

2.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

182

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

___________________________________________________________

DOCUMENTCLASS~C~Y~B_E_R~DA~T_A~I_M~S

DRC - Display Records in a Packed Format
Level __
6
PROGRAMNAME _____________________________________________________________________________
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
DRC is an interrogate function called in read mode that displays data on
the 970-480 keystation starting with the current field, in a packed fermat:
Fields are separated by inverse blanks (error - flagged fields are prededed
by an inverse asterisk). A new record is begun on a new 1 ine.
The 8 data 1 ines are filled; a CANCEL or CONTINUE key is not required.
CANCEL regenerates the normal display at the last field reached in the
packed format. CONTINUE results in another full screen of display. If
CONTINUE is pressed at end-of-data, the normal display is regenerated and
a B2 (end-of-data) error is displayed. Display is performed by using the
DSPDIR call, which allows sending a 5-word call to the CDATA CRT display
module from outside the display driver routines.

2.

DETAILED DESCRIPTION
DRC: SETMOV is called to allow the program to be moved by MMM. SST + STEMP
is set to 3 to point to the third (counting from zero) position in the IRB.
GETCOM is called to check for end-of-record; the DRC request has no parameters.
If, on return Q is positive, indicating end-of-record was not detected,
control goes to ERRE1.
ATT/CHOD/8, 12, 13 are checked to be zero (read mode and not pseudo-entry
and not pseudo-verify). If so, control goes to OKMODE.
a.

ERRE1:
ATT/SW1/8 is set to 1 (regen required) and the program exits
to ERROR, with Q=code for El (inval id request).

b.

OKMODE:
If ATT/vJord 0/10 = 0 go to ERREl (station type is self-scan)
ATT/RCNT is set to ATT/RCNT-ATT/FCNT/0-7.
(The record column count is set to the beginning of the current field.)
ATT/FCNT/0-7 is set to zero.

The display mode is changed from interrogate to data.
a.

NWSCRN:
The screen is cleared and the header regenerated. The
address of the beginning of the data area is converted to address
codes and saved in CALL. The address of CALL is determined by an
RIJ command just before CALL, which stores the address of CALL in
REFADR. The address codes are passed to the display driver with
a call to DISPLY (DSPDIR entry).

PAGE NO.

AA5641

183

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
DRC - Display Records in a Packed Format
Level __
6
PROGRAMNAME __________________________________________________________________________
DOCUMENT CLASS

b.

CHKO 1:

End-of-data is checked:

1)

Basic mode entry - If ATT/RCDRD = ATT/RCD and
ATT/BRCNT/0-11 = ATT/RCNT
then exit to ERRB2. Otherwise jump to NOTEND.

2)

Basic mode verify - If this is the first field in the last record
and ATT/CURDA, CURDA + 1 = previous address in
the terminal record buffer, exit to ERRB2.
Otherwise, jump to NOTEND.

c.

ERRB2:
Call CONCAN. If cancel was entered, jump to CANEXT.
Otherwise, set the display mode to data, regenerate the display and
exit to ERROR with code B2 (end-of-data).

d.

NOTEND:
Check that there are at least two display positions on the
screen: If UPDAT - TOPT/CURSRD is less than 2, jump to CONCAL.
Save the above difference in ATT/ATEMP.
field using GBYTE.

Get the first character of the

If the field is error flagged, display an inverse asterisk, otherwise
display an inverse blank.
The display is performed by sending the following sequence of codes:
Display inverse ($lC), blank or asterisk ($20 or $2A) , display normal
($lD) .
TOPT/CURSRD is increased by 1.
The field length is taken from the format, saved in ATT/ATEMP + 1, and
compared to the value saved in ATT/ATEt1P.
If the field is longer than the ATEMP value, the ATEMP value is taken
as a string length. Otherwise the field length is used.
A 5-word parameter block is built for a display call. The parameters
indicate the starting address and byte of the field, the starting and
final cursor position, and the address in the TRB where the I/O bit
should be set.
The field is then displayed.
If ATT/ATEMP - ATT/ATEMP + 1 is negative, only a partial field was
displayed; jump to CHK01. Otherwise, the field description length
i sis 0 1a ted . ( FMT/0/0- 3) . 1ft his val ue i s z e r 0 , the fie 1d jus t
displayed was the last in the record: jump to NXTRBC.
Format pointers are advanced to the next. field (ATT/RFA, ATT/RCNT, and
SST/CFFA) and control goes to CHK01.

PAGE NO.

AA5641

184

PRINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
DRC - Di sp 1ay Records ina Packed Format
Leve 1 __
6
PROGRAMNAME __________________________________________________________________________
DOCUMENT CLASS

e.

f.

(NXTREC).

The current record is tested to see if it is the last:

1)

Basic mode verify:
to RWCHK.

if TRB/5/15 is 1 jump to ERRB2; otherwise jump

2)

Bas i c mode ent ry:
If ATT/RCDRD = (ATT/RCD) - 1
and ATT/BRCNT/O-ll = 0
go to ERRB2.

(RWCHK). If a rewrite is required (ATT/SW1/13=1), call REWRIT.
Increment ATT/RCDRD.

Call READN.

If the format of the new record does not equal ATT/FMTNO/O-13 call
GFCORE to read the new format.
Set:

ATT/RCNT to 0
ATT/RFA to 4
SST/CFFA to point to the first field of the new record.
If the cursor is at the beginning of aline, jump to CHK01.
If this is not the eighth data 1 ine jump to NEWLIN.

g.

(CONCAL).

Call CONCAN.

If continue was entered jump to NWSCRN.

h.

(CANEXT). Set the display mode to data, regenerate the display, and
exit to CLRSR.

i.

(NEWLIN). Calculate the screen address of the next line, convert to
display codes, transmit the codes and jump to CHK01.

INTERFACE
1.

ENTRY t1ETHOD
DRC is called by INTRGT with a call to ENTPRG for interrogate function
ENTPRG jumps to the first program instruction.

2.

INPUT PARAMETERS OR CONDITIONS
(I)

= base address of active terminal table (ATT)
ATT/AINT contains the address of an interrogate buffer.

3.

EXIT METHOD
a.
b.

Jump to ERROR with either E1 code (inval id request) or B2 code (end of
data).
Jump to CLRSR when the function has been cancelled.

PAGE NO.

AA5641

185

"tiNTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYB ERDATA IMS

PROGRAMNAME __~DR~C~-~D~i~s~p~la~y~Re~c~o~r~ds~i~n~a~P~a~ck~e=d~Eo~r~m~a~t_________________________L_e_ve_1__
6

4.

OUTPUT PARAMETERS OR CONDITIONS
(I) = base address of ATT.
When exiting on an error condition,
Q = error code index.

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
LPHASK (2)
NZERO ($12)
ONEBIT ($23)
ZROBIT ($33)
ZERO ($12)
SST ($47)
CLRSR ($93)
GBYTE ($94)
ERROR ($96)
GETCOM ($9C)
GECORE ($9D)
DISPLY ($AO)
REWRIT ($A4)
READN ($A6)
b. SST
CEEA (12)
STEHP (20)
c.

ATT
CHOD (2)
ECNT (3)
RCNT (4)
ATRB (6)
PEBA (7)
CURDA (9)
EMTNO (13)
ELON (14)
REA (14)
BMOD (1 5)
BRCNT (15)
SW1 (19)
RCDRD (31)
RCD (32)
TOPT (33)
ATEMP (73)

PAGE NO.

AA5641

186

.. RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~I_M~S

•

PSSD

•

SOFTWARE DOCUMENT

__________~_____________________________________________

PROGRAMNAME __~D~R~C~-~D~i~s~p~l~a~y~R~e~c~o~rd~s~~in~a~P~a~c~k~e~d~F~o~r~m~a~t____________________________~L~e~v~e~J~6
d.

ERROR CODES
B2 code ($7)
E1 code ($12)

e.

MISCELLANEOUS
CRSRD (3)

2.

MACROS USED
None.

3.

PROGRAI1 DEPENDENC I ES

REGEN
GBYTE
GETCOM
GFCORE
DISPLY

-

REWRIT
CLRSR
READN

- rewrites the current record to disk
- clears enter/exit stack and function locks
- reads in the next record from disk

SETDIS
CLRALL
GENHDR
LOWDAT
CONCSR
LJSPDIR
CARL II~
UPDAT
CONCAN
SETt~OV

4.

set display type
clear display screen
generate display header
address of beginning of data area on screen
subroutine to convert from screen address to output address codes
send a 5 word control block to the subroutine CDATA
no. of c~aracters per display line
address of last data display location
subroutine that waits until either cancel or continue code is entered
allows current disk resident program to be moved by MMM
regenerate the display according to current table conditions
get the current character from the terminal record buffer
scans input message for end of record
reads current format into memory
central display call. Used with the following parameters:

DATA AREAS USED
SST
ATT
TRB
FMT

PAGE NO.
AA5641

187

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A______________~______________________________________
PROGRAMNAME ____D_S_K_E_R_l_____D_i_s_k__E_r_ro__
r_A_d_v_i_s_o_r_y__l_1_)_________________________________________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
DSKER1 tries to make more core available for the main overlay of the advisory program.

2.

DETAILED DESCRIPTION
DSKER1 is loaded by PIO after an erroneous disk I/O has occurred. All the
buffers whose user count is nonzero and which point to the station1s ATT are
checked. If the corresponding word in the ATT also points to the buffer,
they are released.
The words TRB, ,AINT, ASRCH (6, 27, 28 In ATT) which usually point to buffers
are cleared. The interrogate bit Is cleared. Monitor override bit is set.
The program tries to load the next overlay ~SKER2. If no core is avai lable
it exits to error exit in PIO, ASK17. Otherwise the ASKER2 overlay is
executed.

II~TERFACE

1.

ENTRY METHOD
PIO attempts to load the program via ENTPRG whenever it detects an error
in disk I/O. If the program is loaded, then it is executed.
CLR
LDQ

=

N$8014

Miscellaneous program 14; load only

RTJ

(ENTPRG)

SQZ

DSK17

no core available

5, Q

first entry point

JMP

1, Q

execu te

DSK17:

prints "no core for recovery program"

ADQ

2.

A

-

INPUT PARAMETERS OR CONDITIONS
I

=

current ATT base address

(ATEMP, I)

temporary location in the ATT (word 73) contains the sector
address in the erroneous request.

PAGE NO.

AA5641

188

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A______________~____________________________________________
PROGRAMNAME _____D_S_KE_R_l____-___D_i_s_k___E_r_ro_r___A_d_v_i_so_r~y~(~l~)_______________________________
Le_v_e_l___O_6___________

(CURCH, I)

3.

word 2 in ATT, 8 L.S.I3. contain the disk number in erroneous request. BIT 7 is set if the error is due to Iinot
readyll state or nonexistent disk.

EX IT METHOD
a.

b.
\,,-

4.

-

If enough core is available the main (second) overlay DSKER2 is loaded.
CLR
LDQ

A
N$8015

RT J
SQZ

(ENTPRG)
NOCORE

ADQ JMP
NOCORE

5, Q
1, Q

miscellaneous program 15; load only

If no core available for second overlay, program exits to error exit
in PIO, DSK17
JMP+
DSK17

OUTPUT PARAMETERS OR CONDITIONS
ATEMP,
CURCH,

same as input parameter.
same as input pa rameter.

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a.

b.

LOCORE
NZERO

( $12)

ZROBIT

($33 )

ONESIT
ZERO
LPMASK

($23)
($22)
(2)

SST
SST

($47)

ATTL

( 13)
PAGE NO.

AA5641

189

'RINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

DOCUMENT CLASS

CYBERDATA

PROGRAM NAME

DSKERl

- Disk Error Advisory

FRPLL
FRPP
STEMP

(6)

c.

d.

ATT
CMODE
BMOD
SWl
SW2
FUNIDX
FMTNO
PFBA
AI NT
ATEMP
BUFFER

SOFTWARE DOCUMENT

Leve 1 06

(8)

(20)
(2)
(15)

(19)

(20)
(21)
(13 )
(7)

(27)
(73)
(ATEMP+2)

TRANSFER VECTOR
ENTPRG ($9E)
EKDFUN C$9F)
RELFOR ($AD)

2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
PIO
DSK17
ENTPRG
ENTPRG
EXDFUN
SETMOV
ENEXSR
GFCORE
RELFOR

4.

DATA AREAS USED
ATT

PAGE NO.

AA5641

(1)

•

190

'tINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __
C_YB_E_R_D_AT_A__________________________________________________
PROGRAMNAME ___D_S_K_E_R_1__-___
D'_ls_k__
E_rr_o_r__
Ad_v_i_s_o_ry~(_1_)______________________L_e_v_e_l_0_6_________

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS

40 16 = 64 10
2.

RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

191

'1INflO IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C~Y_B_E_RD~A_T~A~____________________________________________________
PROGRAMNAME __~D~S~K~E~R=2_____D~is=k~E~r~r~o~r~A=d~v~i=s=o~r~y~(=2~)________________________~L~e~y~e~1~Q~6~________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
A check is made to ascertain which area on the disk has a faulty track. If
the error occurred in the data area, the corresponding batch is put to the
"frozen" state (if it is not frozen yet), or is deleted if the entered batch
is too short or the disk I/O error is irrecoverable. If the error occurred
in the system tables and the station is working on an active batch, its batch
is frozen or deleted.
The station which performed the I/O receives the message "disk I/O error"
and will remain in the idle mode, and under supervisor lock. If the disk
address in the faulty I/O request belongs to the allocatable disk's area,
the corresponding track is logged In special system table BTD (Bad Tracks
Directory) in lJAM.
Informatory messages about the erroneous track, the area on disk to which
the track belongs and the status of the erroneous batch are printed on the
primary supervisor station.

2.

DETAILED DESCRIPTION
The list logical unit in the supervisor communication area is assigned the
value of the comment device logical unit; thus SUPRW will write the informatory messages through the MESSAG subroutine on the primary supervisor logical
unit (usually TTY).
If the disk error detected was "not read" (BIT 7 in CURCH, 1 is set) the program branches to the common exit. A message with the erroneous sector address,
the disk number and the number of the station which performed the I/O is
written on the TTY.
A check is made in which disk area the error occurred. The disk number is
transferred in 8 L.S.B. of (CURCH, 1), sector address in (ATEMP, 1). If the
disk number is not zero, it was obviously data. If the sector address belongs
to the allocatable area of the system disk it can be either format area or
data. In those cases the bad track (track containing the sector) is logged
in the Bad Track Directory (BTD) in DAM. The least significant bits in the
track address include the disk number 0 - 3.
If the error occurred in the allocatable area of the system disk, the FMTLNK
(Format Link Table) is read (if It is not empty) into core and searched. If
the erroneous track is found among the tracks 1 isted in it, the LFD is read

PAGE NO. _..;;;;;1_9..;.;..2_

AA564'

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A______________~______________________________________________
PROGRAMNAME ____D~S_K_ER_2______D~i_sk__E-r-r-o-r__
Ad_v~is~o~r~y~(~2~)______________________~L~e~v~e~1_0~6~_______

into memory by sectors and searched until the format in which the error
occurred is found. The format inactive bit in the LFD is set and is written
back to disk. A message informing the supervisor of the erroneous format
is printed. If the track is not found In the FMTLNK it is probably data.
When the erroneous sector in the system disk does not belong to data or
format area, it is compared to the beginning of scratch (value of core
location $C2) and the end of scratch (system instal I parameter SECTOR).
If the sector belongs to the scratch area, an informatory message is printed.
If the sector is not part of the scratch area it should be part of the system
tables. A check is made to find out to which table the sector belongs, and
an informatory message is printed.
If the error did not occur in the data area, but the station which performed
the I/O is in Entry or Verify mode it is verified that the job index and
batch number in the ATT corresponds to a legal ABT entry and the batch is
handled as an erroneous batch. If the error occurred in data storage, an
informing message is printed. If the I/O request was issued by a station
in Entry or Verify mode, the batch connected is the first to be suspected.
FTOB (F irs t Track of Ba tch) in ATT and tracks 1 i sted in TKT (Track Tab 1e in
Sector 0 in First Track of Batch) are compared to the erroneous track. If a
match is found it is verified that the job index and the batch number in the
ATT correspond to a legal AST entry, whose track address is equal to FTOB in
ATT. If the tests fail, or if an error occurred in data storage but the
station is not in Entry or Verify mode, the ABT's are searched. The erroneous
track is compared to the first track of batch in the ABT entry and the tracks
1 isted in the TKT (Tracks Table) until the batch containing the erroneous
track is found. If the disk I/O error occurred in the ATT image or the TKT,
the ABT entry is cleared. If the error is not in the TKT, the tracks of the
batch are released. If the batch is in maintenance mode, it receives its
original mode. If the batch is active it receives the following treatment:
The ATT image in first track of batch is read into memory.

l

"-

If the batch is in entry mode and has less than 16 records, it is deleted;
otherwi se, the batch is frozen. If the ATT is of a "frozen" state (RCNT
less than 0) no modification of ATT is needed. Else, the monitor check
override bit is set, accumulated time Is updated, and the ELDT (entry in
LDT) is kept in relative mode. Backwards pointers to nonexistent buffers
(AINT, ASRCN, TRB) are cleared. The modified ATT is written back to disk.
The ABT entry is modified to frozen.
Informing message on the erroneous hatches status is printed.
Common Exit: The station which performed the erroneous I/O wi 11 be assigned
the idle state and wi 11 remain under supervi sor lock •. The message IIDISK I/O
ERROR" wi 11 be displayed on the screen.

PAGE NO. __
1_9_3_

AA5641

'IINTED IN THf

us ...

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
------------------------------------------------------------------

PROGRAMNAME __~D~S~K~E~R~2____~D~i~s=k~E~r~r~o~r~A~d~vwi~s~o~r~y~(~2L)________________________~L=ev~e~1~0~6~_______

INTERFACE
1.

ENTRY METHOD
DSKER1 tries to load the program via ENTPRG. If there is enough memory
available, the program is loaded and executed.
CLR

A

LDQ = N$8015

Load only, miscellaneous prg 15.

RT J - (ENTPRG)
SQZ
NOCORE
no core available
ADQ - 5, Q

first entry point

JMP - 1, Q

execute

NOCORE
2.

INPUT PARAMETERS OR CONDITIONS
1 = current ATT base address

(ATEMP, 1)

temporary location in the ATT (word 73) contains the sector
address in the erroneous request.

(CURCH, 1) - 8 L.S.B. contains the disk number. Bit 7 is set if the error is
due to Iinot readyi' state, or nonexi stent disk.
3.

EX IT METH 00
Tne program exits to the dispatcher via CLRSR.
JMP - (CLRSR)
If there is not enough core for memory buffers the program releases itself
and exits via error exit DSK17 in PIO with the message 'DISK I/O ERROR'. NO
CORE FOR RECOVERY PGM. The station remains under function lock.

4.

OUTPUT PARAMETERS OR CONDITIONS
a.

A message including the disk number, the erroneous sector address and the
station number will be printed on the Teletype.
ERROR IN DISK nn, SECTOR mmmm, STATION 11.
where:

disk number

nn
mmmm
11

-

sector address
station number
PAGE NO. _ _
1_9_4_

AA5641

rRINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~CwY~B~E~RD~A~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

______________________________________________________

PROGRAMNAME __-=D~S~KE~R~2~_-___D~·~ls~k~E~r~ro~r~A~d~v~i~so~r~y~(~2~)______________________~Le~vwe~]~0~6_________
b.

Detecting the area in which the disk I/O error occurred, the following
informing messages can be printed on the teletype:
ERROR OCCURRED IN SYSTEM TABLES
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR
ERROR

OCCURRED
OCCURRED
OCCURRED
OCCURRED
OCCURRED
OCCURRED
OCCURRED

IN
IN
IN
IN
IN
IN
IN

STATION TYPE TABLE
PROGRAM TABLE
FORMAT TABLE
JOB TABLE
DOCUMENT TABLE
BATCH DIRECTORY TABLE
ERROR MESSAGE TABLE

ERROR OCCURRED IN MAG TAPE FORMAT TABLE
ERROR OCCURRED IN SQUEEZE TABLE
ERROR OCCURRED I i~ TAPE RECOVERY TABLE
ERROR OCCURRED IN STATISTICS TABLE
ERROR OCCURRED IN DIS K ALLOCAT I ot~ TABLE
ERROR OCCURRED IN CHECK DIGIT WTS TABLE

l

ERROR OCCURRED IN SCRATCH AREA
ERROR OCCURRED IN FORMAT nnnn
where: nnnn
forma t number
ERROR OCCURRED IN DATA STORAGE
JOB jjjjjj, BATCH bbb
JOB jjjjjj, BATCH bbb FROZEN
JOB jjjjjj, BATCH bbb DELETED
where:

jjjjjj
bbb

job name
batch number

c.

The message DISK I/O ERROR will be displayed on the screen of the station
whose request was erroneous.

d.

The station remains under supervisor lock.

PAGE NO.
AA5641

195
'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

CYBERDATA

PROGRAM NAME

DS KER2

•

PSSD

- Disk Error Advisory (2)

•

SOFTWARE DOCUMENT

Level 06

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

b.

c.

d.

LOCORE
LPMASK
NZERO
ZROB IT
ONEBIT
ZERO
TEN
SST
SST
STEMP
CLOCKS
EST
PRDDA
SPIL
LDDA
MAXFMT

($2)
($12)
($33)
($23)
($22)
($46)
($47)
(20)
(17)
(10)
(23)
(3 )

(24)

TRANS FER VECTOR
CLCDWA ($90)
ENTSR
($91)
EXTSR
($92)
CLRSR
($93)
SUPRW
($97 )
RTNSR
($98)
REDSEC ($A7)
WRTSEC ($A8)
REDDWA ($A9)
WRTDWA ($AA)

PAGE NO.

AA5641

196

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_BE_R_O_A_TA____________~________________________~________
PROGRAMNAME ____
OS_K_E_R_2__-___
00_ls_k__
Er_r_o_r_A_d_v_i_so_r~y~(~2)~____________________L_e_v_e_l_O_6________

RELFOR
CAH
OISP
SPILL
WAIT
EXDFUN
e.

I

"---

ATT
FTOB
CURCH
PFBA
RCNT
JIDX
CMODE
TRS
ELDT
DOCNO

($AD)
($AE)
($AO)
($A 1)
($BO)
($9F)

(1 )
(2)

-

pointer to AST buffer header.
pointer to current entry in ABT buffer.

-

current sector address of ABT page to be read.
pointer to TKT core buffer.
contain the faulty sector address.
first word in A3T entry (status +.job index).

(17)

(19)

ABTIOX
AI NT
ASRCH
ECODE

(22)
(27)
(28)
(34)

BATCH
ABTBUF
ABTPTR

(35)

ATEMP
ABTWD1
RCD

8 L.S.B. holds the disk number.

(7 )
(4)
(3 )
(2)
(6)
(16)

BMOO
SWl
SW2

A!3TDA
TRKS

-

( 15)

(20)

(46)
(47)
(48)
(49)
(73)
(50)

(32)

(

"-

PAGE NO.

AA5641

197

'RINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A________________________________________~________
PROGRAMNAME ____
D_SK_E_R_2___
- __D_i_s_k_E_r_r_o_r_A_d_v_i_s_o_ry~(~2~)_______________________L_e_v_e_l~O_6________

FLG
(51)
internal flag.
TRACK (ATEMP + l}
faulty track address.
BUFFER (52) - backwa rds po inter to core buffe r.
SUPCOM (36)
LSTLUN (SUPCOM + 1}
COUNTE (54)
SAVEQ
f.

(53)

GENERAL EQUATES
FW
(3)
BEGSCH ($cl)

2.

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
CLCD\..JA
PIO

-

beginning of scratch.

SUPRW
REDSEC
\..JRTSEC
REDD\..JA
GETBUF

DSK17
ENTSR
EXTSR
ENEXSR RTNSR
CLRSR
SETMOV

-

Error exit no core for recovery program.

WAIT
CAM
GFCORE RELFOR
SUPER SUPTHD
DISPLAY SETDIS
CLRALL

-

Thread of supervisor read request from TTY.
Set display mode.
Clear the screen.
PAGE

AA5641

NO.

198

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__________________________________________~__________
PROGRAMNAME __-=D~S~KE~R~2~__~D~i=s~k_=E~rr~o~r~A~d~v~i~s~o~r~y~(2~)~_______________________L~e~v~e~l~O~6~________

BORENT

Release track listed in first track of batch when
deleting the batch.

L I NKTR

GETLJD
ARITH

BD

DAM

BADTRK

-

Bad tracks directory.

SYSTEM INSTALL PARAMETERS, DISK ADDRESSES
SECTOR

end of scratch area of disk

SIBSEC

beginning of allocatable disk

SIESEC

end of al locatable disk

SIFLNK

directory of tracks allocated for formats

SILFD

formats directory

SIABTW

length of active batches directory in words

SITYPE

stations type table

SIPRDN

area reserved for programs

S I LJD

legal job directory

SILDD

legal document directory

SISPIL

active batches table

SIERRM

error messages table

SIDMTF

magnetic tape formats table

SIABTS

length of active batches directory in sectors

SIDSQZ

squeeze work area

SITRDA

tape recovery area

SIMDMY

programs area

SISTDA

statistic buffer

S I DTR 1

track's table

SI DC~JT

check digit weights table

SIREJM

reject messages table

EXTBV4

extended system table

LOG1A

logical units physical table directory

PAGE NO.

AA5641

199

PRINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~ER~D~A~T~A

•

PSSD

•

SOFTWARE DOCUMENT

________________________________________~________

PROGRAMNAME __~DS~K_E~R~2__-_ _~D~i~s~k~E~r~r~o~r~A~d~v~i~s~o~ry~(~2~)______________________~L~e~ve~l~O~6________
4.

DATA AREA USED
BTD - Bad Tracks Directory in DAM
BTD configuration

64 words
sector address + disk number 0-3

SEC ADRI LU

·
·
·
·
·
·

·

ATT
ABT'S
LFD
FMTLNK
DTL - ATT image
LDD
PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
46010 program length.
ABT page + 93 max buffer length.

PAGE

AA5641

NO.

200

'RINHO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__________________________________________________
PROGRAMNAME ____
D_SK_E_R_2___
- __D_i_s_k_E_r_r_o_r_A_d_v_i_s_o_ry~(~2~)_______________________L_e_v_e_l_O_6________

2.

RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

201
.. tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __D_S_K_S_U_P________________~__.________________________________________________________

Disk-resident portion of Supervisor Command Processor
PROGRAMNAME ________________________________________________________________________________
_
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
DSKSUP checks the current Supervisor Command for val idity at the current
terminal, and rejects an invalid command. For val id commands, DSKSUP
initiates execution of the disk-resident function to process the Supervisor
Command.

2.

DETAILED DESCRIPTION
a.

(DSKSUP).

Call SETMOV to enable DSKSUP to be moved, if necessary.

•

If ATT/O/O-5 ~ 0 (not terminal 0), go to step b.

•

Clear i/O bit in Interrogate buffer.

•

If- ATT/SVTMP1/4 = 1 (fewer wor.ds read than. requested). set $FFFF
in the word following the last word of data in the input buffer.

o

Save the number of words read in the Supervisor write request.

•

If the Supervisor input unit is the system input comment unit,
go to step f.

o

Call SUPRW to display the command, and go to step f.

b.

(CHKIN).

c.

(CONT).

d.

(REDSP).

e.

(CHGMOD).

f.

(CHKCMD). Call GETCH to input first 3 characters of command and pack
them into one word in ATT/SVTMP1.

g.

(CK).

h.

(REJECT). If no match is found, set (A) = 33 and exit to REJSUP to
issue the message UNDEFINED COMMAND and wait for another Supervisor
command.

i.

(LOAD). If a matching command was found in the CODE table, clear
ATT/SCA + 10 through ATT/SeA + 27 (Supervisor Command Area) •
•

Call DISPLY to clear screen.
If input word count is zero, go to step e.
Call SUPRW to display input command.
Call DISPLY to select idle area of screen for output.

Compare input command with' entries in CODE table.

Check the corresponding entry in the EPT table to determine whether
the command is val id for the terminal:
PAGE NO.

AA5641

202

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __D_S_K_S_U_p__________________________________________________________----PROGRAMNAME __~D~i~s~k~-r~e~s~i~d~e~n~t~p~o~r~t~i~o~n~o~f~S~u~p~e~rv~i~s~o~r~Co~m~m~a~n~d~P~ro~c~e~s~s~o~r_____________________

j .

1.

If ATT/0/10 = 0 (Self Scan) and ATT/0/0-5 = 0 (Terminal 0) and
EPT entry bit 15 = 1 (OK on Terminal 0) go to step j.

2.

If ATT/0/10 = 0 (Self Scan) and EPT entry bit 12
Self Scan), go to step j.

3.

If ATT/0/10 =
to step j.

4.

If ATT/0/10 = 1 (CRT) and EPT entry bit (c3) (OK on CRT with
Supervisor authorization), and Terminal Type Table entry for
this terminal has bit 7 :; 1 (Supervisor authorization), go to
step j.

5.

Otherwise, set (A) = 34 and exit to REJSUP to issue the message
CMD INVALID ON THIS STATION and wait for another Supervisor
command.

(OK) .
•

=

1 (OK on

(CRT) and EPT entry bit 14 = 1 (OK on CRT), go

Ca 11 EXDFUN to re 1ease DSKSUP program area .

Call ENTPGM to load and execute the requested function. If sufficient
storage is not available, ENTPGM exits to REJSUP with Memory Full
code.

INTERFACE
1.

ENTRY METHOD
DSKSUP is a disk-resident program which is called via ENTPRG.

2.

INPUT PARAMETERS OR CONDITIONS
(I) = Base address of Active Terminal Table (ATT)

3.

EXIT METHOD
Normal exit is to a command processor program via ENTPRG (ENTPGM).
Error exit is to REJSUP with (A) = error code.

4.

OUTPUT PARAMETERS OR CONDITIONS
(I) = Base Address of ATT

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a. LOCORE
LPMASK ($2)
ZERO ($22)
ONEBIT ($23)
SST ($47)
CLCDWA ($90)
. PAGE NO; _203
__

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __D_s_Ks_U_P_________________________________________________________
PROGRAMNAME ___D_i_s_k_-r_e_s_i_de_n_t~po_r_t_io_n__o_f_S_u~p_er_v_i_s_or__C_om_m_a_n_d_P_r_o_ce_s_s_o_r___________________

b.

c.
d.

e.

f.

g.

2.

SUPRW ($97)
GETALP ($9B)
ENTPGM ($9E)
EXDFUN ($9F)
DISPLY ($AO)
REDDWA ($A9)
REJSUP ($B2)
SST
STEMP (20)
EST
TTB (41)
ATT
AINT (27)
SUPIN (36)
SCA (36)
SVTMP 1 (46)
ATEMP (73)
ALPHA CHARACTERS
A ($41 )
B ($42)
C ($43)

Z ($5A)
EPT TABLE CONSTANTS
TO (1)
CR (1)
CRSUP (1)
SS (1)
OTHER CONSTANTS
FW (3)
SVSKEL ($3000)

MACROS USED
CODE
TABLE
MAC
CMD
ADC
EMC

ENTRY
A,B,C
IA I*1024 + IBI*32 + ICI - $40*1024 - $40*32 - $40

204_
. PAGE NO. ___
3/
'.INTlO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DSKSUP
DOCUMENTCLASS __________________________________________________________
----__________
PROGRAMNAME ________________
__________
__________________________________________
_
Disk-resident portion
of Supervisor
Command Processor
~

3.

EPT

TABLE

ENTRY

IDX

MAC
VFD
EMC

TO,CR,CS,SS,IX,EP
Xl/'TO ' ,Xl/'CR ' ,Xl/'CS ' ,Xl/'SS ' ,x4/0,X6/ ' IX ' ,X2/ ' EP'

PROGRAM DEPENDENCIES
PIO
SCANV
ENTPRG
DISPLY
SUPER
ENEXSR

4.

~

{CLCDWA
SUPRW
REDDWA
(GETALP)
IENTPGM
EXDFUN

Calculate Disk Word Address
Supervisor Read/Write
Read Disk Word Address
Get Next Alpha Character from Input String
Enter a Disk Resident Program
Exit Disk Resident Program
Display a Message

(REJSUP) Supervisor Reject Procedure
(SETMOV) Enable Disk Resident Program Move

DATA AREAS USED
SST
EST
ATT
TTB
CODE
EPT

System Status Table
Extended Status Table
Active Terminal Table
Terminal Type Table
Supervisor Command Table
Command Validity/Entry Point Table

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
EA

2.

16

= 23410

words

RELOCATION TYPE
Disk resident, run anywhere

3.

ENTRANCY CLASSIFICATION
Reentrant

. PAGE NO.

205

... INTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~D~S~T_____________________________________________________________________
PROGRAM NAME

Di sp 1ay Header for 970-32

PROGRAM FUNCTION
1. GENERAL DESCRIPTION
This interrogate function displays the information contained in the CRT header
at the 970-32. The format is JJJJJJ BBB RRRR DDD FFF where:
JJJJJJ
BBB
RRRR
DDD
FFF

=
=

Job name
Batch number
Record count
Document number, if any
Field number

DST is the only entry point.
2. DETAILED DESCRIPTION
DST is, an overlay loaded via ENTPRG. First DST calls SETMOV to clear the I/O
bit in the program header so the program can be moved in core. Next GETLJD
is called to get the job name from the legal job directory. The job name and
all subsequent parameters are stored in the interrogate buffer. An internal
subroutine is used to convert a three digit BCD number to ASCI I for the batch
number (stored in ATT as BCD), record count and document number, if any, and
field number (converted to BCD via BD). DISPLY is called to set the fact
that reset is needed for the next display regeneration. ATT/SW1/7,8 are set
to indicate reset must regenerate the display and reset or disp key must be
the next character. The ATT/CMODE/14 is set to IDK mode and exit is via CLRSR.

~

INTERFACE
1. ENTRY METHOD
DST is a disk resident program loaded via ENTPRG.
2. INPUT PARAMETERS OR CONDITIONS
I = current ATT base address.
No special parameters are directly passed to it.
3. EXIT METHOD
Exit to dispatcher after clearing exits stack via CLRSR.
4. OUTPUT PARAMETERS OR CONDITIONS
I = current ATT base address.
Terminal's interrogate buffer is filled with the header information .

35C

. PAGE NO.

206

... INTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~D~ST~____________________________________________________________
PROGRAM NAME

Di sp 1ay Header for 970- 32

ASSEMBLY CHARACTERISTICS
1. EQUATES

a. LOCORE
LPMASK (2)
ONEBIT ($23)
ZROBIT ($33)
CLRSR ($93)
DISPLY ($AO)
b. ATT
CMODE (2)
FLDNO (14)
DOC NO (17)
SWl (19)
AINT (27)
RCDRD (31)
RCD (32)
BATCH (35)
2. MACROS USED
None.
3. PROGRAM DEPENDENCIES
ENEXSR (SETMOV) - Clear I/O bit in header.
(CLRSR) - Clear exits stack and go to dispatcher.
- Set data definition bits.
DISPLY
CRMTDS (DLINE) - Reset needed next regeneration constant.
- Get job name from legal job directory.
GETLJD
- Binary to decimal conversion.
ARITH (BD)
4. DATA AREAS USED
ATT
Interrogate buffer

'3-S/

. PAGE NO.

207

'.,NTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~D~ST~____________________________________________________________

Dis pI ay Header for 970- 32

PROGRAM NAME

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
GF 16

=

11110 words

2. RELOCATION TYPE
Run anywhere.

3. ENTRANCY CLASSIFICATION
Reentrant.

. PAGE NO.

208

'tiNTED IN THf US ...

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~8~ER~D~A~T~A~

PROGRAMNAME __

~D~UP~K~E.Y~

•

PSSD

•

SOFTWARE DOCUMENT

_____________________________________________________________

Level 06
________________________________________________________________
_

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
DUPKEY processes the manual DUP function. The terminal must be in entry,
pseudo entry for Insert record, or verify mode. Duplication from a
record of the previous format is allowed if the previous record was long
enough. DUPKEY is not allowed on the first record of the batch. The
data to be duplicated must pass the same val idation test as newly entered
data. Exit is to EMM or VMM depending on the terminal basic mode. DUPKEY
has a single entry point.

2.

l

DETAILED DESCRIPTION
DUPKEY first calls SETMOV to clear the program header I/O bit. Next
terminal mode checks are made. Pseudo verify, and pseudo entry both with
no Insert, and read modes generate ILLEGAL FUNCTION KEY via ERROR. An
attempt to use the DUPKEY on the first record in the batch also generates
an Illegal function error. If the record being entered is the first one in
a format, the previous record is read into core via internal subroutine
READ 1 to see if it is long enough. If not Illegal function error is
generated. DUPKEY is not allowed in fill blank if numeric field, and blank
appear, in this case internal subroutines FBFIQ checks it illegal function
error generated. IN ENTRY mode each character of the record from which the
duplication is being performed, is validated according to the data type of the
field which is currently being entered.
If all characters pass the val idation check, the characters are moved one at
a time from the previous record to the current record via SBYTE.
IN VERIFY mode, the characters from the current record are verified against
the characters from the previous record. A mismatch results in the terminal
mode being changed to IDK, and the column number and mismatch error being
displayed. When the entire field (or the remaining portion has been
transferred), the manual SKIP/DUP field is displayed, the column number is
displayed the program core is released via EXDFUN and exit is to VMM (END OF I)
or EMM (EMM I) depending on the terminal mode.
When DUP is depressed in ENTRY with no change in front, GBYTE is used to
extract the first character of the field. A check is made for DUP in the
middle of a numeric field where the previous held blanks (FBFIR). If this was
the case, exit is to ERROR. Otherwise, the character extracted is stored
back in the TRB via SBYTE, without the error flag bit •

. PAGE NO.

209

'IINTED 114 THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_y_d_E_R_DA_T_A______________~_____________________________________
PROGRAMNAME __~D~U~P~K~E~Y________________________________________________________~L=e~v_e~]~O~6__

DUP IT is worked to a durance pointer to end of field, and to set up
display parameters. Exit is to EMMl.
INTERNAL SUBROUTINES:
FBFIR:

Subroutine to check if DUPKEY is legal with fill blanks option.
On exit, if, Q = 0, DUP is valid. Otherwise Q = $4 (error code).

READ1:

Reads the previous record from disk. On entry ATEMP + 3 = 0 means
read the remainder only; ATEMP + 3 ~ 0 indicates read of the
whole record. On exit, ATEMP + 2 contains the pointer to the
record read, and MODE, is stored in ATEMP + 1.

SUBR:

Prepares parameters for the routine DSKUP and then displays.

LOOPY:

Extracts the required character: if at left, moVe the character
to the right; if at right, add one to the address. The character
is placed in MODE.

INTERFACE
1.

EIHRY METHOD
DUPKEY is loaded via ENTPRG when the operator hits the DUPKEY.
begins at the only entry point DUPKEY.

2.

Execution

INPUT PARAMETERS OR CONDITIONS
I = Current ATT base address
SW2 B4 = 1 if BSC or BSF were entered during the current record.

3.

EXIT METHOD
JMPJMP+
JMP+

4.

(ERROR) when error occurs.
END of 1 when terminal in verify mode.
EMMI when terminal in entry mode.

OUTPUT PARAMETERS
Field dupl icated or verified or error message generated.

PAGE NO. _2_1_0_

AA5641

'tiNTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

CYBERDATA

PROGRAM NAME

DUPKEY

ASSEM~LY

1.

•

PSSD

•

SOFTWARE DOCUMENT

Level 06

CHARACTERISTICS

EQUATES
a.

LOCORE
LPMAS K (2)
ZERO ($22)
ZRO BIT ($ 33 )
NZERO ($12)
ONEBIT ($23)
SST ( $47)

b.

SST
CFFA (12)
STEHP (20)

c.

ATT
CURCH (2)
MODE (2)
FCNT (3)
RCNT (4)
MISCH (5)
TRB (6)
ATRB (6)
PFBA (7)
CURDA (9)
DT (13)
BMOD E (15)
SW1 (19)
S\J2 (20)
FUNDIX (21)
LUN (35)
ATEMP (73)

'-

d.

TRANSFER VECTOR
ERROR ($96)
DISPLAY ($AO)
EXDFUN ($9F)
CAM ($AE)
WAIT ($BO)
REDD\-JA ($A9)
ENTSR ($91)
GBVTE ($94)
S8 YTE ($95)
PAGE NO.

AA5641

211
'RINTfO IN THE USA

CONTROL DATA CORPORATION

DOCUMENTCLASS~C~Y_B_E~R~DA~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________~_____________________________________

PROGRAMNAME ____D_U_P_KE_Y________________________________________________________l_e_v_e_l__
0_6__

2.

HACROS USED
None

3.

PROGRAM DEPENDENC I ES
EMM I
ENDOFl

Val idate current field and continue processing.
Check for revalidation and continue verify processing.

BORENT

Set up for new record.

DISPLAY

Handle display output.

DSKUP

(MISKEY)

Display manual Skip/DUPe

DCOl
DUPIT

(HDRi~OS)

(SKPDUP)

Display column number.
Adjust ATT counters to point to end of current field.

SETMOV

(ENEXSR)

Clear the program header I/O bit.

WA IT

(ENEXSR)

Delay program.

ENTSR

(ENEXSR)

Common subroutine entry.

EXTSR

(ENEXSR)

Common subroutine exit.

GBYTE

(GSE)

Get character from TRB.

SBYTE

(GSE)

Store character in TRB.

ERROR

(GSE)

Display error at terminal.

EXDFUN

(ENTPRG)

Exit Disk resident function.

CAM
REDDWA

4.

(EMM)
(VMM)

Allocate core Buffer.
(PIO)

Read Disk word addressing.

DATA AREAS USED
ATT, TRB, SST

PAGE NO.

AA5641

_2_1_2_

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ____C~Y~B~E~R~D~A~TA~_________________________________________________________
PROGRAMNAME ____~D~U~P~K=E~Y__________________________________________________~Iue~\I~e~J-uOu6_

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
182

16

=

386

10

program length.

Buffer according to record length or record remainder.

2.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

. PAGE NO.

213

PlINHO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __D_z_R___________________________________________________________________
PROGRAMNAME ____D_o_u_b_l~e__Z_e_r_o__K~e~y__
Pr_o_c~e~s~s~o_r__________________________________________________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
DZR processes the double zero key. In entry or pseudo entry, the format
is checked to ensure that space remains in the field for two characters.
If so, DZR stores one via SBYTE and exits to EMM to enter the second zero.
In verify or pseudo verify, DZR checks the next TRB character for zero.
If it is not zero, a mismatch error is generated. If it is zero, DZR
updates the record and field counts and calls VMM to verify the second zero.

2.

DETAILED DESCRIPTION
DZR is a disk resident module called into core by ENTPRG. First DZR calls
ENEXSR (SETMOV) to clear the I/O bit in the program header to allow the
program to be moved within allocatable core, if necessary. If this key
is the first entry in the record (ATT/SW1/2), BORENT is called to perform
beginning of record initialization functions. A check of field data type
is made to see that it is not pure alpha. If so, an invalid function key
error (4) is generated via ERROR. Next a check is made to ensure that
space remains in the field for two more characters. If not, the same invalid function key error is generated.
If so, mode checks are made. If the terminal is in pure read mode, the same
invalid function key error is generated. If the terminal is in entry or
pseudo entry mode, the first zero is stored in the TRB via SBYTE, the record
count and field count pointers are updated, the first zero is displayed via
DISPLY, and control is given to EMM to process the second zero. If the
terminal is in verify or pseudo verify mode, ATT/SW1/9 (ignore first skip
flag) is cleared, the next character is retrieved from the TRB via GBYTE
and a compare for zero is made. If the TRB character was not zero, a mismatch character error (5) is generated via ERROR and the terminal mode is
changed to 10K (ATT/CMODE/14). Otherwise, the record count and field count
pointers are updated, the zero is displayed via DISPLY, and control is
given to VMM to verify the second zero.

INTERFACE
1.

ENTRY METHOD
Loaded into core via ENTPRG.

2.

Execution begins at the only entry point DZR.

INPUT PARAMETERS OR CONDITIONS
Operator depressed double zero key.
I = current ATT base address

. PAGE NO.
I S--

214
'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __D_z_R__________________________________________________________________
PROGRAMNAME __~D~o~u~b~le~Z~e~r~o~Ke~y~P~r~o~ce~s~s~o~r______________________________________________

3.

4.

EXIT METHOD
a.

Jump to EMM if legal entry in entry or pseudo entry mode.

b.

Jump to VMM if legal entry in verify or pseudo ver1fy mode.

c.

Jump to ERROR if in pure read mode, no room for two more characters
in field, field type is pure alpha, or mismatch error.

OUTPUT PARAMETERS OR CONDITIONS
a.

Zero displayed to operator and entered in TRB with pointers updated.

b.

Zero displayed to operator and TRB pointers updated.

c.

Error 4 (invalid function key) or Error 5 (mismatch character) errors
displayed. For error 5, terminal mode changed to IDK.

ASSEMBLY CHARACTERISTICS
1. EQUATES
a.

LOCORE
LPMASK (2)
NZERO ($12)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
GBYTE ($94)
SBYTE ($95)
ERROR ($96)
EXDFUN ($9F)
DISPLY ($AO)

b.

ATT

c.

CURCH (2)
CMODE (2)
FCNT (3)
RCNT (4)
MISCH (5)
FDTP (13)
SWl (19)
SST
CFFA (12)

2.

MACROS USED
None

. PAGE NO.

215
'RINno IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __D_Z_R___________________________________________________________________
PROGRAMNAME ____
Do_u_b_1_e__Z_e_r_o__
Ke~y~P_r_o_c_e_s_so_r________________________________________________

3.

PROGRAM DEPENDENCIES
ENEXSR

{SETMOV} Clear I/O bit in header

BORENT
DISPLY

Perform beginning of record initialization
{ (DCAROL) Display character and column number

Routine which contains all display entry points such
as DCAROL

EMM

Perform entry function for the second zero

VMM

Perform verify function for the second zero
{ (GBYTE)

GSE

{SBYTE}
{ERROR}

ENTPRG

Get the next byte {character} from the TRB
Store the next byte {character} in the TRB
Display error code and cleanup of TIQ and ATT

{EXDFUN} Common disk resident routine exit cleanup routine

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
47

2.

16

=

71

10

words.

RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

. PAGE NO.

17

216
PRINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~I~M~S

•

PSSD

•

SOFTWARE DOCUMENT

_________________________________________________________

EBCD I C - Convers ion rou tine between EBCD IC/ASc"l
I
Leve 1 6
PROGRAMNAME ____________________________________________
------------------------------PROGRAH

FU~1CT

ION

1.

GENERAL DESCRIPTION
EBCDIC converts a string of characters between ASCI I and EBCDIC or reverse.
It is called with a return jump.

2.

DETAILED DESCRIPTION
a. (CNVRT). Save di rection of convers ion in SST/STEMP + 3.

b.

1)

Turn off I/O-bit to allow module to be moved.

2)

Set STEHP

3)

Set STEMP +

4)

Update return address in CNVRT.

buffer address of character string.

= number of words to translate.

(BACK). Get buffer length and subtract one to see if more has to
be translated. If buffer length is exhausted go to step c.
1)

Translate left half of the word to which STEMP points with
subroutine ASEBC.

2)

Save translation of left half word in STEMP + 2.

3)

Translate right half of the word to which STEMP points with
subroutine ASEBC.
Merge the two half-bytes and store the translated word back .indirect
through STEMP.

4)
5)

Update bufferpointer (STEHP) by one.

Go to step b.
(DONE). Restore direction of conversion (STEMP + 3) into A-register.

6)

c.

1)

Decrease user count by one.

2)

Jump back to caller through CNVRT.

SUBROUTINE ASEBC
d.

(ASEBA). t·1ask off right ha 1f-byte.
1)
I f SST /STEMP + 3 ~ 0 (ASC I I to EBCD IC convers i on) go to step i.
2)

If EBCDIC character~$40 (valid character) go to step e.

3)

If EBCDIC character is not the EBCDIC-field separator go to step g.

4)

Set (A) = ASCSEP (code for an ASCI I-field separator set to $1C)
and go to step h.

PAGE NO.
AA5641

217

I'RINTfD IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_R_DA_T_A___M_S__________~_____________________________________________
PROGRAMNAME __~E=B~C~D~I~C_-~C~o~n~v~e~r~s~io=n~r~o~u~t~i~ne~b~e~t~w~e~e~n~E~BC~D~IC~/~A~S~C~I~I__________~______~L~e~v~e~1~6

e.

1)
f.

If EBCD IC character ~ 80 go to step f.

(NOTSEP) .

Set (A) = ASCI I character from TABEC corresponding to the
EBCDIC character and go to step 4.

(NEXT).
1)

If EBCDIC character is not in range $80:$char:$$CO go to step g.

Set (A)

= corresponding

ASCI I character from TABEBC and go to step h.

g.

(SPECIL). Set (A) = $00 (special character code for a non-EBCDIC
cha rac ter) •

h.
i.

(RETB). Mask off higher order byte and exit back to caller.
(ASCI I). This position of the subroutine performs ASCI I to EBCDIC
conversion.
1)
If ASC II character<$IC (illegal code) go to step i3.
2)
3)

If ASC II character < $60 (legal code) go to step 1).
If ASC II character = $7C (i llegal code) go to step j.

4)

I f AS CI I c ha r act e r
through step k.

$7B (pos zero) set (A) = $CO and exit out

5)

If ASCII character
through step k.
If ASCI I character

$7D (neg zero) set (A) = $DO and ex it ou t

6)

anything else go to step j.

j.

(SPE).

k.

(RETA). Go to step h.
(TABLE). Get word count into conversion table TAB and access table
accordingly. If character count is even shift character to Cover
Byte go to step h.

1.

For code for a nonexisting ASCII code.

INTERFACE
1•

ENTRY METHOD
Loaded into core by ENTPRG.
entry point CNVRT.

2.

Is started by means of a return jump to

INPUT PARAMETERS OR CONDITIONS
RT JADC
ADC
Where

$, Q

buffer address of string to convert
number of words to translate
(A) positive for ASCI I-EBCD!C conversion
negative for EBCDIC-ASCI I conversion
(Q) address of last word in header.

PAGE NO.

AA5641

218

'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS
PROGRAM NAME

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
EBCDIC - Conversion routine between EBCDIC/ASCI I

Level 6

PHYSICAL CHARACTERISTICS
1. MEI~ORY SPACE REQUIREMENTS
B5 16 = 181 10 words.
2.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

ANALYTICAL SUPP LE~1E!4TS
Conversion tables.
ASC II TO EBCDIC
TAB

NUt~

NUM
NUt1

NUH
NUt1
NUM
NUt,1
NUM

\

'-

NU~1

NUM
tJUM
NUM
NUM
NUM
NUM
NUM
NUt1
NUM
NUM
NUM
NUM
NUM
NUt1
NUM
NUt1
NUM
I~UM

NUM
NUM
NUM

$2200
$0000
$405A
$7F7B
$5B6C
$507D
$405D
$5C4E
$6B60
$4B61
$FOFl
$F2F3
$F4F5
$F6F7
$FSF9
$7A5E
$4C7E
$6E6F
$7CCl
$C2C3
$C4C5
$C6C7
$CRC9
$D1D2
$D3D4
$D5D6
$D7D8
$D9E2
$E3E4
$E5E6

ASCII

PAGE NO.

AA5641

IC-ID
IE-IE
20-21
22-23
24-25
26-27
28-29
2A-2B
2C-2D
2E-2F
30-31
32-33
34-35
36-37
38-39
3A-3B
3C-3D
3 E-3 F
40-41
42-43
44-45
46-47
48-49
4A-4B
4c-4D
4E-4F
50-51
52-53
54-55
56-57

FSSPACE
- 1
I _
#
$ - %

%-

I

(

)

i',

-

+

./
J

o
2
4
6
8

1
3
5
7
9

: ;

<=

\ ?

@A
BC
DE
FG
H I
J K

LM
N0
P Q
RS
T U
Vw

219

PRINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS
PROGRAM NAME

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
EBCDIC - Conversion routine between EBCDIC/ASCII

Level 6

ASCI I TO EBCDIC (CONTD)
NUM
NUM
NUM
NUM

$E7E8
$E9CO
$EODO
$5F6D

58-59
5A-5B
5c65D
5E-5F

XY

z

EBCDIC TO ASCI I
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUH
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM

$205B
$0041
$0042
$0043
$0044
$0045
$0046
$0047
$0048
$0049
$0000
$2FOO
$3COO
$2800
$2BOO
$0000
$265D
$004A
$0048
$004C
$004D
$004E
$004F
$0050
$0051
$0052
$2100
$2400
$2AOO
$2900

EBCDIC

58-DB

59-D9
5A-DA
5B-DB
5C-DC
5D-DD
5E-DE
5F-DF
60-EO
61-E1
62-E2

$3BOO

$5FOO
$2D5C
$2FOO
$0053

PAGE NO.

AA5641

40-CO
41-C1
42-C2
43-C3
44-c4
45-C5
.46-C6
47-C7
48-c8
49-C9
4A-CA
4B-CB
4c-cc
4D-CD
4E-CE
4F-CF
50-DO
51-D1
52-D2
53-D3
54-D4
55-D5
56-D6
57-D7

SPACE 0+
- A
- B
-C
- D
- E
F

-

-

G

H

I

< -

( -

+ -

%- 0- J
- K

-

L
M
N
0
P
Q
R

]-

$ i': -

) ., - <

/ - S

220

'1INTfD IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_YB_E_R_D_AT_A__I_MS____________________________________________________

EBCDIC - Conversion routine between' EBCDIC/ASCI I
Level___
6
PROGRAMNAME ______________________________________________________________
EBCD I C TO ASC I I (CONTD)
NUM
NUM
NUM
NUH
NUM
NUM
NUM
NUM
NUM
NUM
NUH

NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUt1
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM
NUM

$00S4
$OOSS
$00S6
$00S7
$00S8
$0059
$OOSA
$0000
$2COO
$2500
$5FOO
$3FOO
$3FOO
$0030
$0031
$0032
$0033
$0034
$0035
$0036
$0037
$0038
$0039
$3AOO
$2300
$4000
$2700
$3DOO
$2200

63-E3
64-E4
65-ES
66-E6
67-E7
68-E8
69-E9
6A-EA
6B-EB
6C-EC
6D-ED
GE-EE
6F-FF
70-FO
71- F1
72-F2
73-F3
74-F4
7S-FS
76-F6
77-F7
78-F8
79-F9
7A-FA
7B-FB
7C-FC
7D- FD
7E-FE
7F-FF

PAGE NO.

AA5641

- T
- U

- V

-

W
X
Y
Z

,
%-

\

-

? - 0
- 1

- 2

- 3

- 4

- 5

- 6

- 7
- 8

- 9
# @= II

_

221

,tINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD~A~T_A__I~M_S__________~_____________________________________________

EBCDIC - Conversion routine between EBCDIC/ASCI I
Level _6
PROGRAMNAME ______________________________________________________________________
3.

EXIT HETHOD
Exit back to cal ling routine.

4.

OUTPUT PARAMETERS OR CONDITIONS
The contents of the specified buffer is converted as specified.
is conserved.

A-register

ASSEHBLY CHARACTERISTICS
1•

EQUATES
a.

LOCORE
LPMASK ($2)
NZERO ((12)
ZERO ($22)
ONEBIT ($23)
ZROB IT ($33)
SST ($47)

b.

SST
STEMP (20)

c.

Special codes
ASCSEP
EBCSEP
ASCSPE
EBCSPE

2.

~1ACROS

($lC)
($22)
($00)
($00)

ASCI I field separator
EBCDIC field separator
Code for a non-EBCDIC character
Code for a non-ASCI I character

USED

None.
3.

PROGRAM DEPENDENCIES
None.

4.

DATA AREAS USED
SST
Buffer area as specified in call ing sequence.

PAGE NO.

AA5641

222

'IINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C~Y_B_E~R_DA~T~A__I~M~S__________~_______________________________________________
PROGRAMNAME __~E~C~D~-~E~n~t~e~r~C~h~ec~k~D~·~lg~i~t~_________________________________________________~I~e~\I~e~1~6

PROGRAt1 FUNCT ION
1.

GENERAL DESCRIPTION
ECD is entered by the supervisor (at the console) in order to establish one
check-digit test table. The modulus and weights to be appl ied are read
and the CWT (CDV Weight Table) is built according to the corresponding
values, keyed in by the supervisor. If less than 15 weights are specified,
weights of 0 are given to the high-order digits of the field.

2.

DETAILED DESCRIPTION
ECD starts by calling the GETALP subroutine and checking that "ECD"
command is followed by a comma. If not, an error message is sent to
the console and the command is rejected. Next, the first number (Test
Number) is read and checked for val idity. A nonnumeric or too great a
value results in an error message sent to the console, as well as a zero
value or a missing one. The Test Number should not exceed the maximum
CDV Test Number stored in word 3 of the EST. If the value supplied was
correct, ECD proceeds by setting a pointer (SAVE) to the correct
displacement in the CWT, corresponding to the given Test Number (each
test is assigned a 4-word storage area). That storage is cleared and
a loop is entered during which successive numbers are read and stored
in their corresponding place in the actual C\JT. The first value after
the Test Number is the modulus and a check is made for correctness (the
modulus must be less than 16 and nonzero).

\~

During the loop, each number read from the input unit is added to a
temporary word (W0RD) which is then shifted 4 digits left. After each
4-values, W0RD is stored in the table, cleared, and the pointer SAVE
is increased by 1. Upon detection of an error (values greater than 16
or nonnumeric) a corresponding error message is sent to the console and
the command is rejected through REJSUP. Before returning control to the
SV routine, the resulting CWT is written onto disk, according to the
addresses specified in the EST.
Register I is updated to point to the ATT base address.

PAGE NO.

AA5641

223

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__I_M_S__________~________________________~___________________
PROGRAMNAME ____E_C_D_-_ _E_n_t_e_r_C_h_e_c_k__
D~ig~i_t________________________________________~L~e~y~e~1~6

INTERFACE
1. ENTRY
2.

t~ETHOD

From DSKSUP, through ENTPRG
INPUT PARAMETERS OR CONDITIONS
I = current ATT base address.

3.

EX IT ~~ETHOD
If no errors (in command syntax, test number, modulo or weights), control
is returned to SV. Missing weights are set to O.
If any error was detected, a corresponding message is sent and control
returns to REJSUP.

4.

OUTPUT PARAMETERS
Updated CWT written on disk.
I = current ATT base address.

ASSEMBLY CHARACTERISTICS
1 EQUATES
e'

a.

LOCORE
LPMASK ($2)
ZERO ($22)
NZERO ($12)
ONEBIT ($23)
SV ($B1)
ATTB ($10)
SUPRW ($97)
GETBIN ($99)
SST ($47)
REJSUP ($B2)
WRITSEC ($A8)
GETALF ($9B)
GETCOM ($9C)

PAGE NO. _2_2_4_

AA5641

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_t~_S_________________________________________________________
PAOGAAMNAME __~E~C~D_-~E~n~t~e~r_C~h~e~c~k~D~i~g~it~________________________________________~le~\~'e~J~6

b.

C.

ATT
F\,J (3)
AC\~T (2)
C\-JTDA (21)
SAVE (46)
WORD (48)
FLAG (SO)
f-1AXCDV (3)
STEt-1P (20)
SUPCOM (36)
CNT (47)
CFOUR (49)
CONSTANTS
None.

2.

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
entry in SCANV to retrieve commas
GETALP
REJSUP
entry in SUPER used when error exit is taken
entry in SCANV to retrieve binary numbers
GETBIN
WRTSEC
entry in PIO to write the new CWT table
SV
entry in SUPER for normal exit

4.

DATA AREAS USED

\
'---.

ATT
SST
EST
PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS

2.

07 C = 124
words.
16
10
RELOCATION TYPE
Loader relocatable, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

225

'tiNTED IN THE USA

CONTROL DATA CORPORATION
CYBERDATA IMS
DOCUMENTCLASS ________________________

~

•

PSSD

•

SOFTWARE DOCUMENT

__________________________________________________

EDC - Enter Document
6
Level __
PROGRAMNAME _____________________________________________________________________________
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
EDC processes the supervisor command EOC - enter a document specification.
Command syntax:
1[nnnnn(3)]
l
EDC,nnn(1),Fnnnn(2),R unspecified~

[nnnnn]

[,Fnnnn,R

where:

1

t

unspecified~

. ····]

CR

(1) document number (1 through 255).
(2) format number of first record type.
(3) number of times this format appears.
Fnnnn and Rnnnnn are repeated until the last format has been
specified. If the parameter string is longer than one 1 ine, a
comma and CR are entered immediately after the R~nnJ. When
an unlimited number of records are specified for a format, no
number is entered after the IRI.
2.

DETAILED DESCRIPTION
EDC is a locked function. On calling it, its lock is checked and a
wait loop is started, if the program is busy; else the lock is set and
processing starts. EDC starts scanning the command parameters, checking
every parameter read for syntax errors. The document number is fetched
and the entry for that document is read from the LOD, to ensure that no
other document has that number. From the header of the LDO, the next
available word in the LDT, and the maximum size are found. Before trying
to add an entry to the LDT, EDC makes sure that there is space left in
the table. CAM is called for allocation of a sector size buffer. The
details to be added to the LDT are located in this buffer, and whenever
it is full, or end of parameters 1 ist is detected, WRTDWA is called for
writing the buffer in the table. Whenever a format number is scanned,
it is checked against the maximum format number allowed in the system,
and the entry for that format is read from the LFD. It must be an
existing format.
If just after the
signals EDC, that
that case all the
into the LDT with

record number (or after the R), a CR is entered, it
the end of the parameter 1 ist has been reached. In
parameters that are sti 11 in the buffer are written
a sign on bit 15 of the last word written.

PAGE NO. _2_2_6_

AA5641

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

,OOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S___________________________________________________________
PROGRAMNAME ____E_D_C__-__E_n_te__
r_D_o_c_u_m_e_n_t_________________________________________________L_e_v_e_1___
6

The address of the next word available in the LDT is stored in the first
word of LDD, and the entry for that document in the LDD is activated.
Now the buffer is released, lock reset and control is passed to SV. If
the parameter 1 ist occupies more than one 1 ine (where a CR is entered
after R[nnn],), EDC checks whether the input unit is a CRT on the TTY. If
it is the TTY, aline feed is printed, and a new 1 ine is read into the
Interrogate buffer. If it is a CRT, DISPLAY is called to move the line
which has previously been entered, to the top of the screen.
Rea din g and wr i tin g tot he CRT t e r min ali s don e t h r ou gh SUP R\~ ( a n en try
po i n tin PI 0) .
Reading
Writing
When an
code in

from disk (LDD and LDT) , is done through REDDWA (in PIO).
to disk is done through WRTDWA (in PIO).
error is detected, control is passed to REJSUP wrth the error
the A register.

INTERFACE
1.

ENTRY METHOD
EDC is a supervisor function processor loaded by ENTPRG.
begins at its only entry point EDC.

2.

Execution

INPUT PARAMETERS OR CONDITIONS
I = current ATT base address.
Other parameters are entered by the operator, according to function syntax.

3.

EX IT t-1ETHOD
If no error was detected during processing exit is made to SV.
jump to REJSUP with error code in A.

4.

Else

OUTPUT PARAMETERS OR CONDITIONS
I

= current

ATT base address.

Error messages:
a.

INVALID PARAMETER

b.

II~VALID

FORMAT NUMBER

Format no. greater than the maximum allowed, or format no. was not
activated.
c.

INVALID COMMAND FORMAT

PAGE NO. _2_2_7_

AA5641

"RINTED IN THf USA

CONTROL DATA CORPORATION

CYBERDATA IMS
DOCUMENTCLASS ____________________

~

•

PSSD

•

SOFTWARE DOCUMENT

____________________________________________

EDC - Enter Document
Level __
6
PROGRAMNAME __________________________________________________________________
d.
e.

f.
g.
h.
i.
j.

MEMORY FULL-RETRY
CAM did not succeed in allocating a buffer.
INVALID DOCUMENT NO.
A nonnumeric field for doc. number, or doc. number greater than 255,
or doc. number already active.
DOCUMENT DIRECTORY FULL
I/O ERROR
When reading aline.
INVALID NO. OF RECORDS
FUNCTION TERMINATED
Cancel bit was on.
FUNCTION BUSY

ASSEMBLY CHARACTERS
1•

EQUATES
a. LOCORE

b.

LP~·1ASK (2)
NZERO ($12)
ONEBIT ($23)
GETALP ($9B)
GETBIN ($99)
GETCOM ($9C)
REJ SUP ($B2)
SU PR\~ ($97)
SV ($B1)
WAIT ($BO)
ENTSR ($91)
EXTSR ($92)
DISPLAY ($AO)
CLCDWA ($90)
CAM ($AE)
REDDWA ($A9)
WRTDWA ($AA)
ZERO ($22)
SST ($47)
SST
STEMP (20)

PAGE NO.

AA5641

228

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_t1_S_________________________________________________________
PROGRAMNAME ____E_D_C_-_ _E_n_t_e_r_D_o_c_u_m_e_n_t____________________________________________~Le~v~e~1~6

c.

ATT

d.

DOCN R (lf8)
POINTER (49)
SECIX (51)
TABL If'1 (52)
Ft~TLIM (53)
LENG (54)
TEMP1 (55)
TEMP2 (56)
WORD1 (46)
WORD2 (47)
LDTEtJT (58)
CORADD (57)
ATEMP (73)
A I i~T (27)
TERHIN (23)
EST
LDDDA (39)
(24)

HAxn~T

e.

CONSTANTS
LU (68)
FR (2)
Fvl (3)

2.

PROGRAM DEPENDENCIES
SCANV
PIO

SUPER
ENEXSR

-

DISPLAY CAt~

SETMOV

GETBIN:
GETALP:
GETCOM:
CLCDWA:
REDm1A:
v/RTD\JA:
SUPRW:
SV:
REJSUP:
WAIT:
ENTSR:
EXTSR:
SETDIS:

To retrieve numeric parameters
To retrieve alpha parameters
To check for commas
Calculates disk word addresses
Read from disk using word addresses
Write to disk using word addresses
Output to CRT
Normal exit
Error exit
Wait for function release
Store return address in stack
Return via stack
Set display indicator
Obtain memory space
Enable program move

PAGE NO.

AA5641

229

'RINTED IN THf USA.

CONTROL DATA CORPORATION

CYBERDATA 1',1S
DOCUMENTCLASS ______________________

~

•

PSSD

•

SOFTWARE DOCUMENT

____________________________________________

PROGRAMNAME ____________________________________________________________________
EDC - Enter Document
Level _6

3.

DATA AREAS USED
ATT
SST
LDD
LDT
EST
LFD
INTERROGATE BUFFER
CAH

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
Program = (352)10
CAM buffer = (99)10
2.

RELOCATION TYPE
Run anywhere

3.

ENTRANCY CLASSIFICATION
Locked, not reentrant.

PAGE NO.

AA5641

230

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ______C_Y_B_E_RD_A_T_A__________~________________________________________ ,_______
PROGRAMNAME ________E_F_M__
- __E_n_te__
r_F_o_r_m_a_t_______________________________________________L_e_v_e_l___
06

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
EFM is entered by the supervisor when a new format has to be specified
or an old one has to be revised. The program sets up the corresponding
format tables, according to the parameters passed by the supervisor, and
writes them on disk.

2.

DETAILED DESCRIPTION
Follows the program listing, because of program's complexity.
EFM consists of 4 major parts:
a.

Monitor - this part performs specification records reading, checks
for I/O errors and calls the FMT processing subroutIne.

b.

FMTENT - specification records processing. Calls analysis routine
to analyze records. After the last specification record,
overall checks are performed to ensure format consistency.
If no errors are detected, the format is written on disk.

c.

ANALYS - analyzes a single record. Interprets the control table
information as pseudo instructions, and takes apprppriate
actions.

d.

CONTAB - calls numeric or character-processing subroutines or bitsetting macros, according to the word to be interpreted.

EFM starts by making itself movable, setting a flag (HEADER bit 15) to
indicate primary read and clearing both the format string base address
and the FBA pointer (ATT word 7). ATT word 68 is checked for any input
errors (first line read by SV).

PAGE NO. _2_3_1_

AA5941

'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~RD~A~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________~______________________________________

PAOGAAMNAME __~E~F~M~--=E~n~te~r~F~o~r~m~awt~________________________________________________.L~e~v~e~1_Q~6
Description Following the Program Labels
READl :

Increase the current field number.
(no auto flag).

READ1L:

If the supervisor input unit is a CRT, its status is set to
interrogate mode and 24 words are read. For a TTY unit, a 1 inefeed control character is sent and 40 words are read. If the
cancel key was entered, the previous situation is restored
(G0ER01 with A=9) and a new 1 rne is read (READ1). Otherwise,

CKIO:

If an input error occurred, a message is sent (through ERROR with
error index = 9). Otherwise,

READ1A:

If CRT control goes to PR~CES. If TTY, the actual number of
characters read is stored in word 30f the interrogate buffer
(80 if no short read), and then

PR¢CES:

If bit 13 of HEADER is set (secondary read) control goes to READL.
If primary read, the FMTENT routine is cal led.

ENTRTN:

If no error in last 1 ine and A. is no 0, control goes to READl
(read in a new line). If A is (-); an error occurred in the
processed line, control passes to ERR0R. If A = 0 then

EXIT:

Release the requested area now used by the actual format, by
setting its length in word 2 of that space. Clear CALRPI in CFM
(caller's program index), release the area occupied by EFM
(through EXDFUN) and write the format on disk (through ENTPRG).

ERR0R:

If supervisor list unit is a CRT, check if end of screen has
been reached: if yes, clear the screen. If the error code
passed is not zero, control goes to ER0R3. Else, store the
erroneous character (the last one received) and the column
number in the message 'Character ~ illegal for parameter iii.
That message is moved to the interrogate buffer by a loop named
ER0R2 and then it is printed. Pass control to ERR0R 5.

ER0R3 :

Select an error index from a given table (ERIDX) according to
the given error number (0 to 22) and print the corresponding
message. Then,

ER¢R5:

If that line was the header or the error number passed was 9,
release the present format space (through RELF0R) and return
to REJSUP. Else,

PAGE NO.

AA5641

Clear bit 0 of ALLAUT

_2_3_2_

rtlNTlO IN THE USA

CONTROL DATA CORPORATION

8

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A______________~__.__________________________________
PROGRAMNAME ____E_F~M__-__
E_n_te__
r_F_o_r_m_a_t___________________________________________________L_e~v_e_l~06

\

'-

ER0R8:

If at least 4 parameters were entered (COLUMN
4) then the
record counter (RECCNT) is decreased by the maximum field
length. And in any case,

ER0R8A:

All the space in the FMT required by that field is cleared, the
field number is decreased by 1 and the format pointer (FMTPNT)
set to the third word in the current field table, after which
a new input line is read (READ1).

FMTENT:

(the format sub monitor)
The parameter number is set to 0, HEADER bits 0 - 14 cleared and
bit 15 is set, control passed to FMTMD (Format Header).

FMTLIN:

The input buffer pointer (INPTR) is set to 0 and the ANALYS routine
is entered, with A set to the displacement between FLDINF and
L0DCNT.

SETLNG:

Current field length is calculated (FMTPNT - FCDBAS) and after
adjustment and insertion of previous field length it is stored
in the fie1d ' s first word. Current length replaces the previous
one (shifted 4 bits left).

CK~V:

If FMTPNT (current word in format table) exceeds 510, an error
code of 2 is passed to G~ER through A. Otherwise,

N00V 1 :

If current field is not an auto-field (bit 0 of ALLAUT=l) then bit
14 of ALLAUT is set. In both-cases

M00Vl :

A check is made for the verification type (field word 1), when it is
not 0, FMT word 3 bit 14 is set to indicate verification is needed,

CHLF:

If that was not the last field (RECCNT less than or equals to
record length) a new 1 ine is read (through ENTBCK, with A positive).
Otherw i se,

LSTFLD:

Number of words in current field entry is cleared. If bit 14
of ALLAUT is 0, the format is rejected (through G0ER). If not,
RESEQ is checked. When it contains a positive value, ENF exits
(through ENTRTN with A=O). When bit 15 of RESEQ is set
(resequencing needed) then

CKRSQ 1 :

If autosequencing exists in the format (word 1 bit 13 set), current
field number is increased by 1 (last field indicator) and N0FLD
set to one. Two loops are entered. The inner one (CKRSQ3) looks
through all field entries in FMT for a resequence field number
corresponding to M~FLD. The outer loop (CKRSQ2) increases N0FLD and
starts the searching again, until either all field numbers have been
found (N0FLD = FIELD), which signals that resequencing is correct,
or the last field entry has been reached without finding N0FLD
(that is, some field number is missing), and then the command is
rejected (ENTBCK with A negative).

PAGE NO. _2_3_3_

AA5641

I'IlINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS~C~Y~B=ER~D~A~T~A~____________~________________________~__________

PROGRAMNAME __~E~F~M~--=E~n~t~e~r~F~o~r~m~a~t~_______________________________________________________~L~e~\I~e~1~a6
FMTMD:

Processing the header line.
Temporary variables are cleared. If there is no comma after
'EFM' the command is rejected (inval id command format).

FSIZE:

CAM is called to achieve core for maximum format table size. If
not available, another try is made each Cyberdata cycle, up to
100 times. If core Is still not available, EFM gives up and
sends an error message - MEMORY FULL - RETRY. If CAM returns the
address of available space, it is 1 inked back by saving the FMTBAS
address on top of the FMT (as backwards pointer) and FMTBAS points
to top of FMT.

CLRL~P:

The achieved core area is cleared (554 words), not changing the
first three words in FMT and the ANALYS routine is entered with
A set to the displacement from L~DCNT to MDRINF.

RTNHDR:

Set the third word of FMT to correct values (according to the
information contained In:
FREVER - forces reverification
FMTN~ - format number) and mark it as active (bit 15 = 0).
Set maximum record length (minus 1) in word 2 of FMT. Set
autosequencing flag bit (#13) and clear time control bit in FMT
word 1, according to AUTSEQ. If no autosequencing required,
header and all-auto flags are cleared and control passes to
either SETLNG (set "auto sequence length) or GETNXT (get first
field) depending on whether Q is zero or not. If autosequenclng
is required then,

SETBAS:

Set field length to 3 (field format word 0), set data type to pure
numeric and keying mode to variable. Also set field name length
to 3 words. If resequencing is required, the corresponding
resequence number (lower half of RESEQ) goes to field table
word 3, the RS bit (word 2 bit 15) is set and Q is increased by 1
(FMT word 7 Is already used). It assures that in both cases
(autosequencing or not),

N0RS:

Places the field name AUTSEQ in its right place, before transferring
control to SETLNG.

ANALYS:

The input line analyzing routine. Control table relative address is
stored in CMTPTR. If supervisor 1 ist unit is a CRT and that was
last line, the screen is cleaned. The input line is rewritten
except for 3 cases: supervisor 1 ist unit is also its input unit,
number of characters read is 0 or the 1 ine was a header.

PAGE

AA5641

NO.

234

'1INTfO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A_____________________________________________________
PROGRAMNAME __~E~F~M~-~E~nwt~e~r~F~o~r~m~a~t~________________________________________________~I~e~vwe~1~O~6

ANLY:

A pointer is set to the input buffer parameter number (4 if
header line, 0 if not). One character is read in and if it is
not on ASCI I character (end-of-record), default values are set
or not depending on the buffer containing at least 3 parameters
before the end-of-record is found. A loop (between UPl and
PCHAR) counts the number of parameters entered. If the 'REVISE'
bit is set, jump to REVISE even when no parameters were entered
before EOR.

E~R:

When a space (not the fill cha racter) is detected, a tes tis made
to find the end of record after it. If not found, program
continues counting the parameters and a later check will find
that error.

SET:

If more than 16 parameters were keyed in, control passes to END
(no need for default parameters). If some parameters were
omitted, a loop (NEXT) is entered during which the remaining
parameters are transferred from a default-parameters table
(TABMDR) to the input line (the interrogate buffer), through
the ST~RE subroutine. When the resequencing default parameter
is met, then,

RESEQN:

The current field number (+1 if autosequencing specified) is
translated to BCD (by the external BD routine), then to ASCI I
characters and is stored in the input line. Control returns to
NEXT.

ST~RE:

Stores in the input buffer (in the right halfword) the character
passed in A. When end-of-record is detected, control is passed to

ANALYSE:

The parameter number is increased and a control word is loaded
from the control table (MDRINF for header, FLDINF for field 1 ine).
If (according to the control word) the parameter has to be
numeric, the GETSUB subroutine is cal led and the ANLYSE loop is
entered again. If an alphabetic field then,

ALPHA:

A loop is entered during which the several possibi1 ities defined
for the actual parameter are checked against the corresponding
parameter in the input buffer. A flag (MATCH) is set to 1 and
cleared as soon as a correspondence is found. Then either the
SETBIT subroutine is cal led (for setting a bit in the FMT) or a
numeric subroutine is called (by GETSUB) to process the numeric
information in that parameter. Errors are signaled when:
- the Input buffer contains an erroneous parameter or an illegal
ASCII character;
- no match is found with any possible parameter.
If the parameter ends with a comma, control returns to ANLYSE and
the next parameter is checked. If not,
PAGE NO. _-=2-=3...;;;;.5_

AA5641

.. IINTEO IN THf USA

CONTROL DATA CORPORATION

DOCUMENTCLASS~C~Y~B~EB~D~A~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________~________________________~___________

PROGRAMNAME ____E_F_H__-__E_n_t_e_r__
Fo_r_m_a_t________________________________________________________L_e_v_e_l___
06

ALPHA8:

The next character is retrieved. One or more spaces followed
by end-of-record (or the E~R alone) pass control to ALPHA9.
Otherwise, an error Is signalled (through G0ER1).

ALPHA9:

If header line,

E0BFLD:

If all 16 parameters have not been specified or the lower and
upper limits were not given, ERR7 signals an error. If the parameters
were correct,

EXANYL:

In the case of header processing, BTNHDR receives control.
Otherwise the field name (if specified) is transferred to the
FMI, and control is passed to RTNFCD.

E0RHDB:

If the autosequencing parameter is not given or it was given and
resequencing needed but the autosequencing field number was not,
an Incomplete Command error message is issued. Otherwise,
control passes to EXANYL.

SETBIT:

If bit 15 of the parameter following the call is set, SETBIT
exits without any other action (just skipping the parameter).

E~RHDR

will resume processing it.

If not,

If not, the corresponding bit (6) is selected and inserted into
the word (W) of the actual field in FMT. Band Ware parameters
of the TSTB macro.
GETSUB:

After saving the returning address (for possible future 1/0 through
ENTSR, the actual subroutine address is retrieved from an
addresses table (SUBTAS) and control is passed to it. Return is
via EXTSR.

REVISE:

This section deals with format revision. Extract field number and
format string length. Subtract format field length from string
length, and look for field requested, adjusting for autosequencing.
If not found, exit to error (NO FIELD TO COPY). Else check for
Resequencing error and Record overflow which cause error exits.
If no errors are detected, move field information to new format,
and clear previous and current format field lengths. Jump to
SETLNG.

SUBTAB:

Table of relative addresses to the specified subroutines.

PAGE

AA5641

NO. __2_3_6_

PlINl(O IN THf USA

CONTROL DATA CORPORATION
CYBERDATA
DOCUMENTCLASS ________________________

~

(I

PSSD

•

SOFTWARE DOCUMENT

________________________________________

PROGRAMNAME ____E_F_M__-__E_n_t_e_r__
Fo_r_m_a_t___________________________________________________L_e_v_e_l___
06

SUBROUTINES:

I

"'---

500:

Set bit 15 of FMTN0 (revised format).

501:

Get format number (through GETNUM). If zero, signal an error.
If not zero, insert it in FMTN0, and compare to maximum format
number allowed. If greater, signal an error. Else enable EFM to
move (ENTSR), check if format exists (GFC0RE). An error is
signalled if format already exists (new format) or when trying to
revise a nonexistent one.

502:

Read maximum record length (GETNUM). If zero, signal error 13
( III ega 1 record coun t) • I f rev i sed forma t, the ac tua 1 max i mum
length has to be equal to the one kept in RECMAX. Otherwise, an
error is sent. I f they are equal, the corresponding format is
released (by RELF0R). If new or revised format,

5022:

Compare to the system's maximum record length (MAXRC). If lower
or equal to it, the actual record length is correct. Otherwise,
an error message is issued.

503:

Set the FREVER (Forced reveriflcation-bit number 13).

504:

Set bit 15 of RESEQ (resequencing needed).

505:

Set the autosequencing flag (bit 14 of AUTSEQ). The maximum
record length has to be at least 5 (and then RECCNT starts from
4), otherwise an error is sent.

506:

If resequen ing or autosequencing are not required, return with
no other action. Autosequencing field number zero or greater
than 127 is illegal and results in an error. Else, the resequence
number is added to ATEMP.

507:

Exit from analyzer (retrieve return address from stack).

508:

Get field name.

5082:

A loop during which up to 6 characters are read and stored in
their correct halfword (ATEMP+l to ATEMP+3). A name longer
than 6 characters is erroneous.

5087:

The last right halfword (if not used) is blanked.

5088:

If name ends with blanks, reduce its length so it will show
only meaningful words in FMT; then store the length in word
2 of actual field in FMT.

Blank ATEMP to ATEMP+3.

PAGE NO. _2_3_7_

AA5641

'IINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

_ _ _ _ _ _ _-'--__________________________

---.:C:.....Y~B_E...;...R:.....D:.....AT_A

PROGRAMNAME __~E~F~M~-~E~n~t~e~r~F~o~rm~a~t__________________________________________________~L~e~v~e~]~Q~6

GETNUM:

A number is read. If nonnumeric, an error message is sent.
If autosequencing field number and followed by comma, error 21
is sent. If not last parameter and not followed by comma an
l
I Incomplete line
error message is sent. Else return to caller.

S09:

Read a number (resequencing field number). If resequencing is
not requested, return to caller. If number greater than 127,
error message 4 is issued. Else set the RS bit in current
field table and store that number in the next free halfword
in FMT (done by STRHW). Then return to caller.

SOA:

Read maximum number of characters. If zero, or greater than 100,
issue error message 15. Else store it in FMT. Get data type.
If signed numeric (111) and length is 0, error 0 is sent.

SOA21:

Increase RECCNT by length of that field. If now RECCNT exceeds
RECMAX (specified in format header) error 5 Is signalled. Else
return to caller.

SOB:

Increase ALLAUT by 1

soc:

Get data type (by SOC1).

field not an auto one).

Return to caller if:

•

Last character is R and data is pure numeric or

•

Data is alphanumeric and last character is not R (left blank
fill wanted). In other cases, send an error message.

SOCl :

Get data type (bits 13;15 of word 1 in current field table).

SOD:

Get keying mode (bit KM of FMT). If it is 1 (variable), and
both boundary check is
(not needed) and verification type is
(no verification) then return to caller (field can be autoskipped). Otherwise an error results.

°

°
S19:

Get data type via SOC1, and check for unassigned numeric, and
variable keying. If one of these conditions is not met, exit
to error.

SOE:

Get one character. Restore comma if necessary (when A = 0).
If that character is INI and Is followed by a comma, return to
caller. Otherwise, send error message 21. If character is not
~ but recording mode is variable, an error results (not reasonable
to fill blanks to zeroes and then cut them out). Else set the
FC bit (word 2 of current field table), store the fill character
(in word 3) and check if a comma follows. If yes, return to
caller. If no, error.

PAGE NO.

AA5641

(~urrent

_2_3_8_

'IINTED IN THE USA

CONTROL DATA CORPORATION
uuCUMENTCLASS~C~V~BAE~RLDAuT~A~

•

PSSD

•

SOFTWARE DOCUMENT

_____________________________________________________________

PROGRAMNAME ____E_F_M__-__E_n_te__r_F_o_r_m_a_t______________________________________________________L_e_v_e_l_O_6

GETCH:

Get one character (through GETALP) and return to caller only
if it is a legal ASCII (or comma). Otherwise send an error
message.

SOF:

Read own code number (through GETNAM). I f zero return to caller
without any action. If not zero, compare to the maximum own
code number (in EST). If lower or equal to it, set bit 13 (0C)
in word 2 of current field table, store the own code number in the
next halfword and return to caller. Else send error message 16.

S10:

Read spec i a 1 tes t number (th rou gh GETNUM). If ze ro (no spec i a 1 tes t
wanted) return to caller. If not zero, compare to the maximum
special test number (in EST). When higher, send error message 17.
If legal, compare it to maximum CDV test nu~ber. If higher, set
the ST bit (word 2 of current field table), store that number in
next halfword in FMT and return to caller. If not higher (CDV
test required) then get data type (by socl) and see if it is
unsigned numeric (data type = 6). If not, send error message 17.
If yes, check field length. When greater than 15, error 17 occurs,
else save that test number and set the ST bit before returning to
ca 11 er.

STRHW:

Set the bit passed in A, in word 2 of current field table (in FMT).
Reverse MLFWRD bit 14 (left or right halfword indicator). When it
is 1 store the value in ATEMP into the left halfword of the word
FMTPNT points to. Otherwise, store it in the right side of that
word and then increase FMTPNT, before returning to caller.

S 11 :

After saving CHAR (passed as parameter), read next character. If
comma, return INPTR to point to that comma (as it was 1 0 1 ) . If not
comma, check that the counter number is in the allowed range (0 to
7), and signal an error if not. Otherwise A gets the counter
number and
See if last function (CHAR) is IN I • If yes, only counter number 0
is allowed, other counter numbers results in an error. When
function is not N, but counter number is 0, error. Otherwise set
bit 4 (subtract) only if CHAR is lSI. In both cases (S02 A) insert
the new counter number In C~UNT. If it was 0, return to caller.
If not, check (through SU16) if the field has the right length
(counter keeps up to 15 digits, so the field cannot be longer).
For unsigned numeric fields, maximum length of 15 is allowed, and
16 for signed numeric. Longer or nonnumeric fields cause an
error message to be sent.

S112:

PAGE

AA5641

NO.

_2_3_9_

'IINTED IN THE

us.

CONTROL DATA CORPORATION

JOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA

~~~~----------------~--------------------------~-------------------

~ROGRAMNAME __-ME~FuM_-~E~n~t~e~r~F~o~r~m=a=t

________________________________________________=L~e~ye~1~0~6

s18:.

If no counter information specified, return to caller. Otherwise
set the CNT bit and insert the halfword containing the counters
information (C0UNT) in the next free halfword in EMT. Then clear
C0UNT and return to caller.

S15:

If CHAR (now parameter 16) is lEI then set C~UNT, to 6. Otherwise,
set it to 4. Check if field is legal (numeric,length less than
15 or 16).by S1116. If correct, return to caller. If not, send an
error message.

s16:

Get limits (when specified).
If C~UNT is 0, an error message is sent (C~UNT should indicate
inclusive or exclusive operation). If next chanacter is end-ofrecord, the secondary read flag (bit 13 of RETURN) is set and a new
lin~ is read (through READ 12).

READL:

Clear the secondary read flag. If necessary, clear the supervisor
CRT screen (RDSP2) and redisplay the Information (RDSP3) only if
the supervisor list unit is not the same as its Input unit (TTY).
Restore the return address, altered by the I/~ (READS1).

S163:

Get the 2 limits (by GETLIM, which stores them In the FMT). After
restoring pointers (into the EMT: FMTPNT) raise the L (limits}
bit in FMT and store the number of words for both lower 1 imit and
upper limit in the next halfword (by STRHW). Then check for
end-of-record occurrence. If found, return to caller if not,
send an error message.

GETLIM:

Clear a temporary area (SL to SL+3). If end-of-record is the next
character, send an error message. Else restore the interrogate
buffer pointer (INPTR) and

GETDIG:·

Get one character. If it is a digit (greater or equ.Rl $30, lower
than $34) push it In the rightmost.4 bits of SL. shifting all other
bits left as If SL to SL+3 was a continuous field of 4 bits
dig its ( SL+3 fir s t, SL 1as t , tot all 6 dig its). Th a t t ask i s
achieved by a series of shifts (GETL1). The leftmost 4 bits of
SL+3 are lost. If they were not zeros (more than 16 digits specified)
an error message is sent.
As soon as a nonnumeric character is read, a test is made at
GETD2 (it ha!? to be 1+1 or I_I). If not, an error message is sent.
Otherwise the appropriate sign is set (F for I_I, zeros for 1+1).
The last significant word (from SL to SL+3) is retrieved and the
length adjusted accordingly (GETD4). The sign is inserted (LAST),
the actua.1 number of words I s stored in C(6UNT (LAST1) and a loop
(GETDS) is entered during which the SL temporary area is moved to
EMT In reverse order (the most significant digits were in the last
significant word in SL). Then control is returned to caller.

PAGE NO.

240

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y=S=E~RD=A~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________~_____________________________________

PROGRAMNAME _____________________________________________________________________________
EFM - Enter Format
Level __
06

517:

No operation subroutine.

Does nothing, just returns to caller.

MDRINF:

A table of parameters defining the several possible inputs for
every parameter and the required action in each case. The modular
table is set up by macros and defines the required inputs and
actions for the header 1 ine.

FLDINF:

Same as HDRINF, but defines parameters for a field defining 1 ine.
Refer to the macros descriptions for more information about each
one.

INTERFACE
1•

ENTRY METHOD
EFM is entered through ENTPRG, by DSKSUP.

z.

INPUT PARAMETERS
I =
ATT
ATT
ATT

3.

current ATT base address
supervisor input unit
supervisor 1 ist unit
supervisor basic input unit

+ 36
+ 37
+ 39

EXIT METH.OD
If errors are detected in the header line, an appropriate message is issued
via REJSUP.
If errors occur in field specifications, an error message is
issued, but control is retained, unless CNCL or SX is entered, which
terminates the function. Otherwise, exit to ENTPRG with an indication for
calling 'write format' (write trre new or revised format on disk and link
it to LFD).

4.

OUTPUT PARAMETERS
a.

Error codes are transferred In A.

b.

Updated FMT is written on disk.
FMT in use) is not al teredo

PAGE NO.
AA5641

Current FMT (if revision required and

241

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __
CY_B_E_R_DA_T_A__________~______________________~________
PROGRAMNAME ___E_F_M_-_ _
E_nt_e_r_F_o_rm_a_t_________________________________________~L~e~ve~1~06

ASSEM8LY CHARACTERISTICS
1•

EQUATES
a.

LOCORE
LPMASK ($2)
ZR0B IT ($33)
SST ($47)
NZER0 ($12)
ZER0 ($22)
0NEBIT ($23)
TEN ($46)

b.

ATT
STEMP (20)
ATEMP (73)
AINT (27)
SUP I NP (36)
CALRP I (42)
HLFWRD (47)
INPTR (48)
PREVL (51)
ALLAUT (54)
AUTSEQ (55)
FIELD (56)
CHRCHT (59)
C0LUMN (62)
PFBA (07)
RQ (65)
TRMNT (23)
SUPLST (37)
FMTBAS (46)
RETURN (47)
FMTPNT (49)
RECMAX (52)
FMTN0 (54)
FREVER (55)
CNTPTR (57)
CHAR (60)

PAGE NO.

AA5641

242

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

_CY_B_E_RD_A_T_A_ _ _ _ _--'-_______________________
Format
06
PROGRAMNAME _ _EFM
_ _- _Enter
___
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Level
_ ___
DOCUMENT CLASS

FMTNMB ( 13)
LU (3)
SUPC~M (36)
BSCINP (39 )
HEADER (47)
ERC~DE (47)
FLDBAS (so)
RECCNT (S3)
RESEQ (SS)
RSQAUT (SS)
MATCH (S8)
C{2JUNT (61)
c.

COi~STANTS

MAXSPT
MAXFMT
E ($4S)
B ($42)
L ($ 4C)
S ($S3)
Y ($S9)
RSQASQ
FW (3)
MXWAIT
MAX~C

(3)
(24)

(.7)

(100)

(4)

A ($41)
F ($46)
X ($S8)
N ($4E)
U ($5S)
LIMTCL (16)
MCHRCL (3)
M(6T (S)
MAXRC (38)
D ($44)
I I ($49)
K ($48)
R ($S2)
V ($S6)
ASQCL (6)
FR (2)
SIZE (S10)

iI,
PAGE NO.

AA5641

243

'RINTED IN THt USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y=B~E~RD~A~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

______________________________________~___________________

EFM - Enter Format
Level 06
PROGRAMNAME ____________________________________________
----__________________________
_

2.

MACROS USED
a.

HEAD T, B
If T
If T

b.

= N then
= A then

execute subroutine SBxx (IBI)
B Is an index given to each parameter.

ENDF N
N equals IBI

(second parameter of HEAD).
beginning with HEAD.

c.

That macro closes the definition

TSTB C,B,W,V
I f current character checked Is C, then set bit B of word W in
FMT to the value v.

d.

TSTF C, SBxx
If cu rren t character checked is C then call subroutine Sxx.

e.

SUBR xx
Set the distance from the calling point (It is fixed) to the subroutine
Sxx.

3.

PROGRAM DEPENDENCIES
a.

EXTERNALS
SETDIS
CCKEND
SETM~V

BD
PRTMSG

PAGE NO.
AA5641

244

,aINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

_ DOCUMENTCLASS~C~Y~8E~R~D~A~TA~__________~____________________________________
PROGRAMNAME __________________________________________________________________
EFM - Enter Format
Level __
06

h.

Transfer Vector
ENTSR ($91)
RTNSR ($98)
GETC~M ($9C)
EXDFUN ($9F)
CAM ($AE)
REJ SUP ($ B2)
EXTSR ($92)
GETBIN ($99)
GFc0RE ($9D)
DISPLY ($AO)
WAIT ($60)
SUPRW ($97)
GETALP ($98)
ENTPRG ($9E)
RELF0R ($AD)
SV ($61)

4.

DATA AREAS AND TABLES USED
ATT
ENTSR Stack
EST
Interrogate buffer

i

"'--

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
606 16

= 154210 words.

528 words for FMT buffer.
2.

RELOCATION TYPE
Loader relocatable, run anywhere.

3.

REENTRANCY
Reentrant.

PAGE NO.

AA5641

245

'IINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S__________~_____________________________________________
PROGRAMNAME ____E_J_B__- __E_n_te_r__J_o_b__________________________________________________________L_e_v_e_1__
6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
The EJB program processes the EJB supervisor command. Its function is to
create a new entry in the LJD, or to modify an existing entry.

2.

DETAILED DESCRIPTION
Before call ing the GETLJD program, whose function is to create or modify
the specified entry in LJD, EJB checks the val idity of the given
parameters. The parameters are inspected in the same order as they
appear in the command. The first erroneous parameter will cause an
error exit to be taken to REJSUP. If all parameters are val id EJB calls
GETLJD, after having located the suitable parameters in core locations
immediately after the RTJ GETLJD instruction. If the status is N GETLJD
is called with Q = 0 (for enter new job). Else GETLJD is called twice:
once with Q = 1 (for locate job), after which a check is made if the
maximum record length specified in the command is at least as large as
the record length in the current LJD entry. If this condition is met a
secorid call is made, with Q = 4 (for modify existing entry).

INTERFACE
1.

INPUT PARAMETERS OR CONDITIONS
The parameters for EJB are given by the user when entering an EJB command.
Syntax
EJB,a(l) ,aaaaaa(2) ,nnn(3) ,aaa(4) ,nnn(5) ,nnnn(6)
(1) Job Status

N (new)

or

CR

R (revised).

(2) Job Name.
(3) Magnetic tape format (1 through 255).

(4) Verification type - F (format), E (error field), and/or
!!. (unbalanced field)-;~ (no verification type).
(5) End of batch own code number (0 through 127).

(6) Maximum record length for job (1 through 1000).
In case of status R, the max. record length may be increased but
may not be reduced7
=

current ATT address.

PAGE NO. _2_4_6_

AA~641

PRINTED IN lHf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

__I~M~S__________~_______________________________________________

DOCUMENTCLASS~C~Y~B~E~R~DA~T~A

EJ B - En te r Job
PROGRAMNAME __________________________________________________________________________
6
Level __
2.

EXIT METHODS
If no ERROR is detected RETURN to SV.
If an ERROR is detected exit is made to REJSUP.

3.

OUTPUT PARAMETERS OR CONDITIONS
I

=

current ATT base address

The error message which might be printed are:
a.

INVALID JOB NAME
The job name started with a blank or job name was more than 6 characters.

b.

INVALID OHN CODE NO.
End of batch own code greater than allowed (255).

c.

UNDEFINED JOB NAME
Name of job to be modified not in LJD.

d.

INCOMPLETE COMMAND
Command does not include all required parameters.

e.

INVALID COMMAND FORMAT
Missing comma before parameter 1 ist.

f.

INVALID RECORD LENGTH
The maximum record length exceeded the maximum allowed or an
attempt was made to modify the maximum length in an existing job
to less than before.

g.

INVALID MAG.

TAP FMT NO.

Magnetic tape number was less than 0, or greater than 255.
h•

INVALID VERI FICA T I 0 I~ 0 PT ION
The characters given for the verification option were not N, F, U, or E,
or the same letter appeared more than once, or no specification given.

i.

MAX. NO. OF JOBS EXCEEDED
Job directory already full.

j.

DUPLICATE JOB NAME
The new job to be entered had a name existing already in the LJD.

k.

INVALID STATUS OPTIONS
Status was not N or R.

PAGE NO.

AA5641

247

,.INHO IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_YB_E_R_DA_T_A__
IM_S________~________________________________________
PROGRAMNAME ___E_J_B_-_ _E_n_te_r__
Jo_b____________________________________________
Le_v_e_1__
6

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
LPMASK ($2)
NZERO ($12)
ONEBIT ($23)
ZEROBIT ($33)
SST ($47)
EXTSST ($47)
GETBIN ($99)
GETALP ($9B)
GETCOM ($9C)
SUPPW ($97)
SV ($81)
REJSUP ($B2)
b. ATT
SUPTMP (36+10)
SAVJOB (SUPTMP+1)
MRL (SUPTt1P+4)
EOBOC (SUPTMP+5)
JIDX (3)
c. SST
STEMP (20)
d. EST
MAXOCD (4)
MAXMTF (4)
t~AXRCL (38)
e. CONSTANTS (ASCI I)
Y ($ 59)

N ($4E)
E ($45)
U ($55)
R ($52)
V ($56)
F ($46)
2.

MACROS USED
None.

PAGE NO.

AA5641

248

PlINTfD IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E_R~DA~T~A~I_M_S

•

PSSD

•

SOFTWARE DOCUMENT

_________________________________________________________

PROGRAMNAME __~E~J~B__-~E~n~t~e~r~J~o~b________________________________________________~I~e~v~e~1~6
3·

4.

PROGRAM DEPENDENCIES
GETLJD
SETHOV
GETALP
GETBIN
GETCOM
REJSUP
SV

to enter
entry n
entry n
entry n
entry n
entry n
entry n

or modify a job entry
ENEXSR to enable the program to move
SCANV to pick up nonnumeric parameters
SCANV to retrieve numeric characters
SCANV to check for comma
SUPER for error exits
SUPER for normal exit

DATA AREAS USED
ATT
SST
EST
LJD

PHYSICAL REQUIREMENTS
1.

MEMORY SPACE REQUIREMENTS

2.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentran t.

PAGE

AA5641

NO.

_2_4_9_

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_s__________~________________________~___________________
PROGRAMNAME __~E~M~M~-~D~i~s~p~l~a~y_=a~nd~S~t~o~r~e~C~h=a~r~a~c~t~e~r~i~n~E~n~t~ry~M~o~d~e~______________________~L~E~V~E~L~6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
EMM has 14 entry points:
a.

EMM moves the current character to the Terminal Record Buffer, updates
character counter checks for end of field, and continues processing
at EMMS1.

b.

EMMS checks for signed numeric, and makes sure a sign exists where
necessary.

c.

EMMSKP sets up the requirement for the SKIP key to be next, and enters
IDK mode.

d.

EMMl performs validation checks on the current field and continues
processing at EMM2.

e.

EMM2 exits to VMM if the current field is verifiable and part of
an inserted record, exits to CLRSR if in Pseudo Entry mode and not an
inserted record, and continues processing at TSTREC otherwise.

f.

TSTREC continues processing at TSTODD if the current field is the
last field in the format. If not, TSTREC advances to the next field
in the format and continues processing at EMM5.

g.

EMM5 performs automatic SKIP/DUP functions as required for the current
field.

h.

TSTODD pads the current record to an even number of characters, if
necessary, by adding a zero byte to the record, exits to CLRSR if the
current record is an inserted record, and exits to EORENT if not.

i.

VALDTE performs end of field validation: Nonzero Test, Limits Test,
Special Test, Own Code, and Counter updates.

j.

COUNT adds/subtracts the value of the current field to/from the
designated counters, if any.

k.

BOFFE advances pointers to the next field in the Format Table and
stores data type of next field in Active Terminal Table (ATT).

1.

SETBOF inserts data type of new field in ATT and displays field number.

m.

STTYPE moves the Data Type code from the Current field description
to the ATT.

n.

AUTO performs automatic functions on a field, as required.

PAGE NO. _2_5_0_

AA5641

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_R_DA_T_A__I_M_s__________~_____________________________________________
PROGRAMNAME ____E_M_M__
-_D__
is~p_l_a~y__
a_nd__S_t_o_r_e__C_h_ar_a_c_t_e_r__i_n_E_n_t_r~y__M_o_d_e_____________________L~E~V~E~L~6

2.

DETAILED DESCRIPTION
a.

EMM
1. (EMM). Call SBYTE to store current character in Terminal Record
Buffer (TRB).

b.

•

Increment ATT/FCNT by 1 (no. of characters in field) and ATT/RCNT
by 1 (no. of characters in record).

•

Call DISPLY to display current character and current column
number.

•

Check for end of field.

If not, exit to CLRSR.

EMMS 1
1. (EMMS 1) • I f end of fie 1d, check data type.
field, go to step 2.

I f not signed numer i c

o

If last character of signed numeric field is plus or minus
sign, go to step 2.

•

Back up ATT/FCNT and ATT/RCNT by 1, and call DISPLY to blank
out last character in display.

•

Set ATT/SW 2/4 (Dup must recall data from disk).

•
Exit to ERROR with (Q) = A2 (SIGN MISSING).
2. (EMMSK1). If field boundary checking is selected for this field,
go to step c.l. If not, go to step d.l.
c.

EMMS KP
1. (EMMSKP).
o

d.
e.

Set ATT/SW1/9 = 1 (SKIP key must be next).

Set ATT/MODE/14 = 1 (lDK mode), and exit to CLRSR.

EMMl
1. (EMMl).

Call VALDTE to perform val idation checks on the field.

EMM2
1, (EMM2).

If ATT /SWl /12 =

Q

II
G

0

(not insert), go to step 2'.

If in Entry mode, go to step f. 1 .
If positioned beyond last verified record, go to step f. 1 .
Ca 11 CHKVRY to check whether current field is to be verified.
If not, go to step f.1.
Set ATT/MODE/12 = 1 (Pseudo Verify mode), and ex it to RVFVER
( in VMM) to verify the field.

PAGE NO.

AA5641

a

251

PRINTED IN THE US ...

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_R_DA_T_A__I_M_s__________~_____________________________________________
PROGRAMNAME ____E_M_M__
-_D__
is~p_l_a_y__
a_nd__S_t_o_r_e__C_ha__
ra_c_t_e_r__i_n_E_n_t_r~y__M_o_d_e_____________________L_E_V_E_L__
6

2. (EMM3) • If not Pseudo Entry mode, go to step f. 1 •
3. (PSEUDO). Set ATT/MODE/13 = o (not Pseudo Entry mode) and
ATT/MODE/14 = 1 (IDKmode).

•
f.

Set ATT/SW1/ll

TSTREC
1. (TSTREC).

=

1 (COR key required), and exit to CLRSR.

If current field is last field in format, go to step h.

•

If not, call DISPLY to set display position to next field.

•

Call BOFFE to select next field description in format and put
data type of next field in ATT/DT/13-15.

g.

EMM5
1. (EMM5). Call AUTO to perform automatic SKIP/DUP functions as
required, and exit to CLRSR.

h.

TSTODD
1. (TSTODD). If the current record contained an odd number of
characters, call SBYTE to add a binary zero character to the record.

i.

o

Clear ATT/SW(Y4 (no need to read from disk for dupl ication).

•

If ATT/SW1/12 = 1 (Record insertion), go to step e.3.
If not, exit to EORENT.

VALDTE
1. (VALDTE).
8

Call ENTSR to save return address.

Set ATT/SW2/13 = 0 (No revalidation required).

2. (TSTNZ). If Nonzero Test is specified, call NZT to test the field
for all spaces or all zeros.
3. (TSTLL). Call FMTPAR to locate Limits parameters.
is specified; call LUL to perform the test.

If Limits Test

4. (TSTST). Call FMTPAR to locate Special Test parameter. If Special
Test is specified, fetch address of Special Test routine from
STJLNG table. If the address indicates an unpatched External
Reference, exit To ERROR with (Q) = $9 (Special Test Error). If not,
call the designated Special Test routine to perform the test.
5. (TSTOC). Call FMTPAR to locate Own Code parameter. If Own Code
routine is specified, call ENTPRG to load and execute Own Code,
with returns to step 6.

PAGE NO.

AA5641

252

PlIHTED IN THE

us.

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

,DOCUMENTCLASS __c_Y_B_E_R_DA_T_A__I_M_s__________~_____________________________________________
PROGRAMNAME __~E~M~M~-~D~i~sp~la~y~a~n~d~S~t~o~r~e_C~h~a~r~a~c~t~e~r~i~n~En~t~r~y~M~o~d~e~___________________________~L~E~V~E~L~6

6. (TSTCNT). Call FMTPAR to locate Batch Counter parameters. If
counters are specified, call COUNT to add or subtract the contents
of the current field to the designated counters.

j.

•

If field was marked as erroneous but now passes validata, go to
FLAGS (3rd entry point of REPKEY) to clear the indicators.

•

Exit to EXTSR to return to caller.

COUNT
1. (COUNT). Save counter number in ATT/ATEMP + 1/8-15.
to pack current field for arithmetic purposes.

Call PACK

2. (COUNT2). Shift ATT/ATEMP +1/ left 4 store pack and check 4 L.S.B.
If counter number = 0 (counter not defined), go to step 3.
o

Calculate address of counter in ATT. If addition is specified,
call ADD to add packed value of current field to designated
counter, and continue at step 3.

o

If subtraction is specified, call SUB to subtract the packed
value of the current field from the designated counter.

3. (CHECK). If counter number in ATT/ATEMP + 1/12-15 :/: o ,(second
counter number 0) repeat step 2 for the second counter. Otherwise
exit to the caller.

~

k.

(BOFFE)
1. (BOFFE).

1•

m.

Update SST/FFA to point to next field in Format Table.

o

Update ATT/RFA/0-7 to relative address of next field in
Format Table, and increment ATT/RFA/8-15 by 1.

o

Call STTYPE to move data type of next field to ATT/DT/13-15.

o

Exit to caller.

(SETBOF)
1. (S ETBOF).

Ca 11 ENTSR to save retu rn add res s.

o

Call STTYPE to move data type of current field to ATT.

o

Call DISPLY to display new field number.

o

Exit to EXTSR, which returns to caller.

(STTYPE)
1. (STTYPE). Move data type from current field description in
Format Table to ATT/DT/13-15, and exit to caller.

n.

(AUTO)
1. (AUTO).
o

Ca 11 ENTSR to save retu rn add res s.

Set ATT/ECODE
is needed.

= $FFFF,

to indicate whether column display

PAGE NO. __
2_5_3_

AA5641

'tiNTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS

PROGRAMNAME __~E~M~M_-~D~i~s~p~la~y~a~n~d~S~t~o~r~e_C~h~a~r~a~c~te~r~i~n~En~t~r~y~M~od~e~__________________~L~E~V~EL~6

PAGE NO.

AA5641

254

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_R_DA_T_A__I_M_s__________~_____________________________________________
PAOGAAMNAME ____E_M_M__-__D_i_s~p_Ia~y~a_n_d__S_t_o_r_e_C_h_a_r_a_c_t_e_r__i_n__
En_t_r~y~M_o_d_e____________________~L~E~V~E~L~6

INTERFACE
1. ENTRY METHOD
EMM, EMMSKP, EMM1, EMM2, TSTREC. EMM5, EMM1S and TSTODD are all entered
using the JMP instruction t with no special parameter requirements.
VALDTE, BOFFE, SETBOF, STTYPE, and AUTO are closed subroutines, that is,
they are entered using the RTJ instruction. No parameters are required.
COUNT is a closed subroutine with a parameter requirement.
(A) = abcde
Where:
a

(bit 15) = 0 means add the field to first counter.

=1

means subtract the field from first counter.

b. (bit 12-14) = first counter number.
c. (bit 11) = 0 means add the field to second counter.
=

1 means subtract the fields from second counter.

d

(bits 8-10) = second counter number.

e

(bits 0-7)

=

0

In each case, (1) = Base address of Active Terminal Table (ATT).
2.

EXIT METHOD
EMM, EMMSKP, EMM1, EMM2, TSTREC, EMM5, and TSTODD exit to CLRSR, EORENT,
or ERROR.
VALDTE, BOFFE, SETBOF, STTYPE, AUTO, and COUNT all return control to the
Caller under normal conditions. VALDTE exits to ERROR if the SPECIAL
TEST routine is undefined. No special parameters are returned.
(I) = Base address of ATT.

PAGE NO.

AA5641

255

PaiNTED IN THE USA

CONTROL DATA CORPORATION

CYBERDATA IMS
DOCUMENTCLASS __________________

~

•

PSSD

•

SOFTWARE DOCUMENT

______________________

~

________________

PROGRAMNAME ____
EM_M__
-_D_i_sP_l_a_y_a_n_d_S_t_or_e__
Ch_a_r_ac_t_e_r_i_n_E_n_t_ry___M_od_e_____________________
LE_V_E_L__
6

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a. LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ON EB IT ($23)
ZROBIT ($33)
SST ($47)
ENTSR ($91)
EXTSR ($92)
CLRSR ($93)
GBYTE ($94)
SBYTE ($95)
ERROR ($96)
ENTPRG ($9E)
DISPLY ($AO)
b. SST
FFA (12)
STEMP (20)
c. ATT
CURCH (2)
MODE (2)
FCNT (3)
RCNT (4)
ATRB (6)
DT (13)
RFA (14)
BMOD (15)
SW1 (19)
SW2 (20)
RCORD (31)
RCD (32)
ECODE (34)
ATEMP (73)
d. ERROR CODE
ERRA2 (2)

PAGE NO.

AA5641

256

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_R_DA_T_A__I_M_s__________~_____________________________________________
PROGRAMNAME ____E_M_M~-__
D_i_sp~la~y~a_n_d__
S_t_o_re__C_h_a_r_a_c_t_e_r__i_n__
En_t_r~y__M_o_d_e____________________~L=E~V~E=L~6

2.

PROGRAM DEPENDENCIES
ENEXSR

GSE

VMM

ENTSR
EXTSR
{ CLRSR

' '"---

Get current character from Terminal Record Buffer
Store character in TRB
Display error code

ENTPRG

Enter a disk resident program

DISPLY

Display routine

CHKVRY
{ RVFVER

Check whether current field should be verified
Verify current field

BOFFE

Advance to next field

EORENT

Write current record to disk

FMTPAR

Locate field parameter in Format Table

ARITH

NZT
LUL
PACK
ADD
SUB

Nonzero test
Li mi ts test
Convert current field to packed format
Addition routine
Subtraction routine

STJ

(ST JLNG)

Special test routine

.

SKPDUP
3.

GBYTE
SBYTE
ERROR

{

EMM

Save return address in Exit stack
Exit to last return address in Exit stack
Clear Exit Stack and function lock

DUPIT
{ SKIP IT

Advance counters to end of current field
Perform field-skipping operations

DATA AREAS USED
SST
ATT
TRB
FMT

System Status Table
Active Terminal Table
Terminal Record Buffer
Format Table

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS

2.

= 34010 words.
16
RELOCATION TYPE
154

Core resident, loader relocatable.
3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO. _2_5_7_

AA5641

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S__________~__________________________~___________________
PROGRAMNAME ____E_M_T__-__E_n_t_r~y__
M_ag~-_T_a~p_e__F_o_r_m_a_t___________________________________________L_e_v_e_1___
6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
EMT sets up the MFT table parameters according to the ones entered by
the supervisor. Every data written on tape has to be handled by a
corresponding format.

2.

DETAILED DESCRIPTION
EMT, 1 ike all other supervisor functions, starts by allowing itself to
be moved (SETMOV). Then it looks for the comma following the EMT
command. If not found, the command is rejected and a corresponding
error message is sent. If found the program proceeds by checking the
input parameters against a table containing every possibility. ASCSUB
checks the first parameter (status). If legal and followed by comma,
the format number is read. Illegal number results in an error message
and rejection of the format. If legal number, it is compared with the
limits (1 to 255). When it doesnlt lie between them it is considered
illegal, and the command is rejected.
Otherwise, the current MTF (5 words) is read fro~ the disk (by subroutine
SUBR with Q = 0). The A/I bit is compared to bit 15 of MTFBUF + 5 (set by
ASCSUB if new format). Both 'active ' and Inew l or I inactive ' and Irevise l
attributes result in an error.
If no such error is detected, the A/I bit is stored in word 3 and the
other words of MTFBUF are ~leared.
Then, the recording mode, recording code, and overpunching parameters are
read. The ASCSUB subroutine set s the corresponding bi ts in MTFBUF. Any
errors (illegal parameter, missing comma) cause an error to be signalled.
The blocking mode is checked for correctness, in relation to other
parameters. Variable field recording is illegal if blocking mode is
fixed or unblocked. If blocking is variable, BCD ~ode is illegal. And
only if blocking mode is lUI, may the end-of-record code follow it. Every
error here causes the command to be rejected. The lUI attribute causes
the built format to be written on disk and control returns to supervisor.
The block length is retrieved and checked. If it is 0, and blocking mode
is lUI, or the length lies between the limits (18 to 4000) and is even,
then it is stored in MTF-Wl.

PAGE NO.

AA5641

258

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

___________________________________________________________

DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~I~M~S

Level ___
6
PROGRAMNAME __~E~M~T__-~E~n~t~ry~M~a~g~-_T~a4p~e~F~o~r~m~a~t______________________________________________________
The record length must follow if fixed recording, otherwise an error
is raised. If zero record length is specified, the recording mode
shou 1d not be fixed. I f not zero 1ength, it is wri tten in MTFBUF-W2
and the recording mode is checked to be fixed. If not fixed, or the
block length is not a multiple of the record length, an error message
is sent.
If no more parameters are passed (no padding) the record length is checked
to be greater than 18 and the command is either accepted or rejected,
accordingly.
PAD gets the padding character and sets MTFBUF bit P if binary padding
is needed. If no padding, the blocking mode should be either not fixed
or greater than 18; other configurations are illegal. If ASCII padding
is needed, one character is read and stored in CHAR. If binary padding
the recording mode should not be BCD, otherwise an error is sent.
Two characters are read, checked to be 0 - 9 or A - F, and their
hexadecimal equivalent is stored in CHAR, then in MTFBUF-WO.
If MTF own code follows it is read and checked to be between 0 and 31,
otherwise it is illegal. If correct it is stored in MTFBUF-WO.
If a file label number follows it is read and checked to be in the
correct range (1 to31). If it is, that number is inserted in MTFBUF-W1.
Next, the label parameters option bit is set (if requested) by ASCSUB, in
MTFBUF-W3. And lastly, the batch grouping factor is read (if specified),
checked to be in the range of 1 to 999 and store din MTFBUF-W3. I fall
the parameters were correctly specified, the resulting MTFBUF is written
on disk by SUBR with Q = 1 as parameter. SUBR gets the right disk address
for that MTFBUF and the writing is done through the WRTDWA subroutine.
ASCSUB sets bits in MTFBUF according to the input parameter (obtained
through GETALP). A printer to the set up-table is increased after
each check and a new control word is obtained from the table accordingly.
Each control word has the form:
N1/a, N3/b, N4/c, A8/d and its interpretation by ASCSUB is:
set bit c in word b of MTFBUF if the input character is d; a is 0
except for the last possibi lity in that field, there is 1.
C~ME~R is a subroutine to check the end-of-record condition.
If the next
character is a comma, C~ME0R returns with Q = O. If any ASCII character
follows, returns with Q = 1. If end-of-record is detected (possibly
preceded by blanks), the recording mode has to be fixed (otherwise
blocking mode should follow) and then the resulting MTF is written on
disk and control passed to SV. In any other case, the instruction is
rejected, after sending an error message.

PAGE NO. __2_5_9___

AA5641

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A_I_M_S________~________________________~_________________
PROGRAMNAME ____
EM_T__-__
En_t_r~y_M~a~g~-_Ta~p_e~Fo~r~m~a~t__________________________________~Le~v~e~1~6

INTERFACE
1. ENTRY METHOD
Called by DSKSUP through ENTPRG.
2.

INPUT PARAMETERS
I = base address of ATT.

3.

EXIT METHOD
If any errors detected exit to REJSUP with a corresponding error message.
If no errors, exit to SV.

4.

OUTPUT PARAMETERS
(I) is unchanged.

New (or revised) MTF written on disk.

ASSEMBLY CHARACTERISTICS
1• EQUATES
a. L'="C0RE
LPMASK (2)
NZERO ($12)
ZROBIT ($33)
ONEBIT ($23)
ZERO ($22)
b.
SST
SST ($47)
STEMP (20)
STEMP 1 (21)
STEMP2 (22)
STEMP3 (23)
EXTSST (0)
MTFADD (42)
c. TRANSFER VECTOR
CLRSR ($93)
GETBIN ($99)
GETALP ($9B)
GETCOM ($9C)
REJ SU P ($B2)
SV ($Bl)
SUPRW ($97)
CLCDWA ($90)
REDDWA ($A9)
WRTDWA ($AA)
EXTSR ($92)
ENTSR ($91)
PAGE NO.

AA5641

260

PRINTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENTCLASS~C~Y~B~ER~D~A~T~A~IM~S~

•

PSSD

•

SOFTWARE DOCUMENT

______~__________________________~________________

PROGRAMNAME ____
EM_T__-__En_t_r_y__
Ma_g_-_T_a_pe__F_o_r_ma_t____________________________________~L~e~v~e~1~6
d.

e.

SUPERVISOR ATT
SUPCOM (36)
SC (46)
MTFBUF (36)
TEMP1 (42)
TEMP2 (43)
PADCH (44)
COUNT (45)
t~TFN (46)
WORD (47)
FLAG (48)
CHAR (49)
SAVPNT (50)
BLKLNG (51)
DATA AREAS USED
ATT
EST

Interrogate Buffer

PHYSICAL CHARACTERISTICS
1.

2.

MEMORY SPACE REQUIREMENTS
19 B16 = 411 10
words.
RELOCATION TYPE
Loader relocatable, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE
AA5641

NO.

261

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_s__________~_______________________________________________
PROGRAMNAME __~E~N~E~X~S~R~-~C~o~m~mo~n~E~n~t~r~y~/~E~x~i~t~R~o~u~t~i~n~e__________________________________________~L~e~y~e~l~6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
ENEXSR has the following seven entry points to handle various entry and
exit conditions.

2.

a.

ENTSR saves in the ATT exits stack the return addresses of subroutines
with I/O or retry.

b.

RTNSR is entered by return jump and exits to the caller with Q=last
address in the ATT exits stack.

c.

EXTSR is entered by direct jump and exits to the last address in the
exits stack.

d.

CLRSR clears the ATT exits stack, does all necessary housekeeping to
release core and reinitia1 ize the ATT for the next function, and exits
to the dispatcher.

e.

SETMOV clears the I/O bit in the header of a disk resident program to
enable moving the program in core.

f.

STRTRY is used to delay a function for one terminal processing cycle
after which control is returned to the address in A upon entry.

g.

WAIT is entered by return jump and does the same thing as STRTRY except
control is returned to the caller.

DETAILED DESCRIPTION
a.

ENTSR saves A and Q and looks for an entry in the ATT exits stack.
If no entry is found, a MONITOR error 2 is generated and the ATT
is function locked. If an entry is found, it converts the return
address to relative if ATT/PI/15 is set clears ATT/PI/15, and sets
the relative entry bit.
If ATT/PI/15 is not set, the return address saved is absolute.
are restored and control is returned to the caller.

b.

RNTSR saves A and temporarily clears ATT/PI/15 (relative addressing).
It finds the last nonzero entry in the exits stack, temporarily saves
that exit address and clears the stack of that entry. It checks the
relative bits for relative addressing and adjusts according to where
that program is loaded if the address was relative. It resets ATT/PI/15,
sets Q equal to the last exit address, restores Aand returns control to
the ca 11 er.

c.

EXTSR detailed processing is the same as RTNSR except that it is entered
by direct jump and exits to the last address in the exits stack.

PAGE NO.

AA5641

A and Q

262

'1INTfO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
ENEXSR - Common Entry/Exit Routine
Level __
6
PROGRAMNAME _______________________________________________________________________________________
DOCUMENT CLASS

d.

CLRSR clears each entry in the exits stack, ATT/LOCK/14 (function lock),
and ATT/TRMNT/15, 14 (terminate function bits). If ATT/PI/15 (relative
address) is set, it releases the disk function via EXDFUN. If an
interrogate buffer is in use, it clears the interrogate buffer user
count and ATT/IRB (interrogate buffer address). It sets SST/SLOCK/SM
(storage move required bit) and exits to the dispatcher.

e.

SETMOV gets the program directory index (PRO) to find the address where
the program is loaded in order to clear the I/O bit in word 1 of the
program header. (See analytical supplement.)

f.

STRTRY return jumps to ENTSR to store the return address in the exits
stack. It sets ATT/LOCK/13 (pseudo function lock) and exits to the
dispatcher.

g.

WAIT is the same as STRTRY except that it is entered by return jump and
returns control to its caller.

INTERFACE
1.

ENTRY METHOD AND INPUT PARAMETERS OR CONDITIONS
In all cases, 1= ATT base address.

2.

.,
I

a.

ENTSR is entered by a return jump which must be the first instruction
after the entry cell of the program.

b.

RTNSR is entered by return jump.

c.

EXTSR is entered by direct jump.

d.

CLRSR is entered by direct jump.

e.

SETMOV is entered by return jump.

f.

STRTRY is entered by direct jump with A = return address to be stored
in ATT exits stack.

g.

WAIT is entered by return jump so that the caller's return address is
stored in the ATT exits stack.

EXIT METHOD AND OUTPUT PARAMETERS OR CONDITIONS
ENTSR returns to the caller with A, Q and

b.

RTNSR returns to the caller with Q = last address of exits stack and At
I saved.

c.

EXTSR exits to last address in exits stack with A, Q, I saved.

d.

CLRSR exits to the dispatcher.

e.

SETMOV returns to the caller with A, Q destroyed and I saved.

f.

STRTRY exits to the dispatcher •

g.

WAIT exits to the dispatcher.
PAGE NO.

AA5641

saved.

a.

_2_6_3_

'RINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__It_~S________~____________________________________________
PROGRAMNAME __~EN~E~X~S~R~-~C~o~m~m~on~E~n~t~ry~/~E~x~i~t~R~o~u~t~in~e~____________________________~L~e~v~e~1~6

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. SST
SLOCK (1)
PRD I R (3)
SST ($47)
MONITR ($8C)
EXDFUN ($9F)
b. ATT
PI (21)
TRMNT (23)
IRB (27)
ENTRY (79)
RELENT (78)
c. LOCORE
LPMASK (2)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
d. CONSTANTS
Length of exits stack.
STACKL (8)
2.

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
NDISP (Dispatcher)
ENTPRG (EXDFUN entry point to exit from a disk function.)
MONITR (Debug routine)
ENTRSR ($91)

4.

DATA AREAS USED
System status table
SST
ATT
Active terminal table
PRDIR
Program directory
Interrogate buffer
IRB

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
7E16 = 126 10 words.
PAGE NO.

AA5641

264

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_RD_A_T_A__I_M_S_________________________________________________________
PROGRAMNAME ____E_N~EX~S~R~-~Co~m~m~o~n~E_n~t~ry~/~E~x~i~t_R~o~u~t~i~n~e________________________________L~e~v~e~1~6

2.

RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Reentrant.

ATTACH ANALYTICAL SUPPLEMENTS
Disk Resident Program Header
15

I

14

I

13

I

12

I

11

I

10

I

9

I

8

I

7

I

6

I

5

I 4 I 3

I

2

I

o

Backwa rds Pointer
I/O

ICode I

~

Length

I

Interval
Disk Address
Time

PAGE NO.

AA5641

I o

User Count

2

3
4

265

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S___________________________________________________________
PROGRAMNAME __~E=N~T~P~R~G~-~C~o~n~t~r~o~l~f~o~r~D~i~s_k~R~e~s~i~d~e~n~t__P~r_o~g~r_a_m_s__________________________~L~e~v~e~1~6~

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
The program ENTPRG has two entry points: (1) ENTPRG is called to access
a disk resident program, and (2) EXDFUN is called to release a disk
resident program. All disk resident programs in Cyberdata are accessed
and released via ENTPRG.

2.

DETAILED DESCRIPTION
ENTPRG calls the common entry subroutine to save the return address in the
ATT exits stack. The entry parameters in A and Q are saved temporarily in
ATT/ATTMP3 and ATT/ATTMP2. If the request is for a key function routine,
the key function code is adjusted to be a proper index into the program
directory. Next the displacement from the beginning of the PRO to the
entry for the requested program is calculated and saved. The subroutine
GETBIT calculates the word, bit and address of the PRO control block where
the status of the requested program is saved. If the program is already
in core, the I/O bit is set for the block of core the program occupies
and the user count is incremented by one.
(COMMON). The caller's request parameters are checked for load only or
load and go. If the request was for load only, Q is set to the program
address (backwards pointer) and control is returned to the caller via the
common exit subroutine. If the request was for load and go (LOADGO), a
check is made to see if the entered routine is a subroutine. If it is not,
the last address is removed from ATT exits stack. The function index for
the requested program is stored in ATT/FUNIDX. The address within the
program of the entry point requested by the caller is calculated and stored
in SST/TEMP, then that address is jumped to.
If the requested program is not already in core, a check is made to see
if it is currently being loaded into core (in which case it is handled as
an in core case after a delay while it's load is completed). If it is not
in core and not being loaded into core t a check is made to see if the
program exists on the disk. If it does not exist on the disk, a request
to load a dummy function is made. The call ing parameters are set up for
a read of one word of the program to be read into ATT/ATTMP5. This first
word contains the program length which is increased by one for the backwa rds po inter and used as input to CAM for a core request. I f CAM does
not have the required amount of core, control is returned to the caller
via the common exit subroutine or to REJSUP if the request was a supervisor
function or retry is executed according to thecaller's parameters. When
core is obtained, the I/O bit in the program buffer is set, the PRO address
is cleared to indicate that the program is currently being loaded, and the
parameters are set up for the disk read by PIO (REDSEC). If the caller's
termina 1 is not in supervi sory mode, the request priori ty for the read is
incremented by one. After the program is loaded, the backwards pointers
are set in the PRO and program buffer, the PRO control word bit for the
requested program is set, and the logic at (COMMON) is followed from here.
PAGE NO.

AA5641

266

"INnD IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

__I~M~S____________________________________~_________________

DOCUMENTCLASS~C~Y~B~E~R~DA~T_A

PROGRAMNAME __~E~N~T~P~R~G~-~C~o~n~t~r~o~l~f~o~r~D~is~k~R~e~s~i~d~e~n~t~P~r~o~g~r~am~s~______________________________L_e_v~e_J~6
EXDFUN decr~fents the user count of the program buffer. I f the user
count is not# then zero, the time factor in the program buffer is updated,
ATT/FUNIDX is cleared, memory move bit (SST/SLOCK/14) is set and control
is returned to the caller. If the user count is zero and timing was not
specified, ATT/FUNIDX is cleared, the I/O bit in the program buffer is
cleared, the program buffer is released by CAM (RPRD), SST/SLOCK/14 is set
and control is returned to the caller.
INTERFACE
1.

ENTRY METHOD
Return jump

2.

INPUT PARAMETERS OR CONDITIONS
ENTPRG:
1
Q

= current ATT base address
= bit 15 = 1 , load only
0, load and go
bits 14-12

0, program is mi sce 11 aneous
1 , program is a key function

= 2, program is an interrogate function
= 3, program is a supervisor function
4, program is a mag tape function
=

5-6, undefined
7, program is an own-code

bit 11

1, wait until core available
if core not available return to caller with
Q = 0 or to REJSUP if supervisor function

= 0,

bit 10
bits 6-0

=
=
=
=

1 , entered rout i ne is a subroutine
0, entered rout i ne wi 11 not return
program number of current group

the entry point number in the requested program
A = bits 7-0
NOTE: All ATT temporaries except for the first one are used by
the program
1

= current

ATT/FUNIDX

ATT base address

= PRD

index of program to be released

PAGE NO. __2_6_7_

AA5641

,tINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__I_MS__________~________________________~__________________
PROGRAMNAME ____E_NT_P_R_G__-__
Co_n_t_r_o_l_f_o_r__D_is_k__R_e_s_id_e_n_t__P_ro~g~r_a_m_s________________________L_ev~e~1~6

3.

EXIT METHOD
ENTPRG: Discussed in detailed description and input parameters section.
EXDFUN: Return to caller.

4.

OUTPUT PARAMETERS OR CONDITIONS
ENTPRG: Discussed in detailed description and input parameters sections.
EXDFUN: User count is decremented and the program area is released if
necessary. FUNIDX is cleared and Control is returned to caller.

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a. LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
TRACE ($8B)
MONITR ($8C)
ENTST ($91)
RTNSR ($98)
RED SEC ($A 7 )
CAM ($AE)
WAIT ($BO)
REJSUP ($B2)
DIS PCH ( $EA )

,.:

b.

SST
SLOCK (1)
TMFCT (2)
PRDA (3)
PRINCR (13)
CLOCKS (17)
TEMP (20)
TEMPl (21)

c.

ATT
FUNIDX (21)
ATTMP2 (74)
ATTMP3 (75)
ATTMP4 (76)
ATTMP5 (77)
EXTERNALS
ABSADD entry point in PIO indicates that the next entry to PIO is of
absolute type address.
268

d.

PAGE NO. _ __

AA5641

'IINTED IN THI USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_R_DA_T_A__I_M_S__________~____________________----_____________________
PROGRAMNAME __~E~N~T~P~RG~-~C~o~n~t~r=o~l_f~o~r~D~i~s~k_R~e~s~i~d~e~n~t~P~ro~g~r~a~m~s________________________~L~e~v~e~l~6

2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
PIO
CAM
ENEXSR

NDISP
MONITR
SUPER

4.

REDSEC
ABSADD
ENTSR
EXTSR
RTNSR
WAIT
DISPCH
MONITR
TRACE
REJSUP

Read section or part of it
Core allocator module
Enter subroutine
Exit subroutine
Return address from stack
Wait one cycle
Dispatcher
Debugging module
Debugging module
Reject supervisor function

DATA AREAS USED
ATT
SST
PRD

\

',-

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS

= 200 10 words.
16
RELOCATION TYPE

C8
2.

Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Reentrant code.

PAGE NO.

AA5641

269

PaiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S__________~________________________~___________________
PROGRAMNAME ____E_N_T_R_Y__-__
E_n_t_ry~M_o_d_e__P_r_o_c_e_ss_0_r__________________----------------------L-e-v-e-1--6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
The ENTRY program processes the interrogate function
ENT,JJJJJJ,BBB,OOO,AAAA
Where:

2.

JJJJ
BBB
000
AAAA

is
is
is
is
if

the Job name (maximum 6 char.).
the batch number (1-999).
the operator number (000-999).
the autosequencing count (0000-9999, assumed to be 0000,
missing).

DETAILED DESCRIPTION
ENTRY first calls SETMOV to clear the I/O bit in the program header so
the program can be moved in c6re. If the terminal is not in Idle mode,
an El (invalid request) error is generated via ERROR. The ATT is reinitialized
for the start of a new batch. The job name is checked first for no more
than six alphanumeric characters. If not, a 04 (illegal job name) error
is generated via ERROR. A comma must follow the job name. The batch number
is converted from ASCI I to binary via SCANV (GETBIN). If the batch number
is not a numeric value in the range of 1-999 a D5 (illegal batch number)
error is generated. The operator number is then converted to binary and
checked for a numeric value less than 1000. If not, a 01 (invalid operator
number) error is generated via ERROR. The autosequencing number, if intended,
is also converted to binary and checked for a numeric value less than 1000.
If it fa i 1ed the test, a D6 (i nva 1 i d autosequence count) is generated.
The batch number and operator number are converted to BCD and stored in
the ATT. In case the display type of the station is a CRT the job name is
saved in the output buffer for further display requirements. GETLJD is
called to ensure that the job name entered is a legal one. The amount
of core needed for the maximum record length plus header is allocated via
CAM. If no core is available, an F4 (Memory full-try again) error is
generated. The allocated core is used for a TRB whose pointers are initial ized.
Next the batch is assigned to a disk. In a multiple disk system, the disk
assignments are made once to each disk each cycle, except that the system
disk is passed over every other cycle. DAM (GITRT) is called to assign
one logical track -to this batch. If there is no disk space available,
theTRB area is released and an F3 (disk full) error is generated.

PAGE NO.

AA5641

_2_7_0__

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S__________~_____________________________________________

Level __
6
ENTRY - Entry Mode Processor
PROGRAMNAME ______________________________________________________________________________
The first track of the batch (assigned by GITRT) is stored in the ATT.
SPILL (Active Batch Table handler) is called in to insert this batch in
the Active Batch Table. At this point a check is made for a dupl icate batch
number. If one is found, the allocated disk track is released via DAM
(RELTRT), the TRB area is released and a D5 (invalid batch number) error
is generated. BORENT (LINKTR) is called to set up the track table and
write it to the first sector of the batch. The start time of current run,
accumulated time of run, start time of batch and operator number are
saved in the first track of the batch. The available number of words in
the track, the word address of the first record to be written on the
disk, and the ATT are recorded on the disk. Before the ATT is recorded
on disk, it is set so that document or format select must be keyed in and
the mode of the ATT is put to be in Entry. DISPLY is called to set
display definition bits and regenerate the display. The program releases
its core via EXDFUN and exits to the dispatcher via CLRSR.
INTERFACE
1.

ENTRY METHOD
ENTRY is a disk-resident program loaded via ENTPRG.

2.

INPUT PARAMETERS OR CONDITIONS
I = current ATT base address.
AINT,I = pointer to the parameters entered (user count of the buffer

3.

EXIT METHOD
In normal conditions:
In error conditions:

4.

= 0).

Release core via EXDFUN.
Exit to dispatcher after clearing exits stack via CLRSR.
Exit to ERROR.

OUTPUT PARAMETERS OR CONDITIONS
New batch is initialized.
I = current ATT base address.

PAGE NO. _2_7_1_

AA5641

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A_I_M_S________~________________________~_________________

ENTRY - Entry Mode Processor
Level __
6
PROGRAMNAME ________________________________________________________________

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
LPMAS K (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
CLCDWA ($90)
CLRSR ($93)
ERROR ($96)
GETBIN ($99)
GETALP ($9B)
GETCOM ($9C)
EXDFUN ($9F)
DISP ($AO)
SP I LL ($A 1)
WR TD\~A ( $AA)
WRTATT ($AC)
CAM ($AE)
b. SST
EXTSST (0)
CLOCLM (16)
CLOCK (17)
STEMP (20)
c. ATT
FTOB (1)
CMODE (2)
JIDX (3)
ASCNT (5)
TRBA (6)
AVL TK (8)
TOPR (9)
TJOB (10)
TSBCH (11)
TCLK (11)
NDA (11)
TACTME (12)

Operator number
Job name
Batch number
Clock value

temporarily).
temporarily).
temporarily).
temporarily).

Accumulated time (saved temporarily).

PAGE NO.

AA5641

(saved
(saved
(saved
(saved

272

'IINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
ENTRY - Entry Mode Processor
Level __
6
PAOGAAMNAME ____________________________________________________________________
DOCUMENT CLASS

d.
e.

',,-

-

f.

2.

RFA (14)
BMOD (lS)
SWl (19)
FUN I DX (21)
ABTIDX (22)
A I NT (27)
ATOPT (33)
BATCH (3S)
ATEMP (73)
ATEMPl (74)
ATEMP2 (7S)
EST
DSKST (29)
ERROR CODES
Invalid operator number
CDl ($D)
Invalid job name
CD4 ($10)
Inval id batch number
CDS ($11)
Invalid autosequence count
CD6 ($lD)
Invalid request
CEl ($12)
Disk full
CF3 ($16)
Memory full-try again
CF4 ($17)
EXTERNALS
Parameter for DISPLY to set screen location according to A register.
SETDIS
Parameter for DISPLY to regenerate the display.
REGEN
SETMOV
DB
GETLJD
GITRT
RELTRT
LINKTR

MACROS USED
None

I

"
PAGE NO.

AA5641

273

'tiNTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C~Y~B~E~R~D~A~TA~I~M~S__________~________________________~___________________
PROGRAMNAME __~E~N~T~R~Y__-~En~t~r~y~M~o~d~e~P~r~o~c~e~s~s~0~r_______________________________________
le_\~le~1~6

3.

PROGRAM DEPENDENCIES
SCANV

(GETBIN)
(GETALP)
( ERROR)

GSE
CAM
DAM

(GITRT)
(REL TRT)

SPILL
PIO

(CLCDWA)
(WRTDWA)
(WRTATT)
(CLRSR)
(SETMOV)

ENEXSR
DISPLYARITH
GETLJD
BORENT
ENTPRG

4.

(BD)
(L INKTR)
(EXDFUN)

Get the number from input string in binary form.
Get an alpha character from input string.
Display error at terminal and terminate the function.
Allocate core for the TRB.
Allocate one logical disk track for data storage.
Release the logical track assigned.
Insert batch in active batch table.
Calculate disk word address.
Write in disk-word addressing form.
Write ATT to disk.
Clear exits stack and go to dispatcher.
Enable the disk resident program to be moved.
Set data definition bits and regenerate display.
Binary to decimal conversion.
Val idate job name and get LJD index.
Set up track table and write to first sector on disk.
Release the disk resident program.

DATA AREAS USED
ATT
SST
TRB
DTL
TOPT

PHYS ICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
118 16

2.

= 28010

words.

RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant code.

PAGE NO.

AA5641

_2_7_4_

'tiNTED IN THE USA

CONTROL DATA CORPORATION
CYBERDATA IMS
DOCUMENTCLASS ________________________

~

•

PSSD

•

SOFTWARE DOCUMENT

________________________________________________

PROGRAMNAME __________________________________________________________________________
EOB - End of Batch Processor
Level __
6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
The End of Batch Processor checks batch counters for zero values, calls
the EOB Own Code routine, if there is one, sets the last record flag in
the batch, and builds and writes a statistics record.
There are two entry points in EOB: EOB is
ENT2 is a continuation entry point for Own
counter return. If a batch counter is not
called to display the message COUNTER xx =
number and nnnn = value of counter.

2.

the beginning of the EOB procedure,
Code return and erroneous batch
zero, the program TOTAL is
nnnn ••• where xx=counter

DETAILED DESCRIPTION
a.

EOB
1) (EOB). The 4th character in the input string is not EOR, or if
number of records in batch = 0, or if in read mode, or if not at
end of data (ATT/SW2/11=0) in verify mode, or if ATT/RCNT ~ 0
(character count in current record), then set ATT/SW1/8 = 1
(reset must regenerate display), set (Q) ~ $12 (Illegal Request)
and exit to ERROR.
2) (IFBOR). Set ATT/BMDl = 0 (internal flag to indicate return) and
ATT/25 = 0 (internal flag to indicate balancing).
(NXTCTR). Check the batch counters in ATT for zero values.
all values are zero, go to step b.3.

If

3) (BALERR). When a batch counter is nonzero, save the counter number
in ATT/BMD1 and ATT/25; and set ATT/SW1/0 = 0 (EOB Validation Error).
Call EXDFUN to release EOB program. Call ENTPRG to load and execute
TOTAL.
b.

ENT2
1) (ENT2).

If ATT/BMD1 0 (Own Code return), set ATT/SW1/0 = 0
(EOB Val idation Error) and go to step b.4.

2) (IFLC). Convert next batch counter number to an index to batch
counters and go to step a.3.
3) (BAL). Call GETLJD to locate job in Legal Job Di rectory (LJD).
If EOB own code specified, set ATT/BMD1 = $FFFF, set ATT/SW1/0 = 1,
call EXDFUN to release EOB program, and call EOBIT to load and
execute own code program. EOBIT will load and execute EOB when
own code program is finished.

PAGE NO. _2_7_5_

AA5641

.. tiNTED IN THE US""

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__I_M_S__________~________________________~___________________
PROGRAMNAME __~E~O~B_-~E~n~d~o~f__Ba~t~c~h__P~r~o~c~e~ss~o~r______________________________________~L~e~v~e~I_6~

4)

(NOOC). Call READN to read last record of batch from disk, set
TRB/5/15 (Last Record Flag) and call REWRIT to rewrite last record
of batch.

5)

(NOENT).

Call FRZATT to write updated ATT record to disk.

6)

(GENJN).

Call GETLJD to locate job in LJD.

7)

Set up statistics record in ATT/34 through ATT/49 as follows:
ATT/34 = SRL/O

Mode/Verif.

35
36
37
38
39
40
41

1
2
3
4
5
6

42

8

43

9

44
45
46
47
48
49

10
11
12
13
14
15

Batch number
Operator Number
Start Time
Date
Accumulated Time
Number of Key Strokes
Number of Verify
Corrections/Verifiable
Records
Number of Erroneous
Records
Number of Records from
last SRL written
Year
Unassigned
Unassigned
Job
Name
(6 characters)

**

7

already in ATT/35
from Data Track header
from ADAYTO and ANONTO in SYSDAT
ca 1cu 1a ted,ld~
from ATT/KEYDPR
from ATT/VR or ATT/VRCC
from ATT/RCDER
from ATT/RCD
from AYERTO in SYSDAT

from LJD

Mode (bits 13-15) = 0 if Entry Mode
Verif. Type + Status (bits 8-11)
bit 11: Verify according to format.
Verification bit 10: Verify erroneous fields.
Type
bit 9: Verify fields with unbalanced registers.
Status
bit 8: Batch unbalanced.
Accumulated time = SST/CLOCKS - ST + AT
ST = Start time for current run
from Data Track header
AT = Accumulated time for batch

PAGE NO.

AA5641

Type + Status/Job Index*

276

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_D_A_TA
___
1t_1S___________________________________________________________
PROGRAMNAME ____E_O_B__-__E_n_d_o_f__B_a_t_c_h__P_r_o_c_es_s_o_r________________________________________L_e_v_e_I___
6

8)

Call SPILL to update the mode of the batch in the Active Table.

9)

Call WSS to write record in statistics file.

10)

Update record count and accumulated time in the DTL.

11)

Call DISPLY to clear display and set display to Idle mode.

12)

Set ATT/CMODE = $4000 (IDK mode), set ATT/DLU = ATT/BMODE = ATT/DT
cal I RELFOR to release TRB and to release current format, call
EXDFUN to release EOB program area; call CLRSR to clear exit stack
and to exit to dispatcher.

0,

I tJTERFACE
1•

ENTRY METHOD
EOB is a disk resident program which is called via ENTPRG (Enter a disk
resident program).
The first entry point is called by INTRGT when EOB is requested.
The second entry point is called by ERR KEY when batch validation error
was overridden or by EOBIT at normal completion of EOB own-code.

2.

INPUT PARAMETERS OR COND IT IONS
(I)

3.

=

Address of the Active Terminal Table (ATT).

EXIT METHOD
Normal exit is via CLRSR (Clear exit subroutine), which exits to Dispatcher.
Error exit is to ERROR if the function is illegal. Error exit is to TOTAL
if a batch counter is nonzero. An exit is also made to EOBIT to execute
EOB own code.

4.

OUTPUT PARAMETERS OR CONDITIONS
(I) = Address of ATT.

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

LOCORE
LPMASK ($2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZRO BIT ($33)
SST ($47)
CLCDWA ($90)
ENTSR ($91)
EXTSR ($92)
PAGE NO. _2_7_7_

AA5641

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_YB_E_R_DA_T_A__
IM_S________~______________________~_______________
PROGRAMNAME __~E~O~B_-~E_nd~o~f~B~a~tc~h~P~ro~c~e~ss~o~r______________________________~L~e~v~e~l~6

b.

c.
d.

CLRSR ($93)
ERROR ($96)
GETALP ($9B)
ENTPRG ($9E)
EXDFUN ($9F)
DISPLY ($AO)
SP I LL ($A 1)
REWRIT ($A4)
READP ($AS)
REDDWA ($A9)
WRTDWA ($AA)
WRTATT ($AC)
RELFOR ($AD)
SST
CLOCKS (17)
STEMP (20)
EST
JDATE (40)
ATT
FTOB (1)
COMO DE (2)
JIDX (3)
RCNT (4)
ATRB (6)
PFBA (7)
CURDA (9)
DT (13)
BMODE (lS)
VRCC (16)
BMDI (18)
SWl (19)
SW2 (20)
FUN I OX (21)
ABTN (22)
KEYDPR (26)
VR (29)
RCDER (30)
RCD (32)
DLU (3S)
BATCH (3S)
CTRS (36)
ATEMP (73)
TEMPS (77)

PAGE NO.

AA5641

278

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IHS
EOB - End of Batch Processor
PROGRAMNAME __________________________________________________________________________
Level __
6
DOCUMENT CLASS

e.

EXTERNALS
GFTLJD
WSS
EOBIT
ADAYTO
AMONTO
AYERTO
CLRALL
SETDIS
FRZATT

2.

DAY (2 ASCI I characters)
MONTH (2 ASCI I characters)
YEAR (2 ASCI I characters)
parameter for DISPLY to clear the screen
parameter for DISPLY to set screen location according to (A)

MACROS US ED
None

3.

PROGRAM DEPENDENCIES
PIO
ENEXSR
GSE
SCANV
ENTPRG

CLCDWA
CLRSR
ERROR
GETALP
ENTPRG
EXDFUN

DISPLY
SPILL
REWRIT
READP

GFCORE
GETLJD
SKPDUP

READN
REDDWA
FRZATT
RELFOR
EOBIT
WSS

4.

Calculate disk word address.
Clear exits track and jump to dispatcher.
Display terminal error.
Get an alpha character from input string.
Enter a disk resident program.
Release the disk resident program.
Clear display and set screen location to IDLE.
Update the entry for the batch in the ABT.
Rewrite current record.
Read record according to previous disk address
saved in TRB.
Read next record.
Read disk word address.
Write ATT on disk (do not save the time).
Release format area or TRB.
Locate job in Legal Job Directory.
Load and execute own code routine, then load
and execute EOB.
Write statistics record.

DATA AREAS USED
SST
EST
ATT
DTL
TRB
SRL

System Status Table
Extended System Table
Active Terminal Table
Data Track Layout
Terminal Record Buffer
Statistics Kecord Layout.

PAGE NO. _ _2_7_9_

AA5641

,tINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S__________~________________________~___________________
PROGRAMNAME ____E_O_B_-_ _E_n_d__
o_f_B_a_t_c_h__
P_ro_c_e_s_s_o_r____________________________________~L~e~v~e~1~6

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
12316 = 291 10
words
2. RELOCATION TYPE
EOB is a disk resident program.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

It is written in run-anywhere code.

280

... ,NTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~RD~A~T~A~I~t1~S

•

PSSD

•

SOFTWARE DOCUMENT

__________~_____________________________________________

PROGRAMNAME __~E~O~R~E~N~T_-~W~r~i~t~e~a~R~e~c~o~rd~t~o~D~i~s~k~_________________________________________________~L~e~y~e~1~6
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
EORENT has two entry points.
EORENT performs end of record functions: writes the current record to
disk, updates counters in the Active Terminal Table, and so forth.
FIRSTF locates the first field in a format group which requires data entry.

2.

DETAILED DESCRIPTION
a.

EORENT
1•

2.

(EORENT) •

Inc remen t ATT /RCD by 1 (tota 1 number of record sin ba tch) .

•

Call WRITEC to write the current record to disk.

•

If current format has any verifi~ation fields, increment ATT/VRCD
by 1 (number of verifiable records).

•

If current record is flagged, increment ATT/RCDER by 1 (number of
erroneous records).

o

Move address of next record or disk from TRB/6/0-7 and TRB/5 to
ATT /NXTDA and ATT /i~EXDA + 1.

•

Set ATT/SW1/14,15 = 0 (first record flags); and set ATT/SW1/2 =
(first character of record is next).

o

Set ATT/MODE/14 = 1 (IDK mode).

•

If ATT/SW2/9 = 0 (no record insertion), reduce ATT/AVLTK
(number of words left in current track) by the record length.

o

If ATT/SW2/9 = 1 (record was inserted) set ATT/SW2/9 =

(NOSUB).
•

Set ATT/RCNT = 0 (character count in current record) and
ATT/FCNT/O-7 = 0 (character count in current field).

o

Set ATT/RFA/9-15 = 0 (field number) and ATT/RFA/O-8 = 4
(relative address in Format Table of current field information).

o

Call FIRSTF to locate the first field in Format Table requiring
data entry.

o

Call DISPLY to display new header.

•

If ATT/SW1/10 = 1 (record is not part of current Document group),
go to step 4.

•

Increment ATT/CRCD by 1 (complement of number records left in
current document group). If not at end of current document group,
go to step 4.
PAGE

AA5641

o.

NO. _-=2.=8=.1_
PRINTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS

PROGRAMNAME __~E~O~R~E~N~T__
-_W~r~it~e~a~R~e~c~o~r~d_t~o~D~i~s~k~____________________________________~L~e~v~e~1~6

•

I f ATT / ELDT/ 15 = 1 ( end

•

Increment ATT/ELDT by 2 (relative address of current group
in Legal Document Directory).

•

Call ENTPRG to load and execute REDGRP, which reads in the
next Format description from disk. Continue at step 4.

(ENDDOC). Call ENTPRG to load and execute REDDOC, which reads
in the first Format description of the next document.

4.

(ATTWRT). If ATT/RCD/O-3 ~ 0 (number of records in batch is
not a multiple of 16, exit to CLRSR.
Call WRTATT to write ATT to disk, when number of records is
a mUltiple of 16, then exit to CLRSR.

F I RSTF
1.

2.

3.

(FIRSTF).

Set ATT/ATEMP + 1 = 0 (Field number).

•

If ATT/PFBA = 0 (no format defined), set ATT/FMTNO = 0
(Format number) and exit to caller.

G

If autosequencing is specified for the format, increment
ATT/ATEMP + 1 by 1 to allow for autosequencing field, and
increment Q-register to bypass autosequencing field description.

(LOOP). If current field is not auto skip or auto dup field,
go to step 3.
(first record
• If current field is auto dup, and ATT/SW1/15 =
of format), go to step 3.
•

If current field is auto dup, and ATT/SW1/12 = (Inserted
record) and FC.bit (TRB/3/13) is on, go to step 3.

o

If ATT/SW1/6 = 1 (see auto-fields are to be entered manually
until next multi-level DUP/SKIP key) go to step 3.

•

Otherwise, advance to next format in field, increment
ATT/ATEMP + 1, and repeat step 2.

(FOUND). Call STTYPE to move data type from current format entry
to ATT/DT/13-15.
•

Exit to caller with (A) = Field number.

PAGE NO.

AA5641

f do cu me n t), go to step 3.

3.

•
b.

0

282

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I MS
PROGRAM·NAME ________________________________________________________________
EORENT - Write a Record to Disk
Level __
6
DOCUMENT CLASS

INTERFACE
1. ENTRY METHOD
a. EORENT
EXT
EO RENT
JMP
EORENT
Exit is to CLRSR
b. F I RSTF
EXT FIRSTF
RTJ FIRSTF
--Return-2.

PARAMETERS
(I) = Base address of Active Terminal Table (ATT)

ASSEMBLY CHARACTERISTICS
1.
I

"

EQUATES
a. LOCORE
LPMAS K (2)
NZERO ($12)
ZERO ($22)
ONEB IT ($23)
ZROBIT ($33)
SST ($47)
CLRSR ($93)
ENTPRG ($9E)
DISPLY ($AO)
WR ITEC ($A3)
WRTATT ($AC)
b. SST
CFFA (12)
c. ATT
MODE (2)
FCNT (3)
RCNT (4)
ATRB (6)
PFBA (7)
AVLTK (8)
NXTDA (11)
FMTNO (13)
RFA (14)
ELDT (16)
PAGE NO.

AA5641

283

... ,NTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S__________~________________________~___________________
PROGRAMNAME ____E_O_R_EN_T__-__
W_r_it_e~a~R_e~co~r~d~t~o~D~is~k~________________________________~Le~y~e~J~6

SW1 (19)
SW2 (20)
CRCD (24)
VRCD (29)
RCD (32)
RCDSIZ (69)
ATEMP (73)
2.

MACROS US ED
None

3.

PROGRAM DEPENDENCIES
ENEXSR
PI
EMM

4.

(CLRSR)
ENTPRG
DISPLY
WRITEC
WRTATT
STTYPE

Clear Exits stack and function lock
Load and execute a disk resident program
Display a message at a terminal
Write current record to disk
Write ATT to disk
Move field data type to ATT

DATA AREAS USED
SST
System Status Table
ATT
Active Terminal Table

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
6E 16 = 11~10

words

2.

RELOCATION TYPE
Loader Relocatable.

3.

ENTRANCY CLASSIFICATION
EORENT
FIRSTF

Reentrant
Reentrant

PAGE NO.

AA5641

284

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_D_A_TA___
IM_S__________~_______________________________________________
PROGRAMNAME ____E_O_R_V_R__-__E_n_d__
o_f__
Re_c_o__
rd__P_r_o_c_e_s_s_o_r__-__V_e_r_i_fy~M_o_d_e________________________~L~e~v~e~l~6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
EORVR processes the end of record in verify mode. It also reads the
next record, copies autodup fields as necessary, and performs basic
checks to see if the record needs verification. If so, exit is to VMM1.
The entry point EORVRC is used when the next record does not need to be
read in, and entry point EORVR1 is used when erroreous record count
should not be updated.

2.

DETAILED DESCRIPTION
(EORVR) Set ATT/ATTEMP + 2 to show no copying area currently in use.
(NOVERY) Call REWRIT (PIO) if the record needs to be rewritten after a
change was made. Check for an autodup change made in verify mode. If
so, go to ADSVE. If not, check for an autodup change made in entry mode.
If not, call READN to read the next record. Then jump to EORVRC. If
so, set ATT/SW2/10 (autodup change flag). (ADSVE) Make a core request
of CAM. Move the current record to the new core area. Read in the next
record to the original current record core area and go EORVC.
(EORVC) Check for same format as last record. If not, call GFCORE to
get the new format release copying area if necessary, and go to SOFt If
the autodup change was from entry, release copying area, and jump to SOFt
If the autodup change was made in verify and the autodup change flag
(ATT/SW2/10) is on t transfer all autodup field information into the next
record. If autodup field to be exchanged has counte r operations, subtract
old value and add new value to accumulators concerned. Also update TRB
Leader if any of the fields transferred are erroneous. (SOF1) Turn on
rewrite flag (ATT/SW1/13). (SOF) Make basic checks to see if verification
is needed on this format, for error flags, or for unbalanced counters.
If so, set first record in format and clear autodup change flag if this
is the first record. Call STTYPE (EMM) to set the data type in the ATT.
Exit is to VMMl. If no verification is needed, write the checkpoint
ATT if this is a sixteenth record jump to NOVERY.

INTERFACE
1.

ENTRY METHOD
Direct jump for all entry points.

2.

INPUT PARAMETERS OR CONDITIONS
1

=

current ATT base address.

PAGE

AA5641

NO.

285

PRINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__M_S________~________________________~________________
PROGRAMNAME __~E~OR~V~R~-~E~n~d~of~R~e~co~r~d~P~ro~c~e~s~so~r__~_V~e~r~i~fy~M~o~de~__________________~le~'~1e~1~6

3.

EXIT METHOD
JMP
VMMl

4.

OUTPUT PARAMETERS OR CONDITIONS
1 = current ATT address
The next record to be verified has been read in.

ASSEMBLY CHARACTERISTICS
1• a. LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($42)
GFCORE ($9D)
REWRIT ($A4)
READN ($AG)
WRTATT ($AC)
CAM ($AE)
WAIT ($BO)
b. ATT
RCNT (4)
ATRB (6)
PFBA (7)
FMTNO (13)
RFA (14)
S~J1 (19)
SW2 (20)
RCD (32)
ATEMP (73)
RCDER (30)
c. SST
CFFA (12)
STEMP (20)
2.

MACROS USED
None

PAGE NO.

AA5641

286

... INTED IN THE USA

CONTROL DATA CORPORATION

'-.

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S_________________________________________________________
PROGRAMNAME ____E_O_RV_R__-__E_n_d_o_f__R_e_c_o_rd__P_r_o_c_e_ss_o_r__-__
V_e_r_if~y__
M_o_de_______________________L~e~v~e~1~6

3.

4.

PROGRAM DEPENDENCIES
(VMMl)
VMM
(STTYPE)
EMM
(COUNT)
(REWRIT)
PIO
(READN)
(WRTATT)
GFCORE
CAM
ENEXSR
(WAIT)
FMTPAR

Exit to verify next record
Set data type information in ATT
Perform counter operations
Rewrite changed record on disk
Read next record from disk
Write checkpoint ATT on disk
Get format in core
A11 ocate core
Delay
Check for counter operations

DATA AREAS USED
ATT
SST (STEMP)
TRB

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREHENTS
FB 16 = 241

2.

words
10
RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION

'-

Dormant reentrant.

PAGE NO.

AA5641

287

'tINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
DOCUMENTCLASS ________________________________________________________________________
__
PROGRAMNAME __________________________________________________________________________
_
ERRKEY - Error Override Key level 06

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
This routine processes the error override key in all modes.
Functions: Check for EOB error - if yes, exit. Otherwise, perform counter
operations. Set error flag (field and record), clear 10K and ERR/OVR switches.

2.

DETAilED DESCRIPTION
a.

If not 10K (ATT/2/14) and ERR/OR (SW2B12), exit to ERROR. Release function (EXDFUN). Clear error flag (SW2B12) and check if EOB (SW1BO and
RCNT = 0). If so, clear EOB validation error (SW1BO) and exit to second
entry point of EOB; otherwise, continue with step b.

b.

Gets first character of current field and set error bit (via GBYTE and
SBYTE).
Checks record flag (word 3 bit 15 in TRB).
go to step c.

If not set, set it; else,

If ERRKEY is pressed because of replacing a field in Read mode positioned
before the basic mode point, increase number of erroneous records
(ATT, word 30).
c.

Check for counters on current field (FMTPAR), and perform if required
(CONT). If not, RELEASE (SW1BO) continue with step d. Otherwise,
clears ENT/EXT Stack, and exit to TSTEOR (entry point in SKPDUP).

d.

Clear 10K mode (ATT word 2 bit 14).
If Verify or Pseudo Verify - Set SW1B13 (Rewrite record back on disk
if correction was made), and exit to NOVAl (in VMM).
If Entry or Pseudo Entry - Exit to VMM2.

INTERFACE
1.

ENTRY METHOD
ERRKEY is a disk-resident program which is invoked by ENTPRG.

2.

INPUT PARAMETER
'(I) = Base address of Active Terminal Table (ATT).

288 _
. PAGE NO. _____

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ____
CY_B_E_R_DA_T_A______________________________________________________
PROGRAMNAME _____E_R_R_KE_Y__-_E_r_r_o_r_O_v_e_r_r_id_e__
Ke~y~·_le_v_e_I__
06________________________________

3.

4.

EXIT METHOD
a.

To ERROR if ERR/OR is invalid at this point.

o.

To second entry point of EOB if during End of Batch.

c.

To TSTEOR if during RELEASE with AUTO ERROR FLAGGING.

d.

To NOVAl in Verify or Pseudo Verify.

e.

To EMM2 in Entry or Pseudo Entry.

OUTPUT PARAMETER
(I) = Base address of Active Terminal Table (ATT).

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

lOCORE
ENTPRG ($9E)
GTYPE ($94)
SBYTE ($95)
EXDFUN ($9F)
ERROR ($96)
lPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)

b.

ATT
MODE (2)
RCNT (4)
SW1 (19)
SW2 (20)
ATRB (6)
RCDER (30)
CMODE (2)
RCD (32)
RCDRB (31)
FCNT (3)
ATEMP (23)

. PAGE NO.

289

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENT CLASS _ _C_Y_B_E_RD_A_T_A_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
PROGRAMNAME ____
E_RR_K_E_Y__-_E_r_r_o_r_O_v_e_r_r_id_e_K_ey___L_e_ve_l_0_6___________________

c.

CONSTANT

A4 (4)
STACKL (8)
ENTR (79)
2.

EXTERNALS
COUNT
EMM2
NOVAL
FMTPAR
TSTEOR

3.

PROGRAM DEPENDENCIES
ENTPRG
ENTPRG
EXDFUN
VMM

- NaVAL
EMM2

EMM
COUNT
GSE

GBYTE
SBYTE
ERROR

FMTPAR

4.

DATA AREAS USED
ATT - Active Terminal Table.
SST - System Status Table.
TRB - Terminal Record Buffer.

. PAGE NO.

290

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ____
CY_B_E_R_D_AT_A__________________________________________________________
PROGRAMNAME _____E_R_R_K_EY__-__E_r_ro_r__O_v_e_r_r·_ld_e__K_ey~_L_e_v_e_l_O_6_________________________________

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
60 16

2.

= 96 10 words for program.

RELOCATION TYPE
Disk resident, run anywhere.

3.

REENTRANCY
Reentrant.

. PAGE NO.

291
PRINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~E~R~RT~A~B~

PROGRAM NAME

•

PSSD

•

SOFTWARE DOCUMENT

________________________________________________________

Tab 1e of Cyberdata Error Codes

GENERAL DESCRIPTION
****THE FOLLOWING TABLE CONTAINS 2-CHAR ERROR CODES TO BE DISPLAYED.
;',;bb',ACCESS TO THE ENTRIES IS THE ERROR INDEX, WHICH IS THE DISTANCE
****TO THE REQUIRED ENTRY FROM THE ENTRY POINT, EPM.
;':
;',CODE;',
;', INDEX;':
;',MEAN I NG;',
EPM
ALF
1,
$0
CLEAR ERROR CODE
ALF
1,A 1
$1
DATA TYPE ERROR X
ALF
1,A2
$2
SIGN MISSING
ALF
1,A3
$3
ILLEGAL CHAR X
ALF
1,A4
$4
ILLEGAL FUNCTION KEY
ALF
1,A5
MISMATCH CH X (y)
$5
ALF
1,B 1
$6
BEG OF DATA
ALF
1,B2
END OF DATA
$7
ALF
1,C 1
$8
LIMIT ERROR
ALF
1,C2
$9
SPECIAL TEST ERROR
ALF
1 , C3
$A
CHECK DIGIT ERROR
ALF
1, c4
$B
OWN CODE TEST ERROR
ALF
1,C5
$C
NON-ZERO ERROR
ALF
1, D1
$D
INVALID OPERATOR NO
ALF
1,D2
$E
INVALID FORMAT NO
ALF
1,D3
$F
INVALID DOC NO
ALF
1 ,D4
$10
INVALID JOB NAME
ALF
1,D5
$11
INVALID BATCH NO
ALF
1, E1
$12
ILLEGAL REQUEST
ALF
1, E2
$13
ILLEGAL PARAMETER
ALF
1,F 1
$14
FORMAT NO IN DOC ERR
ALF
1,F2
OWN CODE ISNT ON DISK
$15
ALF
1 ,F3
$16
DISK FULL
ALF
1,F4
CORE FULL PLEASE WAIT
$17
ALF
1, F5
$18
FUNCTION BUSY PLEASE WAIT
ALF
1,LL
$19
SYSTEM LOCK. WAIT
ALF
1,PP
$1A
PARITY ERROR
1 .'_.'ALF
$1B
FIELD WITH ERROR FLAG
ALF
1 ,c6
$1C
BALANCING ERROR
ALF
1,D6
$1D
INVALID AUTO SEQ COUNT
ALF
1, F6
$1E
DISK DESELECTED
BATCH FULL
$1F
ALF
1 ,F7
1 ,SM
$20
MESSAGE FROM SUPERVISOR
ALF
***INSERT ADDITIONAL ERROR CODES HERE
,

n

~\

i':
i':

EQU
EQU
END

EEPM (;,:)
ERRTL (EEPM-EPM)

. PAGE NO.

'73

292

'tiNTED IN THE US.

CONTROL DATA CORPORATION
CYBERDATA IMS
DOCUMENTCLASS ______________________

~

•

PSSD

•

SOFTWARE DOCUMENT

________________________________________________

PROGRAMNAME ________________________________________________________________________
_
ERRWEY - Error Override Key
level 6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
This routine processes the error override key in all modes.
Functions: Check for EOB error - if yes, exit. Otherwise, perform
counter operations. Set error flag (field and record), clear 10K and
ERR/OVR Switches.

2,

DETAILED DESCRIPTION
a.

If not IDK (ATT/2/14) and ERR/OR (SW2B12), exit to ERROR. Release
function (EXDFUN). Clear error flag (SW2B12) and check if EOB
(SW1BO and RCNT = 0). If so, clear EOB validation error (SW1BO) and
exit to second entry point of EOB; otherwise, continue with b.

b.

Gets first character of current field and set error (via GBYTE and
SBYTE).
Checks record flag (word 3 bit 15 in TRB).
go to c.

If not set, set it; else,

If ERRKEY is pressed because of replacing a field in Read mode positioned
before the basic mode point, increase number of erroneous records
(ATT, word 30).
c.

Check for counters on current field (FMTPAR), and perform if required
(CONT). If not, RELEASE (SW1BO) continue with d. othe rw i s e , c 1ea r s
ENT/EXT Stack, and exit to TSTEOR (entry point in SKPDUP) •

d.

Clear IDK mode (ATT word 2 bit 14).
If Verify or Pseudo Verify - Set SW1B13 (Rewrite record back on disk
if correction was made), and exit to NOVAl (in VMM).
If Entry or Pseudo Entry - Exit to VMM2.

2.

INPUT PARAMETER
(I) = Base address of Active Terminal Table (ATT).

3.

4.

EX IT METHOD
1)

To ERROR if ERR/OR is i nva 1 ida t t his po in t •

2)

To second entry point of EOB if during End of Batch.

3)

To TSTEOR if during RELEASE with AUTO ERROR FLAGGING.

4)

To NOVAl in Verify or Pseudo Verify.

5)

To EMM2 in Entry or Pseudo Entry.

OUTPUT PARAMETER
(I) = Base address of Active Terminal Table (ATT).
PAGE NO.

AA5641

293

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
PROGRAMNAME ___E_R_R_W_EY__
-_E_r_r_o_r_o_ve_r_r_i_de__K_ey___________________________________
le_v_e_1__
6
DOCUMENT CLASS

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. lOCORE
ENTPRG ($9E)
GTY PE ($94)
SBYTE ($95)
EXDFUN ($9F)
ERROR ($96)
lPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
b. ATT
t~ODE (2)
RCNT (4)
SW 1 (19)
SW2 (20)
ATRB (6)
RCDER (30)
CHODE (2)
RCD (32)
RCDRB (31)
FCNT (3)
ATEMP (23)
c. CONSTANT
A4 (4)
STACKl (8)
ENTR (79)
2.

EXTERNALS
COUNT
EMM2
NOVAl
Ft1TPAR
TSTEOR

PAGE NO.

AA5641

294

!'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_y_B_ER_D_A_T_A__I_MS__________________________________________________________
PROGRAMNAME __-=ER~R~W~E~Y__-~E~rr~o~r~O~v~e~rr~i~d~e~K~eY~____________________________________~I~e~v~e~J~6~

3.

PROGRAM DEPENDENCIES
ENTPRG
ENTPRG
EXDFUN
VMM
NOVAl
Et1M2
EMM
COUNT
GSE
GBYTE, SBYTE, ERROR
FMTPAR

4.

DATA AREAS USED
ATT - Active Terminal Table.
SST - System Status Table.
TRB - Terminal Record Buffer.

PHYSICAL CHARACTER
1.

MEMORY SPACE REQUIREMENTS
60 16 = 96 10

words for program.

2.

RELOCATION TYPE
Disk resident, run anywhere.

3.

REENTRANCY
Reentrant.

PAGE NO.

AA564t

295

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I MS
ESB - End of Sub Batch Key
Level _6
PROGRAMNAME ____________________________________________________________________________
DOCUMENT CLASS

PROGRAM FUNCTION
1•

GENERAL DESCR I PT ION
This function checks EACH counter for non-ZERO value. Counters not equal
to Zero are displayed, and in this case, the routine waits for continue
or cancel.
If cancel is received then before checking the next counter, the current
one is set to Zero.

2.

DETAILED DESCRIPTION
a.

First check the Patch mode. If not pure ENTRY, exit to ERROR. If
not end of field to error; else check counter words. If all counters
are Zero exit via CLRSR.

b.

If one counter word is not Zero, calculate the counter number, unpack
the counter value and display: COUNT n(l)
n (2):!:.
Where: n(l) = Counter number
n(2) = Contents of this counter
Then wait for CONT/CANC key to be pressed.
If CANCEL, then clear the 4 counter words and continue to check
the remaining counter words, as above.
If CONTINUE depressed check remaining counters withou~ clearing.

c.

After checking all the counters, if all were Zero exit via CLRSq;
else, clear the screen and exit via CLRSR.

INTERFACE
1•

ENTRY METHOD
ESB is a disk resident function, called via the ENTPRG routine.

2.

INPUT PARAMETERS
(I)

3.

= Base

address of Active Terminal Table (ATT)

EX IT METHOD
Exit is to ERROR if an error is detected, to CLRSR otherwise.

PAGE NO.

AA5641

_2_9_6_

'IINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_YB_E_R_D_AT~A__I_MS________~__________________________________________

Level__
6
ESB - End of Sub Batch Key
PROGRAMNAME ______________________________________________________________
ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
LPMAS K (2)
SST ($47)
ERROR ($96)
CLRSR ($93)
DISPLY ($AO)
ONEBIT ($23)
b. ATT
CMODE (2)
FCNT (3)
COUNT (36)
ATTEMP (73)
AINT (27),
c. SST
STEMP (20)
~

2.

EXTERNALS
CONCAN
SETDIS
DLINE
CLRFLD
REGEN
UNP
SETMOV
GETBUF

3.

PROGRAM DEPENDENCIES
SETMOV
DISPLY
CONCAN
CLRSR
ERROR
GETBUF

PAGE NO.

AA5641

297

'IINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__I_M_S________~~_____________________________________________
PROGRAMNAME ____
E_SB__-__E_n_d_o_f__S_u_b__
Ba_t_c_h__K_e_y_______________________________________L_e_v_e_l_6_

4.

DATA AREAS USED
ATT - Active Terminal Table.
Interrogate Buffer of 28 characters.

PHYSICAL CHARACTERISTICS
1 • MEMORY SPAC E
76 16 = 118 10 for program.
28
words for INTERROGATE
10
2. RELOCATION TYPE

BUFFER~

Run anywhere.
3•

RE ENTRAN CY
Reentrant.

PAGE NO.

AA5641

298

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A____________~______________________________________
PROGRAMNAME __~E~S~H~__________________________________________________________~L~e~v~e~1~O~6__

PROGRAM
1.

Fur~CT

ION

GENERAL DESCRIPTION
The ESH (end-of-shift) command, is a supervisor function, used to
terminate CYBERDATA SYSTEM at the end of shift or day. It locks
all inactive terminals. If not all are inactive, it prints "terminals
sti 11 active " and the operators should su~pend all activities before
the command is reentered.

2.

DETAILED DESCRIPTION
Syntactic check of the command is done - SQZFLG indicates if SQZ was
required or not. (= 0, SQ2 should be done, = 3 should not be done).
In case of SYNTAX error exit is made to REJSUP.
The main loop runs allover the stations. For each station the current
working mode is checked. If it is active (supervisor mode, entry,
verify IdK, pseudo modes), a flag (FLAG) is set indicating there are still
active stations. If the station is in interrogate mode, CANCEL is inserted
in the TIQ. The program exist to WAIT for one cycle and the check is done
again for that station.
If the station is inactive, the screen is cleared, the message **END OF
SHIFT** is displayed, and the station is set to supervisor lock (error
lock and SWl are cleared).
After all stations were checked it is checked if there were active stations.
If there were, the message "Terminals still active" is printed and the
program exits (to SU).
In case there was no active station, SQZFLG is checked. If SQZ was required,
the program releases itself (EXDFUN) and calls SQZ first overlay (via
ENTPRG). If SQZ was not specified, the message "A1l stations Idle - perform
VX to terminate system" is printed.
The program releases itself and, after inserting EOR in interrogate buffer,
SOF supervisor function is called (via ENTPRG).

PAGE NO. _2_9_9_

AA5641

'IINTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA

--~--~------------~------------------------------------

PROGRAMNAME ___E~S~H~__________________________________________________~L~e~v~e~1~0~6~

INTERFACE
1•

Er~TRY

METHOD

Supervisor function invoked by DSKSUP (via ENTPRG).
2.

EX IT METHOD
To SV - In case there are still active stations.
To REJSUP - In case of command syntax errors.
Via ENTPRG - In case of normal end of function.

3.

OUTPUT PARAMETERS

= 2,3 in case of syntax errors (ex ito f REJ SUp)
(A) = 0
(A)

80E

exit to ENTPRG (SQZ not required)

( Q)

~

(A)
(Q)

=0
= 3814 exit to ENTPRG (SQZ not required)

ASSEMBLY CHARACTERISTICS
1.

EQUATES
SST ($47)
STEMP (20)
SLOCK (1)
ATTB (10)
ATTLNG (19)
CATT (11)
IBL Cl4)
TIQ (15)
WAIT ($BO)
GETCOM ($9C)
ENTPRG ($9E)
EXDFUN ($9F)
DISPLY ($AO)
SV ($B1)
REJSUP ($B2)
GETACP ($9B)
L~CK

(0)

CM0DE (2)
FUNIDX (21)
AI NT (27)
PAGE NO.

AA5641

300

PRINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~BE~R~D~A~TA~

PROGRAMNAME __

~ES~H~

•

PSSD

•

SOFTWARE DOCUMENT

__________~________________________~_________________

__________________________________________________

~I~e~v~e~1~o~6

__

SWl (19)
SCA (36)
FLAG (SCA + ]0)
STANS (SCA + 11)
ATTSAV (SCA + 12)
SQZFLG (SCA + 13)
INDEX (SCA + 14)
TERN0 (SCA + 15)
TERATT (SCA + 16)
LPMASK (2)
(6NEB IT ($23)
ZR0BIT ($33)
ZER0 ($22)
M1 (71)
M2 (72)

M3 (73)
2.

EXTERNALS
SETDIS
CLRALL
DLI NE
PRTMSG
CANCEL

'''--_/

3.

DATA AREAS USED
SST
ATT
TIQ
AINT

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
9E16 = 158 words of program.
No buffer required.

2.

RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Not reentrant.

PAGE NO. 301
AA5641

'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I t1S

------------------------~-------------------------------------------------PROGRAMNAME __~E=S~l______________________________________________________________~L~e~v~e~1~6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
ES1 is one of the overlays of the SQZ program which squeezes the LODD,
FMTLNK, and the load program area (SIPRDN).
ES1 deletes the inactive formats from the LFD (Legal Format Directory).
Deletion is done only after checking that the inactive format is not
needed. The check is done by searching all the data and verifying that
the inactive format was not used in any record.

2.

DETAILED DESCRIPTION
ES1 checks that formats are really present in core, i.e. FLK (Formats
Link Table) is not empty. Two buffers are allocated via CAM. One for the
LFD, and the record for saving the inactive formats. If no core is available
the program exits to REJSUP with error code.
The LFD is read into core in sections (depending on the buffer lengths),
and the inactive formats are stored in the second buffer. This step is
finished when either all the LFD has been scanned or the inactive buffer
is fu 11 •
The SPILL tables are read one by one into their fixed core address (ABT
1 isted in EST), and the current batches are read by the parts (BRGSEC
i nterna 1 rou tine) into the same buffer whi ch serves for the LFD". The
format number of each record and the significant format numbers in the
ATT image in first track of batch are compared to the inactive formats
1 isted in the inactive format's buffer. If any of them match an inactive
for ma t, the ina c t i ve for ma tis f 1a gged as use f u 1 ( CHKIN A i n t ern a 1 r 0 uti ne )
and a message is printed via SUPRW informing in which batch this format
has been used.
After all the present batches have been searched, the inactive formats
which are not flagged are deleted from the LFD. Their entries are cleared
by writing zeroes to the LFD on the system disk.
If the inactive buffer filled up before all the LFD has been scanned, the
process is done in more than one pass. The program has only one entry
point - DLINA.

INTERFACE
1.

2.

ENTRY METHOD
ES1 is an overlay of the SQZ program.
ENTPRG.
I NPUT PARAMETERS OR COND IT IONS
I

= current ATT base address.
PAGE NO.

IA5641

It is loaded by Es4 overlay via

_3_0_2_

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__
II_1S________~____________________________________________
PROGRAMNAME ____E_S_1________________________________________________________L_e~v_e~1__
6

3.

EXIT HETHOD
a. ES1 loads the next overlay of SQZ
Release ES1
RTJ - (EXDFUN)
CUR
A
ENG
ES2
( ENTPRG)
RTJ
b. ENA
11
No memory available
(REJSUP)
JMP

4.

OUTPUT PARAMETERS
a. I = cu rrent ATT base address.
b. Word 46 in ATT is FLK current available entry.
c. A message for each format that appears in the data
FORMAT XXXX IS USED IN JOB jjjjjj , BATCH bbb
Where:

d.

XXXX
JJJJJJ
bbb
In case there

- format number
- job number
- batch number
are no formats in the system ES1 prints via PRTMSG.

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a. LOCORE
ZERO ($22)
ZROB IT ($33)
ONEBIT ($23)
LPMASK (2)
NZERO ($12)
b. TRANSFER VECTOR
CLCDWA ($90)
REDDWA ($A9)
WRTDWA ($AA)
REDSEC ($A7)
WRTSEC ($A8)
RELFOR ($AD)
CAM ($AE)
REJSUP ($B2)
ENTPRG ($9E)
EXDFUN ($9F)
SUPRW ($97)
ENTSR ($91), EXTSR ($92), RTNSR ($38)

PAGE NO.

AA5641

303

'tll,ITED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__
IM_s__________~____________________________________________
PROGRAMNAME ___E~S~l~________________________________________________________~Le~v~e~1~6

c.

d.

SST
STEMP (20)
STEMPl (STEt1P+l)
SETt1P 2 (STEMP+2)
STEt1P3 (STEMP+ 3)
SST ($47)
EST

e.

LFD (39)
MAKFMT (24)
ABT (22)
SPIL (23)
ATT

f.

RCD (32)
FMTNO (13)
CMODE (2)
BFt1T (25)
BMOD (15)
DOCNO (17)
DOCFMT (23)
JOBIND (3)
ATTEMP (73)
TEMPORARIES IN ATT
SCA (46)
FLKLNG (SCA)
- number of entries in FLK.
INABCK (SCAT1) - Backwards pointer of inactive buffer.
LFDBCK (SCA+2) - Backwards pointer of buffer used for LFD and
for the data.
BUFLNG (SCA+3) - LFB buffer's length in words.
FMTNI
(sCA+4) - Last format being checked for inactivity.
LFDPT
(SCA+5) - Pointer to LFD buffer.
ALLINA (SCA+6) - Number ,of real inactive formats in buffer.
ABTPT
(SCA+7) - Which ABT entry is checked.
CURTRK (SCA+8) - Which track of data is presently in core.
RECNO
(SCA+9) - Number of records in the batch.
CURDIS (SCA+l0) - The displacement in track of first word in data buffer.
ABTENT (SCA+ll) - Number of active entries in ABT.
INATOP (SCA+12) - Pointer to the top of inactivities buffer.
TEMP
(SCA+13)-

PAGE NO. _3_0_4_

AA5641

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_s__________~_____________________________________________
PROGRAMNAME __~E~S~l____________________________________________________________~L=e~y~e~l~6

g.

h.

2.

GENERAL EQUATES
SQZTRK ($80c)
SQZPRG ($80D)
F\J (3) FWR ITE
INALNG (100)

- index of ES2 overlay.
- index of ES3 overlay.
- inactives buffer length.

TRB
PRVLSB (1)
NSB (3)
NXTLSB (2)
FMTREC (4)

MACROS USED
None

3.

PROGRAM DEPENDENCIES

ENEXSR

PIO

GFCORE
CAM
SUPER

SETt10V
ENTSR
EXTSR
RTNSR
SUPRN

- Enable program moving.
- Save return address in ENTR!EXIT stack.
- Return via the ENTR/EXIT stack.
Remove last address from Ei~TR/EXIT stack and return it in
- Used to print informing message about inactive format
being used.

CLCD\JA
REDDWA
WRTDWA
REDSEC
WRTSEC

-

Calculate disk word address.
Read disk with word addressing.
Write disk with word addressing.
Read disk with sector addressing.
Write disk with sector addressing.

RELFOR - Release memory buffer.
- Allocate memory buffer.
PRTMSG
Print message according to parameter in A.
format squeeze message).
REJSUP - Print error message and exit.

ENTPRG

ENTPRG - Load disk resident message and exit.
EXDFUN - Release disk resident function.

ARITH

BD

GETLJD

Q.

(End of

- Convert binary to decimal. Used to convert binary
format number to decimal for informing message.
- Get job entry. Used to get the job name of the batch in
which inactive format appeared for the informing message.

SYSTEt1 I NSTALL PARAMETERS:
EXT SIABTS
ABT table length in sectors.
EXT SIFLNK - FLK disk address.

PAGE NO.

AA5641

305

PRINTED IN THE U~.

CONTROL DATA CORPORATION

CYBERDATA IMS
DOCUMENTCLASS ______________________

~

•

PSSD

•

SOFTWARE DOCUMENT

______________________________________________

PROGRAMNAME ____E_S_1__________________________________________________________~L~e~v~e~1~6

4.

DATA AREAS USED
ATT
LFD
FLK
ABT
DTL

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREHENTS
Program length - 210 16 = 52810.
Inactive format's buffer - 103 words.
LFD buffer - minimum - 93 words.
2.

RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Not reentrant.

PAGE NO.

AA5641

306

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__I_M_s__________~________________________~___________________
PROGRAMNAME __~E~S~2~-~S_e~c~on_d__0~v~e_r~1~a~y~0_f~S~Q~Z~._________________________________________~L~e~v~e~1~6

PROGRAM FUNCT ION
1.

GENERAL DESCRIPTION
ES2 squeezes the formats which appear in the LFD. All tracks in the
FLK which are not full are released after the formats in these tracks
have been transferred to other tracks which were allocated by DAM and
1 isted in the FLK. The new disk address for the transferred formats
are updated in the LFD.

2.

DETAILED DESCRIPTION
Three memory buffers are allocated via CAM. One, FRMTRK, 51 words long
(16 3+3 hdr words) for the list of formats which resides in specific
track. Each format needs a 3 word entry: its number, its sector address
in track and its length. The maximum number of formats in a track is 16.
The second buffer serves for the LFD,LFDBCK, and the third one is for
the formats FMTBCK. Their length depends on the memory available. If
not enough available, the program exits to REJSUP.
The FLK is read entry by entry. Each track address is checked against
the LFD which is read by parts to the LFD buffer. Each format resides
in this track entered to the FMTTRK. The process is finished when it
is verified that the formats residing in this track fill it completely,
or when all the LFD has been scanned. If a track is full it is listed as
an entry in the FLK. If the track is not full, its formats are transferred
to another track which was allocated by DAM. The formats transferred to
new tracks are read into the memory buffer FMTBCK (by parts if necessary),
and then written to the new track. As soon as a format is transferred
to the new track, its sector address in the LFD is updated.
To avoid loss
allocated, it
the'first new
the following
current entry

of information in case of power fail, when a new track is
is written to the entry after the last in the FLK. When
track is allocated, the header of the FLK is updated in
way: number of available sectors on current track = 0,
is increased by one.

When a new track has not enough memory for a format which must be
transferred, it is listed as an entry in the FLK. When all formats of
a track have been transferred, it is released and its entry is cleared.
When all the tracks 1 isted in the FLK have been checked, the process is
finished. The last target track is written to the FLK and the FLK
header is updated with number of available sector on the last target
track and the FLK entry on which it has been written.
ES2 has one entry point FMTSQ.
If DAM does not succeed to allocate the first new track, the process is
sup ressed and the prog ram ex its to REJS UP with rej ect message cod e. If
the process finishes successfully a message 'FORMAT TABLE SQUEEZED ' is
printed via PRTMSG.
PAGE NO.

AA5641

307

'RINTED IN THE USA

CONTROL DATA CORPORATION
CYBERDATA IMS
DOCUMENTCLASS ______________________

~

•

PSSD

•

SOFTWARE DOCUMENT

________________________

~

__________________

PAOGAAMNAME ____E_S2__-__S_e_co_n_d__O_v_e_rl_a_y__
o_f_S_Q_Z_._____________________________________L_ev_e_1__
6

INTERFACE
1• ENTRY METHOD
ES2 is an overlay of SQZ loaded via ENTPRG by ES1.
2.

INPUT PARAMETERS OR CONDITIONS
I = current ATT base address.
Word 46 in ATT is the current entry in FLK.

3.

EX IT METHOD
a. Normal Exit:
RTJ - (EXDFUN)
CLR
A
ENQ
ES3
RT J - (ENTPRG)
b. Error Exi t:

4.

1)

ENA
JMP-

2~

ENA
JMP-

11

NO MEMORY AVAILABLE
(REJSUP)
51
DISK IS FULL
(REJSUP)

OUTPUT PARAMETERS OR CONDITIONS
a. I = current ATT base address.
b. If program completes successfully the message:
c.

FORMAT TABLE SQUEEZED is printed.
Error code 51 Cd i sk is fu 11) for. REJSUP.

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
ZERO ($22)
ZROBIT ($33)
ONEBIT ($23)
NZERO ($12)

PAGE NO.

~A5641

308

'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B=ER~D~A~T~A~IM~S~

•

PSSD

•

SOFTWARE DOCUMENT

________~____________________________________________

PROGRAMNAME __~ES~2~-~S~ec~o~n~d~0~ve~rwl~auy~of~S~0~Z~.____________________________________~L~ev~e~]~6
b.

d.

TRANSFER VECTOR
CLCDWA ($90)
REDD\'/A ($A9)
WRTD\4A ($AA)
REDSEC ($A7)
WRTSEC ($A8)
RELFOR ($AD)
CAM ($AE)
REJ SU P ($B2)
ENTPRG ($9E)
EXDFUN ($9F)
ENTSR ($91)
EXTS R ($92)
RTNS R ($93)
SST
SST ($47)
STEMP (20)
EST

e.

LFD (39)
MAXFMT (24)
ATT

c.

\

"'--.

f.

LUN .(35)
TEMPORARIES IN ATT
SCA (46)
FLKLNG (SCA)
FMTBFL (SCA+l)
FMTTRK (SCA+2)
FMTBCK' (SCA+3)
LFDBCK (SCA+4)
LFDPT (SCA+S)
CURFLK (SCA+6)
NEWFLK (SCA+7)
RENSEC (SCA+8)
NEWTRK (SCA+9)
CURTRK (SCA+S)
FMTNO (SCA+ll)
FLK
(SCA+12)
BUFLNK (SCA+13)

number of entries in ATT.
length of formats buffer.
backwards pointer of formats of track buffer.
backwards pointer of formats buffer.
backwards pointer of LFD buffer.
pointer to LFD buffer.
entry in FLK whose track is checked against LFD.
entry in FLK on which the next full track is 1 isted.
free sectors on new track.
new track disk address.
disk address of the track which is checked
against the LFD.
last format whose LFD entry was checked.
FLK disk add ress.
length in words of LFD buffer.

PAGE

AA5641

NO.

309

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__I_M_S__________~_____________________________________________
PROGRAMNAME __~E~S_2___
-_S_e_c_o~n_d__0~v_e~r~1=ay~o~f~S~Q.Z~.________________________________________~L~e~v~e~1~6

g.

GENERAL EQUATES
PRGSQ ($30D)

2.

next overlay function index for ENTPRG.

MACROS USED
None.

3.

PROGRAM DEPENDENCIES

PIO

CLCDWA
WRTDWA
REDDWA
REDSEC
WRTSEC

calculate disk word address
write disk with word addressing
read disk with word addressing
read disk with sector addressing
write disk with sector addressing
save return address in Enter/Exit track
return via the Enter/Exit track
remove last address from Enter/Exit track
enable program moving

{ ENTSR

ENEXSR

EXTSR
RTNSR
SETMOV

GFCORE
CAM

{ RELFOR

ENTPRG

{ ENTPRG
EXDFUN

DAM

{ GATRT
RELTRT

SUPER

{ REJSUP
PRTHSG

- release memory buffer.
allocate memory buffer.
load disk resident program.
release disk resident function.

- get one track.
release track.
print error message and exit.
print error message.

System install parameters:
EKT

4.

DATA AREAS

S I FLN K -

FLK dis k add res s •

U~ED

ATT
LFO
FLK
FMTLNK

PAGE

AA5641

NO. _-=3.=1=.0_

'RINHO IN THE USA

CONTROL DATA CORPORATION

..

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_s_________________________________________________________
PROGRAMNAME __~E~S=2_-~S~e~c~o~n~d~0~v~e~r~1~aLy~o~f~S~Q~z~.____________________________________~I~e'~/e~1~6

PHYSICAL CHARACTERISTICS
1. MEMORY REQUIREMENTS

2.

3.

249 10
99 + 99 + 51- minimum requirement for memory buffer.
188 16 = 382 10
- program size.
RELOCATION TYPE
Run anywhere.
ENTRANCY CLASSIFICATION
Not reentrant.

PAGE NO.

AA5641

311

'RINTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA

~~~~~--------------~----------------------------------------

T_h_i_rd__o_v_e_r_l_a_y__o_f__S_Q_Z__-__P_ro__
PROGRAMNAME ____E_S_3______
g_ra_m__S_q_u_e_e_z_e______________L_e_v_e_l__O_6__________
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
ES3 is one of the overlays of the SQZ program which squeezes up the LOD,
FMTLNK and the load program area (SIPRDN).
ES3 responsibil ity is to remove the unoccupied holes in the Load Program
Area.
The PRD (program directory) is searched, and programs in the Load Program
Area are compressed if possible, and their address in the PRD on disk and
in memory is updated accordingly. In order to "avoid" destruction of a program, the program is first transferred to its place in the Load Program
Area. It will be transferred back to programs area in the next pass of SQZ.

2.

DETAILED DESCRIPTION
ES3 allocates a memory buffer via CAM for programs transferring. The current
available disk address in the Load Program Area is initialized to the start
address of this area (SIPRDN). The PRD is searched. If a program was left
in the work area (SIDSQZ) in the previous pass, it is transferred back to its
original disk area (via TRAN subroutine) according to the address which was
left in the third word of program's header in the previous pass of ES3.
Disk addresses of programs are taken from the PRD or from the program header
if the program is at present in core. If program whose disk address equals
the current available disk address is found, the current available disk
address is increased by the program length in sectors. If no program whose
disk address is equal or greater than the current available disk address and
less than the next avai lable load address is found, no more transferring
should be done. Otherwise the program closest to the current available
address is transferred. First it is transferred (via TRAN routine) to the
fixed work area on disk (SIDSQZ) with its original disk address written in
the program header, and the PRD entry on disk is updated with this address.
Only then is the program transferred to the current available address, and
the disk address in PRD on disk is updated. The address in PRD in core or
in program header (if presently in core) are also updated. Current available
address is increased by program length in sectors. If no more transferring
can be done, the next available disk address for loading programs in PRD is
updated and the program exits.
.

PAGE NO.

AA5641

312

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

____________~____________________________________

DOCUMENTCLASS~C~Y_B~ER~D~A~T_A

PAOGAAMNAME __-=E~S3~_-__T~h~i~r~d-=ov~e~r~1~a~y~o~f~S~O~Z_-~P~r~o~g~ra~m~S~g~u~ee~z~e~___________L~e~y~e~1~Q~6~_______
INTERFACE
1.

ENTRY METHOD
ES3 is an overlay of the SQZ program. It is loaded by ES2 overlay via
ENTPRG and executed from its only entry point PRGSQ.

2.

INPUT PARAMETERS OR CONDITIONS
I = current ATT base address.

3.

EXIT METHOD
a.

ES3 releases its area via EXDFUN and loads ESH via ENTPRG.
executed from the second entry point.
RT JENA
LDQ
RTJ-

\,-

b.

4.

ENA
JMP-

(EXDFUN)
1

=N$3819
(ENTPRG)

ESH is

release ES3
second ENTRY POINT
ESH

II

(REJSUP)

OUTPUT PARAMETERS OR CONDITIONS
a.

I = current ATT base address.

b.

The following message is printed via PRTMSG PROGRAM LIBRARY SQUEEZED.

ASSEMBLY CHARACTERISTICS
1.

a.

EQUATES
lROB IT ($33)
ONEBIT ($23)
ZERO ($22)
NZERO ($12)
LPMASK (2)

PAGE
AA5641

NO.

_3_1_3_

'RINTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

CYBERDATA

PROGRAM NAME

ES3

b.

c.

d.

-

($47)
(20)
(3 )

EST
OWCNO
PRDDA

( 4)
( 10)

EXDFUN
WAIT

VECTOR
( $AE)
($B2)
($AD)
($90)
($AA)
($Al)
($A8)
($31 )
($32)
($98)
($9E)
( $9F)
($BO)

ATT
ATTEMP
SCA
IND
BUFBCK
BUFSLN
CURAD
MAXPRD
NXTLOD
MINDIS

(73)
(46)
(SCA)
( SCA+l)
(SCA+2)
(SCA+3)
(SCA+4)
(SCA+S)
(SCA+6)

CLCD\~A

WRTDWA
REDSEC
WRTSEC
ENTSR
EKTSR
RTNSR
Er~TPRG

e.

•

SOFTWARE DOCUMENT

Level 06

TRAN ROUTINE PARAMETER
BACKWARDS POINTER FOR CORE BUFFER
LENGTH (IN SECTORS) OF -CORE BUFFER
DISK ADDRESS TO WHICH WE MOVE
NUMBER OF ENTRIES IN PRD
NEXT AVAILABLE DISK ADDRESS FOR LOAD PROGRAM
CURRENT MINIMAL MISTAKE TO CURRENT ADDRESS
PAGE NO.

AA5641

PSSD

Third overlay of SQZ - Program Squeeze

SST
SST
STEMP
PRO

TRANSFER
CAM
REJSUP
RELFOR

•

_3_1_4_

'IINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C~Y_B_ER~D_A~T~A____________~________________________~_________
PROGRAMNAME __~ES~3~_-__T~h~i~r~d~o~v~e~r~la~y~o~f_S~Q~Z~-_P~r~o~g~r~am~S~g~u~ee~z~e~__________=L~ev~e~1~O~6________

(SCA+])

MINFUN
MINBIT
PRGLEN
PRGBIT
2.

(SCA+8)
(SCA+9)
(SCA+.lO)

ADDRESS
CONTROL
PROGRAM
CONTROL

IN PRD OF PROGRAM WITH MINDIS
BIT OF PROGRAM WITH CURRENT MINIMAL DISTANCE
LENGTH
BIT OF PROGRAM

HACROS USED
None.

3•

PROGRAM DEPENDENCIES
SETMOV
ENTSR
ENEXSR

EXTSR
RTNSR
WAIT

PIO

~~~~~:

[

RED SEC
WRTSEC
ENTPRG

ENTPRG

{

EXDFUI~

SUPER

PRTMSG
{ REJSUP

GFCORE

[ RELFOR

SYSTEM INSTALL PARAMETERS
SIDSQZ - working area for transferring programs.
SIPRDN - beginning of "load program" area •.

4.

DATA AREAS USED
ATT
PRD

PAGE NO. _ _
31_5__

AA5641

PRINTED IN Hif USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A______________~____________________________________
PROGRAMNAME ____E~S3~____
T_h_ir_d__o_v_e_r_la~y~o_f__S~QZ__-__P_r_o~g_ra_m__S~q_u_ee_z_e_____________L_e_v_e_l__0_6________

PHYSICAL CHARACTERISTICS
1•

t1EMORY SPACE REQU I REMENTS
125

16

=

293 10 words for the program.

99 words - minimum size of memory buffer.
2.

RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Not reentrant.

PAGE NO.

AA5641

316

'tiNTED IN THf USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~ER~D~A~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

______________________________________________-------------

Leve 1 06
PROGRAMNAME __~E~S~4-=--LFLiLr~st~O~y~e~r~l~a~y~Quf~S~Q~lJ~E~E~Z~E____________________-------------------------PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
Es4 is the first overlay of SQUEEZE program. The documents directory
(LDD) is searched and the documents table (LOT) is compressed so unused
portions are el iminated. Es4 also clears 4 first control words in Tape
Recovery Area.

2.

DETAILED DESCRIPTION
The point of compression is initiaized as the entry right after the LDD.
Two buffers are allocated: one for the LDO and the other is used for the LDT.
The LOT buffer serves two purposes: One half serves as target buffer
(compressed LDT) and the other as source buffer (original LOT). Two temporaries
in the ATT. CURBG1, CURBG2 are the corresponding displacements in LDD and LDT
of these two buffers.
The LDD is read into core and searched. If a document whose displacement
equals the current point of compression is found, the point of compression
is increased with the document length and the process continues for the
new point of compression. If a document whose displacement is greater
than point of compression is not found, compressing had been finished. The
current available displacement in LDD + LDT (in LDD header) Is updated. The
LDD is written to disk (via WRTLDD) subroutine) and the target buffer,
provided it is not empty, is written to the LDT (via WRTMVE subroutine). The
four control words of tape recovery area are cleared, buffers are released
and the program exits.
If documents whose displacements are after the current available displacement
are found, the document closest to the point of compression is transferred
from the source buffer to the target buffer and its displacement In LDD
core buffer is updated.
During transfer, portions of the document should be read into source buffer
(via RDMVE subroutine) if not available at core, and the target buffer will
be written to the LDT (via WRTMVE subroutine) every time it is filled up.
If any writing is done while transferring, the LDD and the target buffer are
written to disk. The current point of compression is ~pdated and the process
continues.

. PAGE NO. _ 317
_ __
PRINTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENTCLASS~C~Y~B~E~RD~A~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

___________________________________________________________

06
Level __
PROGRAMNAME ____ES~4L_-~F~t~r~st~Ouy~e~r~)a~y~Q~f~S~O~U~EE~Z~E________________________________________
INTERFACE
1.

ENTRY METHOD
Es4 is first of SQZ overlays, loaded by ESH via ENTPRG.
CLR
A
LDQ =N$80E
RTJ - (ENTPRG)

2.

INPUT PARAMETERS OR CONDITIONS
All stations are supervisor locked.
I = current ATT base address.

3.

EXIT METHOD
a.

Es4 loads next overlay ES1 after releasing itself.
RTJ - (EXDFUN)
CLR
A
ESl
LDQ =XFMTSQZ
RTJ - (ENTPRG)

b.

If no memory is avai lable for the two buffers, the program exits to
REJSUP with the appropriate error code:
ENA
11
JMP - (REJSUP)

4.

OUTPUT PARAMETERS OR CONDITIONS
a.

Before the normal exit, two Informing messages are printed via PRTMSG.
'DOCUMENT TABLE SQUEEZEI
'TAPE RECOVERY AREA CLEARED '

b.

When the program exits via REJSUP, error code 11 is output parameter.

. PAGE NO.

318

'IINTED IN THE USA

CONTROL DATA CORPORATION
',_

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
DOCUMENT CLASS _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
PROGRAMNAME ___E_S_4_-_F_i_r_s_t_O_v_e_r_la_y_of_S_Q_U_EE_Z_E_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _L_e_v_e_l_O_6

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

LOCORE
ZROB IT ($33)
ONEBIT ($23)
ZERO ($22)

b.

SST
SST ($47)
STEMP (20)

c.

EST
LDD (3 )

d.

TRANSFER VECTOR
CAM ($AE)
REJSUP ($B2)
RELFOR ($AD)
CLCDWA ($90)
REDDWA ($A9)
WRTOWA ($AA)
REDSEC ($A7)
WRTSEC ($A8)
ENTSR ($31)
EXTSR ($92)
RTNSR ($98)
ENTPRG ($9 E)
EXDFUN ($9F)

e.

ATT
ATEMP (.73)
SCA (46)
LDDBCK (SCA+l)
MVBFL (SCA+3)
MVBCK (SCA+4)
CURBGl (SCA+S)
CURBG2 (SCA+6)
MINDIS (SCA+7)

-

backwards pointer of LDD buffer~
length of LOT working buffer (in words).
backwards pointer of LDT working buffer.
displacement of LDD+LDT of the beginning of target buffer.
displacement of LDD+LDT of the beginning of source buffer.
displacement of the document currently closest to point of
compression •
. PAGE NO.

319
PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~CY~B~E~R~D~A~T~A___________________________________________________________
PROGRAMNAME _____E_S_4__-__
F_ir_s_t__O_v_e_r_la~y__o_f_S_Q~U_E_E_Z_E____________________________L_e_v_e_l_O_6______

DOCNO
MINDOC
DOCLEN
NEWMVE
CURMVE

(SCA+8)
(SCA+S)
(SCA+l0)
(SCA+l1)
(SCA+12)

- document number.
document currently closest to point of compression.
- the length of MINDOC.
- the displacement of the free word in target buffer.
- the displacement in source buffer of the word to be
transferred.
CURDIS (SCA+13) - current point of compression (displacement in LDD+LDT).
FLGDD (SCA+14) - flag set if writing has been.done during transferring.

f.

GENERAL EQUATES
FMTSQZ ($808)

2.

MACROS USED
None.

3•

PROGRAM DEPENDENCIES

ENEXSR

ENTSR
EXTSR
RTNSR
SETMOV

Pl0

CLCDWA
REDDWA
WRTDWA
REDSEC
WRTSEC

ENTPRG

ENTPRG
EXDFUN

GFCORE

RELFOR

SUPER

REJSUP
PRTMSG

CAM
4.

CAM

DATA AREAS USED
ATT
LDD + LOT
TRA - Tape Recovery Area
. PAGE NO. _320
__

'tiNTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~BE~R~D~A~T~A

•

PSSD

•

SOFTWARE DOCUMENT

___________________________________________________________

PROGRAMNAME ___E~S~4~-~F~ir~s~t~O~\Ie~r~)~a~y~Qf~S~Q~II~E~E7uE__________________________________~Le~y~e~1~Q~6
Table on Disk

LDT
working buffer

LDD+LDT

HEADER

{I-----+

LDD

CURBG1

TRG

~~----

NEWt"1VE

t

I

LDT

CURBG2

SRC

<

CURMVE

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
148

16

= 328 10

program length.

51210 + 3 = LDD memory buffer.
80+3 = LDT double purposes buffer minimum length.
2.

RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Not reentrant.

. PAGE NO.

321

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA It~S
EXPTAB
Level __
6
PROGRAMNAME ____________________________________________________________________________
DOCUMENT CLASS

PROGRAM FUNCTION
EXPTAB resides in disk and takes the form of a miscellaneous program.
used by the XPL supervisor command and is composed of 2 tables:

It is

1.

A string of ADC's which define the lengths of the layout texts of the
Supervisor commands.

2.

The layout texts themselves where each text is divided into display 1 ines
and the length in words of each 1 ine preceding the line itself.

Access to the table is through entry 21 in the miscellaneous section of the PRD.
When the table is accessed only the first table, or one command layout text or
the first 1 ine of any of the layout texts is called into core.
SIZE

533 16

= 1411 10

words.

PAGE NO.

AA5641

322

'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

ct

PSSD

e

SOFTWARE DOCUMENT

CYBERDATA ItiS

------------------------~--------------------------------------------------

PROGRAMNAME __~F~A=D__
-~Fo~rm=a~t~A~d~'~lu~s~t~m~e~n~t~B~a=s=ed~o~n~K~e~y~e~d~D~a~t~a~___________________________~L~e~v~e~1~6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
FAD is a disk resident program t classified as an end of field own-code
test. When specified in the field definition in the format t it is cal Jed
via ENTPRG in order to change the format according to the data field t but
not at beginning of record. The data field is used as a key for a table
look-up, The table is user written (i .e. t the user must reassemble the
program in order to insert the required table). Each entry in the table
is composed of a key whose length is equated in the program by the user
(up to 8 words) t followed by the format number hexadecimal.

2.

DETAILED DESCRIPTION
FAD first enters SETMOV to enable program moving and then ~hecks ATT/
Current mode for entry or insert (ATT/SW1/12); if neither exit is to
ERROR to indicate own code error. Sets look-up key length according to
field length and up to the length equated in the program. Check data
type in ATT and sets parameters to collect look-up key characters.
(Whe~ data type is ALPHA starts at left-most character of the field,
when numeric starts at right-most character). When the key has been
formed, a loop-through the table is begun.
When the key is found in the tablet the format number associated with that
key is extracted and saved; if the key is not found exit is to ERROR.
According to ATT/RFA+2, a core request is issued and the required portion
of the old format is saved. The new format is cal led via CFCORE and if
not found the requested core is released and exit is to ERROR (EREXT2).
If the format is inactive the old format is recalled (EREXT1), and control
is passed to EREXT2.
If the format is in order, a loop is performed to check the corresponding
fields in both formats 'to ascertain that they are equal in length and data
type. If a discrepancy is found, goes to EREXT2.
The record defined by the new format is not 19nger than the record defined
by the old format goes to update TRB header according to the new format
(LNGOK). But if the record is longer and it is pure entry record after
insert, it will be written in the address specified as "next disk address ll
in the TRB header. Then it is checked if there is enough room for this
record on the current track; if so goes to LNGOK, else a new track is
requested via G1TRT and linked (via LINKTR) and the Iidisk address of
next record is updated in the header of the previous record. Then the
ATT/RFA is set according to the new format, Illst record in format ll bit
(ATT/SW1/1S) is set t and TRB header is updated. The previously requested
core is released via'RELFOR t the program releases itself via EXDFUN and
returns to caller via EXTSR.

PAGE NO.

AA5641

_3_23__

... INTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A_._IM_IS_________~____________________________________

FAD - Format Adjustment

PROGRAM NAME

Ba~s_e_d_o~n~K~ey~e~d~D~a~ta~____________________~Le~v~e~I~6

INTERFACE
1. ENTRY HETHOD
FAD is a disk resident own-code routine loaded by ENTPRG.
entry point is FAD.
2.

I NPUT PARAMETERS OR COND IT IONS
I = ATT address.

3.

EXIT METHOD
a. Jump to error with own code error code.
b.

4.

The only

The program releases itself via EXDFUN
Jump to EXTSR.

OUTPUT PARAMETERS OR CONDITIONS
I = ATT address.

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE

b.
c.

SST ($47)
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST
STEMP (20)
TRANSFER VECTOR
CLCDHA ($90)
ENTSR ($91)
EXTSR ($92)
GTBYTE ($94)
ERROR($96)
CAM ($AE)
GFCORE ($9D)
EXDFUN ($9F)
REDDWA ($A9)
WRTO\·JA ($AA)
RELFOR ($AD)

PAGE NO.

AA5641

324

'IINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__I_M_S__________~_____________________________________________
PROGRAMNAME ____
FA_D__-__F_o_r_ma_t__A_d~j_u_s_tm_e_n_t__B_a_se_d__o_n__K_ey~e_d__D_a_t_a________________________l_e_v_e_1__
6

d

ATT
CMODE (2)
FCNT (3)
RCNT (4)
ATRB (6)
PFBA (7)
AVl TK (8)
NDA (11)
DT (13)
FMTNO (13)
RFA (14)
SW 1 ( 19)
SW2 (20)

e.

lUN (35)
ATEMP (73)
CONSTANTS
OCERR ($B)
ERRF3 ($16)
CORFUl ($17)
~YlNG (according to user requirements)

2.

PROGRAM DEPENDENCIES
FCORE
ENEXSR
GSE
CAM
ENTP RG
PIO

3.

-

(RElFOR)
(ENTSR)
(SETMOV)
(EXTSR)
(GBYTE)
(ERROR)

-

(EXDFUN
(ClCDWA)
(REDDWA)
(WRTDWA)

-

Call a format and 1 ink it to the ATT.
Release to format or allocatable core.
Save return address in the common enter/exit stack.
Enable moving of disk resident program.
- Common subroutine exit.
. Extract one character from TRB.
Handle error conditions.
- Allocate core buffer.
Release disk resident program.
Calculate disk record address.
Read disk according to word addressing.
- Write disk according to word addressing~

DATA AREAS USED
Old format buffer
New format buffer

PAGE NO.

AA5641

325

'1INTlO IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
--------------------------------------------------------------FAD - Format Adjustment Based on Keyed Data

PROGRAMNAME _____________________

Level 6

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
16E
= 366 10 words + length of user written table.
16
2. RELOCATION TYPE
Run anywhere.

3.

REENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

326

'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R=DA~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________~______________________________________

PROGRAMNAME ____F_I_E_L_D_S_-__D_i_s_p_l_a_y__a__F_ie__
ld____________________________________________L_e_v_e_l___
06
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
FIELDS has three entry points:
CFLD displays a field.
CWFLD displays a field number and the field.
CSTVER displays a field for sight verification.

2.

DETAILED DESCRIPTION
a.

CFLD
1)

0

If not Read mode go to a2.

G

Get first character of field if error flagged go to a3.

2)
3)

4)

Store given parameters in TOPT/11,12 and go to a4.
0

Increase cursor address by 1 and convert to to output buffer
v i a COiKSR •

•

Prepare parameters and call CDATA to display
flagged field.

0

Increase cursor address by 2 and construct the first word
of the parameters list of CDATA call.

G

If not under Pseudo Entry go to as.

o

If it is not the field just entered go to as.

o

Adjust the number of characters to display according to field
count (ATT/FCNT).

CWFLD
o

Call ENDSR to save return address in Exits stack.

o

Advance screen address to beginning of next line.

e

Call CFDNOS to display field number at beginning of next 1 ine.

•

Call FMTSCN to extract field parameters. Use field address and
field length in calling CFLD to display field.

e

Exit to caller via EXDSR.

PAGE

AA5641

for error

Call CDATA to display the field and exit to caller via EXDSR.

S)

b.

**

NO.

327

'RINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_D_AT_A_____________________________________________________
PAOGAAMNAME ____F_I_E_L_DS__-__D_i_s~p_l_ay~a__F_i_e_l_d________________________________________~L~e~v~e~1_0~6

c.

CSTVER
1)

2)

(CSTV ER) •

Ca 11 ENDSR to save retu rn add ress in Ex its stack.

•

If ATT/CMODE/12 = 1 (Pseudo Verify mode), go to step 2.

•

Backspace current screen position by 2.

•

Call FMTSCN to extract field parameters. Use field address
and field length in calling CFLD to display field.

(PVER).

Set cursor position to one column ahead of end of field.

•

Call CONCSR to convert cursor position to line number and
position within line.

•

Call CDATA to display cursor.

•

Exit to caller via EXDSR.

INTERFACE
1.

ENTRY METHOD
EXT A
RTJ A
--Return--

2.

where A = CFLD, CWFLD, or CSTVER

INPUT PARAMETERS OR CONDITIONS
(I)
Base address of Active Terminal Table (ATT)
For CFLD: (ATT/RQ/1S) = Byte number
(ATT/RQ/O-6) = Character count
(ATT/RQ + 1) = Address of field
For CWFLD: (ATT/IOADDR) = Field number

3.

EXIT METHOD
Return to location immediately following RTJ instruction.

4.

OUTPUT PARAMETERS OR CONDITIONS
(I)

=

Base address of ATT.

PAGE NO.

AA5641

328

'.INUD IN THE USA

CONTROL DATA CORPORATION

DOCUMENTCLASS~C~YB~E~R~D~AT~A~

•

PSSD

•

SOFTWARE DOCUMENT

_______________________________________________________

PROGRAMNAME ________________________________________________________________
FIELDS - DispJuy Q Field
Level __
06
ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

LOCORE
LPMAS K (2)
NZERO ($12)
ZERO ($22)
ONEBI T ($23)
CDATA ($80)
ENDSR ($8E)
EXDSR C$8F)

b.

ATT
CMODE (2)
MODE (2)
FCNT (3)
ATRB (6)
FLDNO (14)
TOPT (33)
10ADDR (64)
RQ (65)

c.

TOPT
CURSRD (3)
PARAS (8)
FLDST (15)

d.

CONSTANT
C (1) Tempora ry storage constant index

2.

MACROS USED
None

3•

PROGRAM DEPENDENCIES
VL2CRT

(CDATA - Display driver initiator)
(CARLIN - Characters per line)
(CONCSR - Convert to screen address)

PAGE
AA5641

NO.

329

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A______________~_____________________________________
PROGRAMNAME __~F~IE~L~D~S~-~D~is~p~l~a~y_=of~F~i~e~l~d~s______________________________________~L~e~v~e~l~Q~6

HDRNOS
FMTSCN
CMISCl

4.

(CFDNO - Display field number)
Extract field parameters
CENDSR - Display entry routine)
(EXDSR - Display exit routine)

DATA AREAS USED
ATT
TOPT

Active Terminal Table
Terminal Outout Table'

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE
81 16

2.

~

REQUIREM~NTS

12910 words.

RELOCATION TYPE
Core resident, loader relocatable.

3.

ENTRANCY CLASSIFICATION
Passive reentrant.

PAGE NO. __3_3_0_

AA5641

'tiNTED IN THE USA

CONTROiL DATA CORPORATION

PSSD

•

SOFTWARE DOCUMENT

C'fBERDATA IMS
FMSEL - Format Select
NAME _ _ _ _ _ _ _ _ _ _ _ __

DOCUMENT CLASS
PROGRAM

•

--------------------------------~--------------------------------

Level 6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
This routine processes the Format Select key and the keys following.
It performs the following operations:

2.

a.

Checks that format select is legal, and if not, exits to error.

b.

Calls GETSTR to read in up to 4 characters + RELEASE.
if cancel key was depressed, clears up and exits.

c.

Calls GETBIN to convert characters received. If nonnumeric or
format number greater than maximum set by system, exits to error.

d.

Calls GFCORE. On return if inactive, releases and exits to error.
Else, display format, clear data I ine where Fxxx appeared previously,
set SWl i s bit 10 (see ATT), and exit via EXDFUN and CLRSR.

DETAILED DESCRIPTION
a.

Ft1SEL checks if SW1 bit no. 2 is set (see ATTword no. 19).
control is transferred to ERROR.

b.

Calls DISPLY to clear field number, and then stores F (in ASCII)
in Current Char (see ATT - CURCH), and invokes DISPLY again for
displaying the character F.

c.

Sets bit no. 15 of DT/FMTNO (see ATT word no. 13), and displays
a :J. Then invokes GETSTR which initiates a read of 5 characters
frJm the key station into the interrogate buffer, and returns to
FMSEL with completion code (see INT word no. 2). FMSEL checks the
completion code.

d.

If cancel received, calls DISPLY to clear first data line of display
and replace it by the string: '001/ 1 , sets up first field to be entered
parameters (FIRSTF), and exits via CLRSR.

e.

If release key was not received, FMSEL checks the address of entry in
the FBA table which contains the address of the current format (see
ATT word no. 7).

f.

If zero, sets SW1 bit no. 3 (see ATT word no.
Insert, and then transfers control to ERROR.
release FBA, clears the word (ATT word no. 7)
Format Number (see ATT word number 13). Sets
word no. 19) and goes to f.

PAGE NO.

AA5641

On return,

If not,

19) and SW1Bl0 if in
Else, calls RELFOR to
and places zero in the
SW1 bit no. 3 (see ATT

331

'RINTED IN THf USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~V~B~E~RD~A~T~A~I~M~S

•

PSSD

•

SOFTWARE DOCUMENT

__________~____________________________________
Level 6

-_
Format
PROGRAM NAME _ _FMSEL
___
_ _ _Select
_ __
g.

If release received, calls GETBIN, which converts the string to binary
number, and control is returned to FMSEL. If the format number is
illegal (not numeric, or equal to zero), then processing continues at e.
Else, stores the number in the first temporary working area. (see
SST word no. 20).
Checks if format is larger than maximum format number allowed by the
system (see EST word no. 24). If yes, then proceeds as described in e.
If not, invokes GFCORE which releases the previous format, looks for
required format in core, and if not found, on disk.
If the format does not exist, or is too long for the current job,
processing continues at e.

h.

Checks if the format is active (see FMT word no. 3 bit no. 15)
or inactive.

i.

If active, then if Insert Flag (SWl bit 12) is set, then resets SWl
bit no. 3 and sets Format Change bit (see TRB word no. 3 bit no. 13),
and calls DISPLY to replace the first data 1 ine by the string 1001/1
and exits as in d.
If Insert flag is not set, then sets SWl bit no. 10 and 15, clears
bit no. 3, calls DISPLY to replace the first data 1 ine by the string;
1001/1, and continues as in d.

j.

If the format is inactive, then calls RELFOR which decrements the
user count (see FMT word no. 2) and releases core if necessary.

k.

Clears FBA address (see ATT word no. 7), and also clears the format
number (ATT word no. 13).

1.

Sets SWl l s bit no. 3 and control is transferred to e.

INTERFACE
1•

ENTRY METHOD
FMSEL is a disk resident program which is called via ENTPRG routine.

2.

INPUT PARAMETERS
Register I which contains the base address of Active Terminal Table (ATT).

3.

EX IT METHOD
Two exits from

Ft~SEL:

a.

If an erroris detected the exit is via GSE (Entry Point ERROR).

b.

Exit via CLRSR.

PAGE NO.

AA5641

_3_3_2_

'RINTED IN THE

us ...

CONTROL DATA CORPORATION
, .

DOCUMENT CLASS

0

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA It1S
Level 6

PROGRAMNAME ____
F~_·:_S_E_L_-_ _F_o_rm_a_t__
Se_l_e-c-t

4.

OUTPUT PARAMETERS
a. I = base address of ATT.
b. Q = error index, when ERROR is invoked (see ERRTAB- core resident
routine).

ASSEMBLY CHARACTERISTICS
1 • EQUATES
a. LOCORE
DISPLY ($AO)
GFCORE ($9D)
GETSTR ($A2)
GETBIN ($99)
LPt1ASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZEROBIT ($33)
ER'~OR ($96)
RELFOR ($AD)
SST ($47)
CLRS R ($93)
b. ATT
CMODE (2)
AINT (27)
CURCH (2)
SWl (19)
PFBA (7)
FDTP (13)
c. INDEX
ERRA4 (4)
ERRD2 ($E)
2.

PROGRAM DEPENDENCIES
a. ROUTINES CALLED
ENEXSR: SETMOV - Set Move
ERROR
GSE:
DISPLY: DISPLAY
GETSTR - Get String of Char.
PIO:
SCANV: GETBIN - Get the Number in Binary from Input String
GFCORE - Get Format Into Core
GFCORE RELFOR - Release Format
CLRSR: Clear Exit Subroutine
PAGE NO.

AA5641

333

'RINTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

CYBERDATA IMS

PROGRAM NAME

FMSEL - Format Select

b.

•

PSSD

•

SOFTWARE DOCUMENT

Level 6

EXTERNAL LIST
FIRSTF
DFMT
SETMOV
DCHAR
CLRFLD
DFNDTY
DDOC
DBOF

3.

SYSTEM TABLES USED
SST
ATT
EST
FMT
FBA
FRP
INT

-

System Status Table (see Cyberdata software user's guide)
Active Termianl Table (see Cyberdata software user's guide)
Extended System Table (see Cyberdata software user's guide)
Format Table (see Cyberdata software user's guide)
Format Base Address Table (see Cyberdata software user's guide)
Format/Records/Programs Buffer (see Cyberdata software user's guide)
Interrogate Input Buffer (see Cyberdata software user's guide)

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
6F 16 = 11110

2.

words.

RELOCATION TYPE
Disk resident, run anywhere.

3.

REENTRANCY CLASS I F I CAT I ON
Reentrant.

PAGE NO.

AA5641

_3_3_4_

'IINTED IN THE USA

CONTROl. DATA CORPORATION

DOCUMENT CLASS

CYBERDATA I~1S

PROGRAM NAME

FtlTADV - Format Advance

•

PSSD

•

SOFTWARE DOCUMENT

Leyel 6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
FMTADV proceeds the advance to the next group in document.
under Document at beginning of record in ENTRY mode.

2.

Legal only

DETAILED DESCRIPTION
a.

FMTADV exits via ERROR if one of the following occurs:
1)

Record is under F. SELECT.

2)

Mode is not ENTRY.

3)

Not at beginning of record.

b.

Invokes EXDFUN which decrements the user count by one (see FRP word
no. 3), updates the time when the program area will be free, and returns
control to FMTADV.

c.

Checks if the current group is the last group in document (see ATT word
nco 16, bit no. 15).
If not, then it updates the disk displacement of the current group of
the document from the beginning of ~he LDD (see ELDT in ATT) , and
invokes ENTPRG which brings in the routine REDOC, and transfers control
to this routine for executing from the entry point: REDGRP.
Else (The last group in document was reached), calls ENTPRG which
transfers the control to REDOC.

INTERFACE
1.

ENTRY i'1ETHOD
EMTADV is a disk resident program which is invoked by ENTPRG.

2.

INPUT PARAMETERS
a.

(I) = base address of Active Terminal Table (ATT).

b.

SWI bit no. 10 (ATT word no. 19) = 1 when cu rrent record is part of the
document or F. SELECT. (Set to one by F. Select, ENT. and R£DOC when
documen t no. is i 11 ega 1) .

c.

CMODE (ATT word no. 2 bit 11-8) = current mode for operator:
0000
0001

IDLE
VERI FY
0010 = READ
0011
ENTRY

PAGE NO. __
3_3_5_

AA5641

'IINTEO IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS
PROGRAM NAME

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
----------------------------------------------------------FMTADV - Format Advance

leve]

6

d. RCNT (ATT word no. 4) = character count in current record.
e._ End of document (ATT word no. 16 bit no. 15) = This bit is set to
one when the last gr~up in the document is reached.
3.

EXIT METHOD
Exit is to ERROR if an error is detected (see Detailed Description a.),
else, exit is to ENTPRG.

4.

OUTPUT PARAMETERS

1•

EQUATES
a. LOCORE
LPMASK (2)
NZERO ($12)
ONEBIT ($23)
ZROBIT ($33)
ERROR ($96)
EXDFUN ($9F)
ENTPRG ($9E)
b. ATT
SW1 (19 )
CMODE (2)
RCNT (4)
ELDT (16)
c.

ERROR CODE
CA4 ( $4)

2.

PROGRAM DEPENDENCIES
GSE: ERROR
ENTPRG {EXDFUN - EXIT DISK FUNCTION
ENTPRG - ENTER PROGRAM

3.

DATA AREAS AND SYSTEM TABLES USED
a. SST - see Cyberdata Software User's Gu ide •.
b. FRP - see Cyberdata Software User IS Guide.
c. ATT - see Cyberdata Software User's Guide.

PAGE NO.

AA564t

336

'RINTEO IN THf USA

CONTROL DATA CORPORATION
DOCUMENT CLASS
PROGRAM NAME

•

PSSD

•

SOFTWARE DOCUMENT

C'(BERDATA IMS
Leve 1

F"HADV - Format Advance

6

PHYS I CAL i:HARACTER I ST I CS
1.

MEMORY SPACE REQUIREMENTS

1C16 :~ 28 10
2.

wo rd 5

•

RELOC/,T ION TYPE
Dis k ,'e 5 i den t, run an yw her e •

3.

REENTI{ANCY CLASS I F I CAT ION
Dormant reentrant.

PAGE NO.

AA5641

337

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__I_M_S__________~_____________________________________

Level 6

FMTBAK - Format Backward

PROGRAM NAME

PROGRAM FUNCTION
1.

2.

GENERAL DESCRIPTION
FMTBAK backs up the previous entry in the document.
was the first entry exits to ERROR.

If it already

DETAILED DESCRIPTION
a.

FMTBAK exits via ERROR if one of the following occurs:
1)

Record is under F. SELECT.

2)

Mode is not ENTRY.

3)

Not at beginning of record.

b.

Reads the entry in LDD from the disk. If, while working on the
document, the supervisor has deleted it, calls ERROR (Fl).

c.

If it is the first entry in the document - exits to ERROR (A4).
Else, replace the pointer to entry in LDT by the pointer to
entry in LDT of the previous group of the document.
(See ELDT - ATT word no. 16: INA - 2
STA - ELDT,I).

d.

Invokes EHTPRG to load and execu te REDGRP.

INTERFACE
1.

ENTRY METHOD
FMTBAK is disk resident.

2.

It is called via ENTPRG routine.

INPUT PARAMETERS
a.

I = base address of Active Terminal Table (ATT).

b.

SWl bit no. 10 = current record is part of the document or F. SELECT.
Set to zero by DOC and RTD.
Set to one by F. SELECT, ENT and REDOC when document no. is illegal.

c.

ELDT (ATT word no. 16) = disk displacement of the current group of the
document from the beginning of the LDD.

d.

CMODE (ATT word no. 2 bit 11 - 8) = current mode for an operator.
0000 = IDLE
0001 = VERIFY
0010 = READ
0011 = ENTRY

= character

e.

RCNT (ATT word no. 4)

f.

LDDDA (SST word no. 9)

g.

DOCNO (ATT word no. 17 bit 15-8)

= LDD

PAGE NO.

AA564t

count in current record.

disk address.

= document

number.

338

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

P55D

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_BE_R_D_A_TA
__I_M_S_____________________________________~________
PROGRAM NAME

FMTBAK - Format Backward

Level 6

3.

EXIT METHOD
Exit is to ERROR if an error is detected (see 2a, 2b, 2c).
Else, exit is to REDGRP via ENTPRG.

4.

OUTPUT PARAMETERS
a. a = Error code when ERROR is invoked.
b. I = Base address of ATT.
c. SW1 bit 3,10 (ATT word no. 19) = see Input Parameters - b, and ATT.
d. ELDT = See Input Parameters - c.

ASSEMBLY CHARACTERISTICS
1-

EQUATES
a. LOCORE
SST ($47)
ERROR ($96)
CLCDWA ($90)
RE D\.JA ($A9)
EXD FUN ($9F)
ENTPRG ($9E)
LPMAS K (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
b. ATT
SW1 (19)
CMODE (2)
RCNT (4)
DOCNO (17)
ATEMP (73)
ELDT (16)
c.

SST
EXTSST (0)

d.

EST
LDDDA (9)
ERROR CODES

e.

CA4 ($4)
CFl ($14)

PAGE NO.

AA5641

339

'1INTfO IN tHi USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

3•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I MS

----~----------------~----------------------------------------

Level 6

FMTBAK - Format Backward

PROGRAM NAME

2.

•

PROGRAM DEPENDENCIES
CLCDWA - Calculate Disk Word Address
PIO
{ RED\1A - Read Di sk Word Address
GSE

- ERROR

ENTPRG

EXDFUN - Exi t Oi sk Funct ion
{ ENTPRG - Enter Program

DATA AREAS AND SYSTEM TABLES USED
a. LDD See Cyberdata software user's gu ide.
b. LDT See Cyberdata software user1s guide.
c.
d.

ATT

See Cyberdata software user's guide.
See Cyberdata software user1s guide.

e.

GST

See Cyberdata software user's guide.

SST

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
3D
16

2.

= 61 10

words.

RELOCATION TYPE
Disk resident, run anywhere.

3.

REENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

340

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __F_'1_TP_A_R__________________________________________________________-----PROGRAMNAME ____
Lo_c_a_t~e__a__d_e_s_i~g_n_a_te_d~p_a~r_a_m_e~t_e_r__
in__F_o_r~m~a~t~T~a_b~le~_____________________________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
FMTPAR has two entry points: FMTPAR and GFNAME. FMTPAR extracts a
designated format parameter from the current format definition.
GFNAME locates the name of the current field in the format definition
table.

2.

DETAILED DESCRIPTION
a.

b.

FMTPAR
1.

Set SST/STEHP + 2 = 0 (counter).
Set SST/STEHP + 3 = address of word 2 of current field description
in Format Table (FMT). Mark out the flag bit addressed by Q, and
save it in SST/STEMP + 1.

2.

(CHECK). Count the number of parameters that precede the designated
parameter in the field description. Keep the count in SST/STEMP + 2.

3.

(OUT). If designated parameter is not defined for this field,
set (A) = $FFFF and exit to caller.

4.

(FOUND). Pick up designated field value in A/0-7 with A/B-IS =
Set (6) = Address of word containing field, and exit to caller.

o.

GFNAME
1.

Call FMTSCN to locate field description in Format table. Extract
name length from field description. If name length = 0, exit
to caller with (A) = O.

2.

(GFN2). Call FMTPAR to locate limit parameter within field
description. If limit parameter exists, go to step d. If no
limit parameter exists, calculate address of name parameter using
parameter count returned in Q.

3.
4.

(GFFXIT).

Exit with (A)

= name length and

(Q)

= name address.

(LIMIT). Calculate address of name parameter using address of
1 imits parameters and number of words in upper and lower 1 imits.
Go to step 3.

INTERFACE
1.

CALLING SEQUENCE
a.

FMTPAR
EXT
ENQ

FMTPAR

B = Position of flag bit in word 2
of field description

B

. PAGE NO.

97

_3_4_1_
'IINTED IN THf US ...

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __F_M_T_PA_R________________~______________________________________________

Locate a designated parameter in Format Table
PAOGAAMNAME ______________________________________________________________________
_
RTJ

FMTPAR
Retu rn-(A) = $FFFF if requested parameter
is not defined.
= value of requested parameter
if it is defined.

(Q)

count of defined parameters
which precede the requested
parameter (count starts with
bit 15), if required parameter
not found.
=

b.

B = 15
14
13
12
11
10

Resequencing
Fill Character
Own Code
Special Test
Counters
Limits

address of parameter if defined.

GFNAME
GFNAME
EXT
ENA
N = Field Number
N
RTJ
GFNAME
--Return-(A) = 0 if name is not defined
= number of words in name, if defined

(Q)

address of first word of name, if defined

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
b.

2.

SST
CFFA (12)
STEMP (20)
c. FMT
LIMBIT (10)
d. FMTSCN
FN 1 (5)
MACROS USED
None
PAGE NO.

AA5641

342

'RINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

 (ATT/ENDBAX)

437

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_y_B_E_R_DA_T_A______________~__________________________~___________________
PROGRAMNAME ____M_A_T_E_R_-_ _O_p_e_n__
o_r_C_l_o_s_e__B_a_tc_h__o_n__T_a~p_e________________________________L_e_v_e_l_0_6

•

Save job index in ATT/JIDX, batch number is ATT/BATCH, and batch track address is ATT/FTOB.

•
•

If batch Is In Entry or Verify mode, go to step 5.

0

If batch is in Maintenance mode, go to step 6.
Set flags in SST/TEMPl according to condition of ba tch:
Bit 0 =

Batch written

Bit 2 =

Batch unbalanced

Bit 4

Error flagged record in batch

•

Move ATT/STATUS/4,2,O to SST/TEMP2/4,2,0 (Iyl bits of the status
Parameters ER, UB and WR, respectively, meaning only batches of
type ER, UB, or WR are included).

•

Move ATT/STATUS/S,3,1 to SST/TEMP 3/4,2,0 (INI bits of the status
parameters ER, UB, and WR, respectively meaning no batches of type
ER, US, or WR are included).

•

If SST/TEMP1/4,2, or 0 does not match SST/TEMP2/4/2/ or 0,
respectively, and does match SST/TEMP3/4,2, or 0, respectively
go to step 5 (Inconsistent status).

•

If EST/DSKST/lu + 4 = 1 (Disk unit down), when lu = ATT/BATCH/12-13
(Logical unit assigned to batch), call PRTMSG with (A) = 66 + lu,
to issue the message:
'
DISK n DESELECTED (n
and go to step 6.

o

=

lu + 1)

Call SPILSR to update AST entry to indicate the batch is in
Maintenance mode, and go to step 7.

5) (REJBCH).

If ATT/STATUS/15 = 1 (STOP parameter in WBT command) go

to step 6.
•

If ATT/STATUS/4,2,O = 0 (Batches with ER, UB, or WR status are not
included,) go to step 6.

•

Otherwise go to step 4.

PAGE NO.

_4_3_8_

'1INTfD IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENT CLAss _c_Y_B_E_R_DA_T_A_ _ _ _ _ _ _-'-_ _ _ _ _ _ _ _ _ _ _ _ _~__________
PROGRAMNAME_~M~AT~ER~-~O~p~e~n_o~r~C~l~o~s~e~B~a~tc~h~0~n~T=a~pe~_______________________~L~e~y~e~1~Q6

6) (STOpn. Call ASCII to convert batch number to ASCII; insert it in
reject message.
o

Insert batch mode, ER status, and UB status in reject message.

o

Call SUPRW to issue the message:
bbbb

REJECTED, Mode

= x,

UB

= y,

ER

=z

where bbbb = batch number

y = UB status

E = Entry
V = Verify
W = Wri tten
M = Maintenance
(y or N)

z = ER status

(y or N)

x = batch mode:

o

If ATT/STATUS/15 = 1 (STOP parameter in WBT command) go
to step b2.

o

If not, go to step 4.

7) (BSTART).

If ATT/MTFENT
go to step 12.

81

(first entry to MATER, from WBT) then

o

If ATT/BCOUNT

=0

o

If ATT/MTFNUM

~

o

If ATT/MTF + 3/0 - 11 = 0 (No batch grouping, i.e., batches are
to be recorded in one file, go to step 8.

$

If ATT/JNAME through ATT/JNAME + 2
step 11.

G

Call CHKBG to check batch grouping.

Q

If the current batch should be grouped in a new file, go to step 11.

(OVRTRL).

(Beginning of tape),' go to step 11.

Previous Magnetic Tape Format Number, go to step 11.

Set ATT/MTFENT

=0

= Previous

Job Name, go to

(Adding to current file).

o

If ATT/BCOUNT

~

o

If ATT/BCOUNT

= Total block count for this reel, go to step 9.

o

ATT /BCOUNT > Tota 1 block count for th is ree 1, ca 11 TAP IOta
backspace (ATT/BCOUNT - Total Block count) records.

o

If we backed over a file mark, go to step b3.

Total block count for this reel, go to step b3.

Nil

PAGE NO.

AA5641

~ 0

439

CONTROL DATA CORPORATION
CYBERDATA
DOCUMENTCLASS ______________________

~

•

PSSD

•

SOFTWARE DOCUMENT

________________________________________

PROGRAMNAME ____M_A_T_ER__-__O~p_e_n__
o_r_C_l_o_s_e__B_a_tc_h__0_n__T_a_p_e________________________________L_e_v_e_l_0_6
9) (CLEAR).

Move Magnetic Tape Format Number and Job Name from ATT
to ECD trailer. Clear Magnetic Tape Format Number and Job Name
in ATT.

10) (MONEXT). Set ATT/MTFEXT = MTFMON (Label processor is to return to
MTFMON and go to step 13.
11) (HDREXT).

Set ATT/MTFENT = 20 (Starting new file) and go to step 9.

12} (CMKEOF).

Call CHKBG'to check batch grouping.

•

If current batch is grouped with previous batch, set ATT/MTFENT

= 0 (Adding to current file) and go to step 10.

•

If current batch is not grouped with previous batch, set
ATT/MTFENT = 20 (Starting new file).

•

Set ATT/MTFEXT = LBL + Label number, the ENTPRG a-parameter which
calls for a file label processing routine.

13} (BBB).

If ATT/MTFEXT = MTFMON, go to step 14.

•
o

If not, call EXDFUN to release MATER program area.
Set GATE = 0 (make MATER available for use).

o

Set ATT/MTFEXT

G

Call ENTPRG to load and execute entry point 2 in the designated
file label processing routine.

14) (LSTBLK).
o

= MTFMON

(Label processor is to return to MTFMON.)

If ATT/MTFENT = 20 (Starting new file) go to step 15.

If ATT/MTF/14-15 = 3 (Fixed Block Mode), go to step 16.

lS} (CALMON).

Call EXOFUN to release MATER program area.

•

Set GATE = 0 (Make 'MATER ava i 1ab 1e for use).

•

Call ENTPRG to load and execute entry point 0 in the Magnetic
Tape processing routing designated in ATT/MTFEXT.

PAGE NO. _4_4_0_

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_RD_A_T_A__________________~------------------_________________________
PROGRAMNAME ____M_A_T_E_R_-__O~p_e_n__o_r__
C_lo_s_e__B_a_t_c_h__o_n__Ta_p~e__________________________________L_e_v_e_I__
06

16) (FIXBLK). If current block is full, or if no more data remains to
be blocked, go to step 15.
o

Put the number of characters, of the last block, in word 3 of
the output buffer.

o

Set I/O bit in the output buffer.

•

Cal I TAPIO to backspace the tape one block.

•

If an error was detected, go to step b3.

•
G

Cal 1 TAPIO to read the last block into the output buffer.
If an error was detected, go to step b3.

o

Call TAPIO to backspace the tape one block.

•

If an error was detected, go to step b3.

8

If not, go to step 15.

17) (LASTB). Set GATE = 0 (Make MATER ava i 1ab le for use by other
terminals).

b.

•
o

Set ATT/MTFENT = 30 (Last batch).
If ATT/BCOUNT = 0 (Beginning of Tape), go to step bl.

o

Call EXDFUN to release MATER program area.

o

Set ATT/MTFEXT

o

Call E~TPRG to load and execute entry point 2 in the designated
file label processing routine.

= MTFMON (Label processor is to return to MTFMON).

WBTEXT
Call SETIO to set ATT/FUNIDX/15 = 1 (Return address to be
stored in Exits stack is relative address).

1) (WBTEXT).

o

If GATE :f. 0, call WAIT to delay one cycle; repeat thIs step
until GATE = O.

o

Increment GATE by one.

•

Call SETPOS to convert block count to ASCII and store the result
in the block total message.

•
o

Call TAPID to write a file mark.
If an error was detected, go to step c3.

PAGE NO.

AA5641

441

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_R_DA_T_A______________~__________________________~________
PROGRAMNAME __~M~A~T~E~R_-_ _O~p~e~n~o~r~C~l~o~se~B~a~t~c~h~0_n~Ta~pe________________________________~L~e~v~e~1_0~6

•

Build the 16-word record:
EODI ****************************
in the Interrogate buffer.

•

Call TAPIO to write the EOD record on the output tape.

•

If any error was detected, go to step c3.

•

Call SETIO to set the I/O bit in the End of Data Trailer area
header block.

•

Call TAPIO to write the End of Data Trailer on the output tape.

•

If any error was detected, go to step c3.

•

Call CLDWA to calculate disk word address of Magnetic Tape
recovery area.

•

Call REDDWA to read 4-word recovery area control block.

•

Clear the control bit for the tape recovery area associated with
the current batch.

•

Call WRTDWA to re-write the 4-word recovery area control block.

•

Call SUPRW to issue the message:
TOTAL NUMBER OF BLOCKS NNNNN
where NNNNN is the tape block count.

•

Set GATE

•

If ATT/MTFENT

•

Call RELEAS to release buffers that are assigned:

=0

(Make MATER available for use).
~

30 (Not on last batch), go to step cl.

End of Data Trailer, Terminal Record Buffer, Input Buffer,
Output Buffer, Interrogate. Buffer, Format Buffer, Code Conversion
Pr9gram.
•

Exit to SV to process next Supervisor Command.

2) (TERMIN). Call PRTMSG to issue the message FUNCTION TERMINATED and
go to step a17.
3) (TIOERR).
e

Set GATE = 0 (Make MATER avai lable for use).

Call PRTMSG to issue the message TAPE I/O ERROR and continue at
step c.

PAGE NO. 442

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________~__________________________~__________

HATER - Open or Close Batch on Tape
Level 06
PROGRAMNAME ________________________________________________________________________
_

c.

ERREXT
1) (ERREXT).

Call SETIO to set ATT/FUNIDX/15 = ] (Return address to
be stored in Exits stack is relative address).

G

If GATE ~ 0, call WAIT to delay one cycle; repeat this step until
GATE = O.

•
•

Increment GATE by one.
If ATT/JIDX = 0 (no open batch at this terminal) go to step 2,

•

Call SPILSR to update the Active Batch Table to restore the
mode of the current batch.

2) (OUT).
G

Call RELEAS to release ass igned buffers.

Exit to REJSUP with (A)

3) (TIOER1).

•

= $FFFF

(No error message).

Call RELEAS to release assigned buffers ••

Exit to REJSUP with (A)

= 58 (Issue TAPE I/O ERROR message).

INTERFACE
1.

ENTRY METHOD
MATER is a disk-resident program which is called via ENTPRG.

2.

INPUT PARAMETERS OR CONDITIONS
(I)

3.

=

Base address of Active Terminal Table (ATT)

EXIT METHOD
Normally, NXTBCH calls another disk-resident program, either MTFMON or a
label-processing program. In case of error, exit is to REJSUP.
WBTEXT exits to SV normally; to REJSUP in case of error.
ERREXT exIts to REJSUP.
(I) = Base address of ATT.

PAGE

AA!i64f

NO.

_4_4_3_

CONTROL DATA CORPORATION
DOCUMENTCLASS~CY~B~E~R~DA~T~A

•

PSSD

•

SOFTWARE DOCUMENT

__________~______________________~________________

PROGRAMNAME ___M_A_T_ER__-_O_p_e_n_o_r_C_l_o_se__B_at_c_h_o_n__
Ta_p_e______________________________L_e_ve_l__
06
ASSEMBLY CHARACTERISTICS
1•

EQUATES .
a.

LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROSIT ($33)
SST ($47)
CLCDWA ($90)
ENTSR ($91)
EXTSR ($92)
SUPRW ($97)
TAPIO ($9A)
ENTPRG ($9 E)
EXDFUtJ ($9F)
SPILL ($A 1)
REDDWA ($A9)
WRTD\~A ($AA)
RELFOR ($AD)
WAIT ($BO)
SV ($B1)
REJSUP ($B2)

b.

SST
TEMPl
TEMP2
TEMP3
DSKST

c.

(20)
(21)
(22)
(29)

ATT
FTOB (1)
JIDX (3)
I NBUF (5)
TRS (6)
FBA (7)
FMTNO (13)
FUN I DX (21)
ABT IDX (22)
TRMNT (23)
IRB (27)
PAGE NO.

444

CONTROL DATA CORPORATION

•

PSSD

DOCUMENT CLASS

CYBERDATA

PROGRAM NAME

MATER - Open or Close Batch on Tape

•

SOFTWARE DOCUMENT

Level 06

OUTBUT (28)
BATCH (3S)
SVCA (36)
BCOUNT (SVCA + S)
MTCA (SVCA + l 0)
MTFEI~T (MTCA)
MTFEXT (MTCA + 1)
EODADR (MTCA + 2)
MTF (MTCA + 3)
STRBAX (MTCA + 8)
ENDBAX (MTCA + 9)
STATUS (MTCA + 10)
TRANUM (MTCA + 1 1)
JNAME (MTCA + 12)
MTFNUM (MTCA + 1S)
ATEMP (73)
d.

EOD TRAILER
TOTBLK (2)
MTFN (3)
FN (4)
IN (5)
BN (8)
LBC (12)
EODLNG (40)

e.

TAPIO REQUEST CODES
MO (4)
BF\·J (11)
CODFR (18)
CODFW (19)

f.

ENTPRG REQUEST CODES
MATER ($080S)
MTFMOV ($080 F)
LBL ($4820)

PAGE NO.

AA5641

445

'IINTED IN THt USA

CONTROL DATA CORPORATION

CYBERDATA
DOCUMENTCLASS ______________________

~

•

PSSD

•

SOFTWARE DOCUMENT

_______________________________________________

PROGRAMNAME ____
MA_T_E_R__-__O_p_e_n_o_r__C_l_o_s_e__
Ba_t_c_h__o_n__T_a_pe________________________________L_e_v_e_l_O_6_

2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
Er~TPRG

{ ENTPRG
EXDFUN

ENEXSR

SETMOV
ENTSR
EXTSR
WAIT

{

SPILL
GFCORE
ARITH

SPILL
RELFOR

{ BDDB
{

PIO

SUPER

4.

CLCDWA

SUPRW
TAPIO
REDDWA
WRTDWA

{ PRTMSG
SV
.REJSUP

Enter a disk resident program.
Exit disk resident program.
Enable moving of disk resident program.
Save return address in Exits stack.
Exit to last return address i n Ex i ts stack.
Schedule delay.
Maintain ABT.
Release format.
Binary-to-decimal conversion.
Decimal-to-binary conversion.
Calculate disk word address.
Supervisor read-write.
Tape I/O processor.
Read disk word address.
Write disk word address.
Write a message at supervisor console.
Supervisor command processor.
Supervisor command r e j e c t rou tin e •

DATA AREAS USED
SST
ATT
EOD
TRA
IRB

System Status Table
Active Terminal Table
End of Data Trailer
Tape Recovery Area
Interrogate Buffer

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
3 1116

2.

= 78510words.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Not reentrant (closed).
PAGE NO. _4_4_6_

AA5641

CONTROL DATA CORPORATION
DOCUMENT CLASS
PROGRAM NAME

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA

--~----~-----------------------------------------------------

MCHAR

Moye Character into Self-Scan Terminal Output Buffer

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
MCHAR enters a character into the data portion of the self-scan TOPT. If
the character being entered does not fit in the existing data area (causes
overflow), the indicator bits on all characters in the data section are
set so that the entire area is redisplayed with the new character at the
right end of the display. A character may be stored in the self-scan TOPT
at any time because an indicator is set for each character that has not been
d i sp Iayed.

2.

DETAILED DESCRIPTION
First MCHAR checks to see if the next character will cause a new overflow
situation, (if next avai lable position is 32). If so, the closed subroutine
GETDEF is cal led to see which area of the display is currently in use
(idle supervisor, interrogate of data) to reset the next available character
position. The overflow count (TOPT/HDR2/9-13) is set to 1, the overflow
flag is set, and (SETIND) the indicator bit to be displayed Is set on all
characters in the data field. (NORMAL) The character is stored in the next
avai lable character position and the next available character posItIon is
incremented. The address of the leftmost character for output is updated
to the latest character address if overflow occurred. Interrupts are inhibited during the manipulation of the data buffer itself. Control is returned
to the caller by indirect jump through the entry cell.
If the addition of this character does not cause a new overflow condition
but an overflow condition was already in existence, a check is made to see
if the new character will be the last one in the buffer. If so, the oVerflow count is set to zero. If not the last character, the overflow count lis
incremented by 1. Then control jumps to SETIND (described above).
If the new character does not cause overflow and no overflow condition
existed, control goes to NORMAL (described above).

INTERFACE
1.

ENTRY METHOD
Return jump

2.

INPUT PARAMETERS OR CONDITIONS
1 = current ATT base address
ATT/CURCH = character to be stored

PAGE NO.

AA!>F>4t

447

Leve I 01

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~BE~R~D~A~TA~

MCHAR

PROGRAM NAME
3.

-

•

PSSD

•

__________~________________________~________

Move Character into Self-Scan Terminal Output Buffer

EXIT METHOD
Jump indirect through entry cell

4.

OUTPUT PARAMETERS OR CONDITIONS
1 = current ATT address
Character is stored in TOPT

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a.

b.

c.

LOCORE
LPHASK

(2)

ONEBIT

($23)

ZROBIT

($33)

SST

($47)

ATT
CURCH

(2)

TOPTAD

(33)

SST
CATT

d.

e.

SOFTWARE DOCUMENT

( 11)

TOPT
HDR2

(2)

HDR3
DATBAS

(3)

(4)

DISPLAY DATA DEFINITION STARTING COLUMNS
D3
D2

(0)

D1

(3)

DO

(14)

(0 )

PAGE

NO. 448

Level 06

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA

----------------------~------------------------~----------

PROGRAMNAME __~M~C~H~A~R~-_ _~M~o~v~e_C~h~a~r~a~c~te~r~i~n~to~S~e~l~f_-~Sc~a~n~Te~rm~i~n~a~l_O~u~t~p~u~t~B~u~f~f~e~r______~L~e~v~e~1-=06

2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
None

4.

DATA AREAS USED
ATT
SST
TOPT

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
6016

= 109 10

words.

2.

RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Dormant reentrant.

PAGE NO.

AA5641

449

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_D_A_TA
___
IM_S__________~__________________________~___________________
PROG RAM NAM E __~M;.;;;.D....:...M:...;..Y__
-_t:...;..1.~is:....;c:....;e~l;....;l...;;a;...;...n...;;e..;;;.o..;;;.u..:;..s-.::....Du;;;.;m.;.;,;m~y~F-=u;..;..n-=c...;;t..;..i. ; .o;. ;. n_________________-=L:.::e:..:.v-=e~1--:::...6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
MDMY is the dummy program for miscellaneous functions.

2.

DETAILED DESCRIPTION
MDMY calls MONITR with a return jump, and Q register set to 8006,
indicating error report number 6 is requested (nonexistent function
called). Upon return from MONITR, MDMY hangs the computer on 18FF.

INTERFACE
1.

ENTRY METHOD
MDMY is a disk resident program loaded by ENTPRG, after a miscellaneous
type of function has been entered.
ENTPRG checks if the program needed is in core or being loaded into core.
If finds out it is neither in core nor being loaded, a check is made to
see if the program exists on disk. If not, a request is made to load the
miscellaneous dummy function program, t~DMY.

2.

I NPUT PARAMETERS OR COND IT IONS
None.

3.

EXIT HETHOD
Program makes computer hand on 18FF.

ASSEMBLY CHARACTERISTICS
1.

EQUATES
SST
MONITR ($8C)

2.

PROGRAM DEPENDENCIES
MONITR generates error report.

PAGE NO.

450

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__IM_S__________~________________________~__________________

s o_'c_e_l_l_an_e_o_u_s__Du_m_m_y__F_un_c_t_i_o_n_______________________________L_ev_e_1___
PROGRAMNAME ____
MD_M_Y__-__
M_
6
PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
9
words.
16
2. RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

451

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_R_D_AT_A___
M_s__________~__________________________~___________________
PROGRAMNAME __~M~I~r~~TL,_S~P~A~C~E~,~M~I~P~RO~-~M~S~0~S~Ch~a~n~9~e~s~________--____________________~L~e~v~e~l~6

PROGRAM FUNCT I Oi~
1.

GENERAL DESCRIPTION
Three operating system programs were changed to incorporate the CYBERDATA
system requirements:

2.

a.

MINT

- To allow for scheduling the supervisor at any time (Sp).
- To allow abortion of Cyberdata at any time (VX).
- To allow abortion of supervisor at any time (SX).

b.

SPACE - To allow for dynamic setting of memory (allocatable and
unpr6tected)'de~ended upon previously set system requirements.

c.

MIPRO - To allow for Cyberdata system loading (VL).

DETAILED DESCRIPTION
a.

MI NT

Since standard as MINT/MIPRO might be locked (MIB/M/MB nonzero)
the modified MINT allows for Cyberdata requests processing even when
busy.
If MINT and MIPRO are not busy, request processing is normal except
for ·VX· ·Sp· and ·SX· which commands are processed in MINT (not MIPRO).
In case the normal processing path is busy, the following conditions
are checked:
a)

A second request is not processed.

b)

I/O not in progress.

c)

cyberdata is active.

If all the a.m. conditions are met, a secondary READ is issued and
the request processing is normal, but only ·VX· ·Sp· or lSX· are legal.
Requests processing is done by the ·CKSPVX· subroutine.
This subroutine performs the fol lowing functions:
1)

• SX· r eq uest Set terminate bit on the Active-Terminal Table for the supervisor.

2)

·Sp· request Schedule SV entry point at Cyberdata operation level.

3)

• VX· reques t -

Set total system lock to prevent additional terminals input.
Scan all terminals for I/O in progress, and wait for I/O
completion. Then clear Cyberdata active flag and release memory
occupied by Cyberdata and type ·AB·.

PAGE NO.

452

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_RD_A_T_A___M_s__________~________________________~___________________
PROGRAMNAME __~M~I~NT~I~S~P~A~C~E~I~M~I~P~R~O_-~M~S~O~S~C~ha~n~9~e~s________________________________~Le~v~e~1~6

b.

SPACE
Restart portion of SPACE was modified to allow for dynamic setting
of ALLOCATABLE CORE areas lengths.

c.

Area setting is according to the flags set by 'VLOS ' •
t11PRO
The following Cyberdata system commands were added:
• VL' - load Cyberd ata.

1)

MIPRO will check that Cyberdata activation is not inhibited
and not already active.
If loading is permitted VLSTRT, the start up routine will be
schedu 1ed •
2)

'VLTP' Schedule Cyberdata terminal type change routine.
'VLBG ' -

3)

Schedule Cyberdata and Background relation control routine.
I

\......

4)

'VLOS' -

S)

Schedule start up control routine.
I VLST I
Schedule Cyberdata start up status print routine.

INTERFACE
1.

2.

ENTRY METHOD
a.

MINT

- Normal, no change from MSOS.

b.

SPACE -

c.

MIPRO - Normal.

Normal~

INPUT PARAMETERS
a. MINT - Normal parameter i npu t.
b.

SPACE - System flags modified by 'VLOS I .

c.

MI PRO - Normal pa rameter input.

PAGE NO.

AA5641

453

'1INTfO IN THf UU

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_ER_D_A_T_A__
M_s________~__________________________~________________
PROGRAMNAME ____
M_IN_T~,__
SP_A_C_E~,_M_I_P_R_O_-_ _M_S_O_S_C_h_a_n~ge_s______________________________~L~e~ve~1~6

3.

4.

EX1T METHOD
a. MI NT
1)
SX request
2)
SP request
3)
VX request
b. SPACE
Normal.
c. MI PRO
Schedule requested

- JMP to dispatcher.
- schedule SV entry point.
- JMP to dispatcher.

processor.

OUTPUT . PARAMETER
a. MIt~T
1)
'SX' reques t - Set terminate flag.
'SP' request - None.
2)
'VX' request - Type •AB I .
3)
p. SPACE
Changes in LVLSTR.
c. MIPRO
None.

ASSEt1BLY CHARACTER I ST ICS
1. EQUATES
a. MINT
CP(3), CPVL(S)
SV($B1), SST($47)
ATTL(19, ATTB(lO), FRPLL(6), TRMNT(23)
RQ(6S), T(2), SLOCK(l)
b. SPACE
SST($47)
WES 1 (30)
c. MIPRO
SST($47), WES1(30)

PAGE NO.

AA5641

454

'IINUO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_RD_A_T_A___Ms__________~________________________~__________________
PROGRAMNAME ____t1_I_NT_,~S_P_A_CE_,~M_I_P_RO__-__M_S_OS__C_h_a_n~ge_s_________________________________L-e-v-e-1--6

2.

CONSTANTS
a. t·11 NT
None.
b. SPACE
None.
c.

3.

MIPRO
None.

PROGRAM DEPENDENCIES
a.
b.

MINT - MIBVL external.
SPACE - VLOS externa 1s.

c.

VLA5S
VLA5
BGCORE
LFTOVR
TOTAVL
VLSTRT
MIPRO

~

VLSTRT
VLTYPE
VLBGOP
VLOSOP
VLSTTS
VLOS
MIBVL

4.

external

DATA AREAS USED
a. MINT - Internal buffer
b. SPACE - None
c.
MIPRO - Internal buffer

PAGE NO.

AA564t

455

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS

PROGRAMNAME __~M~IN~T~,~S~P~AC~E~!~M~I~PR~O~-~M~SO~S~C~h~a~ng~e~s~______________________________~L~ev~e~1~6

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
a. MINT - 19 F16 = 415,0
b. SPACE - 208'6 = 52010
c. MI PRO 2.

words.
word.

RELOCATION TYPE
a. MINT
Absolute
b.
c.

3.

words.

SPACE - Absolute
MIPRO - Run anywhere.

ENTRANCY
a. MINT - Not reentrant
b. SPACE - Not reentrant
c.

MIPRO - Not reentrant

PAGE NO.

_4_5_6_

CONTROL DATA CORPORATION

PSSD

Q

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA
__
TA_______________________________________________________
PROGRAM NAME

MISKEY - Backspace Character or Display Miscellaneous Message on CRT- Level 06

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
MISKEY has two entry points: CBSCEV and CSKUP.
CBSCEV backs up one position on the CRT.
CSKUP displays designated data on the CRT.

2.

DETAILED DESCRIPTION
a.

CBSCEV
1) (CaSCEV).

o

Decrement current screen position in data area or interrogate
area by 1.

o

Call CSR to convert cursor position on two 5-bit characters.

o

Insert cursor position characters in CDATA call ing sequence.

D

If in data area of screen, call CCOL to display column number.

2) (B SCDR V).
o
b.

Call ENDSR to save return address.

Call CDATA

to b 1a nk ou t po sit ion t hat wa s ba c ked over.

Exit to EXDSR.

CSKUP
1) (CKSUP).

Ca 11 ENDSR to save retu rn add ress.

o

Insert Data address in PARl of CDATA call ing sequence.

o

Construct request definition word in REQ of CDATA cal ling
sequence:
15
P

12

11

o

B

10

I

8

0 0 0

o

7
N

m
modifier bit defines parameter string
P = lOne parameter in addition to basic 2 parameters
B Byte position (0 = upper byte)
(1 = lower byte)
N number of characters in message.·
o

Insert address of second word of Terminal Record Buffer (word
with I/O bit) in PAR2 of CDATA call ing sequence.

o

Call CDATA to display message.

o

Exit to EXDSR.
PAGE NO.

1\1\5641

457

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A____________~__________________________~________
PROGRAM NAME

MISKEY - Backspace Character or Display Miscellaneous Message on CRT- Level 06

INTERFACE
1•

ENTRY METHOD
a.

CBSEV
EXT
CB5CEV
RTJ
CBSCEV
No parameter
--Return-(I) = Base address of Active Terminal Table (ATT)

b.

CSKUP
Data Address
LDQ
STQ
RQ + 1, 1
Byte position + No. of characters
LDA
bit 15 = byte position
STA
RQ, I
CSKUP
= 0, upper byte
EXT
CSKUP
RTJ
= 1, lower byte
--Retu rn-(I) = Base address of ATT

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a.

LOCORE
LPMASK (2)
ONEB IT ($23)
SST ($47)
CDATA ($8D)
ENDSR ($SE)
EXDSR ($8F)

b.

SST
TEMP (20)

c.

ATT
ATRB (6)
TOPT (33)
RQ (65)

PAGE NO.

458

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A______________~________________________~___________________
PROGRAM NAME

d.

MISKEY - Backspace Character or Display Miscellaneous Message on CRT- level 06
TOPT
CURSRD (3)
BlOKS (14)

2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
(CDATA)

Display data on CRT

MISKEY

ENDSR
EXDSR
(CONC SR)

Enter display subroutine
Exit display subroutine
Convert cursor pos it ion

HDRNOS

(CCOl)

Display current column number on CRT

Vl2CRT
Ct11 SC 1

4.

DATA AREAS USED
SST
ATT
TOPT

System Status Table
Active Terminal Table
Terminal Output Table

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
= 48
words.
10
16
RELOCATION TYPE

30
2.

MISKEY is core resident, loader relocatable.

3.

ENTRANCY CLASSIFICATION
Not reentrant.

PAGE NO.

AA5641

459

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C~Y~B=E~R~DA~T~A~I~M~S__________~________________________________________________

MLDSKY - t~anual/Automatic Dup/Skip
Level __
6
PROGRAMNAME _______________________________________________________________________________________________
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
When the key is pressed, the automatic function specified on the
format specification sheet is not performed, and M is shown on the
key entry station display. New data may be keyed in this field.
When the key is pressed again, the M disappears from the display and
the specified automatic function is performed.

2.

DETAILED DESCRIPTION
MLDSKY checks the current mode. The function is allowed only under
Entry mode or Read mode (wi th Pseudo Entry).
If Pseudo Entry then a check is made for Insert. If Replace Field,
then current field must be auto-dup - else error (exit via ERROR).
The function now flips the Dup/Skip indicator.

*

(SW1 BIT 6 = 1, all auto fields are to be entered manually till
the next Multilevel Dup/Skip key).
If not at end
is via CLRSR;
then exit via
else releases
perform AUTO.

3.

of field exit is via CLRSR; else, if end bf
or if auto Dup/Skip bit is now set (SW1 BIT
CLRSR. Otherwise not if Replace Field exit
function, and exits to EMM5 (entry point in

record, exit

6 = 1)

via CLRSR;
EMM) to

INTERFACE
a.

En t ry Method
MLDSKY is a disk resident function which is invoked by ENTPRG.

b.

Input Parameter
(I)

c.

= Base address of ATT.

Output Parameter
SWl BIT 6 (ATT word 19) - (See

d.

*

Detailed Description).

Exi t Method
Exit is to ERROR if an error is detected; to CLRSR otherwise.
If not at EOF in ENTRY or INSERT; else to EMM5.

PAGE NO.

_4_6_0_

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWA·RE DOCUMENT

CYBERDATA IMS

PROGRAMNAME __~ML=D~S~K~Y_-~M~an~u~a~l~/A~u~t~o~m~a~ti~c~D~up~/~S~k~ip~____________________________~Le~v~e~l~6

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE

B.

SST ($47)
LPMAS K (2)
EXDFUN ($9F)
ERROR ($96)
DISPLY ($AO)
CLRSR ($93)
ONEBIT ($23)
ZROBIT ($33)
ATT
RCNT (4)
FCNT (3)
SMODE (15)
ATRB (6)
SW1 (19)
MODE (2)

2.

EXTE RNALS
SETMOV
DMLDS
FIRSTF
EMM5
DFNDTY

3.

PROGRAM DEPENDENCIES
SETMOV
EMM5 (EMM)
FIRSTF (EDRENT) - to display updated AID line
ERROR
DISPLY
EXDFUN
CLRSR

4.

DATA AREAS USED
ATT - Active Terminal Table
SST - System Status Table

PAGE NO.

461

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I t~S

--------------------~--------------------------~----------------

PROGRAMNAME __~ML~D~S~K~Y__
-~M~a~n~ua~l~/~A=u~to~~~t~i~c~D~u~p./~S~k·~lp~____________________________~L~e~y~el~6

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
38
16 = 56 10 words.
2.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reent ran t.

PAGE NO.

462

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A______________~__________________________~___________________
PROGRAMNAME ____
MO_N__
IT_R__-__D_e_bu~g__U_t_i~l~i_t~y__________________________________________~L=e~v~e~l_0~6

PROGRAM FUNCTION
1.

MONITR
MONITR operates in two modes. In error report mode, it prints one line of
error information and halts the CPU to allow selective dumping of memory.
In test mode, it performs checks for corruption of system data and, if an
error is detected, executes error report mode.

2.

TRACE
TRACE prints a line of information with an error code of 99 (trace only
code).

3.

MONDHP
MONDMP prints a line of information using the last error code generated
by MONITR (or TRACE).

DETAILED DESCRIPTION
1.

MONITR entry
a.

2.

A, Q, and I register are saved in save cells. A and Q are also saved
in error save cells. Q is examined to determine whether MONITR is to
execute error report or test and control is passed to 2 or 3 (be low) •

Error report mode
a.

The current terminal number is obtained from the ATT and comb.lned with
the error number (input in Q). This information is placed In error
save Q.

b.

Interrupts are locked out and words 0, 1 of memory are modified so that
a restart of the CPU goes to 2e.

c.

MONDMP (see 6) is called to dump error save registers, other registers
and caller address.

d.

If entered for a dummy call, control is passed to step 2e.
the CPU is halted (a restart will pass control to 2e.

e.

Words 0, 1 of memory are restored to their original contents, the Q,A,l
registers are restored, interrupts are enabled and MONITR returns to
the caller.

PAGE NO.

Otherwise,

463

nlNHD IN THl USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
MONITR - Debug Utility
Level __
06
PROGRAMNAME _______________________________________________________________
----------______
DOCUMENT CLASS

3.

------------------------~--------------------------------------------------

Test mode
a.

The internal MONITR list of the 3 most recently serviced terminals is
updated for the terminal number in the current ATT.

b.

If the character count in the supervisor TIQ is nonzero, Q is set to 7
and control goes to 3d~

c.

The sum of words 0 - $46 in memory is calculated. If no check sum has
previously been saved, the sum is saved~ The current sum is compared
with the check sum and, if they are equal, control is'passed to 3c.
If not equal, 0 is set to 5 and control passed to 3d.

d.

This is common error code for test mode in MONITR. A is placed in error
save A and control passes to step 2a {start ~f error report mode}.

e.

The FRP chain is checked for corruption as follows:
For each area, the area length is added to the starting,address to get
the next area1s starting address. If the next area start equals the
FRP pointer in the SST, control passes to 3f. If the next area start
is below the FRP pointer' (a'),"Q is set to 4 and control passes to 3d.
: :

f.

The number of terminals in the system, as specified ,in the SST, if
checked. If it is less than equal to 64, control passes to 3g. If
greater than 64 Q is set to 8, A is the number of terminals in the
SST and control goes to 3d.

g.

If select skip is set, control goes to 2e (MONITR exit point).
Otherwise the active terminal count is cleared.

h.

If the first ATT indicates an active terminal, the active terminal count
is incremented. If the first ATT does not specify terminal number 0
and supervisor terminal, control goes to 3j. Else current terminal
number is set to O.

1.

The input unit, list unit, basic input unit, and basic list 'unit In the
firs t ATT are checked. I fall are nonzero, contro L goes to 31 '. I f any
is 0, its offset from the ATT start is saved in A (upper byte) and control
goes to 3k (ATT error).

j.

The first ATT either did not specify terminal 0 or did not Indicate a
supervisor terminal. A is cleared and control goes to 3k.

P~G'E"I'lO:_4_6_4_

AA5641 ,

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

SOFTWARE DOCUMENT

CYBERDATA

------------------------~------------------------------------------------

Leve 1 06

k.

Q

is set to 10 and control passed to the test error exit (jd) _ This
represents ATT corruption error.

1.

Control is passed to 4y, to begin testing other terminals and increment
the current terminal number.

Test mode, loop to test terminals
a.

The current ATT address is incremented by the ATT length (in SST) to
get to the next terminal's A'T.

b.

The terminal number in the ATT is compared to the current terminal
number. If not equal, A is set to current terminal numger and the
control passes t03k (ATT error).

c.

Verify that the hardware address associated with this termlnal1s
controller (in the EST) is the same as that saved -in the terminal IS
output buffer (pointed to by the ATT). If these do not ~atch. set A =
6ffset to termtnal output buffer address In ATT and go to 3k (ATT error).

d.

Examine switch 2 in the ATT. If the bit indicating that the ATT check
is to be overridden is set, go to 4x (bypa~s).

e.

Get the address of the backward pointer in the interrogate parameters
Duffer from the ATT and get the current mode word from the ATT. If the
interrogate mode bit is set and the interrogate buffer address was 0,
set A = offset interrogate buffer address' and go to 3k (ATT error).

f.

If no interrogate buffer exists or the interrogate buffer's I/O bit is
set, go to 4g. Otherwise verify that the interrogate buffer backward
link is the same as the address of the ATT cell contaInIng' the buffer
address. If these do not match, set A = offset in ATT to Interrogate
buffer address and go to 4k (ATT error).

g.

Examine current mode word in ATT. If terminal is not'1dle or supervisor
go to 4i. Otherwise' IDK bit must be set. If IDK mode .. ts not set, set
A = offset to CMODE in ATT and go to 3k,(ATT error). I~ interrogate
mode is set, go to 4x {process next, terminal}.

h.

Examine the ATT terminal status word (word 0). If either f~nction or
pseudo function lock is set, go to 4x (next terminal)., If' both are
clear, go to 4y (bypass active terminal count increment and proceed
to next terminal).

i•

Get the terminal record buffer address from the ATT and verify that its
backward pointer equals the address of the ATT cell for the terminal
record buffer address. If not equal, set A = offset of TRB from start
of ATT and go to 3k (ATT error).
PAGE NO.

AA5641

PSSD

MON I TR - Debug Ut iIi ty

PROGRAM NAME

4.

•

465

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R~D~A~TA~

•

PSSD

•

SOFTWARE DOCUMeNT

____________~________________________________________________

MONITR - Debug Util ity
Level __
06
PROGRAMNAME _______________________________________________________________________________

j •

Get the job index word in the ATT and isolate the job index. If job
index is 0, set A = ATT offset to job index word and go to 3k (ATT error).

k.

Get available words in track from the ATT and verify that is less
than 601. If greater than 600, set A = offset to available tracks and
got to 3k (ATT error).

1•

Get address of format base address table from the ATT. If the address is
not 0 (formal table exist), go to 40. Otherwise examine the ATT terminal
status word. If either function or pseudo function lock is set, go to 4q.

m.

(No format table exists and no function locks are set). If IDK mode is
not set in the ATT current mode word, go to 4p. Otherwise check ATT
switch 1 to see if format selection must be performed. If such a request
has been flagged, go to 4q. Otherwise go to 4p.

n.

(A format table exists). Get the base address of the format in the table
and get the back link from that format. Verify that the back 1 ink points
to the formatls entry in the format table. If these are equal, go to 4q.

o.

Set A = offset to format table and go to 3k (ATT error).

p.

Get ATT current mode. If current mode is READ, go to 4s. Otherwise
compare current mode with terminal IS basic mode (also saved in ATT).
If current mode is different from basic, go to 4ft If they are the
same and basic mode is entry, examine that neither pseudo entry nor
pseudo verify set, if any of these two bits is set, go to 4r. If basic
mode is verify, examine current mode word to see if pseudo verify bit is
set. If not set, go to 4s.

q.

Set A = ATT offset to current mode word and go to 3k (ATT error).

r.

Get current record character count from ATT. If this is negative or
greater than the maximum record length as specified in the EST, set
A = offset to current record character count in ATT and go to 3k
(ATT error).

s.

Get total number of records in batch from ATT. If negative, go to 4u.
If larger or equal number of records in read mode (in ATT) go to 4v.
If number of records in read mode greater than total number of records
and ATT basic mode specifies entry mode, set A = ATT offset to number
records in read mode and go to 3k (ATT error).

t.

Set A = ATT offset to total number records in batch and go to 3k
(ATT error).

PAGE NO.

AA5641

_4_6_6_

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B~E_RD_A_T_A______________~__________________________~___________________
PROGRAMNAME __~M~O~N~IT~R~-~D~e~b~u~g~U~t~i~l~it~y~______________________----------------------L~e~y~e~1~06

5.

u.

Get last entry/exit level address from ATT stack. If this is nonzero,
set A = ATT offset to end of stack and go to 3k (ATT error).

v.

Get function index word from ATT and isolate return address type flag.
If flag indicates that return address is relative and no function index
is specified, set A = ATT offset to function index and go to 3k (ATT
error) •

w.

Increment counter of active terminals.

x.

Get total number of terminals in system from SST and compare with
current terminal number. If these are not equal, the current terminal
number is incremented and control passed to 4a (begin testing for next
terminal). If the current terminal is the f~st, the number of active
terminals is checked and if it is nonzero, control is passed to 4z.
If there are no active terminals, the FRP start and end addresses in
the SST are checked. If these are equal (the buffer should be empty
if no terminals are active) control goes to 4z. Otherwise, control
goes to 4e (FRB chain error).

y.

Control is passed to the monitor exit point 2e.

TRACE entry point
Set A = 99 (nonerror type error code) and saVe in
Clear MIBVL.

a.

Save A and Q.
error save Q.

b.

Set A = caller address and set in caller cell for MONDMP.
A = saved A.

c.

Call MONDMP (see 6) to print dump header 1 ine.

d.

A - EXTFLG (=0).

e.

If A -::f 0, ca 11 CORDMP (see i) to dump memory.

f.

Restore A, Q, increment MIBVL and return to caller.

PAGE NO.

_4_6_7_

Set

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________~__________________________~___________

PROGRAMNAME ____M_O_N_I_T_R__
-_D_e_b_u_g__U_t_i_l_i_ty_________________________________________________L_e_v_e_l__
06

6.

MONDMP entry point
a.

Save original A, Q, registers.

b.

Get current terminal number from SST, convert to decimal and save In
buffer. Get error code from error save Q, convert to decimal and saVe
in buffer. Get caller address, convert to ASCI I and place In buffer.

c.

Convert original Q,A,M and I to ASCI I and place in buffer.

d.

Convert current time (in SST) to ASCII hours, minutes and seconds.
Get string of the form HH: MM: 5S in the buffer.

e.

Print the buffer and wait for completion.

f.

Return to caller.

INTERFACE
1•

2.

ENTRY METHOD
a.

MONITR is called via

RTJ

MONITR

b.

TRACE is called via

RTJ

TRACE

c.

MONDMP is called via

RTJ

MONDMP

INPUT PARAMETERS
a.

For MONITR

Q ~ 0 indicates test mode
Q < 0 indicates error report mode
Q = $8000 + error number
A = error relavent information
b.

For TRACE
There are no input parameters

c.

For MONDMP
The word after the RTJ instruction is dumped as the cal ler address.

PAGE NO.

_4_6_8_

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_BE_R_D_AT_A____________~__________________________________
PROGRAMNAME __~M~O~N~I~T~R_-~D~eb~u~g~U~t·~ll~i~ty~______________________________________~Le~v~e~1~O~6

3.

4.

EXIT METHOD
a.

MONITR and TRACE exit via JMP through word 0 of the subroutine.

b.

MONDMP increments word 0 of the subroutine by 1 before the JMP.

OUTPUT PARAMETERS OR CONDITIONS
None

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a.

LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
TEN ($46)
SST ($47)

b.

SST
FRS (6)
FRBPT (8)
ATTS ('10)
CATT (11)
T IQ (15)
ATTL (19)

c.

EST
WES (30)
MAXREC (38)

PAGE NO.

AA5641

469

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA

~------------------~--------------------------~--------

PROGRAMNAME __~MO~N~I~T~R_-~D~e~b~ug~U~t~i~l~it~y________________________________________~I~e~ve~J~06

d.

ATT
FTOB (C 1)
CMODE (2)
JIDX (3)
RCNT (4)
TRB (6)
AVLTK (8)
BMOD (15)
SWl (19)
SW2 (20)
PI (21)
A I NT (27)

RCDRD (31)
RCD (32)
ATOPT (33)
ENDSTK (85)
2.

MACROS USED
FWRITE

3.

PROGRAM DEPENDENCIES
None

4.

DATA AREAS USED
a.
b.
c.
d.
e.
f.
g.
h.
j •

k.

SST
EST
ATT
FRP
TIQ
TRB
FBA
TOPT
FMT
INT
SCA

(System Status Table)
(Extended System Table)
(Active Terminal Table)
(Format/Record/Program buffer)
(Terminal Inpu t Qu eue)
(Terminal Record Buffer)
(Format Base Address Table)
(Terminal Output Table)
(Format Tab 1e)
(Interrogate Request Buffer)
(Supervisor Communication Area in ATT)

PAGE NO.

470
PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_y_B_ER_D_A_T_A_________________________________________________________
PROGRAMNAME __~MO_N_I_T_R_-_ _D_e_b_ug~U~t~r_l~it~y________________________________________~L~e~v~e~1~Q6

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
282 16 words.

2.

RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Dormant reentrant.

PAGE NO.

AA564t

471

CONTROL DATA CORPORATION

DOCUMENT CLAss

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA

----~~~------------~----------------------------~----------

PROGRAMNAME __~M=O~N~IT~R~-~D=e=b=u~q~U~t~i~l~i~t~y__________________________________________~L~e~y_e~1_0_6

MONITOR ERRORS
T=XX

E=XX

P=XXXX

Q=XXXX

A=XXXX

M-XXXX

I-XXXX

HH:MM:SS
DESCRIPTION

E

T

Q

A

01

Termi na 1 No.

Unused

TRB ADR

ATT ADR

Disk Address Loop
(Terminal accessing
disk left locked)

02
03

Terminal No.
Terminal No.

Unused
Unused

Unused
Unused

ATT ADR
ATT ADR

Stack Fu 11
No Index (EXDFUN)

04
05

Terminal No.
Unused

Unused
Unused

Unused
Unused

ATT ADR
Unused

FRP Chain Corrupted
Low Core Checksum
Error

06

Terminal No.

Unused

Unused

ATT ADR

07

Terminal No.

Unused

Unused

ATT ADR

08

No. of Terms

Unused

Unused

Unused

09
10

Terminal No.
Word/Term

Unused
Unused

Unused
Unused

ATT ADR
ATT ADR

Nonexistent function
cal led (ENTPRG)
Supervisors TIQ
Nonzero
I 11 ega 1 No. of
Terminals
No Conversion Table

11

(High order 8 bits contain index into ATT
low order 8 bits contain terminal number)
Unused
Unused
ATT ADR
Terminal No.

I

error in ATT
No Superv i sor
When SV Ca 11 ed

13

Terminal No.

Unused

Unused

ATT ADR

Unused
Format No. 0
Referenced

99

Unused

Core
Location

PRD
Index

ATT ARD

Not an Error

12

(The above printout can be caused with the patch LHC, MONITR, 154/
S80E. Each time a disk resident module is loaded into core 'the
above message is printed giving information on the module loaded.)

PAGE NO.

_4_7_2_

CONTROL DATA CORPORATION

0

PSSD

0

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_R_DA_T_A______________~_______________________________________________
PROGRAMNAME ____M_P~C__-__M_a_i_n__P_ro_c_e_s_s__C_o_n_t_r_o_1____________________________________________________~L~e~v~e~1~6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
Main Process Control is the routine that controls the processing of
each entry in a terminal input queue. The entry point MPC is initially
scheduled for terminal 0 by the terminal controller interrupt handler
(VLINT). MPC schedules itself for each subsequent terminal which has
unprocessed key input, handl ing one key entry for one terminal each
time it is scheduled. After the last terminal is processed, the memory
move module is executed if necessary and if time permits.
There are three other entry points within MPC. (1) CONVRT is where the
character and terminal mode checking begins. (2) ENTFUN handles function
keys by loading and executing the appropriate program module via ENTPRG.
(3) CHR does character val idation for entry, verjfy, pseudo entry and
pseudo verify modes.

2.

DETAILED DESCRIPTION
a.MPC:
If MPC is scheduled for station 0 (TTY) the internal value is
saved in the local location TIME, after the program completes to scan
all the stations it checks whether a new interrupt was entered during
the processing of this cycle. If an interrupt was entered, MPC
reschedules itself for station 0, otherwise it exits to dispatcher.
Before MPC starts to process the data of the station where to it was
scheduled, it schedules the next station that has any function or
data to be processed. The memory move module (MMM) is scheduled
as the maximum station No. plus 1. When MPC is scheduled for MMM
it pushes up the buffers in the FRP, a buffer at a time, till there'
are no more buffers available to be pushed on. A clock interrupt
was entered into the system.
MPC calculates the current ATT address (I) and the current format
field address (CFFA) and exits to MONITR to check whether the system
tables and buffers seem to be correct. If everything is all right,
MPC continues. ILLI is displayed if the TIQ (Terminal Input Queue)
is full and the station is processed according to the following
conditions:
If the station is function locked, i.e. an I/O is being performed
exit to DISPCH.
If the station is pseudo function locked, i.e. the previous function
was not completed because of any delays, exit to RETRY to continue the
processing of the previous function.
If the station is not in interrogate mode but the central supervisor
wants to send her a message, exit to CLRSR to display ISM I on the
sta t i on.

PAGE NO. _4_7_3_

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_R_D_A_TA___
'M_S__________~_______________________________________________
PROGRAMNAME __~M~P~C~-~M=a~i~n~P~r~o=c=e~s~s_C~o=n~t~r~o~1~__________________________________________~L=e~y~e~1~6

If the station is in supervisor lock, exit to DISPCH.
If the station is not locked the oldest entry in the TIQ is extracted
and the queue pointer is updated. If the station was system locked the
lock is reset and the ILLI is cleared from the screen. The keystrokes
counter is incremented by one.
b.

CONVRT
The entry is converted to an ASCI I character or a function
code according to keyboard type. If the terminal is in Interrogate
mode, the following things happen based on the key entry:
REL

PRLFLD
CNCL

3.
4.

Store terminator IFFI in interrogate buffer.
Clear ATT/CMODE/15 (interrogate mode indicator).
Put dompletion code in header of interrogate buffer.
Common subroutine exit.

1•
2.

Clears the characters already entered.
Jump to dispatcher.

1.

If supervisor mode, sets ATT/TRMNT/14 (cancel key
entered bit).
Clear ATT/CMODE/15 (Interrogate mode indicator).
Put completion code in header of interrogate buffer.
Common subroutine exit.

1.
2.

2.

3.

4.
BSC
Any Other Code

1•

2.
1.

2.

3.
4.
5.
6.
7.

8.
9.

10.
11 •

Backspaces a character.
Jump to dispatcher.
If function key put @ in ATT/CURCH/0-7 (current
character value in ASCI I).
If waiting for continue or cancel key to to 6.
If Supervisor mode, and a function key was entered
jump to dispatcher.
If Supervisor mode, clear interrogate line
if first character in
Display the character saved in ATT/CURCH/0-7.
Store the entered key in interrogate buffer.
Store terminator IFFI in interrogate buffer.
If the number of characters entered # number needed
for the function, jump to dispatcher.
If the number of characters entered = number needed
for the function, put overflow completion code in
interrogate buffer header.
Clear ATT/CMODE/15 (Interrogate mode indicator).
Common subroutine exit.

If the terminal is not in Interrogate mode, an IDK mode check is made.
the terminal is in IDK mode, MPC jumps to the IDKCH module.

PAGE NO. _4_7_4_

If

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
MPC - Main Process Control
Level __
6
PROGRAMNAME _______________________________________________________________________________
DOCUMENT CLASS

c.

ENTFUN: If the entry was a function key, the appropriate function
module is loaded and executed via the ENTPRG module.

d.

CHR: If the entry was an alphanumeric character, basic ASCII alpha,
numeric and sign range checks are made on the character according to
ATT/DT/13-15 (field data type). If the character passes the field data
type check, ATT/CMODE/12,13 is checked for Pseudo Entry and Pseudo Verify
modes and ATT /CMODE/8-11 is checked for En t ry. Ve r i fy and Read mode. If
the terminal is in Pseudo Entry or Entry mode, MPC jumps to the EMM
module. If the terminal is in Pseudo Verify or Verify mode, MPC jumps
to the VMM module. If the terminal is in Read mode, an A3 (inval id
character) error is displayed. If the character does not pass the field
da tat y pe c he c k, a n A1 ( da tat y pee r r 0 r - - nume ric 0 n 1y / alp ha 0 n 1y) i s
displayed. If the data type is signed, the character is a sign, and
the terminal mode is Entry or Pseudo Entry, ~he skip function module is
loaded and executed via ENTPRG.

INTERFACE
1. ENTRY METHOD
MPC: Scheduled at priority 5.
CONVRT, ENTFUN, CHR: Direct jump.
2.

INPUT PARAMETERS OR CONDITIONS
a.

MPC:

Q = current terminal number

b.

COI~VRT:

I = ATT base address
ATTTMP, I = character keyed in

c.

ENTFUN:

I = ATT base address
CURCH, I = Current function code (ASC I I )

d.

CHR:

I = ATT base address
CURCH, I = Current character value (ASCII)

On return from the code conversion routine ATT/CURCH/O-7 = converted code
Q=O if the key entered was a funct i on key,
. else
0= ASCI I code of the character.

PAGE NO.

_4_7_5_

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__IM_S________~____________________________________________
PROGRAMNAME ____M_PC__-__M_a_in__P_r_o_ce_s_s__
Co_n_t_r_o_l_____________________________________L_e_v_e_l__
6

3.

EXIT METHODS
JMP - (DISPCH)
Jump to dispatcher
Common subroutine exit
JMP - (EXTSR)
Jump to IDK mode routine
JMP - I DKCH
where:
Q = 0 if function code
Q = ASCI I code of the entered alphanumeric character
Load and execute disk resident program
RT J - (ENTPRG)
Display error at terminal
JMP - (ERROR)
Jump to Verify mode module
JMP - VMM
Jump to Entry mode module
JMP - EMM
RTJ
CON029
Convert the entered code to the appropr i.-ate
RTJ
CONTTY
ASC I I Va 1ue
RTJ
CONADD
RTJ
CONTTN
ATTTMP,I = character keyed in

ASSEMBLY CHARACTERISTICS
1. EQUATES
a.

b.

LOCORE
LPMAST (2)
LPMSK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
MONITR ($8C)
EXTSR ($92)
CLRSR ($93)
ERROR ($96)
ENTPRG ($9E)
DISP ($AO)
DISPCH ($EA)
SST
SLOCK (1)
FRPP'(8)
ATTS (10)
ATT (11)
FFA (12)
IBL (14)
TIQ (15)
NTRVAL (18)
ATTLNG (19)
STEMP (20)
PAGE NO.

476

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_YB_E_R_DA_T_A__IM_S________~______________________~_________________
PROGRAMNAME __~M~P~C__
-~M~a~in~P~ro~c~e~s~s~C~o~nt~r~o~l________________________________~L~e~v~el~6__

c.

d.

e.

f.

ATT
CMODE (2)
CURCH (2)
PFBA (7)
DT (13)
RFA (14)
SW2 (20)
FUNIDX (21)
TRMNT (23)
KEYDPR (26)
AINT (27)
ECODE (34)
REQNOC (72)
ATTTMP (73)
ERROR CODES
CBLNK (0)
CA3 (3)
CA 1 (1)
CPP ($lA)
CONSTANTS
BSC ($lA)
AT ($40)
RES ($67)
CSKIP ($68)
REL ($6F)
DSPKEY ($73)
RPFLD ($74)
CANCEL ($76)
ENTERNALS
CONO 29
CONTTY
CONADD
CONTTN
I DKCH
VMM
EMM
MMM
DBSCEV
DCHAR
DERR
DLOCK
CLRFLD

PAGE NO.

477

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS

PROGRAMNAME __~M~P~C~-~M~a~·~ln~P~r~o~c~e~ss~C~o~nut~r~o~1______________________________________~l~e~v~e~1~6

2.

PROGRAM DEPENDENCIES
CON029
CONTTY
CONADD
CONTTN
I DKCH
VMM
EMM
CAM (MMM)
DISPCH
DISPLY
ENEXSR
EXTSR
CLRSR
ENTPRG
GSE ERROR
MONITR

3.

029 Keyboard Character Conversion
TTY Keyboard Character Conversion
029 + Adding Machine Character Conversion
TTY + Numeric Block Character Conversion
I DK Check
Verify Mode Processor
Entry Mode Processor
Core Allocation (Memory Move Module)
Dispatcher
Display Routines
Common Entry/Exist Subroutine
Enter a disk resident program
Display Error to Terminal
Debug Routine

DATA AREAS USED
SST
ATT
TIQ

System Status Table
Active Terminal Table
Terminal Input Queue

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
17E = 382

2.

words
10
RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Reentrant code.

PAGE NO. _4_7_8_

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A______________~_______________________________________________
PROGRAMNAME ____M_S_G_______________________________________________________________L_e~v_e_1~06

PROGRAt1 FUNCT ION
1.

GENERAL DESCRIPTION
The program provides a method of communication between the central
supervisor and (remote) station operators, thus a1 lowing the supervisor
to direct the action of the operators and the operators to consult the
supervisor. Being in SUP mode, the central supervisor may send messages
to any station - depending on the working mode of the key station.
The reaction is as follows:
a.

In Idle - The screen is cleared and the first 10 characters of the
message are displayed.

b.

In SUP - (But not in 'MSG ' mode) the first 10 characters of the message
are displayed following the - SV - on the first line.

c.

In ENT, VER and READ - Error code 'SM ' is displayed and the first
24 characters of the message are recorded on disk, allowing
further display (only the last 8 messages are saved).

To hold a conversation the operator should enter the sup. command MSG.
If the supervisor is Idle, "MSGnn" (nn = The operator1s station number)
is printed on her TTY. To enter the conversational mode the supervisor
should enter MSGnn, followed by her acknowledgement that she Is ready.
Conversational mode is terminated by the message END. The use of CNCL
by the operator or MI SX by the supervisor will abort the conversation.
2.

DETAILED DESCRIPTION
After the program enables itself to be moved (SETMOV) and sets the flag
enabl ing "CANCEL" to be entered, the command SYNTAX is checked according
to the ca11er ' s identity. If the supervisor called the command format
shou 1d be I MSGxx I ; if a s ta t ion is ca 11 ed, command shou 1d be I MSG I •
a•

Su pe rv i so r Ca 11 ed
Validity of station number is checked.
for self-scan).

(The 'MSG ' command is illegal

Next the station mode is checked. If supervisor mode, GO TO SUPR, else
if ENT or VER mode, GO TO ENTVER; else GO TO IDLE.

PAGE NO.

479

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_D_A_TA______________~__.______________________--~--__________
PROGRAMNAME ____M_S_G_______________________________________________________________L_e_v~e~1__
06

(IDLE}. Lock TTY, transfer control to station clear station's screen,
transfer control back to TTY, unlock TTY. GO TO TENCH.
(SUPR).

If in MSG mode GO TO MSG03.

(TENCH). The message Is checked for possible errors and corrected
(SET} and trailing blacks are inserted (SUBR). Five words (10 characters)
are moved from into buff. to the TOPT; The MSG flag is set in word 15
of TOPT and the request is treaded at top of CRT Thread. Return is
made to SV.
(ENTVER). The address the message is to be written to is calculated
according to the station number and the MSG counter (cycl ic counter,
module 8). Trail ing blanks are inserted and message is written. ISMI
flag is set for MPC. Return is made to SV.
b.

Operator Called
It is checked if TTY Is busy. If it is busy the program exits to WAIT
for one cycle thus enabling the operator to cancel the request In case
the supervisor is busy for a long time. In case CANCEL Is entered, the
screen is cleared, the MSG flag is cleared and return is made to REJSUP.
If cancel was not entered a retry is made. If the TTY is not busy
(NOBUSY) , the message MSGxx (xx = station number) is inserted in the
output buffer, and an FWRITE request is built in the SC area. The
function lock is set on TTY, and the request is performed. On completion
function lock of TTY is cleared and station is set to 'MSG ' mode.
The principle behind this part is that the station being processed hangs
on WAIT until the other station schedules a message for it (FLAG2 = 0).
The exchange of messages is done by inserting the message in the
interrogate buffer of the sending station and exchanging buffers
(pointers) with the receiving station. (MSG03) (This part is common to
the processing of a station cal ling or superv. cal ling.) The station
being processed is set to 'MSG ' mode and the indicator that no message
was scheduled for that station (FLAG2) is set. If the station being
processed is not TTY, GO TO CHECK; if TTY the message in the Int. buffer
is checked and corrected (SET), GO TO CHANGE.
(CHECK). The station being processed waits until the other station
answers, or cancel Is entered on the station being processed. If
cancel was entered it is checked if the other station is still on-1 ine
(by ON-LINE), if it is on 1 ine cancel is entered for it and In both
cases the function terminates (after cleaning s~reen and MSG flags). If
the other station answers (FLAG2 is cleared), the into buffer is displayed
(printed). (Note that into buffers were switched in CHANGE). A check for
END is done. If the message was END, the function terminates and exit to
SV is made. If not, the message in its own into buffer is read, checked
and displayed (if CRT on Int. 1 ine). Then the check if the other station
is still on line is done. If it is not, the function terminates;
otherwise GO TO CHANGE.
PAGE NO.
480

CONTROL DATA CORPORATION
CYBERDATA
DOCUMENTCLASS ________________________

~

..

PSSD

•

SOFTWARE DOCUMENT

_____________________________________

PROGRAMNAME ____M_S_G_______________________________________________________________L_e_v_e_l___
06

(CHANGE). FLAG2 for the other station is set (it means a message was
scheduled for it) and is reset for its own. Pointer and backward
pointers to into buffers are exchanged. If the message (its own
message) was END, cut-off conversation (checked afterward by ON-LINE),
if not GO TO check.
Internal Subroutines
SET
Checks the message in Int. buffer and corrects non-ASCI I characters by
inserting $40 instead.
SUBR
Fills in the message with trailing blanks (to a total length of 24 chars).
ONLINE
Checks if the other station is still in MSG mode, if not (conversation
was cut-off) it returns zero in Q, otherwise returns in Q ATT address
of the other station.
PRINT
Displays the into buffer, if called by a CRT station checks for end of
page condition and clears screen if met before displaying 1 ine.
INTERFACE
1.

ENTRY METHOD
Invoked by DSKSUP (via ENTPRG)

2.

EXIT METHOD
Via SV - normal exit
Via REJSUP - abnormal exit (function aborted).

I

\-. -

PAGE NO.

AA5641

481
'RltHfO IN THE US ...

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENT CLASS _CY_B_E_R_DA_T_A_ _ _ _ _--'-_ _ _ _ _ _ _ _ _ _ _~_ _ _ _ _ __
PROGRAMNAME ___M_S_G________________________________________~L~ev~e~l_O~6

ASSEMBLY CHARACTERISTICS
1.

EQUATES
CLCDWA ($90)
ENTSR ($91)
EXTSR (.$92)
SUPRW ($97)
GETBIN ($99)
GETALP ($9B)
DISP ($AO)
WRTDWA ($AA)
WAIT ($BO)
SV ($B1)
REJ SU P ($B2)
SST ($47)
SLOCK (1)
TOPCRT (4)
BATT (10)
ATTB (10
CATT (11)
ATTLNG (19)
STEMP (20)
CMODE (2)
SW2 (20)
FUN I DX (21)
T~ IT (33)
CANC (23)
AI NT (27)
MSGP (78)
ATEMPT (73)
RQ (6S)
C (1)

T (2)
LU (3)
N (.4)
S (sl
SC (36

=

10)

0WNN~ (SC+2)

BUFF (SC+2)
FLAG2 (SC+S)
LPMASK (2)
NZER~ ($12)
ZER~ ($22)
0NEBIT ($23)
ZR~B IT ($33)
TEN ($46)
DCR ($44FF)
M0T (S)
FR (2)
FW (3)
AA5641

PAGE NO.

482

PlINTlO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
PROGRAMNAME ____
MS_G_________________________________________________________L_e_v_e_1__
06
DOCUMENT CLASS

2.

--~~~~----------~------------------------------------

EXTERNALS
SETMOV
SIBMSG
CLRALL
SGTDIS
REGEN
CCKEND

3.

DATA AREAS USED
SST
ATT
TOPT
IRB

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS

2.

= 428
program length.
16
10
RELOCATION TYPE

IAC

Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

_4_8_3_

'RINTfD IN THE USA

CONTROL DATA CORPORATION
CYBERDATA IMS
DOCUMENTCLASS ________________________

~

•

PSSD

•

SOFTWARE DOCUMENT

________________________________________________

PROGRAMNAME ____M_T_C__-__M_a~g_n_e_t_i_c_T_a~p~e__C_o_n_t_r_o_l__C_o_m_m_a_n_d___
P_ro_c_e_s_s_o_r__________________________L_e_v_e_1___
6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
MTC interprets a Supervisor Magnetic Tape Control Command (MTC) , and
issues the corresponding motion request to the TAPIO module.
MTC commands are:
RH
RU
AR,
BR,
AF,
BF,
TH,
DN,

MTC,
MTC,
MTC,
MTC,
MTC,
HTC,
MTC,
t~TC ,
2.

M
M
M
M
M
M

Rewi nd
Rewind Unload
Advance M records
Backspace M fi 1es
Advance M f i 1es
Backspace M f i 1es
Wr i te M tape marks
Select recording density M

DETAILED DESCRIPTION
a.

b.

(MTC).
•

Call GETALP to get next character from the input string.
a comma at this point.

•

If end of record (EOR) was detected, set (A) = 8 and exit to REJSUP
to issue INCOMPLETE COMMAND message and process next supervisor
command.

•

If any character other than a comma is next, go to step g.

If no match is found, go to step g.

(SETMC). When motion command is located in MCODE table, Q holds the
motion command index. Save it in TAPIO request.

= 0 (Repetition count).

•

Set ATT/REP

•

Set SST/TEMP1 = 6 (Current position in input string).

o

If motion command index is 3 (Rewind) or 4 (Rewind Unload), no
repetition count is required, so go to step d.

•

Call GETALP to get next character from input string.
a comma, go to step g.

•

Call GETBIN to extract the repetition count from the input string
and convert it to binary. If an error is detected in the input
string, go to step g. Save the binary number in ATT/REP. If not,
save the binary number in ATT/REP, and go to step e.

PAGE NO.

AA5641

MTC expects

(PARAMl). If comma is next character, compare motion command with entries
in MCODE ta b1e.
•

c.

Call SETMOV to enable MTC to be moved, if necessary.

If it is not

484

'.I"mo IN THE USA

CONTROL DATA CORPORATION

DOCUMENTCLASS~C~Y~B~E~RD~A~T~A~I~M~S

..

PSSD

•

SOFTWARE DOCUMENT

__________~_____________________________________________

MTC - Magnetic Tape Control Command Processor
Level __
6
PROGRAMNAME ______________________________________________________________________________________________

',---

d.

(CHKLST). Call GETALP to get the next character from the input string.
Check if the character is a space or end of record sign, if not, go to
step g. If it is a space, call GETCOM and check that the remaining
characters are also spaces; if not, go to step g.

e.

If motion command request code (MOPARM) is zero (select density),
go to step h.

f.

(MORQ)
•

Call TAPIO to perform the tape motion request.

•

If error code returned (Q negative), exit to REJSUP to issue
TAPE I/O ERROR message, and proceed to the next SV command.

o

Reduce the repetitions number (REP) leg 1 and check it. If it
is negative go to SV exit. Check if SX command or cancel key was
keyed and terminate the function, by exit to REJSUP, if they were.

o

Return to MORQ to repeat the motion request execution.

g.

(ERRI). Set (A) = 3, and exit to REJSUP to issue INVALID PARAMETER
message and process next supervisor command.

h.

(DEN). Set parameter value in TAPIO request to denote recording
density as follows:
pa rameter
1 , density
pa rameter = 2, density
pa rameter = 3, density
pa rameter
4, density

./

o
o

= 800 BPZ
= 556 BPZ
= 200 BPZ
=1600 BPZ
If the requested density is one of 200, 556, 800, or 1600, go
to step f. to issue TAPIO request to set density.
If not, go to step g.

INTERFACE
1.

ENTRY METHOD
MTC is a disk-resident module.
Entry is via a cal 1 to ENTPRG.

2.

INPUT PARAMETERS OR CONDITIONS
(I) = Base address of Active Terminal Table (ATT).

PAGE

AA5641

NO.

485

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__
IM_S__________~________________________~__________________
PROGRAM NAME

MTC - Ma 9 ne tic Ta pe Con t ro 1 Comma nd -.;.P...;.r..;;;o..;;c~e;;;.;ss;;.;;o~r_____________----:L=..::e:::.xy...:::::e:.!,.1_6~

3.

EX IT METHOD
Normal exit is to SV.
Error exit is to REJSUP.

4.

OUTPUT PARAMETERS OR CONDITIONS
(I) = Base address of ATT.

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a. LOCORE
ONEBIT ($23)
SST ($47)
GETBIN ($99)
TAPIO ($9A)
GETALP ($9B)
sv ($B1)
REJSUP ($B2).
GETCOM ($9C)
b. SST
TEMP1 (20)
c.

d.

ATT
CANC (23) - cancel or SX
IRB (27) - INTERROGATE BUFF ADD.
MTCA (46) - MAG TAPE COMM. AREA
MC (tHCA) - MOT ION CODE
REP (MTCA + 1) - REPETITION NUMBER
TAPIO REQUEST PARAMETER
MO (4)

2.

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
GETB IN
SCANV

{

PIO
SUPER

GETALP
(TAPIO)
SV
REJSUP

ENEXSR

(S ETMOV)
PAGE NO.

AA5641

Get a number from inptu and convert
it to binary.
Get an alpha character from input string.
Tape I/O request processor.
Supervisor command processor.
Display error messa~e and process
supervisor command.
Enable moving of disk resident program.
_4_8_6_

'IINTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I MS

PROGRAMNAME ____M_T_C_-__t_1a_9_n_e_t_ic__T_a_p_e__
Co_n_t_r_o_l__
Co_m_m_a_n_d__p_ro_c_e_s_s_o_r_______________________L_ev_e_l___
6

4.

DATA AREAS USED
SST
System Status Table
ATT
Active Terminal Table

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
73 16 = 115

2.

10 words.
RELOCATION TYPE

Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

487

... INTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ____C_Y_B_ER_D_A_T_A____________~__________________________~___________________
PROGRAMNAME ______M_T_FM_O_t_J_-_ _M_a~g~T_a~p_e_F_o~r_m~a~t~M~o~n~i~t~o~r________________________________~L~e~v=e~1_O=6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
MTFMON is a disk resident program which supervises mag tape writing.
It connects between: MATER, RSQ, MTF own codes and labels programs.
following diagram shows the interaction:

The

WBT

'I

last batch

.,

MATER
end of f i 1e

set next batch

SV

EXIT
,

/'\

\
/

new fi le or volume

get next record
-,

MTFMON

,

"/

"-

('1)

,

()

,
0

('1)

-n
o ,
,

....

c..

('1)

()

:::r

3 ()
OJ 0

OJ

rt,
rt c..

::J
to
('1)

-0

VI

::J
lC

It-

,/

TAPE OWN CODE

RSQ

.-

"I

'll

TAPE LABEL

1/

"
PAGE NO.

AA5641

488

'1INlEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOfTWARE DOCUMENT

)OCUMENTCLASS _____C_Y_B_ER_D_A_T_A__________~_______________________________________
PROGRAMNAME _______M_T_F_M_O_N__
-_M_a~g~T_a~p_e__F_o_r_m_a_t__M_o_n~i-t-o-r------___--------------------------L-e-v-e-l---06

2.

DETAILED DESCRIPTION
The function of MTFMON is dependent upon its selected entry and on the
value of MTFENT at each of these entries:
When control is transferred to ENTRY], MTFENT is checked as follows:
If MTFENT=O, control transfers to BBATCH (beginning of batch) to read the
first batch input block.
If MTFENT=l, control transfers to EBATCH (end of batch) where MATER is
called, to get the next batch.
If MTFENT=2, control transfers to EVOL (end of volume) where the appropriate
label program is called to process the volume trailer label.
If MTFENT=lO, control transfers to MTOCD (mag tape own code) to call the
MTF own code, if it is not zero. The entry to MTFMON with MTFENT=10 is
made from RSQ.
If MTFENT=20, control transfers to NEWFIL (new file) where the appropriate
label program is called to process the file header label.
If MTFENT=30, control transfers to MTREXT (MATER exit) to call MATER, after
the last batch has been written to the tape.
If MTFENT=-l, control transfers to GETREC to get the next record from the
input buffer. When the current record is the last record of the batch, the
output buffer (OUTBUF) is written to the tape, MTFENT is set to 1 and the
MTF own code is invoked. The MTF -wn code returns to MTFMON at ENTRYl where
MTFENT=l. If the MTF own code is zero then control returns directly to
ENTRY1.
When the current record is not the last record of the batch, the disk address
of the next record is picked up, from the current record header, and
translated relative to the beginning of the current input block (the data
of INBUF).
If the next record is contained in the input buffer, its relative address
(in the buffer) is replaced by the current record relative address (in RELBA)
and it becomes the current record. If the next record is not contained in
the buffer, a new block which begins with the current record, is read into
the buffer and the next record becomes the current. After the current
record address was updated, the record is checked if it requires RSQ
reformatting. If RSQ is required, MTFENT is set to lO,and RSQ is invoked.

PAGE NO.

AA5641

489

'RINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A______________~______________________________________________
PROGRAMNAME __~M~T~F~M~O~N__
-_M~a~g~T~a~p~e~F~o~r~m~a~t~M~o~n~i~t~o~r_________________________________________~L=e~v=e~1_0~6

If RSQ is not required then the current record is transferred from INBUF
to the record buffer (TRB) and control transfers to MTOCD, to invoke the
MTF own code before putting the record in the output buffer (MTFENT=-l).
Usually the control returns from the tJiTF own code to ENTRY2, with MTFENT=-l,
to put the current record in the output buffer (OUTBUF).
ENTRY2 is the entry point where the processing of output blocking is begun.
The records are grouped in the output buffer according to the MTF parameters
(see EMT command in Cyberdata System Reference Manual).
Before each record is transferred to the output buffer, it i5 converted to
the appropriate code (according to the recording code in the MTF). When the
recording code is ASCII, then code conversion is not required. When it is
BCD (for 7 track only) the conversion Is done by the mag tape driver and
when the recording code is EBCDIC the conversion is done by invoking EBCDIC
program, which remains in memory until the end of the current WBT command.
When the output buffer is filled and prepared for writing the program control
is transferred to ENTRY3, to write it on the tape. ENTRY3 may be used also
by the MTF own code, when non-standard blocking mode is used. In this case
(when the MTF own code returns to MTFMON through ENTRY3), control returns
to the own code immediately after writing the output buffer on the tape.
If END OF TAPE is sensed during the writing, then MTFENT Is set to 2 and the
MTF own code (if not zero) is invoked to perform special end of volume
procedures. Control returns from the own code to ENTRY1, with MTFENT=2, and
proceeds to EVOL to process the standard end of volume procedure. If tape
I/O error occurs during the I/O operation, then the message TAPE I/O ERROR
is printed and control transfers to ENTRY4, where TRC is invoked In order to
close the tape correctly at the end of the previous batch.
INTERFACE
1.

ENTRY METHOD
The entry to MTFMON is done by ENTPRG, to one of MTFMON four entries.

2.

INPUT PARAMETERS
a.

MTFENT

MTFMON, and its disk routines, entry parameter which
designate the following states on entry to MTFMON:
MTFENT=O
MTFENT=l
MTFENT=2
MTFENT=10
MTFENT=20
MTFENT=30
MTFENT=-l

-

~

beginning of batch (from MATER or label).
end of batch (from own code).
end of volume (from own code).
return from RSQ.
new file (from MATER or label).
last batch completed (from MATER).
get next record (from own code).

PAGE NO. --.-.;.4....,;9_0_

AA5641

PRINTEO IN THE USA

CONTROL DATA CORPORATION

e

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_S_E_R_DA_T_A______________~______________________________________
PROGRAMNAME ____M~T~F~M~O_N_-_ _M_a~g~T_a~p_e__
F~o~rm~a~t~M~o~n~i~t_o~r--------------__------____--------~L~e~v~e~1~o6

b.

MTFEXT

- MTFMON, and its disk routines, return function index
for ENTPRG.

c.

EODADR

- EOD buffer address.

d.

MTF

- current MTF (see also EMT IMS).

e.

STR8AX

- current batch number.

f.

ENDBAX

- finish batch number.

g.

STATUS

- WBT Recovery Area number.

h.

TRANUM

- Tape Recovery Area number.

NOTE:
3.

For more detai ls, especially for MTF and STATUS, see MTCA in
Cyberdata Software User's Guide.

EX ITMETHOD
The general scheme of exit from MTFMON is:
RT J
(EXDFUtJ)
re 1ease MTFMON.
LDQ
=XFUNIDX
put invoked function index in Q.
ENA - ENTNUM
- put entry number in A.
RTJ - (ENTPRG) - invoke the new function.
The invoked functions are:
MTF 1abe 1.

4.

HATER, RSQ, TRC, MTF own code and the

OUTPUT PARAMETERS
a.

The output tape (see PSI Excepts No. 69 (Aug. 1974) "Cyberdata
Magnetic Tape Subsystem").

b.

The EOD parameters (see EOD table in Cyberdata Software User's Guide).

c.

TAPE I/O.ERROR message.

d.

END OF TAPE message.

PAGE NO.

AA5641

_4_9_1_
I'RINllO IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

_C_Y_t3_E_RD_A_T_A__________________________________

PROGRAMNAME ___
MT_F_~_10_N__
-_M_a_g~T~ap~e__F_o_r_ma_t__
M_o_n~it_o_r____________________________=Le~v~e~1~06

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a.

ATT EQUATES
FTOB. (1)
I NBUF (5)
TRB (6)
RELBA (8)
CURDA (9)
OUTBUF (28)
RECORD (31)
SVC (36)
BCOUNT (41)
MTCA (46)

b.

-

first track of current batch.
input buffer address.
record buffer.
relative input buffer address of the current input record.
current input block disk address.
output buffer address.
input records counter.
start of SV command area.
mag tape block counter.
mag tape command area.

MTCA EQUATES
MTFENT (MTCA)
MTFEXT (MTCA+ 1)
EODADR (MTCA+2)
MTF (MTCA+3)
STRI:3AX (MTCA+8)
ENDBAX (MTCA+9)
STATUS (MTCA+l0)
TRANUM (MTCA+11)
NOTE:

c.

see MTCA table in Cyberdata Software User's Guide.

EOD EQUATES
TOTBLK (2)
MTFN (3)
FN (4)
IN (5)
BN (8)

FBLK (9)
RN (10)
LBC (12)
NOTE:

see EOD table in Cyberdata Software .User's Guide.

PAGE NO.

AA5641

492

'IINTED IN lHf USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~S~E~R~DA~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

____________~____________________________________

PROGRAMNAME ______________________________________________________________________
MTFMON - Mag Tape Format Monitor
Level _06
d.

GENERAL EQUATES
EODLNG (40)
FMTLNG (10)
MATER ($0805)
RSQ ($0806)
TRC ($380C)
MTFOCD ($4800)
LBL ($4820)

2.

-

EOD record length.
format numbers table length.
ENTPRG Q parameter for MATER.
ENTPRG Q parameter for RSQ.
ENTPRG Q parameter for TRC.
ENTPRG Q parameter for own codes.
ENTPRG Q parameter for labels.

MACROS
Not used.

3.

PROGRAM DEPENDENCIES
a.

Entry points (for ENTPRG):
ENTRY]
ENTRY2
ENTRY3
ENTRY4

b.

-

get next record.
put current record.
write the output buffer.
terminate the function.

Externals
SETMOV
PRTMSG
SD
MOVREC
CODPRG

c.

Routines called via transfer vector
ENTPRG
EXDFUN
SUPRW
TAPIO
READN
CLCDWA
RELFOR

PAGE NO.

AA5641

493

"INUD IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENT CLASS _C_Y_B_E_RD_A_T_A_ _ _ _ _ _ _'---_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
________________________~L~e~v~e~1~O~6

PROGRAMNAME_~M~TF~M~O~N~-~Ma~g~T~a~p~e_F~o~r~m~a~t~Mo~n~i~t~o~r

PHYSICAL CHARACTERISTICS
1.

PROGRAM SIZE
732 words.

2.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

494

,aINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I MS

PROGRAMNAME __~O~C~D~MY~-~O~w~n_C~o~d=e~D~u~mm~y~________________________________________~le~\~/e~J~6

PROGRAM FUNCTION
This disk resident function is a dummy own code which is called when an own'
code does not exist on disk. OCDMY jumps to ERROR (in GSE) with Q equal error
code $15 (own code is not on disk).
INTERFACE
1•

ENTRY t1ETHOD
OCDt1Y is called by ENTPRG when a user own code is not found on disk.

2.

INPUT PARAMETERS
None.

3.

EXIT METHOD
OCDMY jumps to ERROR (in GSE) with no return.

4.

OUTPUT PARAMETERS OR CO:WITIONS
Error message "OWN CODE IS NOT ON DISK" is displayed.

ASSEMBLY CHARACTERISTICS
1•

EQUATES
ERROR ($96)

2.

PROGRAM DEPENDENCIES
GSE (ERROR).

Display error message.

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS

7 words.
2.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

\

'.
PAGE NO. _ _
4_9_5_

AA5641

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~O~F_R_Z________________~_________________________________________________
PROGRAMNAME ______O~p~e~r~a~t~o~r~F~r~ee~z~e~R~o~u~t~i~n~e~_________________________________________________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
Entry point OFRZ:
The program puts the batch connected to the station on which the command
was issued to the "frozen" state. Certain flags are left in the ATT
image on the first track of batch, the batch status is modified to
IIfrozen li in the ABT and the station reverts to the idle state.

_ 2.

DETAILED DESCRIPTION
a.

The command is checked for validity.
If not valid the program exits to ERROR with the appropriate
error code.

b.

The interrogate and search buffers are released.
addresses will be saved in these words.

Necessary disk

c.

The monitor override check bit is set before the ATT is modified.

d.

If a batch is in End of Data state, and the situation can be
recognized only be equality of previous disk address in TRB and
the current disk address in ATT, a flag should be set. Bit 15 in
the interrogate buffer backwards pointer is set.

e.

Current disk addresses are saved in interrogate and search buffers
backwards pointers.

e1. The IIformat change bit ll in TRB header is saved in AINT.
f.

Data which may be lost is written to disk.
(i)

If the rewrite bit is on, the current record is rewritten. In
case the record is changed again the rewrite bit is set again.
Records (not in ENTRY or INSERT mode) can be changed if a field
is replaced (PSEUDO ENTRY). Such a state may be detected
also by the revalidation bit.

(ii)

If mode is ENTRY or INSERT and the current record is not
comp 1eted it is wr i tten to disk. I f record is empty there
is no need to write it unless it is the first record in ENTRY
mode, because then disk addresses may be lost.

PAGE NO.

AA5641

_4_9_6_

'1INtED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ___O_F~R=Z__________________________________________________________________
PROGRAMNAME _____O~p_e_r_a_t~o_r__F_r~e~e~z~e~R~o~u~t~i~n~e_____________________________________________________

g. If the batch is in entry mode and under document control, the displacement
to the beginning of document is saved in the ATT in order to avoid mistakes
in case the LDD is squeezed while the batch is frozen.
The document entry is read from the LDD and the difference between the
displacement of the current group to the beginning of LDD and the displacement of the first group is calculated.
h. Accumulated time is updated.
Two words, start time of current run and the accumulated time, are read
from first track of the batch. The difference between the accumulated
clock and the start time of current run is added to the accumulated time
which is then written back to disk.
i. The TRB is released.
j. A flag is set (field count is assigned with $FF) in order to save the End
of Field state.

If the format is replaced during the time the batch is frozen, it is not
always possible to restore such a state.
k. The Format is released.
The format backwards pointer is cleared in order to indicate to the
program which reactivates the batch that no error lock was on the station.
1. The ATT is written in first track of the batch.
The record count is saved as a negative number in order that an ATT
modified by the FRZ programs can be recognized.
m. The ABT entry of the batch is updated with the mode "frozen".
n. The station is assigned the IDLE mode.
The screen is cleared and the message BATCH FROZEN appears.
The message is moved from the program to the interrogate buffer and
displayed.
o. The switches, basic mode and format number are cleared and the program
exits to the dispatcher via CLRSR.
Internal subroutine:
SUBR routine is used to read two words from disk, or write two words on disk.
When entered, A register
Q register

sector address.

= word in sector.
On exit, two temporaries in ATT (word 74, 75) hold the two words which were
read from disk.

If Q < 0, the temporaries are written to disk.

. PAGE NO. _497
_ __

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~O~F~R~Z~________________________________________________________________

Operator Freeze Rout i ne

PROGRAM NAME

SUBR is used in order to read:
1. The document entry from LDD.
2. Start time and accumulated time from the first track of batch.
SUBR is

~sed

in order to write the updated accumulated time back to disk.

INTERFACE
1. ENTRY METHOD
Operator enters:
INT FRZ REL
The INTRGT program checks that the command was issued on a non-idle station,
and is responsible for loading the OFRZ program to memory and executing it.
CLR A
LDQ = N$A009
RTJ - (ENTPRG)
SQN
OK
JMP
NOCORE
OK ADQ
5,Q
JMP
1,Q

first entry point
9th interrogate function, load only
load via ENTPRG
first entry point address
execute

2. EXIT METHOD
(i)

Exit to ERROR if command was not entered correctly with appropriate
error code.

(ii) Exit to CLRSR if program finished normally.

3. OUTPUT PARAMETERS OR CONDITIONS
(i)

In case an error is detected in the command format:
format) is displayed.

E1 (invalid command

(ii) If program finished successfully the message "BATCH FROZEN" is displayed.
ASSEMBLY CHARACTERISTICS
1. EQUATES

a. System Status Table
SST ($47)
STEMP (20)
CFFA (12)
IBL (14)
TIQ (15)
CLOCKS (17)

. PAGE NO.

498

'IINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~O~FR~Z~________________________________________________________
PROGRAM NAME

Opera tor Freeze Rout i ne

b. Externa] System Tab]e
LDDDA (9)
c. ATT
FTOB (J)
CMODE (2)
JIDX (3)
FCNT (3)
RCNT (4)
TRB (6)
PFBA (7)
CURDA (9)
NDA (]])
DT (] 3)
BMODE (]S), BMOD (]S)
ELDT (]6)
DOCNO (]7)
SW] (]9)
SW2 (20)

FUNIDX (2])
ABTIDX (22)
AINT (27)
ASRCH (28)
RCD (32)
ATEMP (73)
d. Low Core Masks
LPMASK (2)
NZERO ($]2)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
e. Error Codes
CE] ($]2)
2. MACROS USED
None.

31Cf

. PAGE NO.

499

,aINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ___O_F_R_Z________________~________________________________________________
PROGRAMNAME ____~O~p_e~r~a~to__
r_F~r_e_e_z_e__
R~o~u~t_in_e
___________________________________________________

3.

PROGRAM DEPENDENCIES
Entry Points:
OFRZ

- Freeze a batch connected to the station on which the command
was issued.

EXTERNAL LIST:
DLINE
SETDIS
REGEN
GETBUF
MOVREC
FRZATT
SETMOV

- Entry in DISPLY
Used in order to display informative message BATCH FROZEN.
- Entry in DlSPLY
Sets display mode to idle.
- Entry in DISPLY
Used in order to regenerate the display of idle station,
i.e. to clear the screen.
- Entry in PIO.
Asks to interrogate buffer in order to display a message from it.
- En try in PI O.
Moves the message BATCH FROZEN into the interrogate buffer.
- Entry in PIO.
Writes the ATT in the first track of batch.
- Entry in ENEXSR.
Enables moving the program during execution.

Routines used by Transfer Vector.
GETALP ($9B) -.Entry in SCANV.
Checks that EOR follows the FRZ command.
RELFOR ($AD) - Entry in GFCORE.
Releases interrogate, search, TRB buffers and the format.
REWRIT ($A4) - Entry in PIO.
Rewrites the current record in the rewrite bit in switch 1 is on.
WRITEC ($A3) - Entry in PIO.
Writes current record if the record is not empty, or if it is
the first record, and the record is still not written on disk.
SPILL ($Al) - Entry in SPILL.
Changes batch status to frozen in the ABT.
DISP ($AO)
- Entry in DISPLY.
Used in order to generate the cleared screen after freezing
the batch and to display the message BATCH FROZEN.
ENTSR ($91) - Entry in ENEXSR.
Saves return address in enter/exit stack for the internal
routine SUBR.
EXTSR ($92) - Entry in ENEXSR.
Returns via the enter/exit stack from SUBR routine.

PAGE NO.

AA5641

500

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~O~F~R~Z__________________________________________________________________
PROGRAM NAME

Operator Freeze Rout i ne

CLRSR ($93)

- Entry in ENEXSR.
Used for exit in case of successful completion of the program.
ERROR ($96) - Entry in GSE.
Used for exit in case of error in the command format.
CLCDWA ($90) - Entry in PIO.
Calculates disk word address of document in the LDD and the
start time and accumulated time in the first track of batch.
REDDWA ($A9) - Entry in PIO.
Used in order to read from disk the document entry in LDD and
the start time and accumulated time in the first track of
batch.
4. DATA AREAS AND SYSTEM TABLES REFERENCED
SST
ATT
ABT - active batches tables
LDD - legal documents directory
DTL - (ATT image, start and accumulated time)
Interrogate buffer
TRB
PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
Program size - 230 words.
Interrogate buffer - maximum length 42 words.
2. RELOCATION TYPE
Disk Resident.
Run anywhere.
3. ENTRANCY CLASSIFICATION
Re-entrant
Unlocked

501 _
. PAGE NO. ____

.. IINTEO IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTClASS _____O_T_H_W______________~____________________________~__________________
PROGRAMNAME ______~O~p~e~r~a~t~o~r~T~h~aw~~Ro~u~t~in~e~__________________________________________________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
One entry point OTHW.
The program reactivates a batch which is in "frozen" state. The batch
status is modified in the ABT. The batch is connected to the station
on which the command was issued. The ATT of this station is modified
according to the ATT image in the first track of batch. The ATT image
can be created by the FRZ routines (supervisor freeze of operator freeze)
or by the CLR routine (extended power fail recovery routine) which also
may put a batch to the frozen state. The OTHW program is able to recognize
an ATT which was written by FRZ according to the negative record count and
use the ATT image accordingly.

2.

DETAILED DESCRIPTION
a.

The station is checked to be idle.

b.

The command parameters: job name, batch number and operator number
are checked for val idity.

bl. The job is looked for in the LJD. If it is not found, the command is
rejected. If the job appears in the LJD and the station is a CRT
the job name is transferred to output queue.
The following operations are performed under a lock which prevents
simultaneous modification of the ABT.
c.

The ABT entry specified by the job and batch is looked up. The mode
in the ABT entry is checked to be frozen. The logical unit in the
ABT entry is checked to be selected.

d.

The operator number in first track of batch is compared to the operator
number specified in the command. If not equal the command is rejected.

e.

TRB buffer is allocated.
If memory is full, command is rejected.

f.

Batch status in the ABT is modified to frozen.

g.

The start time of run in first track of batch is updated with the
current value of the clock.
The station number in the ATT image in first track of batch (word 0)
is updated with the current station number.

h.
h.

The lock is cleared.

The TIQ (Station input queue) is cleared.

:? 0
--)

PAGE NO. _5_0_2_

AA5641

paiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~O~T~H~W__________________________________________________________________
PROGRAMNAME ____~O~p~e~r~a~t~o~r~T~h~aw~R~o~u~t~·~ln~e~____________________________________________________

2. INPUT PARAMETERS OR CONDITIONS
If the station is not idle the command is rejected.
jjjjj
is a job name, 1-6 characters
bbb
is a batch number, 1-999
000
is operator number, 1-999
The job name and batch number should specify an entry of a frozen batch whose
logical unit is selected.
The operator number parameter should be equal to the operator number in first
t rack of ba tch.
If the parameters do not fulfill the conditions 1 isted above, the command is
rejected.

3. EXIT METHOD
(i)
(ii)

Exit
Exit
Exit
Exit

to
to
to
to

ERROR with appropriate error codes.
CLRSR
EORTST
VMMl

4. OUTPUT PARAMETERS OR CONDITIONS
(i)

(ii)

.'1() .J ~

Error codes.
Dl
invalid operator number.
D6
operator number parameter not between 1 and 999 or is not equal
to operator number in first track of batch.
D4
illegal job name.
Job name parameter is not 1-6 characters or is not found in the LJD.
D5
illegal batch number.
Batch number parameter is not between 1 to 999, or the batch
specified by the job name and batch number parameters is not frozen.
El
illegal request.
The station is non-idle.
F4
memory full.
No core is available for the TRB.
F6
disk deselected.
The logical unit of the batch is of a deselected disk.
Exit to CLRSR if next entered key or character is necessary to specify
the operation to follow.
Exit to EORTST if no verification options are specified.
Exit to VMMI if in beginning of record.

505 _
. PAGE NO. ____
'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~OT~H~W~________________________________________________________
PROGRAM NAME

Operator Thaw Rout i ne

ASSEMBLY CHARACTER I ST I CS
1. EQUATES

a. SST
SST ($47)
EXTSST (0)
SlOCK (1)
BATT (lo)
CATT (11)
CFFA (12)
IBl (14)
TIQ (15)
CLOCKS (17)
ATTlNG (19)
STEMP (20)
b. EST
lDDDA" (9)
DSKST (29)
c. ATT
CMODE (2)
J I OX (3), FCNT (3)
RCNT (4)
ASCNT (5)
TRB (6)
PFBA (7)
CURDA (9)
FMTNO (13)
RFA (14)
BMODE (15)
ElDT (16)
DOC NO (17)
SWl (19)
SW2 (20)
FUN lOX (21)
AINT (27)
ASRCH (28)
ATOPT (33)
lUN (35)
TClK (36) - Temporary. The current clock is written from this word to start
time of current run in first track ~f batch.
ATEMP (73)

. PAGE NO.

506

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

. DOCUMENTCLASS __~O~T~HW~_________________________________________________________________
PROGRAM NAME

Operator Thaw Rout i ne

Communication Area
COUNTS (36+10)
TJOB (COUNTS)
TBATCH (COUNTS+3)
TOPR (COUNTS+4)
TEMP (COUNTS+S)
ABTINF (COUNTS+6)

3 temporaries
- 2 temporaries
temporary for
- temporary.
- temporary for

for job name parameter saving.
for batch number parameter saving.
operator number parameter saving.
first word in ABT saving.

d. Error Codes
CD4
CEl
CDS
CDl
CF6
CFU

( 16)
(18 )
( 17)
(13)
($lE)
($17)

111 ega 1 job name
111 ega 1 request
111 ega 1 ba tch number
I nva 1 i d opera tor number
Disk deselected
Memory Full

2. MACROS USED

None.
3. PROGRAM DEPENDENCIES
'",

Entry points
OTHW - reactivates a batch on the station on which the command was issued.
External List
REGEN
SETDIS
STTYPE
GETLJD
SETMOV
BD
EORTST
VMM1

- Entry in DISPLY.
Used in order to regenerate the screen with the last processed record
of the reactivated batch.
- Entry in DISPLY
Sets display mode to DATA mode.
- Entry in EMM.
Sets data type in ATT according to the format.
- Entry in GETLJD.
Gets the JOB entry which is specified in the command.
- Entry in ENEXSR.
Used in order to enable the program to move.
- Entry in ARITH.
Converts the binary value of the operator number to packed decimal.
- Entry in VMM.
Program exits to End Of Record Test if no verification should be
done on this field.
- Entry in VMM.
Program exits to check field entry if it is beginning of record
and no special key has to be entered.

507
. PAGE NO. _ _
__

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~O~T~H~W__________________________________________________________________
PROGRAMNAME _____O~p_e_r_a_to__
r_T_h_a_w__R_o_u_t_i_n_e__________________________-------------------------

Routines used by Transfer Vector.
CETALP ($9B) - Entry in SCANV.
Retrieves and analyzes the job name parameter.
GETBIN ($99) - Entry in SCANV.
Retrieves and analyzes the batch and operator number.
ENTSR ($91) - Entry in ENEXSR.
Saves return address for the internal I/O routine Subr.
EXTSR ($92) - Entry in ENEXSR.
Gets the return address for the internal I/O routine SUBR.
CLRSR ($93) - Entry in ENEXSR.
Used in order to exit to dispatcher when the batch is waiting
for next character or key to come.
WAIT ($BO)
- Entry in ENEXSR.
Delays for one cycle the execution of the part which checks
and modify the batch status if the lock bit in the SST is
already set.
CLCDWA ($90) - Entry in PIO.
Calculates the word disk addresses of:
1. Operator's number in first track of batch.
2. Document's entry in LDD.
3. Start time of current run in first track of batch.
4. Station number in ATT image in first track of batch.
5. Several parts in ATT image in first track of batch
(when reading them to core).
REDDWA ($A9) - Entry in PIO.
Reads from disk:
1. Operator's number in first track of batch.
2. Document entry in LDD.
3. Several part in ATT image in first track of batch.
WRTDWA ($AA) - Entry in PIO.
Writes to disk:
1. Start time of current run.
2. Station number in the ATT image.
GFCORE ($9D) - Entry in GFCORE.
Gets into memory the necessary format for the reactivated batch.
RELFOR ($AD) - Entry in GFCORE.
Releases the interrogate buffer.
CAM ($AE)
- Entry in CAM.
Allocates memory for the TRB.
READN ($A6) - Entry in PIO.
Reads into the TRB the last processed record.
ERROR ($96) - Entry in GSE.
Used for exit in case of failure.
SPILL ($Al) - Entry in SPILL.
Used in order to get and modify the ABT entry .

. PAGE NO. 508

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~O~T~H_W__________________________________________________________________
PROGRAM NAME

Opera tor Thaw Rout i ne

4. DATA AREAS AND SYSTEM TABLES USED
SST
ATT
TRB
LDD
DTL - ATT image, start time of current run, operator number.
TOPT
PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
Program size - 490 words
Interrogate buffer - 45 words
TRB - length as specified in the job entry minimum 9 words.
Format - length of format whose format number appears in the ATT minimum
7 words.
2. RELOCATrON TYPE
Disk resident.
Run anywhere.

3. ENTRANCY CLASSIFICATION
Re-entrant.
Partially locked.

. PAGE NO.

509

'1INTlD IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~P~B~R~

•

PSSD

•

SOFTWARE DOCUMENT

__________________~__________________________~____________________

Print Batch Report
PROGRAMNAME ____________________________________________________________________________
__
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
PBR processes the supervisor request to print batch report from the
statistics file according to the following parameters:

2.

a.

PBR

Include all batches in the statistics file

b.

PBR,J,XXXXXX

Include all batches for job XXXXXX

c.

PBR,O,XXX

Include all batches entered by operator XXX

DETAILED DESCRIPTION
PBR is an overlay called in by ENTPRG, to process the supervisor
function PBR. First PBR val idates the command parameters. If a
parameter error is found, an invalid parameter of invalid job name
error message is generated via SUPER (REJSUP). If a command format
error is found, an inval id command error message is generated. If
no errors are found, PBR sets ATT/TEMP+2 to FFFF for all batches
1

for job
for operator,
PBR makes a request of CAM for a sector size buffer. It calls PIO
(GETBUF) to allocate, an interrogate buffer of 48 words. The first
sector of the statistics file is read into core. The number of records/
file is initialized. Each record is examined to see if it should be
included in the report (all, job name, or operator number). If the
information should be included, a first'· time check is made to see if
the header should be output first. If the list device is a 970-480,
a check is made to see if the screen was full. If so, CONCAN is
called to see if the operator wishes to continue with the report or
cancel the request. If cancel, (TOEXIT) the sector size buffer is
released and exit is via REJSUP entry pointer in the supervisor command
processor SUPER. If continue, the cursor is reset via PIO (SUPRW) and
the header is displayed.

°

(ALL) All the data included in the batch report (job name, operator
number, batch number, start time, run time, number of records, key
strokes per hour, error records, and mode) is extracted from the current
statistics record, formatted, and placed in the output buffer. Internal
subroutines BINASC and BCDASC are used for binary to ASCI I and BCD to
ASCI I conversations. The buffer is printed via PIO (SUPRW). If operator
entered SX in attempt to cancel the report, exit at T0EXIT then checks
are made to see if this is the last record in the statistics file, at
which time the program exits at PBREXT. If it' is the last record in this
sector, the next statitistics file sector is read in. Processing continues
for each record as for the first.

,\

,""
\.
(,'\

AA5641

'

PAGE NO.

_5_1_0_
.. IINTED IN THE USA

CONTROL DATA CORPORATION

I)

PSSD

•

SOFTWARE DOCUMENT

I.
DOCUMENTCLASS __~P~BR~____________________________________________________________
PROGRAM NAME

Print Batch Reports

INTERFACE
1. ENTRY METHOD
PBR is a supervisor function processor loaded by ENTPRG.
its only entry point PBR.

Execution begins at

2. INPUT PARAMETERS OR CONDITIONS
I = current ATT base address
Operator enters either
PBR
PBR,J,XXXXXX
PBR,O,XXX
3. EXIT METHOD
Release the sector size buffer
Jump to (SV) or JMP to REJSUP with (A)239 (function terminated).
4. OUTPUT PARAMETERS OR CONDITIONS
Batch report printed.
I = current ATT base address
ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE:
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
TEN ($46)
SST ($47)
ENTSR ($91)
EXTSR ($92)
SUPRW ($97)
GETBIN ($99)
GETALP ($9B)
GETCOM ($9C)
REDSEC ($A7)
CAM ($AE)
SV ($B1)
REJSUP ($B2)

. PAGE NO.

511
'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~P~B~R_______________________________________________________________
PROGRAM NAME

Pr i nt Batch Report

b. SST:
STEMP (SST+20)
c. ATT:
TERMIN (23)
AINT (27)
SCA (36)
TEMP (50)
J N (58)
STATUS (61)
d. SRL:
SRJOB (3 + 0)
SRBCH (3 + 1)
SROPR (3 + 2)
SRSTRT (3 + 3)
SRACCT (3 + 5)
SRSTRK (3 + 6)
SRERCS (3 + 8)
SRRECS (3 + 9)
SRJN (3 + 13)
e. EST:
SFDA (5)
RCSSF (7)
f. CONSTANTS:
MOT (5)
FW (3)
J ($4A)
o ($4F)

Motion request code
Format write code
ASC II J
ASC II 0

3. PROGRAM DEPENDENCIES
PIO - (SUPRW) - Read from/write to supervisor devices
- (REDSEC) - Read a disk with sector addressing
- (GETBUF) - Get a terminal interrogate buffer
CONCAN - Wait for continue or cancel key by operator
ARITH - (DB) - Decimal to binary conversion
GETLJD - Locate a job in the LJD
SCANV - (GETBIN) - Get binary number from input string
- (GETALP) - Get alpha character from input string
- (GETCOM) - Get comma from input string
CAM - Allocate core buffer
SUPER - (SV) - Conclude supervisory function request
- (REJSUP) - Generate error message to supervisor
. PAGE NO.
512
'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~P~BR~___________________________________________________________
PROGRAM NAME

Print Batch Report

ENEXSR - (ENTSR) - Common subroutine entry
- (EXTSR) - Common subroutine exit
4. DATA AREAS USED
Interrogate buffer
ATT
SRL
PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
lA6
= 422
words
16
10
2. RELOCATION TYPE
Run anywhere
3. ENTRANCY CLASSIFICATION
Not reentrant
ATTACH ANALYTICAL SUPPLEMENTS
Sample batch report for all:
JOB
TEST
TEST
TEST
TEST
TEST
TEST
SIGN
ASSEM
ASSEM
PAT
PAT
ASSEM
PAT
ASSEM
TEST
TEST
NAME
NAME
NAME
PAYROL
PAYROL
PAYROL

OPR BCH
007 001
033 055
033 056
033 055
077 100
077 200
007001
007 001
007 001
033 001
033 002
007 003
033 001
007 001
007 200
005 200
007 001
016 001
015 001
001 001
001 001
001 001

STRT RNTM RECDS KPH ERECS MODE
o ENTR
2
14 49
0931
o ENTR
1
4 24
0941
o ENTR
0943
1
5 43
o ENTR
1
4 43
0941
o ENTR
1
6 62
1330
o ENTR
1
7 84
1334
o ENTR
1116
1
3 57
o ENTR
24
59 24
0853
o VERI
0924
6
59 35
o ENTR
41
91 30
1859
o ENTR
1011
1
2 37
o ENTR
1038
3
1
7
o VERI
1941
5
91
6
o ENTR
5
22 41
1943
a VERI
1
7 14
2007
o
VERI
2011
079
o ENTR
1
6 78
0924
a VERI
1
6 31
0925
a VERI
0926
1
5 34
1 ENTR
1258
9
19 24
1 VERI
1308
4
19 22
o VERI
1315
1
19 15
. PAGE NO.

513
.. IINTfO IN THt USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y~B_E_RD_A_T_A__I_M_S__________~________________________~___________________
PROGRAMNAME ____p~B_S__-__P~r_i_n_t_B_a_t~c_h__S~t~a~t~u~s_______________________________________________________~L~e~v~e~l~6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
This program performs the supervisor command:

PBS - Print Batch Status.

Command syntax is:
PBS, aaaaaa (1)
or:

CR

PBS CR
where (1) - job name

This command is used to print the batch number, mode, verification
options, and error status of all batches in a specified job (when
job name is given), or of all batches in the system (when job name
is omitted). It also prints the number of the disk the batch resides
on.
2.

DETAILED DESCRIPTION
The program checks if a job name was given in the command. If it was
not, PBS2 is called via ENTPRG, and control is passed to it.
If a job name appears, it is checked for legality. GETLJD is called
and returns with the job index in A register. If the job does not
exi st (Q -ve) ex it is made to REJSUP. Sp ill is ca 11 ed and returns the
entry in ABT for the job's batches, starting with batch O.
Before batch status is printed, CRT status is checked. If end of
screen was reached CONCAN is called to al low the operator to cancel
the request. If a new screen is started then the header: "Job
Batch Mode Ver-Op Status Disk" is displayed, under which the details
of the batch are displayed. If it is not yet end of screen, only
the details of the batch are displayed. The program checks if a
cancel was received, and if so transfers control to REJSUP.
Any line to be printed is moved to the interrogate buffer (where
blanks were stored before), and printing is performed by SUPRW
(entry is PIO). In any case of error REJSUP is called. When all
the batches in the job have been processed (SPILL returns with Q
negative), control is returned to SV.

PAGE NO. _ _
51_4_

AA5G41

PlINTfD IN THE

us.

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_y_B_E_R_DA_T_A__I_M_s______________________________--___________________________
PROGRAMNAME __~P~B~S__-~P~r~i~n~t~B~a~t~c~h~S~t~a~t~u~s~_____________________________________________~L~e~v~e~1~6

INTERFACE
1.

INPUT PARAMETERS OR CONDITIONS
I = current ATT base address
Job name (if any), in Interrogate buffer.

2.

EX IT METHOD
Retu rn to SV

- when no errors detected and no .cancel was received
during execution.

Exit to REJSUP - in case of error or cancel.

3.

OUTPUT PARAMETERS OR CONDITIONS
I = current ATT base address
Error messages:
a.lnvalidjobnameCAPS
The job name contained more than 6 characters or a comma, or a
non-ASCI I character appeared in the job name.
b.

Undefined job name - CAPS
The job name does not exist in LJD.

c.

I nva 1 i d command format - CAPS
A non-ASCI I character appeared in command, or a character other
than a comma or a blank or EOR after the command name.

d.

I nva 1 i d pa rameter - CAPS
A non-ASCI I character in the job name or a comma in the job name.

e.

Function terminated - CAPS
The CANCEL key was entered, or MI SX was entered from the
Teletype.

PAGE NO. _5_1_5_

AA5641

'RINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_BE_R_D_A_TA
__I_M_s________~____________________________________________
PROGRAMNAME ___P~B~S~-__
Pr_i_n_t__
Ba~t~c_h~St~a~t~u~s______________________________________~L~e~ve~1~6

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
LPt~AS K (2)
ONEBIT ($23)
GETALP ($9B)
REJ SUP ($B2)
GETCOM ($9C)
SUPRW ($97)
SPILL ($Al)
SV ($B1)
ENTPRG ($9E)
EXDFUN ($9F)
ENTSR ($91)
EXTSR ($92)
STEMP ($SB)
b. ATT
TEMP (50)
AINT (27)
SCA (36)
CANC (23)
CRTSTS (62)
c. CONSTA~~TS
HOT (5)

FH (3)

2.

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
plO

ENTSR
EXTSR
SPILL
SV
ENTPRG
CONCAN
SETMOV
GETLJD

-

Store return address in stack
Return via stack
Retrieve ABT entry
Normal return
Call PB2 if no job name specified
Wait for CANCEL or CONTINUE
Enable program move
Check for valid job name.

PAGE NO.

AA5641

516

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I MS
PBS - Print Buffer Status - - - - - - - -______________________________
Level___
6
PROGRAMNAME ________________________
DOCUMENT CLASS

4. DATA AREAS USED
ATT
SST
ABT
I NT.

BUFFER

LJD

PAGE NO.

AA5641

517
PlINUO IN THf USA

CONTROL DATA CORPORATION
DOCUMENTCLASS __

~P~B~2~

•

PSSD

•

SOFTWARE DOCUMENT

_________________________________________________________________

PROGRAMNAME ____~P~r~i~nt~B~a~t~c~h~S~ta~t~u~s~-~P~a~r~t~2~___________________________________________

PROGRAM FUNCTION
1. GENERAL DESCRIPTION
PB2 processes the PBS CR statement by scanning the Active Batch Tables, and
writing a status line for each active entry.
2. DETAILED
a. (PB2).

DESCRIPT~ON

Call CAM to reserve 99 words of core.

•

If core is not available, exit to REJSUP with (A)
RETRY) .

•

Set up linkage to reserved area.

•
•

Set ATT/CRTSTS = $7FFF.
Set ATT/TEMP + 6 = 0 (Job Index).

11 (MEMORY FULL -

• Set ATT/TEMP + 10 = 0 (ABT cumulative sector index).
b. (NXTABT). Set ATT/TEMP + 1 = 0 (ABT sector index). Set ATT/TEMP + 2
(ABT entry index).

=

3

c. (NXTSEC). Call REDSEC to read SPIL sector addressed by ATT/TEMP + 1 plus
ATT /TEMP. + 10.
• If ATT/TEMP + 1 = 0, save batch track address in ATT/TEMP + 3.
d. (NXTENT). If current ABT entry is inactive, go to Step 11.
•

Call CHCSTS to write header to output unit, if necessary, and to blank-fill
Interrogate buffer.

•

If current batch is part of same job as preceding batch, go to Step e.

•

If not same job, add the difference between current Job Index and preceding
Job Index to ATT/TEMP + 6.

•

Call GETLJD to return information for this job.

•

If the job does not exist, clear user count in core buffer, and exit to
REJSUP with (A) = 5 (UNDEFINED JOB NAME).

• Save job name in ATT/TEMP + 7 through ATT/TEMP + 9.
e. (SAMJOB). Move job name to Interrogate Buffer positions 0-5.
•

Convert Batch Number to ASCII representation of hexadecimal number and
store it in Interrogate Buffer positions 7-9 .

. PAGE NO.'

518

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

_B_2______________________________________________________________________
DOCUMENTCLASS __P

Print Batch Status -

PROGRAM NAME

•

Entry mode
Entry completed, waiting for verification
Entry frozen
Verify mode
Verify frozen
Completed
Wri tten
Maintenance

Store a series of l-character codes in Interrogate Buffer to indicate
Verification type:
F
E
U

•

Verify according to format (position 18)
Verify erroneous fields (position 20)
Verify fields with unbalanced registers (position 22)

Store a series of mnemonic codes in Interrogate Buffer to indicate
Batch status:
Batch unbalanced (position 25)
Batch balanced (position 26)
Error-flagged record in batch (positions 28-29)

U
B

ER
o
f.

Call SUPRW to write the 1 ine formatted in the Interrogate Buffer, and
continue with Step k.

(CHCSTS).

Call ENTSR to save return address in Exits stack.

= $7FFF (first time), go to Step i.

o

If ATT/CRTSTS

•

If output unit is terminal, go to Step g.

•

If Terminate key was entered, clear user count in core buffer and exit
to REJSUP with (A) = 39 (FUNCTION TERMINATED message).

g.

(ON).

h.

(NXTSTR).

i.

If ATT/CRTSTS f; $COOO (Error condition) go to Step j.
Call CONCAN to get next input character.

•

If CANCEL key was entered, exit to REJSUP with (A) = 33.

•

If next input character is not CaNT, repeat Step h.

(MOTION). Call SUPRW to write EOF and the header
JOB BATCH MODE VER-OP STATUS
on the output unit.

PAGE NO.

AA5641

______________________________________________

Store a 4-character mnemonic in Interrogate Buffer positions 12-15 to
represent Batch mode:
ENTR
WAIT
EFRZ
VERI
VFRZ
CaMP
WRIT
MAIN

•

P~a~r~t~2~

_5_1_9_

PRINTED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ___p_B_2_________________________________________________________________
PROGRAMNAME ____~P~r~in~t~B~a~t~ch~S~t~a~t~u~s_-~P~a~r~t~2___________________________________________

j.

(BLNKS).

Call BBBBBB to blank-fill the Interrogate Buffer (15 words).

• Exit to caller via EXTSR.
k. (ADVANC). If ATT/TEMP + 2 = 93 (End of ABT sector), go to Step 1.
•

Increment ATT/TEMP + 2 by 3 (Advance to next ABT entry), and continue
at Step d.
1. (LSTENT). Increment ATT/TEMP + 1 by 1 (Advance to next ABT sector).
•

If not at end of ABT, set ATT/TEMP + 2

= 0, and continue at Step c.

• If not last ABT, go to Step n.
m. (PB2EXT). Clear user count in core buffer, and exit to SV.
n. (NOLAST). Set ATT/TEMP + 10 = ATT/TEMP + 1 plus ATT/TEMP + 10 (increment
cumulative sector index) and continue at Step b.
INTERFACE
1. ENTRY METHOD
PB2 is a disk-resident program which is called via ENfPRG.
2. INPUT PARAMETERS OR CONDITIONS
(I) = Base address of Active Terminal Table (ATT).
3. EXIT METHOD
Normal exit is to SV.
Abnormal exit is to REJSUP.
4. OUTPUT PARAMETERS OR CONDITIONS
(I) = Base address of ATT.
ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
LPMASK ($2)
ZERO ($22)
ONEBIT ($23)
SST ($47)
ENTSR ($91)
EXTSR ($92)
SUPRW ($97)
/

371

. PAGE NO.

520
'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __p_B_2__________________~______________________________________________
PROGRAMNAME __~P~r~in~t~B~a~t~c~h_S~t~a~t~u~s__
-~P~a~r~t~2____________________________________________

b.
c.
d.

e.

2.

GETSTR ($A2)
REDSEG ($A7)
CAM ($AE)
SV ($B1)
REJSUP ($B2)
SST
STEMP (SST + 29)
EST
SPIL (23)
ATT
JIDX (3)
CANC (23)
AINT (27)
SCA (36)
TEMP (50)
CRTSTS (61)
SUPRW Codes
FW (3)
MOT (5)

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
ENTSR
ENEXSR
EXTSR
SUPRW
GETSTR
PIO
REDSEC
CAM
CAM
SV
SUPER
REJSUP
GETLJD
CONCAN

4.

GETLJD
CONCAN

Save return address in Exits stack
Exit to last address in Exits stack
Supervisor Read-Write
Get a string of characters from input buffer
Read sector
Core allocation module
Supervisor command processor
Reject supervisor command
Locate an entry in Lega 1 Job Directory
Wait for Continue or Cancel Key.

DATA AREAS USED
System Status Table
SST
Extended System Table
EST
ATT
Active Terminal Table
Active Batch Table
ABT

PAGE NO.

AA5641

521

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ___P_B_2_______________________________________________________________
PROGRAM NAME

Pri nt Batch Status - Part 2

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
12B 16

= 29910

word~

2. RELOCATION TYPE
Disk resident, run anywhere.
~.

ENTRANCY CLASSIFICATION
Reent rant.

. PAGE NO. _522
__

'IINTED IN THf USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I MS

PROGRAMNAME __~P~D~C~-~P~r~i~n~t~D~o~c~u~me~n~t~s~_________________________________________________L~e~v~e~I~6

PROGRAM DESCRIPTION
1.

GENERAL DESCRIPTION
PDC is a supervisor function called under supervisory mode in order to
display documents information.
Call ing sequence is PDC
PDC,aaa
aaa

2.

to display a 1 ist of the documents in the system.
to display the formats associated with document
followed by number of records per format

DETAILED DESCRIPTION
PDC first enters SETMOV to enable program moving and goes to extract the
fourth character entered by the supervisor. If it is not end of record or
comma or a space goes to REJSUP to indicate IIlnvalid command format ll
(ERR9). If it is space looks for end of record via GETCOM and goes to
ERR9 if not found. When end of record is found goes to DOCLST to display
1 ist of the documents in the system.
When a comma is found, enters GETBIN to get the document number, and
checks it against the largest document number possible (255). If it
is illegal goes to REJSUP to indicate IIlllegal document numberll (ERR21).
If it is a legal document number goes to GETENT subroutine to read the
requested document entry in the LDD. If the first word of the entry is
zero, goes to REJSUP to. indicate inactive document. If the entry is not
zero, issues core request to CAM according to the length specified' in the
LDD entry, enters TOPSR subroutine in order to set the display device to
start point, requests interrogate buffer for the output, string and fills
it with blanks through BLANKS subroutine. Then prepares parameters and
enters GETENT subroutine to read the requested document from the LOT,
sets pointers for the document buffer and display buffer and starts a
loop to extract groups of format number and number of records, converts
them to ASCI I via BINASC subroutine and stores them to the output buffer.
When the output buffer is filled, enters PRINT subroutine to display the
current line, and handle SX or cancel requests and end of screen status.
When the last group of format number/number of records is found (bit 15
of the format number is set) goes to display the last 1 ine and exits to
SV.

I

"'-.

PAGE NO.

AA5641

_5_2_3_

'RINTfO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_E_R_D_AT_A__I_M_S__________~__________________________~___________________
PROGRAMNAME __~P~D~C~-__P~r_i_n_t___D_o~cu=m~e~n_t_s_______________________________~-----------------------~L=e~v~e~1~6

DOCLST. When a list of the documents in the system is requested, issues
a core request of 99 words (sector size + header) and interrogate buffer
and fills it with blanks through BLANKS subroutine. Prepares parameters
and reads sector of the LDD via REDSEC. Starts a loop to check the first
word of a document entry in the LDD. When it is not zero and it is the
first time sets the display device to start point. Moves the header to
the output buffer and displays it. Converts the document sequence number
to ASCI I via BINASC subroutine and stores it in the output buffer. When
the output buffer is filled, displays it through PRINT subroutine and then
resets the output buffer pointer. When the document sequence number is
256, displays the last line if required, releases the requested core, and
exits via SV. Else when end of LDD sector is detected goes to read the
next sector (NXTSEC) and if not at end of sector goes to h~ndle the n~xt
entry (NXTDOC).
INTERFACE
1.

ENTRY METHOD
PDC is a supervisor function loaded by ENTPRG.
Only entry point is PDC

2.

INPUT PARAMETERS OR CONDITIONS
I = ATT address
Operator enters either PDC
PDC,aaa

3.

4.

EX IT METHOD
1.

Jump to REJSUP with appropriate error codes.

2•

Jump to SV•

OUTPUT PARAMETERS OR CONDITIONS
I

= ATT address.

PAGE NO.

AMi641

524

'RINUD IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS
PROGRAM NAME

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA It1S
PDC - Print Documents

Leve 1 6

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a. LOCORE
LPMAS K ($2)
ZERO ($22)
ONEBIT ($23)
TEN ($46)
SST ($47)
b. SST
STEMP (20)
c.

d.

e.

TRANSFER VECTOR
CLCD\~A ($90)
ENTSR ($91)
EXTSR ($92)
SUPRW ($97)
GETBIN ($99)
GETALP ($9B)
GETCOM ($9C)
REDSEC ($A7)
REDDWA ($A9)
CAM ($AE)
SV ($B1)
REJSUP ($B2)
EST
LDDDA (9)
ATT
TERMIN (23)
AINT (27)
SCA (36)
TEMP (46)

g.

DOCUMENT
FMT (3)
RECS (4)
LDD

h.

DOC (3)
I/O REQUEST CODES

f.

nJ (3)

HOT (5)
\.

PAGE NO.

AA5641

525

'RINTED IN THE Us"

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S__________~_____________________________________________
PROGRAMNAME ____P_D_C__-__P_r_i_nt__D_o_c_u_m_e_n_t_______________________________________________L_e_v_e_1___
6

2.

PROGRAM DEPENDENCIES
a.

EXTERNALS
GETBUF - Interrogate buffer request subroutine (in PIO)
CONCAN - Wait for continue or cancel key
SETMOV - Set indications to enable program moving

3.

b.

PIO

c.

ENEXSR - ENTSR
EXTSR

d.

SCANN

e.

CAM

f.

SUPER

- CLCDWA
SUPRY
REDSEC
REDDWA

-

Calculate disk word address
Perform I/O from/to Supervisor devices
Read a sector from disk
Reur! n words from disk according to word address

- Common subroutine entry
- Common subroutine exit

- GETBIN - Get binary number from input string
GETALP - Get alpha character from input string
GETCOM - Get next comma or end of record from input string
Allocate core buffer
- SV
- Conclude supervisory function request
REJSUP
Generate error message to supervisor

DATA AREAS AND SYSTEM TABLE USED
SST
EST
ATT
Interrogate buffer (requested via GETBUF) for output.
Document or LDD input buffer (requested via CAM).

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
16D 16

= 36510

for program.

99
2.

words buffer for Document list.
10
RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reen tran t.

PAGE NO. 526

AA5641

'RINtED IN THE USA

CONTROL DATA CORPORATION
CYBERDATA
DOCUMENTCLASS ________________________

~

•

PSSD

•

SOFTWARE DOCUMENT

______________________________________

PROGRAMNAME ____P_E_R__-__P_r_i_n_t_E__
rr_o_n_e_o_u_s__R_e_c_o_r_d_s____________________________________~__L_e_v_e_l___
06

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
PER is a supervisor function cal led under supervisory mode to print
erroneous records in completed batches, or to print all records of
a batch marked as erroneous in its ABT entry.
Calling sequence is - PER,JJJJJJ,aaa,bbb, (A)
JJJJJJ is job name, aaa is starting batch, bbb is ending batch and
the optional A indicates to print all the records in each erroneous
batch.

2.

DETAILED DESCRIPTION
PER first enters SETHOV to enable program moving, then collects the
parameters entered via GETALP and GETCOM in SCANV, checks that commas
separate between the parameters, and that characters of the job name
are per alpha; else goes to REJSUP to indicate "invalid command format "
(ERR9). The batch' numbers are checked to be legal numbers not exceeding
1000, e 1s e goes to REJ SUP to i nd i ca te "i nva lid ba tch number!.' (ERR4). When
the optional parameter is used, it is checked to be an A otherwise
indicates "illegal parameter" via REJSUP (ERR3). The parameter string
must conclude with end of record or blanks and end of record, else goes
to ERR3. The A (all) option is marked by a flag (ATT/PLLFLG); then checks
in the PHYSTB that the supervisory list device is line printer or teletype;
another device is rejected by going to REJSUP indicating that "command
invalid on this station". Then decides the length of the output buffer
according to the list device, and requests an interrogate buffer of that
length via GETBUF. Prepares parameters and enters GETLJD to extract the
entry of the requested job from the LJD. If there is no entry for that
job, goes to REJSUP to indicate "job does not exist". Requests core for
TRB if the length specified as "record length" in the LJD entry, and
constructs a request to SPILL to find the batch entry in theA8T (GETABT).
If the batch is not found or it was the last batch in that job (A~O; QROGRAMNAME ___P_S_S_-_ _P_r_in_t__
Sy_s_t_em__S_ta_t_u_s___________________________________L_e_v_e_1__
6

ASSEMBLY CHARACTERISTICS
1 • EQUATES
a. LOCORE
SST ($47)
LPMASK (2)
TEN ($46)
ZERO ($22)
ONEBIT ($23)
GETCOM ($90)
REDDWA ($A9)
SV ($B1)
CLCD\lA ($90)
REJSUP ($B2)
SU PR\J ($97)
b.
SST
LL (6)
UL (7)
P (8)

c.

ATTB (10)
ATT (11)
EST
TRTl (11)
LJDDA (8)

d.

ATT
FACTR (50)
TCCTR (51)
TRTIDX (52)
TRTAD (53)
TLIM (54)
TRKCTR (55)
ATEMP (73)
DLU (35)
DSKST (29)

PAGE NO.

AA5641

582

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I HS
PSS - Print System Status
Level __
6
PROGRAMNAME ______________________________________________________________________
DOCUMENT CLASS

2.

--~~~~~~--------~--------------------------~------------------

PROGRAM DEPENDENCIES
SCANV - (GETCOM)
SUPER - (REJSUP)
(SV)
PIO
- (SUPRW)
PIO
- (CLCDWA)
(REDDWA)

get EOR after command
Reject supervisor
Conclude supervisors function request
Read from/write to supervisor devices
Calculate disk word address
Read disk word address

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE

2.

111 16 = 273 10 words.
RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentran t.

PAGE NO.

AA5641

583

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ___P_S_T=2___________________________________________________________________
PROGRAMNAME _____P_r_i_n_t__S_t_a_t_i_s_t_ic_s__R_e~p_o_r_t__S_e_c_o_n_d__
O_v_e_r_la_y~____________________________________

PROGRAM FUNCTION
1. GENERAL DESCRIPTION
PST2 module is the second overlay of the PST command. It performs the printing
of the contents of the accumulated records, transferred from the PST module,
(the first overlay of PST command).
2. DETAILED DESCRIPTION
STEP 1.
PST2 receives control from PST, after accumulating the statistics records from
the tape on the disk. It checks user count not to be greater than one (See
3 under PHYSICAL CHARACTERISTICS), checks page count, line-count and output
device, to be prepared for the printing. According to 1 ine-count and outputdevice it decides if the headers of the top of a page must be printed. If the
answer is positive go to Step 2, otherwise to Step 3.
STEP 2.
Prints the headers after updating them.
STEP 3.
If a Daily report is requested the information of each day is transferred
from RECBUF, (the buffer in which PST accumulates the records of each day),
to the Interrogate buffer - from which the contents are printed. During the
transfer the records are accumulated in 12 words, (from RECBUF + 18), and the
contents are adjusted to the format of printing, and are printed. Control
returns to PST at entry point START2 where next day Processing begins, except
in the case of the last day of the statistics file, in this case the total
line is printed passing the same stages as every daily record in PST2.
If an Operator report is requested the record of each operator is transferred
from the disk to RECBUF. From this point the execution is the same as in a
Daily report, only, after the printing, i~stead of returning control to PST,
PST2 retrieves the next operator's disk address and transfers its record to
RECBUF, etc.
If Jobs report is requested the record of each Job is transferred from the
disk to RECBUF. The address of every Job's record is calculated before every
transfer, because the Jobs are classified before transferring. From this
point the execution is the same as in Operator report .

. PAGE NO. __
5_84_

'1INTlO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __P_S_T_2___________________________________________________________________
PROGRAMNAME ____P_r_i_n_t_S_t_a_t_i_s_t_i_cs__R_e~p_o_r_t__
Se_c_o_n_d__O_v_e_r_la~y~__________________________________
II~TERFACE

1.

ENTRY METHOD
PST2 is a disk resident program which is called PST performing the following
steps:
EQU
CLR
LOQ
RT J-

2.

ENTPRG ($9E)
A
=N$0812
(ENTPRG)

INPUT PARAMETERS OR CONDITIONS
a.

ATT communication area (46-63) will contain the following information:
SRMOD

- DOJ (BITS 0 AND 1):
-

'\.

b.

-

PCOUNT (50)
NJOBS (51)
DWA (55-62)
JDIRDA (63)

-

ATT Equates:
JIDX (3)
RIDX (4)
JDIR (5)
INFUB (6)
RECBUF (29)

c.

"

-

DDMMl (47)
DDMM2 (48)
LCOUNT (49)

00 - If Daily Report.
01 - If Operators Report.
10 - If Job Report.
EV (BITS 2 AND 3):
00 - If Entry + Verify Report.
01 - If Verify Report.
10 - If Entry Report.
PT (BITS 4 and 5):
00 - If print device is 1 ine printer.
01 - If print device is TTY.
Day of the start date and month of the start date.
Day of the finish date and month of the finish date.
Li nes counter - on entry to PST2 LCOUNT = O.
I f Jobs
Report, Operator Report or the beginning of Daily Report.
If Daily Report, (and not the beginning of the report),
LCOUNT=No. of 1 ines printed from the top of a page
(including the headers).
Page counter - zero if the beginning of the Report.
Number of jobs.
Disk Word Area - Tracks addresses of the disk word area.
Jobs directory disk address (for Jobs Report).

- Job index.
- Record index.
- Jobs Directory Buffer - contains Job names and indices
(4 words saved for every Job).
- If a Dai ly report, and first word of INBUF is zero then
TOTAL line is to be printed and control is transferred to
PST.
- If Daily report, RECBUF contains the accumulated record
for each day.

Accumulated records in tracks addressed in DWA for operators report and
Jobs report.

.

PAGE NO.

AA5641

585

PlINIlO IN THf

us.

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~P~S~T2~_______________________________________________________________
PROGRAM NAME

Pr i nt Stat i st i cs Report Second Over1 ay

3. EXIT METHOD
There are 3 exits from PST2, all are to PST.
RTJ - (EXDFUN)
ENA
X
LDQ
#=N$3827
RTJ - (ENTPRG)
X = when exit to PST during daily report.
X = 2 when exit is to completion exit of PST.
X = 3 when exit is to error exit of PST, after printing error message.

4. OUTPUT PARAMETER OR CONDITIONS
a. Error codes are transferred to the error program through the A register.

A = 39: FUNCTION TERMINATED - when SX is performed.
A = 69: FUNCTION BUSY - when user count is greater than 1.
b. Output layout of PST2:
1) Headers
## - page number
la) xxxx CYBERDATA STATISTICS REPORT (DDMM1 - DDMM2)
xxxx = VER.

(D)

if PST, (0)' V
(J)

xxxx

=

ENT.

(D)

if PST, (0)' E
(J)

(D)

Blanks if both entry and verify are required:

PST, (0)
(J)

DDMM1, DDMM2 - see a of INPUT PARAMETERS OR CONDITIONS.
lb) (aaaa)
(bbbb)
aaaa =
bbbb =

KEYING NO. OF ERRONEOUS VERIFY
KEYS KEYS KEY
TIME
RECORDS RECORDS
CORRECT HOURS RECORD STROKES
JOB
NAME, OPe NO, OR DATE

)

lc) --------------------------------------------------2) Prints the content of the accumulated records, according to the header
described in lb).

340

. PAGE NO.

586
'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~P~ST~2~________________________________________________________
PROGRAM NAME

Print Statistics Report Second Overlay

ASSEMBLY CHARACTERISTICS

I

'-

1. EQUATES
a. SST Equates
SST ($47)
STEMP ($20)
TEMP 1 (20)
TEMP2 (21)
TEMP3 (22)
TEMP4 (23)
REDSECC ($A7)
WRTSEC ($A8)
ENTPRG ($9E)
EXDFUN ($9F)
ENTSR ($91)
EXTSR ($92)
SUPRW ($97)
b. ATT Equates
JIDX (3)
REDX (4)
JDIR (5)
INBUF (6) -(detailed description in b of INPUT PARAMETERS OR CONDITIONS)
CNCL (23)
AINT (27)
OUTBUF (28)
RECBUF (29)
SCA (46)
ATEMP (73)
c. Communication Area Equates
See b of INPUT PARAMETERS OR CONDITIONS.
d. System Equates
LPMASK ($2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)

-; L-/I

587__
. PAGE NO. ___

'tiNTED IN THE USA

CONTROL· DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~P~S~T~2__________________________________________________________________
PROGRAMNAME ____~P~r~i~n~t_S~t~a~t~i~s~t~i~c~s~R~e~po~r~t~S~e~c~o~n~d~O~v~e~r~la~y~__________________________________

e. General Equates
- RECBUF + TOTAL = The beginning of the buffer where the total
contents of the statistics are accumulated.
PAGLP (57) - No. of lines available in a page for line printer.
PAGTTY (57)
No. of lines available in a page - for TTY.
SPACE (9)
- No. of lines to space, when TTY, to get to the beginning of
a new page.
FW (3)
- FWRITE code on entry to PIO.
f. Error Codes
TOTAL (18)

Described in 4 of INTERFACE.
2. MACROS USED
None.

3. PROGRAM DEPENDENCIES
Entry points
None.
External 1 ist
SETMOV - Entry in ENEXSR enables moving of a disk resident program.
PRTMSG - Entry in SUPER, prints the message.
BD - ARITH - converts binary number to decimal.
DB - ARITH - converts decimal number to binary.
MOVREC - Entry in PIO, moves records.
Routines called via transfer vector
REDSEC ($A7) - Entry in PIO.
Reads sector addressing.
WRTSEC ($A8) - Entry in PIO.
Writes sector.
ENTPRG ($9E) - Entry point to ENTPRG.
EXDFUN ($9F) - Entry point in ENTPRG.
Releases the program.
ENTSR ($91) - Entry in ENEXSR.
Saves the address of subroutines with I/O or relay in the
exits stack A, Q and I are saved.
EXTSR ($92) - Entry in EXEXSR.
Exit subroutine used by subroutine which entered by ENTSR,
entry by JMP and exit to last address in the stack.
SUPRW ($97)
Entry in PIO.
Called to read or write from or to suitable logic units.

588 _
. PAGE NO. _____

'IINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~P~S~T~2__________________________________________________________________
PROGRAM NAME

Print Statistics Report Second Overlay

4. DATA AREAS AND SYSTEM TABLES USED
a. Communication area
This area is used to save the command parameters, counters and the tracks
addresses of the disk work area (see a of INPUT PARAMETERS OR CONDITIONS).
b. Accumulated record buffer - RECBUF
This buffer is used to store the current accumulated record and the totals
counters.
c. I NBUF buffer
This buffer is used by the PST program.
first word of this buffer.

The PST2 program checks only the

d. Jobs directory buffer
8 Sectors buffer for the jobs directory.
PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS

1084
'\----

= 43C16
653

words for the program.
words for the buffers.

2. RELOCATION TYPE
Run anywhere.
3. ENTRANCY CLASSIFICATION
Reentrancy locked.

. PAGE NO.

589
.. IINTfO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A______________~_______________________________________________
PROGRAMNAME __~P~T;S____~P~r~i~n~t~T~e~r~m~i~na~l~S~t~a~t~u~s~___________________________=L~ev~e~1~O~6~_______

PROGRAM FUNCT IOI~
1.

GENERAL DESCRIPTION
The PTS prints the current status of each terminal requested. Information
displayed includes the display and keyboard type, the mode, job name, batch
number, and lock indicator.

2.

DETAILED DESCRIPTION
PTS calls SETMOV to enable the program to move, and then performs syntax
checks on the parameters entered. If an error is detected (commas missing,
terminal numbers are val id or greater than the maximum specified) exit is
to REJSUP with an appropriate error message. Next the header is moved to
the interrogate buffer, and is printed via SUPRW.
A larger interrogate buffer (18 words) is requested via GETBUF, and the
attributes of the first terminal requested are stored in it. Each line is
printed via SUPRW, after which a check is made for the cancel key, and i\f it
was entered (or SX from the TTY) the program exits to REJSUP. If end of
screen condition is reached, CONCAN is invoked to wait for CANCEL or CONT.
When the information for the last terminal has been printed, the program
exits to SV.

INTERFACE
1.

ENTRY METHOD
PTS is a supervisor function loaded by ENTPRG.
entry point PTS.

2.

Execution begins at its only

INPUT PARAMETERS OR CONDITIONS
None.

3.

4.

EXIT METHOD
a.

Normal exit to SV.

b.

Error exit to REJSUP with appropriate error message.

OUTPUT PARAMETERS OR CONDITIONS
See Cyberdata Reference for sample printout.

PAGE NO. _ _
5_9_0_

AA5641

'11N1l0 IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

CYBERDATA

PROGRAM NAME

PTS

-

•

PSSD

•

SOFTWARE DOCUMENT

Level 06

Print Terminal Status

ASSEMOLY CHARACTERISTICS
1.

EQUATES
a.

b.

'",-

LOCORE
TEN
ZERO
NZERO
ONEBIT
LP MASK
SST
SST
ATTLING
CATT
ATTS
SLOCK
S TEMP
SUPRW
REJSUP

sv
GETBIN
GETCOM
GETSTR
CAM
GETALP
c.

ATT
CMODE
JIDX
BATCHN
BMOD
TERMIN
CNCMT

($46)
($22)
($12)
($23)
($ 2)
($47)
( 19)
( 11)

( 10)
(

1)

( 20)
($97)
($82)
($B1)
($99)
(.$9c)
($A2)
($AE)
($9B)
(
(

(
(
(
(

2)
3)
35)
15)
23)
46)
PAGE NO.

AA5641

591

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_BE_R_D_AT_A____________________________~--------------------____
PROGRAMNAME ___P_T~S___
- __P_r_in_t__
Te~r_m_i_na_l__
S_ta~t_u~s________________________ ~Le_v_e_l_0_6________

TERN
ATTAD
TEMP
JNMl
AINT

( 47)

TRMI~T

( 23)

OUTCU

( 37)

d.

2.

( 48)
( 49)
( 50)

( 27)

II~TERROGATE

BUFFER

TER
DISPTY
KB
MODE
JOBN
BATCH
LOCK

(

5)

(

6)

(

8)

( 11)
( 15)

( 19)

( 21)

MACROS USED
None

3.

PROGRAM DEPENDENCIES
SETMOV
GETBUF
CONCAN
GETLJD

4.

AREAS AND SYSTEM TABLES USED
SST
ATT
LJD
I RB

PAGE NO.

AA5641

592

"INfEO IN 'HE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA

----~~------------------.----------------------~----------

PROGRAMNAME __~PT~S~_-__~Pr~'~ln~t~T~er~m~i~n~a~l~S~t~a~t~u~s__________________________~I~e~v~e~1~Q~6~_______

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
13 2
22

2.

16

10

=

306

10

Program length.

Interrogate buffer.

RELOCATION TYPE
Disk resident, relocatable.

3.

ENTRANCY CLASSIFICATION
Reentrant.

\

"--

PAGE NO.

AA5641

593

'IINTEO IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~R~D~M~O~D~S

•

PSSD

•

SOFTWARE DOCUMENT

_______________________________________________________________

PROGRAMNAME __________________________________________

~-----------------------------

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
RDMODS displays the page that contatns the current field for 8 function
keys. Six entry poi~ts service the function keys as follows:
CBSRRR: BSR/REL/READ
CBORKY: BOR
CBSF:

BSF

CSKPR:
CBSCR:

SKI P
BSC

CSPACE: SPACE
2.

DETAILED DESCRIPTION
a.

b.

c.

CBSRRR
•

Call ENDSR to save return address in Exits stack.

•

Call FINDFD to locate page and 1 ine of current field.

• Go to step c.3. to display page with current field.
CBORKY
•

Call ENDSR to save return address in Exits stack.

•

Call GETPL to locate page and line for last field prior
to BOK key.

e

If field is not on first page, go to step c.4.
to display first page.

•

Otherwise, call FfNDFD to locate page and line of
fields and go to step c.5.

CBSF
1.

(CBSF).

Call ENDSR to save return address in Exits stack.

•

Call FINDFD to locate page and line of current field.

•

If last page of record, go to step c.3. to display
current page.

2.

(CBSFll) .

3.

(PAGE) .

4.

(PAGEl). Call CPAGE to display page that contains field
indicated in ATT/RQ.
•

If field is not at top of a- page, go to step 5.
Save current field number in ATT/RQ.

Exit to caller via EXDSR .
. PAGE NO.

594

'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~R~D~M~O~D~S

•

PSSD

•

SOFTWARE DOCUMENT

_______________________________________________________________

PROGRAMNAME ____________________________________________________________________________

5.
6.

d.

flag~

(CRSRl).

Save screen address of field fn TOPT/CURSRD.

o

Call CCOL to display column number of current field.

•

Call CFNDTY to display field number and data type.

•

Call CONCSR to convert cursor position to line number
and position in line.

•

Call CDATA to move cursor to position where field data
is to be displayed.

o

Exit to caller via EXDSR.

CSKPR
1.

(CSKPR).

Call ENDSR to save return address in Exits stack.

2.

(CSKPO).
field.

Call FINDFD to locate page and line of current

•
e.
~

Go to step c.2. to display page with current field.

CBSCR

•
•

'-

f.

Advance screen address of field by 3 to allow
and save it in TOPT/FLDST.

(CURSOR).
for error

Call ENDSR to save return address fn Exits stack.
Back up current screen position by 1, and go to step
c.6. to adjust display.

CSPACE

•
0

•

Call ENDSR to save return address in Exits stack.
If ATT/FCNT/O-7 = 0 (Beginning of field), go to
step d.2. to display page with current field.
If not~ increment current screen position by l~ and go
to step c.6. to adjust display.

INTERFACE
1.

ENTRY METHOD
Each routine is called by RTJ.

2.

INPUT PARAMETERS OR CONDITIONS
(I)

3.

=

Base address of Active Terminal Table (ATT).

EXIT METHOD
Return to location immediately following RTJ instruction.
595 _
. PAGE NO. ______

PRINTED IN THE USA

d.77

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __R_D_M_O_DS______________________________________________________________
PROGRAMNAME ______________________________________________________________________

4.

OUTPUT PARAMETERS OR CONDtTtONS
(I)

= Base

address of ATT

ASSEMBLY CHARACTERtSTICS
1.

EQUATES
a.

b.

c.

lOCORE
lPMASK (2)
ZERO ($22)
CDATA ($8D)
ENDSR ($8E)
EXDSR ($8F)
ATT
FCNT (3)
FlDN (14)
TOPT (33)
RQ (65)
TOPT
CURSRD (3)
FlDST (15)

2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
CM I SC 1
Vl2CRT

HDRNOS
GETPl
CPAGE
II.

{ ENDSR
EXDSR
CDATA
{ CONCSR

Save return add ress in Ex its stack
Return to last address in Exits stack.
Display designated message
Convert cursor position to line number and
position within line

CCOl
{ CFNDTY

Display column number of current field
Display field number and data type
Get parameters for current field.
Display page with current field.

DATA AREAS USED
ATT
TOPT

Active Terminal Table
Terminal Output Table

. PAGE NO.

596

'IINTEO IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~R~O~M~OO~S~

•

PSSD

•

SOFTWARE DOCUMENT

____________________________________________________________

PROGRAMNAME ______________________________________________________________________

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
40

2.

16

= 77 10

words

RELOCATION TYPE
Core resident, loader re1ocatab1e.

3.

ENTRANCY CLASSIFICATION
Passive reentrant

. PAGE

d. 79

NO.

597

'tiNTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I HS

PROGRAMNAME __--R-E-D-K-E-Y----------------------------__________--____________________L_e_v_e_1___
6

PROGRAM FUNCTION
1.

GENERAL

DESCRIPTION

REDKEY performs the switching from basic mode to READ mode, upon depressing
the READ key. The necessary information from basic mode is kept so return
is possible. Partially entered records are redisplayed and the terminal
is placed in the READ mode.
2.

DETAILED DESCRIPTION
a.

Call SETMOV to allow program movement in core.

b.

If the pseudo-ent ry bit is on or the term ina 1 is a 1ready in READ mode
an III LLEGAL FUfJCTION KEY II error message is generated. Same error
occurs in Entry if the character count in the current field is not 0,
or if no records were entered in current batch. For partially entered
records, IIBASEtlT Il writes it on disk, and updates all the needed pointers.

c.

d.

When basic mode is verify: mismatch character is cleared, the 10K bit is
set to 0; if the REVALIDATE bit (SW2B13) is not set, "BOR II continues
processing.
If counters are not required for current field, IIBOR II continues
processing. Otherwise, RCNT is set to point to the end, of current
field, character counter in current field is set to full length of
that field. If counters are used for that field, they are updated.

e.

The record count and field count are set to their previous values.

f.

IIBORII: If SW1B13 is set, the record is rewritten on disk. If
SW2B11 is not set, "SETATTII continues processing. Otherwise, action
is like entering READ mode at end of record; the most significant bits
of next record's address are added to the m.s.b. of current disk
address. The current disk address l.s.b. are moved to word 4 of TRB
and SETATT continues processing.

g.

"BASENT " : Current record is written on disk.
If there is not an inserted record after the last one, the available
track address is decremented by the record size.

h.

The n~xt available disk address is updated to point after the partial
entered record.

PAGE NO.

AA5641

598

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__I_M_S__________~_______________________________________________
PROGRAM NAME

i.

REDKEY
"SETATT":
add ress.

Leve 1 6
The current disk address is set as the basic mode disk

Current mode is set to READ.
The record counter is saved in basic mode counter.
The number of records in READ mode is set to the actual number of
records in batch.
The format number is saved in basic mode format number.
Bits 15-13 and 5 of switch 2 are cleared, as well as bits 9, 6, 5,
and 2 of switch 1.
After displaying the READ mode header, REDKEY exits through CLRSR.
INTERFACE
1.

ENTRY METHOD
Entered by MPC upon detection of that key-function.

2.

PARAMETERS
I

I

"---

3.

= ATT

base address.

EXIT METHOD
Either to ERROR or via CLRSR.

4.

OUTPUT PARAMETERS
Last record written on disk, ATT pointers set so as to allow return
to bas i c mode.

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a.

LOCORE
LPMAS K (2)
ZERO ($22)
ZROBIT ($33)
NZERO ($12)
ONEBIT ($23)
SST ($47)

I

"':.-.
PAGE NO.

AA5641

599

'1It.nED IN 'HE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS
PROGRAM NAME

b.
c.

d.

e.

2.

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS

--~~~~~--------~----------------------~---------------

REDKEY

I eve 1

6

SST
CFFA (12)
ATT
ATEMP (73)
ATRB (6)
CURDA (9)
FCNT (3)
RCNT (4)
SW1 (19)
RCDS IZ (69)
BMODE (15)
FMTNO (13)
AVLTK (8)
NDA (11)
BMDA (17)
CMODE (2)
RCD (32)
5W2 (20)
BRCNT (15)
RCDRD (31)
BFMTNO (25)
TRANSFER VECTOR
ERROR ($96)
WRITEC ($A3)
REWRIT ($A4)
DISP ($AO)
EXTERNALS
SETMOV
DREADK
COUNT
FMTPAR

DATA AREAS USED
TRB
SST
ATT

PAGE NO.

AA5641

•

_6_0_0_

'RINTEO IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

_C_Y_B_ER_D_A_T_A_IM_S______________________________

PROGRAMNAME _ _
R_ED_K_E_Y____________________________________________L_ev~e~1~6

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
82 16 = 13010

2.

words.

RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

_6_0_1_

'tiNTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~RD~A~T~A~I~M~S

•

PSSD

•

SOFTWARE DOCUMENT

__________~_____________________________________________

REDOC - Read A Document
PROGRAMNAME __________________________________________________________________________
6
Level __
PROGRAM FUNCTION
1•

GENE RAL DESCR I-PT ION
REDOC reads a format entry for the current document. There are two entries
to REDOC: REDOC and REDGRP. A call to REDOC causes the subroutine to locate
the document, using the Legal Document Directory and Legal Document Table,
and reads the first format for the document.
A call to REDGRP causes the subroutine to read the next format for the
document.

2.

DETAILED DESCRIPTION
a.

REDOC entry
1. Compute address of pointer for current document in the Legal
Document Directory (LDD).
2. Read pointer word from mass storage.

3. If pointer word

= 0, document is nonactive.
Set ATT/SW1/3 and
ATT/SW1/10 to insure that Document or Format Select will be keyed next.
Display error code D3 (Invalid Doc. No.) and exit via error.

4. If pointer word ~ 0, set ATT/SW1/14 (first record in document flag),
display document number and continue at REDGRP entry.
b.

REDGRP entry.
1. Get address of current group in document.
2. Read 2-word group entry from mass storage.
3. Put number of records in current group in ATT entry CRCD in
complement form. except for value of zero, which is not complemented.
4. If this is the last group in the document, set ATT/ELDT/15 (last group).
5. Put Format number in ATT word DOCFMT.

6. Call GFCORE to locate the required format, and read it from disk,
if it is not already in core.

7. If the format number is invalid, set ATT/SW1/3 to insure that another
format will be selected either by FMSEL, DOC or by FMT.

8. If the format number is valid, reset ATT/SW1/3, set ATT/SW1/15 (first
record in format flag).

9.

..

(tl

AA5641

)

Set data type and the display for the first field to be entered.

PAGE NO. _6_0_2_

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__IM_S__________~____________________________________________
PROGRAMNAME ____R_ED_O_C__-__
Re_a_d__A__
Do_c_u_m_e_n_t_________________________________________L_ev_e_1___
6

INTERFACE
1.

ENTRY METHOD
REDOC is a disk resident program which is called via ENTPRG (enter a
disk resident program), used as a second overlay of DOC and is called also
by EORENT.

2.

INPUT PARAMETERS OR COND IT IONS
(1) = Address of the Active Terminal Table (ATT)
DOCNO in the ATT contains the required document number. When REDGRP
is entered ELDT in the ATT contains the displacement in the DOC table
for current format.

3.

EX IT t~ETHOD
Exit is via CLRSR (Clear exit subroutine), which exits to dispatcher.

4.

OUTPUT PARAMETERS OR CONDITIONS
(1) = Address of ATT

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a.

b.

LOCORE
LPMAS K (2)
NZERO ($12)
ZERO ($22)
ONE BIT ($23)
ZROBIT ($33)
SST ($47)
CLCDWA ($90)
CLRSR ($93)
ERROR ($96)
GFCORE ($9D)
DI SP ($AO)
RED\JA ($A9)
WRTATT($AC)
RELFOR ($AD)
SST

c.

EXTSST (0)
EXTSST
LDDDA (9)

\ O.
~,..

.J

AA5641

,

PAGE NO.

603

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_V_B_E_RD_A_T_A__I_M_S__________~_____________________________________________
PROGRAMNAME ____R_E_DO_C__-__R_ea_d__A
__D_o_cu_m_e_n_t__________________________________________L_e_v_e_1__
6

d.

ATT

e.

PFBA (7)
FMTNO (13)
ELDT (16)
DOCNO (17)
SWl (19)
DOCFMT (23)
CRCD (24)
RCD (32)
ATEMP (73)
ERROR CODES

f.

2.

CD3 ($F)
CFl ($14)
EXTERNALS
DFMT
DDOC
CCRFLD
DBOF
SETMOV
FIRSTF

Display format number (entry point in DISPLV)
Display Document number (entry point in DISPLV)
Clear field (entry point in DISPLV)
Display beginning of field (entry point in DISPLV)
Entry point in ENEXSR
Entry point in EORENT

MACROS USED
None

3.

PROGRAM DEPENDENCIES
ENEXSR
SETMOV
Enable move of disk resident program
PIO
CLCDWA
Calculate Disk Word Address
Read Disk Word Address
REDWA
Display a message
DISPLV
RELFOR
Release Format
GSE
Processor
ERROR
GFCORE
Get Format into core
WRTATT
Write Active Terminal Table (ATT) check point for
power fail recovery)
CLRSR
Clear subroutine stack and exit to dispatcher
FIRSTF
Locate first data entry field in format
EDRENT

4.

DATA AREAS USED
SST
(System Status Table)
EST
(Extend System Table)
FBA
(Format Base Address Table)
FMT
(Format Table)
ATT
(Active Terminal Table)
PAGE NO.

AA5641

604

'IINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__IM_S__________~____________________________________________
PROGRAMNAME ____
RE_D_O_C__-__
Re_a_d__A_D_o_c_u_m_e_n_t________________________________________~Le~v~e~1~6

PHYSICAL CHARACTERISTICS
1.

2.

3.

MEMORY SPACE REQUIREMENTS
76 16 = 118 10 words
RELOCATION TYPE
REDOC is a Disk Resident program.
and movable.
ENTRANCY CLASSIFICATION
Reentrant code.

PAGE NO.

AA5641

It is written in run-anywhere form,

605

PRINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA

~--~~--------------~--------------------------~------------------

PROGRAMNAME __~R~E~G____~R~e~ge~n~e~r~a~t_e~D~is~p~l~a~y_______________________________
Le_v_e_l~O~6________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTlON
The program processes the interrogate function REG which regenerates the
display.

2.

DETAILED DESCRIPTION
The program checks validity of command. In case of incorrect syntax, exit
is made to ERROR (ILLEGAL'REQUEST). Otherwise, DISPLAY is Invoked to
regenerate the screen.

INTERFACE
1.

ENTRY METHOD AND PARAMETERS
REG is a disk-resident program invoked by INTRGT (via ENTPRG).

2.

EXIT METHOD
a.
b.

To Error with Q = $12
Normal Exit is to CLRSR.

·ASSEMBLY CHARACTERISTICS
1•

EQUATES
SST
STEMP
GETALP
DISP
ERROR
CLRSR
CE2

2.

($47)
(20)

($98)
($AO)
($96)
($93)
( $12)

EXTERNALS
REGEN
SETDIS
MACROS USED
None
PAGE NO.

AA5641

bOb

'tiNTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~YB~E~R~D~A~T~A

•

PSSD

•

SOFTWARE DOCUMENT

____________~______________________________________________

PROGRAMNAME ___R~E~G___- __R_e~g~e_n_e_ra_t_e__D_is~p_l_a~y______________________________L_e~ve~l~O_6_________

3.

PROGRAM DEPENDENCIES
GETALP
ERROR
DISP
CLRSR

4. AREAS AND SYSTEMS TABLES
SST (SCANV uses SST + STEMP for current pointer)
PHYSICAL CHARACTERISTICS
1•

MEMORY SPACE REQUIREMENTS
1116 = 17 words of program.

2.
I\......

RELOCATION TYPE
Disk resident, run anywhere.

3·

ENTRANCY CLASSIFICATION
Reentrant.

PAGENO._~

AA5641

'RINTEO IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLAss~C~Y~B=E~R~DA~T~A~I~M~S

•

PSSD

•

SOFTWARE DOCUMENT

____________________________________~___________________

PROGRAMNAME ____________________________________________________________________________
RELKEY - Perform Release Function Key
Level __
6
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
RELKEY performs the entry/verify release key operation by exiting
to RELIT. In Read mode, the next record is read, with ATT pointers
set accordingly.

2.

DETAILED DESCRIPTION
SETMOV is cal led to allow the module to move. The current mode and
status bits are checked: if the mode is Pseudo-Verify, or the reval idate
bit (ATT/SW2/13) is set, exit to ERROR.
If the mode is Pseudo-Entry and an insert is not begin done or insert is
being done in basic mode verify, exit to ERROR. When exiting to ERROR,
Q = 4 (A4-illegal function). The mode is checked to be read. If it is,
control goes to READRL. Otherwise ATT/SW1/9 is cleared (llskip must be
next"), ATT/SW2/S is set (REGEN if error occurs), the program is released
with a call to EXDFUN, the IDK bit is cleared, and the program exits to
RELIT.
READRL - ATT/ATEMP is set to zero. If a rewrite is required, REWRITE
is called. End of data is tested: if the basic mode verify and the
current record is the last in the batch, exit to ERROR. If the basic
mode is Entry and ATT/RCD-ATT/RCDRD = 0 (the difference is saved in
ATT/ATEMP), exit to ERROR. In both cases, on exit Q = 7 (B2-end of
data). In the case of the basic mode entry, if ATT/ATEMP = 1
(difference between the basic record count and the record count in
read), then the basic column number (ATT/BRCNT/O-12) is tested. If it
is zero, then there is no next record. The current disk address (ATT/
CURDA, CURDA + 1) is saved in the TRB as the previous disk address,
ATT/RCDRD is incremented and control goes to RCDST.
In the normal read mode case, that is, not on the last record of the
batch, ATT/RCDRD is incremented, the next record is read with a call
to READN, and the format of the new record is extracted from the TRB
header.
If the format is the same as the format of the previous record, and
ATT/ATEMO ~ 1, jump to DISPIT. If ATT/ATEMP = 1 and ATT/BRCNT is
greater than ATT/RCNT, jump to DISPIT. Otherwise, jump to RCDST. If
the formats were different, the new format is loaded with a call to
GFCORE.
ReDST - ATT/FCNT. RCNT are cleared. ATT/RFA and SST/CFFA are initialized
to the first field in the format. STTYPE is called to initialize the
field data type.
DISPIT - DISP is called with DBSREL as a parameter (display backspace
record and release in Read mode). The program exits t~ CLRSR.

PAGE NO. 608
AA5641

".INUO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I MS
RELKEY - Perform Release Function Key
Level __
6
PROGRAMNAME ____________________________________________________________________
DOCUMENT CLASS

INTERFACE
1. ENTRY METHOD
RELKEY is a key function processor loaded by ENTRPG when requested
by MPC. Execution begins at RELKEY.
2.

INPUT PARAMETERS OR CONDITIONS
I = current ATT address.

3•

EX IT
Jump
Jump
Jump

4.

OUTPUT PARAMETERS OR CONDITIONS
In Read mode, pointers have been advanced to the next record.

METHOD
to ERROR (in GSE) with Q = 4 or 7 when the key is illegal.
to RELIT (SKPDUP) for normal entry/verify processing.
to CLRSR (ENEXSR) at the end of normal Read mode processing.

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
LPMASK ($2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
b. SST
FFA (12)
CLRSR ($93)
ERROR ($96)
GFCORE ($90)
EXDFUN ($9F)
DISP ($AO)
RE\/R IT ( $A4 )
READN ($A6)

\,-

PAGE NO. _ _
6_09_

AA5641

•• IJrrr,IT'1l IN 1WI

U~ ...

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS _____C_Y_B_E_R_D_AT_A__I_t~_S______~________________________~__________________
PROGRAMNAME _______R_E_L_K_EY__-__P_e_rf_o_r_m__
R_e_le_a_s_e__
Fu_n_c_t_i_o_n_K_e~y________________________-=L~ev~e~l~6

c.

2.

ATT
MODE (2)
FCNT (3)
RCNT (4)
ATRB (6)
PFBA (7)
CURDA (9)
FMTNO (13)
RFA (14)
BMOD (15)
BRCNT (1 5)
SW 1 (19)
SW2 (20)
RCDRD (31)
RCD (32)
ATEMP (73)

PROGRAM DEPENDENCIES
ERROR (GSE) - exit taken when function illegal
REWRIT (PIO) - reqrites current record
READN (PIO) - reads in next record of the batch
GFCORE - 1 ink up this station to a format
EXDFUN (ENTPRG) - release the program
CLRSR (ENEXSR) - common end-of-processing exit
DISP (DISPLY) - central display call
DBSREL (DISPLY) - select Read mode BSR or REL display function
RELIT (SKPDUP) - exit to perform E/V REL function
STTYPE (EMM) - extract data type from format and store in ATT
SETMOV (ENEXSR) - allows program to move

3.

DATA AREAS USED
ATT
TRB

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
6D 16 = 10 9'0 words.
2.

RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

610

'liN TED IN THf USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__I_MS__________~______________________________________________
PROGRAMNAME ____R_E_P_KE_Y~__________________________________----__________________~L~e~v~e~1~6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
REPKEY is disk resident routin~ to process the REP FLO key. REPKEY is
illegal at end of data -EID- in the following modes: Verify, Pseudo
Verify, and Read, and COR must be next after pressing DLT key in Verify
or Read mode (not during insert).

2.

DETAILED DESCRIPTION
REPKEY first clears the ERROR OVERRIDE FLAG (SW2-B12), SKIP KEY MUST
BE NEXT FLAG (SW1-B9), and 10K bit (ATT 2/14).
a.

In

~

and Pseudo Entry modes:

•

In Entry and Insert modes, at the beginning of record (RCNT=O),
no processing is performed - 10K bit is set and the routine exits
via RTJ - (CLRSR).

•

Otherwise:
1)
2)

Record counter is set back to the beginning of current field.
If the following conditions:
a) Not at beginning of fie ld.
b) Not in Entry mode.
c) It is not the first record in the format.
d) None of the records auto-dup fields was changed in the
Entry pass.

3)

are ~ satisfied, then the DUPKEY bit (SW2-B4) is set.
If the REP FLO key was pressed in the first field of the
record (the record counter is zero at this point) then:
a) Set 10K and FIRST CHAR. OF RECORD NEXT (SW1-B2) bits.
b) If DUPKEY bit (SW2-B4) is set and it is not first record
in batch, read previous record from the disk and clear
DUPKEY bit.

4)

Current data display is cleared via DISPLY-CLRFLD.

5)

Set field counter to point to the beginning of field (store
zero in FCNT).

6)

Disply column number via disply-DCOL.

7)

Exit via CLRSR.

PAGE NO.

AA5641

611

'IINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_y_B_ER_D_A_T_A__I_M_S__________~________________________~___________________
PROGRAMNAME __~R=E~P~KE~Y~________________________________________________________~L~e~v~e~l~6

b) In READ, Verif~and Pseudo Verify modes:
1)
If the end of the data (EOD) is reached in Verify,
Pseudo Verify, or Read modes, or when COR must be
next (after DLT key was pressed in Verify or Read
mode, not during Insert), the routine exits via
ERROR wi th Q=4 - i nva lid funct ion key. The check
for EOD is mode via the subroutine TSTEOD.
2)

Clear COR (B11) and CONT (B5) bits in SW1.

3)

Set rewrite bit (SW1-B13) because a correction is
to be made.

4)

C1ea riD K and P. V. ( Ps eu doVe r i f y) bit sin ATT ,2.

5)
6)

Set P.E. (Pseudo Entry) bit in ATT,2.
If Basic mode is Verify, MISMATCH CHAR. (CATT,S)
is c lea red.

7)

Update the counters via the subroutine CHKCNT.

8)

Check flags and clear, if necessary, ERR bit in
the Reader via the subroutine FLAGS.

9)

Continue as in Entry mode (steps 4) - 7)).

2.1 DETAILED DESCRIPTION OF SUBROUTINES
a.

TSTEOD
Subroutine that checks for End of Data.
is with A=O, then EOD was reached.
1)

If return from the subroutine

I n bas i c mode Entry:
If the total number of records in batch (RCD) is equal to the number
of records in batch in Read mode (RCDRD) and the char. count in
current record (ReNT) is equal to char. cOOnt in Basic mode (BRCNT),
then return from the subroutine is with A=O, otherwise return is
WTt1i A7=O.

b.

CHKCNT
Subroutine that reverse the previous effect on the counters of current
field.
1) The subroutine does a return jump to FMT PAR with "Q=11. If, upon
return, A is negative, there are no co"unters and return is made
from the subroutine; otherwise A contains the value of the counters
which is saved in ATEMP+l in ATT.

PAGE NO.

AA5641

612

PRINTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I MS

PROGRAMNAME __~R=E~P~K=E~Y____________________________________________________________~I~e~\I~e~1~6~

c.

2)

Save RCNT in ATEMP + 2 and FCNT in ATEMP + 4 in ATT.

3)

RCNT and FCNT are updated to point to the end of field.

4)

The sign of the counters is reversed.

5)

The subroutine does a return jump to COUNT. The values of the
counters are added (or subtracted) if they were subtracted
(or added) before.

6)

The value of RCNT and FCNT are restored from ATEMP + 2 and ATEMP + 4.

FLAGS
This subroutine checks for a flag on the current field. If found,
then it checks the whole record (in Entry and Insert made checks
till current field in record). If no other flag is found, then the
. ERROR bit is found, then the ERROR bit in the TRB header is cleared, and
the number of erroneous records is decremented.
1)

The value of RCNT is saved in ATEMP+1 in ATT.

2)

Check for a flag on the current field:
Field count (FCNT) is subtracted from record counter (RCNT) so that
RCNT points to the first character fo the field. The character is
read via GBYTE. If it is not flagged, return from the subroutine.

3)

Clear the flag from current field in the TRB:

4)

Clear the flag in CURCH in ATT and store it via SBYTE in TRB.
I nit i ali za t i on s :
•

5)

Record count points to the beginning of record (store zero
in RCNT).

•
STEMP in SST gets the address of the beginning of format.
Read for character of current field via GBYTE. If it is flagged,
return from subroutine, because there is still at least one
erroneous field, and ERROR bit is the reader must remain set.

6)

RCNT points to the beginning of the next field (max number of
characters in current field is added to RCNT).

7)

Check if the loop is finished:
•

In Entry and Insert modes: reached from BSC or BSF. These
programs pass to REPKEY the difference between the record and
field counters in bits 0-11 of ATEMP, so that only fields from
the beginning of record till current field wi 11 be checked for
error flags.
If ATEMP is zero (at first field of the format) or the
difference between ATEMP and RCNT is zero, the check is complete,
and no flagged field was found, so jump to CLRERR (execute step 10).
If not, continue the check (go to (*)).
PAGE NO.
613

AA5641

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

__I_M~S__________~________________________~___________________

DOCUMENTCLASS~C~Y~B~E~RD_A~T_A

REPKEY
PAOGAAMNAME __________________________________________________________________________
Leve 1 _6

•

If basic mode is Entry: check if at the end of data via
the subroutine TSTEOD. If so, jump to CLRERR (execute step 10).

(-'-) If it is the last field in the format jump to CLLERR (execute step 10).
8)

STEMP in SST points to the current address in the format (number
of words in current field is added to STEMP).

9)

Continue the check (execute again from step 5).

10)

CLRERR - There is no flagged field in the record. ERROR bit in the
TRB header is cleared. If the field ~eplaced in pure Read mode,
before the basic position, and it was the only erroneous field in
the record, decrement the number of erroneous records (RCDER in ATT).

11)

Restore RCNT from ATEMP+1 and return from the subroutine.

I NTEP.FACE
1•

ENTRY t1ETHOD
REPKEY has five entry points:
REPKEY - processing of REP FLD key.
REP2

- used by CORKEY for checking counters.

REP3

- used by EMM to clear the error flag of the current field, and
set rewrite bit (SW1-B13).

REP4

- used by BSE to check counters and flags. Field are checked from
the beginning of the record up to the current field.

REP5 - used by BSF in the way as BSC.
REPDEY is loaded via ENTPRG when the operator hits the REP FLD key.
Execution begins at the first entry point REPDEY.
2.

INPUT PARAMETERS OR CONDITIONS
ATEMP contains the difference between the record count and the field count
if REPKEY is entered from BSC or BSF.

3.

EXIT METHOD
If REP FLD was depressed exit is either to CLRSR or to ERROR.·
Otherwise return is to the appropriate entry point of the call ing
routine, after releasing REPKEY via EXDFUN.

PAGE NO.

AA5641

614

.. RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~YB~E~R~DA~T~A~IM~S

•

PSSD

•

SOFTWARE DOCUMENT

________~_______________________________________

REP KEY
Le_v_e___
1 6
PAOGRAMNAME _________________________________________________________
ASSEMBLY CHARACTERISTICS
1• EQUAT ES
a. LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
EXTSR ($92)
CLRSR ($93)
GBYTE ($94)
SBYTE ($95)
ERROR ($96)
ENTPRG ($9E)
EXDFUN ($9F)
DISPLY ($AO)
READP ($A5)
b. ATT
MODE (2)
CURCH (2)
FCNT (3)
RCNT (4)
MISCH (5)
ATRB (6)
PFBA (7)
CURDA (9)
BMOD (15)
BRCNT (15)
SW1 (19)
SW2 (20)
RCDER (30)
RCDRD (31)
RCD (32)
ATEMP (73) .
c. SST
STEMP (20)
CFFA (12)

PAGE NO.
AA5641

615

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A_:_I_M_S__________~________________________~______--______--___
PROGRAMNAME __~R=E~P~K~EY~________________________________________________________~l~e~y~e~l~6

2.

3.

PROGRAM DEPENDENCIES
DISPlY - CLRFlD - Display cleared field.
- DCOl
- Display column no.
FMTPAR
- Check in the format parameters if counters are specified.
COUNT
- Update the counters.
READP
- Read previous record from disk.
GBYTE
- Read a character from the TRB.
SBYTE
- Store a character in the TRB.
ENTPRG
- Enter a disk resident program.
EXTSR
- Exit subroutine.
EXDFUN
- Exit disk function.
ClRSR
- Clear exit subroutine.
ERROR
- Display terminal error.
DATA AREAS USED
a. ATT
words 2
- B12, B13, B14
words 3
- FCNT BO-B7
words 4
- RCNT
words 5
- t11 SMATCH CHAR.
words 19
- SW1: B2, B5, B9, B11, B13
words 20
- SW2: B4, B12
words 30
- RCDER
words 36,63 - (8 words) counters
- ATEMP
words 73
- ATEMP + 1
words 74
- ATEMP + 2
words 75
- ATEMP + 4
words 77
b. SST
- STEMP
word 20
c.

TRB
word

- B15 (error bit in the header)

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
124 16 = 29 4 10
2. RELOCATION TYPE
Relocatable.
3.

ENTRANCY CLASSIFICATION

Reentrant
NOTE: The program is not movable during execution.
PAGE NO. _6_1_6_

AA5641

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__
IM_S________~__________________________~________________
PROGRAMNAME ____
R_EP_K_E_Y______________________________________________________L_e_v_e_l_6_

PAGE NO. _ _
6_1_7_

AA5641

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

__I_M_S__________~__________________________~___________________

DOCUMENTCLASS~C~Y_B_E_R_DA~T_A

PROGRAMNAME __~R~E~S~E~T__-_R~o~u~t~i~n~e~t~o~P~e~rf~o~r~m~R~e~s~e~t~K~e~y_F~u~n~c~t~i~o~n~____________________~L~e~v~e~1~6
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
RESET clears an error lock conditJon and the error code display. For
certain error conditions, status bits are set defining what the following
sequence of keys mus t be. If there was no er ror lock the key has no
affect on the system.

2.

DETAILED DESCRIPTION
SETMOV is called to allow the program to move, the error code (in
ATT/ECODE) is cleared and ATT/ECODE is saved in ATT/ATEMP. The 10K bit
is cleared; if ATT/SW1/8 is set, the display is regenerated. The error
code on the display is cleared. If error lock (ATT/O/11) is not set,
jump to EXIT. Otherwise, clear the error lock.
The error code is recovered from ATT/ATEMP. If the code is less than
8 (not a validation error) jump to EXIT. If the code is for a validation
error, set ATT/SW2/12 (error override allowed). For any higher error
codes, a check is made for ATT/SW1/3 being set (DOC, FMT ADV; or FMT SEL
must be next). If the bit is set DISPLY is called to clear the current
field and to display beginning of field.
EXIT - ATT/SW1/2, 7, and 8 are cleared (regen, reset and beginning of
record bits).
Set the 10K bit under the fol lowing conditions:
a.

Mod e is Id 1e, or

b.' Mode is Verify or Pseudo-Verify and ATT/MISCH :; 0 or ATT/SW2/11
is set, or
c.

RCNT = 0 and mode is either Entry or an insert is being performed
(set ATT/SW1/2 as well), or

d•

Any on e of ATT / SW1/0. 2, 5, 9 , 11 iss e t , or

e.

ATT/SW1/12 is set.

The program· exits to CLRSR.
INTERFACE
1•

ENTRY t1ETHOD
RESET is a key function program loaded by ENTPRG when requested by MPC.

2.

INPUT PARAMETERS OR CONDITIONS
I

= current ATT base address.

PAGE
AA5641

NO.

618

... INTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__lt_1S__________~____________________________________________
PROGRAMNAME ____
R_ES_E_T__-__Ro~u~t~i~n~e_t~o~P~e~r~fo~r~m~R~e~se~t~K~e~y_wFu~n~c~t~i~on~____________________~L~ev~e~I~6

3.

4.

EXIT METHOD
Jump to CLRSR.

The error code and error lock have been cleared.

OUTPUT PARAMETERS
I = current ATT base address.

ASSEMBLY CHARACTERISTICS
1• EQUATES
a. LOCORE
LPt~SK (2)
NZERO ($12)
ONEBIT ($23)
ZROBIT ($33)
b. SST
CLRSR ($93)
DI SPLY ($AO)
c.

ATT
MODE (2)
RCNT (4)
t11SCH (5)
SW1 (19)

SW2 (20)
ECODE (3 1f)
ATEMP (73)
2.

PROGRAM DEPENDENCIES
CLRSR (ENEXSR) - Common completion return.
DISPLY - Central display call.
DBOF (DISPLY) - Displays beqinning-of-field condition.
REGEN (DISPLY) - Regenerates display.
DERR (DISPLY) - Clears the error code.
CLRFLD (DISPLY) - Clears the current field.
SETMOV (ENEXSR) - Allows program to move.

3.

DATA AREAS USED
ATT - Active terminal table.

PAGE NO.

AA5641

619

'IINTEO IN THE

us.

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A_,_IM_S________~__________________________~________________
PROGRAMNAME ____
RE_S_E_T__-_R_o_u_t_in_e__t_o_P_e_r_f_o_rm__R_e_s_et__K_e~y__
Fu_n_c_t_io_n____________________~L~e~v~e~1~6

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
5E16

= 94 10

PAGE NO.

AA5641

620

'RINTED IN tHE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I t1S
RSQ - Resequencing Program
Level __
6
PROGRAMNAME __________________________________________________________________________
DOCUMENT CLASS

--~~--~~~----------~--------------------------------------------------

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
RSQ, on overlay for the WBT supervisor command, is called once for
each data record, the record is resequenced, overpunch and fill
character are performed, as is the variable recording function. The
record is transferred from the WBT input buffer to the Terminal Record
Buffer (TRB) one field at a time, either in the entered order or when
resequencing is required in resequencing field number order.
The subroutine FIELD performs the actual operations described above and
is called once for each field.

2.

DETAILED DESCRIPTION
SETMOV is called to allow the program to move. The format of the
cu rrent record is checked to be the same as the cu rrent format. If
not, GFCORE is called to load in the format on the record. The EODl
buffer format table pointer (first word following the EOD1 image) is
used to load the latest entry in the format table. If the entry is
negative, store zero in ATT/ATEMP + 3 (format is al ready flagged). If
the entry is positive and equal to the current format, save the
address of the current entry in ATT/ATEMP + 3 (first call·.to RSQ with
this format). Otherwise (current format not equal to last new format),
store zero in ATT/ATEMP + 3.
The number of fields in the format are counted and saved in ATT/NFLDS.
If variable record ing was requested on the mag tape format (HTF) ,
subroutine IFON is called; then the TRB is checked to see if it is
long enough: maximum record length is the record length in the format
plus one character per field. If the current TRB is shorter than this,
the TRB is released and CAM is called for a new buffer. If the call
to CAM fai Is 100 times, RSQ prints IIMEMORY FULL " and exits to MTFMON
entry point 4 (abort entry). If the CAM request succeeds, the TRB
backwards pointer is set up. The 5-word header for the record being
processed is moved from the input buffer to the TRB. ATT/RCNT is set
to zero. The fir~t field on the format is checked for a resequencing
fie 1d number. If there i sn I tone contro 1 goes to NORSQ. Otherwi se,
subroutine IFON is called and the record is processed, one field at a
time, in resequencing field number order: SST/STEHP + 3 is set to 1
(for field 1). The:'ormat is scanned from the beginning, looking for
a field with the same resequencing field number as in SST/STEMP + 3.
ATT/CHRPTR is increased by the length of a field if that field is
passed over, so ATT/CHRPTR always contains the. character position
within the record of the current field. Q is set to the address of the
current format field description. If the last field in the format is
reached without a match, the system will hang, as there is an error in
the format string.

PAGE NO.

AA5641

621

'IINUO IN THE

us.

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

__________~__________________________~___________________

DOCUMENTCLASS~C~Y~B=E~R~DA~T~A~I~M~S

RSQ - Resequencing Program
Level __
6
PROGRAMNAME ______________________________________________________________________________
When the resequencing field number matches SST/STEMP + 3, subroutine
FIELD is called. SST/STEMP + 3 is compared with ATT/NFLDS. If they are
equal, the record has been completely processed and control goes to
EVCHK. Otherwise, SST/STEMP + 3 is incremented, and the search begins
again at the start of the format.
•

NORSQ - When there is no resequencing, ATT/CHRPTR is initialized to zero.
Q is set to the address of the current format field description.
FIELD is called. If this was not the last field, ATT/CHRPTR is
advanced to the next field, Q is advanced to the next field
description and the next field is processed.

•

EVCHK - If the final record legnth (ATT/RCNT) is odd, the last character
in the record is made a binary zero and ATT/RCNT is incremented.
((ATT/RCNT) + 1)/2 is now transferred to the TRB record header
as the record length in words. The IDK bit (ATT/CURCH/14), which
had been cleared by FIELDS, is restored. The program is released
by calling EXDFUN and control is returned to the caller (MTFMON
entry 1) by calling ENTPRG with Q containing the value in ATT/
t1TCA + 1.

a.

Subroutine FIELD
FIELD is called once for each field in a record. On entry, Q = address
of the format field description and ATT/CHRPTR = column position of the
first character in the field. ATT/CHRPTR is saved as BEG. BEG-plus the
field length + 1 from the format is saved as END.
BEG and END thus indicate the first and last character positions of the
field, while RCNT is used as the next available position in the TRB.
If overpunch is specified in the MTF and the field is signed numeric,
overpunch is performed: first IFON is called, then the overpunch option
in the MTF is examined: if minus-only overpunch is specified, control
goes to MINOVP. Otherwise, the last character in the field is checked
to be a minus. If it is control goes to L3. If it is a plus, ZERCOD is
set to BCDZEP or ASCZEP, depending on whether or not BCD is the specified
recording code. ADDPAR is set equal to PLSADD and control goes to L2.
MINOVP - If the last character in the field is minus, go to L3, otherwise,
decrement END (suppressing the plus sign) and exit to VR.
L3: set ZROCOD to BCDZEM or ASCZEM, again according to the recording code.
Set ADDPAR to MNSADD.
L2: decrement END; set PTR equal to END; and test the last digit of the
field: if it is zero, store ZROCOD in FILLER; otherwise, add ADDPAR to
the ASCI I digit and save the result in FILLER. Call STOFIL to place the
overpunched code back in the field.

PAGE NO. _6_2_2_

AA5641

'.INTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S__________~________________________~___________________
PROGRAMNAME ____R_S_Q~-__R_e_s_e~q_u_e_nc__
in~g~P_r_o~g~r_a_m___________________________________________L_e_v_e_I___
6

VR - If there is variable recording specified on the MTF and on the field
trailing zeroes and leading blanks are suppressed: on upper, lower and
alpha fields, the field is scanned from the end for blanks. For each
blank END is decremented. On numeric and signed numeric fields, the
field is scanned from the left.
For each zero, BEG is incremented. In both cases, when a non-zero or
non-blank character is found, control goes to TRANSF. When BEG = END
(field completely, blank or zero), control goes to MRKCHK.
Fill character (performed only if variable recording was not specified)
is done by first checking for a fill character in the format. If there is
not one, control goes to TRANSF. If there is one, the character is saved
in FILLER. IFON is called; then leading zeroes in Nand S fields and
trailing blanks in A, Land U fields are replaced with the fill character
through successive calls to STOFIL.
TRANSF - Starting with BEG, load a character to A with GETCH, save it in
ATT/CURCH, store it in the TRB using SBY~E, increment ATT/RCNT and BEG
and repeat. When BEG = END + 1, continue to MRKCHK.
MRKCHK - If variable recording is specified, transfer a field separator
code to the TRB (if the recording code is BDC, use a special field
separator); and increment ATT/RCNT.
Re tu rn to ca 1I er •
Subroutine IFON.
Flags a format in the table at the end of the EODl buffer as one requiring
a ca 1I to RS Q.
Subroutine GETCH - loads the character indicated in Q from the input buffer
(SST/STEMP + 2 indicates the address of the first data word in the record)
Subroutine STOFIL - stores the character in FILLER back into the input
buffer at the position indicated by PTR.
INTERFACE
1•

Er~TRY

METHOD

RSQ is an overlay of the WBT supervisor function, called by ENTPRG when
requested by MTFMON.
2.

I NPUT PARAMETERS OR COND IT IONS
I = current ATT address
ATT/INBUF contains the address of the WBT input buffer
ATT/REL contains relative address within the ihput buffer of the
record to be processed.
ATT/MTCA + 1 contains program index of caller.

PAGE NO.

AA5641

623

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_YB_E_R_D_A_TA__I_M_s________~__________________________~________________
PROGRAMNAME ___R~S~Q__-_R~e~s~e~g~ue~n~c~i~n~g~P~r~o~g~ra~m~_________________________________L~e~v~e~1_6~__

3.

EX IT t~ETHOD
Release the program and load next overlay by call ing ENTPRG with
Q = (ATT/MTCA + 1).
A = 0 for a normal exit
A = 3 for an abort exit

4.

OUTPUT PARAMETERS OR CONDITIONS
I = current ATT address
The processed record is contained in the TRB

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a. LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
SST ($47)
b. SST
CFFA (12)
STEt1P (20)
SBYTE ($95)
GFCORE ($9D)
ENTPRG ($9E)
EXDFUN ($9F)
RELFOR ($AD)
CAM ($AE)
WAIT ($BO)
c.

ATT
CURCH (2)
RCNT (4)
INBUF (5) - base address of input buffer
ATRB (f»
PFBA (7)
REL (8)
- relative address of start record within input buffer
FMTNO (13)
RFA (14)
MTCA (46)
ATEMP (73)
NFLDS (ATEMP +1)
CHRPTR (ATEMP + 2)

PAGE NO.

AA564t

624

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__I_M_S__________~_____________________________________________
PROGRAM NAME

d.

e.

2.

RSQ - Resequenc i ng Program

Leve 1 6

Mag tape communication area (MTCA)
EODADR (MTCA + 2)
MGT (MTCA + 3)
CONSTANTS
Field separators
ASCSEP ($lC)
BCDSEP ($23)
ASCZEP ($7B)
overpunch constants
ASCZEM ($7D)
BCDZEP ($3 F)
BCDZEM ($21)
PLSADD ($10)
MNSADD ($19)
EODLNG (40)
EOD buffer length

PROGRAM DEPENDENCIES
SBYTE (GSE) - Stores a character into the TRB.
GFCORE - Loads a format into memory.
ENTPRG - Called to pass control back to MTFMON
EXDFUN (ENTPRG) - Releases the program.
RELFOR (GFCORE) - Releases the TRB area.
CAM - Called to request a larger TRB
WAIT (ENEXSR) - Delays processing for one clock cycle.
SETMOV (ENEXSR) - Allows program to move.
PRTMSG (SUPER) - Prints memory full error message.

,

3.

DATA AREAS USED
ATT - active terminal table
TRB - terminal record buffer
INBUF - WBT input buffer
MTCA - mag tape communication area
EOD1 - format stack
MTF - mag tape format description

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
187 16

2.

= 39 110 ,

RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Not reentrant.

PAGE NO.

AA5641

625

'tiNTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~I~M~S

•

PSSD

•

SOFTWARE DOCUMENT

__________~________________________~___________________

PROGRAMNAME __~R~S~Q__-~Re~s~e~g~u~e~n~c~i~n~g~P~ro~g~r~a~m~___________________________________________________~L~e~y~e~l~6
ANALYTICAL SUPPLEMENT
The EOD1 system label buffer has ten extra words at the end for a format
stack. The stack works as follows:
For each record processed, MTFMON scans the last nine words in the stack for
a matching format. If the format number is not in the stack yet it is placed
in the next available entry (the first of the ten words points to the latest
entry in the stack). When RSQ is called, and one of the RSQ functions is
required for this format, bit 15 on the stack entry is set. Otherwise, the
entry is left as it is. Next tIme MTFMON searches the stack for this format,
if bit 15 is set, RSQ is called; otherwise, the call to RSQ is skipped. If
the stack overflows (more than nine formats in a WBT call), the stack is
effectively cleared and started over,

PAGE NO. _ _
6_26_

AA5641

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBEROATA 111S
PROGRAMNAME __________________________________________________________________________
RTB - Return to Basic node and Return to Document
Level __
6
DOCUMENT CLASS

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
The RTB function is called whenever an exit was made from Entry mode
to Read mode or from Verify mode to Read mode, and the operator wants
to return to the previous basic mode. ATT is restored and pointers
are updated to reflect the old status (possibly changed during READ).
It also returns control to the last document used.

2.

DETAILED DESCRIPTION
RTB makes itself movable in memory, by the SEn~ov routine. Word 2
of ATT is inspected for pure READ mode (bit 9 = 1, all the other bits
8 to 15 are 0). If pure read, next step is at OK. Otherwise, check
if current mode is Entry (bits 3-9 = 3). If not, an error message is
issued (return to document is allowed only in Entry mode). When return
to document was intended, SW1-Bl0 is checked. If zero (current record
is already part of the document), an error message is issued. Same
error occurs if character count in current record (ATT'" W4) is not 0
(not beginning of record), or if the document number (ATT - W17) is O.
RTD: When return-to-document function is detected, the current format
(ATT - W23) is obta i ned through the GFCORE rou tine. Bits 10 and 3 of
SW1 are zeroed; If current format is inactive, bit 3 is set again, the
format released (by the RELFOR routine), the format number, document
number and beginning-of-field are displayed on the header and the RTB
function is terminated by passing control to CLRSR. Else, the new
document and format numbers are displayed, and exit is to CLRSR.
OK: If here, the RTB instruction was OK. SWl is checked and if necessary
(b i t 13 i s s7it,LJ~Q:.es:; record is wr i tters. The disk addr s s of the bas i ~
mode record/Is transferred to the ~B. and the record 7
IS read.
The field
count is cleared, the relative addr~ss to the first field is set to 4
(ATT - W14). rf a search buffer was assigned, the search buffer is '
released" (by RELFOR), If the actual format is not the basic mode format,
the last one 'is read into cor~, the current format field address (in S$T)
is set to point to the last field definition in FMT (the pofnt where an
exit to READ was made). The character count in cJrrent record (ATT - w4)
is set to the character count in basic mode (ATT - W15) and if it is 0,
control passes to BOR (beginning of record). Otherwise, a loop (Up) checks
the current position in the record against the format fields (could be
changed while in READ mode). The ATT - WJ4 is incremented accordingly
each time a field is checked;
for the last field
in format (ending after
I
the current position) the character count is updated to the difference
between current position and begi'nning of that-field.

PAGE NO.

AA5641

_6_2_7_

'IINUD IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_OA_T_A__I_M_S__________~_____________________________________________
PROGRAMNAME __~R~T~B__-~R~e~t_u~r_n~to__B~a~s~ic~M~o~d~e__a_n_d~R~e~t_u_r_n~to~O_o~c~u~m~e_n_t~__________________~L~e~v~e~1~6

If it is 0, BaR receives control. Else, SW2 - bit 13 is reordered.
If no counters are needed, go to BaR. If they are needed, the record
count (ATT - W4) is set to include current field (if in middle of field,
record count points now after it). The character count in current field
(ATT - W3) is set to the maximum field length. The 2 counters I signs
(obtained from FMTPAR) are reordered and the current field value is
added (or subtracted) from the corresponding counters, so the inverse
action at reval idation time (at the field's end) will keep the counters
at their correct value. The field counter and record counter are restored.
BaR: By the STTYPE routine, the data type for current field is set in
ATT. If bas i c mode is ver i fy or record count is a then SW2 - B9 is
cleared, and control passes to CaNT. Else, if in Entry mode and the
record count is not 0, the next free disk address is set to point to
the current disk address so the complete record will be written in the
same place as the old one. SW2 - B4 is set and bit 9 is checked. When
set, control passes to CaNT. Else, the ~vailable number of words in
track (ATT - WB) is increased by the current record length + 5.
(~-

r ' 'r

CaNT: SW2 - B11, is checked. If not, SETIOK receives control. Else, if
the record count is not a or basic mode is Verify, go to OUT. Record
count a and basic mode Entry, causes Swl - B2 to be set.
SETIOK:

The 10K bit (ATT-W2-B14) is set.

UUT: The current mode (ATT-W2-B14) is set to the basic mode. If it was
Read of Entry, exit through DISP (and by REGEN the screen is regenerated
according to the ATT) and then CLRSR. If current mode is Verify, then
ATT - w24 is set to the value of ATT - W2 (indication for VMM2 if
regenerating is required or not) and if no forward motion is needed
(end of batch) exit as in ENTRY. Otherwise, EXOFUN releases the RTB
function and control passes to VMM2 to continue verify.
INTERFACE
1.

ENTRY METHOD
RTB is entered by MPC through ENTPRG.
Call ing RTB module from disk.

2.

INPUT PARAMETERS OR CONDITIONS
I

= current ATT base address.

PAGE NO. _6_2_8_

AA5641

.. tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__II_~S__________~____________________________________________
PROGRAMNAME ____R_TB__-__R_e_tu_r_n__t_o_B_a_s_i_c__
t~o_d_e__
a_nd__R_e_t_u_r_n_t_o__D_o_cu_m_e_n_t___________________L_ev_e_1___
6

3.

EX IT r~ETHOD
If not returning to entry, exit to VMM2 after EXDFUN, and search next
field to verify.
If Entry, reset screen to old status and exit to dispatcher.
If not returning from READ or illegal document number, exit to ERROR.

4.

OUTPUT PARAMETERS OR CONDITIONS
(I) unchanged.
ATT updated to reflect the current mode (basic mode, possibly effected
by changing formats while in READ).
SWl and SW2 changed accordingly.

ASSEMBLY CHARACTERISTICS
1.

EQUATES

a.

LOCORE
LPMAS K (2)
ONEBIT ($23)
NZERO ($12)
ZROBIT ($33)
ZERO ($22)
SST ($47)

b.

ATT equates
ATEMP (73)
CMODE (2) \
FCNT (3)
BMDA (1 7)
DOCNO (17)
RFA (14)
BRCNT (15)
ASRCH (28)
CFFA (12)
SW 1 (19)
RCNT (4)
CURDA (9)
DOCFMT (7)
BFt~TNO (7)
PFBA (7)
SWITCH (24)
STEMP (20)
SW2 (10)
ATRB (6)
NDA (11)
AVLTK (8)
FMTNO (13)
BMOD E (15)

AA5641

PAGE NO.

629

I'II!INHO IN THi USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_BE_R_D_A_TA
__I_M_S________~__________________________~________________

RTB - Return to Basic Mode and Return to Document
Level __
6
PROGRAMNAME __________________________________________________________________
c.

TRANSFER VECTOR
EXDFUN ($9F)
ERROR ($96)
REWRIT ($A4)
READN ($A6)
CLRSR ($93)
GFCORE ($9D)
RELFOR ($AD)
DISP ($AO)

2.

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
a. EXTERNALS
SETMOV
VMt12
DBOF
STTYPE
DDOC
COUNT
REGEN
DFMT
FMTPAR
b. TRANSFER VECTOR

4.

DATA AREAS USED
ATT
FBA
SST
FMT
TRB
Search Buffer

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
D4 16 = 212 10 words.
2.

RELOCATION TYPE
Run anywhere, loader, relocatable.

3.

ENTRANCY CLASSIFICATION
Reentrant.
PAGE NO.

AA5641

630

PRINTED IN 'HE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __S~C~A_N~V________________________________________________________________
PROGRAMNAME __~S~c~a~n~ln~t~e~r~r~o~g~a~t~e~B~u~f~f~e~r~f~o~r~n~e~x~t~c~h~a~ra~c~t~e~r~Q~r-un~lJm~b~e~r_______________________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
SCANV has 3 entry points:
GETALP extracts the next character from the Interrogate buffer.
GETBIN extracts characters up to a comma or EOR, and converts them
to a binary number.
GETCOM scans the Interrogate buffer for a comma, EOR, or non-space
cha racter.

2.

DETAILED DESCRIPTION
a.

GETALP
1.

(GETALP).
•

2.

If character is EOR ($FF) exit to caller with (A)
and (Q) = $FFFF.

=

$OOFF

Mask off bi t 7 of character.

(CHECK).
•

If character code is not in the range $20 - $5F, increment
SST/STEMP by 1 (character count) and exit to caller with
(A) = $FFFF and (Q) = $FFFF.

•

If character is a comma ($2C), increment SST/STEMP by 1
(character count), and exit to caller with (A) = 0 and (Q)

•

For any other code in the range $20 = $5F, increment SST/STEMP
by 1 and exit to caller with (A) = input character code and
(Q)

b.

Get next input character in A and Q registers.

=

= O.

1.

GETBIN
1.

(GETBI N).

2.

(LOOP) .

Set SST/STEMP + 2 = 0 (Binary resul t)
Ca 11 GETALP to get next input cha rac ter.

=

•

If next character is a comma, exit to caller with (A)
Binary result, and (Q) = O.

•

If next character is EOR, exit to caller with (A)
result, and (Q) = $FFFF.

•

If next character is not a valid ASCI I character, exit to
caller with (A) = $FFFF and (Q) = $FFFF .

. PAGE NO.

= Binary

631

'tiNTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~S~C~A~N~V

PROGRAM NAME

•

PSSD

•

________________________________________________________________

Scan Interrogate Byffer for next cha racter
3.

SOFTWARE DOCUMENT

or number

(CONVT). If next character is a space ($20), call GETCOM
to scan interrogate buffer for EOR. If a non-space character
intervenes, exit to caller with (A) = $FFFF and (Q) = $FFFF.
If not, exit to caller with (A) = Binary result and (Q) = $FFFF.

4.

c.

(NOTSPC). If next character is not in the range 0-9 ($30-$39),
exit to caller with (A) = $FFFF and (Q) = $FFFF. Add next
digit to binary result as follows: lOX (Binary result) + (next
digit) + Binary result. If overflow occurs (Binary result
exceeds 32, 767) exit to caller with (A) = $FFFF and (Q) = $FFFF.
If not, repeat from step 2.
GETCOM
1.

(CMLOOP). Call GETALP to extract the next character from the
Interrogate buffer.
o

If it is a comma, exit to caller with (A) = 0 and (Q) = o.
If it is not a valid ASCI I character, exit to the caller with
(A) = $FFFF and (Q) = 1.

•
•

If it is EOR, exit to caller with (A) = $OOFF and (Q) = $FFFF.
If it is a space ($20), repeat step 1.

•

Otherwise, exit to caller with (A) = next character and (Q)

•

=

1.

INTERFACE
1.

ENTRY METHOD
a.

GETALP
EQU
GETALP ($93)
RTJ
GETALP
---Return---

2~

b.

GETBIN
EQU
GETBIN ($99)
RTJ
GETBIN
---Return---

c.

GETCOM
EQU
GETCOM ($9C)
RTJ
GETCOM
---Return---

INPUT PARAMETERS
(I) = Base Address of Active Terminal Table (ATT)
SST + STEMP = Character Count in Interrogate Buffer.
. PAGE NO. _632
__
,tINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __s_C_A_NV_____________________________________________________________
PROGRAMNAME __~Sc~a~n~l~n~te~r~r~o~ga~t~e~B~u~ff~e~r~f~or~n~e~x~t~c~h~a~r~ac~t~e~r_o~r~n~u~m~be~r~____________________

3.

EXIT METHOD
a. GETALP
(A) = $FFFF and (Q) = $FFFF
(A) ='$FF and (Q) = $FFFF
(A) = 0 and (Q) = 0
$20 ~ (A) <$60 and (Q) =
b. GETBIN
(A) = $FFFF and (Q) = $FFFF

Error:

Non-ASCII character

EOR
Comma
(A) = ASCII Character
Error: Non-numeric character,
or binary value not in the range
o - 32767.
EOR: (A) = Binary number
Comma: (A) = Binary number

(A) ~ 0 and (Q) = $FFFF
(A) ~ 0 and (Q) = 0
c. GETCOM
(A) = $FFFF and (Q) = 1
(A) = $FF and (Q) = $FFFF
(A) = 0 and (Q) = 0
$20 < (A) < $60 and (Q) = 1

Error: Non-ASCI I character
EOR
Comma
Non space character

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a.

b.
c.

2.

LOCORE
LPMASK (2)
TEN ($46)
SST ($47)
SST
STEMP (20)
ATT
AINT (27)

MACROS USED
None

3.

PROGRAM DEPENDENCIES
None

. PAGE NO.

633

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __S_C_A_N_V______________________________________________________________
PROGRAM NAME

4.

Scan Interrogate Buffer for next character or number

DATA AREAS USED
SST
System Status Table
ATT
Active Terminal Table

PHYSICAL CHARACTERISTtCS
1.

MEMORY SPACE REQUIREMENTS
52 = 82
16
10 words

2.

RELOCATION TYPE
Core resident, Loader Relocatable

3.

ENTRANCY CLASSIFICATION
Reentrant

. PAGE NO.

634

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S__________~_______________________________________________
PROGRAMNAME ____S_D_M_Y_-__S_u~p_e_r_v_i_so_r__D_u_m_m~y__
Fu_n_c_t_i_o_n__________________________________~L~e~v~e~1~6

PROGRAt1 FUNCTION
1. GENERAL DESCRIPTION
SDMY is the dummy program for supervisor functions.
2.

DETAILED DESCRIPTION
SDMY jumps to SUPER (REJSUP) with A register containing error code

33 (undefined command).
INTERFACE
1.

ENTRY METHOD
SDMY is a disk resident program loaded by ENTPRG after a supervisor function
has been requested.
ENTPRG finds out that the program to execute this function is not on disk and
a call is made to load SDMY.

2.

INPUT PARAMETERS OR CONDITIONS
None.

3.

EXIT METHOD
Program exits by calling REJSUP (SUPER) with no return.

ASSEMBLY CHARACTERISTICS
1.

EQUATES
SST
REJSUP ($B2)

2.

PROGRAM DEPENDENCIES
SUPER (REJSUP calls PTTMSG to print error message).

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE

7 10 words.
2.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO. 635

AA5641

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_D_A_TA
___
IM_S__________~__________________________~___________________
PROGRAMNAME ____S~E~T__-__S_e_t__a__C_o_u_n_te__
r _________________________________________________~L~e~v~e~1~6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
SET processes the SET, M, XXX ••• XS command, where M is a batch counter
number from 1 to 7, XXX ••• X is a value up to 15 digits long, and S is
a + or - sign. (If the sign is missing it is assumed to be a positive
number) •
The value is packed, 4 digits to a word, in the corresponding batch
counter area in the Active Terminal Table (ATT).

2.

DETAILED DESCRIPTION
a.

b.

c.

(SET).
•

I f the character is not a comma, go to's tep f.

•

Call GETBIT to extract the next input field and convert it to a
binary number.

•

If the field is not terminated with a comma, go to step f.

•

If the number is not in the range 1-7, go to step f.

•

Use the number to calculate the relative position of the batch
counter in ATT.

•

If the current value of the designated batch counter is not zero,
go to step f.

(NEXTC) •

Ca 11 GETALP to get next input character.

•

If comma or an invalid character was input, go to step f.

•

If End of Record was detected, go to step g.

•

If the character is not a sign, go to step d.

•

If plus sign was input, go to step c.

•

If minus sign was input, set value of bits 12-15 of first word in
batch counter to $F.

(CEOR).
•

d.

Call GETALP to get the 4th character in the input string.

Call GETALP to get field terminator character.

If field is terminated by End of Record, go to step g.

•
If not, go to step e.
(CHECON). If the character is not a digit, go to step e.
•

Insert the digit into lowest 4-bit field of batch counter, shifting
other dig its one pos i t i on to the 1eft •.

•

If there was not an overflow to the M.S.P., repeat from step b.

PAGE NO.

AA5641

_6_3_6_

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__
IM_s________~____________________________________________
PAOGAAMNAME __~S~ET~-~S~et~a~Co~u~n~t~e~r__________________________________________~L~e~v~e~l~6

e.

(EXIT~R).

f.

(ERR). Set ATT/SW1/8 = 1 (Reset must regenerate display), and exit
to ERROR with (a) = $13 (ILLEGAL PARAMETER).

g.

(EXIT). If value of batch counter is zero, go to step f.
•
Call DISP to regenerate display.
•
Exit to CLRSR.

Set the batch counter to zero.

INTERFACE
1. ENTRY MODE
SET is a disk-resident program which is called via ENTPRG.
2.

INPUT PARAMETERS OR COND IT IONS
(I) = Base address of Active Terminal

3.

EXIT METHOD
Normal exit is to CLRSR.
Error exit is to ERROR.

4.

OUTPUT PARAMETERS OR CONDITIONS
(I)

=

Table (ATT).

Base address of ATT.

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
LPMASK (2)
NZERO ($12)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
CLRSR ($93)
ERROR ($96)
GETBIN ($99)
GETALP ($9A)
DISP ($AO)
b.
c.

SST
STEMP (20)
ATT
SW1 (19)
COUNT (36)
PAGE NO.

AA5641

637

....."." ,... , ...

11<.

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
SET -Set a Counter
Level _6
PROGRAMNAME ______________________________________________________________________
DOCUMENT CLASS

d.

EXTERNALS
REGEN

2.

Parameter for DISPLY to regenerate the display.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
ENEXSR
GSE
DISPLY

4.

(CLRSR)
(ERROR)

Clear Exits stack and go to dispatcher.
Display error code and terminate the function.
Regenerate the display.

DATA AREAS USED
SST
ATT

System Status Table
Active Terminal Table

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
58

2.

16

= 88 10

words.

RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant code.

PAGE NO.

AA5641

_6_3_8_

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y~B~E~R~D~AT_A__I_M_S__________~__________________________~___________________
PROGRAMNAME __~S~K~I~P~KY~-~S~k~iLP~Ke~y~______________________________________________~L=e=v~e~1~6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
SKIPKY is a disk resident routine, loaded and executed when skip key
is entered.

2.

DETAILED DESCRIPTION
SKIPKY calls first SETMOV to clear the program header I/O bit.
SKIPIT is called to process automatic filling for auto fields and
checks if SKIP key is legal when accepted. On return t further actions
are taken according to the mode and the position in the record.
a.

Read mode:
If not at end of record BOFFE is called for updating to next field.
Field count is set to zero and next field is displayed. If end of
data has not yet been reached, SKIPKY exits through CLRSR; else it
exits to ERROR with error code $7.
If End of Record, check if record should be written to disk and if so,
call REWRIT (in PIO). If basic mode is Entry and End of Data was
reached exit to SETNFM. If not yet EOD, read next record via READN
and if different format, get new format, set pointers to format
field address, set data type in ATT, and display new field.
If basic mode is Verify check if last in batch and exit to ERROR
if so, else get next record and continue as in case of basic mode
= Entry.

b.

If not Read mode, and right zero fill is specified in format, special
display is done according to parameters set by CALCDS in SKIPIT.
After the function is released by EXDFUN, SWl bit 9 is checked. If
it is set the function will exit to EMMSKP. else SKIPDY exits according
to mode: In Entry and Pseudo Entry to EMMl (in EMM).
In Verify and Pseudo Verify to ENDOF1 (in VUM).

Internal subroutine:
TSTEOD - Tests end of data in Read mode, by comparing number of records to
number of records in read, and no. of characters in record to no.
of char. read in record.
On exit A=O indicates end of data.

PAGE NO. _6_3_9_

AA5641

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__
IM_s________~__________________________~________________
PROGRAMNAME __~S~K~IP~K~Y__
-~S~k~i~p_K~e~y____________________________________________~L~e~v~e~1~6

INTERFACE
1 • ENTRY METHOD
SKIPKY is loaded via ENTPRG.

It has only one entry point SKIPKY.

2.

INPUT PARAMETERS OR CONDITIONS
I = current ATT base address.

3.

EXIT METHOD
If Read mode - if end of data =
RT J(EXDFUN)
JMP+
(SETNFU)
if not end of data JMP(CLRSR)
If not Read and SW1-B9 is set -

RTJJMP+

(EXDFUN)
EMMSKP

RTJJMP+

(EXDFUN)
EMM1 (entry point in EMM)

RT J-

(EXDFUN)
/
EN D 0F 1 ( en try poi ntin VMt1)

If Pseudo Entry or Entry-

If Pseudo Verify or VerifyJ MP+

4.

OUTPUT PARAMETERS OR CONDITIONS
I = current ATT base address.

ASSEMBLY CHARACTERISTICS
1 • EQUATES
a. LOCORE
LPHASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
GFCORE ($90)
CLRSR ($93)
REWRIT ($A4)
DIS PLY ($A 0)
READN ($A6)
ERROR ($96)
EXDFUN ($9F)
SST ($47)
PAGE NO.

AA5641

640

PRINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~I~M~S__________~__________________________~_________________

PROGRAMNAME __~S~K~I~P~KY~-~S~k~i~p~K~ey~______~______________________________________~L~e~y~e~l~6
b.

SST
CFFA (12)

c.

ATT
SW,l (19)
SW2 (20)
BRCNT (15)
RCD (32)
RCDRD (31)
FMTNO (13)
ATEMP (73)
ATRB (6)
PFBA (7)
RFA (14)

2.

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
EMM1
EMM
EMMSKP BOFFE
STTYPE SKPDUP

SKIPIT -

SETMOV
DI SPLY

EMM entry point for val idation at End of Field.
Set IDK and SKIP conditions.
Updates FFA and RFA, increases field no., and puts
data type in the ATT.
Extracts data type from format and puts it into ATT.
Processes automatic fill ing for alpha and numeric
fields, and updates pointers for data.
Clears the program I/O bit, and sets relative bit
for add ress i ng.

DSKUP
DSKPR

-

Display manual SKIP/DUP
Entry/Verify Mode
Display SKIP Read Mode.

GFCORE

Load a new format to core.

CLRSR

Clear stack and exit to dispatcher.

PIO

REWRIT READN
SETNFM -

Rewrite record to disk.
Read next record in batch.
Set SW2 ~ G11 for Ino forward motion l

ERROR

Display error message at'terminal.

EXDFUN

Release disk resident function.

PAGE NO.

AA5641

•

641

PRINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~BE~R~D~A~T~A~IM~S~

•

PSSD

•

SOFTWARE DOCUMENT

______~__________________________~________________

PROGRAMNAME ____
SK_I_P_K_Y_-_ _S_k_i_p_K_e_y_____________________________________________L_e_ve_1___
6

4.

DATA AREAS AND SYSTEM TABLES USED
SST
ATT
FMT

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS

= 113 10 words.
16
RELOCATION TYPE

71
2.

Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.
AA5641

642

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S__________~_______________________________________________
PROGRAMNAME ____S_K_P_D_U_P_-__P_e_r_f_o_r_m__
A_u_to_m_a_t_i_c__F_i_l_l_i_n~g_f_o_r__F_i_e_l_d_s________________________L_e_v_e_1___
6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
SKPDUP has 7 entry points:
SKIPIT blank fills or zero fi lIs a variable field according to data
type and user option. If a fixed field has not been filled, a diagnostic
message is displayed. SKIPIT also suppl ies a plus sign (+), if no sign
is entered in a signed numberic field.
DUPIT adjusts counters in the Active Terminal (ATT) to point to the end
of the current field.
RELIT advances through the remaining fields in the current format,
performing end of field validation as required for each field.
VALID is the entry point used by IDKCH if the RELEASE key is used at
the end of a boundary check field.
TSTEOR is used by ERRKEY when automatic error flagging is performed
during the process of completing a record with the RELEASE key.
EOBIT executes the End of Batch own code routine specified by the
user; then returns to the EOB procedure.
CALODS calculates the current address in the Terminal Record Buffer (TRB) ,
and the number of words remaining in the current field.

2.

DETAILED DESCRIPTION
a.

SKIPIT
1)

Call ENTSR to save return address in exit stack.
If ATT/SW1/2 = 1 (first character of record is next)
call BORENT to perform beginning of record processing.

2)

If ATT/MODE/12 = 1 (Pseudo Verify mode), go to step 19.
If ATT/MODE/13

= 1 (Pseudo Entry mode), go to step 3.

If ATT/MODE/9 = 0 (Verify mode), go to step 19.
If ATT/MODE/8
3)

(ENTRY).

0 (Read mode), go to step 15.

If keying mode is variable, go to step 6.

If ATT/FDTP/13 = 0 (not signed numeric field), go to step 4.
If positioned at last character in current fields, go to step 5.
4)

(ERRORF). Set Q = 4 and call ERROR to·display error code A4
(Illegal Function key) and exit.

5)

If current character is not a sign, go to step 6. If not
boundary check field, go to step 6. Toggle ATT/SW1/9 (skip
key must be next).

PAGE NO.

AA5641

643

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__I_MS__________~__________________________~__________________
PROGRAMNAME ____S_K_PD_U_P__-__P_e_r_fo_r_m__A_u_t_o_m_a_t_ic__F_i_l_l_i_n_g_f_o_r__F_i_e_l_d_s_______________________L_e_v_e_l_6_

6)

(VARY). If ATT/FDTP/13 = 0 (unsigned numeric field) go to
step 8. If ATT/CURCH/0-7. If not, set ATT/CURCH/0-7 = plus
sign (+).

7)

(STORE). Call SBYTE to store sign"character in Terminal
Record Buffer (TRB). Increment ATT/FCNT by 1 (character
count in current field), increment ATT/RCNT by 1 (character
count in current record). If positioned as first character
of field, go to step 8. Call DISPLY to display current
column and character.

8)

(NOSIGN). If field is full, call EXTSR to exit. If ATT/FDTP/15 = 0
(field type =Lower or Alpha), go to step 9. If ATT/FDTP/14 = 0
(field type = Upper), to to step 9. If blanks in numeric field
and at beginning of field, go to step 9. Otherwise (Field type =
Numeric or Signed numeric) use zero fill character ($30) and go
to step 10.

9)

(ALPHA).

10)

(TEST).

Use blank fill character ($20).
Save fill character in ATT/ATEMP = 1.

PAGE NO.

AA5641

644

rRINTED IN THE us"

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__I_M_s__________~_____________________________________________
PROGRAMNAME __~S_K_PD_U_P__-__P_e_r_fo_r_m__A_u~t_o_m~a_t_ic__F_i_l_l_i_n~g_f_o_r__F_i_e_ld_s______________________~L~e~v~e~l~6

Set ATT/ATEMP + 2 = 0 (Fill character count).
Set ATT/MISCH = 0 (Mismatched character), clear IDK bit, and
if fixed keying field, check for signed numeric. If ATT/SW2/15 = 0
(no nonzero characters entered yet), go to step 22. If blank fill,
go to step 20. If auto function = R or L, go to step 22. If
ATT/FDTP/13 = 0 (Field type = Lower, Alpha, Upper, or Numeric)
go to step 21. If ATT/FDTP/13 = 1 (Field type = Signed Numeric)
go to step 22.

= N, D, S, or F, go to step 22.

20)

If Auto Function

21)

(ERF) . Go to step 4.
(TSTLOP). Calculate number of characters left in field. If
field full, go to step 23. If not full, go to step 24. If
character count exceeds field capacity, set ATT/SW1/9 = 0 (skip
need not be next), and call EXTSR to exit.

22)

=0

(Field type = lower, Alpha, Upper, or Numeric),
Set ATT/CURCH/0-7 = plus sign. Save plus sign in

23)

If ATT/FDTP/13
go to step 24.
ATT/ATEMP + 1.

24)

(TSL1). Call GBYTE to get next character from input string. If
it matches go to step 26. If ATT/SW1/5 set, move back to
beginning of field and go to step 21. If blanks in numeric field
specified, go to step 21.

25)

(OUT). Set (Q) = ERRAS5 and call ERROR to display error code AS
(mismatched character) and exit.

26)

(INCRF). Increment ATT/FCNT, and ATT/ATEMP + 2 by
from step 22.

27)

(LEFTZ). If ATT/FCNT, = 0 (Field empty), go to step 12. Save
($7FFF- (ATT/FCNT/0-7) + 1) in SST/STEMP + 1 (number of characters
in field in overflow counter form). Save (ATT/RCNT) - (ATT/FCNT/
0-7 + 1) in ATT/ATEMP + 3 (First character position in field in
SST/STEMP + 2 and SST/STEMP + 3. Decrement ATT/RCNT by 1
(Character count in record). Save ATT/MODE in ATT/ATEMP + 2.

28)

(MOVLOP). Align field to right. Call GBYTE to get last character
in input buffer. Call SBYTE to store the character in right-most
position of field. Adjust input and output pointers one position
to the left and repeat from MOVLOP until all characters entered
in the fie 1d have been moved to the right.

PAGE NO.

AA5641

and repeat

645

"INTEO IN THE USA

CONTROL DATA CORPORATION
CYBERDATA IMS
DOCUMENTCLASS ______________________

~

•

PSSD

•

SOFTWARE DOCUMENT

____________________________

~

__________________

SKPDUP - Perform Automatic Filling for Fields
Level _6
PROGRAMNAME __________________________________________
--------______________________

29)

(CONT).

Set ATT/MODE

30)

(Up). Insert fill character to the 1eft of entered character
until the field is full. Restore ATT/MODE and set ATT/RCNT
to end of field. Call EXTSTR to exit.

=

fill character.

b.
1)

2)

Set SST/STEMP = Current address in Terminal Record Buffer (TRB).
Set SST/STEMP +
= $8000 if current byte position is bits 8-15.
Set SST/STEMP + = $0000 if current byte position is bits 0-7.
Set ATT/ATEMP + 3
Current address in TRB. Exit to caller.
Set ATT/ATEMP + 4 =

I

15
P

o

14

N

where:
P (bit 15)

=0
=

if current byte position is in bits 0-7.
1 if current byte position is in bits 8-15.

N (bits 0-14) = Number of character positions remaining
in field.
c.

d.

DUPIT
1)

Call Caldos to calculate current address in Terminal Record
Buffer (TRB) and number of character positions remaining in
current field.

2)

Advance ATT/RCNT and ATT/FCNT to end of current field.
Ex it to ca 11 er .

REL IT
1)

e.

Call SKIPIT to finish processing current field.

VALID
1)

Set ATT/SW2/6 (release in operation).

2)

If ATT/MODE/9 = 0 (VERIFY Mode) go to step fl.

3)

Call VALDTE for end of field processing (nonzero test, limit check,
special test, own code, batch counter update).

4)

Continue at step fl.

PAGE NO.

AA5641

646

PlINUO IN THe USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS

DOCUMENTCLASS ______________________~__________------------------~-----------------PROGRAMNAME ________________________________________________________________________
SKPDUP - Perform Automatic Filling for Fields
Level _6

f.

g.

TSTEOR
1) Clear ATT/SW1/15 (Cont needed reset) and ATT/SW2/15 (List
nonzero flag).
2)

If last field in format, go to step 8. If not, call BOFFE
to update SST/FFA, ATT/RFA, ATT/FLDN, and ATT/DT for next field.

3)

If ATT/BMOD/13 = 1 (Entry mode) go to step 6. If not, call
CHKVRY to check if current field is verifiable. If not
verifiable, go to step 5. If sight verify, set ATT/SW1/5 = 1.
If not verifiable, go to step 5.

4)

Set ATT/FCNT/O-7 = 0 (Character count in field).
at step d1.

5)
6)

(NOTV). Update ATT/RCNT to end of current field. Repeat from step 1.
(ENTRY 1). Call AUTO to perform auto skip/dup, if called for.
Continue at step 1.

7)

(ENDREC). Clear ATT/SW2/6, if ATT/MODE/9 = 0 (Verify mode) exit
to EORTST. If ATT/MODE/9 = 1 (Read or Entry mode) exit to TSTODD.

Continue

EOBIT
1) Call ENTPRG to load and execute End of Batch own code.
2)

Call ENTPRG to load and execute EOB.

INTERFACE
1.

ENTRY METHOD
SKIPIT, DUPIT, AND CALSDS are called by the RTJ instruction.
RELIT, VALID, TESTEOR, and EOBIT are entered by JMP instructions.

2.

INPUT PARAMETERS OR CONDITIONS
(I) = Base address of Active Terminal Table (ATT).

3.

EXIT METHOD
SKIPIT returns to the location immediately following the RTJ, SKIPIT
except when an error is detected, in which case SKIPIT exits via
ERROR. DUPIT and CALCDS exit to the location immediately/following
the RTJ which called them. RELIT continues processing aj VALID.
VALID co~tinues processing at EORTST. EORTST exits to;~ORTST in
Verify mode, to TSTODD in Read or Entry mode •. EOBIT exits to EOB
procedure.
/

PAGE NO.

647
/

l,

".

J'
AA5641

;'

'RINTED IN THE

us.

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_YB_E_R_DA_T_A__
IM_S________~______~--------------~------__________
PROGRAMNAME ___S_K_P_DU_P__
-_P_e_r_fo_r_m_A_u_t_o_~_t_i_c_F_i_l_l_in_9_f_o_r__
F_ie_l_ds_____________________
Le_v_e_1__
6

4.

OUTPUT PARAMETERS OR CONDITIONS
(I) = Base address or ATT.

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
ENTSR ($91)
EXTS R ($92)
CLRSR ($93)
GBYTE ($94)
SBYTE ($95)
ERROR ($96)
ENTPRG ($9E)
DISPLY ($AO)
b. SST
CFFA (12)
FFA (12)
STEMP (20)
c. ATT
CMODE (2)
MODE (2)
CURCH (2)
FCNT (3)
RCNT (4)
MISCH (5)
ATRB (6)
CURDA (9)
FDTP (13)
BMOD (15)
BRCNT (15)
SW1 (20)
RCRD (31)
RCD (32)
ATEMP (73)

PAGE NO.

AA564t

648

'tINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
DOCUMENTCLASS ______________________________________________________________________
__
PROGRAMNAME ____S_K_P_D_UP__-__P_e_r_f_o_rm
__A_u_t_"o_m_a_t_i_c_F_i_l_l_i_n~g__
fo_r__F_i_e_l_d_s_______________________L_e_v_e_1__
6

d.

ASC I I CODES
PLUS ($2B)
MINUS ($2D)

e.

ERROR CODES
ERRA4 ($4)
ERRA5 ($5)
ERRB2 ($7)

2•

MA CR0 SUS ED
None.

3.

PROGRAM DEPENDENCIES
Save return address in exit stack
ENTSR
EXIT TO LAST ADDRESS IN EXIT STACK
EXTSR
CLRSR
Clear exits stack and function locks
Get current character from Terminal Record Buffer (TRB).
GBYTE
Store character in TRB
SBYTE
Display Error code and exit
ERROR
ENTPRG
Enter a disk resident program
Display a message
DISPLY
GET A TRACK FOR NEXT RECORD
BORENT
End of field validation
VALDTE
Advance pointers to next field
BOFFE
Check for current field verification
CHKVRY
Auto skip/duplication
AUTO

4.

DATA AREAS USED
SST
ATT

System status table
Active terminal table

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
164 16 = 45210

2.

words.

RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

649

'tINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

__________~__________________________~___________________

DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~I~M~S

SOF - Supervisor Off Command
Level _6
PROGRAMNAME ________________________________________________________________________
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
SOF is a supervisor function to exit from the supervisor function
dispatching program SUPER before the time delay is over.

2.

DETAILED DESCRIPTION
a.

If not end of record after SOF command exi t to REJSUP.

b.

Moves basic input logical unit ATT/39 to current input logical
unit ATT/36. Moves basic list logical unit ATT/40 to current
list logical unit ATT/37.

c.

Calls SUPRW to output message "SV OFF" to supervisor console.

d.

If not terminal 0 (TTY), clear supervisor bit ATT/O/7. Call
DISPLY at entry point SETDIS to set display definition bits in
TOPT to IDLE (10) and exit to CLRSR. If TTY simply exit to CLRSR.

INTERFACE
1•

ENTRY METHOD
SOF is a disk resident program which is called via ENTPRG.

2.

INPUT PARAMETERS
I

3.

= current

ATT address.

EXIT METHOD
Jump to REJSUP with A = 9 if not end of record after SOF.
J urn p to CLR SR ( ENE XSR) i s no r rna 1 ex it.

4.

OUTPUT PARAMETERS OR CONDITIONS
For consoles other than 0 (TTY) the supervisor bit ATT/O/7 is
cleared and the display definition bits in the TOPT are set to
10 (IDLE).

PAGE NO.

AA5641

650

PlINTf(> IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_Y_B_ER_D_A_T_A__
IM_S__________~________________________~__________________
PROGRAMNAME ____
SO_F__-__S_up~e_r_v_i_s_o_r_O_f_f__
Co_m_m_a_n_d____________________________________~Le~y~e~l~6

ASSEMBLY CHARACTERISTICS
1• EQUATES
a. LOCORE
LPMASK ($2)
ZROBIT ($33)
SST ($47)
b. SST
STEMP (20)
CLRSR ($93)
GETCOM ($96)
SUPRW ($97)
DISPLY ($AO)
REJSUP ($B2)
c. CONSTANTS
FW (3)
2.

PROGRAM DEPENDENCIES
PIO SUPRW to output message to supervisor.
SCANV GETCOM Get comma, EOR or nonspace char. from input string
SUPER REJSUP supervisor reject procedure.
ENEXSR CLRSR common completion return.
DISPLY SETDIS to set display definition bits in TOPT. '

3.

DATA AREAS USED
SST system status table
ATT active terminal table(for basic and current logical units)

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
20 16

= 3210

words.

2.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant

PAGE NO.

AA5641

651

CONTROL DATA CORPORATION
CYBERDATA IMS
DOCUMENTCLASS ________________________

~

•

PSSD

•

SOFTWARE DOCUMENT

________________________________________________

PROGRAMNAME ____S_P_C_K_E_Y_-__S_p_a_c_e__K_e_y_______________________________________________________L_e_v_e_1__
6

PROGRAM FUNCTION
1.

2.

GENERAL DESCRIPTION
SPCKEY, called whenever the space bar
modes returns to HPC with a zero or a
type. In Read mode, ATT pointers and
next character in a record. This may
field or the next record.

is pressed in Verify or Entry
space, depending on the data
the display are advanced to the
result in an advance to the next

DETAILED DESCRIPTION
SETMOV is called, allowing the program to be moved in the FRP. The
function is checked for legal ity: if pure Read mode~ jump to RED. If
IDK -start of record (entry)
(ATT/MODE/14 = 1 and ATT/SW1/2 = 1) ~ call BORENT to initialize the
record.
If IDK - sight verify, go to FLDOK in the Read Mode Code.
(ATT/MODE/14 = 1 and ATT/SW1/S = 1)
If IDK-Mismatch (ATT/MISCH
bit.

~

0), clear ATT/MISCH, and clear the IDK

If any other IDK condition is present, exit to ERROR with Q = 4
(A4 - illegal function).
When not Read mode, the data type is checked: if the data type is L,
A or U, a blank ($20) is stored in ATT/CURCH/0-7. Otherwise a zero
($30) is saved. EXDFUN is called to release the program and control
jumps to the CHR entry point in MPC.
Read Mode (label RED): if ATT/FCNT is zero, subroutine TSTEOD is
called to test for end-of-data. If A = 0 on return, control goes to
ERROR with Q = 7 (B2-end of data).
FLDOK: ATT/FCNT and the format are checked to see if the current position
is at the end of a field. If not, ATT/RCNT and ATT/FCNT are incremented
and control passes to DSPCAL.
Otherwise if this is sight-verify, the program exits to ERROR with Q = 4.
(Can't space past end-of-field in sight verify).
For a normal Read mode end-of-field condition, ATT/RCNT is incremented.
The format is checked to see if this was the last field in the record.
If not, BOFFE is called to advance pointers to the next field, ATT/FCNT
is set to 0, and TSTEOD is called.

PAGE NO.

AA5641

_6_5_2_

'IINTED IN THE

us.

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __c_y_B_E_R_DA_T_A__I_M_S__________~_______________________________________________
PROGRAMNAME ____S~P_C_K_E_Y_-_ _S~p_a_c_e__K_e~y_________________________________________________________________L_e_v_e_l___
6

If A is nonzero on return, control goes to uSPCAL.
exits to ERROR with Q = 7.

Otherwise, the program

For an end-of-record condition, RCNT is set to zero.
REWRIT is called.

If a rewrite is required

ATT/RCRD is incremented. If the basic record count (ATT/BRCNT/O-ll)
is nonzero, control goes to GETNXT. Otherwise, if the Basic mode is
Entry TSTEOD is called. If A = 0 on return, EXDFUN is called and control
passes to SETNFM (in PIO). If the basic mode is Verify, if this is the last
record in the batch (TRB/5 is negative) exit to SETNFM.
GETNXT: Read the next record and check if the format of the new record
is the same as that of the previous record. If not, call GFCORE to read
down the new format. Set up the RFA and CFFA parameters to point to the
first field of the format. Call STTYPE to store the correct data type in
the ATT. FCNT is cleared, TSTEOD is called again and control goes to DSPCAL.
DSPCAL: DISP is called with ADC DSPACE (display space key in Read Mode).
The program exits to CLRSR.
Subroutine TSTEOD:

end-of-data is tested:

a.

Basic mode Verify: if CURDA, CURDA + 1 equal the address of the
next record (TRB/6,4) then this is end-of-data.

b.

Basic mode Entry: If ATT/RCD = ATT/RCDRD and ATT/BRCNT = ATT/RCNT
then this is end-of-data.
On exit, A = 0 indicates end-of-data.

INTERFACE
1.

ENTRY METHOD
SPCKEY is called by a jump from ENTRPG after ENTPRG was called by MPC
with function key code $20.

2.

INPUT PARAMETERS
(I)

3.

= base

address of active terminal table (ATT).

EXIT METHOD
Entry, Verify: exit to CHR in MPC.
Read, Sight Verify: exit to CLRSR (ENEXSR).
On error conditions (illegal function or end-of-data):
(GSE).

PAGE NO.

AA5f;4t

653

exit to ERROR

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __
C_yB_E_R_DA_T_A___
IM_s________~______________________~_______________
PROGRAMNAME __~S~P~C~K~EY~-~S~p~a~ce~K~ey~______________________________________~Le~v~e~1~6

4.

OUTPUT PARAMETERS OR CONDITIONS
On exit to ERROR, Q = 4 or Q = 7.

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
CLRSR ($93)
ERROR ($96)
GFCORE ($9D)
EXDFUN ($9F)
DISP ($AO)
REWRIT ($A4)
READN ($A6)
b. SST
CFFA (12)
c. ATT
MODE (2)
CU RCH (2)
FCNT (3)
RCNT (4)
MISCH (5)
ATRB (6)
PFBA (7)
CURDA (9)
DT (13)
FMTNO (13)
RFA (14)
BMOD (1 5)
BRCNT (15)
SW1
SW2 (20)
RCDRD (31)
RCD (32)

PAGE NO.

AA5641

_6_5_4_

paiNTED IN THf USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~RD~A~T~A~I~M~S

•

PSSD

•

SOFTWARE DOCUMENT

__________~_______________________________________________

SPCKEY - Space Key
Level 6
PAOGAAMNAME ____________________~--------------------------------------------------------2.

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
Exit taken when error detected
ERROR
Replaces current format with that of a new record
GFCORE Clears enter/exit stack on program exit
CLRSR
Drops user count on a function
EXDFUN Reads next record in a batch
READN
Rewrites current record to disk
REWRIT Central entry for all display calls
DISP
Index to the display routine for space key in Read mode
DSPACE Ca I 1ed to i nit i a liz e anew r ec 0 r d
BORENT Entry in MPC taken for normal Entry/Verify
CHR
Subroutine that clears I/O bit on the program and sets bit on
SETMOV the function index,
Entry in PIO taken at end-of-data condition in Read or Verify
SETNFM Subroutine in EMM that advances pointers to the next field
BOFFE
Sets field type into the ATT for the current format
STIYPE -

4.

DATA AREAS USED
ATT, TRB, FMT

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS

= 144 10 words.
16
RELOCATION TYPE

90
2_

Run anywhere, disk resident.

3.

ENTRANCY CLASSIFICATION
Reent ran t.

PAGE

AA5641

NO.

655

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS_S_P_I_L_L______________________________________________________________----PROGRAMNAME ___A_c_t_i_ve__B_a_t_c_h__T_a_b_1e__h_a_n_d_1_i_ng~r_o_u_t_i_n_e_______________________________________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
SPILL performs 4 operations on the Active Batch Table (ABT):
Locate a designated ABT entry and bring it into core,
Update a designated ABT entry,
Delete a designated ABT entry,
Insert a new ABT entry.

2.

DETAILED DESCRIPTION
a.

(SPILL). If (FLOCK) 'f: 0 (SPILL function in use), exit to STRTRY to
schedule caller's 'Busy' return address.
•

If not, set (FLOCK) = $FFFF, set (NXTB)
number), set (DISTB) = $4000

= $FFFF (next batch

•

Call ENTSR to save return address in Exits stack.

•

Get core address of Active Batch Table (ABT) and disk address
of SPILL table from Extended System Table (EST).

•
•
•

If requested function is 'Get ABT Entry' go to step b
If requested function is 'Update ABT Entry' go to step f
If requested function is ' Insert ABT Entry' go to step h.
Ca 11 GETENT to locate ABT entry for designated job. Set
If entry not located, set (OPCODE) = 0 and continue at

b.

(GETABT).
(FLOCK) =
step d

c.

(SPILL 2). Set OPCODE/0-7 = entry number in ABT, and OPCODE/8-15
Relative address on disk of ABT entry for designated job.

d.

(SPILL3).
•
•

e.

o.

=

Call RTNSR to extract the return address from the Exits stack.

If (FLOCK) ~ 0, go to step e.
Move ABT entry to caller's parameter area.

(NOTRNS).

Set (FLOCK)

= 0 and exit to caller with (A) = (OPCODE) and

(Q) = (NXTB).

f.

(UPDABT). Calculate address of designated entry in ABT:
Entry Index + ABT Address.

Address = 3 x

•

If designated entry is not currently in core, call ABTIO to read it
from disk.

•

Clear bits 0-2 of Batch track address (word 2 of ABT entry).

. PAGE NO.

656

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ______________________________________________________________________
__
SPILL
PROGRAMNAME ____A~c~t~i~v~e~Ba~t~c~h__T~a_b_l~e~h_a~nd__
l~in~g~r_o_u~t_i~n~e________________________________________

g.

h.

i.

•

If mode (Bits 13-15) of update value is maintenance, save old
mode in bits 0-2 of Batch track address.

•

Store update value in word 0 of ABT entry.

•

If update value

~

•

If update value
by 1.

=

(UPD22) .

0, go to step i.

° (Delete entry), decrement count of entries

If ABT sector is not empty, go to step i.

•

If empty ABT sector is not last sector in ABT, or is the
only sector, go to step i.

•

If empty AST sector is the last sector, but not the only sector,
call ABTIO to read the preceeding sector from disk. Set last
sector flag (Bit 15 of word 2 of sector), and repeat tests from
step g.

(INSABT). Save new entry parameters and call GETENT to scan ABT for
duplicate entry.
•

If a duplicate entry was located, go to step d with (A)

•

If ABT sector currently in core is not the first ABT sector, call
ABTIO to read first ABT sector from disk.

•

Call GETENT to locate first empty ABT entry.

•

If no empty entries, go to step d with (A)

•

Move new entry parameters to empty ABT entry.

=

$FFFF.

= o.

• Increment count of entries by 1.
(INSAB3). Call ABTIO to write current ABT sector to disk.
•

Go to step b

INTERFACE
1.
C ,,;-- f": --r'
:J \ V'.,;

CALLING SEQUENCE
EQU
SPILL ($Al)
ENQ
F
RTJ SP ILL
ADC
X
ADC
Y
ADC
Z
JHp·',
START
--(Return)-F = 0, Get an ABT entry.

Function Code

X = Job Number
Y = Batch number (if Y = $FFF, Function is to check if job is active)
Z = undefined
657 _
. PAGE NO. ____

c2/9

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS_S_P_'_L_L_______________________________________________________________
PROGRAM NAME

Active Batch Table handl ing routine

F = 1, Update ABT entry.
X = ABT entry address (in same format as ATT/ABTN)
Y = Update value to replace word
of entry
(If Y = 0, Function is to delete the ~ntry)
Z = undefined
F = 2, . Insert ABT entry
X,Y,Z = 3 word ABTentry to be inserted.
(I) = Base address of Active Terminal Table (ATT).

°

2.

OUTPUT PARAMETERS OR CONDITIONS
Error, requested entry not found (F = 0),
or no space available for insertion (F = 2).
< 0, Error, duplicate entry in ABT (F = 2).
> 0, (A) = address of requested entry (F = 0, X,Y, and Z contain entry
parameters), or address of inserted entry (F = 2).
(Q) > 0, next batch number in ABT (A =
and F = 0).
(Q) = $FFFF, no greater batch number exists in ABT (A = and F = 0).
(A)

= 0,

°

°

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a. LOCORE
LPHASK (2)
KXFF ($A)
KXFFF ($E)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
MINUSI ($33)
SST ($47)
ENTSR ($91)
RTNSR ($98)
REDSEC ($A7)
STRTRY ($AF)
b. SST
ATT (11)
RPINCR (SST + 13)
ABTADR (22)
SPIL (23)

. PAGE NO.

658

"tiNTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTClASS~S~P~I~LL~

•

PSSD

•

SOFTWARE DOCUMENT

_______________________________________________________________

PROGRAMNAME ______________________________________________________________________
__
Active Batch Table handl ing routine

2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
ENTSR
RTNSR
STRTRY
(REDSEC)

ENEXSR
PIO
4.

DATA AREAS USED
SST

5.

Save return address in Exits stack
Retrieve return address from Exits stack
Schedule retry address
Read a sector from disk

System Status Table

EXTERNALS
SISPLE
SIABTW
SIABTS

PHYSICAL CHARACTERISTICS
1.

2.

3.

MeMORY SPACE REQU I REME:~TS
14C
= 33 2
words
16
10
RELOCATION TYPE
Core resident. loader relocatable
Et~TRY

CLASS I F ICAT !()N

Reentrant.

Partially locked.

PAGE NO.

AA5641

659

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I t~S

PROGRAMNAME __________________________________________________________________________
SRCH 1
Leve 1 __
6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
The .program is an interrogate function and the first overlay of the search
function. It performs syntax analysis of the serach request, saves the
parameters in the search buffer, and transfers control to the next overlay.

2.

DETAILED DESCRIPTION
The operator is allowed to issue the request only in Read mode and the legal
command formats are:

SRN.

SER.

SDH,
where:

S
F
B
rr
Fn
Cn
ff
M

{}
[J

n} ·rr~~~J
U} ~~~J
fS}
t ~ , [ff]

{~~}

,M ,

[{. ~~ } .M]

start
forwards
backwards
number of records to be skipped
fie 1d nu mb ern. 0< n <128
column number n. 0A

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~V~E~R~I~FY~______________________________________________________________
PROGRAM NAME

Process VER I FY Command

h. (GETORR). Call GETBIN to get operator number from input string and convert
it to a binary number.
•

If a nonnumeric character is in the input string, or if input is not
terminated with EOR, or if operator number exceeds 999, set (Q) = CDI
(INVALID OPERATOR NO. error), and go to Step e.

o

Release interrogate buffer.

Q

Clear ATT/3 through ATT/32.

ft

Set ATT/ECODE

e

Call BD to convert batch number to packed decimal, and save it in
ATT/BATCH.

o

Call BD to convert operator number to packed decimal, and save it in
ATT/TOPR

= o.

i. (RTRY). If ATT/O/IO =
6 and 7.

(CRT terminal), save job name in TOPT words 5,

o

Call GETLJD to locate the designated job in the Legal Job Directory.

o

If GETLJD program is locked, repeat Step i.

o

If designated job does not exist in LJD, go to Step d.

o

Save job index in ATT/JIDX.

8

Call SPILL to assign an entry in the Active Batch Table.

•

If designated batch is not found in ABT, or if batch is not waiting for
veri.fication, go to ~tep gl.

a

Save address of first track in ATT/FTOB.

•

Save batch number 'in ATT/BATCH.

•

If disk assigned to the batch is down, set (Q)
and go to Step e.

"-....

j. (VERI).

= CF6

(DISK DOWN error),

Call CAM to allocate a Terminal Record Buffer.

•

If space is not available, set (Q) = CF4 (CORE FULL, TRY AGAIN error)
and go to Step e.

•
•

Set up linkage to TRB.
Call SPILL to set batch to Verify mode in ABT.

•

Set ATT/CMODE = 0100 16 (Verify mode).
Set ATT/JIDX/8-15 = Job index.

•

. PAGE NO.

723

'IINTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

PSSD

•

SOFTWARE DOCUMENT

VERI FY

--~~~------------------------------------------------------------------

Process VER I FY Command

PROGRAM NAME

•

•

•
•

Set ATT/BMOD = 1000 16 (Basic Mode = Verify).
Set ATT/SW2/2:0 according to batch verification type.Set ATT/SW2/3 = 1 (Monitor ATT check override).

•

Set ATT/TCLK = Time in seconds since start-up.

•

Set ATT/TSBCH = Batch start-up time in minutes.

•

Call CLCDWA to calculate the disk word address of word 91 of the batch.

•

•

Call WRTDWA to write Operator number, Batch start-up time, Run start-up
time, Accumulated time (=O) and record count from beginning of batch -(=O)
in words 91-95 of the first sector of the batch.
Call SUBR to restore ATT/8 through ATT/12 from second sector of batch.

•
•

Call SUBR to restore ATT/29 from second sector of batch.
Call SUBR to restore ATT/36 through ATT/63 from second sector of batch.

•
•

Call CLCDWA to calculate disk word address of fi.rst physical record of batch.
Save address of previous record in Terminal Record Buffer.

k. (BACK).

Call READP to read the record.

•
•

Repeat Step k until first logical record of batch is found.
Call GFCORE to read applicable format description into core.

•

Call DISP to set screen location to data area.

•

Call WRTATT to write ATT to disk.

•

Call EXDFUN to release VERIFY program area.

•

Exit to EORVRC.

INTERFACE
1. ENTRY METHOD
VERIFY is a disk-resident pr.ogram which is called via the ENTPRG program.
2. INPUT PARAMETERS OR CONDITIONS
(I) = Base address of Active Terminal Table (ATT).
3. EXIT METHOD
Normal exit is to EORVRC.
Abnormal exit is to ERROR .

. PAGE NO.

724
'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __~VE~R~I~FY~____________________________________~_______________
PROGRAM NAME

Process VER I FY Command

4. OUTPUT PARAMETERS OR CONDITIONS
(I) = Base address of ATT.
ATT is set to verify the designated batch.
ASSEMBLY CHARACTERISTICS
l.

I

',,--

-

EQUATES
a. LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
CLCDWA ($90)
ENTSR ($91)
EXTSR ($92)
ERROR ($96)
GETBIN ($99)
GETALP ($9B)
GFCORE ($9D)
EXDFUN ($9F)
DISP ($AO)
SP ILL ($A 1)
READP ($AS)
REDDWA ($A9)
WRTDWA ($AA)
WRTATT ($AC)
CAM ($AE)
WAIT ($BO)
b. SST
EXTSST (0)
CLOCKM (16)
CLOCKS (17)
STEMP (20)
c. EST
DSKST (29)

. PAGE NO.

725
'1INTlD IN THE US ...

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

___________________________________________________________

DOCUMENTCLASS~V~E~R~IF~Y

Process VERIFY Command
PROGRAMNAME ________________________________________________________________
__

d. ATT

e.

f.

2.

.

FTOB (1)
CMODE (2)
JIDX (3)
TRBA (6)
TOPR (8)
TSBCH (9)
TCLK (10)
BMOD (lS)
SWl (19)
SW2 (20)
FUNIDX (21)
ABT I DX (22)
SWITCH (24)
AI NT (27)
ATOPT (33)
ECODE (34)
BATCH (3S)
TJOB (36
ATEMP (73)
ATEMPl (74)
ATEMP2 (7 S)
ATEMP3 (76)
ERROR CODES
CDl ($D)
CD4 ($10)
CDS ($11)
CEl ($12)
CF4 ($17)
CF6 ($lE)
EXTERNALS
SETMOV
DB
GETLJD
SETDIS
EORVRC

Operator number (saved temporarily)
Batch number
(saved temporarily)
Clock value
(saved temporarily)

Job name

Parameter for DISPLY to set screen location according to (A).

MACROS USED
None •

.f

PAGE NO.

AA5641

(saved temporarily)

726

'IINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

________________~_________________________________________________

DOCUMENTCLASS~V~E~R~I~F~Y

PROGRAM NAME

3.

Process VER I FY Command

PROGRAM DEPENDENCIES
ENEXSR
ENTPRG
GSE
PIO
SCANV
GFCORE
UISPLY
SPILL
CAM
GETLJD
EORVR

I

"'---

4.

ENTSR
EXTSR
WAIT
SETMOV
EXDFUN
ERROR
CLCDWA
READP
REDDWA
WRTATT
GETBIN
GETALP

EORVRC

Enter Subroutine
Exit Subroutine
Enable Move of Program Area
Release the disk resident program.
Display error at terminal and terminate the function
Calculate Disk Word Address.
Read Record according to previo~ disk address saved in TRB.
Read Disk Word Address
Wri te ATT
Convert Input Number to Binary.
Get Alpha Character from Input String.
Get Format into Core
Set screen location to data.
Maintain Active Batch Table.
Get core for TRB.
Locate Entry in Legal Job Directory.
End of Record Processor-Verify Mode.

DATA AREAS USED
SST
ATT
TRB
TOPT
INT
DTL

System Status Table
Active Terminal Table
Terminal Record Buffer
Terminal Output Table
Interrogate Buffer
Data Track Layout

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
113 16

2.

= 275 10

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reent ran t.

(.......
PAGE

AA5641

NO. _7_2_7_

.. tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ____
cY_B_E_R_D_A_T_A___________________________________________________________
PROGRAMNAME ______V_L_B_G_O_P__
-_B_a_c_k~g~r_o_u_n_d__C_o_r_e__
a_n_d__
O~pe__
ra_t___
io_n__M_o_d_e__P_r_o_c_e_s_s_o_r___
Le_v_e_l__0_6_____________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
VLBGOP is an overlay called by the manual interrupt processor MIPRO when
the operator enters MI VLBG. The program outputs "VLBG I N" to the sys tern
comment device and the operator must type in two parameters CORE, MODE.
The CORE parameter must be a four-digit hexadecimal number, and the MODE
parameter must be either: "MUST I ' , meaning background core must be operational; "NONE", meaning no background is requested; or "RQST", where
background is requested but will be operational only if possible. The
minimum background core requirement is $0400. Any change made by VLBGOP
will take place at the next startup.

2.

DETAILED DESCRIPTION

VLBGOP first stores its load address for later use in release. The input
buffer is initialized to all ones and "VLBG IN" is output to the system
comment device. Via a FREAD an input request is made to the system control
device and VLBGOP jumps to the dispatcher to wait until the operator types
in pa~ameters. When the input is complete, error checks are made. If an
I/O error occurs, VLBGOP outputs the statement "I/O ERROR I ' to the system
comment device and starts again by outputting "VLBG IN". If the core value
entered was not a four-digit hexadecimal number greater than or equal to
$0400, or if the mode was not "MUST", "NONE", or "RQST", the statement
"DATA ERROR" is output to the system comment device and the process begins
again at "VLBG IN". When the parameters are entered correctly, the core
image on disk is rewritten with background core value and background mode
flag (MUST = 1, RQST = 0, NONE = 1) updated. The statement "VLBG OUT" is
output to the system comment device and VLBGOP releases its own memory
space and jumps to the dispatcher.
INTERFACE
1.

ENTRY METHOD
Execution begins at the first instruction of this system loaded overlay.

2.

. 3.

INPUT PARAMETERS OR CONDITIONS
Operator enters MI VLBG.
No parameters are initially passed to the overlay.
The memory address where VLBGOP is loaded is in the location immediately
preceding the first instruction .
EX IT METHOD
Jump to the dispatcher .

. PAGE NO.

728

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ___c_Y_B_E_R_DA_T_A____________________________________________________________
PROGRAMNAME _____V_L_B_GO_P__-__B_a_ck~g~r_o_u_n_d__
Co_r_e__a_n_d_O~p_e_r_a_t_i_on__M_o_d_e__
P_ro_c_e_s_s_o_r__L~e~v_e~1~O~6___________

4.

l,_

OUTPUT PARAMETERS OR CONDITIONS

In the core image on disk:
Background core requirement is set.
Background mode is set to:
1 = MUST have background operational
o = RQST have background operational
-1 = NONE background
ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
LPMASK (2)
DISPCH ($EA)
b. CONSTANT
MINBG ($0400)
Minimum amount of background
2. MACROS USED
FWR I TE
FREAD
RELEAS

3.

PROGRAM DEPENDENCIES

4.

BGCORE is an external for amount of background (contained in SYSDAT)
DATA AREAS USED
Internal buffer

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS

AA 16 = 17010 words.
2.

RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Not reentrant.

. PAGE NO.

729

'.INTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

__________~_______________________________________________

DOCUMENTCLASS~C~Y~B~E~R=DA~T~A~I~M=S

PROGRAMNAME ____V_L_I_N_p__-__T_e_r_m_in_a_l__K_e_y_b_o_a_r_d__D_r_i_v_e_r__~------__--__---------------__-------L-e-v-e-1---6
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
VLINP does an input from each terminal that is not supervisor or system
locked. If a character was ready, the character is stored in the terminal
input queue. One input from each unlocked terminal is performed each time
VLINP is called by VLINT. VLINP runs at the same priority level as VLINT
(currently 10).

2.

DETAILED DESCRIPTION
The maximum number of characters in a TIQ is calculated and stored in
program data area. If the system is locked, VLINP exits immediately.
Otherwise, an overflow counter is created from the number of terminals
in the system and the input loop begins. Each terminal is checked for
supervisor or system lock. If locked, VLINP goes on the the next terminal.
If the terminal is not locked, an input is performed. If the input is
rejected, VLINP goes on to the next terminal. If the input occurs, bit 11
is checked for da ta ready. If no da ta is ready, VL I NP goes on to the next
termtnal. If a character is ready, it is checked for the pattern when the
PDU is-off, if the code is equa 1, VL I NP goes to the next termi na 1; else bits
15,9,8 are checked for parity, character lost, and line break errors. If
an error is found, the character count in TIQ is incremented, but the
character is zeroed out. For any character input, the TIQ character count
is incremented. If the count reaches the maximum TIQ count, ATT/SLOCK/12
and ATT/SW2/8 are set to indicate that the TIQ is full and "LL" should be
displayed. The character is stored in the next character position of the
TIQ. If the character input is a cancel, ATT/FRMNT/15 is checked to see if
current function can be terminated. If so, ATT/FRMNT/14 is set to indicate
cancel was entered and processing continues with the next terminal. If not,
the cancel is entered in the TIQ as any other character would be. When all
the terminals have b,een processed, VLINP returns control to the caller.

INTERFACE
1.

ENTRY METHOD
Return jump

2.

INPUT PARAMETERS OR CONDITIONS
VLINP is called after each terminal controller interrupt.

3.

EXIT METHOD
Return to caller at P + 1.

4.

OUTPUT PARAMETERS OR CONDITIONS
Possible input of one character from each terminal.
PAGE NO.

AA5641

730

... INTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_YB_E_R_D_AT_A~I_MS________~__________________________________________

VLINP - Terminal Keyboard Driver- -________________________________
Level___
6
PROGRAMNAME ____________________________
ASSEMBLY CHARACTERISTICS
1 • EQUATES
a. LOCORE
LPMASK (2)
NZERO ($12)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
b. SST
EXTSST (0)
SLOCK (1)
ATTB (10)
IBL (14)
TIQ (15)
ATT LIN G (1 9)
c. EST
WES (30)
d. ATT
SW2 (20)

e.

FRMNT (23)
TOPTAD (33)
CONSTANTS
ERRCD (0)
CANCEL ($76)

2.

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
None.

4.

DATA AREAS USED
ATT
SST
TIQ

PAGE NO.
l.

AA5641

731

•

•• ,tr-,n.n .....

T ... & IIC."

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_RD_A_T_A__I_MS__________~____________________________________________
PROGRAMNAME ____V_L_IN_P__-__
Te_r_m_i_n_a~l_K_e~y_b_o_a~rd~D~r~i~ve~r______________--_________________=L~ev~e~1~6

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
7'16
2.

=

113 10 words.

RELOCATION TYPE
Not reentrant.

PAGE NO.
"

732

~,

AA!'iS41

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_D_AT_A__I_M_S__________~__________________________~___________________
PROGRAMNAME ____V_L_I_N_T__
-_T_e_r_m_i_n_a_l__C_o_n_t_ro__
l_le_r__l_n_t_e_r_r_u_p_t_H_a_n_d_l_e_r________________________L_e_v_e_1___
6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
VLINT processes the periodic interrupt from the first terminal controller.
If the operating system timer is present, VLINT schedules it. If Cyberdata
is active, VLINT increments the clock, calls the terminal input driver,
calls the terminal display driver(s), and schedules MPC (Main Process Control)
if it is not still active. If Cyberdata is not active, exit is to the
dispatcher.

2.

DETAILED DESCRIPTION
VLINT resets and enables the interrupt for the first (as listed in EST)
terminal controller. If TIMINT has been installed in this system, VLINT
schedules it (at priority 13). If Cyberdata is active, the interrupt
counter is incremented and tested against the number of interrupts per
second. When appropriate, the system seconds count is incremented. The
terminal keyboard driver VLINP is called. VLINT examines the top of the
thread (SST/THSLFS) for output to the 970-32 1 5 and calls VL2SCN if the
thread is not empty. The 970-480 thread (SST/THCRT) is also checked and
VL2CRT is called if the thread is not zero. SST/SLOCK/12 is checked for
MPC busy. If MPC is not busy, VLINT schedules it at priority 5 with Q=O
for terminal O. Exit is to the dispatcher.

~

INTERFACE
1.

ENTRY METHOD
Di rec t jump.

2.

INPUT PARAMETER
Terminal controller interrupt occurred.

3.

EXIT METHOD
Jump to dispatcher.

4.

OUTPUT PARAMETERS OR CONDITIONS
Interrupt reset.
Possibly TIMINT scheduled.
MPC scheduled.

PAGE NO.

AA5641

733

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
VLINT - Terminal Controller Interrupt Handler
Level _6
PROGRAMNAME ______________________________________________________________________
DOCUMENT CLASS

----------------------~--------------------------~------------------

ASSEMBLY CHARACTERISTICS
1 • EQUATES
a. LOCORE
LPMAS K (2)
ONEBIT ($23)
SST ($47)
DISP ($EA)
b. SST
EXTSST (0)
SLOCK (1)
THCRT (4)
THSLFS (5)
CLOCKS (17)
NTRVAL (18)
c. EST
WES (30)
d. CONSTANTS
Reset/enable controller interrupt code.
CLRACT
Priority of TIMINT program.
LVL
e.

EXTERNALS
TIMINT
MI BVL
CSRATE
VLI r~p
MPC
VLZCRT
VLZSCN

Flag indicating if CYBERDATA is working.
Number of interrupts per second.

2.

MACROS US ED
None

3.

PROGRAM DEPENDENCIES
The system1s timer routine.
TIMINT
SYSDAT (MIBVL,CSRATE)
Scan the channels for input.
VLI NP
Schedule the main process control.
MPC
VL2CRT
Send a display code to the CRT 970-480 stations.
VL2SCN
Send a character to the self-scan 970-32 stations.

PAGE NO.

AA5641

734

... INTED IN tHE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_ER_D_A_T_A__IM_S__________~________________________~__________________
PROGRAMNAME ____
VL_I_N_T__-_T_e_r_m_i_n_a_l_C_o_n_t_ro_l_l_e_r__ln_t_e_r_r_u~pt__H_a_n_d_le~r______________________~Le~v~e~l~6

4.

DATA AREAS USED
SST
EST

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
36 16

= 5410

words.

2.

RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Reentrant.

PAGE NO.

AA5641

735

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS ________________________________________________________________________
__
VLOSOP
PROGRAMNAME ____S_e_l_e_c_t__S_t_a_r_t_up__C_o_n_d_i_t_i_o_n_s___________________________________________________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
VLOSOP is an overlay called in by MIPRO when the operator enters MI VLOS.
The message "VLOS IN" is output to the standard system comment device. The
opera tor then enters; IISTD, II where the Cyberda ta all ocatab 1e memory area is
a system constant; "NONE," where no area is reserved for Cyberdata; "BCKG,"
where Cyberdata allocatable memory is set to all available allocatable minus
an amount reserved for unprotected background programs. Any other entry
results in a I'DATA ERROR" message. Then VLOSOP outputs IIVLOS OUT" and
releases its memory space.
NOTE:

2.

The change in allocatable memory at startup is not effective until
the next autoload.

DETAILED DESCRIPTION
VLOSOP saves its address so that it can release its memory space when it
is finished. The input buffer is initialized with all bits set. The message
"VLOS IN" is output to the standard system comment device using a FWRITE
macro. A FREAD macro is used to put a two word input request against the
system control device. For any I/O errors the message "I/O ERROR II is output to the system comment device. If the operator does not enter "STD,"
IINONE," or "BCKG," the message "DATA ERROR II is output to the system comment
device. If the operator inputs a correct parameter, the disk image of
Cyberdata active flag VLOS is set to 0 = STD, -1 = NONE, 1 = BCKG. The
message "VLOS OUT" is output to the system comment device and VLOSOP releases the memory it occupied.

INTERFACE
1.

ENTRY METHOD
Execution begins at the first instruction of the system loaded overlay.

2.

INPUT PARAMETERS OR CONDITIONS
Operator hits MI and types VLOS.
No parameters are initially passed to the overlay.
The address where it is loaded is stored immediately preceding its first
instruction.

3.

EXIT METHOD
Release core and go to dispatcher.

4.

OUTPUT PARAMETERS OR CONDITIONS
Operator enters a valid VLOS parameter and exit is automatic.
736 _
. PAGE NO. ______

.. tINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

VLOSOP

DOCUMENTCLASS ________________~---------------------------------------------------PROGRAMNAME ______________________________________________________________________
___
Select Startup Conditions

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a. LOCORE
DISPCH ($EA)

2.

MACROS USED
FWRITE
FREAD
RELEAS

3.

PROGRAM,DEPENDENCIES
VLOS is an external for the Cyberdata active flag in SYSDAT.

4.

DATA AREAS USED
Internal buffer.
VLOS is set in disk image.

\......

'

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS

78 16 = 120 10
2.

words

RELOCATION TYPE
Run-anywhere

3.

ENTRANCY CLASSIFICATION
Not reentrant

ATTACH ANALYTICAL SUPPLEMENTS
Attachment A: Memory Allocation Writeup from
Cyberdata Sofware User's Guide .

. PAGE NO.

737

'IINTED IN THE USA

Attachment A

A
L
L
0

C
A
T
A
B
L
E

t
t

1

2

,
t

3

In the example at the left, only
Area 1 is available to programs
requesting space at priority 1.
Areas 1, 2, and 3 are available
to programs requesting memory
at priority 3. And all of allocatable memory is available to those
programs which request space at
priority 4.

4

MEMORY
RESIDENT
Example of Allocatable Memory
At startup, the CYBERDATA Operating System requests one large partition
of al locatable memory for table, data buffer, and disk resident program
use. This request is made at priority level 5, so the length of Area 5
determines what area CYBERDATA will always be able to receive, even if
lower priority programs are running.
The following parameters in SYSDAT determine the length of Area 5 and
the way that allocatable memory is requested by CYBERDATA:
VLOS, VLBCKG, VLA5S, BGCORE, LFTOVR, TOTAVL
VLOS is used by the Restart program to determine the size of Area 5.
When VLOS ,= NONE, Area 5 is set to 0:
reserved for level 5 programs.

No area is specially

When VLOS.~ STD, Area 5 is set to length VLA5S; an installation
parameter.
When VLOS = BCKG, Area 5 is set to the total length of allocatable memory minus BGCORE (an area to be left lavailable for background programs) minus Areas 1-4 specified at install time.
For both the STD and BCKG options TOTAVL (total available) is set to
the full length of allocatable memory minus LFTOVR. LFTOVR is an
installation parameter (currently 280 ) that defines an area that will
be available for loading either DEBUG 16 or SYSCOP when CYBERDATA has
taken the maximum memory.

PAGE NO. 738

The value of VLOS may be changed using the program VLOSOP.
is called with the following sequence:

G

VLOS

VLOSOP

B

System response:

VLOS IN

Enter one of the following:
STD, BCKG, or NONE
(Any other input results in the message DATA ERROR)
The program then exits with the response VLOS OUT.
The new value of VLOS takes effect at the next Autoload and Restart.
VLBG is used by the CYBERDATA start-up program to determine the number of
words to be requested from allocatable memory for the CYBERDATA buffer.
When VLBG

NONE, TOTAVL words are requested.

When VLBG

MUST, Area 5 is requested.

When VLBG
RQST, an optimum number of words is requested. This
figure is based on the NO. OF STATIONS and AVERAGE RECORD LENGTH
parameters entered at start-up time.
The value of VLBG may be changed by using the program VLBGOP.
called with the following sequence:

G

VLBG

VLBGOP is

B

System response:

VLBG IN

Enter one of the following:
xxxx, NONE
xxxx, MUST
xxxx, RQST
Where xxxx is the hexadecimal value desired for the BGCORE parameter.
(Any other input results in the message DATA ERROR) The program responds
with VLBG OUT. The new value of VLBG takes effect at the next Autoload
and Restart.

PAGE NO. _7_3_9_

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __V_L_O_s_O_p________________~____________________________~___________________
PAOGRAMNAME __~S~e~l~e~c~t__
St~a~r_t~u~p~C~o~n~d~i~t_io~n~s~________________________________________________

The five examples on the following page show how allocatable memory
would be partitioned, given the different values of the parameters VLOS
VLOS and VLBG.
The program VLST can be called to give a printout of what the result of
the different allocation schemes will be.
An example of allocatable memory as it can be partitioned is illustrated on
the next page.

PAGE NO. ---:..7...:.,4,;;:;,0_

AA5641

(

2

F I XED BACKGROUND AREA
(BGCORE)
AREAS

REMAINDER FOR
BACKGROUND

4

3

SYS LEFTOVER
(LFTOVR)

REMA I NDER FOR
BACKGROUND

1-4
REMAINDER
FOR
CYBERDATA
(AREA 5 = ALL
ALLOCATABLE
- BGCORE
- AREAS 1-4)

-0
l>
~

rr1

2
0

5
REMAINDER FOR
BACKGROUND
AND AREAS 1-4

IREMAINDER
FOR
CYBERDATA
OPTIMUM
CYBERDATA
AREA

IAREAS 1-4
I

-i
0

-i

»

•'"
t::-J

<

r-

'FIXED

CYBERDATA
AREA (AREA 5
= VLA5S)
AREAS 1-4
BEG IN-I

NING OF
ALLOCATABLE
VLOS = BCKG
VLBG = MUST

VLOS = STD
VLBG = MUST

VLOS = NONE

VLOS = STD, BCKG
VLBG = NONE

EXAMPLES OF PARTITIONING ALLOCATABLE MEMORY

VLOS = STD, BCKG
VLBG = RQST

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_s__________~_________________________________________________
PAOGAAMNAME __~V~L~S~T~R_T__
-_C~y~b~e~r~d~a~t~a~S~ta~rt~U~p~P~r~o~g~r~a~m____________________________________~L~e~v~e~1~6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
The main functions of VLSTRT are:
a.

To request the number of active terminals and average record
length from the supervisor stations.

b.

To calculate and allocate the required memory space for Cyberdata
tables and disk-resident programs.

c.

To initiate the Cyberdata tables and buffers.

d.

To check if the selected disks are ready.

e.

To clear the terminal controllers, and initiate the clock interrupt
1 i nee

2.

f.

To set the Cyberdata active flag (MIBVL).

g.

To call CLR to restart or freeze active batches, after power fail.

DETAILED DESCRIPTION
VLSTRT is loaded by MSOS to AREA5 of the allocatable memory, at
priority 6.
The program performs the following steps:
a.

Saves the start address of VLSTRT for the RELEASE request, in
order to release its own memory space.

b.

Reads the Terminal Type Table, via th GETTBL routine, into an
internal buffer called TTB.

c.

Reads the first 8 words of the PRD which contain the distances
to the st~rt of the PRD sections, calculates PRD leMgth and
stores it in the table of the table lengths.

d.

Types: "NO. OF TERMINALS=", reads the reply from the TTY, and
checks if it is valid, and if not, returns to the beginning of
this step.

e.

Releases VLSTRT memory space.

f.

Calculates Cyberdata disk area on the system disk, according to
the installation parameters: SIBSEC, SIESEC.

PAGE NO.

AA5641

_7_4_2_

,aINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_s__________~__________________________~___________________
PROGRAMNAME ____V_L_ST_R_T__-__C~y_b_e_rd_a_t_a__S_t_a_r_t_U~p__P_r_o~g_r_am
________________________________~L~e~v~e~l~6

g.

Generates table lengths table, i.e. puts the lengths of
Cyberdata memory resident tables and buffers into the table
lengths table.

h.

Claculates the minimum memory space requirement (MINCOR).
MI NCOR = 2000 +

i.

~ 1;
i = 1,13
11 = FBA length (no. of terminals + 1)
12 = TIQls length
1 = ATTls length
= ALDiS and TOPTls length
15 = ABT buffer length
16 = CWT length
17 = PRD length
18 = 0 (spare)
1 , ~lD' 111' 112 = TRTls lengths
9
113 - 64
Gets average record length from the supervisor..

j.

Calculates optimal memory space requirement (OPTCOR).

It

(

OPTCOR

\....

= MINCOR + Ni',R + 2000 + ~c;i"16 + Ck+l

(Nmod 16)

i =1 ,k

k.

N = Number of terminals
R = Average record length
K = Integer value of N/16, i.e. N=16*K + (Nmod 16)
C = 200, C = 100, C = 70, C4= 50
1
2
3
Calculates actual memory for SPACE request (SPACRQ)
TOTAVL if B. G (BAC KGROUND) not requ ired
SPACRQ =. { VLAS
if B.G required
min (OPTCOR, TOTAVL) if B.G is optional
TOTAVL =

Total memory space available for Cyberdata
(calculated by SPACE program at autoload time).

VLAS

AREA 5 size (decided by SPACE at autoload time,
according to the memory space required for B.G)

PAGE NO.

AA5641

743

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS

------------------------~------------------------------------------------

VLSTRT - Cyberdata Start Up Program

PROGRAM NAME

1•

m.

Level 6

Requests SPACRQ words via a SPACE request.
If SPACRQ wing entries of the EST:, TRT lengths (words 1,2),
MAXOCD, SFDA, ESSF, LTDDA, LDDDA, PRDDA, TRT disk addresses
(words 17-20), CDVA, SPIL, d'isk logical units, WES's, MAXREC,
TTBDA.
e.

3.

The following externals (see 3 of ASSEMBLY CHARACTERISTICS):
STTLNG, SIABTW, INTLIN, VLBCKG, VLA5, TOTAVL,'VLILIN, VL2SCN,
HORMIN, SIBSEC, SIESEC.

EXIT METHOD
a. Normal exit is to the CLR program (by ENTPRG).
b. Error exit is to the dispatcher {by: JMP- ($EA)).

4 •. OUTPUT PARAMETERS
a. The fa llowi ng messages (see Cyberdata System Reference chapter 6):
1) No. of STATIONS=
2) INSUFFICIENT MEMORY FOR REQUESTED CONFIGURATION,
nnnn WORDS ARE MISSING.
3) ,'\";" WARN ING ,'0', MEMORY AVA I LABLE UNDER EFF ICIENCY LIM IT
4)
5)
6)

7)
8)
9)
10)
11)
12)

TERMINAL CONTROLLER nn REJECTED
NO CLOCK INTERRUPT
CYBERDATA TERMINATED
DISK 1/0 ERROR
AVERAGE RECORD LENGTH=
'ES' NOT FOUND ~N STATISTICS FILE
970-32 KEYSTATIONS NOT AVAILABLE ON THIS SYSTEM
DISK n IS DESELECTED
DISK 1 IS DESELECTED

PAGE NO.
AA5641

745

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

__________~__________________________~___________________

DOCUMENTCLASS~C~Y~B~E~R=DA~T~A~I~M~S

VLSTRT - Cyberdata Start Up Program
PROGRAMNAME __________________________________________________

Level 6

~---------------------------

b.

The following SST entries: SLOCK, PROA, THCRT,THSLFS, FRPLL,
FRPUL, FRPP, ATTB, CATT, TIQ, CLOCKM, CLOCKS.

c.

The following EST entires: AC~JT, MAXCOV, TRTI s memory address,
FBA, ASRCHB, ABTADR, OSKST, TOATE.

d.

The following externals (see 3 of ASSEMBLY CHARACTERISTICS):
MIBVL.

'FREEBK,

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a. SST,EST and ATT EQUATES are explained in the Cyberdata Software
Userls Guide.
b.

Low core EQUATES are explained in MSOS 4 Reference Manual.

c.

MAXTN - Maximum number of terminals.

d.

TOPT1L - Selfscan TOPT length.

e.
f.

TOPT2L - CRT TOPT length.
BLOKL - ALDis block length.

g.

BLOKF

h.

Cl, C2, C3, c4 - Number of free memory words per each terminal in
the internals: 1-16, 17-32, 33-48, 49-63 correspondingly.

i.

D1

j •

D2

k.

D3 - Number of free memory words for terminals 1-32.
04 - Numb~r of free memo ry wo rd s for terminals 1-48.

1.

2.

- Log 2 of BLOKL (for mas king pu rposes) •

- Start number of free memory wo rd s.
Number of free memory words for terminals 1-16.

MACROS AND SUBROUTINES
a.

The following system MACROS are used:
SPACE.

FREAD, FWRITE, RELEASE,

b •. The following internal subroutines are used:
1)
GETTBL - subroutine to read the memory resident tables from
the system disk to the allocated memory.
2)

READIT - subroutine to read up to 4 digits from the TTY.

3)

PUTMSG - subroutine to p r i n t me s sa ge s •

4)

DISKIO - subroutine to read or wrote a test word from a di sk.

PAGE

AA5641

NO, _7_4_6_

'RINTEO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_s__________~_______________________________________________
PROGRAMNAME ____V_L_ST_R_T__-__C~y_b_e_rd_a_t_a__S_t_a_r_t_U~p__P_r_o~g_r_a_m________________________________L_e_v_e_1__
6

3.

PROGRAM DEPENDENCIES
a.

ENTRY PO I NTS
None.

b.

EXTERNAL LIST
STTLNG - bits 0-7 = maximum special tests~
bits 8-15 = maximum CDV tests.
SIABTW - ABT buffer length (words).
INTLIN - screen start position of the INTERROGATE 1 ine.
FREEBK - pointer to the ALD free chain.
MIBVL - Cyberdata active flag.
VLBCKG - background switch.
1 - BG requ ired
VLBCKG ={0 - BG optional
1- BG not required
VLA5
- length of system al locatable area 5.
TOTAVL - maximum number of words available for Cyberdata.
VLILIN - Cyberdata interrupt line number.
VL2SCN - Selfscan driver entry point.
AYERTO, AMONTO, ADAYTO - year, month and day, entered during
start-up procedure.
SIBSEC - Cyberdata first sector on the system disk.
SIESEC - Cyberdata last sector on the systemdisk.

c.

ROUTINES CALLED VIA TRANSFER VECTOR
GETBIN, DISPLY, CLCDWA, ENTPRG

d.

DATA AREAS AND SYSTEM TABLES USED
SST, EST,.FBA, TIQ, ATTls, ALDis ABT, CWT, PRD, TRTls.

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE
129010 words.

2.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Not reentrant.

PAGE NO.

AA5641

747

'IINTEO IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS

PROGRAMNAME __________________
VLSTTS - Start Up

____________________________________________________
Status
Report
Level _6

~

PROGRAM FUNCTION
1. GENERAL DESCRIPTION
VLSTTS is an overlay called in by MIPRO.
CALLING:
MI
VLST CR
The resulting printout will be:
AREA LEFT FOR SYSTEM USE XXX1
REQUESTED BACKGROUND XXX2
CYBERDATA ACTIVATION XXX3
BACKGROUND ACTIVATION xxx4
VLOS BCKG CYBD BCKG
ACTV ACTV CORE CORE
STD NONE xxx5 0000
MUST xxx6 xxx7
RQST DYNM UNDF
NONE ---- 0000 xxx8
BCKG NONE xxx5 0000
MUST xxx9 xxx2
RQST DYNM UNDF
WHERE

2.

xxx1
xxx2
xxx3
xxx4
xxx5
.xxx6
xxx7
xxx8
xxx9

= LFTOVR
BGCORE

= Value of VLOS (STD, NONE,

or BCKG)
of VLBG (NONE, MUST, or RQST)
= TOTAVL (All of allocatable -LFTOVR)
VLA5S (CYBERDATA standard AREA S length)
= All of allocatable - VLA5S - Areas 1 to 4
= All of allocatable - Areas 1 to 4
= All of allocatable - BGCORE - Areas 1 to 4

= Value

DETAILED DESCRIPTION
VLSTTS save its address for release at completion. Each core value needed
in the report is loaded in A. The internal subroutine HEXASC converts the
value to ASCI I with results in A and Q. Then the internal subroutine STORE
is used to put the values from A and Q into the print buffer. An FWRITE
macro is used to output the buffer to the standard comment device. When the
output is complete, VLSTTS releases its own memory and jumps to the dispatcher.

PAGE NO.

AA5641

_7_4_8_

'tiNTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

\

CYBERDATA IMS

PROGRAMNAME __~V~L~S~T~T~S_-~S~t~a~r~t~Up~S~t~a~t~u~s~R~ep~o~r~t~______________________________~~~ve~1~6~___

INTERFACE
1. ENTRY METHOD
Execution begins at first instruction of this system loaded overlay.
2.

INPUT PARAMETERS OR CONDITIONS
No parameters are passed to the program.
The operator enters MI
VLST

3.

EXIT METHOD
Release core and jump to dispatcher.

4.

OUTPUT PARAMETERS OR CONDITIONS
Status report is output to system comment device.

ASSEMBLY CHARACTERISTICS
1•
(

EQUATES
LOCORE

'--'

LPMASK (2)
2.

MACROS USED
FWRITE
RELEAS

3.

PROGRAM DEPENDENCIES
a. SYSDAT
LFTOVR BGCORE VLOS
VLBCKG TOTAVL VLA5S N1

N2
N3
N4
N5
N6
N7

Amount of core left for Debug or Syscop
Required amount of core for necessary background
Cyberdata active flag
Cyberdata background flag
Total available core for Cyberdata
Cyberdata standard area 5 length
N9
N10

Length of allocatable
core for areas 1-15

N11
N12
N13
N14
N15

N8

AREAC - Beginning address of allocatable

PAGE NO.

AA5641

749
•• ,..... " ,........ ,,<.

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_s________~__________________________~_________________
PROGRAMNAME ____V_L_ST_T_S__-__
S_ta_r_t__U~p_S_t_a_t_u_s_R_e~p_o_r_t________________________________~L~e~ve~1~6

4.

DATA AREAS USED
Internal print buffer.

PHYSICAL CHARACTERISTICS
1. "MEMORY SPACE REQUIREMENTS
146 16

2.

= 32610

words.

RELOCATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Not reentrant.

PAGE NO.

AA!'lE;.41

750

'.INUO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __V_L_T_Y_P_E___________________________________________________________________
PROGRAMNAME ____P_r_i_n_t__a_n_d__C_h_a_n_g_e_T_e__
rm__
in_a_l__T_y_p_e__T_a_b_l_e________________________________________

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
VLTYPE is an overlay called in by the manual interrupt processor MIPRO.
It accepts the following commands from the system operator console:
,',D
,', P , i~ 1 , N2
,',p

,':C ,N1 , T1
,':Z

2.

Print directory of terminal types
Print type table (terminals Nl through N2)
Print type table (terminals 1-64)
Change type of terminal N1 to type T1
End of VLTYPE

DETAILED DESCRIPTION
VLTYPE saves the address where it was loaded so that it can release core
at completion. Using an FWRITE macro it outputs IIVLTP IN" to the system
comment device. Using a FREAD it puts a 4 word input against the system
command input device and waits until the operator inputs one of the commands
listed above. If an operator entry error was made, VLTYPE outputs an IIILLEGAL
REQUEST" or IIXX ILLEGAL TYPE II message.
First VLTYPE checks for ,',Z input. If so, it outputs IIVLTP OUTII to the
system comment device and releases its core.
A print directory *D request results in an output to the system comment
device of all the possible terminal type definitions. (See attachment A.)
A *P,i~1,N2 request causes a printout of the termi~al type for terminals
N1 through N2. In order to do this, first the parameters N1 and N2 are
checked for validity. Then the terminal type table, which is stored on
disk, is read into a buffer internal to VLTYPE and printed on the system
comment device one 1 ine at a time. A ,':p command is handled the same way
except that the N1 is set by VLTYPE to 0 and N2 to max. legal value for
the system depending on the no. of controllers.
A *C,N1,T1 request causes a terminal type to be changed. If the input
parameters are valid and the appropriate display driver or keyboard
conversion routine has been loaded in the system, VLTYPE reads the
terminal type table into its buffer, changes it, writes the table back
to disk, and prints the new type on the system comment device.
At the conclusion of each command except ,':Z VLTYPE outputs "VLTP INII and
waits for the next command from the operator.

INTERFACE
1.

ENTRY METHOD
Execution begins at the first

2.

in~truction

INPUT PARAMETERS OR CONDITIONS
Operator hits M1 and types VLTP.
PAGE NO.

751

of the system loaded overlay.

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __V_L_T_YP_E______________________________________________________________
PROGRAMNAME ____
P_r_in_t__a_n_d_C_h_a_n~ge__T_e_r_m_in_a_1__T~y~pe__T_a_b_1_e___________________________________

No parameters are passed to the overlay.
The address where it is loaded is stored immediately preceding its first
instruction.

3.

EXIT METHOD
Release core and go to dispatcher.

4.

OUTPUT PARAMETERS OR CONDITIONS
SYSTEM TYPE TABLE MODlFlED and/or REQUESTED REPORT PRINTED

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a. LOCORE
LPMASK (2)
NZERO ($12)
TEN ($46)
SST ($47)
DISPCH ($EA)
b. CONSTANT
L (4)
Input buffer size in words
c. EST
MTTYPE (41)

2.

MACROS USED
TYPE
(See Attachment B)
FWRITE
FREAD
RELEAS

3.

PROGRAM DEPENDENCIES
NMONI
DCORE
RW

4.

DATA AREAS USED
All data areas used are internal to the program .

. PAGE NO.

752

PRINTED IN THE US ...

CONTROL DATA CORPORATION

0

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __V_L_T_Y_P_E_______________________________________________________________
PROGRAMNAME ____P_r_in_t__a_n_d__
Ch_a_n~g~e__
T_e_rm_i_n_a_l__Ty~p~e__T_a_b_l~e____________________________________

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
IBC 16 = 444

10

words

2.

RELOCATION TYPE
Run-anywhere

3.

ENTRANCY CLASSIFICATION
Not reentrant

ATTACH ANALYTICAL SUPPLEMENTS
Attachment A: Terminal Type Definitions
Attachment B: TYPE Macro skeleton and MTTYPE table setting

. PAGE

37

NO.

753

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __V_L_T_YP_E______________________________________________________________
PROGRAMNAME ____
P_r_in_t__a_nd__C_h_a_n~ge__T_e_r_m_in_a_l__T~y~pe__T_a_b_l_e___________________________________

Attachment A
Terminal Type Definitions Directory
TYPE

K/B

DSP

MODE

00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15

029
029
029
029
TTY
TTY
TTY
TTY
ADD
ADD
ADD
ADD
TTN
TTN
TTN
TTN

SCN
SCN
CRT
CRT
SCN
SCN
CRT
CRT
SCN
SCN
CRT
CRT
SCN
SCN
CRT
CRT

SUP
STD
SUP
STD
SUP
STD
SUP
STD
SUP
STD
SUP
STD
SUP
STD
SUP
STD

Where:

K/B

=

DSP

=

MODE

=

029 Keypunch (029)
TTY Teletype
ADD Keypunch (029) wi th numer i c cluster
TTN Teletype with numeric cluster
SCN 970-32 display
CRT 970-480 display
SUP Supervisor
STD Standard

. PAGE NO.

754

4-0
'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

VLTYPE
DOCUMENTCLASS ______________________________________________________________________
__
PROGRAMNAME ________________________________________________________________________
_
Print and Change Terminal Type Table

VFD
ElF
I FA
VFD
ElF
I FA
VFD
ElF
EMC

NS/0,Nl/0,N2/3,Nl/0,Nl/0,X6/ ' TN '
I TP I , EQ, 14
NS/0,N1/l,N2/3,Nl/l,Nl/0,X6/ ' TN '

TP I , EQ, 1S
NS/0,Nl/l,N2/3,Nl/0,Nl/0,X6/ ' TN '
I

Call ing sequence:
TYPE
TN,TP
Where
TN = Terminal number
TP = Type code as listed in attachment A

MAX legal value for the system depending on the no. of controllers.
4.

SYSTEM TYPE TABLE MODIFIED and/or REQUESTED REPORT PRINTED
TYPE Macro skeleton and MTTYPE table setting

42

Standard setting:
MTTYPE is set up initially as allows

°-

Terminal
type 00 (keyboard/printer supervisor)
All other terminal - type 01 - 029 SCN SrD

. PAGE NO.

755

PRINTED IN THE

us.

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __V_L_T_Y_P_E_______________________________________________________________
PROGRAMNAME ____P_r_in_t__a_n_d__
C_ha_n~g~e__
T_e_rm_i_n_a_l~T~yp~e~T_a~b~l~e____________________________________

Attachment B
TYPE Macro Skeleton
TYPE

MAC
IFA
VFD
ElF
I FA
VFD
ElF
I FA
VFD
ElF
I FA
VFD
ElF
I FA
VFD
ElF
IFA
VFD
ElF
I FA
VFD
ElF
IFA
VFD
ElF
IFA
VFD
ElF
I FA
VFD
ElF
I FA
VFD
ElF
IFA
VFD
ElF
IFA
VFD
ElF
IFA

TN,TP
'TP',EQ,O
NS/O,Nl/O,N2/0,Nl/1,Nl/O,x6/ ' TN '
I TP I , EQ, 1
NS/O,Nl/O,N2/0,N1/O,Nl/O,X6/ ' TN '
I TP I ,
EQ,2
NS/O,Nl/l,NZ/O,Nl/1,Nl/O,X6/ ' TN '
I TP I , EQ, 3
NS/O,Nl/l,N2/0,Nl/O,Nl/O,X6/ ' TN '
I TP I , EQ, 4
NS/O,Nl/O,N2/1,Nl/1,Nl/O,x6/ ' TN '

'TP',EQ,S
NS/O,Nl/O,N2/0,Nl/O,Nl/O,X6/ ' TN '
I TP I ,
EQ,6
NS/O,Nl/l,N2/l,Nl/l,Nl/O,x6/ ' TN '

'TP ' ,EQ,7
NS/O,Nl/l,N2/l,Nl/O,Nl/O,x6/ ' TN '
'TP ' ,EQ,8
NS/O,Nl/O,N2/2,Nl/1,Nl/O,x6/ ' TN '
I TP I , EQ , 9
NS/O,Nl/O,N2/2,Nl/O,Nl/O,X6/ ' TN '

°

I TP I , EQ, 1
NS/O,Nl/l,N2/2,Nl/l,Nl/O,X6/ ' TN '

'TP',EQ,ll
NS/O,Nl/l,N2/2,Nl/O,Nl/O,x6/ ' TN '
'TP ' ,EQ,12
NS/O,Nl/O,N2/3,Nl/l,Nl/O,x6/ ' TN '
'TP',EQ,13
. PAGE NO.

756

4-1
'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~ER~D~A~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

___________________________________________________________

PROGRAMNAME ____V_L2_C_R_T__-_9_7_0_-_4_8_0__
D_Is_p_l_a_y__D_r_Iv_e_r______________________________________L_e_v_e_l___
06

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
VL2CRT is the CRT display driver.
a.

CDATA

- initiator

b.

VL2CRT

- continuator

c.

CONCSR

There are three program entry points:

-. convert binary CRT address to two a-bit display codes.

There are also 15 entry points whic~ are equates to two 8-bit display codes
contain values describing the screen layout, the top of the free allocatable/
display blocks string, and the maximum number of blocks allocated per terminal.
All CRT display functions build a call to this driver. The initiator part of
the driver transfers the cal 1 parameters to the TOPT (Terminal Output Table)
for reentrancy purposes. The data to be displayed and screen addresses are
moved to an ALD (allocatable display buffer). The driver returns to the
caller when all the characters for display have been moved to the ALD. The
continuator (VL2CRT) which actually performs the output is called by VLINT
for each CRT terminal when a clock interrupt occurs.
2.

DETAILED DESCRIPTION
INITIATOR
(CDATA). Flags in TOPT/14 are initialized. The 5-word parameter/data hlock
is moved to TOPT/8-12. The return address is stored in the temporary storage
area of the SST.
(C021). For a Parameter Block. The return address is adjusted for the
actual number of parameters passed. If I/O bit processing is required, the
user1s I/O bit is checked. If off, It is set and a flag is also set In
TOPT to Indicate that the I/O bit must be cleared on exit. If a start of
display screen address is supplied by the caller, it is converted to output
format and stored in ATT/RQ. If It is not suppl ied, it is taken from TOPT
and the screen address used is updated to reflect the position at end of
display. Go to CD4.
(C03). For a Data Block. The block previously moved to TOPT is scanned
for the fl rst nonzero word. When such a word -is encountered It is stored
In ATT/RQ and set to zero in TOPT. Otherwi~e, exit via EXDSR.

. PAGE

NO.

757

'RINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~ER~D~A~T~A~

•

PSSD

•

SOFTWARE DOCUMENT

___________________________________________________________

PROGRAMNAME ___V_L_2_C_R_T__-_9_7_0_-_4_8_0_D_o_ls_p_l_a_y_D_r_i_v_e_r___________________________________L_e_v_e_l_O_6

(co4). If first character flag is not on, go to coB to advance to the
next word in the string. Otherwise,
(C041). If a display string already exists for this terminal, go to CDS
to find the end of string. Otherwise, when there is no block (ALD) assigned
to the terminal, and the blocks are occupied by other terminals, stay in
WAIT until a block is released the released block is linked to the group
of blocks assigned to the requesting terminal, and if required 1 ink the
terminal TOPT to the thread of CRT TOPT's. Then fix pointers for storing
data in the block (STR PTR) and extracting characters for display (TOP~TR).
When there is a block assigned to the terminal, check if there is an empty
word. When an empty word is found, its address is stored in STRPTR, and
go to Co6; otherwise, go to C042 to look for another block.
(C06). Move Current Word at ATT/RQ to ALO Block.
moved to the location whose address is in STRPTR.

The word in ATT/RQ is

If the information fol lowing the (COATA) call was data, then the first
character flag is cleared. Go to C03 to get the next word.
If the information was parameters and the first character flag is not set,
go to C07. If it is set, move the repeat bit and number of parameters from
TOPT(8) to TOPT(14). Expand the character count in TOPT(8) to a full word
for ease in using as counter.
If the caller's data starts on the least significant byte, increment this
character count by 1 and set MS byte to filler when moving to ATT/RQ.
(co63). Move unmodified word to ATT/RQ.
of byte.

Clear possible error flag on MS bit

If the repeat bit is not on, advance the data address in TOPT(9) and go to
coB to advance to the next word in the string.
(C07). Decrement by 2 the number of characters to be output. (TOPT/PARAS).
If still positive go to C063 to get next word. If the result is zero, go
to C073 to check if output of final cursor is required. If result is - 1,
modify the last character moved to ALO to be filler. Go to C073.
(COEXIT). Clear the I/O bit on caller's buffer if required, and return to
caller via EXOSR.
(C073). Check for Final Cursor. If a final. cursor not required, go to
COEXIT. Otherwise get it from parameter list. Convert to output format and
store in ATT/RQ.

. PAGE

NO.

758

PlINTED IN THE

us.

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~B~E~RD~A~T~A~

•

PSSD

e

SOFTWARE DOCUMENT

_____________________________________________________________

PROGRAMNAME ________________________________________________________________________
_
VL2CRT - 970-480 Display Driver
Level 06

Update current screen position in data or interrogate area with final
cursor va I ue.
(COB). Move To Next Word In String. Increment string pointer STRPTR.
If not end of block, go to CD6 to move current word to location Indicated
by STRPTR.
If end of block, go to CD42 to get another block.
f

.I.f

CONSCR
This subroutine converts a binary screen address to 2 bytes.
output are in A register.
Byte Zero:
Byte One:

B7
B6-5
B4-0
B7
B6
B5-0

=

Both input and

0
11

LINE NUMBER
= 0
1

character position within line.

PROGRAM DESCRIPTION
CONTINUATOR
(VL2CRT). PASS2 switch is set to FINAL/NON FINAL pass according to present
value in OPSW1X is set to zero/nonzero for output of one/two characters
per interrupt.
(VL2CR1}. The address of the top of the CRT thread in SST (SST/TOPCRT) is
set as the address of the previous CRT PRVCRT.
Get top of the thread.
(VL2C 1). Check the thread for FFFF (end of th read) • If not FFFF, go to
VL2Cl1 to continue. Check PASS2 switch. If zero, return to caller via
entry point. If not zero, set to zero and loop back to VL2CRl to make
another pass through the thread.

. PAGE NO.

759

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
DOCUMENTCLASS ______________________________________________________________________
__
PROGRAMNAME ___V_L_2_C_R_T__-~9~7~O_-_4_8_0__
D_is~p_l_a~y__
D_r·_lv_e_r___________________________________L_e_v_e_l_O_6

(VL2Cll). Clear LBFLAG (Loop-Back Flag). Check if terminal requires display
of system-lock. If not, check if message is waiting for display and if it
has been initiated. If not, go to VL2CIX to display data; otherwise, go to
MSGOPS to display the message. If system locked, check if lock output
already initiated. If not, go to VL2C1X. If yes, use lock flags as index
to lock-table. Extract lock character and output. Decrement lock flags and
check for zero. If zero, go to RELBK2 to see whether terminal may now be
unthreaded. Otherwise, go to VL2C13 to advance to the next terminal in the
th read.
(VL2C1X).

Select byte for output at the top of string.

(BYTEO). If BYTE-ZERO is filler, go to BYTE 1. Otherwise, set Q to WES
and ou tput. I f BYTE -1 is fill er, go to BYTE 11 to advance to next word.
If BYTE-l is not filler, go to BYTE01.
(BYTE01).

Fl ip BYTE indicator in TOPT/BLOKS to point to BYTE 1.

(VL2C13). Move address of current terminal's TOPT to PRVCRT - previous
CRT. Pick up thread to next terminal. Go to VL2C1 to check for end of
th read.
(BYTE1). Get BYTE-l and check for filler. If filler, set LBFLAG and go
to BYTE11 to advance to next word. If not filler, set Q to WES and output.
(SYTE11). Increment top of string in TOPT. Set byte indicator to byte
zero. If top of string now points to end of block, go to RELBLK to release
the block. If top of string does not point to a word whose contents are
zero, store its address as top of string and go to RELBK2.
(RELBLK). Release Block. Release block by storing its address as NEXT FREE
BLOCK in FREEBK and by moving the previous contents of FREEBK to it.
Decrement the number of blocks allocated to this terminal by 1. Store link
word of block released in top of string.
(RELBK3). If top of string zero, go to RELBK3 to see if terminal may be
unthreaded. Otherwise, check LBFLAG. If on, loop back to VL2C1X to output
next byte. If not on, go to VL2C13 to advance to next terminal.
(RELBK3). Check if lock output is required. If not, go to RELBK5 to check
if message output is required. Otherwise, set lock flags to indicate lock
output in progress and go to VL2C13 to advance to the next terminal.

. PAGE NO.
I

760

---.,.;;....;::;..;~_

... INTED IN THE USA.

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS~C~Y~B~ER~D~A~T~A~___________________________________________________________

PROGRAMNAME ___V~L2~C~R~T~-~9~70~-_4~8~O~D~i~s~p~la~y~D~r~i~v~e~r____________________________________L_e~y_e~1~O~6
(RELBK5). If the message flag (FLDSI,I) is set, set flag to indicate that
message has been initiated (COL,I) and go to VL2C13 to advance to next
terminal, else go to RELBK4 to unthread the terminal.
(RELBK4). Unthread Terminal. Terminal is unthreaded by storing contents
of its thread word (ATT/TOPT) as thread word of previous terminal whose
address is in PRVCRT. Own thread is set t~ zero. Go to VL2Cl to check if
the thread to the next terminal is FFFF.
(REJ). Reject Routine. A reject counter is updated.
VL2C13 to advance to the next terminal.

Control passes to

(MSGOPS). Check ATT/7,6,5 when a positive word is found extract the
corresponding code from MSGCODE table and output it. Set bit 15 of that
word and go to VL2C13to advance to next terminal. When there is no
positive word in ATT/7,6,5 check the first word of the. message to find
whether the first-display-flag is set. If it is not set, display a blank
set the flag, enter two to character count and go to VL22C13. When the first
display is set, extract and display the next character. If it was the most
significant character mark it by setting bit 14 restore the word and go to
VL2C13. If it was the least significant character check the message word
count as follows:
a.

Word count is 2

- enter 5.

b.

Word count is less than 7

-

c.

Word count is 7
enter 15.
Shift word count to the most significant byte, set bits 14, 15 and
restore to ATT/2.

d.

When word count is 15, clear the message flag (FLDST, I) and go to
RELBK2 to check for end of string.

. PAGE NO.

increase it by 1.

761

'RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS~C~Y~B~ER~DuAuT~A~________________________-----------------------------------

PROGRAMNAME ___V_L_2_C_R_T__-~9~7~O---4-8-0--D-is~p-l-a~y--D_r·_lv_e_r__________________________________~L~e~v~e~1~O~6

INTERFACE
CDATA:
I = Current ATT
The call parameters may be of 2 types.
Type 1 where modifier bit M is zero.
M

o

I

o

DATA CHAR 0

DATA CHAR 1

2

3

4

5

2

6

7

3

8

~

4

Here the parameter block is used only for the transfer of data. A full
5-word block is assumed to follow the call. Data is terminated by the
first negative word in block. Any all-zero word is disregarded.
Type 2 where modifier bit M is one.
15
M

I

OPT

11

12

13

I

R

I

B

8

1

NO. OF CHARS

o
0,

ADDRESS OF DATA
I/O BIT ADDRESS

2

SCREEN ADDRESS FOR O/P

3

FINAL CURSOR VALUE

4

The first two parameter words must be suppl ied. The last three are optional.
The driver returns to the location following the last parameter supplied.
WORD ZERO

BIT 15
14-13
12
11
8-0,

=

MODIFIER BIT

= NUMBER OF OPTIONAL PARAMETERS INCLUDED
= REPEAT BIT
= BYTE ADDRESS 0/1 O~ WHICH DATA STARTS

= NUMBER

. PAGE NO.

OF CHARACTERS FOR DISPLAY
762

I'IINTEO IN THE USA

CONTROL DATA CORPORATION
'-

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
DOCUMENTCLASS ________________________________________________________________________
__
PROGRAMNAME __~V_L2_C~R~T__-~9~7_0-_4_8_0__D_i~s~p_la_y~D~r_i_v_e_r____________________________________L_e_v_e_l_O_6

WORD
WORD
WORD
WORD

ONE
TWO
THREE
FOUR

CORE ADDRESS OF DATA FOR DISPLAY
ADDRESS OF WORD CONTAINING I/O BIT
SCREEN ADDRESS FOR DISPLAY
CURSOR ADDRESS AT END OF DISPLAY

MODIFIER BIT 0/1

o
1
OPT

Selects data block
Selects parameter block

0/3
Number of optional parameters from zero to three

REPEAT BIT 0/1
1

Repeatedly outputs same 1 or 2 characters from address defined In
parameter WORD 1 IN I times where N is defined by "NO OF CHARACTERS"
in parameter word zero.

o

Outputs data from consecutive core locations ad defined by
parameter words 0/1.

(
,,~.

BYTE 0/1
Defines byte at which data at address in parameter WORD 1 starts

o
1

Byte at B15
Byte at B7

NO OF CHARS
Number of characters to be output
ADDRESS OF DATA
Core word

add~ess

of data.

Data is assumed to be 7-bit ASCI I packed 2 characters per word.
I/O BIT ADDRESS - OPTIONAL PARAMETER
If zero disregarded. If not zero, this is the core address of the I/O bit word
in userls buffer. The driver sets the I/O bit for the duration of its operation
and restores its original value on completion.
SCREEN ADDRESS FOR O/P - OPTIONAL PARAMETER
Address at which data is to be displayed. If this parameter is not given the
screen address is taken from the TOPT. Two screen addresses are maintained
in the TOPT, one for the DATA portion of the screen and one for the INTERROGATE
area. The appropriate address is selected according to the data definition
setting in the TOPT.
....

\.

. PAGE NO.

763

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
DOCUMENTCLASS ______________________________________________________________________
_
PROGRAMNAME ___V_L_2_C_R_T__-_9_7_0_-_4_8_0_D__
is~p_l_a~y__
Dr_o_lv_e_r___________________________________L_e_v_e_l_O_6

Where this parameter is not given, the screen address in TOPT is updated to
reflect the new address at completion of display. Where it is given, the
address in TOPT is not updated.
NOTE:

The driver assumes the Screen address maintained is the address to
which the last character was output. It Increments this address by
1 before outputting. For this reason, if screen addresses are given
in parameters 3 or 4 they should be the true address minus 1.

FINAL CURSOR VALUE - OPTIONAL PARAMETER
Screen address at which cursor is to be left at conclusion of output.
not given, the cursor will be left on the last character output.

If

Where this parameter is given, it replaces the current screen address in
TOPT, in Da ta or I nte rroga te a rea.
VL2CRT:
CONCSR:

3.

Entry is by return jump. No input parameters.
Entry is by return jump.
A = binary value of jump cursor position.

EXIT METHOD
CDATA:

Exit is via the display programs exit subroutine EXD6R.
All characters for display have been moved to the ALD, but the
characters have not been output when control is returned to the
ca 11 er •

CONSCR:

Exit is jump back to caller.
output format.

VL2CRT:

Exit is jump back to caller.
1 or 2 characters are output to screen each interrupt time.

A = 2 cursor screen address in

764 _
. PAGE NO. ______

'IINTED IN THE USA

CONTRdL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
VL2CRT - 970-480 Display Driver
Level _06
PROGRAMNAME ____________________________________________________________
DOCUMENT CLASS

------~----------------------------------------------------

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a.

LOCORE
LPMASK (2)
NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
EXDSR ($8F)
WAIT ($80)
DISP ($EA)

b.

SST
TOPCRT (4)
ATT (11)
TMP (20)
STKPTR (SST
STRPTR (SST
RTRYFG (SST
TEMP (SST +

c.

+ TMP)
+ TMP + 1)
+ TMP + 2)
TMP + 3)

ATT
MODE (2)
TOPT (33)
IOADDR (64)
RQ (65)
COL (2)
JOB (5)
FLDST (15)

d.

TOPT
THREAD (0)
EWES (1)
CURSRD (3)
CURSR I (4)
PARAS (8)
CAR1F ( 11 )
TOPSTR (13)
BLOKS (14)

. PAGE NO.

765

'IINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_BE_R_D_A_T_A_________________________________________________________
PROGRAMNAME ___V_L_2_C_R_T_-_ _9_7_0-_4_8_0__
D_is~p_l_a~y_D_r_i_v_e_r________________________________~L~ev~e~1~06

e.

CONSTANTS
C (11

BLOKF (3)
BLOKL (8)
MOD IF (10)
FLDNAM (4)
LINES (10)
LINCAR (48)
DATLOW (LINCAR-l)
DATUP (Lines * LINCAR-LINCAR-l)
INTADR (DATUP)
2.

MACROS US ED
None.

3.

PROGRAM DEPENDENCIES
ENEXSR
NDISP
CMISel

4.

DATA AREAS USED
SST
ATT
TOPT
ALD

P~YSICAL

CHARACTERISTICS

1.

MEMORY SPACE REQUIREMENTS

2.

lF6 16 = 502 10 words.
RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION

CDATA:
Dormant reentrant
VL2CRT: Reentrant
CONSCR: Not reentrant
ATTACH ANALYTICAL SUPPLEMENTS
Attachment A: ALD Control Diagram
. f'AGE NO.

766

'IINTED IN THE USA

~-

/

(

ALD CONTROL DIAGRAM

SST

TOPT

TOPT

TOP OF CRT THREAD

TOPT
F F F F

a 0 a a

o

OF STRING
BYTE

I-

21 14

NOTES:
1. TOPT (13, 14) define

3.
4.

The No. of. blocks in
string is maintained
in order to facilitate
control of the amount
of core allocated to
a given terminal.

OF

OF

K

o0
A

B

LIN K

IFILLER
I 0 0

o

~

FILLER

3

C

D

E

F

000

0

:t>
-I
-I

:::r:

3:
fTl

0 I 0.0

Z

-I

»

C
E

o 010
o0 0

D
F

FILLERI

B

0

C

I D

0

LIN

K

E

F

G I

H

-0

.

0 0

n

l>

o

oa

»

a 0 loa

G"'I
rrl

Z

0 0

o

3

IN

Characters are added
to end of string and
output from top of
string.
First all zero word
marks the end of
string.

I TOP

o0

NO. OF

the top of string.
2.

13
___---.....;;0---11 1 4
0 0 0

TaPT

J

LIN K

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA

------------------------~-----------------------------------------

PROGRAMNAME __~V=L=2S~C=N~__-£9~ZO~-~3~2~D~i~s~p~1a=y~D~r~i~v~e~r________________________~L~e~v~e~I~0~6~_______

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
VL2SCN is the 9Z0-32 display driver. Each time the terminal controller
interrupts the system, VLINT checks the output thread for the 32-character
displays. If the thread is not empty, VLINT calls VL2SCN to display up to
two characters on each terminal queued for output. The first (leftmost)
character in a string requires that an address be sent before the character.
The following consecutive characters do not require an address. (If more
than 32 characters need to be sent, the new character is displayed in the
32nd position. This procedure is set by the way MCHAR stores overflow characters in the output buffer.) The 'clear display' and 'bell I codes are
checked for before VL2SCI~ looks for data to be sent. After two passes have
ueen made through the output thread, control is returned to VLINT.

2.

DETAILED DESCRIPTION
First VL2SCN initializes its counter/pointers and sets 1 to the top TOPT
on the thread. It checks TOPT/2/15 to see if a clear display request was
made. If so, the clear code is sent via the closed subroutine DSP300, the
clear bit is reset, and the last character output + 1 (TOPT/3/0-Z) is set to
32 so that the next character output will be preceded by an address. Then
control goes to DSPZ5 where the next item on the thread is checked. When the
end of thread is reached, another pass is made through the thread so that two
characters made be output to each display for each controller interrupt. (If
an address needs to be sent, it is considered as one of the characters.) After
two passes, the PASCNT flag is cleared and control returns to VLINT.
If a clear display request is not made, a check is made for a bell request.
If so, the bell code is sent via DSP300, the 'bell ' bit (TOPT/2/14) is reset,
and control goes to DSPZ5 where the next item on the thread is checked.
If no clear display or bell was requested, check if the screen position of
left most character for output (TOPT/3/13-8) is 32. If it is, the TOPT is
removed from the thread and VL2SCN goes on to the next terminal in the thread.
If the output for the terminal is not yet complete, check if screen position
of last character output + 1 is beyond the right-most position of the screen.
If it is, a flag (CARPOF) is set so that an address will be sent before the
next character to be output. The data definition bits (00 = data, 01 = interrogate, 10 = idle/supervisor) are extracted from TOPT/2/7-8. The data definition is used as an index to the limit table to calculate the position of the
leftmost character for output.

PAGE NO.

AA5641

768

'tiNTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA
----------------------------------------------------------------

PROGRAMNAME __~V~L=2=S=C~N____~9~7~O~-~3=2~D~is~p~1~a~y~D~r~i~v~e~r__________________________~L~e~v~e~1~O~6~________

The position of the next character is used along with the overflow count to
calculate the next character position in the TOPT (stored in SOFTPT). The
most significant bit of the 8-bit character is checked. If set, the character
has not been output and control goes to DSP]30, where the CARPOF flag is used
to see if an address must be sent. Either the address or the character is
sent via DSP300. When a character is sent, the not sent bit is cleared, the
last character output + 1 (TOPT/3/0-6) is updated and control goes to DSPZ5
where the next item on the thread is checked. If the most significant bit
of the character is not set, advance to the next position in the TOPT and
screen and increase leftmost position if required. Then if HDWPNT points
position 32, go to osp405 to check the position of last character output + 1.
If not position 32, go to DSP74 ro Dsp80 to fix the SOFTPT according to DATA
flag.
INTERFACE
1.

ENTRY METHOD
Return jump

2.

INPUT PARAMETERS OR CONDITIONS
None

3.

EXIT METHOD
Jump indirect through entry return to caller.

4.

OUTPUT PARAMETERS OR CONDITIONS
None

ASSEM8LY CHARACTERISTICS
1•

EQUATES
a.

LOCORE
LPMASK

(2)

NZERO

($12)

ZERO

($22)
IT

($23)

ZROSIT

($33 )

THSLFS

( $4c)

O,~EB

PAGE NO.

AA5641

769
------'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_8_E_~_DA_T_A_'____________________________________________________
PROGRAMNAME ____V_L_2_SC_·t_~__-__~9-~IO_-~3_2__
D_is~p_l_a~y__
D_r~iv_e_r_________________________=L~ev~e~l~O~6________

b.

TOPT
CHAR ItJ

c.

(4)

CONSTANTS
BELL

(4)

Bell output code

CLRALL

( $19)

Clear display output code

ADCHPT

($60)

Address bits for output

DATALO

(18 )

Data length of data area

DATAL 1

(29)

Data length of interrogate area

DATAL2

(32)

Data length of idle/supervisor area

2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
None

4.

DATA AREAS· USED
TOPT
SST

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS

2.

A9 16 = 16 9 10 words.
RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Not reen t ran t.

PAGE NO. _7_7_0_

AA5641

"tiNTED IN THE USA

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I MS

PROGRAMNAME __~V~M~M~-~V~e~r~i~f.y~Mo=d=e~P~r~o=c=e=s~s=0~r___________________________________________________~L~e~v~e~J~6

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
VMM processes characters entered in Verify mode. The program exits to
ClRSR, or EORVR if at end of field and there are no verifiable fields left
in the current record. If a mismatch occurs, the entered character is
saved. 10K mode is set and exit is via ERROR.
There are ten additional entry points contained in VMM. They are:
VMM1, RVFVER, VMM2, NOVAl, EORTST, ENDOF1, SETBEG, MATCH, GETNZ.

2.

OETAllED DESCRIPTION
(VMM). Save the current character in ATT/ATEMP. Check ATT/SW2/15 to see if
the first nonfill character in the record has been found. If not, (GETNZ)
check the Recording mode for variable. If variable, check for automatic
function to look for right-justify space fill for alpha fields or leftjustify zero fill for numeric fields. Set up fill character and set ATT/
SW2/15 (first nonzero flag). Call subroutine GBYTE (GSE). Test the
character against the fill character. If it is the fill character, set
ATT/SW2/5 (SKIP needed at EOF), check for end of field, update character
counts, and go get next character. If the end of field is reached with
no nonfill character found, clear ATT/SW2/15 and go to MISS. If a nonfill
character is found or when the Recording mode is not variable, (TEST),
check the Entry mode character against the Verify mode character. If it
does not match, (MISS) display sign needed error if field data type
(ATT/FDTP/12 = 1) signed and sign was not entered; illegal character error
if sign entered when not required; or, if not a sign error, store the
verify character entered at ATT/MISCH, change the mode to 10K (ATT/CMODE/14 = 1)
and display a mismatch error. In both mismatch cases, exit is via ERROR (GSE).
(MATCH). Update character pointers, display the character and check for
end of field.' If not at end of field, go to CLRSR to clear the exits stack
and lockout. If at end of field, make sure sign was entered if necessary
and check for forced skip at end of field, either if ATT/SW2/5 on, or
Boundary Check required in the format. If so, go to EMMSKP (EMM) to set
skip key required and 10K mode. If no forced skip, go to ENDOF1.
(ENDOF1).

If revalidation is required (ATT/SW2/13

PAGE NO.

AA5641

= 1), call VAlDTE.

771
... INTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_D_AT_A__I_t1_S___________________________________________________________
PROGRAMNAME ____V_M_M__-__V_e_r_i_f~y__
t1o_d_e__P_r_o_c_e_s_s_o_r__________________________________________l_e_v_e_1___
6

(NOVAl) (RVFVER). If verification is required (ATT/SW2/l4 = 1), clear
the reverify required flag, (SETBEG) set pointers to beginning of field,
and check current field to see what the verification type is (CHKVRY).
If not sight verify, call DISPlY to clear the field and display the
column number. (SETFlD) clear the first nonfill skip needed next flags,
regenerate the display if required (ATT/SWITCH ~ 0), or set the display
for beginning of field, and display column no. (END) if ignore first
skip flag is on (ATT/SW1/9), set IDK mode. (END1). Exit via CLRSP\O
(SIGHT). If sight verify is required, set IDK mode and set CONT key
must be next bit (ATT/SW1/S). Either regenerate the display or set
display for beginning of field, display the field, clear the regenerate
switch, and go to Ei~D. If no reverification is required, the Terminal mode
is Pseudo Verify, and this is an insertion record, exit to TSTREC (EMM)
to handle the inserted record via the COR key when this is the last
field in the record or to set up for the next field when this is not
the last field. If no verification is required, the terminal mode is
Pseudo Verify, and this is not an insertion record, set all pointers
to the beginning of the next field (SETBEG), set the display to beginning
of field and exit via ClRSR. If no reverification is required and the
terminal mode is not Pseudo Verify, display end of field and test for
end of record.
(EORTST). If this is the last field in the record, increment the record
count (ATT/RCD) , set the regenerate display flag and jump to routine EORVR.
If this is not the last field in the record, return jump to BOFFE (EMM) to
advance pointers to the next field in the format table and store the data
type of the next field in the ATT. Then VMM1.
(VMM1).

Clear the character count in this field (ATT/FCNT).

(VMM2). Check the next field for verification type. If no verify, update
pointers to end of field and jump to EORTST. If sight verify, jump to
SIGHT. If other verify, jump to SETFLD. ,
(SETBEG). Repositions the character count in the current record and field
to the beginning of the next field.
(CHKVRY). Check the ATT to see if verification by format is requested.
If so, check the verification type of the current field. If the field is
specified for verify, mask off bit 0 to show 0 = sight verify, 1 = key
verify. In addition, if the field is autodup or autoskip, is not the first
record in the format, or has the autodup change flag set, then skip
this field. Otherwise, verify it.
If verification by format is not requested or the field is not specified
for verify, check for verification of error flagged fields or unbalanced
counter fields.

PAGE NO.

AA5641

_7_7_2_

... ,NTED IN THE U!oA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_D_AT_A__I_~_1S__________~_______________________________________________
PROGRAMNAME __~V~M~M__-__
V_e_r_if~y~M~o_d_e__
P_r_o_ce_s_s_o~r___________________________________________~l~e~v~e~1~6

INTERFACE
1. ENTRY METHOD AND INPUT PARAMETERS
In all cases, 1 = current ATT base address.
\....
VMM: Direct jump.
ATT/CURCH = current character entered in Verify mode.
GETNZ: As VMM.
MATCH: Direct jump.
Character entered in Verify mode is same as character entered in
Entry mode.
ENDOF1 : Direct jump.
NOVAl: Direct jump
RVFVER: Direct jump
EORTST: Direct jump
VMM1 :
Direct jump
Direct jump
VMM2:
SETBEG: Direct jump
CHKVRY: Direct jump
2.
~

EXIT METHOD AND OUTPUT PARAMETERS
In all cases, 1
VMM:
Jump to
Jump to
GETNZ: As VMM
MATCH: Jump to
Jump to
ENDOF1:
NOVAl:
RVFVER:
EORTST:
VMH1 :
VMM2:

Jump
Same
Same
Jump
Jump

to
as
as
to
to

current ATT base address.
MATCH
if character matches
ERROR
if character mismatch or sign missing

=

ClRSR
EMMSKP

if not at end of field
if forced skip at end of field or fill cha racters
were bypassed.
ENDOF1 -- if fixed keying or no sign entered
RVFVER
RVFVER
ClRSR
EORVR

--

Jump to ClRSR

SETBEG: P + 1 return to caller
ATT/RCNT -- updated to next field
ATT/FCNT/O-7 ~ 0
CHKVRY: P +
A
A
A=
A=
A=

1
0
0
1
2
3

Return to caller
No verify
Sight verify
Key verify by format
Error flagged field requiring .key verify
Unbalanced counter field requiring key verify.

PAGE NO.

AA5641

773

nlNlfn IN HH II~ ...

CONTROL DATA CORPORATION

DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA I MS

~~~~--~--------~-----------------------------------------

PROGRAMNAME ___V~M~M~-~V~e~r~if~y~M~od~e~P~ro=c~e~s~so~r___________________________________w~ye~1~6

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. LOCORE
LPMAS K (2)
NZERO ($12)
ONEBIT ($23)
ZROBIT ($33)
SST ($47)
CLRSR ($93)
GBYTE ($94)
ERROR ($96)
01 SPLY ($AO)
b.

c.

d.

2.

ATT
CMODE (2)
CURCH (2)
FCNT (3)
RCNT (4)
MISCH (S)
FDTP (13)
SW1 (19)
SW2 (20)
SWITCH (24)
RCD (32)
COUNT (36)
ATEMP (73)
SST
CFFA (12).
STEMP (20)
ERROR CODES
ERR2 (2)
ERRS (S)

Sign missing
Mismatch

MACROS USED
None

PAGE NO.

AA5641

774
.. RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

________~____________________________________________

DOCUMENTCLASS~C~Y~BE~R~D~A~T~A_I~M~S

VMM - Verify Mode Processor
L~el 6
PROGRAMNAME __________________________________________________________________
__

3.

PROGRAM DEPENDENCIES
EMM-

VALDTE
BOFFE
TSTREC
EMMSKP
DISPLY- DISPLY
DCAROL
DEOF
DBIF
DEOREV
DBSF
DSPFLD
DCOL
CLEARS- CLRFLD
CREGEN- REGEN
EORVR
FMTPAR
GSE- .
GBYTE
ERROR
ENEXSR- CLRSR

, ....... __.

4.

DATA AREAS USED
ATT
SST

PHYSICAL CHARACTERISTICS
1. MEMORY SPACE REQUIREMENTS
135 16

= 309 10 ,

words.

2.

RELOCATION TYPE
Loader relocatable.

3.

ENTRANCY CLASSIFICATION
Dormant reentrant.

PAGE

AA~h4t

NO.

775

CONTROL DATA CORPORATION
CYBERDATA IMS
DOCUMENTCLASS ________________________

~

•

PSSD

•

SOFTWARE DOCUMENT

__________________________________________________

WBT - Write Batch to Tape
Level __
6
PROGRAMNAME __________________________________________________________________________________
PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
WBT is the first overlay of three overlays function, which transfers
batches from disk to tape.
The command format is as follows:
WBT, job Cstart batch]
Gfinish batch]
[, cond it ions]
[,STOP]
GNEW]
GMTF = n]
"job" is the job name of the job to be written. "Start batch" is the
number of the first batch to be written to the tape by the command
(defalut is 1). "Finish batch" is the number of the last batch to be
written to the tape by the command (default is 999). "condition is
one or more of the following key parameters"
WR

=H}

UB

={~}

ER

={n

Y - represents YES, N - represents - NO and B represents both (default is N) •
WR
Y means that only "wr i t ten" ba tches wi 11 be written to the tape.
WR = N means that only unwritten batches will be written to the tape.
WR = B means that batches will be written to the tape, regardless of
their "written" status.
UB and ER relate to "unbalanced" and "erroneous" statuses, in the same
way.
STOP - signifJes that if one of the batches, in the range start batch finish batch, is not completed or does not meet the above mentioned
conditions, than the function will be terminated.
NEW - specifies that a new file will be opened by the command, regardless
of the "batch grouping factor" parameter in the Mag. Tape Format.
MTF = n specifies that MTF number n will be used in this command, instead
of the job MTF.
The main functions of the WBT program are:

PAGE NO.

AA5641

776

... INTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S__________~_______________________________________________
PROGRAMNAME ____W_B_T__-__W_r_i_t_e__
Ba__
tc_h__t_o__T_a~p_e____________________________________________L_e_v_e_1___
6

2.

a.

Check the command parameters and put them in the Mag. Tape
Communication Area (MTCA). An erroneous parameter terminates
the command.

b.

Get a buffer for the command execution.

c.

Get the appropriate MTF.

d.

Open the tape, i.e. search for the Cyberdata tape trailer, check
its fields, and position the tape to the location of the next record to
be written.

e.

Get tape recovery record from the "Tape Recovery Area", on the disk.

f.

Load code conversion program, if needed.

g.

Ca 11 MATER.

DETAILED DESCRIPTION
On entering the WBT program, the command parameters are stored in the
Interrogate buffer in the form entered by the operator.
The program performs the following steps: a.

Check job name and store it in JNAME.
If job name was not keyed or is too long, theprogram is terminated.
(later the job name is checked against the LJD).

b.

Check and store the start and finish batch numbers. If start batch was
not keyed put 1; if finish batch was not keyed put 999.

c.

Check the key-word parameters: WR = , UB = , ER = , STOP, NEW, MTF =
(regardless of their order Ln the Int. buffer). According to the keyword the program goes to the relevant routines, to check and store
the parameters.
The WR, UB, ER, STOP and NEW Parameters are stored as bits of the
STATUS word, in MTCA. The MTF number, is stored in MTFNUM.
If one of the parameters is erroneous or appears more than once, the
program is terminated.

d.

Check the job name (TNAME) against the LTD.
terminate.

e.

Get the MTF number from MTFNUM, or if it does not appear, from the job
entry in the LTD, and read the MTF.

f.

Check if recording code, in the MTF, is acceptable by the mag. tape
(BCD is not accepted by 7 tracks tape).
If the recording code was not entered in the MTF, put EBCDIC for 9-track
tape and BCD for 7-track tape.

PAGE NO.

AA5641

If it does not match -

777
.. RINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_O_AT_A__I_M_S___________________________________________________________
PROGRAMNAME __~W~B~T__-__W~r_i~t_e~Ba~tc~h~t~o~T~a~p~e~________________________________________~L~e~v~e~1~6

g.

For 7-track tape, compare the block length, in the MTF to the driver
The second must be greater or equal.

bufferl~ngth.

h.

Get the following buffers:
•

EOO buffer (connected to EOOAOR) for, the EOO record and for the
format number tables.

•

Output buffer (connected to OUTBUf) for the output blocks which are
written to the tape.

•

TRB buffer (connected to TBB) for a data record.

•

Input buffer (connected to INBUF) for the input blocks which are
read from the data disks.

i.

Search for the EOOl record on the tape. The program skips 4 records
back backwards on the tape, and checks if the next two records are
Tape Mark and EOOl record; if not the tape is rewound and the
searching starts from the beginning. The search for EOOl continues
until the EOOl record is found or until end of tape, or read error
(including short read) occurs.

j.

Read the EOO record (the record following the EOOl record).

k.

Compare the job name of the command with the job name of the EOO record;
if not equal, print a message to the operator and receive "CU" to
continue or "TR" to terminate.

1.

Get recovery record area from the recovery area on the disk.
recovery area is full, the command execution is terminated.

m.

If the recording code is not ASCII or BCD, then load the appropriate code
conversion routine, which resides in the." memory during the command
execution.

n.

Convert the Padding character, in the MTF, according to the recording code.

o.

Release WBT and call in MATER.

If the

PAGE NO.

AA5641

'RINTED IN THE USA

CONTROL DATA CORPORATION
CYBERDATA IMS
DOCUMENTCLASS ________________________

~

•

PSSD

•

SOFTWARE DOCUMENT

________________________________________________

PROGRAMNAME ___________________________________________________________________________________
WBT - Write Batch to Tape
Level __
6

INTERFACE
1.

ENTRY METHOD
WBT receives control from DSKSUP via ENTPRG.

2.

INPUT PARAMETERS
a.

Command parameters - received in the Interrogate buffer, in the form
entered by the operator.

b.

Mag. Tape Format (MTF) - read from the MTF's table (start address is in
MTFDA of EST). See "MAG TAPE FORMAT TABLE" in CYBERDATA SOFT\..JARE
USER'S GUIDE.

c.

Cyberdata tape trailer - this trailer is composed of 3 records,
proceeded by a Tape t~ark (EOF). The records are:
EOD1

record~

EOD record and the Noise record.

The EOD1 is a 40 words record in which the first two words c.ontain the
characters EOD1, written in the tape recording code. The content of
the other 38 words is not important.
The EOD record is a1so 40 words 1ong, written in binary mode, immediately
after the EOD1 record. See "END OF DATA TRAILER" in CYBERDATA SOFTWARE
USER'S GUIDE.
,.,

The noise record is a short block of 3 words. It signa1s the end of
data when the tape was recorded in a code which differs from the MTF
recording code.

3.

4.

EX IT METHOD
a.

Normal exit is to MATER, by RTJ - (ENTPRG).

b.

Error exit is to REJSUP, by JMP - (REJSUP).

OUTPUT PARAMETERS
a.

MTCA - see MAG TAPE COMMUNICATION AREA, in CYBERDATA SOFTWARE USER'S
GUIDE.

b.

The EOD buffer, with the EOD RECORD.

PAGE NO.

AA5641

779
•• u,nrn

I .... 1 ••U

IIC. ..

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT
,

\
\.

DOCUMENTCLASS~C~Y~B~ER~D~A~T~A~IM~S~

.-'

______~____________________________________________

WBT - Write Batch to Tape
Level __
6
PROGRAMNAME __________________________________________________________________
c.

The following messages may be printed by the WBT module:
1)

INVALI D JOB NAM

2)

I NVAL I D BATCH NUMBER
INVAL I D PARAMETER
MEMORY FULL - ENTRY
I NCOMPLETE COMMAND
TAPE I/O ERROR
END OF TAPE
ANOTHER JOB RECORDED ON THIS TAPE
TYPE CU/TR TO CONTINUE/TERMINATE.

3)

4)
5)

6)

7)
8)
9)

10)

INVALID MTF NUMBER OF MTF PARAMETER
BLOCK TOO LONG FOR 7-TRACK TAPE

ASSEMBLY CHARACTERISTICS
1•

EQUATES
a. SST
TEMP1, TEMP2
b. TRANSFER VECTOR
ENTSR
RTNSR
GETBIN
TAPIO
GETALP
ENTPRG
EXDFUN
SUPRW
GETCOM
CAM
WAIT
REJSUP
EXTSR
CLCDWA
REDDWA
WRTDWA
RELFOR

PAGE NO.

AA564t

780

'tiNTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

~'--

DOCUMENTCLASS __C_Y_B_E_R_D_AT_A__I_M_S__________~_______________________________________________
PROGRAMNAME ____v_JB_T__-__W_r_i_t_e__B_a_t_ch__t_o__T_a~p_e____________________________________________~L~e~v~e~l~6

c.

EST
MTFDA - MTF disk address (EST word 42).

d.

ATT
JIDX - job index
MAXREC - job maximum record length
INBUF - input buffer pointer
TRB - record buffer
TRMNT - terminate flag
IRB - interrogate buffer pointer
OUTBUF - tape output buffer pointer
BATCH - length number and disk L.U.N.
ATEMP - ATT temporary word

e.

COMMUNICATION AREA
SVCA - start of communication area
BCOUNT - tape I/O blocks counter
MTCA - start of Mag. Tape Communication Area
MTFENT - mag. tape routines entry parameter
MTFEXT - mag. tape routine exit program index
EODADR - EOD buffer pointer
t1TF - t1ag. Tape Format (5 words)
STRBAX - start batch number
ENDBAX - finish batch number
STATUS - status conditions word
TRANUM - Tape Recovery Area Number
JNAME - job name (3 words)
MTFNUM - MTF number
Note:

f.

see MTCA table in Cyberdata software user1s guide.

GENERAL EQUATES
LOW CORE EQUATES
ASCI I character equates for:

N, X, Y,

= ,0

P, B, F, W

FR - ASCI I format read PIO request code
FW - ASCI I format write PIO request code
BFR - Binary format read PIO request code
CODFR - Code conversion format read PIO request code
MO - Motion PIO request code
MAXTRA - Maximum number of tape recovery areas.
EODLNG - EOD record length
FMTLNG - Format numbers table length
MATER - MATER program index

PAGE NO.

AA5641

781

'1INTfO IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

__________~__________________________~___________________

DOCUMENTCLASS~C~Y~B~E~R~DA~T~A~I~M~S

WBT - Write Batch to Tape
Level _6
PROGRAMNAME ________________________________________________________________________
2.

MACROS USED
None.

3.

PROGRAM DEPENDENCIES
a.

ENTRY POINTS
None.

b.

EXTERNALS
SETMOV
GETLTD
PRTMSG
BD
LOG1A - LOG1A address
SITRDA - Tape Recovery 'Disk Address
CODPRG - Code Conversion Program indices table (in PIO)

Transfer vector rout i nes - see 1,

4.

EQUATES, in th i s chapter.

DATA AREAS AND SYSTEM TABLES USED
The following system tables are used in WBT: SST, EST, ATT, MTF, Tape
Recovery Area, LOG1A.
Buffers allocated or used by WBT are:
IRB - Interrogate buffer
INBUF - Input buffer
OUTBUF - Output buffer
TRB - Record buffer
EOD - EOD record and Formats number table buffer.

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
830 words.

2.

RELOCATION TYPE
Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Reentrant, partially locked.

PAGE NO.

AA5641

782

"."HED IN THE USA

CONTROL DATA CORPORATION

e

PSSD

..

SOFTWARE DOCUMENT

DOCUMENTCLASS __~W~R~T~F~M~T________________________________________________--__----__________
PROGRAMNAME ____~W~r~i~t~e~F~o~rm~a~t~t~o~D~i~s~k~_____________________________________________________

PROGRAM FUNCTION
1. GENERAL DESCRIPTION
WRTFMT writes a format description on the disk. If a previous format exists
with same format number, the new format description is written in the disk
space occupied by the previous format description, unless there is not sufficient
space for the new format. In that case, available disk space is used.
Format Link Table (FLK) and Legal Format Directory (LFD) are updated.
2. DETAILED DESCRIPTION
a. (LOCKED). If (LOCK) # 0 (WRTFMT module is busy), call WAIT to delay one
processing cycle before repeating this step.
a
o
o
a
o
a
o
o
a
o
o
o
o

If (LOCK)
0) set it to 1.
Set (NFL) = New Format String Length.
Set (NRL) = Maximum no. of Characters in Record - 1 for New Record.
Set (NFLS) = New Format String Length in Sectors.
Set (FMTN) = Format Number.
Call GFCORE to bring previous format definition into core.
If format does not exist, go to step b.
Set (OFL) = Previous Format String Length.
If (NRL) # max. no. of characters in Record - 1 for previous format, go
to step e with (Q) = 1 (Record Length Error).
If Previous Format occupies fewer sectors than new Format, go to step b.
Call CONMMA to compute disk address for previous format in Legal Format
Directory (LFD).
Call RW2WRD to read entry from LFD.
Go to step d.

b. (NEWFMT).
header.
o
o
o
o
a
o
o
o
o
a
o

Call CONNMA to calculate disk address of Format Link Table (FLK)

Call RW2WRD to read 2-word FLK header.
If there are sufficient available sectors on the current track for new
format description, go to step c.
If FLK table is full, go to step e with (Q) = 2 (FLK Full).
Set (AVLSCT) = 16 (Full track available).
Call GITRT to allocate an available track.
If no track is available for assignment, go to step e.
with (Q) = 3 (Disk Full).
Set (TRK) = address of allocated track.
Call RW2WRD to write 2-word FLK header showing full track available.
Call CONMMA to calculate disk address of current FLK entry.
Call RW2WRD to write new format track address in current FLK entry.
Repeat step b.

783 _
. PAGE NO. _____

'IINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS-2WrrRuT~F~H~T

________________

~

•

PSSD

•

SOFTWARE DOCUMENT

_______________________________________________

Write Format to Disk
PROGRAMNAME __________________________________________________________________________
__
c.

d.

(WRT1).

of available sectors on current track.

Set (AVLSCT) = Number of available sectors - number of sectors in
new format.

•

Call

•

Call COMMA to calculate address of current FLK entry.

•

Call RW2WRD to read current FLK entry.

•

Set (SECTOR)

R\~2WRD

to rewri te FLK header with new val ue of AVLSCT.

= sector

address of available area.

• Call COMMA to calculate disk address of format entry in LFD.
(WFMT). Call RW2WRD to write LFD entry with new format sector address
and new format length.

•

Call WRTSEC to write the format description string to disk.
Set (Q) = O.

(ERROR).

Save (Q) in ATT/ATEHP.

••

Call RELFOR to release previous format description from core.
Call EXDFUI'J to release WRTFMT module from core~
Set (LOCK) = 0 (WRTFMT module not busy}.

•
•

Set ATT/PFI3A =
Set ATT/FMTNO

•
•

•

•
f.

= Number

•

•
e.

Set (PAVLS)

If ATT/CALRPI

o (No format).
o (rJo forma t) •
= o (Caller's Program

Index), go to step f.

Call ENTPRG to load and execute entry point 1 in call ing module.

(NORTN).

Call RELFOR to release new format description from core.

•

If ATT/ATEMP = 0 (No errors), exit to SV.

•

Convert error code in ATT/ATEMP from 1,2, or 3 to 10, 50, or 51,
respectively, and exit to REJSUP to issue one of the error messages:
INVALID RECORD LENGTH
(10)
FORMAT LINK·TABLE FULL (50)
DISK FULL
(51)

INTERFACE
1.

ENTRY METHOD
WRTFMT is disk-resident. It is called via ENTPRG routine.
second overlay of EFM and of LODFMT.

2.

I,
AA5641

Used as a

I NPUT PARAMETERS OR COi'JD IT 10liS
(I) = Base address of Active Terminal Table (ATT).
CALPI = Function index of caller in case return is required.
FMTBAS = Pointer to the new format in core.
PAGE NO. __
7_8_4_

PRINTED IN THE USA

.

CONTROL DATA CORPORATION
DOCUMENT CLASS

•

PSSD

•

SOFTWARE DOCUMENT

WRTFMT

--------------------~--------------------------------------------

Wr i te Forma t to Disk

PROGRAM NAME

3.

EXIT METHOD
Exit is to REJSUP if an error is detected, to the second entry point of
the disk resident calling program if it was indicated.

4.

OUTPUT PARAMETERS OR CONDITIONS
(I) = Base address of ATT.

ASSEMBLY CHARACTERISTICS
1.

EQUATES
a. LOCORE
L Pt~A SK ( $2 )

b.

c.

NZERO ($12)
ZERO ($22)
ONEBIT ($23)
ZROB IT ($33)
CLCDWA ($90)
EXTSR ($92)
GFCORE ($9D)
ENTP RG ($9 E)
EXDFUN ($9F)
WRTSEC ($A3)
RED\~RD ($A9)
WRTWRD ($AA)
RELFOR ($AD)
WAIT ($BO)
SV ($B1)
REJSUP (B2)
ATT
PFBA (07)
FMTNO (13)
PI (21)
SUPCOM (36)
CALRPI (SUPCOM + 6)
FMTBAS (SUPCOM + 10)
ATEMP (73)
EXTERNALS
- FLK disk address, defined at SI time.
SIFLNK
- LFD disk address, defined at SI time.
SILFD
- Get one track, entry point in DAM.
G1TRT

PAGE, NO.

785

'IINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~W~R~T~F~M~T

•

PSSD

•

SOFTWARE DOCUMENT

_________________________________________________________________

Write Format to Disk
PROGRAMNAME ________________________________________________________________________
_
2.

MACROS USED
None

3.

PROGRAM DEPENDENCIES
PIO
ENEXSR
ENTPRG
GFCORE
SUPER
DAM

4.

CLCDWA
WRTSEC
RED\~RD

WRTWRD
EXTSR
WAIT
ENTPRG
EXDFUN
GFCORE
RELFOR
SV
REJSUP
GITRT

Calculate Disk Word Address
WI" i te Sector
Read Disk Word Address
Write Disk \lord Address
Exit subroutine
One-cycle delay
Enter a Disk Resident Program
Release a Disk Resident Program
Get Format into Core
Release format
Supervisor Command Processor
Reject Supervisor Command
Allocate a disk track.

DATA AREAS USED
Active Terminal Table
ATT

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS

= 190 10 words
16
RELOCATION TYPE

BE
2.

Disk resident, run anywhere.

3.

ENTRANCY CLASSIFICATION
Not reentrant.

PAGE NO.
AA5641

786

'tINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

CYBERDATA IMS
XPL
Level __
6
PROGRAMNAME ____________________________________________________________________________
DOCUMENT CLASS

PROGRAM FUNCTION
1.

GENERAL DESCRIPTION
XPL is a supervisor function to display the layout of any supervisor command
or a list of expanded names of the supervisor commands where-

2.

a.

XPL

b.

XPL,aaa

display a list to expanded names of the supervisor commands.
display the layout of aaa supervisor command.

DETAILED DESCRIPTION
XPL first enters SETM0V to enable program moving, checks the 4th character
keyed to be a comma or end of record, else go to REJSUP to indicate inval id
command format (ERR9). If a comma is found, collect 3 characters of command
mnemonic, check them to be val id ASCI I characters and pack them into one
word key. Check if end of record follows, else go to ERR9. Then a look up
loop is performed to find a corresponding entry in a keys table. If not found
go to REJSUP to indicate that program does -not exist (N0PRG). Else the
distance from beginning of table of that entry is saved and a core request
for lengths table of layout texts is issued (the lengths table and layout
tests reside in disk as a miscel laneous program). Then the table disk
address is calculated and the table is brought by REDTAB subroutine. If
names list is requested (ATT/FLAG=FFFF) another 25 word core request is
issued. But if command layout is requested, the text length of the
requested command is extracted from the lengths table, the relative
location of the length table area is released and a new core request for
the text is issued.
Then according to the calculated disk address a command layout text or an
expanded name is read by REDTAB subroutine. If it is first time an
interrogate buffer of 48 characters is requested and if the list device
is not TTY a page eject request is issued. Then blanks are spread in
the interrogate buffer and the pointers of the input/output buffers are
initiated. If a names list is requested the command mnemonic is stored
at the beginning of the output buffer and then the required text is moved.
Output request to display the line is issued and if CANCLE/SX was keyed,
exit to SV after releasing the requested core (EXIT). If function is
not terminated and list device is 970-480 and end of screen occurred,
enter C0NCAN to check cancle/continue. If cancel go to EXIT, else
perform top screen request for 970-480 device then spread blanks in output
buffer. If names list is requested and last command name displayed go to
EX IT, else loop back to read next expanded command name (NEXT3). If
command layout is requested and it is not last line of text loop back to
display next line (NXTLIN) els~ go to EXIT.

PAGE NO.

AA5641

787

'IINTED IN THE USA

CONTROL DATA CORPORATION
DOCUMENTCLASS~C~Y~BE~R~D~A~T~A~IM~S~

•

PSSD

•

SOFTWARE DOCUMENT

______~____________________________________________

PROGRAMNAME ____
XP_L_________________________________________________________L_e_ve_l___
6
INTERFACE
1. ENTRY METHOD
XPL is a supervisor function loaded by ENTPRG.
Only entry point is XPL.
2.

INPUT PARAMETERS OR CONDITIONS
1 = current ATT address
Operator enter either
XPL
XPL,aaa

3.

EX IT METHOD
a. Jump to REJSUP with appropriate error codes
b.

4.

Jump to SV

OUTPUT PARAMETERS OR CONDITIONS
1 = current ATT address

ASSEMBLY CHARACTERISTICS
1. EQUATES
a. L0C0RE
ZER0 ($22)
LPMASK (2)
0NEBIT ($23)
SST ($47)"
b.

c.

SST
PRD (3)
STEMP (20)
TRANSFER VECT0R"
CLCDWA ($90)
ENTSR ($91)
EXTSR ($92)
SUPRW ($97)
GETALP ($9B)
GETC0M ($9C)
REDWA ($A9)
CAM ($AE)
SV ($B1)
REJSUP ($B2)
PAGE NO. 788

AA5641

,aINTED IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_YB_E_R_DA_T_A__
IM_S________________________________~_______________
PROGRAMNAME __~X~P~L__________________________________________________~L~e~v~e~l~6

d.

e.

ATT
PINT (27)
CANC (23)
SCA (36)
SC0 (SCA+1)
FUNAME (SCA+l0)
NAMLIM (SCA+.11)
ITMLNG (SCA+12)
C0RADR (SCA+13)
LUTYPE (SCA+14)
INTIX (SCA+15)
FLAG (SCA+16)
LTADD (SCA+17)
FUNCNT (SCA+18)
CONSTANTS
A ($41)
8
($42)
C ($43)
D ($44)
E ($45)
F ($46)
G
($47)
H
($48)
"
($49)
J
($4A)
K
L

($48)
($4c) .

M

Z

($4D)
($4 E)
($4F)
($50)
($51)
($52)
($53)
($54)
($55)
($56)
($57)
($58)
($59)
($5A)

FW

(3)

N

o
P
Q
R

S
T
U
V
W

X
Y

M0T (5)

Formatted write code
Motion request code

PAGE NO.

AA5641

789

... INTeD IN THE USA

CONTROL DATA CORPORATION

•

PSSD

•

SOFTWARE DOCUMENT

DOCUMENTCLASS __C_Y_B_E_R_DA_T_A__I_M_S__________~_____________________________________________
PROGRAMNAME __~X~P=L____________________________________________________________~L~e~v~e~1~6

2.

PROGRAM DEPENDENCIES
(SUPRW)
PIO
(CLCDWA)
(REDWA)
(GETBUF)
C0NCAN
SCANV
- (GETALP)
(GETC.0M)
CAr~

SUPER
ENEXSR

3.

- (Sv)
(REJSUP)
- (ENTSR)
(EXTSR)
(SETM0V)

-

Read from/write to supervisor devices.
Calculate word address of disk.
Read n words from disk according to word address.
Get interrogate buffer for terminal.
Wait for continue or cancel key.
Get alpha character from input string.
Get next comma or end of record from input string.
Allocate core buffer.
Conclude supervisory function request.
Generate error message to supervisor.
Common subroutine entry.
Common subroutine exit.
Enable disk resident program to move.

DATA AREAS USED
SST
ATT

PHYSICAL CHARACTERISTICS
1.

MEMORY SPACE REQUIREMENTS
13 F = 319 10 words.
16
Buffer of 25
words for text display.
10

2.

REL0CATION TYPE
Run anywhere.

3.

ENTRANCY CLASSIFICATION
Reent ran t.

PAGE NO.

AA5641

790

'IINTED IN THE USA



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Producer                        : Adobe Acrobat 9.13 Paper Capture Plug-in
Modify Date                     : 2009:08:26 17:57:16-07:00
Create Date                     : 2009:08:26 17:57:16-07:00
Metadata Date                   : 2009:08:26 17:57:16-07:00
Format                          : application/pdf
Document ID                     : uuid:5a39d209-3fa3-44e0-bb1b-94c6069c1ae0
Instance ID                     : uuid:3506c94d-27ac-4b3e-8d46-c4df34a13dfa
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 797
EXIF Metadata provided by EXIF.tools

Navigation menu