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 .
Page Count: 797
Download | |
Open PDF In Browser | View 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; Q ROGRAMNAME ___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. 0 A 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 : 797EXIF Metadata provided by EXIF.tools