PCON752 CSY/ P€1_%NAM CON752_'DECK-ID A01 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1****************************************************************_^1*_$THIS ROUTINE CONVERTS 752/029 AND 752/TTN KEYBOARD INPUT_^1*_$CODES TO ASCII EQUIVALENTS. (CYBERDAT€€A STANDARD CODES)_^1*_]_^1*_$ON ENTRY ATTTMP CONTAINS THE CODE ENTERED_^1*_.I CONTAINS THE ATT-ADDRESS_^1*_]_^1*_$ON EXIT CURCH CONTAINS THE CHAR AFTER CONVERSION_^1*_-Q = 0 WHEN THE KEY ENTERED IS A FUNCTION_^1*_-Q = ASCII VAUE_^1*_]_^1****************************************************************_^1*_]_^1*_$M A C R O_#D E F I N I T I O N_#*_^1*_]_^1*_$THE PARAMETER P IS THE COD€€E CONTAINED IN Q_^1*_]_^1MAC029 MAC P_,THIS MACRO LOADS THE OPPOSITE CODE_^1_%LDA MTA029,'P'_"FROM THE PROPER TABLE_^1_%TRA Q_,(029 KEYBOARD/MTA029 TABLE)_^1_%EMC_]_^1*_]_^1*_]_^1*_]_^1_%SPC 5_^1_%ENT CON752_'THE ENTRY POINT OF THE PROGRAM_^1_%EJT_]_^1***********_^1* EQUATES *_^1***********_^1_%SPC 10_^1_%EQU ONEBIT($23),LPMASK(2),NZERO($12)_^1_%EQU ATTTMP(73),CMODE(2),CURC€€H(2),DT(13)_^1_%EQU RES($19),DSPLY($1C)_^1_%EQU DZERO($0F),FC($10),OPBRAC($5B),CLBRAC($5D)_^1_%EQU ACCENT($60),OBRACE($7B),CBRACE($7D)_^1_%EQU EQUIVA($7E),RUBOUT($7F)_^1_%EQU ADISP($EA)_"ADDR OF DISPATCHER_^1*_]_^1_%EQU PERIOD(05),COMMA(07)_?P2*L0010_^1_%EJT_]_^1*_]_^1************_^1*THIS SECTION:_^1* -CHECKS THE ERROR-LOCK FLAG_^1* -CHECKS THE INTERROGATE FUNCTION FLAG_^1* -€€CHECKS IF THE INPUTCODE IS AN ASCII-96 CHAR_^1* -CHECKS IF THE INPUTCODE SHOULD BE CONVERTED TO RIGHT_^1* CYBERDATA-CODE_^1* IF YES IT IS CONVERTED VIA THE MTA-TABLE_^1************_^1*_]_^1*_]_^1CON752 NUM 0_^1_%LDA- (I)_^1_%AND- ONEBIT+11_#TEST IF ERROR LOCK SET_^1_%SAZ C75201_'NO_^1_%LDA- ATTTMP,I_$YES, ACCEPT ONLY RESET AND DISPLAY_^1_%INA -RES_)CHECK FOR RESET-KEY_^1_%SAZ €€C75201_^1_%INA RES-DSPLY_#CHECK FOR DISPLAY-KEY_^1_%SAZ C75201_^1_%JMP- (ADISP)_^1*_]_^1*_]_^1C75201 CLR Q_RP2*L0010_^1_%LDA- (I)_PP2*L0010_^1_%AND- ONEBIT+8_$CHECK KEYBOARD TYPE_2P2*L0010_^1_%SAZ TYP029_MP2*L0010_^1_%LDQ =N$6600_%ALLOW DOUBLE ZERO FOR TTN KEYBOARD_"P2*L0010_^1TYP029 STQ* I0F10_NP2*L0010_^1_%LDQ- ATTTMP,I_KP2*L0010_^1_%INQ -PERIOD_%CHECK FOR UPPER/CASE PERIOD€€_*P2*L0010_^1_%LDA- DT,I_)GET DATA TYPE_8P2*L0010_^1_%SQN CKCMA_NP2*L0010_^1_%ENQ $2E_*ASCII PERIOD_9P2*L0010_^1_%SAP NOCVRT_MP2*L0W10_^1_%INQ $3C-$2E_%CONVERT TO ASCII <_3P2*L0010_^1NOCVRT JMP* COMMON_MP2*L0010_^1CKCMA INQ PERIOD-COMMA CHECK FOR UPPER CASE COMMA_+P2*L0W10_^1_%SQN CONTCK_MP2*L0010_^1_%ENQ $25_*CONVERT TO ASCII %_3P2*L0010_^1_%SAM 1_,IF DATA TYPE IS NUMERI€€C_.P2*L0010_^1_%INQ $2C-$25_%NOT NUMERIC- SEND COMMA BACK_)P2*L0010_^1_%JMP* COMMON_MP2*L0010_^1*_8CHECK FOR UNUSED CYBERDATA CODES_^1*_8IF ANY FOUND IGNORE IT_^1CONTCK INQ COMMA-FC_KP2*L0010_^1_%SQZ IGNOR1_^1_%INQ FC-ACCENT_)CHECK FOR GRAVE-ACCENT_^1_%SQZ IGNOR1_^1_%INQ ACCENT-OBRACE_$CHECK FOR OPEN-BRACE_^1_%SQZ IGNOR1_^1_%INQ OBRACE-CBRACE_$CHECK FOR CLOSE-BRACE_^1_%SQZ €€ IGNOR1_^1_%INQ CBRACE-EQUIVA_$CHECK FOR EQUIVALENCE_^1_%SQZ IGNOR1_^1_%INQ EQUIVA-RUBOUT_$CHECK FOR RUBOUT_^1_%SQN CANC_^1IGNOR1 JMP- (ADISP)_LP2*L0010_^1CANC_!INQ RUBOUT-$76_"CHECK FOR $76 (THIS IN NOT CANCEL)_^1_%SQN C75211_^1_%INQ $76-$41_^1_%JMP* C75202_^1C75211 INQ $76-$61_%IF CODE IS GREATER THAN $61,_^1_%SQP C75202_'THIS MEANS IT AN ASCII-96 CHAR._^1_%INQ $20_*CON€€VERT IT TO ASCII-64 BY_^1*_8SUBTRACTING $20_^1*_]_^1*_]_^1*_]_^1C75202 INQ $41-$20_%CHECK IF CODE SHOULD BE CONVERTED_^1_%SQM CONVRT_'VIA MTA TABLE._^1_%INQ $20_*ONLY ALF/NUM- AND SPECIAL CHARS_^1*_8ARE ALREADY IN THE RIGHT (ASCII/_^1*_8CYBERDATA) CODE_^1_%JMP* OP_^1*_]_^1*_]_^1*_]_^1CONVRT INQ $20_*CONVERTS CODE 01 - 20 TO RIGHT_^1*_8CYBERDATA CODE_^1_%CLR A_^1_%LRS 1_^1_%SA€€P CONV1_^1_%INQ 1_^1_%EOR* MTA,Q_(TABLE LOOKUP/PICK UP CODE_^1_%ALS 8_,LEFT CHAR IN MTA-WRD NEEDED_^1_%JMP* GO_^1CONV1 EOR* MTA,Q_(TABLE LOOKUP/PICK UP CODE_^1*_8RIGHT CHAR MTA-WRD NEEDED_^1GO_#AND- LPMASK+7_$ISOLATE RIGHTMOST CODE_^1_%SAN CONV2_^1_%JMP- (ADISP)_^1CONV2 TRA Q_^1*_]_^1_%EJT_]_^1*_]_^1************_^1*THIS SECTION:_^1* -CHECKS THE DISPLAY AND KEYBOARD TYPE_^1* €€-CHECKS THE KEYBOARD-TYPE_^1* -IF NECESSARY THE OPPOSITE CODE OF THE KEY IS TAKEN/_^1* CONVERTED VIA THE TABLE: MTA029._^1* TO GET INTO THIS TABLE THE PREVIOUS DEFINED MACRO_^1* IS AVAILABLE_^1************_^1*_]_^1*_]_^1OP_#LDA- (I)_*CHECK DISPLAY TYPE_3P2*L0010_^1_%AND =N$600_MP2*L0010_^1_%SAZ CHKEYB_'ZERO = 752 DISPLAY_3P2*L0010_^1_%JMP- (ADISP)_LP2*L0010_^1CHKEYB LDA- (I)_*€€CHECK KEYBOARD TYPE TTN/029_*P2*L0010_^1_%AND- ONEBIT+8_KP2*L0010_^1_%SAZ TAB029_'ZERO = 029 KEYBOARD_2P2*L0010_^1_%JMP* COMMON_MP2*L0010_^1TAB029 LDA- DT,I_)CHECK FOR DATA TYPE_2P2*L0010_^1_%SAM CHKCOD_'OPPOSITE CODE NEEDED_1P2*L0010_^1_%JMP* COMMON_'NO OPPOSITE CODE NEEDED_.P2*L0010_^1CHKCOD INQ -$21_*CHECK IF CODE IS IN RANGE $21 - $5F_!P2*L0010_^1_%SQM RES1_)CODE <$21_^1_%IN€€Q -$3F_OP2*L0010_^1_%SQP RES2_OP2*L0010_^1_%INQ $60_*RESET VALUE TO ORIGIN_0P2*L0010_^1_%MAC029_$Q_$CALL MACRO TO LOAD OPPOSITE CODE OF_^1_%JMP* COMMON_'VALUE WITHIN RANGE $21-$5E_^1*_]_^1*_]_^1RES2_!INQ $3F_*RESET VALUE AFTER FOUND THAT CODE_^1RES1_!INQ $21_*WAS OUT OF RANGE_^1_%EJT_]_^1*_]_^1************_^1*THIS SECTION:_^1* -CHECKS IF ENTERED CODE IS UNKNOWN FOR CYBERDATA_^€€1* -THE VALID CODE IS PUT IN WORD FOR FURTHER WORK-UP_^1************_^1*_]_^1*_8CHECK FOR UNUSED CYBERDATA CODES_^1*_8IF ANY FOUND IGNORE IT_^1*_]_^1COMMON LDA- CURCH,I_%PICK UP WORD 2 OF ATT_0P2*L0010_^1_%AND- NZERO+8_%ISOLATE MODE_^1_%EAQ A_,PUT MODE AND CODE TOGETHER_^1_%STA- CURCH,I_%SET WORD 2 OF ATT (CMODE/CURCH)_^1_%LDA- ATTTMP,I_^1_%INA -$20_)LOOK IF CODE IS FUNCTION_^1_%€€SAZ 1_,SPACE IS A FUNCTION_2P2*L0010_^1_%SAP EX_+IF POS - NO FUNCTION_1P2*L0010_^1_%CLR Q_,CLEAR Q BECAUSE OF FUNCTION_^1EX_#JMP (CON752)_^1*_]_^1_%EJT_]_^1*_]_^1*_]_^1*_8THIS TABLE CONTAINS/CONVERTS INPUT-_^1*_8CODES GENERATED BY A 752-X KEYBOARD_^1*_8(IXXXX) TO RIGHT CYBERDATA-CODES_^1*_8(NUM $XXXX) / TWO PER WORD_^1* M T A_]_^1*_]_^1MTA_"NUM 0_^1I0102 NUM $7E6A_(READ MODE€€ , BOR_^1I0304 NUM $7679_(CNCL , DLT_^1I0506 NUM $2E74_(U/C PERIOD , REP FLD_1P2*L0010_^1I0708 NUM $2C1A_(U/C COMMA , CHAR BKSP_0P2*L0010_^1I090A NUM $6568_(ESB , SKIP_^1I0B0C NUM $787D_(INS , RTRN_^1I0D0E NUM $6F7F_(RELEASE , INT_^1I0F10 NUM $6600_(DBL ZERO , UNUSED_4PI*L0010_^1I1112 NUM $6E6D_(FORM ADV , FORM BACK_^1I1314 NUM $7170_(DOC ADV , DOC BACK_^1I1516 N€€UM $6F75_(REL , CONT_^1I1718 NUM $6977_(REC BKSP , MLTL DUP/SKIP_^1I191A NUM $6772_(RESET , FLD BKSP_^1I1B1C NUM $1C73_(DUP , DSPLY_^1I1D1E NUM $7B7A_(FORM SEL , ERR OVR_^1I1F20 NUM $7C20_(CORR , SPACE_^1*_]_^1_%EJT_]_^1*_]_^1*_]_^1*_8THIS TABLE CONTAINS/CONVERTS TO_^1*_8OPPOSITE CODES FOR 029 KEYBOARD_^1*_8IF DT/BIT 15 SET_^1*_]_^1*_]_^1* M T A 0 2 9_^1*_]_^1A21_"NUM $€€59_^1A22_"NUM $43_^1A23_"NUM $40_^1A24_"NUM $2A_^1A25_"NUM $2C_^1A26_"NUM $50_^1A27_"NUM $48_^1A28_"NUM $4E_^1A29_"NUM $45_^1A2A_"NUM $24_^1A2B_"NUM $51_^1A2C_"NUM $38_^1A2D_"NUM $2D_^1A2E_"NUM $39_^1A2F_"NUM $30_^1A30_"NUM $2F_^1A31_"NUM $55_^1A32_"NUM $49_^1A33_"NUM $4F_^1A34_"NUM $4A_^1A35_"NUM $4B_^1A36_"NUM $4C_^1A37_"NUM $4D_^1A38_"NUM $2C_^1A39_"NUM $€€2E_^1A3A_"NUM $44_^1A3B_"NUM $46_^1A3C_"NUM $2E_^1A3D_"NUM $56_^1A3E_"NUM $53_^1A3F_"NUM $58_^1A40_"NUM $23_^1A41_"NUM $41_^1A42_"NUM $5D_^1A43_"NUM $22_^1A44_"NUM $3A_^1A45_"NUM $29_^1A46_"NUM $3B_^1A47_"NUM $5E_^1A48_"NUM $27_^1A49_"NUM $32_^1A4A_"NUM $34_^1A4B_"NUM $35_^1A4C_"NUM $36_^1A4D_"NUM $37_^1A4E_"NUM $28_^1A4F_"NUM $33_^1A50_"NUM $26_^1A51_"NUM $€2B_^1A52_"NUM $5B_^1A53_"NUM $3E_^1A54_"NUM $5C_^1A55_"NUM $31_^1A56_"NUM $3D_^1A57_"NUM $5F_^1A58_"NUM $3F_^1A59_"NUM $21_^1A5A_"NUM $5A_^1A5B_"NUM $52_^1A5C_"NUM $54_^1A5D_"NUM $42_^1A5E_"NUM $47_^1A5F_"NUM $57_^1_%EQU MTA029(A21-$21)_^1*_]_^1*_]_^1*_]_^1_%END_]_^__ PMTTYPE CSY/ P€1_%NAM MTTYPE_'DECK-ID C01 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_$THIS PROGRAM IS CHANGED TO SET THE DEFAULT_^1*_$TERMINAL TYPES TO CRT WITH SUPERVISOR AUTHORIZATION_^1*_$AND TO REFLECT THE MATRIX PRINTER AS TERMINAL TYPE 12_^1TYPE_!MAC €€TN,TP_^1_%IFA 'TP',EQ,0_^1_%VFD N5/0,N1/0,N2/0,N1/1,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,1_^1_%VFD N5/0,N1/0,N2/0,N1/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,2_^1_%VFD N5/0,N1/1,N2/0,N1/1,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,3_^1_%VFD N5/0,N1/1,N2/0,N1/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,4_^1_%VFD N5/0,N1/0,N2/1,N1/1,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,5_^1_%€€VFD N5/0,N1/0,N2/1,N1/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,6_^1_%VFD N5/0,N1/1,N2/1,N1/1,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,7_^1_%VFD N5/0,N1/1,N2/1,N1/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,8_^1_%VFD N5/0,N1/0,N2/2,N1/1,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,9_^1_%VFD N5/0,N1/0,N2/2,N1/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,10_^1_%VFD N5/0,N1/1,N2/2,N1/1,N1/€€0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,11_^1_%VFD N5/0,N1/1,N2/2,N1/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,12_^1_%VFD N5/0,N1/0,N2/3,N1/1,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,13_^1_%VFD N5/0,N1/0,N2/3,N1/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,14_^1_%VFD N5/0,N1/1,N2/3,N1/1,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,15_^1_%VFD N5/0,N1/1,N2/3,N1/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%€€EMC_]_^1_%EJT_]_^1*_]_^1*_$MINITERMINAL TYPE DECLARATION MACRO_^1*_]_^1*_$CALLING:_^1*_]_^1*_$TYPE TN,TP_^1*_]_^1*_$WHERE_#TN = TERMINAL NO_^1*_/TP = TERMINAL TYPE_^1*_]_^1*_$TYPE K/B DSP MODE_^1*_]_^1*_$00 029 752 SUP_^1*_$01 029 752 STD_^1*_$02 029 480 SUP_^1*_$03 029 480 STD_^1*_$04 TTN 752 SUP_^1*_$05 TTN 752 STD_^1*_$06 TTY 480 SUP_^1*_$07 TTY 480 STD_^1*_$08 RESERVE€€D_^1*_$09 RESERVED_^1*_$10 ADD 480 SUP_^1*_$11 ADD 480 STD_^1*_$12 MATRIX PRINTER_^1*_$13 RESERVED_^1*_$14 TTN 480 SUP_^1*_$15 TTN 480 STD_^1*_]_^1*_]_^1_%EJT_]_^1_%TYPE 00,0_^1_%TYPE 01,0_^1_%TYPE 02,0_^1_%TYPE 03,0_^1_%TYPE 04,0_^1_%TYPE 05,0_^1_%TYPE 06,0_^1_%TYPE 07,0_^1_%TYPE 08,0_^1_%TYPE 09,0_^1_%TYPE 10,0_^1_%TYPE 11,0_^1_%TYPE 12,0_^1_%TYPE 13,0_^1_%TYPE 14,0_^1_%T€YPE 15,0_^1_%TYPE 16,0_^1_%TYPE 17,0_^1_%TYPE 18,0_^1_%TYPE 19,0_^1_%TYPE 20,0_^1_%TYPE 21,0_^1_%TYPE 22,0_^1_%TYPE 23,0_^1_%TYPE 24,0_^1_%TYPE 25,0_^1_%TYPE 26,0_^1_%TYPE 27,0_^1_%TYPE 28,0_^1_%TYPE 29,0_^1_%TYPE 30,0_^1_%TYPE 31,0_^1_%TYPE 32,0_^1_%END_]_^__PTP CSY/ I,C P€1_%NAM TP_+DECK-ID B08 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1*_$LOAD TAPE-TO-PRINT INTO ALLOCATABLE_^1*_$IF NOT ALREADY IN CORE_^1*_]_^1SLDIRY EQU SLDIRY($EB)_!ADDRESS OF SYSTEM DIRECTORY_^1CORED EQU CORED($E7)_"LENGTH OF CORE RESI€€DENT DIRECTORY_^1DIRSIZ EQU DIRSIZ($E6)_!SIZE OF SYSTEM DIRECTORY_^1CORESZ EQU CORESZ(4100) CORE SIZE OF TAPE-TO-PRINT_^1DFLTBF EQU DFLTBF(100)_!DEFAULT BUFFER SIZE (200 BYTES)_^1_%EXT DSNUM_^1_%EQU DSSIZ(554)_"ADDN'L TBL/BFR SPACE PER D.S._^1LPMASK EQU LPMASK($2)_^1START EQU START(*)_^1*_]_^1*_$SEARCH SYSTEM DIRECTORY FOR TAPE-TO-PRINT_^1*_]_^1_%STQ* PARADR_'SAVE ADDRESS €€OF PARAMETER STRING_^1_%RTJ* ABS_^1ABS_"NUM 0_^1_%LDA =XDSSIZ_^1_%MUI =XDSNUM_^1_%ADD =XCORESZ_^1_%STA* SIZE_^1_%LDA* ABS_^1_%INA -2_^1_%STA* ABS_*SET ABSOLUTE ADDRESS OF *TP_^1_%LDA- SLDIRY_'GET START OF DIRECTORY_^1_%ADD- CORED_(POINT TO START OF MASS FILE DIRECTORY_^1_%STA* DIRADR_^1_%LDA- DIRSIZ_^1_%SUB- CORED_^1_%INA -6_^1_%TRA Q_^1SCRBK LDA* (DIRADR),Q_"GET CORE_!ADDR€€ESS_^1_%EOR* ABS_^1_%SAZ SCR02_(IS IT *TP_^1_%INQ -7_+NO, TRY AGAIN_^1_%SQM SCR01_(IS IT END OF TABLE_^1_%JMP* SCRBK_(NO, GET NEXT ENTRY_^1SCR01 JMP* EXT05_(YES, ERROR_^1SCR02 STA* (DIRADR),Q_"FOUND, CLEAR *TP ADDRESS FROM SYSDIR_^1_%INQ 7_^1_%LDA* (DIRADR),Q_"LOAD CORE ADDRESS OF T-T-P_^1_%SAZ SCR03_(IS IT IN CORE_^1_%TRA Q_,YES_^1_%INQ 15_+VARIES WITH MODMOD PRECODE_^1_%€€LDA- 4,Q_*GET CONSOLE ACTIVE FLAG_^1_%SAN SCR10_(IS IT ACTIVE_^1_%JMP* SCR13_(YES, GO TO SLEEP_^1SCR10 CLR A_^1_%STA- 4,Q_*CLEAR CONSOLE FLAG_^1_%INQ 2_^1_%STQ* SCR12+2_%SET SCHDLE ADDRESS_^1SCR12 SCHDLE SCR12,3_"SCHEDULE CONSOLE RESTART_^1_%JMP* SCR13_(FREE *TP_^1SCR03 EQU SCR03(*)_$NOT IN CORE_^1_%INQ 3_,POINT TO LENGTH_^1_%LDA* PARADR_'GET PARAMETER ADDRESS_^1_%SAN SCR€€15_(IS IT ZERO_^1_%LDA* DFALT_(YES, SET DEFAULT_^1_%STA* EXTC2_^1_%JMP* SCR16_^1SCR15 RTJ* EXTRA_(NO, EXTRACT BUFFER SIZE_^1SCR16 ADD* SIZE_^1_%STA* (DIRADR),Q_"SET SIZE_^1_%INQ -4_+CALCULATE ORDINAL_^1_%STQ* SHD+2_^1_%LDA* EXTC2_^1_%INQ 10_^1_%STA* (DIRADR),Q_^1_%INQ -10_^1SHD_"SYSCHD 0,3_^1SCR13 LDA* ABS_^1_%STA* RELAD_^1_%RTJ- ($F4)_^1_%NUM $1801_(RELEAS_^1RELAD NUM 0_^€€1SIZE_!ADC CORESZ_'SIZE OF CORE RESIDENT TAPE TO PRINT_^1DIRADR NUM 0_,ADDRESS OF SYSTEM DIRECTORY_^1PARADR NUM 0_,PARAMETER INPUT STRING_^1DFALT ADC DFLTBF_^1QSAVE NUM 0_^1CHARFG NUM 0_,HIGH/LOW BYTE FLAG_^1EXTC1 NUM 0_^1EXTC2 NUM 0_^1ERRMES ALF 4,MI ERROR_^1*_]_^1*_$EXTRACT BUFFER SIZE_^1*_]_^1EXTRA NUM 0_^1_%STQ* QSAVE_^1EXTBK LDQ* PARADR_^1_%LDA* CHARFG_'EXTRACT€€ DECIMAL NUMBER_^1_%SAN EXT01_^1_%RAO* CHARFG_'HIGH ORDER BYTE_^1_%LDA- 2,Q_^1_%ARS 8_^1_%AND- LPMASK+8_^1_%JMP* EXT02_^1EXT01 EQU EXT01(*)_$LOW ORDER BYTE_^1_%CLR A_^1_%STA* CHARFG_^1_%LDA- 2,Q_^1_%RAO* PARADR_^1_%AND- LPMASK+8_^1EXT02 INA -$40_^1_%SAM EXT03_^1_%JMP* EXTND_(END OF INPUT_^1EXT03 INA $10_^1_%SAP EXT04_^1_%JMP* EXTND2_'END OF INPUT_^1EXT04 CLR Q_^1_%STA*€€ EXTC1_^1_%ENA 10_^1_%MUI EXTC2_^1_%ADD* EXTC1_^1_%STA* EXTC2_^1_%JMP* EXTBK_^1EXTND2 INA -$10_^1EXTND ADD =N$FF40_^1_%SAN EXT05_^1_%LDA* EXTC2_^1_%SUB* DFALT_^1_%SAP EXT06_^1_%JMP* EXT05_^1EXT06 ADD* DFALT_^1_%INA 1_^1_%ARS 1_^1_%STA* EXTC2_(CONVERT BYTE COUNT TO WORD COUNT_^1_%LDQ* QSAVE_^1_%JMP* (EXTRA)_^1EXT05 FWRITE $FD,0,ERRMES-*+5,4,A,0,3,I,X_^1_%JMP* SCR13_(RELEA€SE CORE_^1_%END_]_^__ PMODMOD CSY/ I,C P€1_%NAM MODMOD_'DECK-ID B09 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1*_$P R O G R A M_!M O D M O D_^1*_]_^1*_$TAPE-TO-PRINT MODFICATION MODE_^1*_]_^1*_]_^1*_$MACROS_^1*_]_^1*_$RTRT_.RECURSIVE ROOT TO ROOT_^1*_$RTOV_.RECURSIVE ROOT TO OVER€€LAY_^1*_$OVRTR_-RECURSIVE OVERLAY TO ROOT_^1*_$OVRTG_-GO TO ROOT FROM OVERLAY_^1*_$OVOVR_-RECURSIVE OVERLAY TO OVERLAY_^1*_$OVOVG_-GO TO OVERLAY FROM OVERLAY_^1*_$OVRTJ_-RTJ FROM OVERLAY TO ROOT_^1*_$OVRET_-RETURN FROM OVERLAY_^1*_]_^1*_]_^1*_$MACRO RTRT_(ROOT TO ROOT_^1*_]_^1*_$P1 = MODULE NAME_^1*_]_^1RTRT_!MAC P1_^1_%RTJ RECUR_(CALL 'P1'_^1_%VFD N1/1,X15/'P1'-*_^1_%EMC_]_^1*_€€]_^1*_$MACRO RTOV_(ROOT TO OVERLAY_^1*_]_^1*_$P1 = OVERLAY NUMBER (2 DIGITS)_^1*_$P2 = ROUTINE NAME_^1*_]_^1RTOV_!MAC P1,P2_^1_%RTJ RECUR_(CALL 'P2' IN 'P1'_^1_%VFD N1/0,N7/'P1',X8/'P2'-'P2'/96*96_^1_%EMC_]_^1*_]_^1*_$MACRO OVRTR_'OVERLAY TO ROOT_^1*_]_^1*_$P1 = ROUTINE NAME_^1*_$P2 = CURRENT OVERLAY NUMBER (2 DIGITS)_^1*_]_^1OVRTR MAC P1,P2_^1_%VFD N8/$5C,X8/IRECUR-*-BS'P2' €€ CALL 'P1' IN ROOT_^1_%VFD N1/1,X15/'P1'-*-BS'P2'_^1_%EMC_]_^1*_]_^1*_$MACRO OVRTG_'GO TO ROOT FROM OVERLAY_^1*_]_^1*_$P1 = ROUTINE NAME_^1*_$P2 = CURRENT OVERLAY NUMBER (2 DIGITS)_^1*_]_^1OVRTG MAC P1,P2_^1*_]_^1_%VFD N8/$5C,X8/IGO-*-BS'P2' GO TO 'P1' IN ROOT_^1_%VFD N1/1,X15/'P1'-*-BS'P2'_^1_%EMC_]_^1*_]_^1*_$MACRO OVOVR_'OVERLAY TO OVERLAY RECURSIVE_^1*_]_^1*_$P1 = OVERLAY€€ NUMBER (2 DIGITS)_^1*_$P2 = ROUTINE NAME_^1*_$P3 = CURRENT OVERLAY NUMBER (2DIGITS)_^1*_]_^1OVOVR MAC P1,P2,P3_^1_%VFD N8/$5C,X8/IRECUR-*-BS'P3' CALL 'P2' IN 'P1' FROM 'P3'_^1_%VFD N1/0,N7/'P1',X8/'P2'-'P2'/96*96_^1_%EMC_]_^1*_]_^1*_$MACRO OVOVG_'OVERLAY TO OVERLAY GO TO_^1*_]_^1*_$P1 = OVERLAY NUMBER TO GO TO (2 DIGITS)_^1*_$P2 = ROUTINE NAME_^1*_$P3 = CURRENT OVERLAY NUMBER €€(2 DIGITS)_^1*_]_^1OVOVG MAC P1,P2,P3_^1_%VFD N8/$5C,X8/IGO-*-BS'P3' GO TO 'P2' IN 'P1' FROM 'P3'_^1_%VFD N1/0,N7/'P1',X8/'P2'-'P2'/96*96_^1_%EMC_]_^1*_]_^1*_$OVRTJ_-RTJ TO ROOT FROM OVERLAY_^1*_]_^1*_$P1 = INDIRECT WORD WITH ROUTINE ADDRESS_^1*_$P2 = CURRENT OVERLAY NUMBER (2 DIGITS)_^1*_]_^1*_$NOTE---THIS GENERATES A ONE WORD RELATIVE INDIRECT RTJ_^1*_]_^1OVRTJ MAC P1,P2_^1€€_%VFD N8/$5C,X8/'P1'-*-BS'P2'_!RTJ* 'P1' FROM 'P2'_^1_%EMC_]_^1*_]_^1*_$OVRET_-RETURN FROM OVERLAY_^1*_]_^1*_$P1 = CURRENT OVERLAY NUMBER (2 DIGITS)_^1*_]_^1OVRET MAC P1_^1_(VFD N8/$1C,X8/IRET-*-BS'P1'_!RETURN FROM 'P1'_^1_%EMC_]_^1START EQU START(*)_^1_%JMP* INIT_^1_%JMP* RCOMST+2_$RESTART CONSOLE_^1*_]_^1*_$LOAD RUN-MODE PROGRAM_^1*_]_^1RCOMIO FREAD $C2,RCOMST-*+1,RCOMST-*+€€5,4050,B,0,3,I,X_^1_%NUM 0_^1RCOMSE NUM 0_^1_%JMP- (ADISP)_^1MODORD NUM 0_,ORDINAL OF MODMOD_^1RUNLIB NUM 0_,SECTOR FOR RUNMOD_^1TABLIB NUM 0_,SECTOR NUMBER OF LIBRARY_^1RCOMST EQU RCOMST(*)_#STADT OF RUNMOD_^1RCOM_!LDQ* MODORD_^1_%ADQ- $EB_^1_%INQ 7_^1_%JMP* RCOMA_^1_%NUM 0_,DUMMY CONSOLE FLAG_^1RCOMA LDA- 6,Q_^1_%STA* RCOMSE_'SECT SECTOR ADDRESS FOR RUNMOD_^1_%JMP* RCOMI€€O_'READ RUNMOD INTO CORE_^1INIT_!EQU INIT(*)_^1_%STQ* MODORD_'SAVE ORDINAL OF CURRENT MODULE_^1_%LDA* MODORD_^1_%ADD- $EB_^1_%TRA Q_^1_%LDA- 6,Q_^1_%STA* LIBSEC_^1_%LDA =XENDMOD-START+1_+RESET SIZE IN SYSDIR_^1_%STA- 4,Q_^1_%LDA* MODORD_^1_%INA 14_^1_%ADD- $EB_^1_%TRA Q_^1_%LDA- 6,Q_*LOAD SECTOR NUMBER OF LIBRARY_^1_%STA* TABLIB_^1_%INQ -7_^1_%LDA- 6,Q_^1_%STA* RUNLIB_^1LTA06€€ EQU LTA06(*)_^1*_]_^1*_$ABSOLUTIZE INDIRECTS_^1*_]_^1_%RTJ* ABS_^1ABS_"NUM 0_^1_%LDA* ABS_^1_%SUB =XABS-START_^1_%STA* ABS_^1_%ENQ 12_^1ABSB_!LDA ITRUE,Q_^1_%ADD* ABS_^1_%STA ITRUE,Q_^1_%INQ -1_^1_%SQM ABSO_^1_%JMP* ABSB_^1ABSO_!EQU ABSO(*)_^1_%JMP MAIN_)EXECUTE MODIFICATION MODE_^1LIBSEC NUM 0_^1*_]_^1*_$PUT JOB DISCRIPTION IN LIBRARY_^1*_]_^1CJD_"EQU CJD(*)_^1_%LDA €€ TABNAM_^1_%STA* CJD01_^1_%LDA TABNAM+1_^1_%STA* CJD01+1_^1_%RTJ SRJB_^1CJD01 NUM 0,0_^1_%SQM CJD02_^1_%JMP* CJD21_(JOB NAME FOUND_^1CJD02 ENQ JBSZ_)JOB NAME NOT FOUND_^1CJD09 LDA* CJDBF,Q_%LOOK FOR EMPTY SLOT_^1_%SAZ CJD10_(IS THIS SLOT EMPTY_^1_%INQ -2_+NO, LOOK AGAIN_^1_%SQM CJD11_(IS IT END OF DIRECTORY_^1_%JMP* CJD09_(NO_^1CJD10 EQU CJD10(*)_$EMPTY SLOT_^1_%JMP* C€€JD21_^1CJD11 RTJ RECUR_(NO ROOM IN TABLE_^1_%VFD N1/0,N7/14,X8/ERROR5-ERROR5/96*96_^1_%JMP RET_^1CJD21 EQU CJD21(*)_$ADD JOB TO LIBRARY_^1_%LDA TABNAM_^1_%STA* CJDBF,Q_%PUT NEW NAME IN DIRECTORY_^1_%LDA TABNAM+1_^1_%STA* CJDBF+1,Q_^1_%QRS 1_^1_%STQ* CJDBB_(SAVE JOB ORDINAL_^1_%LDA* CJDBA_^1_%RTJ STAB_)COPY DIRECTORY TO DISK_^1_%ALF 2,JB01_^1_%LDA* CJDBB_(GET JOB ORDINAL_€€^1_%INA -7_^1_%SAM CJD24_(IS JOB IN FIRST BLOCK_^1_%JMP* CJD30_(NO_^1CJD24 INA 7_,YES_^1_%MUI =N9_^1_%INA JBS*2_(POINT PAST DIRECTORY_^1_%ADD* CJDBA_(ORDINAL PLUS BUFFER ADDRESS_^1_%STA* CJDBB_^1_%LDA =N$3031_%SET TABLE SAVE FOR BLOCK 1_^1_%STA* CJD27+1_^1CJD23 ENQ 8_,MOVE ENTRY INTO BLOCK_^1CJD25 LDA TABNAM+2,Q_^1_%STA* (CJDBB),Q_^1_%INQ -1_^1_%SQM CJD26_^1_%JMP* CJD2€€5_^1CJD26 LDA* CJDBA_^1_%RTJ STAB_^1CJD27 ALF 2,JB01_^1_%JMP RET_^1CJD30 LDA* CJDBA_(JOB IS IN SECOND BLOCK_^1_%RTJ LTAB_)LOAD IT_^1_%ALF 2,JB02_^1_%LDA* CJDBB_(GET JOB ORDINAL_^1_%INA -7_^1_%MUI =N9_^1_%ADD* CJDBA_^1_%STA* CJDBB_(ABSOLUTE ADDRESS FOR ENTRY_^1_%LDA =N$3032_^1_%STA* CJD27+1_%SET TO WRITE BLOCK 2_^1_%JMP* CJD23_(MOVE ENTRY INTO BLOCK AND WRITE TO DISK_^1CJ€€DBA NUM 0_,BUFFER ADDRESS (ABSOLUTE)_^1CJDBB NUM 0_^1CJDBF BZS CJDBF(96)_^1JBS_"EQU JBS(16)_^1JBSZ_!EQU JBSZ(JBS*2-2)_^1*_]_^1*_$CHECK FOR INVALID TABLE TO LIST_^1*_]_^1INVTAB EQU INVTAB(*)_^1_%LDA TABSIZ_'GET TABLE SIZE_^1_%SAZ INVT2_^1_%JMP FALSE_(IF VALID TABLE, RETURN FALSE_^1INVT2 JMP RET_*IF INVALID, RETURN TRUE_^1*_]_^1*_$CHECK FOR TRAIN IMAGE IN CORE_^1*_]_^1C€€LPT_!LDA TRAN_^1_%EOR- LPMASK+15_^1_%SAZ CLPT2_^1_%JMP FALSE_(RETURN FALSE IF LINKED_^1CLPT2 JMP RET_*RETURN TRUE IF NOT LINKED_^1*_]_^1*_$MOVE TRAIN IMAGE INTO DRIVERS BUFFER_^1*_]_^1_%EXT TRAIN_^1ELPT_!EQU ELPT(*)_^1_%LDA* TRAN_)GET TRAIN ADDRESS_^1_%STA* ELPTC3_^1_%LDA TPST_)SET UP TABLE NAME_^1_%STA* ELPT01_^1_%LDA TPST+1_^1_%STA* ELPT01+1_^1_%LDA ABS_^1_%ADD =XCJDBF€€-START_^1_%STA* ELPTC1_'SAVE BUFFER ABSOLUTE ADDRESS_^1_%RTJ LTAB_)LOAD FIRST BLOCK OF PRINT TRAIN IMAGE_^1ELPT01 NUM 0_^1_%NUM 0_^1_%CLR A_^1_%SUB CJDBF_(LOAD NEGATIVE BYTE COUNT_^1_%SAN ELPT09_%CHECK FOR EMPTY TABLE_^1_%JMP FALSE_^1ELPT09 EQU ELPT09(*)_^1_%ARS 1_^1_%STA* ELPTC2_'SAVE AS WORD COUNT_^1_%RAO* ELPTC1_'POINT AT FIRST DATA WORD_^1_%RAO* ELPTC1_^1_%ENQ 94_^1EL€€PT02 LDA* (ELPTC1),Q_"MOVE FIRST BLOCK INTO TRAIN_^1_%STA* (ELPTC3),Q_^1_%RAO* ELPTC2_^1_%INQ -1_^1_%SQM ELPT03_'END OF FIRST BLOCK YET_^1_%JMP* ELPT02_'NO_^1ELPT03 LDA* ELPT01+1_$YES, SET UP NAME OF SECOND BLOCK_^1_%STA* ELPT04_^1_%LDA* ELPTC1_^1_%INA -2_^1_%STA* ELPTC1_^1_%RTJ LTAB_)LOAD SECOND BLOCK_^1_%ALF 1,XX_^1ELPT04 NUM 0_^1_%ENQ 94_+MOVE SECOND BLOCK INTO TRAIN_^1EL€€PT05 LDA* (ELPTC1)_^1_%STA* (ELPTC3),Q_^1_%INQ 1_^1_%RAO* ELPTC1_^1_%LDA* ELPTC2_^1_%SAZ ELPT06_'IS IT END OF BLOCK_^1_%RAO* ELPTC2_'NO, MOVE ANOTHER WORD_^1_%JMP* ELPT05_^1ELPT06 JMP RET_*YES, GO HOME_^1ELPTC1 NUM 0_^1ELPTC2 NUM 0_^1ELPTC3 NUM 0_^1TRAN_!ADC TRAIN_^1*_]_^1*_$DUMMY WRITE TO PRINTER_^1*_]_^1DWRT_!LDA VAL_^1_%AND- LPMASK+9_^1_%STA VAL_^1_%LDA* DWR+4_^1_%AND- €€NZERO+9_^1_%EOR VAL_^1_%STA* DWR+4_^1DWR_"WRITE 0,DWRCOM-*+1,DBUF-*+5,2,B,0,3,A,X_^1_%JMP- ($EA)_^1DBUF_!NUM $1B00_^1_%NUM $1B40_^1DWRCOM JMP RET_^1*_]_^1*_$SEARCH DIRECTORY FOR JOB NAME_^1*_]_^1*_*Q MINUS MEANS NOT FOUND_^1*_*Q POSITIVE MEANS Q = JOB INDEX_^1*_]_^1SRJB_!NUM 0_^1_%RTJ* SR01_)ABSOLUTIZE BUFFER ADDRESS_^1SR01_!NUM 0_^1_%LDA* (SRJB)_^1_%STA* SRT01_^1_%RAO* SRJB_€€^1_%LDA* SR01_^1_%SUB =XSR01-CJDBF_^1_%STA* SR01_^1_%STA CJDBA_(SAVE BASE ADDRESS_^1_%RTJ LTAB_)LOAD JOB DIRECTORY_^1_%ALF 2,JB01_^1_%ENQ JBSZ_^1SR02_!LDA CJDBF,Q_%SEARCH FOR JOB NAME_^1_%EOR* SRT01_^1_%SAZ SR03_^1_%JMP* SR04_)NOT A MATCH ON FIRST WORD_^1SR03_!LDA CJDBF+1,Q_^1_%EOR* (SRJB)_^1_%SAZ SR05_^1SR04_!INQ -2_+NOT A MATCH ON EITHER WORD_^1_%SAM SR08_)IS IT END OF€€ DIRECTORY_^1_%JMP* SR02_)NO, CHECK NEXT ENTRY_^1SR05_!RAO* SRJB_)JOB NAME FOUND_^1_%JMP* (SRJB)_^1SR08_!ENQ -1_+JOB NAME NOT FOUND_^1_%JMP* SR05_^1SRT01 NUM 0_^1*_]_^1*_%LIST JOB DIRECTORY_^1*_]_^1LJD_#EQU LJD(*)_^1_'RTJ SRJB_)LOAD DIRECTORY_^1_'ALF 2,XXXX_^1_'ENQ JBSZ_^1LJDB_"LDA CJDBF,Q_^1_'SAN LJD02_^1LJDAG_!INQ -2_^1_'SQM LJD01_^1_%JMP* LJDB_^1LJD01 JMP RET_^1LJD02 STA €€OS_+JOB ENTRY_^1_%LDA CJDBF+1,Q_^1_%STA OS+1_^1_%ENA 4_^1_%STA OSIZ_^1_%STQ* LJDC1_^1_%RTJ RECUR_^1_%VFD N1/1,X15/PUT-*_^1_%LDQ* LJDC1_^1_%JMP* LJDAG_^1LJDC1 NUM 0_^1*_]_^1*_$SET JOB DISCRIPTION FOR DUMP_^1*_]_^1DUMP_!EQU DUMP(*)_^1_%LDA =N$2020_^1_%STA JCCNM_^1_%STA JCCNM+1_^1_%ENA 32_^1_%STA JTRCS_(SET RECORD SIZE TO 32_^1_%LDA =N1024_^1_%STA JTBLS_(SET BLOCK SIZE€€ TO 1024_^1_%LDA =N$C180_^1_%STA JSTAT_(SET DUMP, AND FIXED BITS_^1_%JMP RET_^1*_]_^1*_]_^1*_$STORE TABLE_^1*_]_^1STB_"LDA TPST_^1_%STA* STB1_^1_%LDA TPST+1_^1_%STA* STB1+1_^1_%RTJ* STB2_^1STB2_!NUM 0_^1_%LDA* STB2_^1_%ADD =XTABSIZ-STB2_^1_%RTJ STAB_)STORE TABLE_^1STB1_!NUM 0_^1_%NUM 0_^1_%SAN STB3_^1_%RTJ RECUR_^1_%VFD N1/0,N7/9,X8/ERROR1-ERROR1/96*96_^1_%JMP FALSE_^€€1STB3_!LDA TABTYP_^1_%INA -3_^1_%SAZ STB31_^1STBEX JMP RET_^1STB31 LDA* STB1+1_'LAST HALF OF NAME_^1_%STA* STPT_^1_%LDA* STB2_^1_%ADD =XTABSIZ-STB2+96_^1_%RTJ STAB_)STORE SECOND BLOCK OF PRINT TRAIN_^1_%NUM $5858_(XX_^1STPT_!NUM 0_^1_%JMP* STBEX_^1*_]_^1*_$OUTPUT A AS TWO CHAR DECIMAL NUMBER_^1*_]_^1NMCHAR NUM 0_^1_%ENQ 1_^1_%STQ OFLAG_(SET OUTPUT FLAG FOR SLI_^1_%CLR €€ Q_^1_%DVI =N10_^1_%STQ* NMCTP_^1_%EOR =N$30_^1_%RTJ SLI_*OUTPUT FIRST DIGIT_^1_%LDA* NMCTP_^1_%EOR =N$30_^1_%RTJ SLI_*OUTPUT SECOND DIGIT_^1_%CLR A_^1_%STA OFLAG_^1_%JMP* (NMCHAR)_^1NMCTP NUM 0_^1*_$PUT TRAIN OFFSET IN PRINT BUFFER_^1*_]_^1NMTR_!LDA TCOF_^1_%ENQ 1_^1_%STQ OFLAG_^1_%CLR Q_^1_%DVI =N100_^1_%STQ* NMTRC_(LOW TWO DIGITS_^1_%EOR =X$30_^1_%RTJ SLI_^1_%LDA€€* NMTRC_^1_%RTJ* NMCHAR_^1_%JMP RET_^1NMTRC NUM 0_^1HXCC_!LDQ TCOF_)OUTPUT HEX CARRIAGE CONTROL_^1_%QLS 1_^1_%LDA TABBAS,Q_^1_%RTJ HXCHAR_^1_%JMP RET_^1CTLF_!LDQ* TCOF_)OUTPUT CONTROL DISCRIPTION_^1_%QLS 1_^1_%ENA 1_^1_%STA OFLAG_^1_%LDA TABBAS+1,Q_^1_%STA* CTLC_^1CTLF1 CLR Q_^1_%LDA* CTLC_^1_%LLS 4_^1_%STA* CTLC_^1_%RTJ* CTLRT_^1_%JMP* CTLF1_^1_%CLR A_^1_%STA OFLA€€G_^1_%RAO* TCOF_^1_%JMP RET_^1CTLC_!NUM 0_^1TERM_!EQU TERM(*)_^1_%LDA ABS_^1_%STA* RELS_^1_%LDQ MODORD_^1_%ADQ- $EB_^1_%CLR A_^1_%STA- 1,Q_*CLEAR ADDRESS IN SYSDIR_^1_%RTJ- ($F4)_^1_%NUM $1801_(RELEAS_^1RELS_!NUM 0_^1CTLRT NUM 0_,OUTPUT CTL FUNCTIIN_^1_%SQN CTLRT1_'LAST FUNCTION_^1_%RAO* CTLRT_(YES_^1_%JMP* (CTLRT)_%RETURN_^1CTLRT1 ENA $20_*OUTPUT PRECEEDING BLANK_^1_%€€STQ* TQS_^1_%RTJ SLI_^1_%LDQ* TQS_^1_%INQ -1_^1_%SQN CTLRT2_^1_%ENA $50_*OUTPUT P_^1_%JMP* CTLREX_^1CTLRT2 INQ -1_^1_%SQN CTLRT3_'IS IT SKIP FUNCTION_^1_%ENA $53_*OUTPUT S_^1_%RTJ SLI_^1_%ENA $31_*OUTPUT 1_^1_%JMP* CTLREX_^1CTLRT3 INQ -1_^1_%SQN CTLRT4_'IS IT DOUBLE SKIP_^1_%ENA $53_*OUTPUT S_^1_%RTJ SLI_^1_%ENA $32_*OUTPUT 2_^1_%JMP* CTLREX_^1CTLRT4 STQ* CLRT_^1_%ENA€€ $43_*OUTPUT C_^1_%RTJ SLI_^1_%LDA* CLRT_^1_%RTJ* NMCHAR_'OUTPUT NUMERIC PART OF CHAN_^1_%ENA 1_^1_%STA OFLAG_^1_%JMP* (CTLRT)_^1CTLREX RTJ SLI_^1_%JMP* (CTLRT)_^1TQS_"NUM 0_^1CLRT_!NUM 0_^1TYP1_!ENA 1_,CHECK FOR TABLE TYPE 1_^1_%JMP* TYPC_^1TYP2_!ENA 2_,CHECK FOR TABLE TYPE 2_^1_%JMP* TYPC_^1TYP4_!ENA 3_,CHECK FOR TABLE TYPE 4_^1TYPC_!SUB TABTYP_^1_%SAZ TYPT_)IS THIS T€€HE TYPE_^1_%JMP FALSE_(NO_^1TYPT_!JMP RET_*YES_^1HXTC_!LDA* TCOF_)OUTPUT HEX TAPE CODE_^1_%ADD TABBAS_^1HXXT_!RTJ* HXCHAR_^1_%JMP RET_^1HXPC_!LDQ* TCOF_)OUTPUT PRINTER HEX CODE_^1_%CLR A_^1_%LRS 1_^1_%SAN HXPC1_^1_%LDA* TAB,Q_(LEFT BYTE_^1_%ARS 8_^1_%JMP* HXPC2_^1HXPC1 LDA* TAB,Q_(RIGHT BYTE_^1HXPC2 RAO* TCOF_^1_%AND- LPMASK+8_^1_%JMP* HXXT_^1TCOF_!NUM 0_^1ETB_"LDA* TABS€€IZ_'CHECK FOR END OF T12L5_^1_%SUB* TCOF_^1_%SAZ ETB01_^1_%JMP RET_^1ETB01 ENA 0_,END OF TABLE_^1_%STA* TCOF_)RESET TABLE OFFSET_^1_%JMP FALSE_^1*_]_^1*_$PUT TWO HEX CHARACTERS IN OUTPUT BUFFER_^1*_*INPUT - HEX VALUE IN A_^1*_]_^1HXCHAR NUM 0_^1_%STA* HXTP_^1_%ENQ 1_^1_%STQ OFLAG_(SET OUTPUT FLAG_^1_%ARS 4_,GET FIRST FOUR BITS_^1_%AND- LPMASK+4_^1_%SUB =N10_^1_%SAP HXC1_€€^1_%ADD =N$3A_^1_%RTJ SLI_*OUTPUT CHARACTER_^1_%JMP* HXC2_^1HXC1_!ADD =N$41_^1_%RTJ SLI_^1HXC2_!LDA* HXTP_^1_%AND- LPMASK+4_^1_%SUB =N10_^1_%SAP HXC3_^1_%ADD =N$3A_^1_%RTJ SLI_^1_%JMP* HXC4_^1HXC3_!ADD =N$41_^1_%RTJ SLI_^1HXC4_!CLR A_^1_%STA OFLAG_^1_%JMP* (HXCHAR)_^1HXTP_!NUM 0_^1*_]_^1*_$LOAD TABLE_^1*_]_^1LTB_"LDA TPST_^1_%STA* LTB1_^1_%LDA TPST+1_^1_%STA* LTB1+1_€€^1_%RTJ* LTB2_^1LTB2_!NUM 0_^1_%LDA* LTB2_^1_%ADD =XTABSIZ-LTB2_^1_%RTJ_!LTAB_^1LTB1_!NUM 0_^1_%NUM 0_^1GETCOM SAP GETOK_^1_%RTJ RECUR_(FILE NOT FOUND_^1_%VFD N1/0,N7/9,X8/ERROR1-ERROR1/96*96_^1_%JMP FALSE_^1GETOK LDA TPST+1_^1_%STA TABNAM+1_^1_%ENQ 1_^1_%LDA TPST_^1_%STA* TABNAM_^1_%STA* GETCST_^1_%EOR =N$4343_^1_%SAN NOTCC_^1GETEX STQ* TABTYP_^1_%JMP RET_^1NOTCC €€ INQ 1_^1_%LDA*_!GETCST_^1_%EOR =N$5443_^1_%SAN NOTTC_^1_%JMP* GETEX_^1NOTTC INQ 1_,PRINT TRAIN_^1_%STQ* TABTYP_'SET TABLE TYPE_^1_%LDA* LTB1+1_'LAST HALF OF NAME_^1_%STA* PTNA_^1_%LDA* LTB2_^1_%ADD =XTABSIZ-LTB2+96_!ABSOLUTE BUFFER ADDRESS_^1_%RTJ LTAB_)LOAD BLOCK_^1_%NUM $5858_(XX_^1PTNA_!NUM 0_^1_%JMP RET_^1GETCST NUM 0_^1*_]_^1*_$TABLE BEING MODIFIED_^1*_]_^1TABTYP N€€UM 0_,TABLE TYPE_^1TABNAM ALF 2,_+TABLE NAME_^1TABSIZ EQU TABSIZ(*)_^1TABECT EQU TABECT(*)_#TABLE ENTRY COUNT_^1JPLU_!NUM 0_,PRINTER LU_^1TABBAS EQU TABBAS(*)_#TABLE BASE_^1JTLU_!NUM 0_,TAPE LU_^1TAB_"EQU TAB(*)_^1JTBLS NUM 0_,TAPE BLOCK SIZE_^1JTRCS NUM 0_,TAPE RECORD SIZE_^1JSTAT NUM 0_,JOB STATUS FLAGS_^1JCCNM ALF 2,_+CARRIAGE CONTROL TABLE NAME_^1JTCNM ALF 2,_€€+TAPE CONVERSION TABLE NAME_^1REST_!BZS REST(192)_^1SLU_"EQU SLU(*)_^1_%LDA VAL_^1_%STA OTLU_^1_%JMP RET_^1LISTLU NUM 4_^1*_]_^1*_$SAVE JOB NAME_^1*_]_^1SNAM_!ENA 0_^1_%STA TABTYP_^1_%LDA LI_^1_%STA TABNAM_^1_%LDA LI+1_^1_%STA TABNAM+1_^1_%LDA =N$4080_^1_%STA JSTAT_^1_%JMP RET_^1*_]_^1*_$SET RECORD SIZE TO BLOCKSIZE FOR VARIABLE_^1*_]_^1BLKREC EQU BLKREC(*)_^1_%LDA €€ JTBLS_^1_%STA JTRCS_^1_%JMP RET_^1*_]_^1*_$SAVE TAPE CONVERSION TABLE NAME_^1*_]_^1STP_"LDA TPST_^1_%STA JTCNM_^1_%LDA TPST+1_^1_%STA JTCNM+1_^1_%JMP RET_^1*_]_^1*_$SAVE CARRIAGE CONTROL TABLE NAME_^1*_]_^1SCC_"LDA TPST_^1_%STA JCCNM_^1_%LDA TPST+1_^1_%STA JCCNM+1_^1_%JMP RET_^1*_]_^1*_$DEFAULT TABLE NAME_^1*_]_^1DFLT_!RTJ CLI_^1_%NUM 1_^1_%NUM $FFFF_^1_%RTJ RECUR_€€^1_%VFD N1/1,X15/CST-*_^1_%LDA TRUE_^1_%SAN DFLT1_^1_%JMP RET_^1DFLT1 LDA =N$2020_^1_%STA TPST_^1_%STA TPST+1_^1_%JMP RET_^1*_]_^1*_$SAVE BLOCK SIZE_^1*_]_^1SBKKSZ LDA VAL_^1_%STA JTBLS_^1_%JMP RET_^1*_]_^1*_$SAVE RECORD SIZE_^1*_]_^1SRECSZ LDA VAL_^1_%STA JTRCS_^1_%JMP RET_^1*_]_^1*_$SET FIXED OR VARIABLE FLAG_^1*_]_^1SRM_"LDA TPST_^1_%AND- NZERO+8_^1_%EOR =X$4600€€_^1_%SAN SRMST_(IS IT F_^1_%LDA JSTAT_(YES_^1_%AND- ZROBIT+15_#7FFF_^1_%EOR- ONEBIT+15_#8000_^1_%JMP* SRMEX_^1SRMST LDA JSTAT_^1_%AND- ZROBIT+15_#7FFF_^1_%STA JSTAT_^1_%LDA TPST_)GET CHAR_^1_%AND- NZERO+8_^1_%EOR =X$5500_%IS IT U (UNFORMATTED)_^1_%SAN SRMEXT_'SKIP IF NO_^1_%LDA JSTAT_(YES, SET UNFORMATTDD BIT_^1_%EOR- ONEBIT+1_$0002_^1_%AND- ZROBIT+1_$FFFD_^1SRMEXT EQU SR€€MEXT(*)_^1SRMEX STA JSTAT_^1_%JMP RET_^1*_]_^1*_$SAVE TAPE LU OR PRINTER LU_^1STLU_!LDA VAL_^1_%STA JTLU_^1_%JMP* SPLUEX_^1SPLU_!LDA VAL_^1_%STA JPLU_^1SPLUEX JMP RET_^1*_]_^1*_$TEMPORARY STORAGE_^1*_]_^1CHX1_!NUM 0_^1CHX2_!NUM 0_^1CNM1 NUM 0_]_^1CNM2 NUM 0_]_^1*_]_^1*_$SAVE TEMPORARY VALUES_^1*_]_^1HX1_"LDA VAL_^1_%STA* CHX1_^1_%JMP* SEXIT_^1HX2_"LDA VAL_^1_%STA* CHX2_€€^1_%JMP* SEXIT_^1NM1_"LDA VAL_^1_%STA* CNM1_^1_%JMP* SEXIT_^1NM2_"LDA VAL_^1_%STA* CNM2_^1SEXIT JMP RET_^1*_]_^1*_$MODIFY TAPE CONVERSION TABLE_^1*_]_^1MTC_"LDA TABTYP_^1_%INA -2_^1_%SAZ MTCOK_^1_%RTJ RECUR_^1_%VFD N1/0,N7/9,X8/ERROR4-ERROR4/96*96_^1MTCOK LDA* CHX2_^1_%AND- LPMASK+8_^1_%STA* CHX2_^1_%LDA* CHX1_^1_%SUB TABBAS_^1_%SUB =N380_^1_%SAM MTCON_^1_%JMP FALSE_^€€1MTCON ADD =N380_^1_%TRA Q_^1_%CLR A_^1_%LRS 1_^1_%SAM MTLO_^1_%LDA* CHX2_)HIGH BYTE_^1_%ALS 8_^1_%STA* CHX2_^1_%LDA TAB,Q_^1_%AND- LPMASK+8_^1_%JMP* MTDIT_^1MTLO_!LDA TAB,Q_^1_%AND- NZERO+8_^1MTDIT EOR* CHX2_^1_%STA TAB,Q_^1_%JMP RET_^1*_]_^1*_$MODIFY PRINT TRAIN_^1*_]_^1MPT_"LDA TABTYP_^1_%INA -3_^1_%SAZ MPTOK_^1_%RTJ RECUR_^1_%VFD N1/0,N7/9,X8/ERROR4-ERROR4/96*96€€_^1MPTOK LDA* CNM1_^1_%STA* CHX1_^1_%JMP* MTCOK_^1*_]_^1*_$CARRIAGE CONTROL CONSTANTS_^1*_]_^1CCTT_!NUM 0_,NUMBER OF FUNCTIONS_^1CCCST NUM 0_,CTL ACCUMULATION_^1SSKP_!LDA VAL_*SET SKIP COUNT_^1_%SAZ SSER_^1_%INA -3_^1_'SAM SSOK_^1SSER_!ENA 0_,ILLEGAL NUMBER OF LINES FOR SKIP_^1_%STA* CCCST_^1_%JMP FALSE_^1SSOK_!LDA* CCCST_(ADD CTL FUNCTION TO ACCUMULATION_^1_%RAO* CCTT_^1€€_%ALS 4_^1_%AND- NZERO+4_^1_%STA* CCCST_^1_%LDA VAL_^1_'INA 1_^1_%EOR* CCCST_^1_%STA* CCCST_^1_%JMP RET_^1SPRT_!ENA 0_,ADD PRINT FUNCTION TO ACCUMULATION_^1_%STA VAL_^1_%JMP* SSOK_^1SCHAN LDA VAL_*ADD CHANNEL SKIP TO ACCUMULATION_^1_%SAZ CHER_^1_%INA -13_^1_%SAM CHOK_^1CHER_!ENA 0_,ILLEGAL CHANNEL NUMBER_^1_%STA* CCCST_^1_%JMP FALSE_^1CHOK_!INA 15_^1_%STA VAL_^1_%JMP*€€ SSOK_^1MCC_#LDQ TABECT_'ADD OR CHANGE CARRIAGE CONTROL CODE_^1_%INQ -1_^1_%QLS 1_^1MCCLA LDA TABBAS,Q_$SEARCH FOR CARRIAGE CONTROL_^1_%EOR CHX1_^1_%SAZ MCCF_^1_%INQ -2_^1_%SQM MCC01_^1_%JMP* MCCLA_^1MCC01 JMP* MCCNF_^1MCCF_!ENA 4_^1_%SUB* CCTT_^1_%STQ* CCTT_^1_%LDQ* CCCST_^1MCBK_!SAZ MCON_^1_%QLS 4_^1_%INA -1_^1_%JMP* MCBK_^1MCON_!TRQ A_^1_%LDQ* CCTT_^1_%STA TABBAS+€€1,Q_^1_%ENA 0_^1_%STA* CCCST_^1_%STA* CCTT_^1_%JMP RET_^1MCCNF_!LDA TABECT_'NOT FOUND - ADD NEW CARRIAGE CONTROL_^1_%INA -45_^1_'SAM MNFOK_^1_'ENA 0_^1_%STA* CCCST_^1_%JMP FALSE_^1MNFOK_!INA 46_^1_%STA TABECT_^1_%TRA Q_^1_%INQ -1_^1_%QLS 1_^1_%LDA CHX1_^1_%STA TABBAS,Q_^1_%JMP* MCCF_^1TEMPSV NUM 0_,DUMMY_^1HILIM NUM 50_^1LOLIM NUM 50_^1_%EJT_]_^1*_]_^1*_$S T A B - S€€TORE TABLE_^1*_]_^1STAB_!NUM 0_^1_%STQ* LBTQ_^1_%ENQ 1_^1_%STQ* TABFG_(SET TABLE FLAG TO WRITE_^1_%LDQ* STAB_^1_%STQ* LTAB_^1_%JMP* LTABE_^1TABFG NUM 0_^1*_]_^1*_$L T A B - LOAD TABLE_^1*_]_^1*_*A = BUFFER ADDRESS_^1*_]_^1LTAB_"NUM 0_^1_%STQ* LBTQ_^1_%ENQ 0_^1_%STQ* TABFG_^1LTABE STA* LTAIO+6_%SAVE BUFFER ADDRESS_^1_%LDQ- I_:SAVE I_^1_%STQ* LBTISV_^1_%LDA* (LTAB)_^1_%STA* LTC€€2_)SAVE FIRST TWO BYTES_^1_%ENQ TABSI_^1_%RAO* LTAB_^1LTABB LDA* LTC2_^1_%EOR* CTAB,Q_^1_%SAZ LTA01_^1LTA11 INQ -2_^1_%SQM LTA02_^1_%JMP* LTABB_^1LTA02 ENA 0_^1LTAX_!RAO* LTAB_)EXIT_^1_%LDQ* LBTISV_5RESTORE I_^1_%STQ- I_^1_%LDQ* LBTQ_7RESTORE Q_^1_%JMP* (LTAB)_^1LBTISV NUM_!0_:SAVE 2_^1LBTQ_!NUM 0_^1LTA01 LDA* (LTAB)_^1_%EOR* CTAB+1,Q_^1_%SAZ LTA03_^1_%JMP* LTA11_^1LTA03€€ QRS 1_^1_%TRQ A_^1_%ADD TABLIB_^1_%STA* LTASEC_^1_%RTJ* LTACG_^1LTACG NUM 0_^1_%LDA* LTACG_^1_%ADD =XLTACOM-LTACG_^1_%STA* LTAIO+2_%SET ABSOLUTE COMPLETION ADDRESS_^1_%LDA* TABFG_^1_%SAZ TA01_^1_%LDA =N$0C03_%WRITE_^1_%JMP* TA02_^1TA01_!LDA =N$0803_%READ_^1TA02_!STA* LTAIO+1_^1LTAIO FREAD $C2,0,0,96,B,0,3,I,0_^1_%NUM 0_^1LTASEC NUM 0_^1_%JMP- (ADISP)_^1LTACOM ENA 1_^€€1_%JMP* LTAX_^1LTC2_!NUM 0_^1SFFF_!NUM $7FFF_^1*_]_^1*_$CONVERSION TABLES_^1*_]_^1CTAB_!EQU CTAB(*)_%TABLE DIRECTORY_^1_%ALF 2,JB01_^1_%ALF 2,JB02_^1_%ALF 2,TCAA_^1_%ALF 2,TCAE_^1_%ALF 2,TCEA_^1_%ALF 2,TC01_^1_%ALF 2,TC02_^1_%ALF 2,TC03_^1_%ALF 2,CCAS_^1_%ALF 2,CCML_^1_%ALF 2,CCCD_^1_%ALF 2,CC01_^1_%ALF 2,CC02_^1_%ALF 2,CC03_^1_%ALF 2,PTFO_^1_%ALF 2,XXFO_^1_%ALF €€ 2,PTAS_^1_%ALF 2,XXAS_^1_%ALF 2,PTAN_^1_%ALF 2,XXAN_^1_%ALF 2,PTHN_^1_%ALF 2,XXHN_^1_%ALF 2,PT01_^1_%ALF 2,XX01_^1_%ALF 2,PT02_^1_%ALF 2,XX02_^1_%ALF 2,PT03_^1_%ALF 2,XX03_^1ENDTAB EQU ENDTAB(*)_^1TABSI EQU TABSI(ENDTAB-CTAB-2) OFFSET TO LAST TABLE ENTRY_^1ADISP EQU ADISP($EA)_^1LPMASK EQU LPMASK($2)_^1NZERO EQU NZERO($12)_^1ZERO_!EQU ZERO($22)_^1ONEBIT EQU O€€NEBIT($23)_^1ZROBIT EQU ZROBIT($33)_^1OBUF_!EQU OBUF(80)_"OUTPUT BUFFER SIZE_^1TMSIZ EQU TMSIZ(40)_"TEMP BUFFER SIZE_^1LISIZ EQU LISIZ(40)_^1VAL_"NUM 0_^1_%EJT_]_^1*_]_^1*_'SUBROUTINE BYTE - NON-RECURSIVE_^1*_]_^1*_'RETURNS NEXT INPUT BYTE IN A_^1*_'MAINTAINS CURRENT CHARACTER OFFSET (IN). BUMPED ON EACH CALL._^1*_'MAINTAINS CURRENT RECORD OFFSET (RBASE). UPDATED WHEN A NEW_€€^1*_-RECORD IS READ._^1*_'SHIFTS CURRENT RECORD INTO BACKBUF AND READS NEW RECORD INTO_^1*_-INBUF WHEN CURRENT CHARACTER IS IN A NEW RECORD._^1*_'ON NEW RECORD READ, RECORD IN WRITTEN TO THE LIST DEVICE._^1*_'IF A COMMENT RECORD HAS BEEN READ, IT IS ALSO WRITTEN TO THE_^1*_-PUNCH DEVICE AND REPLACED WITH THE NEXT RECORD_^1*_'USES FREAD AND FWRITE MACROS._^1*_]_^1*_]_^1*_$GET BYTE F€€ROM INPUT STREAM_^1*_]_^1BYTE_!NUM 0_^1_%RAO IN_^1_%LDA IN_^1_%SUB RBASE_^1_%SUB =N73_^1_%SAP GETREC_^1_%JMP* INREC_^1GETREC ENQ 39_^1_%LDA- NZERO_(FFFF_^1ZF1_#STA INBUF,Q_^1_%INQ -1_^1_%SQM REED1_^1_%JMP* ZF1_^1REED1 LDA- I_^1_%STA IISAV_^1REED_!FREAD $FD,GCMP-*+1,INBUF-*+5,40,A,0,3,I,X_^1_%JMP- (ADISP)_^1GCMP_!LDA RBASE_^1_%ADD =N72_^1_'STA RBASE_^1_%LDA IISAV_^1_%S€€TA- I_^1INREC_!LDA IN_^1_'SUB RBASE_^1_%TRA Q_^1_%CLR A_^1_%LRS 1_^1_'SAZ LOWB_^1_'LDA INBUF,Q_^1_%ARS 8_^1_%JMP* BYOT_^1LOWB_!LDA INBUF-1,Q_^1BYOT_!AND- LPMASK+8_^1_%JMP* (BYTE)_^1RBASE NUM -72_^1INBUF BZS INBUF(40)_^1LUP_"EQU LUP(*)_^1_%LDA- $FA_^1_%JMP* LUOT_^1LU4_"EQU LU4(*)_^1_%ENA 4_^1LUOT_!STA OTLU_^1_%JMP RET_^1*_]_^1*_-LOAD OVERLAY_^1*_]_^1LOVER NUM 0_^1_%€€SAN LOV1_^1_%JMP* ELOVA_^1LOV1_!EQU LOV1(*)_^1_%EOR OLAY_^1_%SAN LOV2_^1_%JMP* ELOVA_^1LOV2_!EOR OLAY_^1_%STA OLAY_^1_%LDA =XBASE-START_^1_%CLR Q_^1_%DVI =N96_^1_%ADD LIBSEC_^1_%ADD* OLAY_^1_%INA -1_^1_%STA* DSEC_^1_%LDA- I_^1_%STA IISAV_^1LOVD_!FREAD $C2,ELOV-*+1,BASE-*+5,96,B,0,3,I,X_^1_%NUM 0_^1DSEC_!NUM 0_^1_%JMP- (ADISP)_^1ELOV_!LDA IISAV_^1_%STA- I_^1ELOVA JMP€€* (LOVER)_^1OLAY_!NUM 0_^1TOLAY NUM 0_^1*_]_^1*_$PROCESS OR_^1*_]_^1DOOR_!NUM 0_^1_%LDA TRUE_^1_%SAZ 2_^1_%JMP RET_^1_%RAO TRUE_^1_%JMP (DOOR)_^1*_]_^1*_$EOL_]_^1*_]_^1EOL_"RTJ BYTE_^1_%EOR LPMASK+8_-00FF_^1_%SAZ ZEOL_^1_%ENA 0_^1_%STA TRUE_^1ZEOL_!JMP RET_^1*_]_^1*_'SUBROUTINE FALSE - RECURSIVE_^1*_]_^1*_'CLEARS TRUE (FORCES FALSE)_^1*_]_^1FALSE EQU FALSE(*)_^1_%E€€NA 0_^1_%STA TRUE_^1_%JMP RET_^1*_]_^1*_'SUBROUTINE HX - RECURSIVE_^1*_]_^1*_'EXTRACT HEXIDECIMAL INPUT FROM INPUT BUFFER_^1*_'IGNORE LEADING, EMBEDDED, TRAILING BLANKS_^1*_'IF NEXT CHARACTER IS NON-HEX, RETURN FALSE_^1*_'SCAN UP TO 1ST NON-HEX_^1*_-PLACE CHARACTERS INTO LI OR OS_^1*_-ACCUMULATE BINARY EQUIVALENT IN A AND VAL_^1*_-DO NOT RESET FALSE FROM SLI_^1*_'CALLS CLEAR BYT€€E AND SLI_^1*_]_^1HX_#EQU HX(*)_^1_%RTJ CLEAR CLEAR LI_^1_%ENA 0_^1_%STA* ZHXF CLEAR FLAG_^1_%STA* ZHXAC_^1ZHX5_!RTJ BYTE_^1_%STA* ZHXSV_^1_%SUB =N$20_^1_%SAN ZHX1_^1_%JMP* ZHX5_^1ZHX1_!SUB =N$10_^1_%SAP ZHX3_^1_%JMP* ZHXEX_^1ZHX3_!SUB =N$A_^1_%SAP ZHX2_^1_%JMP* ZHX_^1ZHX2_!SUB =N$7_^1_%SAP ZHX4_^1_%JMP* ZHXEX_^1ZHX4_!SUB =N$6_^1_%SAP ZHXEX_^1_%JMP* ZHX_^1ZH€€XEX LDA* ZHXF_^1_%SAN ZHX6_^1_%STA TRUE_^1_%JMP RET_^1ZHX6_!LDA* ZHXAC_^1_%STA VAL_^1_%JMP* ZBACK_^1ZHX_"LDA* ZHXAC_^1_%ALS 4_^1_%STA* ZHXAC_^1_%LDA* ZHXSV_^1_%RTJ SLI_^1_%LDA* ZHXSV_^1_%SUB =N$3A_^1_%SAP ZHAN_^1_%INA $A_^1_%JMP* ZHALL_^1ZHAN_!INA 3_^1ZHALL EOR* ZHXAC_^1_%STA* ZHXAC_^1_%RAO* ZHXF_^1_%JMP* ZHX5_^1ZHXF_!NUM 0_^1ZHXAC NUM 0_^1ZHXSV NUM 0_^1€€*_]_^1*_'SUBROUTINE NM - RECURSIVE_^1*_]_^1*_'EXTRACT DECIMAL NUMBER FROM INPUT_^1*_'RETURN FALSE IF NEXT CHAR NON-BLANK, NON-NUMERIC_^1*_'IGNORE LEADING,EMBEDDED,TRAILING BLANKS_^1*_'SCAN UP TO NEXT NON-NUMERIC CHARACTER_^1*_-PUT CHARACTERS INTO LI OREOS AND BINARY INTO A AND VAL_^1*_-DO NOT RESET FALSE FROM SLI_^1*_'CALLS CLEAR BYTE AND SLI_^1*_]_^1NM_!EQU NM(*)_^1_%RTJ CLEAR €€ CLEAR LI_^1_%ENA 0_^1_%STA* ZNMF CLEAR FLAG_^1_%STA* ZNMT CLEAR ACC_^1ZNM5_!RTJ BYTE_^1_%STA* ZNM4_^1_%SUB =N$20_^1_%SAN ZNM1_!IS IT BLANK_^1_%LDA* ZNMF_^1_%SAN ZNC1_(IS IT A LEADING BLANK ?_^1_%JMP* ZNM5 YES, TRY AGAIN_^1ZNC1_!RAO IN_+NO, TERMINATE_^1_%JMP* ZNM3_^1ZNM1_!SUB =N$10_^1_%SAM ZNMEX NON-NUMERIC_^1_%SUB =N$A_^1_%SAP_!ZNMEX_^1_%JMP* ZNM2_^1ZNMEX LDA* €€ZNMF_^1_%SAN ZNM3_!FIRST CHAR_^1_%STA TRUE_!YES, SET FALSE_^1_%JMP RET_^1ZNM3_!LDA* ZNMT NO, TERMINATE INPUT_^1_%STA VAL_"SET VALUE_^1ZBACK LDA IN_^1_%INA -1_^1_%STA IN_^1_%JMP RET_^1ZNM2_!LDA* ZNMT_^1_%MUI =N10_^1_%STA* ZNMT_^1_%LDA* ZNM4_^1_%RTJ SLI_^1_%LDA* ZNM4_^1_%AND- LPMASK+4_^1_%ADD* ZNMT_^1_%STA* ZNMT_^1_%RAO* ZNMF_^1_%JMP* ZNM5_^1ZNM4_!NUM 0_^1ZNMF_€€!NUM 0_^1ZNMT_!NUM 0_^1*_]_^1*_'SUBROUTINE CSTBY - RECURSIVE_^1*_]_^1*_'GETS A BYTE FROM TPST_^1*_'ON ENTRY - A IS BYTE OFFSET_^1*_'ON EXIT - A CONTAINS THE BYTE_^1*_]_^1CSTBY NUM 0_^1_%TRA Q_^1_%CLR A_^1_%LRS 1_^1_%SAZ ZCS1_^1_%LDA TPST,Q_^1_%ARS 8_^1ZCEX_!AND- LPMASK+8_^1_%JMP* (CSTBY)_^1ZCS1_!LDA TPST-1,Q_^1_%JMP* ZCEX_^1TRUE_!NUM 1_^1LI_!ALF 20,_^1IN_#NUM 0_^1L€€IL_"NUM 0_^1OS_#ALF 20,_^1_%ALF 20,_^1OSIZ_!NUM 0_^1*_]_^1*_'SUBROUTINE SLI - NON-RECURSIVE_^1*_]_^1*_'STORE BYTE IN A INTO LI OR OS (DEPENDING ON OUTPUT FLAG)_^1*_'EXITS TO FALSE IF LI OR OS EXCEED THEIR CAPACITIES_^1*_'MAINTAIN OUTPUT CHARACTER OFFSET (LIL OR OSIZ)_^1*_'ON ENTRY, A CONTAINS THE BYTE TO BE STORED_^1*_]_^1SLI_"NUM 0_^1_%AND- LPMASK+8_"00FF_^1_%STA SLIT_^1_%LDA€€ OFLAG_^1_%SAN ZSL_^1_%JMP* NOO_^1ZSL_"RAO OSIZ_^1_%LDA OSIZ_^1_%SUB =XOBUF+1_^1_%SAM SLOK_^1_%JMP FALSE_^1SLOK_!LDA =XOS-LI_^1_%ALS 1_^1_%ADD OSIZ_^1_%TRA Q_^1_%JMP* SLON_^1NOO_"RAO_!LIL_^1_%LDA LIL_^1_%SUB =XLISIZ+1_^1_%SAM LIOK_^1_%JMP FALSE_^1LIOK_!LDQ_!LIL_^1SLON_!CLR A_^1_%LRS 1_^1_%SAZ SILB_^1_%LDA SLIT_!HIGH BYTE_^1_%ALS 8_^1_%STA SLIT_^1_%LDA LI,Q_^1_%AND€€- LPMASK+8_^1_%EOR SLIT_^1_%STA LI,Q_^1_%JMP* (SLI)_^1SILB_!LDA LI-1,Q_^1_%AND- NZERO+8_^1_%EOR SLIT_^1_%STA LI-1,Q_^1_%JMP* (SLI)_^1SLIT_!NUM 0_^1*_]_^1*_'SUBROUTINE CST - RECURSIVE_^1*_]_^1*_'COMPARE A STRING OF INPUT CHARACTERS WITH THE STRING IN_^1*_-THE TEMPORARY BUFFER(TPST)._^1*_'RETURN FALSE IF NOT EQUAL, BYTE FOR BYTE._^1*_'LEADING BLANKS IN THE INPUT ARE IGNORED_^1€€*_'COMPARISON IS DONE FOR THE NUMBER OF BYTES IN TPST_^1*_'CALLS BYTE._^1*_]_^1_%EQU CST(*)_^1_%ENA 1_^1_%STA* CSTC2_^1CSTB_!RTJ BYTE_^1_%SUB =N$20_^1_%SAN CSTON_^1_%JMP* CSTB_^1CSTON ADD =N$20_^1CSTON2 STA* CSTC1_^1_%LDA* CSTC2_^1_%RTJ CSTBY_^1CSTT_!EOR* CSTC1_^1_%SAZ MATCH_^1_%CLR A_!ERROR_^1_%STA TRUE_^1_%JMP RET_^1MATCH RAO* CSTC2_^1_%LDA TPSTN_^1_%SUB* CSTC2_^1_%SAM GEND€€_^1_%RTJ BYTE_^1_%JMP* CSTON2_^1GEND_!JMP RET_^1CSTC1 NUM 0_^1CSTC2 NUM 0_^1*_]_^1*_'SUBROUTINE ST - RECURSIVE_^1*_]_^1*_'PLACE STRING OF CHARS BETWEEN PRIMES (') IN LI OR OS_^1*_'RETURN FALSE IF NEXT NON-BLANK CHARACTER IN INPUT IS NOT PRIME_^1*_'SCANS UNTILL CLOSING PRIME IS ENCOUNTERED_^1*_'DOES NOT RESET FALSE FROM SLI_^1*_'CALLS CLEAR, BYTE AND SLI._^1*_]_^1_%EQU ST(*)_^1_€€%RTJ CLEAR_^1_%RTJ BYTE_^1_%SUB =N$20_^1_%SAN STPR_^1_%JMP* ST_^1STPR_!SUB =N$07_^1_%SAZ STOK_^1_%CLR A_^1_%STA TRUE_^1_%JMP RET_^1STOK_!RTJ BYTE_^1_%SUB =N$27_^1_%SAZ STND_^1_%ADD =N$27_^1_%RTJ SLI_^1_%JMP* STOK_^1STND_!JMP RET_^1*_]_^1*_'SUBROUTINE CLI - NON-RECURSIVE_^1*_]_^1*_$MOVE LENGTH IN BYTES (INLINE) TO TPSTN_^1*_$MOVE N BYTES INLINE TO TPST_^1*_-ODD, BLANK PAD LAST W€€ORD._^1*_'RETURN TO NEXT INSTRUCTION AFTER THE DATA_^1*_]_^1CLI_"NUM 0_^1_%LDQ* (CLI)_^1_%STQ TPSTN_^1_%INQ 1_^1_%CLR A_^1_%LRS 1_^1_%RAO* CLI_^1_%INQ -1_^1CLIB_!LDA (CLI),Q_^1_%STA TPST,Q_^1_%INQ -1_^1_%SQM CLION_^1_%JMP* CLIB_^1CLION LDQ TPSTN_^1_%CLR A_^1_%LRS 1_^1_%SAN CLIM_^1CLIOUT LDA TPSTN_^1_%INA 1_^1_%ARS 1_^1_%ADD CLI_^1_%STA* CLI_^1_%JMP* (CLI)_^1CLIM_€€!LDA (CLI),Q_^1_%AND- NZERO+8_^1_%EOR =N$20_^1_%STA TPST,Q_^1_%JMP* CLIOUT_^1TPST_!ALF 20,_^1TPSTN NUM 0_^1*_]_^1*_'SUBROUTINE ID - RECURSIVE_^1*_]_^1*_'MOVE STRING OF ALPHA-NUMERIC CHARACTERS INTO LI OR OS FROM_^1*_-THE INPUT BUFFER_^1*_'IGNORE LEADING BLANKS._^1*_'RETURN FALSE IF 1ST NON-BLANK ISN'T ALPHA NUMERIC._^1*_'TERMINATE ON NON-ALPHA NUMERIC CHARACTER._^1*_'DOES NOT€€ RESET FALSE FROM SLI._^1*_'CALLS CLEAR,BYTE AND SLI._^1*_]_^1_%EQU ID(*)_^1_%RTJ CLEAR_^1_%CLR A_^1_%STA* IDFG_^1_%STA LIL_^1IDBK_!RTJ BYTE_^1_%STA* IDT_^1_%SUB =N$20_^1_%SAN NBLK_^1_%JMP* IDBK_^1NBLK_!LDA* IDT_^1_%SUB =N$30_^1_%SAM IDER_^1_%SUB =N$A_^1_%SAM IDOK_^1_%SUB =N$7_^1_%SAM IDER_^1_%SUB =N$1A_^1_%SAM IDOK_^1IDER_!LDQ IDFG_^1_%SQN IDEX_^1_%CLR A_^1_%STA€€ TRUE_^1_%JMP* IDEX_^1IDOK_!RAO* IDFG_^1_%LDA* IDT_^1_%RTJ SLI_^1_%RTJ BYTE_^1_%STA* IDT_^1_%SUB =N$20_^1_%JMP* NBLK_^1IDEX_!LDA IN_^1_%INA -1_^1_%STA IN_^1_%JMP RET_^1IDFG_!NUM 0_^1IDT_"NUM 0_^1*_]_^1*_'ROUTINE RECUR_^1*_]_^1*_'MAKES RECURSIVE CALLS (SEE RET)_^1*_'OTHERWISE SAVE CALLER'S ADDRESS AND CURRENT INPUT POINTER ON_^1*_-STACK AND JUMP TO ROUTINE WHOSE ADDRESS W€€AS PASSED_^1*_-IN THE CALLING SEQUENCE_^1*_'IF CURRENT STATE IS FALSE, RETURN DIRECTLY TO CALLING_^1*_-ROUTINE (DO NOT MAKE RECURSIVE CALL)._^1*_]_^1RECUR NUM 0_^1_%RTJ* REC01_^1REC01_!NUM 0_^1_%LDA* (RECUR)_^1_%SAP REC02_%IS IT A ROOT REFERENCE_^1_%ALS 1_^1_%ARS 1_'EXTEND SIGN BIT_^1_%ADD* RECUR_^1_%STA EXIT_^1_%ENA 0_^1_%STA TOLAY_^1_%JMP* REC03_^1REC02 ALS 8_)OVERLAY €€REFERENCE_^1_%ARS 8_)EXTEND SIGN BIT_^1_%ADD* REC01_^1_%ADD =XBASE-REC01_^1_%STA EXIT_^1_%LDA* (RECUR)_^1_%ARS 8_^1_%AND- LPMASK+7_^1_%STA* RECT_)ADJUST OVERLAY NUMBER_^1_%SUB LOLIM_(ACCORDING TO LOLIM AND HILIM_^1_%INA -1_^1_%SAP REC04_^1_%LDA* RECT_^1_%JMP* REC05_^1REC04 LDA* RECT_^1_%SUB HILIM_^1_%ADD LOLIM_^1_%INA 1_^1REC05 EQU REC05(*)_^1_%STA TOLAY_^1REC03 RAO*€€ RECUR_^1_%LDA TRUE_^1_%SAN PUSH_^1_%JMP* (RECUR)_^1PUSH_!LDA IN_^1_%LDQ STACKP_^1_%STA* STACK,Q_^1_%LDA* RECUR_^1_%STA* STACK+1,Q_^1_%LDA OLAY_^1_%STA* STACK+2,Q_^1_%LDA TOLAY_^1_%RTJ LOVER_%OVERLAY LOAD_^1_%RAO* STACKP_^1_%RAO* STACKP_^1_%RAO* STACKP_^1_%JMP (EXIT)_^1RECT_!NUM 0_^1STACK BZS STACK(100)_^1STACKP NUM 0_^1*_]_^1*_'ROUTINE RET_^1*_]_^1*_'EXIT POINT FOR RE€€CURSIVELY CALLED ROUTINES (SEE RECUR)_^1*_'IF STACK IS EMPTY, EXIT TO DISPATCHER_^1*_'OTHERWISE BACK STACK POINTER UP 2_^1*_'IF CURRENT STATE IS FALSE, RESET INPUT POINTER TO VALUE SAVED_^1*_-ON STACK_^1*_'EXIT TO SAVED RETURN ADDRESS._^1*_]_^1RET_"LDQ* STACKP_^1_%SQZ DONE_^1_%JMP* RETOK_^1DONE_!JMP- (ADISP)_^1RETOK INQ -3_^1_%STQ* STACKP_^1_%LDA TRUE_^1_%SAN NOTT_^1_%LDA S€€TACK,Q_^1_%STA IN_^1NOTT_!LDA STACK+1,Q_^1_%STA* EXIT_^1_%LDA* STACK+2,Q_^1_%RTJ LOVER_%LOADOVERLAY_^1_%JMP* (EXIT)_^1EXIT_!NUM 0_^1*_]_^1*_'SUBROUTINE CLEAR - NON-RECURSIVE_^1*_]_^1*_'CLEAR LINE BUFFER_^1*_'SET LIL TO 0 AND STORE BLANKS INTO LI_^1*_]_^1CLEAR NUM 0_^1_%ENQ 0_^1_%STQ LIL_^1_$ENQ 19_^1_%LDA =N$2020_^1AGN_"STA LI,Q_^1_%INQ -1_^1_%SQM CLX_^1_%JMP* AGN_^1C€€LX_"JMP* (CLEAR)_^1*_]_^1*_'SUBROUTINE PLI - RECURSIVE_^1*_]_^1*_'SET UP TO OUTPUT CONTENTS OF LI_^1*_'MOVE CONTENTS OF LI TO TPST_^1*_'MOVE 20 WORDS FROM LI TO TPST AND SET TPSTN = LENGTH OF LI_^1*_'GO TO ZMVP_^1PLI_"EQU_!PLI(*)_^1_$ENQ 19_^1ZOS1_!LDA LI,Q_^1_%STA TPST,Q_^1_%INQ -1_^1_%SQM ZOS2_^1_%JMP* ZOS1_^1ZOS2_!LDA LIL_^1_%STA TPSTN_^1*_]_^1*_]_^1*_'SUBROUTINE ZMVP -€€ RECURSIVE_^1*_]_^1*_'SET UP TO OUTPUT CONTENTS OF TPST_^1*_'MOVE CONTENTS OF TPST INTO OS BUFFER AND RESET OFLAG SO_^1*_-ANY MORE STORES GO INTO LI._^1*_'CALLS CSTBY AND SLI_^1*_]_^1ZMVP_!EQU ZMVP(*)_^1_%ENQ 1_^1_%STQ OFLAG_^1_%ENQ 0_^1_%STQ ZM1_^1ZMBK_!LDA* ZM1_^1_%INA 1_^1_%RTJ CSTBY_^1_%RTJ SLI_^1_%RAO* ZM1_^1_%LDA TPSTN_^1_%SUB* ZM1_^1_%SAZ ZMA2_^1_%JMP* ZMBK_^1Z€€MA2_!STA OFLAG_^1_%JMP RET_^1ZM1_"NUM 0_^1OFLAG NUM 0_^1*_]_^1*_'SUBROUTINE OUTPUT - RECURSIVE_^1*_]_^1*_'OUTPUTS THE CONTENTS OF OS_^1*_'SETS OS TO ALL BLANKS_^1*_'CLEARS OSIZE_^1*_'USES FWRITE MACRO_^1*_]_^1OUTPUT EQU OUTPUT(*)_^1_%ENA 1_^1_%STA OFLAG_^1_%ENA 13_^1_%RTJ SLI_^1_%ENA 10_^1_%RTJ SLI_^1_%ENA 0_^1_%STA OFLAG_^1PUT_"EQU PUT(*)_^1_%LDA OSIZ_^1_%INA 1_^1€€_%ARS 1_^1_%STA* OUTPT+5_^1_%LDA- I_^1_%STA IISAV_^1OUTPT FWRITE OTLU-*+3,OUTCOM-*+1,OS-*+5,40,A,0,3,R,X_^1_%JMP- (ADISP)_^1OUTCOM ENQ 39_^1_%LDA IISAV_^1_%STA- I_^1_%LDA =N$2020_^1OUTBK STA OS,Q_^1_%INQ -1_^1_%SQM OUTEX_^1_%JMP* OUTBK_^1OUTEX ENA 0_^1_%STA OSIZ_^1_%JMP RET_^1OTLU_!NUM 4_^1*_]_^1*_'SUBROUTINE PLIL - RECURSIVE_^1*_]_^1*_'SUBROUTINE NXTREC - RECURSI€€VE_^1*_]_^1*_'RESETS INPUT POINTERS TO NEW LOGICAL RECORD_^1*_'CLEARS CURRENT CHARACTER POINTER (IN=0) SO NEXT CHARACTER IS_^1*_-1ST CHAR IN INBUF_^1*_'RBASE IS SET TO -72 TO FORCE A READ WHEN THE NEXT INPUT_^1*_-CHARACTER IS RETRIEVED_^1*_]_^1NXTREC EQU NXTREC(*)_^1_%LDA =N-72_^1_%STA RBASE_^1_%ENA 0_^1_%STA IN_^1_%JMP RET_^1*_]_^1*_$IS NEXT CHATACTER A COMMA_^1*_]_^1COMMA €€RTJ BYTE_^1_%EOR- ONEBIT+5_$IS IT BLANK_^1_%SAN COMMN_^1_%JMP* COMMA_^1COMMN EOR- ONEBIT+5_^1_%EOR =N$2C_^1_%SAN NCOM_^1_%JMP RET_^1NCOM_!JMP FALSE_^1*_]_^1*_$GO TO_^1*_]_^1GO_#NUM 0_^1_%LDA* (GO)_^1_%STA* GOTT_^1_%RAO* GO_^1_%LDQ TRUE_^1_%SQN GO1_^1_%JMP* (GO)_$CONDITION FALSE_^1GO1_"SAP GO2_+IS IT A ROOT MODULE_^1_%ALS 1_,YES_^1_%ARS 1_)EXTEND SIGN BIT_^1_%ADD* GO_^1€€_%INA -1_+ABSOLUTIZE IT_^1_%STA* GOTT_^1_%JMP* (GOTT)_^1GO2_"ARS 8_,OVERLAY MODULE_^1_%AND- LPMASK+7_^1_%STA* GOTT1_(SAVE OVERLAY NUMBER_^1_%LDA* GOTT_^1_%ALS 8_^1_%ARS 8_,EXTEND SIGN BIT_^1_%ADD REC01_^1_%ADD =XBASE-REC01_^1_%STA* GOTT_^1_%LDA* GOTT1_^1_%SUB LOLIM_^1_%INA -1_^1_%SAP GOT4_^1_%LDA* GOTT1_^1_%JMP* GOT5_^1GOT4_!LDA* GOTT1_^1_%SUB HILIM_^1_%ADD LOLIM_^1_%INA€€ 1_^1GOT5_!EQU GOT5(*)_^1_%RTJ LOVER_^1_%JMP* (GOTT)_^1GOTT_!NUM 0_^1GOTT1 NUM 0_^1IISAV NUM 0_^1_%EQU BAS1(*+13)_^1_%EQU BAS2(BAS1/96)_^1_%EQU BAS3(BAS2+1)_^1_%EQU BAS4(BAS3*96)_^1_%EQU BAS5(BAS4-*)_^1_%EQU BAS6(BAS5-13)_^1_%BZS (BAS6)_^1ITRUE ADC TRUE_^1IRET_!ADC RET_^1IRECUR ADC RECUR_^1IDOOR ADC DOOR_^1ICLI_!ADC CLI_^1IGO_"ADC GO_^1IBYTE ADC BYTE_^1IVAL€€_!ADC VAL_^1ITMPSV ADC TEMPSV_^1ILIL_!ADC LIL_^1ITPSTN ADC TPSTN_^1ICLEAR ADC CLEAR_^1ISLI_!ADC SLI_^1BASE_!EQU BASE(*)_^1BS01_!EQU BS01(0)_^1*_]_^1*_$INITIAL MESSAGE_^1*_]_^1MAIN_#EQU MAIN(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS01_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 16_^1_%ALF 08,TAPE-TO-PRINT IN_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1€€,X15/ZMVP-*-BS01_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS01_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/01,X8/COM-COM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS01_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$MAIN CONTROL FOR MODIFICATION COMMANDS_^1*_]_^1COM_#EQU COM(*)_!RECURSIVE ROUTINE_^1_%VF€€D N8/$5C,X8/ICLI-*-BS01_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,-TP-_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS01_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/PUT-*-BS01_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NXTREC-*-BS01_!ROOT REFERENCE_^1_%VFD N8/$5C,X8€€/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/01,X8/MCOM-MCOM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS01_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/01,X8/COM-COM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS01_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$SEARCH FOR COMMAND ENTERED_^1*_]_^1MCOM_#EQU MCOM(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECU€€R-*-BSXX)_^1_%VFD N1/0,N7/16,X8/LPT-LPT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS01_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/2,X8/DTERM-DTERM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS01_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/2,X8/XLTB-XLTB/96*96 €€ OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS01_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/2,X8/XSTB-XSTB/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS01_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/2,X8/DLST-DLST/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS0€€1_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/3,X8/XMCC-XMCC/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS01_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/3,X8/XMTC-XMTC/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS01_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IREC€€UR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/3,X8/XMPT-XMPT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS01_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/3,X8/XCJD-XCJD/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS01_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,€€N7/2,X8/DRCOM-DRCOM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS01_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS01_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/4,X8/XDJD-XDJD/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS01_!RTJ* (=XIDOOR-*-BSXX)_^1_%OVOVR 08,XLJD,01_!CHECK FOR LJD_^1_%VFD N8/$5C,X8/IDOOR-*-BS01_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-B€€S01_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/14,X8/ERROR6-ERROR6/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS01_"JMP* (IRET-*-BSXX)_^1*_]_^1_%EJT_]_^1_%EQU OVN02(*-1)_^1_%EQU OVA02(OVN02/96)_^1_%EQU OVB02(OVA02+1)_^1_%EQU OVC02(OVB02*96)_^1_%BSS (OVC02-*)_^1_%EQU BS02(BASE-*)_^1*_]_^1*_$TERMINATE COMMAND_^1*_]_^1DTERM_#EQU DTERM(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/I€€CLI-*-BS02_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,TERM_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS02_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS02_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/14,X8/TTOT-TTOT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRE€€CUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/TERM-*-BS02_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS02_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$LOAD TABLE COMMAND_^1*_]_^1XLTB_#EQU XLTB(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS02_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 03_^1_%ALF 02,LTB_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS02_^1_%VFD N8€€/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/02,X8/DLTB-DLTB/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS02_"JMP* (IRET-*-BSXX)_^1DLTB_#EQU DLTB(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMA-*-BS02_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/8,X8/TNA-TNA/€€96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/LTB-*-BS02_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS02_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS02_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$STORE TABLE COMMAND_^1*_]_^1XSTB_#EQU XSTB(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS02_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 03_^1_%ALF 0€€2,STB_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS02_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/02,X8/DSTB-DSTB/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS02_"JMP* (IRET-*-BSXX)_^1DSTB_#EQU DSTB(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/02,X8/STBPAR-ST€€BPAR/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS02_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS02_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/STB-*-BS02_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS02_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS02_"JMP* (IRET€€-*-BSXX)_^1*_]_^1*_$PROCESS PARAMETERS FOR STB_^1*_]_^1STBPAR_#EQU STBPAR(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMA-*-BS02_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/8,X8/TNU-TNU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15€€/STB-*-BS02_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS02_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$LIST TABLE COMMAND_^1*_]_^1DLST_#EQU DLST(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS02_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,LIST_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS02_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%V€€FD N1/0,N7/02,X8/LPAR-LPAR/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS02_"JMP* (IRET-*-BSXX)_^1LPAR_#EQU LPAR(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS02_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/10,X8/LST-LST/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS€€02_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMA-*-BS02_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS02_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/SLU-*-BS02_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BS€€XX)_^1_%VFD N1/0,N7/10,X8/LST-LST/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS02_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/9,X8/ERROR3-ERROR3/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS02_"JMP* (IRET-*-BSXX)_^1DRCOM_#EQU DRCOM(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS02_!RTJ* (=XICLI-*-BSXX)_^1_%NUM€€ 04_^1_%ALF 02,RMOD_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS02_^1_%VFD N8/$5C,X8/IRECUR-*-BS02_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/RCOM-*-BS02_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS02_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1_%EQU OVN03(*-1)_^1_%EQU OVA03(OVN03/96)_^1_%EQU OVB03(OVA03+1)_^1_%EQU OVC03(OVB03*96)_^1_%BSS (OVC03-*)_^€€1_%EQU BS03(BASE-*)_^1*_]_^1*_$MODIFY CARRIAGE CONTROL TABLE COMMAND_^1*_]_^1XMCC_#EQU XMCC(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS03_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 03_^1_%ALF 02,MCC_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS03_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/03,X8/DMCC-DMCC/96*96 OVERLA€€Y REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS03_"JMP* (IRET-*-BSXX)_^1DMCC_#EQU DMCC(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMA-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/HX-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/HX1-€€*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/13,X8/CTL-CTL/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/MCC-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS03_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/9,X8/ERROR2-ERROR2/9€€6*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS03_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$MODIFY TAPE CONVERSION TABLE COMMAND_^1*_]_^1XMTC_#EQU XMTC(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS03_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 03_^1_%ALF 02,MTC_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS03_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-€€*-BSXX)_^1_%VFD N1/0,N7/03,X8/DMTC-DMTC/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS03_"JMP* (IRET-*-BSXX)_^1DMTC_#EQU DMTC(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMA-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/HX-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-€€*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/HX1-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMA-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/HX-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/HX2-*-BS03_!ROOT REFERENCE_^1_%€€VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/MTC-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS03_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/9,X8/ERROR2-ERROR2/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS03_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$MODIFY PRINT TRAIN COMMAND_^1*_]_^1XMPT_#EQU XMPT(*)€€_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS03_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 03_^1_%ALF 02,MPT_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS03_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/03,X8/DMPT-DMPT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS03_"JMP* (IRET-*-BSXX)_^1DMPT_#EQU DMPT(*)_!RECURSIVE R€€OUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMA-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM1-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15€€/COMMA-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/HX-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/HX2-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/MPT-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS03_!RTJ* (=XIDOOR-*-BSX€€X)_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/9,X8/ERROR2-ERROR2/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS03_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$CREATE JOB DISCRIPTION_^1*_]_^1XCJD_#EQU XCJD(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS03_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 03_^1_%ALF 02,CJD_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-B€€SXX)_^1_%VFD N1/1,X15/CST-*-BS03_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/03,X8/DCJD-DCJD/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS03_"JMP* (IRET-*-BSXX)_^1DCJD_#EQU DCJD(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMA-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XI€€RECUR-*-BSXX)_^1_%VFD N1/1,X15/ID-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/SNAM-*-BS03_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS03_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/15,X8/ZCJD-ZCJD/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS03_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1_%EQU OVN04(*-1)_^1_%EQU OVA04(OVN04/96)_^1_%E€€QU OVB04(OVA04+1)_^1_%EQU OVC04(OVB04*96)_^1_%BSS (OVC04-*)_^1_%EQU BS04(BASE-*)_^1*_]_^1*_$EXTRACT OPERANDS FOR CJD COMMAND_^1*_]_^1PCJD_#EQU PCJD(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/04,X8/CCL-CCL/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/04,X8/TPCON-TPCON/96*96 €€ OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/5,X8/BLKSIZ-BLKSIZ/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/5,X8/FORV-FORV/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/6,X8/TAPLU-TAPLU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IR€€ECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/6,X8/PRTLU-PRTLU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CJD-*-BS04_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS04_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$GET CARRIAGE CONTROL TABLE NAME_^1*_]_^1CCL_#EQU CCL(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS04_!RTJ* (=XICLI-*-BSX€€X)_^1_%NUM 17_^1_%ALF 09,CARRIAGE CONTROL?_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS04_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/PUT-*-BS04_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NXTREC-*-BS04_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR€€-*-BSXX)_^1_%VFD N1/0,N7/6,X8/CCTABD-CCTABD/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/SCC-*-BS04_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS04_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/9,X8/ERROR1-ERROR1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS04_!RTJ* (=XIGO-€€*-BSXX)_^1_%VFD N1/0,N7/04,X8/CCL-CCL/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS04_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$GET TAPE CONVERSION TABLE NAME_^1*_]_^1TPCON_#EQU TPCON(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS04_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 16_^1_%ALF 08,TAPE CONVERSION?_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS04_€€^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/PUT-*-BS04_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NXTREC-*-BS04_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/6,X8/TCTABD-TCTABD/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%V€€FD N1/1,X15/STP-*-BS04_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS04_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/9,X8/ERROR1-ERROR1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS04_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/04,X8/TPCON-TPCON/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS04_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$DE€€LETE JOB DEFINITION_^1*_]_^1XDJD_#EQU XDJD(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS04_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 03_^1_%ALF 02,DJD_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS04_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/4,X8/DDJD-DDJD/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS04_"JMP* (I€€RET-*-BSXX)_^1DDJD_#EQU DDJD(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMA-*-BS04_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ID-*-BS04_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/17,X8/DJD-DJD/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8€€/IDOOR-*-BS04_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS04_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/9,X8/ERROR2-ERROR2/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS04_"JMP* (IRET-*-BSXX)_^1*_]_^1_%EJT_]_^1_%EQU OVN05(*-1)_^1_%EQU OVA05(OVN05/96)_^1_%EQU OVB05(OVA05+1)_^1_%EQU OVC05(OVB05*96)_^1_%BSS (OVC05-*)_^1_%EQU BS05(BASE-*)_^1*_]_^1*_$GET BLOCKSIZE_^1€€*_]_^1BLKSIZ_#EQU BLKSIZ(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS05_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 10_^1_%ALF 05,BLOCKSIZE?_^1_%VFD N8/$5C,X8/IRECUR-*-BS05_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS05_^1_%VFD N8/$5C,X8/IRECUR-*-BS05_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/PUT-*-BS05_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS05_!RTJ* (=XIRECUR-*-BSXX)_^1_%€€VFD N1/1,X15/NXTREC-*-BS05_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS05_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS05_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS05_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/SBKKSZ-*-BS05_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS05_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS05_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/9,X8/ERRO€€R2-ERROR2/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS05_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/05,X8/BLKSIZ-BLKSIZ/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS05_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$FIXED OR VARIABLE FORMAT_^1*_]_^1FORV_!EQU FORV(*)_%RECURSIVE ROUTINE_^1_%OVRTJ ICLI,05_^1_%NUM 40_^1_%ALF 20,FIXED(F), VARIABLE(V) OR UNFORMATTED(U)?_^1_%OVRTR ZMVP,05_^1_%€€OVRTR PUT,05_^1_%OVRTR NXTREC,05_^1_%OVOVR 05,FVU,05_^1_%OVRTJ IDOOR,05_^1_%OVOVR 09,ERROR2,05_^1_%OVOVG 05,FORV,05_^1_%OVRET 05_^1FVU_"EQU FVU(*)_^1_%OVRTJ ICLI,05_^1_%NUM 01_^1_%ALF 01,F_^1_%OVRTR CST,05_^1_%OVRTR SRM,05_^1_%OVOVR 06,RECSIZ,05_^1_%OVRTJ IDOOR,05_^1_%OVRTJ ICLI,05_^1_%NUM 01_^1_%ALF 01,V_^1_%OVRTR CST,05_^1_%OVRTR BLKREC,05_^1_%OVRTR SRM,05_^1_%OVRTJ IDOOR,05€€_^1_%OVRTJ ICLI,05_^1_%NUM 01_^1_%ALF 01,U_^1_%OVRTR CST,05_^1_%OVRTR BLKREC,05_^1_%OVRTR SRM,05_^1_%OVRET 05_^1_%EJT_]_^1_%EQU OVN06(*-1)_^1_%EQU OVA06(OVN06/96)_^1_%EQU OVB06(OVA06+1)_^1_%EQU OVC06(OVB06*96)_^1_%BSS (OVC06-*)_^1_%EQU BS06(BASE-*)_^1*_]_^1*_$GET RECORD SIZE_^1*_]_^1RECSIZ_#EQU RECSIZ(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS06_!RTJ* (=XICLI-*-BSX€€X)_^1_%NUM 12_^1_%ALF 06,RECORD SIZE?_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS06_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/PUT-*-BS06_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NXTREC-*-BS06_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BS€€XX)_^1_%VFD N1/1,X15/NM-*-BS06_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/SRECSZ-*-BS06_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS06_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/9,X8/ERROR2-ERROR2/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS06_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/€€0,N7/06,X8/RECSIZ-RECSIZ/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS06_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$GET TAPE LU_^1*_]_^1TAPLU_#EQU TAPLU(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS06_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 08_^1_%ALF 04,TAPE LU?_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS06_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (€€=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/PUT-*-BS06_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NXTREC-*-BS06_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS06_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/STLU-*-BS06_!ROOT REFERENCE_^1_%VFD N8/$5C,X8€€/IDOOR-*-BS06_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/9,X8/ERROR3-ERROR3/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS06_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/06,X8/TAPLU-TAPLU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS06_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$GET PRINTER LU_^1*_]_^1PRTLU_#EQU PRTLU(*)_!RECURSIVE ROU€€TINE_^1_%VFD N8/$5C,X8/ICLI-*-BS06_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 11_^1_%ALF 06,PRINTER LU?_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS06_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/PUT-*-BS06_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NXTREC-*-BS06_!ROOT REFERENCE€€_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS06_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/SPLU-*-BS06_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS06_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/9,X8/ERROR3-ERROR3/96*96 OVERLAY REFERENCE_^1_%VFD N€€8/$5C,X8/IGO-*-BS06_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/06,X8/PRTLU-PRTLU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS06_"JMP* (IRET-*-BSXX)_^1CCTABD_#EQU CCTABD(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/06,X8/CCTAB-CCTAB/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS06_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/€€IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/DFLT-*-BS06_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS06_"JMP* (IRET-*-BSXX)_^1TCTABD_#EQU TCTABD(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/7,X8/TCTAB-TCTAB/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS06_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RT€€J* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/DFLT-*-BS06_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS06_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$CHECK FOR LEGAL CARRIAGE CONTROL TABLE NAME_^1*_]_^1CCTAB_#EQU CCTAB(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/7,X8/CCTABP-CCTABP/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS06_!RTJ* (=XIDOOR€€-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS06_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/7,X8/CCTABU-CCTABU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS06_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1_%EQU OVN07(*-1)_^1_%EQU OVA07(OVN07/96)_^1_%EQU OVB07(OVA07+1)_^1_%EQU OVC07(OVB07*96)_^1_%BSS (OVC07-*)_^1_%EQU BS07(BASE-*)_^1*_]_^1*_$CHECK FOR LEGAL PROTECTED CARRIAGE CONTROL TABLE NA€€ME_^1*_]_^1CCTABP_#EQU CCTABP(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS07_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,CCAS_^1_%VFD N8/$5C,X8/IRECUR-*-BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS07_^1_%VFD N8/$5C,X8/IDOOR-*-BS07_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS07_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,CCML_^1_%VFD N8/$5C,X8/IRECUR-*-€€BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS07_^1_%VFD N8/$5C,X8/IDOOR-*-BS07_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS07_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,CCCD_^1_%VFD N8/$5C,X8/IRECUR-*-BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS07_^1_%VFD N8/$1C,X8/IRET-*-BS07_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$CHECK FOR LEGAL UNPROTECTED CARRIAGE CONTR€€OL TABLE NAME_^1*_]_^1CCTABU_#EQU CCTABU(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS07_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,CC01_^1_%VFD N8/$5C,X8/IRECUR-*-BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS07_^1_%VFD N8/$5C,X8/IDOOR-*-BS07_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS07_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,CC02_^1_%VFD N8/$5C,X€€8/IRECUR-*-BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS07_^1_%VFD N8/$5C,X8/IDOOR-*-BS07_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS07_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,CC03_^1_%VFD N8/$5C,X8/IRECUR-*-BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS07_^1_%VFD N8/$1C,X8/IRET-*-BS07_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$CHECK FOR LEGAL TAPE CONVERSION€€ TABLE NAME_^1*_]_^1TCTAB_#EQU TCTAB(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/07,X8/TCTABP-TCTABP/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS07_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/07,X8/TCTABU-TCTABU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS07_"JM€€P* (IRET-*-BSXX)_^1*_]_^1*_$CHECK FOR LEGAL PROTECTED TAPE CONVERSION TABLE NAME_^1*_]_^1TCTABP_#EQU TCTABP(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS07_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,TCAA_^1_%VFD N8/$5C,X8/IRECUR-*-BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS07_^1_%VFD N8/$5C,X8/IDOOR-*-BS07_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS07_€€!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,TCEA_^1_%VFD N8/$5C,X8/IRECUR-*-BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS07_^1_%VFD N8/$5C,X8/IDOOR-*-BS07_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS07_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,TCAE_^1_%VFD N8/$5C,X8/IRECUR-*-BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS07_^1_%VFD N8/$1C,X8/IRET-*-€€BS07_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$CHECK FOR LEGAL UNPROTECTED TAPE CONVERSION TABLE NAME_^1*_]_^1TCTABU_#EQU TCTABU(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS07_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,TC01_^1_%VFD N8/$5C,X8/IRECUR-*-BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS07_^1_%VFD N8/$5C,X8/IDOOR-*-BS07_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IC€€LI-*-BS07_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,TC02_^1_%VFD N8/$5C,X8/IRECUR-*-BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS07_^1_%VFD N8/$5C,X8/IDOOR-*-BS07_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS07_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,TC03_^1_%VFD N8/$5C,X8/IRECUR-*-BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS07_^1_%VFD N8/$1C,€€X8/IRET-*-BS07_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$CHECK FOR LEGAL PRINT TRAIN NAME_^1*_]_^1PTTAB_#EQU PTTAB(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/8,X8/PTTABP-PTTABP/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS07_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS07_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/8,X8/PTTABU€€-PTTABU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS07_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1_%EQU OVN08(*-1)_^1_%EQU OVA08(OVN08/96)_^1_%EQU OVB08(OVA08+1)_^1_%EQU OVC08(OVB08*96)_^1_%BSS (OVC08-*)_^1_%EQU BS08(BASE-*)_^1*_]_^1*_$CHECK FOR LEGAL PROTECTED PRINT TRAIN NAME_^1*_]_^1PTTABP_#EQU PTTABP(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS08_!RTJ* (=XICLI-*-BSXX€€)_^1_%NUM 04_^1_%ALF 02,PTFO_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS08_^1_%VFD N8/$5C,X8/IDOOR-*-BS08_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS08_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,PTAS_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS08_^1_%VFD N8/$5C,X8/IDOOR-*-BS08_!RTJ* (=XIDOOR€€-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS08_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,PTAN_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS08_^1_%VFD N8/$5C,X8/IDOOR-*-BS08_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS08_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,PTHN_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X€€15/CST-*-BS08_^1_%VFD N8/$1C,X8/IRET-*-BS08_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$CHECK FOR LEGAL UNPROTECTED PRINT TRAIN NAME_^1*_]_^1PTTABU_#EQU PTTABU(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS08_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,PT01_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS08_^1_%VFD N8/$5C,X8/IDOOR-*-BS08_!RTJ* (=XIDOOR€€-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS08_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,PT02_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS08_^1_%VFD N8/$5C,X8/IDOOR-*-BS08_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS08_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,PT03_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X€€15/CST-*-BS08_^1_%VFD N8/$1C,X8/IRET-*-BS08_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$CHECK FOR LEGAL TABLE NAME_^1*_]_^1TNA_#EQU TNA(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/6,X8/CCTAB-CCTAB/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS08_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1€€/0,N7/7,X8/TCTAB-TCTAB/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS08_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/7,X8/PTTAB-PTTAB/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS08_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/9,X8/ERROR1-ERROR1/96*96 OVERLAY REFE€€RENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/FALSE-*-BS08_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS08_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$CHECK FOR LEGAL UNPROTECTED TABLE_^1*_]_^1TNU_#EQU TNU(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/7,X8/CCTABU-CCTABU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/€€IDOOR-*-BS08_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/7,X8/TCTABU-TCTABU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS08_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/8,X8/PTTABU-PTTABU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS08_!RTJ* (=XIDOOR-*-BSXX)_^1_€€%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/9,X8/ERROR1-ERROR1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS08_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/FALSE-*-BS08_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS08_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$LIST JOB DIRECTORY (LJD)_^1*_]_^1XLJD_!EQU XLJD(*)_^1_%OVRTJ ICLI,08_$CHECK FOR 'LJD'_^1_%NUM 03_^1_%AL€€F 02,LJD_^1_%OVRTR CST,08_^1_%OVRTR EOL,08_%CHECK FOR EOL_^1_%OVRTR LJD,08_%GO PROCESS LJD COJMAND IF YES_^1_%OVRTR OUTPUT,08_"OUTPUT_^1_%OVRET 08_^1_%EJT_]_^1_%EQU OVN09(*-1)_^1_%EQU OVA09(OVN09/96)_^1_%EQU OVB09(OVA09+1)_^1_%EQU OVC09(OVB09*96)_^1_%BSS (OVC09-*)_^1_%EQU BS09(BASE-*)_^1ERROR1_#EQU ERROR1(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS09_!RTJ* (=XICLI-*-€€BSXX)_^1_%NUM 18_^1_%ALF 09,INVALID TABLE NAME_^1_%VFD N8/$5C,X8/IRECUR-*-BS09_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS09_^1_%VFD N8/$5C,X8/IRECUR-*-BS09_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS09_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS09_"JMP* (IRET-*-BSXX)_^1ERROR2_#EQU ERROR2(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS09_!RTJ* (=XICLI-*-BSX€€X)_^1_%NUM 15_^1_%ALF 08,INVALID OPERAND_^1_%VFD N8/$5C,X8/IRECUR-*-BS09_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS09_^1_%VFD N8/$5C,X8/IRECUR-*-BS09_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS09_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS09_"JMP* (IRET-*-BSXX)_^1ERROR3_#EQU ERROR3(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS09_!RTJ* (=XICLI-*-BSXX)_^1_€€%NUM 10_^1_%ALF 05,ILLEGAL LU_^1_%VFD N8/$5C,X8/IRECUR-*-BS09_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS09_^1_%VFD N8/$5C,X8/IRECUR-*-BS09_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS09_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS09_"JMP* (IRET-*-BSXX)_^1ERROR4_#EQU ERROR4(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS09_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 15_^1€€_%ALF 08,INVALID COMMAND_^1_%VFD N8/$5C,X8/IRECUR-*-BS09_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS09_^1_%VFD N8/$5C,X8/IRECUR-*-BS09_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS09_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS09_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1_%EQU OVN10(*-1)_^1_%EQU OVA10(OVN10/96)_^1_%EQU OVB10(OVA10+1)_^1_%EQU OVC10(OVB10*96)_^1_%BSS (OVC€€10-*)_^1_%EQU BS10(BASE-*)_^1LST_#EQU LST(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/INVTAB-*-BS10_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS10_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/10,X8/TTAB-TTAB/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS10_!RTJ* (=XIDOO€€R-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/12,X8/CTAL-CTAL/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS10_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/11,X8/TPTAB-TPTAB/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS10_"JMP* (IRET-*-BSXX)_^1TTAB_#EQU TTAB(*)_!RECURSIVE ROUTIN€€E_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/TYP2-*-BS10_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/ICLI-*-BS10_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 21_^1_%ALF 11,TAPE CONVERSION TABLE_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS10_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS10_!ROOT R€€EFERENCE_^1_%VFD N8/$5C,X8/ICLI-*-BS10_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 18_^1_%ALF 09, TAPE_$PRINTER_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS10_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/PUT-*-BS10_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/ICLI-*-BS10_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 18_^1_%ALF 09,HEX CODE HEX CODE_€€^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS10_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/PUT-*-BS10_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/10,X8/TCLIN-TCLIN/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/LU4-*-B€€S10_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS10_"JMP* (IRET-*-BSXX)_^1TCLIN_#EQU TCLIN(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/HXTC-*-BS10_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/ICLI-*-BS10_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 08_^1_%ALF 04,_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS10_^1_%V€€FD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/HXPC-*-BS10_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/PUT-*-BS10_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS10_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ETB-*-BS10_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS10_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/10,X8/TCLIN-TCLIN/9€€6*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS10_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS10_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1_%EQU OVN11(*-1)_^1_%EQU OVA11(OVN11/96)_^1_%EQU OVB11(OVA11+1)_^1_%EQU OVC11(OVB11*96)_^1_%BSS (OVC11-*)_^1_%EQU BS11(BASE-*)_^1TPTAB_#EQU TPTAB(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS11_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1€€/1,X15/TYP4-*-BS11_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/ICLI-*-BS11_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 17_^1_%ALF 09,PRINT TRAIN TABLE_^1_%VFD N8/$5C,X8/IRECUR-*-BS11_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS11_^1_%VFD N8/$5C,X8/IRECUR-*-BS11_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS11_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/ICLI-*-BS11_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 19€€_^1_%ALF 10,POSITION HEX VALUE_^1_%VFD N8/$5C,X8/IRECUR-*-BS11_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS11_^1_%VFD N8/$5C,X8/IRECUR-*-BS11_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/PUT-*-BS11_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS11_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/11,X8/PTLIN-PTLIN/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS11_!RTJ* (=XIRECUR€€-*-BSXX)_^1_%VFD N1/1,X15/LU4-*-BS11_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS11_"JMP* (IRET-*-BSXX)_^1PTLIN_#EQU PTLIN(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS11_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NMTR-*-BS11_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/ICLI-*-BS11_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 07_^1_%ALF 04,_^1_%VFD N8/$5C,X8/IRECUR-*-BS11_!RTJ* (=XIRECUR-*-BSXX)_^€€1_%VFD N1/1,X15/ZMVP-*-BS11_^1_%VFD N8/$5C,X8/IRECUR-*-BS11_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/HXPC-*-BS11_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS11_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/PUT-*-BS11_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS11_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ETB-*-BS11_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS11_!RTJ* (=XIGO-*-BSXX)_^1€€_%VFD N1/0,N7/11,X8/PTLIN-PTLIN/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS11_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS11_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1_%EQU OVN12(*-1)_^1_%EQU OVA12(OVN12/96)_^1_%EQU OVB12(OVA12+1)_^1_%EQU OVC12(OVB12*96)_^1_%BSS (OVC12-*)_^1_%EQU BS12(BASE-*)_^1CTAL_#EQU CTAL(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS12_!RTJ€€* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/TYP1-*-BS12_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/ICLI-*-BS12_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 17_^1_%ALF 09,CARRIAGE CONTROL_^1_%VFD N8/$5C,X8/IRECUR-*-BS12_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS12_^1_%VFD N8/$5C,X8/ICLI-*-BS12_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 05_^1_%ALF 03,TABLE_^1_%VFD N8/$5C,X8/IRECUR-*-BS12_!RTJ* (=XIRECUR-*-BSXX€€)_^1_%VFD N1/1,X15/ZMVP-*-BS12_^1_%VFD N8/$5C,X8/IRECUR-*-BS12_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS12_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/ICLI-*-BS12_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 18_^1_%ALF 09,HEX CODE FUNCTION_^1_%VFD N8/$5C,X8/IRECUR-*-BS12_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS12_^1_%VFD N8/$5C,X8/IRECUR-*-BS12_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1€€/1,X15/PUT-*-BS12_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS12_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/12,X8/CCLIN-CCLIN/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS12_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/LU4-*-BS12_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS12_"JMP* (IRET-*-BSXX)_^1CCLIN_#EQU CCLIN(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS12_!RTJ* (€€=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/HXCC-*-BS12_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/ICLI-*-BS12_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 08_^1_%ALF 04,_^1_%VFD N8/$5C,X8/IRECUR-*-BS12_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS12_^1_%VFD N8/$5C,X8/IRECUR-*-BS12_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CTLF-*-BS12_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS12_!RTJ* (=XIRECUR-*-BSXX)€€_^1_%VFD N1/1,X15/PUT-*-BS12_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS12_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ETB-*-BS12_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS12_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/12,X8/CCLIN-CCLIN/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS12_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS12_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1_%EQU OVN1€€3(*-1)_^1_%EQU OVA13(OVN13/96)_^1_%EQU OVB13(OVA13+1)_^1_%EQU OVC13(OVB13*96)_^1_%BSS (OVC13-*)_^1_%EQU BS13(BASE-*)_^1*_]_^1*_$EXTRACT CTL OPERAND_^1*_]_^1CTL_#EQU CTL(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS13_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS13_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS13€€_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMA-*-BS13_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/13,X8/GCTL-GCTL/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/13,X8/CTL-CTL/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS13_"JMP* (IRET-*-BSXX)_^1GCTL_#EQU GCTL(*)_!RECURSIVE ROU€€TINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/13,X8/SKP-SKP/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS13_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/13,X8/CHAN-CHAN/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS13_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XI€€RECUR-*-BSXX)_^1_%VFD N1/0,N7/13,X8/PRT-PRT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS13_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/13,X8/NOP-NOP/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS13_"JMP* (IRET-*-BSXX)_^1SKP_#EQU SKP(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS13_!RTJ* (=XICLI-*-BSXX)_^1_%NU€€M 01_^1_%ALF 01,S_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS13_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS13_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/SSKP-*-BS13_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS13_"JMP* (IRET-*-BSXX)_^1CHAN_#EQU CHAN(*)_!RECU€€RSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS13_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 01_^1_%ALF 01,C_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS13_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS13_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/SCHAN-*-BS13_!ROOT REFERENCE_^1_€€%VFD N8/$1C,X8/IRET-*-BS13_"JMP* (IRET-*-BSXX)_^1PRT_#EQU PRT(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS13_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 01_^1_%ALF 01,P_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS13_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/SPRT-*-BS13_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS13_"J€€MP* (IRET-*-BSXX)_^1NOP_#EQU NOP(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS13_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 01_^1_%ALF 01,N_^1_%VFD N8/$5C,X8/IRECUR-*-BS13_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS13_^1_%VFD N8/$1C,X8/IRET-*-BS13_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1_%EQU OVN14(*-1)_^1_%EQU OVA14(OVN14/96)_^1_%EQU OVB14(OVA14+1)_^1_%EQU OVC14(OVB14*96)_^1_%BSS €€ (OVC14-*)_^1_%EQU BS14(BASE-*)_^1ERROR5_#EQU ERROR5(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS14_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 16_^1_%ALF 08,JOB LIBRARY FULL_^1_%VFD N8/$5C,X8/IRECUR-*-BS14_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS14_^1_%VFD N8/$5C,X8/IRECUR-*-BS14_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS14_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-€€*-BS14_"JMP* (IRET-*-BSXX)_^1ERROR6_#EQU ERROR6(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS14_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 17_^1_%ALF 09,UNDEFINED COMMAND_^1_%VFD N8/$5C,X8/IRECUR-*-BS14_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS14_^1_%VFD N8/$5C,X8/IRECUR-*-BS14_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS14_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS€€14_"JMP* (IRET-*-BSXX)_^1ERROR7_#EQU ERROR7(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS14_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 15_^1_%ALF 08,NOT IMPLEMENTED_^1_%VFD N8/$5C,X8/IRECUR-*-BS14_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS14_^1_%VFD N8/$5C,X8/IRECUR-*-BS14_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS14_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS14_"JM€€P* (IRET-*-BSXX)_^1TTOT_#EQU TTOT(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS14_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 17_^1_%ALF 09,TAPE-TO-PRINT OUT_^1_%VFD N8/$5C,X8/IRECUR-*-BS14_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS14_^1_%VFD N8/$5C,X8/IRECUR-*-BS14_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS14_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS14_"JMP* (IRE€€T-*-BSXX)_^1_%EJT_]_^1_%EQU OVN15(*-1)_^1_%EQU OVA15(OVN15/96)_^1_%EQU OVB15(OVA15+1)_^1_%EQU OVC15(OVB15*96)_^1_%BSS (OVC15-*)_^1_%EQU BS15(BASE-*)_^1ZCJD_#EQU ZCJD(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS15_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 14_^1_%ALF 07,STANDARD MODE?_^1_%VFD N8/$5C,X8/IRECUR-*-BS15_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS15_^1_%VFD N8/€€$5C,X8/IRECUR-*-BS15_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/PUT-*-BS15_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS15_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NXTREC-*-BS15_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/ICLI-*-BS15_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 01_^1_%ALF 01,Y_^1_%VFD N8/$5C,X8/IRECUR-*-BS15_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS15_^1_%VFD N8/$5C,X8/IRECUR-*€€-BS15_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/04,X8/PCJD-PCJD/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS15_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS15_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 01_^1_%ALF 01,N_^1_%VFD N8/$5C,X8/IRECUR-*-BS15_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS15_^1_%VFD N8/$5C,X8/IRECUR-*-BS15_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/15,X€€8/DMODE-DMODE/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS15_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS15_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/15,X8/ZCJD-ZCJD/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS15_"JMP* (IRET-*-BSXX)_^1DMODE_#EQU DMODE(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS15_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/04,X8/TPCON-TPCON€€/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS15_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/6,X8/TAPLU-TAPLU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS15_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/6,X8/PRTLU-PRTLU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS15_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/DUMP-*-BS15_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*€€-BS15_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CJD-*-BS15_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS15_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1_%EQU OVN16(*-1)_^1_%EQU OVA16(OVN16/96)_^1_%EQU OVB16(OVA16+1)_^1_%EQU OVC16(OVB16*96)_^1_%BSS (OVC16-*)_^1_%EQU BS16(BASE-*)_^1*_]_^1*_$LOAD PRINT TRAIN_^1*_]_^1LPT_#EQU LPT(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS16_!RTJ* (=XI€€CLI-*-BSXX)_^1_%NUM 03_^1_%ALF 02,LPT_^1_%VFD N8/$5C,X8/IRECUR-*-BS16_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS16_^1_%VFD N8/$5C,X8/IRECUR-*-BS16_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/16,X8/ALPT-ALPT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS16_"JMP* (IRET-*-BSXX)_^1ALPT_#EQU ALPT(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS16_!RTJ* (=XIRECUR-*-BSX€€X)_^1_%VFD N1/0,N7/16,X8/NLPT-NLPT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS16_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS16_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMA-*-BS16_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS16_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/7,X8/PTTAB-PTTAB/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS16_!RTJ* (=XIRECUR-*-€€BSXX)_^1_%VFD N1/1,X15/COMMA-*-BS16_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS16_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS16_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS16_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ELPT-*-BS16_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/ICLI-*-BS16_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 28_^1_%ALF 14,PRESS LOAD IMAGE ON PRINTER,_^1_%VFD N8/$5C,X8/IRECUR€€-*-BS16_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS16_^1_%VFD N8/$5C,X8/ICLI-*-BS16_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 27_^1_%ALF 14, THEN PRESS CARRIAGE RETURN_^1_%VFD N8/$5C,X8/IRECUR-*-BS16_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS16_^1_%VFD N8/$5C,X8/IRECUR-*-BS16_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/PUT-*-BS16_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS1€€6_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NXTREC-*-BS16_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS16_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS16_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS16_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/DWRT-*-BS16_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS16_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS16_!RTJ* (=XIRECUR-*-B€€SXX)_^1_%VFD N1/0,N7/9,X8/ERROR2-ERROR2/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS16_"JMP* (IRET-*-BSXX)_^1NLPT_#EQU NLPT(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS16_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CLPT-*-BS16_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS16_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/14,X8/ERROR7-ERROR7/96*96 OVERLAY REFERENCE_^1_%VFD €€N8/$1C,X8/IRET-*-BS16_"JMP* (IRET-*-BSXX)_^1_%EQU OVN17(*-1)_^1_%EQU OVA17(OVN17/96)_^1_%EQU OVB17(OVA17+1)_^1_%EQU OVC17(OVB17*96)_^1_%BSS (OVC17-*)_^1_%EQU BS17(BASE-*)_^1*_]_^1*_$DELETE JOB DISCRIPTION_^1*_]_^1DJD_"EQU DJD(*)_^1*_'MLDA LIL_^1_%VFD N4/$C,X1/1,X1/0,X2/0,N8/0_^1_%VFD X1/1,X15/LIL-*-BS17_^1_%INA -5_+CHECK FOR VALID JOB NAME LENGTH_^1_%SAM DJD1_^1DJDEX €€EQU DJDEX(*)_^1*_'MJMP RET_^1_%VFD N4/$1,X1/1,X1/0,X2/0,N8/0_^1_%VFD X1/1,X15/RET-*-BS17_^1DJD1_!EQU DJD1(*)_^1*_'MLDA LI_^1_%VFD N4/$C,X1/1,X1/0,X2/0,N8/0_^1_%VFD X1/1,X15/LI-*-BS17_^1_%STA* DJD2_^1_%EQU LI2(LI+1)_^1*_'MLDA LI2_^1_%VFD N4/$C,X1/1,X1/0,X2/0,N8/0_^1_%VFD X1/1,X15/LI2-*-BS17_^1_%STA* DJD2+1_^1*_'MRTJ SRJB_^1_%VFD N4/$5,X1/1,X1/0,X2/0,N8/0_^1_%VFD X1/1,€€X15/SRJB-*-BS17_^1DJD2_!NUM 0,0_^1_%SQP DJD3_^1_%JMP* DJDEX_^1DJD3_!CLR A_^1*_'MSTA CJDBF,Q_^1_%VFD N4/$6,X1/1,X1/0,X2/2,N8/0_^1_%VFD X1/1,X15/CJDBF-*-BS17_^1*_'MLDA SR01_^1_%VFD N4/$C,X1/1,X1/0,X2/0,N8/0_^1_%VFD X1/1,X15/SR01-*-BS17_^1*_'MRTJ STAB_^1_%VFD N4/$5,X1/1,X1/0,X2/0,N8/0_^1_%VFD X1/1,X15/STAB-*-BS17_^1_%ALF 2,JB01_^1_%JMP* DJDEX_^1ENDMOD_#EQU ENDMOD(*)_!RECURS€RIVE ROUTINE_^1_%VFD N8/$1C,X8/IRET-*-BS17_"JMP* (IRET-*-BSXX)_^1_%END MODMOD_^__ RPTTPLIB CSY/ I,C P€1_%NAM TTPLIB_'DECK-ID B12 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1*_$T A B L E_!L I B R A R Y_^1*_]_^1*_]_^1SLUG00 MAC_]_^1_%ALF 2,1230_51230_^1_%EMC_]_^1SLUG01 MAC_]_^1_%ALF 2,0123_^1_%EMC_]_^1SLUG02 MAC_]_^1_%ALF 2,4567_^1_%EMC_]_€€^1SLUG03 MAC_]_^1_%ALF 2,89.-_589.-_^1_%EMC_]_^1SLUG04 MAC_]_^1_%ALF 2,ABCZ_5ABCZ_^1_%EMC_]_^1SLUG05 MAC_]_^1_%ALF 2,DUST_^1_%EMC_]_^1SLUG06 MAC_]_^1_%ALF 2,MNOP_^1_%EMC_]_^1SLUG07 MAC_]_^1_%ALF 2,RIFL_^1_%EMC_]_^1SLUG08 MAC_]_^1_%ALF 2,VWXY_^1_%EMC_]_^1SLUG09 MAC_]_^1_%ALF 2,JKQ*_^1_%EMC_]_^1SLUG0A MAC_]_^1_%ALF 2,GHE/_^1_%EMC_]_^1SLUG0B MAC_]_^1_%ALF 02,)#@%_4RT PARA,POU€€ND,AT,PERCENT_^1_%EMC_]_^1SLUG0C MAC_]_^1_%ALF 02,,%+$_4COMMA,AMPHER,PLUS,DOLLAR_^1_%EMC_]_^1SLUG0D MAC_]_^1_%ALF 2,BZ,/_^1_%EMC_]_^1SLUG0E MAC_]_^1_%ALF 2,89AC_^1_%EMC_]_^1SLUG0F MAC_]_^1_%ALF 2,(GH)_^1_%EMC_]_^1SLUG11 MAC_]_^1_%ALF 2,+-.E_^1_%EMC_]_^1SLUG1C MAC_]_^1_%ALF 02,[%^]_4RT BKT,PCNT,UP ARROW,LFT BKT_^1_%EMC_]_^1SLUG1D MAC_]_^1_%ALF 02,$_ "=_4DOLLAR,LFT ARROW,QUOTE€€,EQUAL_^1_%EMC_]_^1SLUG1E MAC_]_^1_%NUM $273F,$2621_1PRIME,QMARK,AMPHER,EXCLAM_^1_%EMC_]_^1SLUG1F MAC_]_^1_%ALF 02,@\<>_4AT,BK SLASH,LT,GT_^1_%EMC_]_^1SLUG20 MAC_]_^1_%ALF 02,:;#=_4COLON,SEMICOLON,POUND,EQUAL_^1_%EMC_]_^1SLUG21 MAC_]_^1_%ALF 2,/STU_^1_%EMC_]_^1SLUG22 MAC_]_^1_%ALF 2,ABCD_^1_%EMC_]_^1SLUG23 MAC_]_^1_%ALF 02,$%,Z_4DOLLAR,AMPHER,COMMA,Z_^1_%EMC_]_^1SLUG24 MAC_]_€€^1_%NUM $283D,$2729_0(,=,PRIME,)_^1_%EMC_]_^1SLUG25 MAC_]_^1_%ALF 02,[%"]_4L.BKT,PCNT,QUOTE,R.BKT_^1_%EMC_]_^1SLUG3A MAC_]_^1_%NUM $2440,$273D_0DOLLAR,AT,PRIMT,EQUAL_^1_%EMC_]_^1SLUG3B MAC_]_^1_%ALF 02,#\^!_4POUND,BACK SLASH,CIRFLX,EXCLAM_^1_%EMC_]_^1SLUG3C MAC_]_^1_%ALF 02,%?<>_4AMPHER,QUESTION,LT,GT_^1_%EMC_]_^1SLUG3D MAC_]_^1_%ALF 02,:;?=_4COLON,SEMICOLON,QUESTION,EQUAL_^1€€_%EMC_]_^1SLUG54 MAC_]_^1_%ALF 2,89GH_^1_%EMC_]_^1SLUG58 MAC_]_^1_%ALF 02,[\/]_4LFT BKT,BK SLASH,SLASH,RT BKT_^1_%EMC_]_^1SLUG59 MAC_]_^1_%ALF 02,;?":_4SEMICOLON,QMARK,QUOTE,COLON_^1_%EMC_]_^1SLUG5A MAC_]_^1_%NUM $2829,$2721_0(,),PRIME,EXCLAMA_^1_%EMC_]_^1SLUG5B MAC_]_^1_%ALF 02,_ ><=_4LFT ARROW,GT,LT,EQUAL_^1_%EMC_]_^1SLUG5C MAC_]_^1_%ALF 02,^#@%_4UP ARROW,POUND,AT,PERCEMT_^€€1_%EMC_]_^1START EQU START(*)_^1JB01_!EQU JB01(*-START)_^1_%BZS (96)_^1JB02_!EQU JB02(*-START)_^1_%BZS (96)_^1*_]_^1*_$ASCII TO ASCII_^1*_]_^1TCAA_!EQU TCAA(*-START)_^1_%NUM 64_+SIZE_^1_%NUM $20_*BASE_^1_%NUM $2021_^1_%NUM $2223_^1_%NUM $2425_^1_%NUM $2627_^1_%NUM $2829_^1_%NUM $2A2B_^1_%NUM $2C2D_^1_%NUM $2E2F_^1_%NUM $3031_^1_%NUM $3233_^1_%NUM $3435_^1_%NUM €€$3637_^1_%NUM $3839_^1_%NUM $3A3B_^1_%NUM $3C3D_^1_%NUM $3E3F_^1_%NUM $4041_^1_%NUM $4243_^1_%NUM $4445_^1_%NUM $4647_^1_%NUM $4849_^1_%NUM $4A4B_^1_%NUM $4C4D_^1_%NUM $4E4F_^1_%NUM $5051_^1_%NUM $5253_^1_%NUM $5455_^1_%NUM $5657_^1_%NUM $5859_^1_%NUM $5A5B_^1_%NUM $5C5D_^1_%NUM $5E5F_^1_%BZS (62)_^1TCAE_!EQU TCAE(*-START)_^1*_]_^1*_$ASCII TO EBCDIC TAPE CONVE€€RSION_^1*_]_^1SIZ_"NUM 64_+TABLE SIZE_^1BAS_"NUM $20_*BASE_^1_%NUM $405A_^1_%NUM $7F7B_^1_%NUM $5B6C_^1_%NUM $507D_^1_%NUM $4D5D_^1_%NUM $5C4E_^1_%NUM $6B60_^1_%NUM $4B61_^1_%NUM $F0F1_^1_%NUM $F2F3_^1_%NUM $F4F5_^1_%NUM $F6F7_^1_%NUM $F8F9_^1_%NUM $7A5E_^1_%NUM $4C7E_^1_%NUM $6E6F_^1_%NUM $7CC1_^1_%NUM $C2C3_^1_%NUM $C4C5_^1_%NUM $C6C7_^1_%NUM $C8C9_^1_%NUM €€ $D1D2_^1_%NUM $D3D4_^1_%NUM $D5D6_^1_%NUM $D7D8_^1_%NUM $D9E2_^1_%NUM $E3EA_^1_%NUM $E5E6_^1_%NUM $E7E8_^1_%NUM $E9AD_^1_%NUM $E0BD_^1_%NUM $5F5E_^1_%BZS (62)_^1TCEA_!EQU TCEA(START-*)_^1*_]_^1*_$EBCDIC TO ASCII_^1*_]_^1_%NUM 186_*TABLE SIZE_^1_%NUM $40_*BASE_^1_%NUM $202E_(SPACE_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2D2E_^1_%NUM $3C€€28_^1_%NUM $2B20_^1_%NUM $262E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2124_^1_%NUM $2A29_^1_%NUM $3B20_^1_%NUM $2D2F_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2C_^1_%NUM $255F_^1_%NUM $3E3F_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $3A23_^1_%NUM $4027_^1_%NUM $3D22_^1_%NU€€M $2E41_^1_%NUM $4243_^1_%NUM $4445_^1_%NUM $4647_^1_%NUM $4849_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E4A_^1_%NUM $4B4C_^1_%NUM $4D4E_^1_%NUM $4F50_^1_%NUM $5152_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $5354_^1_%NUM $5556_^1_%NUM $5758_^1_%NUM $595A_^1_%NUM $2E2E_^1_%NUM $2E5B_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_€€^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E5D_^1_%NUM $2E5F_^1_%NUM $2E41_^1_%NUM $4243_^1_%NUM $4445_^1_%NUM $4647_^1_%NUM $4849_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E4A_^1_%NUM $4B4C_^1_%NUM $4D4E_^1_%NUM $4F50_^1_%NUM $5152_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $5C2E_^1_%NUM $5354_^1_%NUM $5556_^1_%NUM €€$5758_^1_%NUM $595A_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $2E2E_^1_%NUM $3031_^1_%NUM $3233_^1_%NUM $3435_^1_%NUM $3637_^1_%NUM $3839_^1_%NUM 0_^1*_]_^1*_$USER TABLES_^1*_]_^1TC01_!EQU TC01(*-START)_^1_%BZS (96)_^1TC02_!EQU TC02(*-START)_^1_%BZS (96)_^1TC03_!EQU TC03(*-START)_^1_%BZS (96)_^1CCAS_!EQU CCAS(*-START)_^1_%NUM 16_^1_%NUM $40,$2100_#S1 P_^1_%NUM $F0,$31€€00_#S2 P_^1_%NUM $60,$3210_#S2 S1 P_^1_%NUM $4E,$1000_$P_^1_%NUM $F1,$4100_#C1 P_^1_%NUM $F2,$5100_#C2 P_^1_%NUM $F3,$6100_#C3 P_^1_%NUM $F4,$7100_#C4 P_^1_%NUM $F5,$8100_$C5_^1_%NUM $F6,$9100_#C6 P_^1_%NUM $F7,$A100_#C7 P_^1_%NUM $F8,$B100_#C8 P_^1_%NUM $F9,$C100_#C9 P_^1_%NUM $C1,$D100_#C10 P_^1_%NUM $C2,$E100_#C11 P_^1_%NUM $C3,$F100_#C12 P_^1_%BZS (63)_^1*_]_^1*_€€$360 MACHINE LANGUAGE CARRIAGE CONTROL_^1*_]_^1CCML_!EQU CCML(*-START)_^1_%NUM 32_+SIZE_^1_%NUM $01,$1000_#P_^1_%NUM $09,$1200_#P S1_^1_%NUM $11,$1300_#P S2_^1_%NUM $19,$1320_#P S2 S1_^1_%NUM $89,$1400_#P C1_^1_%NUM $91,$1500_#P C2_^1_%NUM $99,$1600_#P C3_^1_%NUM $A1,$1700_#P C4_^1_%NUM $A9,$1800_#P C5_^1_%NUM $B1,$1900_#P C6_^1_%NUM $B9,$1A00_#P C7_^1_%NUM $C1,$1B00_€€#P C8_^1_%NUM $C9,$1C00_#P C9_^1_%NUM $D1,$1D00_#P C10_^1_%NUM $D9,$1E00_#P C11_^1_%NUM $E1,$1F00_#P C12_^1_%NUM $0B,$2000_#S1_^1_%NUM $13,$3000_#S2_^1_%NUM $1B,$3200_#S2 S1_^1_%NUM $8B,$4000_#C1_^1_%NUM $93,$5000_#C2_^1_%NUM $9B,$6000_#C3_^1_%NUM $A3,$7000_#C4_^1_%NUM $AB,$8000_#C5_^1_%NUM $B3,$9000_#C6_^1_%NUM $BB,$A000_#C7_^1_%NUM $C3,$B000_#C8_^1_%NUM $CB,$C000_€€#C9_^1_%NUM $D3,$D000_#C10_^1_%NUM $DB,$E000_#C11_^1_%NUM $E3,$F000_#C12_^1_%NUM $03,$0000_#N_^1_%BZS (31)_^1*_]_^1*_$C.D.C. 1700 FORTRAN CARRIAGE CONTROL_^1*_]_^1CCCD_!EQU CCCD(*-START)_^1_%NUM 3_,SIZE_^1_%NUM $30,$3100_#S2 P_^1_%NUM $31,$4100_#C1 P_^1_%BZS (91)_^1CC01_!EQU CC01(*-START)_^1_%BZS (96)_^1CC02_!EQU CC02(*-START)_^1_%BZS (96)_^1CC03_!EQU CC03(*-START€€)_^1_%BZS (96)_^1TP1630 EQU TP1630(*)_^1_%NUM 288_*TRAIN SIZE_^1_%NUM 0_^1_%SLUG01_^1_%SLUG02_^1_%SLUG0D_^1_%SLUG0E_^1_%SLUG0F_^1_%SLUG07_^1_%SLUG06_^1_%SLUG1C_^1_%SLUG05_^1_%SLUG08_^1_%SLUG11_^1_%SLUG09_^1_%SLUG01_^1_%SLUG02_^1_%SLUG1D_^1_%SLUG0E_^1_%SLUG0D_^1_%SLUG07_^1_%SLUG06_^1_%SLUG0F_^1_%SLUG05_^1_%SLUG1E_^1_%SLUG11_^1_%SLUG08_^1_%SLUG01_^1_%SLUG02_^1_%SLUG09_^1_%SLUG0E_€€^1_%SLUG1F_^1_%SLUG07_^1_%SLUG06_^1_%SLUG0D_^1_%SLUG05_^1_%SLUG0F_^1_%SLUG11_^1_%SLUG20_^1_%SLUG01_^1_%SLUG02_^1_%SLUG08_^1_%SLUG0E_^1_%SLUG09_^1_%SLUG07_^1_%SLUG06_^1_%SLUG1C_^1_%SLUG05_^1_%SLUG0D_^1_%SLUG11_^1_%SLUG0F_^1_%SLUG01_^1_%SLUG02_^1_%SLUG1D_^1_%SLUG0E_^1_%SLUG08_^1_%SLUG07_^1_%SLUG06_^1_%SLUG09_^1_%SLUG05_^1_%SLUG1E_^1_%SLUG11_^1_%SLUG0D_^1_%SLUG01_^1_%SLUG02_^1_%SLUG0F€€_^1_%SLUG0E_^1_%SLUG1F_^1_%SLUG07_^1_%SLUG06_^1_%SLUG08_^1_%SLUG05_^1_%SLUG09_^1_%SLUG11_^1_%SLUG20_^1_%BZS (46)_^1*_]_^1PT01_!EQU PT01(*)_^1_%NUM 200_^1_%NUM 0_^1_%SLUG01_^1_%SLUG02_^1_%SLUG0D_^1_%SLUG0E_^1_%SLUG0F_^1_%SLUG07_^1_%SLUG06_^1_%SLUG25_^1_%SLUG05_^1_%SLUG08_^1_%SLUG11_^1_%SLUG09_^1_%SLUG01_^1_%SLUG02_^1_%SLUG3A_^1_%SLUG0E_^1_%SLUG0D_^1_%SLUG07_^1_%SLUG06_^1_%SLUG0F€€_^1_%SLUG05_^1_%SLUG3B_^1_%SLUG11_^1_%SLUG08_^1_%SLUG01_^1_%SLUG02_^1_%SLUG09_^1_%SLUG0E_^1_%SLUG3C_^1_%SLUG07_^1_%SLUG06_^1_%SLUG0D_^1_%SLUG05_^1_%SLUG0F_^1_%SLUG11_^1_%SLUG3D_^1_%SLUG01_^1_%SLUG02_^1_%SLUG08_^1_%SLUG0E_^1_%SLUG09_^1_%SLUG07_^1_%SLUG06_^1_%SLUG25_^1_%SLUG05_^1_%SLUG0D_^1_%SLUG11_^1_%SLUG0F_^1_%SLUG01_^1_%SLUG02_^1_%SLUG3A_^1_%SLUG0E_^1_%SLUG08_^1_%SLUG07_^1_%SLUG0€€6_^1_%SLUG09_^1_%SLUG05_^1_%SLUG3B_^1_%SLUG11_^1_%SLUG0D_^1_%SLUG01_^1_%SLUG02_^1_%SLUG0F_^1_%SLUG0E_^1_%SLUG3C_^1_%SLUG07_^1_%SLUG06_^1_%SLUG08_^1_%SLUG05_^1_%SLUG09_^1_%SLUG11_^1_%SLUG3D_^1_%BZS (46)_^1*_]_^1*_$TPAN_^1*_]_^1TPAN_!EQU TPAN(*)_^1_%NUM 288_*TRAIN SIZE_^1_%NUM 0_^1_%SLUG01_^1_%SLUG02_^1_%SLUG54_^1_%SLUG11_^1_%SLUG22_^1_%SLUG07_^1_%SLUG06_^1_%SLUG09_^1_%SLUG21_^1_€€%SLUG08_^1_%SLUG23_^1_%SLUG0B_^1_%SLUG01_^1_%SLUG02_^1_%SLUG54_^1_%SLUG11_^1_%SLUG22_^1_%SLUG07_^1_%SLUG06_^1_%SLUG09_^1_%SLUG21_^1_%SLUG08_^1_%SLUG23_^1_%SLUG0B_^1_%SLUG01_^1_%SLUG02_^1_%SLUG54_^1_%SLUG11_^1_%SLUG22_^1_%SLUG07_^1_%SLUG06_^1_%SLUG09_^1_%SLUG21_^1_%SLUG08_^1_%SLUG23_^1_%SLUG0B_^1_%SLUG01_^1_%SLUG02_^1_%SLUG54_^1_%SLUG11_^1_%SLUG22_^1_%SLUG07_^1_%SLUG06_^1_%SLUG09_^1€€_%SLUG21_^1_%SLUG08_^1_%SLUG23_^1_%SLUG0B_^1_%SLUG01_^1_%SLUG02_^1_%SLUG54_^1_%SLUG11_^1_%SLUG22_^1_%SLUG07_^1_%SLUG06_^1_%SLUG09_^1_%SLUG21_^1_%SLUG08_^1_%SLUG23_^1_%SLUG0B_^1_%SLUG01_^1_%SLUG02_^1_%SLUG54_^1_%SLUG11_^1_%SLUG22_^1_%SLUG07_^1_%SLUG06_^1_%SLUG09_^1_%SLUG21_^1_%SLUG08_^1_%SLUG23_^1_%SLUG0B_^1_%BZS (46)_^1TPHN_!EQU TPHN(*)_^1_%NUM 288_*TRAIN SIZE_^1_%NUM 0_^1_%SLU€€G01_^1_%SLUG02_^1_%SLUG54_^1_%SLUG11_^1_%SLUG22_^1_%SLUG07_^1_%SLUG06_^1_%SLUG09_^1_%SLUG21_^1_%SLUG08_^1_%SLUG23_^1_%SLUG24_^1_%SLUG01_^1_%SLUG02_^1_%SLUG54_^1_%SLUG11_^1_%SLUG22_^1_%SLUG07_^1_%SLUG06_^1_%SLUG09_^1_%SLUG21_^1_%SLUG08_^1_%SLUG23_^1_%SLUG24_^1_%SLUG01_^1_%SLUG02_^1_%SLUG54_^1_%SLUG11_^1_%SLUG22_^1_%SLUG07_^1_%SLUG06_^1_%SLUG09_^1_%SLUG21_^1_%SLUG08_^1_%SLUG23_^1_%SL€€UG24_^1_%SLUG01_^1_%SLUG02_^1_%SLUG54_^1_%SLUG11_^1_%SLUG22_^1_%SLUG07_^1_%SLUG06_^1_%SLUG09_^1_%SLUG21_^1_%SLUG08_^1_%SLUG23_^1_%SLUG24_^1_%SLUG01_^1_%SLUG02_^1_%SLUG54_^1_%SLUG11_^1_%SLUG22_^1_%SLUG07_^1_%SLUG06_^1_%SLUG09_^1_%SLUG21_^1_%SLUG08_^1_%SLUG23_^1_%SLUG24_^1_%SLUG01_^1_%SLUG02_^1_%SLUG54_^1_%SLUG11_^1_%SLUG22_^1_%SLUG07_^1_%SLUG06_^1_%SLUG09_^1_%SLUG21_^1_%SLUG08_^1_%S€€LUG23_^1_%SLUG24_^1_%BZS (46)_^1*_$TELEX 63 CHARACTER TRAIN IMAGE_^1*_]_^1TLX63 EQU TLX63(*)_^1_%NUM 288_*TRAIN SIZE_^1_%NUM 0_^1_%SLUG00_^1_%SLUG02_^1_%SLUG03_^1_%SLUG58_^1_%SLUG0C_^1_%SLUG59_^1_%SLUG04_^1_%SLUG05_^1_%SLUG06_^1_%SLUG07_^1_%SLUG08_^1_%SLUG09_^1_%SLUG0A_^1_%SLUG00_^1_%SLUG02_^1_%SLUG03_^1_%SLUG5A_^1_%SLUG5B_^1_%SLUG5C_^1_%SLUG04_^1_%SLUG06_^1_%SLUG05_^1_%SLUG0C€€_^1_%SLUG59_^1_%SLUG07_^1_%SLUG08_^1_%SLUG09_^1_%SLUG0A_^1_%SLUG00_^1_%SLUG02_^1_%SLUG03_^1_%SLUG04_^1_%SLUG05_^1_%SLUG06_^1_%SLUG5A_^1_%SLUG5B_^1_%SLUG5C_^1_%SLUG07_^1_%SLUG08_^1_%SLUG09_^1_%SLUG0A_^1_%SLUG58_^1_%SLUG0C_^1_%SLUG59_^1_%SLUG00_^1_%SLUG02_^1_%SLUG03_^1_%SLUG04_^1_%SLUG05_^1_%SLUG06_^1_%SLUG07_^1_%SLUG08_^1_%SLUG5A_^1_%SLUG5B_^1_%SLUG5C_^1_%SLUG09_^1_%SLUG0A_^1_%SLUG0€ή0_^1_%SLUG02_^1_%SLUG03_^1_%SLUG0C_^1_%SLUG59_^1_%SLUG04_^1_%SLUG05_^1_%SLUG06_^1_%SLUG07_^1_%SLUG08_^1_%SLUG09_^1_%SLUG0A_^1_%SLUG5A_^1_%SLUG5B_^1_%SLUG5C_^1_%BZS (46)_^1PT02_!BZS (192)_^1PT03_!BZS (192)_^1_%END_]_^__ ήPTTPIO CSY/ I,C P€1_%NAM TTPIO_(DECK-ID B10 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1*_$THIS PROGRAM DOES THE ACTUAL DATA TRANSFER FROM THE TAPE_^1*_$TO THE PRINTER. IT FINDS ITS CONTROL INFORMATION IN THE_^1*_$JOB DISCRIPTION TABLES WHICH ARE UPDATED BY €€PROGRAM RUNMOD._^1*_$THIS PROGRAM IS LINKED WITH RUNMOD AND CONTAIN RELATIVE_^1*_$EXTERNALS REFERENCEING IT_^1*_]_^1_%EJT_]_^1*_]_^1*_$JOB TABLE FORMAT EQUATES_^1*_]_^1JJBNM EQU JJBNM(0)_3WORD 0 = JOBNAME-4 CHARS_^1JPRLU EQU JPRLU(JJBNM+2)_-WORD 2 = PRINT LOGICAL UNIT_^1JTPLU EQU JTPLU(JPRLU+1)_-WORD 3 = TAPE LOGICAL UNIT_^1JBLKSZ EQU JBLKSZ(JTPLU+1)_,WORD 4 = TAPE BLOCK€€ SIZE_^1JRECSZ EQU JRECSZ(JBLKSZ+1)_+WORD 5 = TAPE RECORD SIZE_^1JFLAGS EQU JFLAGS(JRECSZ+1)_+WORD 6 = FLAGS_^1*_HBIT 15 = FIXED(1)/VARIABLE(0)_^1*_HBIT 14 = SUSPENDED(1)/RUNNING_^1*_HBIT 13 = START FIELD_^1*_HBIT 12 = STOP FIELD_^1*_HBIT 11 = PART PRINT_^1*_HBIT 10 = PRE-SUSPEND_^1*_HBIT 9 = ACTIVATE_^1*_HBIT 8 = DUMP_^1*_HBIT 7 = ASSIGNED(SELECTED)_^1*_HBIT 6 = CONTINUE AC€€TIVE_^1*_HBIT 5 = TEMP SUSPEND_^1*_HBIT 4 = HEADER OUTPUT_^1*_HBIT 3 = BACKSPACE ACTIVE_^1*_HBIT 2 = MATRIX PRINTER IF SET_^1*_HBIT 1 = UNFORMATTED VARIABLE_^1*_HBIT 0 = UNUSED_^1JCCTAB EQU JCCTAB(JFLAGS+1)_+WORD 7 = CCTAB ADDR_^1JTCTAB EQU JTCTAB(JCCTAB+1)_+WORD 8 = TCTAB ADDR_^1JCOFF EQU JCOFF(JTCTAB+1)_,WORD 9 = CURRENT OFFSET_^1JPOFF EQU JPOFF(JCOFF+1)_-WORD 10 = P€€ARTIAL OFFSET_^1JPLEN EQU JPLEN(JPOFF+1)_-WORD 11 = PARTIAL LENGTH_^1JSTOFF EQU JSTOFF(JPLEN+1)_,WORD 12 = START OFFSET_^1JSTLEN EQU JSTLEN(JSTOFF+1)_+WORD 13 = .START LENGTH_^1JSPOFF EQU JSPOFF(JSTLEN+1)_+WORD 14 = .STOP OFFSET_^1JSPLEN EQU JSPLEN(JSPOFF+1)_+WORD 15 = STOP LENGTH_^1*_GWORDS 18-23 = I/O PKT_^1JLGSV1 EQU JLGSV1(JSPLEN+1)_+LOG1 SAVE FOR PRINTER_^1JLGSV2 EQU J€€LGSV2(JLGSV1+1)_+LOG 1 SAVE FOR TAPE_^1JIOPKT EQU JIOPKT(JLGSV2+1)_+I/O PKT FOR DS_^1JIOCOM EQU JIOCOM(JIOPKT+1)_^1JIOTRD EQU JIOTRD(JIOCOM+1)_,THREAD WORD_^1JIOLU_!EQU JIOLU(JIOTRD+1)_,LOGICAL UNIT NUMBER_^1JIOSIZ EQU JIOSIZ(JIOLU+1)_,REC SIZE_^1JIOBUF EQU JIOBUF(JIOSIZ+1)_+BUFFER ADDRESS_^1JIOBKS EQU JIOBKS(JIOBUF+1)_+BACKSPACE PACKET_^1JIOBLU EQU JIOBLU(JIOBKS+3)_+BACKSPA€€CE LU_^1JPBFRE EQU JPBFRE(JIOBLU+2)_+LINK TO 1ST FREE PRINT BFR OR 0_^1JSTART EQU JSTART(JPBFRE+1)_+WORDS 30-45 = START MASK_^1JSTOP EQU JSTOP(JSTART+16)_+WORDS 46-61 = STOP MASK_^1JLEN_!EQU JLEN(JSTOP+16)_^1JROFF EQU JROFF(JSTART) OFFSET IN BLOCK (DUMP MODE)_^1JBLOCC EQU JBLOCC(JROFF+1) BLOCK COUNT (DUMP MODE)_^1*_]_^1*_$EQUATES FOR JOB TABLE ON DISK_^1*_]_^1JDPRLU EQU_!J€€DPRLU(0)_1PRINTER LU_^1JDTPLU EQU_!JDTPLU(JDPRLU+1)_+TAPE LU NBR_^1JDBKSZ EQU JDBKSZ(JDTPLU+1)_,BLOCK SIZE_^1JDRCSZ EQU JDRCSZ(JDBKSZ+1)_,RECORD SIZE_^1JDFLGS EQU JDFLGS(JDRCSZ+1)_,FLAGS_^1JDCCTB EQU_!JDCCTB(JDFLGS+1)_+CCTAB NAME ( 4 CHARS)_^1JDTCTB EQU JDTCTB(JDCCTB+2)_,TCTAB NAME ( 4 CHARS)_^1JBDLEN EQU_!JBDLEN(JDTCTB+2)_*LENGTH_^1*_]_^1*_$FOR DISK RECORD FORMATS_^1*_]_^1DREC€€LN EQU DRECLN(96)_1LEN DISK RECORD_^1*_]_^1*_$MORE JOB TABLE RECORD STUFF_^1*_]_^1JNMLEN EQU JNMLEN(2)_2LEN OF A JOB NAME_^1JBNNUM EQU JBNNUM(16)_1NBR JOBS IN DISK TABLE_^1JBNLEN EQU JBNLEN(JBNNUM*JNMLEN)_%LEN OF NAMES AREA_^1DRSTLN EQU DRSTLN(DRECLN-JBNLEN)_'SPACE IN SECT 1 AFTRR NAMES_^1JBNUM1 EQU JBNUM1(DRSTLN/JBDLEN)_'NBR JOBS IN SECTOR 1_^1PBSZ_!EQU PBSZ(75)_$PRINT BUFF€€ER SIZE_^1*_$PRE-CODE_^1*_]_^1SLDIRY EQU SLDIRY($EB)_!ADDRESS OF SYSTEM DIRECTORY_^1CORED EQU CORED($E7)_"LENGTH OF CORE RES DIRECTORY_^1_%ENT TRACE_^1_%EXT* GETPB_^1_%EXT* FREEPB_^1_%ENT RLSFLG_^1_%ENT ABS_^1_%EXT* BUFSIZ_^1_%EXT* BUFFER_^1_%EXT* AJOB_^1BASS_!JMP MOVSEC_^1_%JMP TABLIB+2_^1RLSFLG NUM 0_,CONSOLE ACTIVE FLAG_^1*_]_^1*_$INITIALIZE SECTOR ADDRESSES AND PICK UP€€ MAX TAPE BUFFER SIZE_^1*_]_^1MOVSEC ENQ -3_^1_%LDA* BASS,Q_^1_%STA MODORD_^1_%INQ 1_^1_%LDA* BASS,Q_^1_%INA ROU7_^1_%STA RUNLIB_^1_%INQ 1_^1_%LDA* BASS,Q_^1_%STA TABLIB_^1_%RTJ* ABS_^1ABS_"NUM 0_^1_%LDA* ABS_^1_%SUB =XABS-BASS_^1_%STA* ABS_^1_%LDQ- SLDIRY_'GET SYSDIR ADDR_^1_%ADQ- CORED_(BUMP PAST CORE DIR (IF ANY)_^1_%INQ 10_+POINT TO BUFFER SIZE_^1_%LDA (MODORD),Q_^1_€€%STA BUFSIZ_'SET BUFFER SIZE_^1_%JMP TABLIB+1_^1_%EJT_]_^1**************************************************_^1*_$TRACE ROUTINE - DEBUD ONLU_^1*********************R****************************_^1TRACE NUM 0_^1_%STQ* STOREQ_^1_%STA* STOREA_^1_%RTJ* COFF_^1_%LDA* TRACE_^1_%SUB ABS_^1_%EOR* SERA_^1_$SAN TROK_^1_%LDA* SERI_^1_%EOR- I_^1_%SAN TROK_^1_%NOP 0_+500 IIN_^1_%NOP 0€€_+18FF HANG_^1TROK_!LDA* TRACE_^1_%SUB ABS_^1_%STA* LIST,Q_^1_%RTJ* COFF_^1_%LDA- I_^1_%STA* LIST,Q_^1_%RTJ* COFF_^1_%ENA 0_^1_%STA* LIST,Q_^1_%LDA* TOFF_^1_%INA -1_^1_%STA* TOFF_^1_%LDA* STOREA_^1_%LDQ* STOREQ_^1_%JMP* (TRACE)_^1COFF_!NUM 0_^1_%RAO* TOFF_^1_%LDA* TOFF_^1_$EOR* LISTL_^1_%SAN TRA01_^1_%ENQ 0_^1_%STQ* TOFF_^1_%JMP* (COFF)_^1TRA01 EOR* LISTL_^1_%TRA Q_^1_%JMP€€* (COFF)_^1LISTL NUM 200_^1TOFF_!NUM 0_^1STOREA NUM 0_^1STOREQ NUM 0_^1SERI_!NUM 0_^1SERA_!NUM 0_^1_%NUM $FFFF_^1LIST_!BZS LIST(200)_^1_$NUM $FFFF_^1_%EXT LOG1A_^1_%EJT_]_^1_%EQU RMBASE(*)_^1_%EQU ADISP($EA)_^1_%EQU ONEBIT($23)_^1_%EQU ZROBIT($33)_^1_%EQU NZERO($12)_^1_%EQU LPMASK($2)_^1_%EQU ZERO($22)_^1_%EJT_]_^1*_]_^1*_$TAPE READER_^1*_]_^1*_$THE TAPE READER MA€€NAGES THE TAPES AND THE TAPE BUFFER. IT ONLY_^1*_$LOOKS AT PHYSICAL TAPE BLOCKS. AS A GENERAL RULE, ITS MAIN_^1*_$CONTROL POINTS HAVE LABELS WITH THE PREFIX TP._^1*_]_^1_%ENT TP01_^1TP01_!EQU TP01(*)_^1_%RTJ TRACE_(****************DEBUG ONLY******************_^1_%LDA TPFLAG_^1_%SAZ TP011_^1_%JMP- (ADISP)_%TAPE BUFFER BUSY_^1TP011 EQU TP011(*)_^1_%STA PFLAG_(CLEAR PROCESS FL€€AG_^1_%STA TPCUR_(SET TO START OF JOB TABLE_^1_%STA POSTDS_^1TP02_!EQU TP02(*)_^1_%RTJ TRACE_(****************DEBUG ONLY******************_^1_%LDQ TPCUR_(GET JOB TABLE OFFSET_^1_%INQ -4_^1_%SQP TP03_)IS IT END OF TABLE_^1_%JMP* TP04_)NO_^1TP03_!EQU TP03(*)_^1_%LDA PFLAG_(YES,CHECK PROCESS FLAG_^1_%SAN TP03Z_(IS ANYTHING ACTIVE_^1_%JMP* TPLB01_'NO, EXIT_^1TP03Z EQU TP03Z€€(*)_^1_%LDA TPNUM_^1_%ADD POSTDS_'UPDATE ACTIVE D.D. COUNT_^1_%STA TPNUM_^1_%INA -1_^1_%SAN TP03X_^1_%LDA POSTDS_^1_%SAP TP03X_^1_%ENA -1_+FROM 2 D.S. TO 1 D.S._^1_%STA TPBUF_^1_%RTJ TRACE_(*****************DEBUG O_^1TP03X EQU TP03X(*)_^1_%JMP* TP01_)YES,MAKE ANOTHER PASS_^1TPLB01 JMP- (ADISP)_%NO,EXIT TO DISPATCHER_^1TP04_!EQU TP04(*)_^1_%INQ 4_^1_%LDA AJOB,Q_'GET A€€DDRESS OF JOB DISCRIPTION_^1_%SAN TPLB02_'IS IT IN USE_^1TP022 RAO TPCUR_^1_%JMP* TP02_^1TPLB02 STA- I_,SET I WITH JOB DISCRIPTION ADDRESS_^1_%LDA- JFLAGS,I_$GET JOB STATUS_^1_%AND- ONEBIT+14_#CHECK SUSPEND BIT_^1_%SAZ TP05_)IS JOB SUSPENDED_^1_%JMP* TP022_(YES,GET NEXT JOB_^1TP05_!EQU TP05(*)_^1TP055 LDA- JFLAGS,I_^1_%AND- ONEBIT+5_$IS PRINT BUFFER AVAILABLE_^1_%SAZ TP16_^1€€_%JMP* TP022_(NO,GET NEXT JOB_^1TP16_!EQU TP16(*)_^1_%LDA- JTPLU,I_'GET TAPE LU_^1_%RTJ_!DSTAT_(CHECK STATUS_^1_%SAN TP16A_(IS IT UP_^1_%JMP* TP022_(NO, TRY AGAIN_^1TP16A EQU TP16A(*)_$YES_^1_%RTJ TRACE_(****************DEBUG ONLY******************_^1_%RAO PFLAG_(SET PROCESS FLAG_^1_%LDA- JFLAGS,I_$GET JOB STATUS_^1_%AND- ONEBIT+9_$IS ACT BIT SET_^1_%SAZ TP06_)NO_^1TP07_!EQU€€ TP07(*)_^1_%RTJ TRACE_(****************DEBUG ONLY******************_^1_%EOR- JFLAGS,I_$YES,CLEAR IT_^1_%STA- JFLAGS,I_^1_%RAO POSTDS_'BUMP ACTIVE DS COUNT_^1_%RAO PFLAG_^1_%JMP* TP022_(GET NEXT JOB_^1TP06_!EQU TP06(*)_^1_%LDA- JCOFF,I_%GET CURRENT OFFSET_^1_%SAZ TP13_)IS IT END OF BLOCK_^1_%JMP* TP21_)NO_^1TP13_!EQU TP13(*)_%YES, CHECK PRESUS_^1_%LDA- JFLAGS,I_^1_%AND- ONEB€€IT+10_^1_%SAN TP15_)IS IT SET_^1_%JMP* TP14_)NO_^1TP15_!EQU TP15(*)_^1_%EOR- JFLAGS,I_$YES, CLEAR IT_^1_%AND- ZROBIT+14_^1_%EOR- ONEBIT+14_#SET SUSPEND_^1_%AND- ZROBIT+3_^1_%EOR- ONEBIT+3_^1_%STA- JFLAGS,I_^1_%RTJ LUCL_)RESTORE ALT DEVICE NUMBER_^1_%LDA POSTDS_^1_%INA -1_+DECREMENT DS COUNT_^1_%STA POSTDS_^1_%RAO PFLAG_^1_%ENA 0_^1_%STA- JCOFF,I_^1_%LDA TPBUF_^1_%EOR TPCU€€R_^1_%SAN TP151_^1_%ENA -1_^1_%STA TPBUF_^1TP151 JMP TC099_(RESTART CONSOLE IF ASLEEP_^1TP21_!EQU TP21(*)_^1_%LDA TPNUM_^1_%INA -1_^1_%SAZ TP08_)IS IT 1 D.S._^1_%LDA- JFLAGS,I_^1_%AND- ONEBIT+3_^1_%SAN TP212_(HAS BACKSPACE BEEN DONE_^1_%RTJ BACKSP_'NO, BACKSPACE IF NECESSARY_^1_%JMP* TP022_^1TP212 EQU TP212(*)_^1_%JMP* TP14_)READ A BLOCK OF TAPE_^1TP08_!EQU TP08(*)_^1€€_%RTJ TRACE_(****************DEBUG ONLY******************_^1_%LDA TPBUF_(IS CURRENT JOBS BLOCK IN CORE_^1_%EOR TPCUR_^1_%SAN TP44_)NO, READ IT_^1_%JMP* TP09_)YES, DON'T READ IT_^1TP44_!JMP* TP14_^1TP14_!EQU TP14(*)_^1_%RTJ TRACE_(****************DEBUG ONLY******************_^1_%LDA- JFLAGS,I_^1_%AND- ONEBIT+4_$CHECK HEADER BIT_^1_%SAZ TP141_^1_%JMP TC01M_(DON'T READ TAPE_^1€€*_]_^1*_$TAPE INPUT PROCESSING_^1*_]_^1TP141 EQU TP141(*)_^1_%RTJ TRACE_(*****************DEBUG ONLY*************_^1_%LDA* TPLU_)READ A BLOCK OF TAPE_^1_%AND- NZERO+8_^1_%EOR- JTPLU,I_^1_%STA* TPLU_)SET LU_^1_%LDA- JFLAGS,I_^1_%AND- ZROBIT+3_^1_%STA- JFLAGS,I_^1_%AND- ONEBIT+1_$IS IT UNFORMATTED_^1_%SAN TP1415_'SKIP IF YES_^1_%LDA- JFLAGS,I_$NO-CHECK FOR DUMP MODE_^1_%AND- ONEB€€IT+8_^1_%SAZ TP14Z_^1TP1415 EQU TP1415(*)_^1_%LDA BUFSIZ_^1_%JMP* TP14Y_^1TP14Z EQU TP14Z(*)_^1_%LDA- JBLKSZ,I_^1_%INA 1_^1_%ARS 1_^1TP14X EQU TP14X(*)_^1_%SUB BUFSIZ_'IS IT OVERSIZE_^1_%SAM GBUFF_^1_%SAZ GBUFF_^1_%LDA BUFSIZ_'YES, TRUNCATE_^1TP14Y ALS 1_^1_%STA- JBLKSZ,I_^1_%ARS 1_^1_%JMP* GBUFF2_^1GBUFF ADD BUFSIZ_'NO, RESTORE IT_^1GBUFF2 EQU GBUFF2(*)_^1_%STA*€€ TPBS_)SET BLOCK SIZE_^1_%ENA -1_^1_%STA* TPBUF_^1_%LDA- I_^1_%STA_!ISAVE_^1_%LDA- JTPLU,I_^1_%RTJ DVDN_)MARK TAPE BUSY_^1_%RAO TPFLAG_'SET TAPE BUFFER BUSY FLAG_^1_%LDA* TPREL_^1_%INA 7_^1_%STA* TPREL2_^1_%RTJ- ($F4)_(READ TAPE_^1_%NUM $0903_(READ, CP=3, RP=0_^1_%ADC TPCOM-*+1_^1TPTR_!NUM 0_,THREAD_^1TPLU_!NUM $1000_(LU_^1TPBS_!NUM 0_,BLOCK SIZE IN WORDS_^1TPREL2 NUM 0_€€,TAPE BUFFER ADDRESS_^1_%JMP- (ADISP)_^1TPREL ADC* BUFFER_^1_%EJT_]_^1*_]_^1*_$LOGICAL TAPE COMPLETION_^1*_)(ACTUAL TAPE COMPLETION GOES TO TPCOM WHICH DOES ERROR_^1*_*CHECKING BEFORE RETURNING HERE)_^1*_$CONTROL ALSO COMES HERE IF THE DESIRE TAPE BLOCK IS ALREADY IN_^1*_$CORE AND NO I/O IN NECESSARY._^1*_]_^1TP09_!EQU TP09(*)_^1_%RTJ TRACE_(****************DEBUG ONLY***********€€*******_^1_%LDA* TPCUR_^1_%STA* TPBUF_(IDENTIFY THE BUFFER_^1_%ENA 0_^1_%STA BACKF_^1_%LDA* TPNUM_(GET NUMBER OF ACTIVE DS_^1_%INA -1_+IS IT ONE_^1_%SAN TP10_)NO_^1_%JMP TC01M_(YES, DON'T BACKSPACE_^1TP10_!EQU TP10(*)_^1_%RAO BACKF_^1_%LDA- JFLAGS,I_$CHECK FOR UNFORMATTED_^1_%AND- ONEBIT+1_%E_^1_%SAN TPL04_(YES, NO BACKSPACE (1REC/BLK)_^1_%LDA- JFLAGS,I_$GET JOB STATUS_^1_%€€SAM TPL03_(IS IT FIXED BLOCKING_^1_%JMP* TPL08_(NO_^1TPL03 EQU TPL03(*)_^1_%LDA- JRECSZ,I_$YES_^1_%CLR Q_,GET RECORD SIZE_^1_%MUI =XMAXREC_^1_%SUB- JBLKSZ,I_$MINUS BLOCK SIZE_^1_%ADD- JCOFF,I_%PLUS CURRENT OFFSET_^1_%SAP TPL04_^1_%JMP* TP11_)DO A BACKSPACE_^1TPL04 JMP TC01M_(DON'T BACKSPACE_^1TPL08 EQU TPL08(*)_$VARIABLE BLOCKING_^1_%ENA 0_^1_%SUB =XMAXREC_^1_%STA* TPC0€€1_(NEGATIVE RECORD COUNT_^1_%LDA- JCOFF,I_^1_%STA* TPC02_(TEMPORARY SAVE OF CURRENT OFFSET_^1TPL06 EQU TPL06(*)_$LOCATE NEXT VARIABLE RECORD_^1_%RTJ GBYTE_^1_%ALS 8_^1_%STA* TPC03_(SAVE HIGH BYTE OF RECORD SIZE_^1_%RAO- JCOFF,I_^1_%RTJ GBYTE_^1_%EOR* TPC03_(FOR COMPLETE RECORD SIZE_^1_%ADD- JCOFF,I_%POINT TO NEXT RECORD_^1_%INA -1_^1_%STA- JCOFF,I_^1_%SUB- JBLKSZ,I_$IS BUFFER€€ EXHAUSTED_^1_%SAM TPL09_(NO_^1_%JMP* TPL05_(YES_^1TPL09 EQU TPL09(*)_^1_%RAO* TPC01_(BUMP RECORD COUNT_^1_%LDA* TPC01_^1_%SAZ TPL07_(IS IT LAST RECORD_^1_%JMP* TPL06_(NO, DO NEXT RECORD_^1TPL07 LDA* TPC02_(YES, BUFFER NOT EXHAUSTED_^1_%STA- JCOFF,I_%RESTORE CURRENT OFFSET_^1_%JMP* TP11_)GO TO BACKSPACE_^1TPL05 EQU TPL05(*)_$BUFFER EXHAUSTED_^1_%LDA* TPC02_^1_%STA- JCOFF,I_%€€RESTORE CURRENT OFFSET_^1_%JMP TC01M_(CONVERT AND MOVE_^1TP11_!EQU TP11(*)_%INITIATE BACKSPACE_^1_%RTJ TRACE_(*****************DEBUG O_^1_%RTJ BACKSP_'BACKSPACE TAPE_^1_%JMP TC01M_^1TPC01 NUM 0_,NEGATIVE MAXREC_^1TPC02 NUM 0_,TEMPORARY SAVE OF CURRENT OFFSET_^1TPC03 NUM 0_,HIGH BYTE OF RECORD SIZE_^1_%EJT_]_^1*_]_^1*_$TAPE READER DATA_^1*_]_^1ISAVE NUM 0_^1PFLAG NUM €€ 0_,PROCESS FLAG_^1QHEAD NUM -1_+HEAD OF PRINTER QUE_^1TPCUR NUM 0_,OFFSET OF CURRENT DATA STREAM_^1TPNUM NUM 0_,COUNT OF ACTIVE DATA STREAMS_^1TPBUF NUM 99_+DATA STREAM = OF TAPE BLOCK IN BUFFER_^1RECCT NUM 0_,RECORD NUMBER IN BLOCK_^1TPFLAG_!NUM 0_*TAPE BUFFER BUSY FLAG_^1MAXREC EQU MAXREC(4)_#RECORDS PER READ TO BE DECODED_^1EOROFF NUM 0_,END-OF-RECORD OFFSET_^1BYTC€€_!NUM 0_,BYTE NUMBER IN CURRENT RECORD_^1DUMPSZ EQU DUMPSZ(32)_"BYTES PER LINE OF DUMP_^1MESS1 ALF 1,*_^1CPBUF NUM 0_,LOCATION OF CURRENT PRINT BUFFER_^1POSTDS NUM 0_,CHANGE TO ACTIVE D.S. COUNT DURING CYCLE_^1BACKF NUM 0_,BACKSPACE ACTIVE FLAG_^1TBAS_!EQU TBAS(1)_%TABLE BASE VALUE_^1TSTA_!EQU TSTA(2)_%START OF TABLE DATA_^1POSTB EQU POSTB(70)_#CONTROL CHARACTERS AT EN€€D OF BUFFER_^1_%EJT_]_^1*_]_^1*_$CONVERT BINARY NUMBER TO TWO DIGIT DECIMAL_^1*_]_^1LUOUT NUM 0_^1_%CLR Q_^1_%DVI =N10_^1_%ALS 8_^1_%EAQ A_^1_%EOR* F0F0_^1_%JMP* (LUOUT)_^1F0F0_!NUM $3030_^1MESS2 ALF 13,DEVICE NOT READY UNIT_^1MESS3 ALF 13,PARITY ERROR UNIT_^1MESS4 ALF 13,I/O ERROR_"ON UNIT_^1MESS5 ALF 13,SHORT READ ON LU_^1*_]_^1*_$CONSOLE INTERFACE FOR I/O ERRORS_^€€1*_]_^1EIO_"NUM 0_^1_%LDA* EIO_*ABSOLUTIZE PARAMETER ADDRESS_^1_%ADD* (EIO)_^1_%STA* EIOP+6_^1_%LDA- I_^1_%STA* EIOI_)SAVE I_^1EIOP_!FWRITE $FD,0,0,13,A,0,3,I,0_^1_%FREAD $FD,EIOC-*+1,EIOB-*+5,1,A,0,3,I,X_^1_%JMP- (ADISP)_^1EIOC_!EQU EIOC(*)_%CONSOLE I/O COMPLETION_^1_%LDA* EIOI_^1_%STA- I_,RESTORE I_^1_%LDA* EIOB_^1_%ARS 8_^1_%AND- LPMASK+8_^1_%INA -$43_)IS REPLY C_^1_%SAN EI€€O1_^1_%JMP* EIOX_)EXIT_^1EIO1_!INA -$F_*IS IT R_^1_%SAN EIO2_^1_%ENA -1_+YES, RETURN -1_^1_%JMP* EIOX_^1EIO2_!INA -1_+IS IT S_^1_%SAZ EIO3_^1_%JMP* EIOP_)NO, TRY AGAIN_^1EIO3_!ENA 1_,YES, RETURN 1_^1EIOX_!RAO* EIO_*EXIT_^1_%JMP* (EIO)_^1EIOB_!NUM 0_^1EIOI_!NUM 0_,TEMP SAVE OF I_^1_%EJT_]_^1*_]_^1*_$DEBLOCKER ROUTINE -_^1*_]_^1*_*AFTER A TAPE BLOCK HAS BEEN READ, CONTROL COM€€ES HERE_^1*_*TO DEBLOCK THE TAPE INTO THE PRINT BUFFER. THIS ROUTINE_^1*_*WILL DEBLOCK 4 RECORDS OR THE INTIRE BLOCK IF LESS THAN 4_^1*_*RECORDS IN THE BLOCK_^1*_]_^1*_*AS A GENERAL RULE, THE MAJOR CONTROL POINTS HAVE LABELS_^1*_*WITH THE PREFIX TC._^1*_]_^1*_]_^1*_$CONVERT AND MOVE FOUR RECORDS (OR MAX RECORDS LEFT IN BUFFER)_^1*_]_^1TC01M EQU TC01M(*)_^1_%RTJ TRACE_(**********€€******DEBUG ONLY******************_^1_%LDA- JFLAGS,I_^1_%AND- ONEBIT+1_$IS IT UNFORMATTED VARIABLE_^1_%SAZ TC026_(SKIP IF NO_^1_%JMP* TC021_(YES- NO DEBLOCKING_^1TC026 EQU TC026(*)_^1_%LDA- JFLAGS,I_^1_%AND- ONEBIT+15_#IS BLOCK VARIABLE_^1_%SAN TC028_^1_%LDA- JCOFF,I_%YES_^1_%SUB BUFFER_^1_%JMP* TC029_^1TC028 LDA- JCOFF,I_%NO_^1_%SUB- JBLKSZ,I_$SUBTRACT BLOCK SIZE_^1TC029 SA€€P TC021_^1_%LDA RECCT_(GET RECORD COUNT_^1_%SUB =XMAXREC_$IS IT MAXIMUM FOR BLOCK_^1_%SAP TC031_^1_%JMP* TC04_)CONTINUE UNBLOCKING_^1TC031 JMP* TC046_(GO TO NEXT CYCLE_^1TC03M EQU TC03M(*)_^1_%RTJ TRACE_(****************DEBUG ONLY******************_^1_%ENA 0_^1_%STA RECCT_(RESET IT_^1_%JMP TP022_(DONE_^1TC021 ENA 99_^1_%STA TPBUF_(SET FOR NEXT BLOCK_^1_%LDA- JFLAGS,I_€€$YES_^1_%AND- ZROBIT+3_^1_%EOR- ONEBIT+3_$SET FOR NO BACKSPACE_^1_%STA- JFLAGS,I_^1_%AND- ONEBIT+8_$IS IT DUMP MODE_^1_%SAN TC023_^1_%ENA 0_^1_%STA- JCOFF,I_%RESET CURRENT OFFSET_^1_%JMP* TC03M_^1TC023 ENA 0_,YES,_^1_%STA- JROFF,I_%CLEAR RECORD OFFSET (DUMP MODE)_^1_%LDA- JFLAGS,I_$SET HEADER BIT_^1_%AND- ZROBIT+4_^1_%EOR- ONEBIT+4_^1_%STA- JFLAGS,I_^1_%RTJ TRACE_(************€€*****DEBUG ONLY*************_^1_%LDA- JFLAGS,I_^1_%AND- ONEBIT+5_$IS PRINT BUFFER AVAILABLE_^1_%SAZ TC024_(NO, CYCLE AGAIN_^1_%JMP* TC04_^1TC024 LDA- JFLAGS,I_$CLEAR HEADER BIT_^1_%AND- ZROBIT+4_^1_%STA- JFLAGS,I_^1_%ENA 0_^1_%STA- JCOFF,I_^1_%RTJ TRACE_(*****************DEBUG ONLY*************_^1_%RTJ GETPB_(GET BUFFER_^1_%TRA Q_^1_%STQ CPBUF_^1_%INQ 2_^1_%LDA =N$2045_%PU€€T EOR IN BUFFER_^1_%STA- 2,Q_^1_%LDA =N$4F52_^1_%STA- 3,Q_^1_%LDA =N$2052_%REC =_^1_%STA- 5,Q_^1_%LDA =N$4543_^1_%STA- 6,Q_^1_%LDA =N$233D_^1_%STA- 7,Q_^1_%RAO- JBLOCC,I_$BUMP RECORD NUMBER_^1_%LDA- JBLOCC,I_^1_%RTJ* LDEC_)CONVERT RECORD NUMBER TO ASCII_^1_%NUM 8_^1_%LDA =N$2053_^1_%STA- 10,Q_^1_%LDA =N$495A_^1_%STA- 11,Q_^1_%LDA =N$453D_^1_%STA- 12,Q_^1_%LDA- JBLKSZ,I_^1_%€€RTJ* LDEC_)CONVERT RECORD SIZE TO ASCII_^1_%NUM 13_^1_%LDQ- JIOSIZ,I_3GET OFFSET TO END CC AREA_^1_%LDA =N$1B31_^1_%STA (CPBUF),Q_#SET CARRIAGE CONTROL_^1_%RTJ QUEP_)PRINT IT_^1TC022 JMP* TC03M_^1*_$LONG BINARY CONVERSION_^1LDEC_!NUM 0_^1_%STQ* LDECQ_(SAVE Q_^1_%CLR Q_^1_%DVI* LD10_^1_%STQ* LDCT2_^1_%CLR Q_^1_%DVI* LD10_^1_%QLS 8_^1_%LLS 16_^1_%EOR* LDCT2_^1_%EOR* LDFF_^1€€_%STA* LDCT2_^1_%TRQ A_^1_%CLR Q_^1_%DVI* LD10_^1_%STQ* LDCT3_^1_%CLR Q_^1_%DVI* LD10_^1_%QLS 8_^1_%LLS 16_^1_%EOR* LDCT3_^1_%EOR* LDFF_^1_%LDQ* LDECQ_^1_%ADQ* (LDEC)_^1_%STA- (ZERO),Q_^1_%LDA* LDCT2_^1_%STA- 1,Q_^1_%RAO* LDEC_^1_%LDQ* LDECQ_^1_%JMP* (LDEC)_^1LDECQ NUM 0_^1LD10_!NUM 10_^1LDCT2 NUM 0_^1LDCT3 NUM 0_^1LDFF_!NUM $3030_^1TC04_!LDA- JFLAGS,I_$GET DS STATUS_^1€€_%AND- ONEBIT+5_$IS PRINT BUFFER AVAILABLE_^1_%SAZ TC16_)YES, GO GET IT_^1TC046 LDA BACKF_^1_%SAZ TC42_^1_%RTJ TRACE_$******************DEBUG ONLY***********_^1_%RTJ BACKSP_'NO, DO IT_^1TC42_!EQU TC42(*)_^1_%JMP TC03M_(NO, CYCLE AGAIN_^1TC16_!EQU TC16(*)_^1_%RTJ TRACE_(****************DEBUG ONLY******************_^1_%RTJ GETPB_(GET PRINT BUFFER_^1_%STA CPBUF_^1_%LDA- JFL€€AGS,I_$GET STATUS FLAGS_^1_%AND- ONEBIT+8_^1_%SAZ LAB01_(IS IT DUMP MODE_^1_%JMP TC07_)YES,PROCESS DUMP MODE_^1LAB01 LDA- JFLAGS,I_$GET STATUS FLAGS_^1_%AND- ONEBIT+15_^1_%SAZ TC06_)WHAT MODE_^1_%JMP* TC05_)FIXED_^1*_]_^1*_$PROCESS VARIABLE RECORD_^1*_]_^1TC06_!EQU TC06(*)_^1_%AND- ONEBIT+1_$CHECK FOR UNFORMATTED_^1_%LDA- JFLAGS,I_^1_%SAZ TC06V_0SKIP IF NO_^1_%JMP* TC05_)YES-€€ TREAT AS FIZED_^1TC06V EQU TC06V(*)_^1_%LDQ- JCOFF,I_^1_%SQN TC061_(IS IT START OF BLOCK_^1_%INQ 4_,YES, BUMP PAST BLOCK SIZE FIELE_^1_%STQ- JCOFF,I_^1TC061 RTJ GBYTE_^1_%ALS 8_^1_%STA* TC06C_^1_%RAO- JCOFF,I_^1_%RTJ GBYTE_^1_%EOR* TC06C_^1_%ADD- JCOFF,I_^1_%INA -1_^1_%STA EOROFF_'SET END OF RECORD_^1_%LDA- JCOFF,I_^1_%INA 3_^1_%STA- JCOFF,I_^1_%JMP* TC08_^1TC06C NUM €€0_^1*_]_^1*_$PROCESS FIXED RECORD_^1*_]_^1TC05_!EQU TC05(*)_^1_%LDA- JCOFF,I_%GET CURRENT OFFSET_^1_%ADD- JRECSZ,I_^1_%STA EOROFF_'SET END-OF-RECORD OFFSET_^1*_]_^1*_$COMMON CODE FOR FIXED AND VARIABLE RECORDS_^1*_]_^1TC08_!EQU TC08(*)_^1_%ENA 0_^1_%STA BYTC_)CLEAR BYTE COUNT_^1_%STA STARTF_^1_%STA STOPF_^1_%INA 8_^1_%STA POFF_)CLEAR PRINTER BUFFER OFFSET_^1_%RTJ GBYTE_(G€€ET BYTE FROM BUFFER_^1_%RTJ SETCC_(SET CARRIAGE CONTROL_^1TC12_!EQU TC12(*)_^1_%RAO- JCOFF,I_%BUMP CURRENT OFFSET_^1_%RAO BYTC_)BUMP BYTE COUNT_^1_%LDA- JCOFF,I_^1_%SUB EOROFF_'CHECK FOR END-OF-RECORD_^1_%SAZ TC09_^1_%JMP* TC10_)NOT EOR_^1TC09_!EQU TC09(*)_^1_%RAO RECCT_(BUMP RECORD COUNT_^1_%LDA STARTF_^1_%SAN TC091_(IS IT OK TO START_^1_%LDA- JFLAGS,I_$YES, CLEAR START B€€IT_^1_%AND- ZROBIT+13_^1_%STA- JFLAGS,I_^1_%RTJ QUEP_)PRINT LINE_^1_%JMP* TC092_^1TC091 EQU TC091(*)_^1_%LDA CPBUF_^1_%INA 2_^1_%STA- JIOBUF,I_^1_%RTJ FREEPB_'FREE BUFFER WITHOUT PRINTING_^1_%JMP* TC093_(DON'T CHECK STOP MODE_^1TC092 EQU TC092(*)_^1_%LDA- JFLAGS,I_^1_%AND- ONEBIT+12_^1_%SAN TC096_^1_%JMP* TC093_^1TC096 EQU TC096(*)_^1_%LDA STOPF_(CHECK STOP MODE_^1_%SAZ€€ TC82_^1_%JMP* TC093_^1TC82_!EQU TC82(*)_^1*_]_^1*_$STOP DATA STREAM_^1*_]_^1_%LDA- JFLAGS,I_$STOP_^1_%AND- ZROBIT+12_#CLEAR STOP BIT_^1_%EOR- ONEBIT+14_#SET SUSPEND_^1_%STA- JFLAGS,I_^1_%ENA -1_^1_%RTJ LUCL_)RESTORE ALT DEVICE NUMBER_^1_%STA TPBUF_(CLEAR TPBUF_^1_%LDA POSTDS_^1_%INA -1_^1_%STA POSTDS_^1_%SAN TC099_(ARE THERE ANY STILL ACTIVE_^1_%RTJ BACKSP_'BACKSPACE TAP€€E_^1TC099 EQU TC099(*)_^1_%LDA RLSFLG_'CHECK FOR ACTIVE CONSOLE_^1_%SAZ TC81_)IS IT ACTIVE_^1_%SCHDLE TABLIB+3-*,3,X_'NO, FIRE IT UP_^1_%CLR A_,CLEAR CONSOLE FLAG_^1_%STA RLSFLG_^1TC81_!JMP TP022_^1TC093 EQU TC093(*)_^1_%JMP TC01M_^1TC10_!EQU TC10(*)_^1_%RTJ GBYTE_(GET BYTE FROM BUFFER_^1_%RTJ SSF_*PUT BYTE IN BUFFER (IF APPROPRIATE)_^1_%JMP* TC12_)GET ANOTHER BYTE_^1€€*_]_^1*_$S S F - PUT BYTE IN BUFFER AND CHECK START, STOP, AND PART_^1*_]_^1SSF_"NUM 0_^1_%RTJ CONVRT_'CONVERT IT_^1_%STA CRBYT_(SAVE IT_^1*_]_^1*_$PROCESS START AND STOP FLAGS_^1*_]_^1_%LDA- JFLAGS,I_^1_%AND- ONEBIT+13_#CHECK FOR START MODE_^1_%SAZ TC101_^1_%ENQ JSTOFF_'START MODE SET_^1_%ENA JSTART_^1_%RTJ MODCHK_^1_%ADD STARTF_'A=0 MEANS BYTES MATCH OR NOT IN START FIEL€€D_^1_%STA STARTF_'A NON- ZERO, NOT A MATCH_^1TC101 LDA- JFLAGS,I_^1_%AND- ONEBIT+12_#CHECK FOR STOP FIELD_^1_%SAZ TC102_^1_%ENQ JSPOFF_'STOP MODE SET_^1_%ENA JSTOP_^1_%RTJ MODCHK_^1_%ADD STOPF_^1_%STA STOPF_^1TC102 EQU TC102(*)_^1_%LDA- JFLAGS,I_$NOT END-OF-RECORD_^1_%AND- ONEBIT+11_#CHECK FOR PARTIAL PRINT_^1_%SAZ TC11_^1_%LDA BYTC_)IS IT IN PRINT RANGE_^1_%SUB- JPOFF,€€I_^1_%SAP LAB02_^1_%JMP* SSFX_)OUT OF RANGE, LOW_^1LAB02 SUB- JPLEN,I_^1_%SAM TC11_^1_%JMP* SSFX_)OUT OF RANGE, HIGH_^1TC11_!EQU TC11(*)_^1_%LDA CRBYT_(GET CURRENT BYTE_^1_%RTJ PBYTE_(PUT IT IN BUFFER_^1POFF_!NUM 0_,OFFSET IN PRINT BUFFER_^1_%RAO* POFF_)BUMP PRINTER OFFSET_^1SSFX_!JMP* (SSF)_(EXIT_^1*_]_^1*_$COMPARE BYTES FOR START AND STOP FUNCTIONS_^1*_]_^1*_*Q=OFFSET IN J€€OB DISC OF FIELD OFFSET_^1*_*A=OFFSET IN JOB DISC OF MASK_^1*_]_^1MODCHK NUM 0_^1_%ADD- I_^1_%STA* MODMSK_'ADDRESS OF MASK_^1_%LDA- (ZERO),B_^1_%STA* MODOFF_'OFFSET IN BUFFER_^1_%LDA- 1,B_^1_%STA* MODLEN_'LENGTH OF FIELD_^1_%LDA BYTC_)CURRENT BYTE NUMBER_^1_%SUB* MODOFF_^1_%SAP MOD01_^1MOD02 ENA 0_,OUT OF RANGE_^1_%JMP* (MODCHK)_^1MOD01 LDA BYTC_^1_%SUB* MODLEN_^1_%SUB* MODO€€FF_^1_%SAM MOD03_^1_%JMP* MOD02_(OUT OF RANGE_^1MOD03 LDA BYTC_)CALCULATE OFFSET IN MASK_^1_%SUB* MODOFF_^1_%TRA Q_^1_%CLR A_^1_%LRS 1_^1_%LDQ* (MODMSK),Q_^1_%SAM MOD04_^1_%QRS 8_^1MOD04 TRQ A_^1_%EOR* CRBYT_^1_%AND- LPMASK+8_^1_%SAZ MOD05_^1_%ENA 1_^1MOD05 JMP* (MODCHK)_^1CRBYT NUM 0_,CURRENT BYTE_^1MODMSK NUM 0_,MASK ADDRESS_^1MODOFF NUM 0_,OFFSET IN FIELD_^1MODL€€EN NUM 0_,LENGTH OF FIELD_^1STARTF NUM 0_^1STOPF NUM 0_^1*_]_^1*_$PROCESS RECORD FOR DUMP FORMAT_^1*_]_^1TC07_!EQU TC07(*)_^1_%LDA- JCOFF,I_%GET CURRENT OFFSET_^1_%INA DUMPSZ_'ADD SIZE OF DUMP RECORD_^1_%STA EOROFF_'SET END-OF-RECORD OFFSET_^1_%LDA MESS1_(*_^1_%ENQ 47_+OFFSET OF FIRST *_^1_%STA (CPBUF),Q_#PUT IT IN PRINT BUFFER_^1_%ALS 8_^1_%INQ 16_+BUMP TO NEXT *_^1_%STA€€ (CPBUF),Q_#PUT IT IN BUFFER_^1_%LDQ- JIOSIZ,I_3GET OFFSET TO END CC AREA_^1_%LDA =N$1B31_^1_%STA (CPBUF),Q_#SET CARRIAGE CONTROL_^1*_]_^1*_$MOVE RECORD OFFSET TO PRINT BUFFER_^1*_]_^1_%LDA =N95_^1_%STA* TMP04_^1_%LDA- JROFF,I_%GET PRINT BUFFER OFFSET_^1_%RTJ PHEX_)PUT IT IN PRINT BUFFER_^1_%NUM 9_^1_%ENA DUMPSZ_^1_%ADD- JROFF,I_^1_%STA- JROFF,I_^1_%ENA 14_^1_%STA* TMP02_^1€€TC13_!EQU TC13(*)_^1_%RTJ GBYTE_(GET TWO BYTES FROM BUFFER_^1_%RTJ PCHAR_^1_%ALS 8_^1_%STA* TMP03_^1_%RAO- JCOFF,I_%BUMP CURRENT OFF SET_^1_%RTJ GBYTE_^1_%RTJ PCHAR_^1_%EOR* TMP03_^1_%RTJ PHEX_)DISPLAY THEM IN PRINT BUFFER_^1TMP02 NUM 0_^1_%LDA* TMP02_(BUMP BUFFER OFFSET_^1_%INA 5_^1_%STA* TMP02_^1_%RAO- JCOFF,I_%BUMP TO NEXT BYTE_^1_%LDA- JCOFF,I_^1_%SUB EOROFF_'CHECK F€€OR END-OF-RECORD_^1_%SAZ TC14_^1_%LDA- JCOFF,I_%NOT EOR_^1_%SUB- JBLKSZ,I_$IS IT EOB_^1_%SAP TC14_)YES_^1_%JMP* TC13_)NO, GET NEXT CHAR_^1TC14_!EQU TC14(*)_^1_%RTJ QUEP_)EOR, QUE THE PRINT BUFFER_^1_%RAO RECCT_(BUMP RECORD COUNT_^1_%JMP TC01M_(GET NEXT RECORD_^1PCHAR NUM 0_,PUT ALPHA CHAR IN LINE OF DUMP_^1_%STA* TMP05_^1_%RTJ CONVRT_^1_%RTJ PBYTE_^1TMP04 NUM 0_^1_%RAO*€€ TMP04_^1_%LDA* TMP05_^1_%JMP* (PCHAR)_^1TMP05 NUM 0_^1TMP03 NUM 0_,TEMPORARY STORAGE_^1_%EJT_]_^1*_]_^1*_$G B Y T E - GET BYTE FROM INPUT BUFFER_^1*_]_^1GBYTE NUM 0_^1_%CLR A_^1_%LDQ- JCOFF,I_%GET CURRENT OFFSET_^1_%LRS 1_^1_%SAM GBY01_^1_%LDA BUFFER,Q_$EVEN BYTE_^1_%ARS 8_^1_%JMP* GBY02_^1GBY01 LDA BUFFER,Q_$ODD BYTE_^1GBY02 AND- LPMASK+8_^1_%JMP* (GBYTE)_^1*_]_^1*€€_$P B Y T E - PUT BYTE IN PRINT BUFFER_^1*_]_^1PBYTE NUM 0_^1_%AND- LPMASK+8_^1_%STA* PBY01_(SAVE INPUT BYTE_^1_%LDA* (PBYTE)_4GET POSITION_^1_%INA 2_:SET UP FOR CHECK_^1_%SUB- JIOSIZ,I_^1_%SUB- JIOSIZ,I_^1_%SAM PBY05_^1_%RAO* PBYTE_(BYTE OUT OF RANGE OF BUFFER_^1_%JMP* (PBYTE)_^1PBY05 EQU PBY05(*)_^1_%LDQ* (PBYTE)_%GET OFFSET_^1_%RAO* PBYTE_(SET EXIT_^1_%CLR A_^1_%LRS 1_^€€1_%SAM PBY04_^1_%LDA* PBY01_(EVEN OFFSET_^1_%ALS 8_^1_%STA* PBY01_^1_%LDA- LPMASK+8_^1_%JMP* PBY03_^1PBY04 LDA- NZERO+8_%ODD OFFSET_^1PBY03 AND (CPBUF),Q_^1_%EOR* PBY01_^1_%STA (CPBUF),Q_^1_%JMP* (PBYTE)_^1PBY01 NUM 0_^1_%EJT_]_^1*_]_^1*_$P H E X - CONVERT BINARY WORD TO HEX AND PUT IN PRINT BUFFER_^1*_]_^1PHEX_!NUM 0_^1_%STA* PH01_)SAVE BINARY WORD_^1_%LDA* (PHEX)_^1_%ST€€A* PH02_)SAVE OFFSET AS PARAMETER_^1_%RAO* PHEX_)SET EXIT_^1_%ENA -4_+SET CHARACTER COUNT_^1_%STA* PH03_^1PHBK_!LDA* PH01_^1_%CLR Q_^1_%LLS 4_^1_%STA* PH01_^1_%RAO* PH03_^1_%INQ -10_^1_%SQP PH04_^1_%INQ $3A_*NUMERIC CHARACTER_^1_%JMP* PHPT_^1PH04_!INQ $41_*ALPHA CHARACTER_^1PHPT_!TRQ A_^1_%RTJ PBYTE_(PUT BYTE IN BUFFER_^1PH02_!NUM 0_^1_%RAO* PH02_^1_%LDA* PH03_^1_%SAZ P€€H05_)ARE WE DONE_^1_%JMP* PHBK_)NO, GET NEXTNYBLE_^1PH05_!JMP* (PHEX)_'YES, EXIT_^1PH01_!NUM 0_^1PH03_!NUM 0_^1_%EJT_]_^1*_]_^1*_$C O N V R T - CONVERT BYTE ACCORDING TO TC TABLE FOR JOB_^1*_]_^1CONVRT NUM 0_^1_%LDQ- JTCTAB,I_$GET TC TABLE ADDRESS_^1_%SQN CON01_^1_%STA* CONCC_(DEFAULT - MAKE LEGAL CHARACTER_^1_%INA -32_*HEX 20_^1_%SAM CON011_^1_%INA -65_*HEX 40_^1_%SAP CO€€N011_^1_%LDA* CONCC_(LEGAL CHARACTER_^1_%JMP* (CONVRT)_^1CON011 ENA $2E_*ILLEGAL CHARACTER_^1_%JMP* (CONVRT)_$MAKE IT LEGAL (PERIOD)_^1CON01 SUB- TBAS,Q_'SUBTRACT BASE_^1_%SUB- (ZERO),Q_$CHECK RANGE_^1_%SAM CON2_^1CON33 LDA- TBAS,Q_'MAKE IT BLANK_^1_%JMP* (CONVRT)_$EXIT_^1CON2_!ADD- (ZERO),Q_^1_%SAP CON22_^1_%JMP* CON33_^1CON22 EQU CON22(*)_^1_%TRA Q_^1_%CLR A_^1_%LRS 1_^€€1_%ADQ- JTCTAB,I_$ADD OFFSET TO ADDRESS OF TABLE_^1_%SAM CON4_^1_%LDA- 2,Q_*EVEN BYTE_^1_%ARS 8_^1CON3_!AND- LPMASK+8_^1_%JMP* (CONVRT)_$EXIT_^1CON4_!LDA- 2,Q_^1_%JMP* (CONVRT)_^1CONCC NUM 0_^1_%EJT_]_^1*_]_^1*_$PRINTER CONTROL_^1*_]_^1PRINT EQU PRINT(*)_^1_%RTJ TRACE_(****************DEBUG ONLY******************_^1_%RTJ* PRB_^1PRB_"NUM 0_^1_%LDA* PRB_^1_%SUB =XPRB-QHEAD_!€€DAMN 15 BIT ARITHMETIC_^1_%STA* NMINUS_^1_%LDQ QHEAD_^1PRBK_!SQP PR01_^1_%JMP- (ADISP)_^1PR01_!LDA- 1,Q_*GET JOB DISC ADDRESS_^1_%STA- I_,PUT IT IN I_^1_%LDA- JIOTRD,I_$GET PACKET THREAD_^1_%SAZ PR02_)IS PRINTER BUSY_^1PR01A STQ* NMINUS_'YES, TRY NEXT ITEM_^1_%LDQ- (ZERO),Q_$POINT TO NEXT PRINT BUFFER_^1_%JMP* PRBK_^1PR02_!EQU PR02(*)_%PRINTER NOT BUSY_^1_%LDA- JPRLU,I_^1_%STQ€€* PQSV_^1_%RTJ DSTAT_(GET PRINTER STATUS_^1_%LDQ* PQSV_^1_%SAN PR02A_(IS IT UP_^1_%JMP* PR01A_(NO, TRY AGAIN_^1PR02A LDA- (ZERO),Q_$PRINTER AVAILABLE_^1_%STA* (NMINUS)_$RE-THREAD_^1_%INQ 2_^1_%STQ- JIOBUF,I_$SET BUFFER ADDRESS_^1_%LDA- JIOLU,I_^1_%AND- NZERO+8_^1_%EOR- JPRLU,I_^1_%STA- JIOLU,I_%SET LOGICAL UNIT FOR PRINTER_^1_%LDA- I_^1_%INA JIOPKT_^1_%AND- LPMASK+15_^1_%EOR- €€ONEBIT+15_^1_%STA* IND_*SET INDIRECT BIT_^1_%LDA =XPCOM-PRB_^1_%ADD* PRB_^1_%STA- JIOCOM,I_$SET COMPLETION ADDRESS_^1_%LDA- JPRLU,I_%GET PRINTER LU_^1_%RTJ DVDN_)MARK IT DOWN_^1_%RTJ- ($F4)_(INDIRECT WRITE_^1IND_"NUM 0_^1_%JMP* PRINT_(TRY ANOTHER ONE_^1NMINUS NUM 0_^1PQSV_!NUM 0_^1_%EJT_]_^1*_]_^1*_$R E C O V P - PUT I/O ERROR ON ERROR RECOVERY QUE_^1*_*INPUT - A= I/O PARAMET€€ER ADDRESS_^1*_]_^1RECOVP NUM 0_^1_%RTJ TRACE_#***************DEBUG ONLY******************_^1_%ENQ 28_+SEARCH FOR EMPTY SLOT IN LIST_^1_%STA* RECT_^1RECB_!LDA* ERQUE,Q_^1_%SAZ RECP01_^1_%INQ -4_^1_%SQM RECP02_^1_%JMP* RECB_^1RECP02 JMP- (ADISP)_%TABLE FULL ******ERROR******_^1RECP01 RTJ* RECAB_^1RECAB NUM 0_^1_$LDA* RECAB_^1_$ADD =XERQUE-RECAB_^1_%AAQ A_^1_$STA* RECAB_^1_€€%LDA- I_^1_%STA* (RECAB)_%SAVE JOB DISCRIPTION ADDRESS_^1_%RAO* RECAB_^1_%LDQ* RECT_^1_%LDA- (ZERO),Q_^1_%STA* (RECAB)_%SAVE FUNCTION CODE_^1_%RAO* RECAB_^1_%LDA- 3,Q_^1_%STA* (RECAB)_%SAVE RETURNED STATUS_^1_%RAO* RECAB_^1_%AND- LPMASK+10_^1_%TRA Q_^1_%LDQ+ LOG1A,Q_^1_%LDA- 18,Q_^1_%STA* (RECAB)_%SAVE ERROR NUMBER_^1_%LDA- I_^1_%STA* RECT2_^1_%SCHDLE RECOV-*+1,3,X_^1_%LDA* RECT2_€€^1_%STA- I_^1_%JMP* (RECOVP)_^1RECT_!NUM 0_^1RECT2 NUM 0_^1*_]_^1*_$EACH ERROR QUED WITH A 4 WORD PACKET_^1*_*WORD0 = JOB DISCRIPTION ADDRESS_^1*_*WORD1 = FUNCTION CODE_^1*_*WORD2 = RETURNED STATUS_^1*_*WORD3 = PDT+18 (ERROR NUMBER)_^1*_]_^1ERQUE BZS ERQUE(32)_^1_%EJT_]_^1*_]_^1*_$R E C O V_"- I/O ERROR RECOVERY_^1*_]_^1RECOV EQU RECOV(*)_^1_%RTJ TRACE_#***************DEBU€€G ONLY******************_^1_%LDA* BUSY_^1_%SAZ NOTBZY_^1_%JMP- ($EA)_(ERROR RECOVERY ALREADY IN PROCESS_^1NOTBZY EQU NOTBZY(*)_^1_%ENQ 28_^1ER01_!LDA* ERQUE,Q_%FIND NEXT I/O PACKET ADDRESS_^1_%SAN ER03_^1_%INQ -4_^1_%SQM ER02_^1_%JMP* ER01_^1ER02_!JMP- (ADISP)_%QUE EMPTY_^1ER03_!EQU ER03(*)_^1_%RTJ TRACE_#***************DEBUG ONLY******************_^1_%STA- I_^1_%RAO* BUSY_€€^1_%ENA 0_^1_%STA* ERQUE,Q_%REMOVE FROM QUE_^1_%STA ERCOD_^1_%RTJ* ERAB_^1ERAB_!NUM 0_^1_%LDA* ERAB_^1_%SUB =XERAB-ERQUE_^1_%AAQ Q_^1_%STQ* ERAB_^1_%RAO* BUSY_)MARK THINGS BUSY_^1_%LDA- 1,Q_^1_%ARS 9_^1_%AND- LPMASK+5_^1_%STA ERFCT_(SAVE FUNCTION CODE_^1_%LDA- 2,Q_^1_%AND- LPMASK+10_^1_%STA ERLU_)SAVE LU_^1_%LDA ERFCT_(GET FUNCTION CODE_^1_%INA -2_+IS IT A WRITE_^1_%SAZ €€ER04_^1_%INA -4_^1_%SAZ ER04_)IS IT A FWRITE_^1_%JMP* ER08_)NO_^1*_]_^1*_$PRINTER ERROR_^1*_]_^1ER04_!EQU ER04(*)_^1_%RTJ TRACE_#***************DEBUG ONLY******************_^1_%LDA ERLU_^1_%RTJ LUOUT_^1_%STA MESS2+11_^1_%RTJ EIO_*SEND NOT READY MESSAGE_^1_%ADC* MESS2_^1_%ENQ 0_^1_%STQ* BUSY_^1_%SAP ER36_^1_%LDA- I_^1_%INA JIOPKT_^1_%EOR- ONEBIT+15_^1_%STA* ERT2_^1_%RTJ- €€($F4)_(RETRY PRINT_^1ERT2_!NUM 0_^1_%JMP RECOV_^1ER36_!EQU ER36(*)_^1_%SAZ ER161_^1_%JMP* ER27_^1ER161 EQU ER161(*)_^1_%LDA ERLU_)CONTINUE_^1_%RTJ DVUP_)MARK DEVICE UP_^1_%LDA- I_^1_%INA JIOPKT_^1_%STA ERADR_^1_%SCHDLE RECOV-*+1,3,X_^1_%CLR Q_^1_%LDA ERADR_^1_%JMP PCOM_^1*_]_^1*_$SUSPEND PRINT_^1*_]_^1ER27_!EQU ER27(*)_^1_%RTJ TRACE_(*****************DEBUG ONLY******€€*******_^1_%LDA ERLU_^1_%RTJ DVUP_^1_%RTJ FREEPB_^1_%RTJ* ERPR_^1ERPR_!NUM 0_^1_%LDA* ERPR_^1_%SUB =XERPR-QHEAD_^1_%STA* ERMIN_^1_%LDQ QHEAD_^1ERBK_!EQU ERBK(*)_^1_%SQP ERP01_^1_%JMP* ERPRX_(NOTHING ON QUEUE_^1ERP01 EQU ERP01(*)_^1_%LDA- 1,Q_*GET JOB DISCRIPTION_^1_%EOR- I_,IS IT ONE TO BE SUSPENDED_^1_%SAZ ERP02_^1_%STQ* ERMIN_(NO, GET NEXT ONE_^1_%LDQ- (ZERO),Q_^1_%JMP€€* ERBK_^1ERMIN NUM 0_^1BUSY_!NUM 0_+ERROR RECOVERY BUSY FLAG_^1ERP02 EQU ERP02(*)_^1_%LDA- (ZERO),Q_$DELETE FROM QUEUE_^1_%STA* (ERMIN)_^1_%INQ 2_^1_%STQ- JIOBUF,I_^1_%RTJ FREEPB_^1_%LDQ* (ERMIN)_^1_%JMP* ERBK_^1ERPRX EQU ERPRX(*)_^1_%LDA- JFLAGS,I_^1_%AND- ZROBIT+10_^1_%EOR- ONEBIT+10_#SET PRESUSPEND_^1_%AND- ZROBIT+5_^1_%STA- JFLAGS,I_^1_%LDQ- JIOBUF,Q_^1_%INQ -2_^1_%CL€€R A_^1_%STA- (ZERO),Q_$FREE CURRENT BUFFER_^1_%ENA 0_^1_%STA- JCOFF,I_^1_%SCHDLE TP01-*+1,3,X_^1_%JMP RECOV_^1ER08_!EQU ER08(*)_%TAPE I/O ERROR_^1_%RTJ TRACE_#***************DEBUG ONLY******************_^1_%LDQ* ERAB_^1_%LDA- 2,Q_^1_%AND- ONEBIT+14_^1_%SAZ ER088_^1SHORTE EQU SHORTE(*)_#SHORT READ ERROR_^1_%LDA ERLU_^1_%RTJ LUOUT_^1_%STA MESS5+9_^1_%RTJ EIO_^1_%ADC* MESS5€€_^1_%JMP* ERCOM_^1ER088 EQU ER088(*)_^1_%LDQ ERAB_^1_%LDA- 3,Q_*GET ERROR CODE_^1_%INA -3_^1_%SAN ER09_)IS IT A PARITY ERROR_^1_%LDA ERLU_)YES_^1_%RTJ LUOUT_^1_%STA MESS3+9_^1_%RTJ EIO_*PUT MESSAGE ON THE CONSOLE_^1_%ADC* MESS3_^1_%JMP* ERCOM_(PROCESS COMPLETION_^1ER09_!EQU ER09(*)_%IS DEVICE NOT READY_^1_%INA -11_^1_%SAN ER10_^1_%ENA 14_^1_%STA ERCOD_^1_%LDA* ERLU_)Y€€ES_^1_%RTJ LUOUT_^1_%STA MESS2+11_^1_%RTJ EIO_*PUT MESSAGE ON CONSOLE_^1_%ADC* MESS2_^1_%JMP* ERCOM_(PROCESS COMPLETION_^1ER10_!EQU ER10(*)_%GENERAL I/O ERROR_^1_%RTJ TRACE_(*****************DEBUG ONLY*************_^1_%INA 14_^1_%RTJ LUOUT_^1_%STA MESS4+5_^1_%LDA* ERLU_^1_%RTJ LUOUT_^1_%STA MESS4+11_^1_%RTJ EIO_^1_%ADC* MESS4_^1ERCOM EQU ERCOM(*)_$ERROR COMPLETION_^1_%€€RTJ TRACE_(*****************DEBUG ONLY*************_^1_%STA* ERET_)SAVE ERROR RETURN_^1_%ENA 0_^1_%STA* BUSY_)CLEAR BUSY FLAG_^1_%LDA* ERFCT_(GET FUNCTION CODE_^1_%INA -1_^1_%SAN ER11_^1_%JMP* ER12_)READ FUNCTION_^1ER11_!INA -3_^1_%SAZ ER12_^1_%JMP* ER15_)BACKSPACE OR PRINT FUNCTION_^1ER12_!EQU ER12(*)_%TAPE READ_^1_%RTJ TRACE_#***************DEBUG ONLY******************_^1€€_%LDA* ERET_^1_%SAP ER13_^1_%JMP* ERETRY_'RETRY_^1ER13_!SAN ER14_^1_%JMP* ECONT_(CONTINUE_^1ER14_!EQU ER14(*)_%SUSPEND_^1_%RTJ TRACE_(*****************DEBUG ONLY*************_^1ER141 LDA- JFLAGS,I_^1_%AND- ZROBIT+10_^1_%EOR- ONEBIT+10_#SET PRE-SUSPEND BIT_^1_%STA- JFLAGS,I_^1_%LDA- JTPLU,I_^1_%RTJ DVUP_)MARK TAPE AVAILABLE_^1_%ENA 0_^1_%STA- JCOFF,I_^1_%SCHDLE RECOV-*+1,3,X_€€^1_%RAO PFLAG_^1_%JMP TP022_^1*_]_^1*_$CONTINUE (TAPE READ ERROR)_^1*_]_^1ECONT EQU ECONT(*)_^1_%RTJ TRACE_(*********DEBUG ONLY*******_^1_%LDA- JFLAGS,I_^1_%AND- ZROBIT+6_^1_%EOR- ONEBIT+6_$SET CONTINUE BIT_^1_%STA- JFLAGS,I_^1_%JMP* ERETRY_'READ IT AGAIN_^1ERETRY EQU ERETRY(*)_#RETRY_^1_%RTJ TRACE_(*****************DEBUG ONLY*************_^1_%LDA- JTPLU,I_%YES_^1_%RTJ DVUP€€_^1_%LDA* ERCOD_^1_%INA -14_^1_%SAZ ER78_)DON'T BACKSPACE IF TAPE NOT READY_^1_%RTJ BACKSP_'NO_^1ER78_!EQU ER78(*)_^1_%LDA- JFLAGS,I_^1_%AND- ZROBIT+3_^1_%EOR- ONEBIT+3_^1_%STA- JFLAGS,I_^1_%SCHDLE TP01-*+1,3,X_^1_%JMP RECOV_^1*_]_^1*_$BACKSPACE ERROR_^1*_]_^1ER15_!EQU ER15(*)_^1_%LDA- JFLAGS,I_^1_%AND- ZROBIT+3_^1_%STA- JFLAGS,I_^1_%LDA* ERET_^1_%SAP ER16_^1_%RTJ BACKSP_'R€€ETRY_^1_%JMP RECOV_(LOOK FOR ANOTHER ERROR_^1ER16_!SAN ER17_^1_%LDA- JFLAGS,I_^1_%AND- ZROBIT+6_^1_%EOR- ONEBIT+6_^1_%STA- JFLAGS,I_$SET CONTINUE BIT_^1_%RTJ BACKSP_^1_%SCHDLE TP01-*+1,3,X_^1_%JMP RECOV_^1ER17_!EQU ER17(*)_%SUSPEND_^1_%JMP* ER141_^1*_]_^1ERADR NUM 0_,I/O PACKET ADDRESS_^1ERLU_!NUM 0_,LU OF DEVICE IN ERROR_^1ERFCT NUM 0_,FUNCTION CODE_^1ERET_!NUM 0_,STAT€€US RETURNED FROM CONSOLE_^1ERCOD NUM 0_-ERROR CODE_^1*_]_^1*_$BACKSPACE_^1*_]_^1BACKSP NUM 0_^1_%RTJ TRACE_$******************DEBUG ONLY***********_^1_%LDA- JFLAGS,I_^1_%AND- ONEBIT+3_^1_%SAZ BK21_)HAS BACKSPACE ALREADY BEEN DONE_^1_%JMP* (BACKSP)_$YES, DON'T DO IT AGAIN_^1BK21_!LDA- JFLAGS,I_^1_%EOR- ONEBIT+3_$SET BACKSPACE BIT_^1_%STA- JFLAGS,I_^1_%LDA- I_^1_%STA* BACKI_^1_%€€INA JIOBKS_^1_%EOR- ONEBIT+15_^1_%STA* INBACK_^1_%LDA- JIOBLU,I_^1_%AND- NZERO+10_^1_%EOR- JTPLU,I_^1_%STA- JIOBLU,I_$SET LU_^1_%LDA ABS_^1_%ADD =XBKSCOM-BASS_^1_%STA- JIOBKS+1,I_"SET COMPLETION ADDRESS_^1_%LDA- JTPLU,I_^1_%RTJ DVDN_)MAKE TAPE UNAVAILABLE_^1_%LDA- JIOBKS+2,I_^1_%SAZ DBBSK_,BACKSPACE ALREADY ACTIVE_^1_%RTJ RERROR_%YESS_"********FATAL************_^1DBBSK EQU €€DBBSK(*)_^1_%RTJ- ($F4)_(BACKSPACE (INDIRECT)_^1INBACK NUM 0_^1_%LDA* BACKI_^1_%STA- I_,RESTORE I_^1_%JMP* (BACKSP)_^1BACKI NUM 0_^1_%EJT_]_^1*_]_^1*_$T P C O M - TAPE READ COMPLETION_^1*_]_^1TPCOM EQU TPCOM(*)_^1_%RTJ TRACE_#***************DEBUG ONLY******************_^1_%STA* TPCC1_(SAVE PARAMETER ADDRESS_^1_%ENA 0_^1_%STA TPFLAG_'CLEAR TAPE BUFFER BUSY FLAG_^1_%LDA ISA€€VE_^1_%STA- I_^1_%LDA- JFLAGS,I_^1_%AND- ONEBIT+6_^1_$SAZ TPP11_)IS CONTINUE BIT SET_^1_%EOR- JFLAGS,I_$YES, CLEAR IT_^1_%STA- JFLAGS,I_^1_%JMP* TPP01_(DON'T CHECK FOR ERRORS_^1TPP11 EQU TPP11(*)_$CONTINUE BIT NOT SET_^1_%LDA* TPCC1_^1_%STQ* TPCQ_)SAVE Q_^1_%SQP TPP02_(WAS THERE AN ERROR_^1_%JMP* TPERR_(YES_^1TPP02 EQU TPP02(*)_$NO_^1_%LDA* TPCQ_^1_%AND- ONEBIT+14_^1_%SAZ TP€€P01_(WAS IT SHORT READ_^1_%JMP* TPSR_)YES_^1TPP01 EQU TPP01(*)_$NO ERROR_^1_%LDA- JTPLU,I_^1_%RTJ DVUP_)MARK TAPE UP_^1_%JMP TP09_^1TPSR_!EQU TPSR(*)_%SHORT READ_^1_%LDA- JFLAGS,I_^1_%AND- ONEBIT+8_^1_%SAN TPSSZ_(IS IT DUMP MODE_^1_%LDA- JFLAGS,I_$NO_^1_%AND- ONEBIT+1_$CHECK FOR UNFORMATTED_^1_%SAN TPSSZ_(YES, GO CALC BLK SIZE_^1_%JMP* TPSR1_(NO, GO CHECK FOR VARIABLE FORMAT€€TED_^1TPSSZ EQU TPSSZ(*)_$YES, CALCULATE TAPE BLOCK SIZE_^1_%RTJ TPSK_^1TPSK_!NUM 0_^1_%LDA* TPSK_^1_%ADD* TPSK01_^1_%ADD =XTPSK01-TPSK_^1_%LDQ BUFSIZ_^1_%INQ -1_^1_%SUB BUFFER,Q_^1_%TCA A_,COMPLEMENT BLOCK SIZE_^1_%ALS 1_^1_%STA- JBLKSZ,I_$SET BLOCK SIZE_^1_%LDA- JFLAGS,I_$IS IT DUMP MODE_^1_%AND- ONEBIT+8_^1_%SAN TPSSZ5_'SKIP IF YES_^1_%LDA- JBLKSZ,I_$NO - BLKSIZ TO RE€€CSIZ_^1_%STA- JRECSZ,I_^1TPSSZ5 EQU TPSSZ5(*)_^1_%JMP* TPP01_(CONTINUE PROCESSING_^1TPSK01 ADC* BUFFER_^1TPSR1 EQU TPSR1(*)_^1_%LDA- JFLAGS,I_$SHORT READ, NOT DUMP MODE_^1_%AND- ONEBIT+15_^1_%SAN TPERR_(IS IT VARIABLE MODE_^1_%JMP* TPP01_(YES, DON'T DO NOTHIN_^1TPERR EQU TPERR(*)_$TAPE READ ERROR_^1_%RTJ TRACE_#***************DEBUG ONLY******************_^1_%LDQ- JTPLU,I_%GE€€T LU_^1_%LDQ+ LOG1A,Q_%GET PDT ADDRESS_^1_%LDA- 12,Q_)LOAD ESTAT2_^1_%AND- ONEBIT+11_^1_%SAN TPP03_(IS IT EOF_^1_%JMP* TPC04_(NO_^1TPP03 LDA- JFLAGS,I_$YES, SET PRE-SUS_^1_%AND- ZROBIT+10_^1_%EOR- ONEBIT+10_^1_%STA- JFLAGS,I_^1_%ENA -1_^1_%STA TPBUF_(CLEAR TPBUF_^1_%ENA 0_^1_%STA- JCOFF,I_%RESET CURRENT OFFSET_^1_%LDA- JTPLU,I_^1_%RTJ DVUP_)FREE THE TAPE_^1_%LDA RLSFLG_'SEE €€IF CONSOLE IS ACTIVE_^1_%SAZ TPP033_^1_%SCHDLE TABLIB+3-*,3,X_^1_%CLR A_^1_%STA RLSFLG_^1TPP033 EQU TPP033(*)_^1_%JMP TP022_^1TPC04 EQU TPC04(*)_^1_%LDA- 12,Q_)LOAD ESTAT2_^1_%AND- ONEBIT+9_^1_%SAZ TPC05_(IS IT EOT_^1_%JMP* TPP03_(YES, TREAT AS EOF_^1TPC05 EQU TPC05(*)_$REAL TAPE ERROR_^1_%ENA -1_^1_%STA TPBUF_^1_%LDA* TPCC1_(GET PARAMETER ADDRESS_^1_%RTJ RECOVP_'QUE €€IT_^1_%JMP TP022_^1TPCC1 NUM 0_^1TPCQ_!NUM 0_^1_%EJT_]_^1*_]_^1*_$P C O M - PRINTER COMPLETION_^1*_]_^1PCOM_!EQU PCOM(*)_^1_%RTJ TRACE_#***************DEBUG ONLY******************_^1_%SQP PC01_)WAS THERE AN ERROR_^1_%JMP* PC02_^1PC01_!EQU PC01(*)_%NO_^1_%TRA Q_^1_%LDA- 3,Q_*GET LU_^1_%AND- LPMASK+8_^1_%RTJ DVUP_)MARK PRINTER UP_^1_%INQ -JIOPKT_%POINT TO JOB DISCRIPTION_^€€1_%STQ- I_^1_%RTJ FREEPB_^1PC011 SCHDLE PRINT-*+1,3,X_^1_%JMP- (ADISP)_^1PC02_!EQU PC02(*)_%PRINTER ERROR_^1_%INA -JIOPKT_^1_%STA- I_^1_%INA JIOPKT_^1_%RTJ RECOVP_'PROCESS ERROR_^1_%JMP* PC011_^1*_]_^1*_$B K S C O M - BACKSPACE COMPLETION_^1*_]_^1BKSCOM EQU BKSCOM(*)_^1_%RTJ TRACE_#***************DEBUG ONLY******************_^1_%INA -JIOBKS_^1_%STA- I_^1_%LDA- JFLAGS,I_^1_€€%AND- ONEBIT+6_^1_%SAZ BKS01_(IS CONTINUE BIT SET_^1_%EOR- JFLAGS,I_^1_%STA- JFLAGS,I_$YES, CLEAR IT_^1BKSUP LDA- JTPLU,I_^1_%AND- LPMASK+8_^1_%RTJ DVUP_)MARK DEVICE UP_^1_%SCHDLE TP01-*+1,3,X_^1_%JMP- (ADISP)_^1BKS01 EQU BKS01(*)_^1_%SQM BKS02_(ANY ERROR_^1_%JMP* BKSUP_(NO_^1BKS02 LDA- I_^1_%INA JIOBKS_^1_%RTJ TRACE_#***************DEBUG ONLY******************_^1_%RTJ RE€€COVP_^1_%JMP- (ADISP)_^1_%EJT_]_^1*_]_^1*_$S E T C C - SET UP CARRIAGE CONTROL_^1*_]_^1SETCC NUM 0_^1_%STA* SE01_)SAVE CC BYTE_^1_%ENA 2_,SET BUFFER OFFSET FOR CONTROL BYTES_^1_%STA* SEC03_^1_%LDQ- JCCTAB,I_$GET CC TABLE ADDRESS_^1_%SQN SE02_)IS IT DEFAULT_^1_%ENQ POSTB+3_^1_%LDA- JFLAGS,I_3CHRPR TYPE_^1_%AND- ONEBIT+2_^1_%SAZ SE05_7SKIP IF NI_^1_%INQ -2_9YES, BACJ UP 2_^1€€SE05_!EQU SE05(*)_^1_%LDA =N$1B31_4DEFAULT = S1P_^1_%STA (CPBUF),Q_^1_%JMP* SE04_^1SE02_!LDA- (ZERO),Q_$GET TABLE SIZE_^1_%STA* SEC01_(SAVE IT_^1_%ALS 1_^1_%AAQ Q_^1_%INQ -1_^1SEBK_!LDA- (ZERO),Q_$SEARCH CC TABLE_^1_%EOR* SE01_^1_%SAZ SE03_^1_%INQ -2_+NOT A MATCH_^1_%LDA* SEC01_^1_%INA -1_^1_%STA* SEC01_^1_%SAZ SE22_^1_%JMP* SEBK_^1SE22_!EQU SE22(*)_^1_%ENQ POSTB+3_^1_%€€LDA- JFLAGS,I_4CHRPR TUPE_^1_%AND- ONEBIT+2_^1_%SAZ SE24_7SKIP IF NO_^1_%INQ -2_:YES, BACH UP 2_^1SE24_!EQU SE24(*)_^1_%STA (CPBUF),Q_^1_%JMP* SE13_^1SE03_!LDA- 1,Q_*MATCH, GET DATA_^1_%STA* SEC01_(SAVE CONTROL_^1SE23_!CLR Q_^1_%LLS 4_^1_%STA* SEC01_^1_%SQN SE10_^1_%JMP* SE13_)END OF CONTROL_^1SE10_!TRQ A_^1_%INA -1_^1_%SAN SE61_^1_%LDA- JFLAGS,I_3CHRPR TYPE_^1_%AND- ONEBI€€T+2_^1_%SAZ SE12_8SKIP IF NOT_^1_%ENA POSTB+1-2_2YES_^1_%JMP* SE14_^1SE12_!EQU SE12(*)_^1_%ENA POSTB+1_^1SE14_!EQU SE14(*)_^1_%STA* SEC03_^1_%INA 1_^1_%TRA Q_^1_%LDA* CTLS_^1_%JMP* SE62_^1SE61_!EQU SE61(*)_^1_%ADD* CTLS_^1_%LDQ* SEC03_^1SE62_!STA (CPBUF),Q_#PUT CONTROL IN BUFFER_^1_%RAO* SEC03_^1_%LDA* SEC01_^1_%JMP* SE23_^1SE04_!EQU SE04(*)_^1_%LDA* SE01_)GET BYTE_^1_%RT€€J SSF_*PUT BYTE IN BUFFER_^1_%RAO BYTC_)BUMP BYTE COUNT_^1SE13_!JMP* (SETCC)_%EXIT_^1CTLS_!NUM $1B30_^1SE01_!NUM 0_^1SEC01 NUM 0_^1SEC03 NUM 0_^1*_]_^1*_$Q U E P - PUT BUFFER ON PRINT QUE_^1*_]_^1QUEP_!NUM 0_^1_%LDQ QHEAD_^1_%SQP Q01_*IS QUE EMPTY_^1_%ENA -1_+YES, ADD BUFFER_^1_%LDQ CPBUF_^1_%STA- (ZERO),Q_$MARK THREAD AS END OF QUE_^1_%STQ QHEAD_(PUT BUFFER ADDRESS €€IN QUE HEAD_^1_%JMP* QUEX_)EXIT_^1Q01_"STQ* QTP_*QUE NOT EMPTY_^1_%LDA- (ZERO),Q_^1_%SAM Q02_^1_%TRA Q_^1_%JMP* Q01_^1Q02_"LDQ CPBUF_(END OF THREAD_^1_%ENA -1_^1_%STA- (ZERO),Q_$SET END OF THREAD_^1_%STQ* (QTP)_(SET LINK TO LAST THREAD_^1QUEX_!LDA- I_^1_%STA ISAVE_^1_%SCHDLE PRINT-*+1,3,X_^1_%LDA ISAVE_^1_%STA- I_^1_%JMP* (QUEP)_'EXIT_^1QTP_"NUM 0_^1*_]_^1*_$RESET ALTERNATE€€ DEVICE NUMBER_^1*_]_^1_%EXT LOG1_^1LUCL_!NUM 0_^1_%LDA- JFLAGS,I_^1_%AND- ONEBIT+2_3IS IT A MATRIX PRINTER_^1_%SAN LUCL10_5YES, BYPASS LOG1A RESET/RESTORE_^1_%LDQ- JPRLU,I_%GET PRINTER LU_^1_%LDA+ LOG1,Q_'GET LOG1 FOR PRINTER_^1_%AND- NZERO+12_$CLEAR ALT LU_^1_%EOR- JLGSV1,I_$ADD SAVED VALUE_^1_%STA+ LOG1,Q_'PUT IT BACK_^1LUCL10 EQU LUCL10(*)_^1_%LDQ- JTPLU,I_^1_%LDA+ LOG1,Q_^€€1_%AND- NZERO+12_^1_%EOR- JLGSV2,I_^1_%STA+ LOG1,Q_^1_%JMP* (LUCL)_^1*_]_^1*_$D S T A T - DEVICE STATUS_^1*_*INPUT - A=LU_^1*_*OUTPUT- A=1 DEVICE UP_^1*_2A=0 DEVICE DOWN_^1*_]_^1DSTAT NUM 0_^1_%ENQ 7_^1DSTB_!EOR* LLIST,Q_%SEARCH FOR LOGICAL UNIT IN TABLE_^1_%SAZ DST01_(IS THIS IT_^1_%EOR* LLIST,Q_%RECOVER A_^1_%INQ -1_+NO_^1_%SQM DST02_(IS THIS END OF LIST_^1_%JMP* DSTB_)NO, €€LOOK AGAIN_^1DST01 JMP* (DSTAT)_%DEVICE IS DOWN_^1DST02 ENA 1_^1_%JMP* (DSTAT)_%DEVICE IS UP_^1*_]_^1*_$D V U P - MARK DEVICE UP_^1*_]_^1DVUP_!NUM 0_^1_%STQ* DVUQ_^1_%STA* DVC_^1_%RTJ* DSTAT_(GET DEVICE STATUS_^1_%SAN DV01_)IS DEVICE ALREADY UP_^1_%STA* LLIST,Q_%NO, MARK IT UP_^1DV01_!EQU DV01(*)_^1_%LDQ* DVUQ_^1_%JMP* (DVUP)_'EXIT_^1DVUQ_!NUM 0_^1DVC_"NUM 0_^1LLIST BZS L€€LIST(8)_$DEVICE DOWN LIST_^1*_]_^1*_$D V D N - MARK DEVICE DOWN_^1*_]_^1DVDN_!NUM 0_^1_%STQ* DVDQ_^1_%STA* DVDC_^1_%RTJ* DSTAT_(GET DEVICE STATUS_^1_%SAN DVD1_)IS IT ALREADY DOWN_^1_%JMP* DVDX_)YES, EXIT_^1DVD1_!ENQ 7_,NO, FIND EMPTY SLOT_^1DVD2_!LDA* LLIST,Q_^1_%SAN DVD3_)IS THIS SLOT EMPTY_^1_%LDA* DVDC_)YES, USE IT_^1_%STA* LLIST,Q_%MARK DEVICE DOWN_^1DVDX_!LDQ* DVDQ_^1_%JMP€€* (DVDN)_'EXIT_^1DVD3_!INQ -1_^1_%SQM DVD4_)IS IT END OF LIST_^1_%JMP* DVD2_)NO, TRY AGAIN_^1DVD4_!RTJ* RERROR_'DEVICE TABLE FULL_^1DVDC_!NUM 0_^1DVDQ_!NUM 0_^1*_]_^1*_$R E R R O R - REALTIME ERROR_^1*_]_^1RERROR NUM 0_^1_%JMP- (ADISP)_^1_%EQU ROU1(*+3)_^1_%EQU ROU2(ROU1/96)_^1_%EQU ROU3(ROU2+1)_^1_%EQU ROU4(ROU3*96)_^1_%EQU ROU5(ROU4-*)_^1_%EQU ROU6(ROU5-3)_^1_%EQU ROU€˜7(ROU3-BASS)_^1_%BZS_!(ROU6)_%ROUND UP TO SECTOR BOUNDARY_^1MODORD NUM 0_,SYSDIR INDEX OF CURRENT MODULE_^1RUNLIB NUM 0_^1TABLIB NUM 0_^1_%END_]_^__ ˜PRUNMOD CSY/ I,C P€1_%NAM RUNMOD_'DECK-ID B11 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1*_$OVERLAY...TYPE.....ROUTINE.......RECURSIVE/_^1*_$NUMBER ASM/BNF_"NAMES_(NON-RECURSIVE R/N_^1*_]_^1*_$.................................._^1*_$ROOT_$ASM_$DOOR (IDOOR)€€ N_^1*_8RET (IRET)_!N/A_^1*_8EOL_*R_^1*_8FALSE_(R_^1*_8HX_+R_^1*_8NM_+R_^1*_8CSTBY_(R_^1*_8SLI_*N_^1*_8CST_*R_^1*_8ST_+R_^1*_8CLI (ICLI)_"N_^1*_8ID_+R_^1*_8RECUR (IRECUR)N/A_^1*_8CLEAR_(N_^1*_8PLI_*R_^1*_8ZMVP_)R_^1*_8OUTPUT_'R_^1*_8PLIL_)R_^1*_8NXTREC_'R_^1*_8BYTE_)N_^1*_8CKEOL_(R_^1*_8REL_*R_^1*_8COMMA_(R_^1*_8COMMM_(R_^1*_$.................................._^1*_$01_'ASM_$DSEL1€€_(R_^1*_8JOBNAM_'R_^1*_$.................................._^1*_$02_'ASM_$SEL_*R_^1*_$.................................._^1*_$03_'ASM_$SEL PT 2_$R_^1*_$.................................._^1*_$04_'ASM_$SEL PT 3_$R_^1*_$.................................._^1*_$05_'ASM_$TPLU_)R_^1*_8PRLU_)R_^1*_8DSTRNG_'R_^1*_$.................................._^1*_$06_'ASM_$RUNSTR_'R_^1*_8RUNCOM_'R_^1*€€_8CLRTMP_'R_^1*_8CHRPR_(R_^1*_$.................................._^1*_$07_'ASM_$DATSTM_'R_^1*_8DATSAV_'R_^1*_8DATRUN_'R_^1*_8DATRNX_'R_^1*_8DATASM_'R_^1*_8DATSTR_'R_^1*_8DATSTS_'R_^1*_8DATSTT_'R_^1*_$.................................._^1*_$08_'ASM_$BADSTZ_'R_^1*_8LUBUSY_'R_^1*_8TPSCHR_'R_^1*_$.................................._^1*_$09_'ASM_$CHRNMS_'R_^1*_8CHRNMX_'R_^1*_8NMSAV_(R_^1€€*_$.................................._^1*_$10_'ASM_$START_(R_^1*_8PART_)R_^1*_8CHRSTR_'N_^1*_8CHRSTX_'N_^1*_$.................................._^1*_$11_'ASM_$STOP_)R_^1*_8ASGN_)R_^1*_8CHRSTT_'N_^1*_8CHRSTP_'N_^1*_$.................................._^1*_$12_'ASM_$SUSP_)R_^1*_8FREE_)R_^1*_8TERM_)R_^1*_$.................................._^1*_$13_'ASM_$RUN_*R_^1*_$.....................€€............._^1*_$14_'ASM_$REW_*R_^1*_8ADF_*R_^1*_8ADR_*R_^1*_8BSF_*R_^1*_8BSR_*R_^1*_$................................._^1*_$15_'ASM_$SKIP_)R_^1*_$.................................._^1*_$16_'ASM_$TABINT_'R_^1*_$.................................._^1*_$88_'BNF_$DRUN1_(R_^1*_8DRUN2_(R_^1*_8DSUSP1_'R_^1*_8DSUSP2_'R_^1*_8DFREE1_'R_^1*_8DFREE2_'R_^1*_$..................................€€_^1*_$89_'BNF_$BADLU_(R_^1*_8DUMMY_(R_^1*_$.................................._^1*_$90_'BNF_$DSKIP1_'R_^1*_$.................................._^1*_$91_'BNF_$DREW1_(R_^1*_8DADF1_(R_^1*_8DADR1_(R_^1*_8DBSF1_(R_^1*_8DBSR1_(R_^1*_$.................................._^1*_$92_'BNF_$DASGN1_'R_^1*_8DASGN2_'R_^1*_8DASGN3_'R_^1*_8DASGN4_'R_^1*_8ASGNLU_'R_^1*_8ASGNTU_'R_^1*_8ASGNPU_'R_^1*_8OPTD€€SA_'R_^1*_$.................................._^1*_$93_'BNF_$DSTRT1_'R_^1*_8DSTOP1_'R_^1*_8DPART1_'R_^1*_8OPTDSN_'R_^1*_8DATSTT_'R_^1*_8CHRNUM_'R_^1*_8CHRNME_'R_^1*_$.................................._^1*_$94_'BNF_$BADPRX_'R_^1*_8BADPRM_'R_^1*_8BADSTM_'R_^1*_$.................................._^1*_$95_'BNF_$DSEL2_(R_^1*_8SELLU_(R_^1*_8SELTU_(R_^1*_8SELPU_(R_^1*_$....................€€.............._^1*_$96_'BNF_$RNCMD3_'R_^1*_$.................................._^1*_$97_'BNF_$RNCMD2_'R_^1*_$.................................._^1*_$98_'BNF_$RNCMD1_'R_^1*_$.................................._^1*_$99_'BNF_$DUMMY_(R_^1*_$.................................._^1*_]_^1*_]_^1*_$MACROS_^1*_]_^1*_$HEADER - CREATE OVERLAY HEADER_^1*_$RTRT_!- RECURSIVE CALL FROM ROOT TO ROOT MO€€DULE_^1*_$RTOV_!- RECURSIVE CALL FROM ROOT TO OVERLAY MODULE_^1*_$OVRTR - RECURSIVE CALL FROM OVERLAY TO ROOT MODULE_^1*_$OVRTG - DIRECT GO TO FROM OVERLAY TO ROOT MODULE_^1*_$OVOVR - RECURSIVE CALL FROM OVERLAY TO OVERLAY MODULE_^1*_$OVOVG - DIRECT GO TO FROM OVERLAY TO OVERLAY MODULE_^1*_$OVRTJ - RTJ TO ROOT MODULE IND (FOR IDOOR,ICLI)_^1*_$OVRET - EXIT VIA RET FROM OVERLAY€€_^1*_$OVLDA - 1 WORD REL LDA FROM OV TO ROOT INDIRECT_^1*_$OVSTA - 1 WORD REL STA FROM OV TO ROOT INDIRECT_^1*_$OVLDQ - 1 WORD REL LDQ FROM OV TO ROOT INDIRECT_^1*_$OVSTQ - 1 WORD REL STQ FROM OV TO ROOT INDIRECT_^1*_$OVRAO - 1 WORD REL RAO FROM OV TO ROOT INDIRECT_^1*_$OVADD - 1 WORD REL ADD FROM OV TO ROOT INDIRECT_^1*_$OVSUB - 1 WORD REL SUB FROM OV TO ROOT INDIRECT_^1*_$OVADQ -€€ 1 WORD REL ADQ FROM OV TO ROOT INDIRECT_^1*_$ADDR_!- MODIFY 2ND WORD OF 2 WORD REL ADDR FROM OVERLAY TO ROOT_^1*_]_^1*_]_^1*_$MACRO HEADER_^1*_]_^1*_$P1 - OVERLAY NUMBER (2 DIGITS)_^1*_]_^1HEADER MAC P1_^1_%EQU OVN'P1'(*-1)_^1_%EQU OVA'P1'(OVN'P1'/96)_^1_%EQU OVB'P1'(OVA'P1'+1)_^1_%EQU OVC'P1'(OVB'P1'*96)_^1_%BSS (OVC'P1'-*)_^1_%EQU BS'P1'(BASE-*)_^1_%EMC_]_^1*_]_^1*_$MACRO€€ RTRT_(ROOT TO ROOT_^1*_]_^1*_$P1 - MODULE NAME_^1*_]_^1RTRT_!MAC P1_^1_(RTJ RECUR_4CALL 'P1'_^1_(VFD N1/1,X15/'P1'-*_^1_%EMC_]_^1*_]_^1*_$MACRO RTOV_(ROOT TO OVERLAY_^1*_]_^1*_$P1 - OVERLAY NUMBER OF ROUTINE (2 DIGITS)_^1*_$P2 - ROUTINE NAME_^1*_]_^1RTOV_!MAC P1,P2_^1_(RTJ RECUR_4CALL 'P2' IN 'P1'_^1_(VFD N1/0,N7/'P1',X8/'P2'-'P2'/96*96_^1_%EMC_]_^1*_]_^1*_$MACRO OVRTR_'OVER€€LAY TO ROOT RECURSIVE_^1*_]_^1*_$P2 - CURRENT OVERLAY NUMBER (2 DIGITS)_^1*_$P1 - ROUTINE NAME_^1*_]_^1OVRTR MAC P1,P2_^1_(VFD N8/$5C,X8/IRECUR-*-BS'P2' CALL 'P1' IN ROOT_^1_(VFD N1/1,X15/'P1'-*-BS'P2'_^1_%EMC_]_^1*_]_^1*_$MACRO OVRTG_'OVERLAY TO ROOT DIRECT_^1*_]_^1*_$P1 - ROUTINE NAME_^1*_$P2 - CURRENT OVERLAY NUMBER (2 DIGITS)_^1*_]_^1OVRTG MAC P1,P2_^1_(VFD N8/$5C,X8/IGO€€-*-BS'P2'_"GO TO 'P1' IN ROOT_^1_(VFD N1/1,X15/'P1'-*-BS'P2'_^1_%EMC_]_^1*_]_^1*_$MACRO OVOVR_'OVERLAY TO OVERLAY RECURSIVE_^1*_]_^1*_$P1 - OVERLAY NUMBER OF ROUTINE (2 DIGITS)_^1*_$P2 - ROUTINE NAME_^1*_$P3 - CURRENT OVERLAY NUMBER (2 DIGITS)_^1*_]_^1OVOVR MAC P1,P2,P3_^1_(VFD N8/$5C,X8/IRECUR-*-BS'P3' CALL 'P2' IN 'P1' FROM 'P3'_^1_(VFD N1/0,N7/'P1',X8/'P2'-'P2'/96*96_^1_%EM€€C_]_^1*_]_^1*_$OVOVG_-OVERLAY TO OVERLAY DIRECT_^1*_]_^1*_$P1 - OVERLAY NUMBER OF ROUTINE (2 DIGITS)_^1*_$P2 - ROUTINE NAME_^1*_$P3 - CURRENT OVERLAY NUMBER_^1*_]_^1OVOVG MAC P1,P2,P3_^1_(VFD N8/$5C,X8/IGO-*-BS'P3'_"GO TO 'P2' IN 'P1' FROM 'P3'_^1_(VFD N1/0,N7/'P1',X8/'P2'-'P2'/96*96_^1_%EMC_]_^1*_]_^1*_$MACRO OVRTJ_'RTJ TO MODULE IN ROOT (ONE WORD RELATIVE IND)_^1*_]_^1*_$P2 -€€ CURRENT OVERLAY NUMBER (2 DIGITS)_^1*_$P1 - ROUTINE NAME_^1*_]_^1OVRTJ MAC P1,P2_^1_(VFD N8/$5C,X8/'P1'-*-BS'P2'_!RTJ* 'P1' FROM 'P2'_^1_%EMC_]_^1*_]_^1*_$MACRO OVRET_'OVERLAY RETURN_^1*_]_^1*_$P1 - CURRENT OVERLAY NUMBER (2 DIGITS)_^1*_]_^1OVRET MAC P1_^1_(VFD N8/$1C,X8/IRET-*-BS'P1'_!RETURN FROM 'P1'_^1_%EMC_]_^1*_]_^1*_$MACRO ADDR_^1*_]_^1*_$P1 = NAME OF ROUTINE/DATA CELL€€ IN ROOT_^1*_$P2 = CURRENT OVERLAY NUMBER (2 DIGITS)_^1*_]_^1*_$USED TO GENERATE 2ND WORD OF A 2 WORD RELATIVE REFERENCE TO A_^1*_$ROOT ROUTINE/DATA CELL._^1*_$BACKS PROGRAM COUNTER UP 1 WORD, GENERATES RELATIVE ADDRESS_^1*_]_^1*_$***** IF YOU'RE NOT SURE WHAT'S GOING ON----DON'T WORRY. YOU'RE_^1*_$*****NOT ALONE._^1*_]_^1ADDR_!MAC P1,P2_6RELATIVE 'P1'/ROOT FROM 'P2'_^1_%LOC AA_^€€1_(ORG *-1_^1'AA'_!VFD X16/'P1'-'AA'-BS'P2'_'REF 'P1' FROM 'P2'_^1_%EMC_]_^1*_]_^1*_$MACROS TO GENERATE 1 WORD RELATIVE INDIRECT INSTS IN OVERLAYS_^1*_]_^1*_$OVLDA_-LDA_^1*_$OVSTA_-STA_^1*_$OVRAO_-RAO_^1*_$OVSTQ_-STQ_^1*_$OVLDQ_-LDQ_^1*_$OVADD_-ADD_^1*_$OVSUB_-SUB_^1*_$OVADQ_-ADQ_^1*_]_^1*_$GENERATE 1 WORD RELATIVE INDIRECT INST USING OVERLAY_^1*_$BASE TO CORRECT OFFSET_^1*_]_^1*€€_]_^1*_$P1 = ROOT CELL CONTAINING ADDRESS OF ACTUAL DATA_^1*_*E.G. ITRUE_^1*_$P2 = CURRENT OVERLAY NUMBER (2WORDS)_^1*_]_^1OVLDA MAC P1,P2_^1_(VFD N8/$CC,X8/'P1'-*-BS'P2'_!LDA 'P1' FROM 'P2'_^1_%EMC_]_^1OVSTA MAC P1,P2_^1_(VFD N8/$6C,X8/'P1'-*-BS'P2'_!STA 'P1' FROM 'P2'_^1_%EMC_]_^1OVLDQ MAC P1,P2_^1_(VFD N8/$EC,X8/'P1'-*-BS'P2'_!LDQ 'P1' FROM 'P2'_^1_%EMC_]_^1OVSTQ MAC €€P1,P2_^1_(VFD N8/$4C,X8/'P1'-*-BS'P2'_!STQ 'P1' FROM 'P2'_^1_%EMC_]_^1OVRAO MAC P1,P2_^1_(VFD N8/$DC,X8/'P1'-*-BS'P2'_!RAO 'P1' FROM 'P2'_^1_%EMC_]_^1OVADD MAC P1,P2_^1_(VFD N8/$8C,X8/'P1'-*-BS'P2'_!ADD 'P1' FROM 'P2'_^1_%EMC_]_^1OVSUB MAC P1,P2_^1_(VFD N8/$9C,X8/'P1'-*-BS'P2'_!SUB 'P1' FROM 'P2'_^1_%EMC_]_^1OVADQ MAC P1,P2_^1_(VFD N8/$FC,X8/'P1'-*-'P2'_$ADQ 'P1' FROM '€€P2'_^1_%EMC_]_^1_%EJT_]_^1*_]_^1*_$RUNMOD PRECODE FUNCTIONS_^1*_]_^1START EQU START(*)_^1_%JMP* INIT_^1_%JMP RUNMDX_5GO REENTRY_^1INIT_!EQU INIT(*)_^1*_]_^1*_$ABSOLUTIZE INIIRECTS LIST_^1*_]_^1_'EXT* ABS_^1_'LDA ABS_9GET ABS PRM START_^1_'STA* ABSAV_6SABE FOR OVERLAYS_^1_%ENQ 12_^1ABSB_!EQU ABSB(*)_^1_%LDA ITRUE,Q_^1_'ADD ABS_9ADD STRT PROG (ABS)_^1_%STA ITRUE,Q_^1_%INQ -1€€_^1_%SQM ABS0_^1_%JMP* ABSB_^1ABS0_!EQU ABS0(*)_^1*_]_^1*_$SET SECTOR ADDRESS OF TA LE LIBRARY_^1*_]_^1_%ENQ -1_^1_%LDA* START,Q_^1_%STA* TABLIB_^1_%INQ -1_^1_%LDA* START,Q_^1_%STA* LIBSEC_5SAVE LIBSEC_^1_%JMP RUNMOD_5GO STARTUP ROUTINE_^1LIBSEC NUM 0_^1TABLIB NUM 0_^1ABSAV_!NUM 0_^1_%EJT_]_^1*_]_^1*_$JOB TABLE FORMAT EQUATES_^1*_]_^1JJBNM EQU JJBNM(0)_3WORD 0 = JOBNAME-4€€ CHARS_^1JPRLU EQU JPRLU(JJBNM+2)_-WORD 2 = PRINT LOGICAL UNIT_^1JTPLU EQU JTPLU(JPRLU+1)_-WORD 3 = TAPE LOGICAL UNIT_^1JBLKSZ EQU JBLKSZ(JTPLU+1)_,WORD 4 = TAPE BLOCK SIZE_^1JRECSZ EQU JRECSZ(JBLKSZ+1)_+WORD 5 = TAPE RECORD SIZE_^1JFLAGS EQU JFLAGS(JRECSZ+1)_+WORD 6 = FLAGS_^1*_HBIT 15 = FIXED(1)/VARIABLE(0)_^1*_HBIT 14 = SUSPENDED(1)/RUNNING_^1*_HBIT 13 = START FIELD_€€^1*_HBIT 12 = STOP FIELD_^1*_HBIT 11 = PART PRINT_^1*_HBIT 10 = PRE-SUSPEND_^1*_HBIT 9 = ACTIVATE_^1*_HBIT 8 = DUMP_^1*_HBIT 7 = ASSIGNED(SELECTED)_^1*_HBIT 6 = CONTINUE ACTIVE_^1*_HBIT 5 = TEMP SUSPEND_^1*_HBIT 4 = HEADER OUTPUT_^1*_HBIT 3 = BACKSPACE ACTIVE_^1*_HBIT 2 = MATRIX PRINTER IF SET_^1*_HBIT 1 = UNFORMATTED VARIABLE_^1*_HBIT 0 = UNUSED_^1JCCTAB EQU JCCTAB(JFLAGS+€€1)_+WORD 7 = CCTAB ADDR_^1JTCTAB EQU JTCTAB(JCCTAB+1)_+WORD 8 = TCTAB ADDR_^1JCOFF EQU JCOFF(JTCTAB+1)_,WORD 9 = CURRENT OFFSET_^1JPOFF EQU JPOFF(JCOFF+1)_-WORD 10 = PARTIAL OFFSET_^1JPLEN EQU JPLEN(JPOFF+1)_-WORD 11 = PARTIAL LENGTH_^1JSTOFF EQU JSTOFF(JPLEN+1)_,WORD 12 = START OFFSET_^1JSTLEN EQU JSTLEN(JSTOFF+1)_+WORD 13 = .START LENGTH_^1JSPOFF EQU JSPOFF(JSTLEN+1)€€_+WORD 14 = .STOP OFFSET_^1JSPLEN EQU JSPLEN(JSPOFF+1)_+WORD 15 = STOP LENGTH_^1*_GWORDS 18-23 = I/O PKT_^1JLGSV1 EQU JLGSV1(JSPLEN+1)_+LOG1 SAVE FOR PRINTER_^1JLGSV2 EQU JLGSV2(JLGSV1+1)_+LOG 1 SAVE FOR TAPE_^1JIOPKT EQU JIOPKT(JLGSV2+1)_+I/O PKT FOR DS_^1JIOCOM EQU JIOCOM(JIOPKT+1)_^1JIOTRD EQU JIOTRD(JIOCOM+1)_,THREAD WORD_^1JIOLU_!EQU JIOLU(JIOTRD+1)_,LOGICAL UNIT NUMBER_€€^1JIOSIZ EQU JIOSIZ(JIOLU+1)_,REC SIZE_^1JIOBUF EQU JIOBUF(JIOSIZ+1)_+BUFFER ADDRESS_^1JIOBKS EQU JIOBKS(JIOBUF+1)_+BACKSPACE PACKET_^1JIOBLU EQU JIOBLU(JIOBKS+3)_+BACKSPACE LU_^1JPBFRE EQU JPBFRE(JIOBLU+2)_+LINK TO 1ST FREE PRINT BFR OR 0_^1JSTART EQU JSTART(JPBFRE+1)_+WORDS 30-45 = START MASK_^1JSTOP EQU JSTOP(JSTART+16)_+WORDS 46-61 = STOP MASK_^1JLEN_!EQU JLEN(JSTOP+16€€)_^1JROFF EQU JROFF(JSTART) OFFSET IN BLOCK (DUMP MODE)_^1JBLOCC EQU JBLOCC(JROFF+1) BLOCK COUNT (DUMP MODE)_^1*_]_^1*_$EQUATES FOR JOB TABLE ON DISK_^1*_]_^1JDPRLU EQU_!JDPRLU(0)_1PRINTER LU_^1JDTPLU EQU_!JDTPLU(JDPRLU+1)_+TAPE LU NBR_^1JDBKSZ EQU JDBKSZ(JDTPLU+1)_,BLOCK SIZE_^1JDRCSZ EQU JDRCSZ(JDBKSZ+1)_,RECORD SIZE_^1JDFLGS EQU JDFLGS(JDRCSZ+1)_,FLAGS_^1JDCCTB EQU_!JDCCT€€B(JDFLGS+1)_+CCTAB NAME ( 4 CHARS)_^1JDTCTB EQU JDTCTB(JDCCTB+2)_,TCTAB NAME ( 4 CHARS)_^1JBDLEN EQU_!JBDLEN(JDTCTB+2)_*LENGTH_^1*_]_^1*_$FOR DISK RECORD FORMATS_^1*_]_^1DRECLN EQU DRECLN(96)_1LEN DISK RECORD_^1*_]_^1*_$MORE JOB TABLE RECORD STUFF_^1*_]_^1JNMLEN EQU JNMLEN(2)_2LEN OF A JOB NAME_^1JBNNUM EQU JBNNUM(16)_1NBR JOBS IN DISK TABLE_^1JBNLEN EQU JBNLEN(JBNNUM*JNMLEN)_€€%LEN OF NAMES AREA_^1DRSTLN EQU DRSTLN(DRECLN-JBNLEN)_'SPACE IN SECT 1 AFTRR NAMES_^1JBNUM1 EQU JBNUM1(DRSTLN/JBDLEN)_'NBR JOBS IN SECTOR 1_^1PBSZ_!EQU PBSZ(75)_$PRINT BUFFER SIZE_^1_%EJT_]_^1*_]_^1*_$AREA FOR DATA CELLS AND MAJOR EQUATES_^1*_$AS WELL AS ENT/EXT DECLARATIONS_^1*_]_^1*_]_^1*_$JOB TABLE AREA LAYOUT (1 AREA PER DATA STREAM FOLLOWS TAPE BFR)_^1*_]_^1*_*JOB TABLE FOR€€ DSN._^1*_*CCTAB FOR JOB N._^1*_*TCTAB FOR JOB N._^1*_*PRINT BUFFERS FOR JOB N_^1*_]_^1CCTBA EQU CCTBA(JLEN)_0OFFSET FROM JOB TAB TO CCTAB_^1TCTBA EQU TCTBA(CCTBA+DRECLN)_(OFFSET FROM JOB TAB TO TCTAB_^1PBFRA EQU PBFRA(TCTBA+DRECLN)_(OFFSET FROM JOB TAB TO PRT BFRS_^1JBALEN EQU JBALEN(PBFRA+4*PBSZ)_^1*_]_^1*_]_^1_%ENT GETPB_^1_%ENT FREEPB_^1_%EXT* TRACE_^1_%EXT DSNUM_^1*_€€]_^1*_$EXTERNAL DECLARATIONS_^1*_]_^1_%EXT* RLSFLG_^1_%EXT* TP01_^1*_]_^1*_$TAPE BUFFER SIZE CELL_^1*_$HIGH AND LOW LIMITS_^1*_]_^1_%ENT BUFSIZ_^1BUFSIZ NUM 0_^1LOLIM NUM 16_^1HILIM NUM 88_^1_'EJT_^1*_]_^1*_$JOB TABLE ADDRESSES FOR EACH DATA STREAM_^1*_]_^1_%ENT AJOB_^1AJOB_!BZS AJOB(4)_4TABLE OF JOB ENTRY ADDR'S_^1_%EJT_]_^1*_]_^1*_%DISK BUFFERS FOR JOBS,TCTABSZ,CCTABS_^1*€€_]_^1AJBNAM ADC JBNAMS_^1JBNAMS BZS JBNAMS(DRECLN)_-JOB NAME BFR_^1_%EJT_]_^1*_]_^1*_$TEMP SAVE AREA FOR RUNMODE COMMANDS_^1*_]_^1* WORD 0_]_^1*_]_^1*_$FOR ALL COMMANDS EXCEPT DEVICE MANIPULATION%_^1*_*WORD 0 = DATA STREAM NUMBER_^1*_$FOR DEVICE MANIPULATION(REW,BSF,ADF,ETC)%_^1*_*WORD 0 = NUMBER_^1*_$FOR OTHER COMMANDS (LPT,TERM)_^1*_*WORD 0 = UNUSED_^1*_]_^1*_]_^1* WORD 1_]_^1*€€_]_^1*_$FOR SEL,ASGN,_"DEVICE MANIPULATION (REW,ETC)_^1*_*WORD 1 = TAPE UNIT NUMBER_^1*_$FOR START,STOP,PART_^1*_*WORD 1 = STARTING CHARACTER POSITION_^1*_]_^1* WORDS 2-33_^1*_]_^1*_$FOR SEL,ASGN,LPT AND DEVICE MANIPULATION_^1*_*WORD 2 = PRINTER UNIT NUMBER_^1*_$FOR START,STOP_^1*_*WORD 2 = LENGTH OF MASK/END POSITION OF MASK_^1*_$FOR PART_^1*_*WORD 2 = ENDING CHARACTER POSITION_^1€€*_$FOR SEL_^1*_*WORDS 3,4 = JOBNAME_^1*_$FOR LPT_^1*_*WORDS 3,4 = PRINT TRAIN NAME_^1*_$FOR START,STOP_^1*_*WORDS 3-33 = MASK_^1*_]_^1ATEMP ADC TEMPSV_^1TEMPSV BZS TEMPSV(34)_^1*_]_^1*_$RUNMOD - INITIAL ENTRY FOR RUN MODE PROCESSING_^1*_]_^1RUNMOD EQU RUNMOD(*)_^1_%RTOV 06,RUNSTR_^1RUNMDX EQU RUNMDX(*)_^1RNNEXT EQU RNNEXT(*)_^1_%RTOV 06,RUNCOM_^1_%RTOV 98,RNCMD1_^1_%LDA RLSF€€LG_5CHECK FOR RELEASE_^1_%SAZ RNNXT1_5SKIP IF NO_^1_%JMP- (ADISP)_4YES - EXIT DISP_^1RNNXT1 EQU RNNXT1(*)_^1_%JMP* RNNEXT_^1_%EJT_]_^1*_]_^1*_$CKEOL,COMMA AND COMMM - RECURSIVE - ROOT_^1*_]_^1*_$CKEOL_^1*_]_^1*_$IF NEXT CHAR IS EOL, EXIT TRUE_^1*_$OTHERWISE CALL BADPRX IN 94_^1*_]_^1CKEOL EQU CKEOL(*)_^1_%RTRT EOL_^1_%RTJ DOOR_^1_%RTOV 94,BADPRX_^1_%JMP RET_^1*_]_^1*_$COMMA_^€€1*_]_^1*_$EXIT FALSE IF NEXT CHAR NOT COMMA_^1*_]_^1_%RTJ CLI_^1_%NUM 01_^1_%ALF 01,,_^1_%RTRT CST_^1_%JMP RET_^1*_]_^1*_$COMMM_^1*_]_^1*_$IF NEXT NOT COMMA, CALL BADPRX IN 94_^1*_]_^1COMMM EQU COMMM(*)_^1_%RTRT COMMA_^1_%RTJ DOOR_^1_%RTOV 94,BADPRX_^1_%JMP RET_^1*_]_^1*_$REL - RECURSIVE - REL PROCESSOR_^1*_]_^1REL_"EQU REL(*)_^1_%RAO RLSFLG_5SET RELEASE FLAG_^1_%JMP RE€€T_^1_%EJT_]_^1*_]_^1*_$GET/FREE PRINT BUFFER ROUTINES_^1*_]_^1*_$GETPB - NON-RECURSIVE_^1*_]_^1*_$CALLED VIA RTJ GETPB_^1*_]_^1*_$ON ENTRY_^1*_]_^1*_$I = ADDR JOB TABLE FOR DATA STREAM_^1*_]_^1*_$ON EXIT_^1*_]_^1*_$Q AND I UNCHANGED_^1*_$A = ADDR AVAILABLE PRINT BFR_^1*_$BIT 5 IN FLAGS OF JOB TABLE SET IF NO MORE PRINT BUFFERS_^1*_*(THIS WAS THE LAST)._^1*_*CALLER MUST CHECK THIS B€€IT BOFORE CALLING GETPB_^1*_]_^1GETPB EQU GETPB(*)_^1_%NUM 0_^1*_]_^1*_$SAVE Q_^1*_]_^1_%STQ* QSAVE_6SAVE Q_^1*************DEBUG ONLY_^1_%RTJ TRACE_^1*_]_^1*_$GET ADDR NEXT PRINT BFR AND ITS LINK TO THE NEXT_^1*_$IF LINK IS 0, THIS IS THE LAST_^1*_*SET NO MORE PRINT BUFFERS BIT IN FLAGS_^1*_*SET TOP OF THREAD = 0_^1*_$ELSE, SET TOP OF THREAD = NEXT AVAILABLE_^1*_$RETURN ADDRESS€€ OF PRINT BUFFER TO CALLER_^1*_]_^1_%LDQ- JPBFRE,I_3Q=PRINT BUFFER ADDR_^1_%LDA- (ZERO),Q_3A=ADDR NEXT AVAILABLE_^1_%SAN GTPB10_5SKIP IF CURRENT NOT LAST_^1_%LDA- JFLAGS,I_3SET FLAG TO INDICATE_^1_%EOR- ONEBIT+5_3NO MORE PRINT BFRS_^1_%STA- JFLAGS,I_^1_%ENA 0_:THREAD=0_^1GTPB10 EQU GTPB10(*)_^1_%STA- JPBFRE,I_3SET THREAD TO NEW NEXT_^1*_]_^1*_$INITIALIZE CARRIAGE CONTROL IN BFR_€€^1*_$BLANK FILL REST OF BFR_^1*_]_^1_%LDA- $FF_8SAVE JOB TABLE ADDRESS_^1_'STA*_$ISAVE_^1_%LDA- JFLAGS,I_3GET FLAGS_^1_%AND- ONEBIT+2_3CHRPR SET_^1_'SAZ GTPB12_5SKIP IF NOT_^1_%ENA -2_9YES, BFR LEN 2 WORDS SHORTER_^1GTPB12 EQU GTPB12(*)_^1_%STQ- $FF_8I = BFR START_^1_'TRA Q_:Q = END ADJUST OR 0_^1_%LDA =N$1B00_4SET UP CARRIAGE CONTROL B4 DATA_^1_%STA- 2,I_^1_%STA- 3,I_^1_%STA- 7€€2,B_7SET UP CARRIAGE CONTROL AT END_^1_%STA- 73,B_^1_%LDA =N$1B40_4LAST THING = CLEAR CONTROL_^1_%STA- 74,B_^1_%INQ 67_9Q = COUNT/POINTER NWORDS-1_^1_%LDA =N$2020_4A = BLANKS_^1GTPB20 EQU GTPB20(*)_^1_%STA- 4,B_8BLANK WORD_^1_'INQ -1_9DECR COUNT/POINTER_^1_%SQM GTPB25_5SKIP IF DONE_^1_%JMP* GTPB20_5ELSE REPEAT LOOP_^1GTPB25 EQU GTPB25(*)_^1_%LDA- $FF_8A = BFR ADDR_^1_%LDQ* IS€€AVE_6RESTORE I_^1_%STQ- $FF_^1*_]_^1*_$RESTORE Q AND RETURN_^1*_]_^1_'LDQ* QSAVE_5RTESTORE Q_^1*************DEBUG ONLY_^1_%RTJ TRACE_^1_%JMP* (GETPB)_4RETURN TO CALLER_^1*_]_^1*_$FREEPB - NON-RECURSIVE_^1*_]_^1*_$CALLED VIA RTJ FREEPB_^1*_]_^1*_$ON ENTRY_^1*_]_^1*_$I = ADDR JOB TABLE FOR DATA STREAM_^1*_$BIT 5 OF FLAGS IS SET IF NO PRINT BFRS CURRENTLY AVAILABLE_^1*_]_^1*_$ON EXIT€€_^1*_]_^1*_$CURRENT PRINT BUFFER FOR THAT DATA STREAM IS ADDED TO THE TOP_^1*_$OF THE CHAIN OF FREE PRINT BUFFERS FOR THAT DATA STREAM_^1*_$FLAG FOR NO AVAILABLE PRINT BUFFERS IS CLEARES_^1*_$TP01 IS SCHEDUALED IF NEEDED_^1*_$Q AND I ARE UNCHANGED_^1*_]_^1*_]_^1*_$SAVE Q_^1*_]_^1FREEPB EQU FREEPB(*)_^1_%NUM 0_^1_%STQ* QSAVE_6SAVE Q_^1*************DEBUG ONLY_^1_%RTJ TRACE_^1*_]_^€€1*_$GET ADDR CURRENT PRINT BFR AND OLD TOP OF CHAIN_^1*_$SET NEW = TOP OF CHAIN_^1*_$SET OLD TOP AS LINK IN NEW_^1*_$CHECK FLAGS FOR NO PBFRS_^1*_*IF SET, CLEAR AND SCHEDULE TP01_^1*_]_^1_%LDQ- JIOBUF,I_3GET BUFFER ADDRESS FROM IOPKT_^1_%INQ -2_9ADJUST TO START_^1_%LDA- JPBFRE,I_3GET ADDR CURRENT HEAD OF CHAIN_^1_%STQ- JPBFRE,I_3SET NEW TO CURRENT HEAD OF CHN_^1_%STA- (ZERO),Q_3SE€€T OLD HEAD TO NEW BFR'S LINK_^1_%LDA- JFLAGS,I_3GET FLAGS_^1_%AND- ONEBIT+5_3CHECK NO PBFR FLAG_^1_%SAZ FRPB10_'SKIP IF NOT SET_^1_%LDA- JFLAGS,I_3GET FLAGS_^1_%AND- ZROBIT+5_3CLEAR NO PBFR BIT_^1_%STA- JFLAGS,I_^1_%LDA TP01RX_5GET TP01 REL ADDR_^1_%ADD =XTP01RX-FRESCH-1_*MAKE REL TO PKT START_^1_%AND- ZROBIT+15_2CLEAR BIT 15 JUST IN CASE_^1_%STA* FRESCH+2_3STORE REL ADDR IN SCH€€D PKT_^1FRESCH SCHDLE FRESCH-*+1,3,X_^1*_]_^1*_$RESTORE Q AND RETURN TO CALLER_^1*_]_^1FRPB10 EQU FRPB10(*)_^1_%LDQ* QSAVE_6RESTORE Q_^1_%JMP* (FREEPB)_3RETURN TO CALLER_^1*_]_^1*_$DATA AREA FOR GET/FREE PB_^1*_]_^1ISAVE NUM 0_^1QSAVE NUM 0_:SAVE CELL FOR Q_^1TP01RX ADC* TP01_^1_%EJT_]_^1*_]_^1*_$S T A B - STORE TABLE_^1*_]_^1STAB_!NUM 0_^1_%STQ* LBTQ_^1_%ENQ 1_^1_%STQ* TABF€€G_(SET TABLE FLAG TO WRITE_^1_%LDQ* STAB_^1_%STQ* LTAB_^1_%JMP* LTABE_^1TABFG NUM 0_^1*_]_^1*_$L T A B - LOAD TABLE_^1*_]_^1*_*A = BUFFER ADDRESS_^1*_]_^1LTAB_"NUM 0_^1_%STQ* LBTQ_^1_%ENQ 0_^1_%STQ* TABFG_^1LTABE STA* LTAIO+6_%SAVE BUFFER ADDRESS_^1_%LDQ- I_:SAVE I_^1_%STQ* LBTISV_^1_%LDA* (LTAB)_^1_%STA* LTC2_)SAVE FIRST TWO BYTES_^1_%ENQ TABSI_^1_%RAO* LTAB_^1LTABB LDA* LTC€€2_^1_%EOR* CTAB,Q_^1_%SAZ LTA01_^1LTA11 INQ -2_^1_%SQM LTA02_^1_%JMP* LTABB_^1LTA02 ENA 0_^1LTAX_!RAO* LTAB_)EXIT_^1_%LDQ* LBTISV_5RESTORE I_^1_%STQ- I_^1_%LDQ* LBTQ_7RESTORE Q_^1_%JMP* (LTAB)_^1LBTISV NUM_!0_:SAVE 2_^1LBTQ_!NUM 0_^1LTA01 LDA* (LTAB)_^1_%EOR* CTAB+1,Q_^1_%SAZ LTA03_^1_%JMP* LTA11_^1LTA03 QRS 1_^1_%TRQ A_^1_%ADD TABLIB_^1_%STA* LTASEC_^1_%RTJ* LTACG_^1L€€TACG NUM 0_^1_%LDA* LTACG_^1_%ADD =XLTACOM-LTACG_^1_%STA* LTAIO+2_%SET ABSOLUTE COMPLETION ADDRESS_^1_%LDA* TABFG_^1_%SAZ TA01_^1_%LDA =N$0C03_%WRITE_^1_%JMP* TA02_^1TA01_!LDA =N$0803_%READ_^1TA02_!STA* LTAIO+1_^1LTAIO FREAD $C2,0,0,96,B,0,3,I,0_^1_%NUM 0_^1LTASEC NUM 0_^1_%JMP- (ADISP)_^1LTACOM ENA 1_^1_%JMP* LTAX_^1LTC2_!NUM 0_^1SFFF_!NUM $7FFF_^1*_]_^1*_$CONVERSION T€€ABLES_^1*_]_^1CTAB_!EQU CTAB(*)_%TABLE DIRECTORY_^1_%ALF 2,JB01_^1_%ALF 2,JB02_^1_%ALF 2,TCAA_^1_%ALF 2,TCAE_^1_%ALF 2,TCEA_^1_%ALF 2,TC01_^1_%ALF 2,TC02_^1_%ALF 2,TC03_^1_%ALF 2,CCAS_^1_%ALF 2,CCML_^1_%ALF 2,CCCD_^1_%ALF 2,CC01_^1_%ALF 2,CC02_^1_%ALF 2,CC03_^1_%ALF 2,PTFO_^1_%ALF 2,XXFO_^1_%ALF 2,PTAS_^1_%ALF 2,XXAS_^1_%ALF 2,PTAN_^1_%ALF 2,XXAN_^1_%ALF 2,PTH€€N_^1_%ALF 2,XXHN_^1_%ALF 2,PT01_^1_%ALF 2,XX01_^1_%ALF 2,PT02_^1_%ALF 2,XX02_^1_%ALF 2,PT03_^1_%ALF 2,XX03_^1ENDTAB EQU ENDTAB(*)_^1TABSI EQU TABSI(ENDTAB-CTAB-2) OFFSET TO LAST TABLE ENTRY_^1ADISP EQU ADISP($EA)_^1LPMASK EQU LPMASK($2)_^1NZERO EQU NZERO($12)_^1ZERO_!EQU ZERO($22)_^1ONEBIT EQU ONEBIT($23)_^1ZROBIT EQU ZROBIT($33)_^1OBUF_!EQU OBUF(80)_"OUTPUT BUF€€FER SIZE_^1TMSIZ EQU TMSIZ(40)_"TEMP BUFFER SIZE_^1LISIZ EQU LISIZ(40)_^1VAL_"NUM 0_^1_%EJT_]_^1*_]_^1*_'SUBROUTINE BYTE - NON-RECURSIVE_^1*_]_^1*_'RETURNS NEXT INPUT BYTE IN A_^1*_'MAINTAINS CURRENT CHARACTER OFFSET (IN). BUMPED ON EACH CALL._^1*_'MAINTAINS CURRENT RECORD OFFSET (RBASE). UPDATED WHEN A NEW_^1*_-RECORD IS READ._^1*_'SHIFTS CURRENT RECORD INTO BACKBUF AND READS€€ NEW RECORD INTO_^1*_-INBUF WHEN CURRENT CHARACTER IS IN A NEW RECORD._^1*_'ON NEW RECORD READ, RECORD IN WRITTEN TO THE LIST DEVICE._^1*_'IF A COMMENT RECORD HAS BEEN READ, IT IS ALSO WRITTEN TO THE_^1*_-PUNCH DEVICE AND REPLACED WITH THE NEXT RECORD_^1*_'USES FREAD AND FWRITE MACROS._^1*_]_^1*_]_^1*_$GET BYTE FROM INPUT STREAM_^1*_]_^1BYTE_!NUM 0_^1_%RAO IN_^1_%LDA IN_^1_%SUB €€ RBASE_^1_%SUB =N73_^1_%SAP GETREC_^1_%JMP* INREC_^1GETREC ENQ 39_^1_%LDA- NZERO_(FFFF_^1ZF1_#STA INBUF,Q_^1_%INQ -1_^1_%SQM REED1_^1_%JMP* ZF1_^1REED1 LDA- I_^1_%STA IISAV_^1REED_!FREAD $FD,GCMP-*+1,INBUF-*+5,40,A,0,3,I,X_^1_%JMP- (ADISP)_^1GCMP_!LDA RBASE_^1_%ADD =N72_^1_'STA RBASE_^1_%LDA IISAV_^1_%STA- I_^1INREC_!LDA IN_^1_'SUB RBASE_^1_%TRA Q_^1_%CLR A_^1_%LRS 1_^€€1_'SAZ LOWB_^1_'LDA INBUF,Q_^1_%ARS 8_^1_%JMP* BYOT_^1LOWB_!LDA INBUF-1,Q_^1BYOT_!AND- LPMASK+8_^1_%JMP* (BYTE)_^1RBASE NUM -72_^1INBUF BZS INBUF(40)_^1LUP_"EQU LUP(*)_^1_%LDA- $FA_^1_%JMP* LUOT_^1LU4_"EQU LU4(*)_^1_%ENA 4_^1LUOT_!STA OTLU_^1_%JMP RET_^1*_]_^1*_-LOAD OVERLAY_^1*_]_^1LOVER NUM 0_^1_%SAN LOV1_^1_%JMP* ELOVA_^1LOV1_!EQU LOV1(*)_^1_%EOR OLAY_^1_%SAN LO€€V2_^1_%JMP* ELOVA_^1LOV2_!EOR OLAY_^1_%STA OLAY_^1_%LDA =XBASE-START_^1_%CLR Q_^1_%DVI =N96_^1_%ADD LIBSEC_^1_%ADD* OLAY_^1_%INA -1_^1_%STA* DSEC_^1_%LDA- I_^1_%STA IISAV_^1LOVD_!FREAD $C2,ELOV-*+1,BASE-*+5,96,B,0,3,I,X_^1_%NUM 0_^1DSEC_!NUM 0_^1_%JMP- (ADISP)_^1ELOV_!LDA IISAV_^1_%STA- I_^1ELOVA JMP* (LOVER)_^1OLAY_!NUM 0_^1TOLAY NUM 0_^1*_]_^1*_$PROCESS OR_^1*_]_^€€1DOOR_!NUM 0_^1_%LDA TRUE_^1_%SAZ 2_^1_%JMP RET_^1_%RAO TRUE_^1_%JMP (DOOR)_^1*_]_^1*_$EOL_]_^1*_]_^1EOL_"RTJ BYTE_^1_%EOR LPMASK+8_-00FF_^1_%SAZ ZEOL_^1_%ENA 0_^1_%STA TRUE_^1ZEOL_!JMP RET_^1*_]_^1*_'SUBROUTINE FALSE - RECURSIVE_^1*_]_^1*_'CLEARS TRUE (FORCES FALSE)_^1*_]_^1FALSE EQU FALSE(*)_^1_%ENA 0_^1_%STA TRUE_^1_%JMP RET_^1*_]_^1*_'SUBROUTINE HX - RECURSIVE_€€^1*_]_^1*_'EXTRACT HEXIDECIMAL INPUT FROM INPUT BUFFER_^1*_'IGNORE LEADING, EMBEDDED, TRAILING BLANKS_^1*_'IF NEXT CHARACTER IS NON-HEX, RETURN FALSE_^1*_'SCAN UP TO 1ST NON-HEX_^1*_-PLACE CHARACTERS INTO LI OR OS_^1*_-ACCUMULATE BINARY EQUIVALENT IN A AND VAL_^1*_-DO NOT RESET FALSE FROM SLI_^1*_'CALLS CLEAR BYTE AND SLI_^1*_]_^1HX_#EQU HX(*)_^1_%RTJ CLEAR CLEAR LI_^1_%ENA 0_^€€1_%STA* ZHXF CLEAR FLAG_^1_%STA* ZHXAC_^1ZHX5_!RTJ BYTE_^1_%STA* ZHXSV_^1_%SUB =N$20_^1_%SAN ZHX1_^1_%JMP* ZHX5_^1ZHX1_!SUB =N$10_^1_%SAP ZHX3_^1_%JMP* ZHXEX_^1ZHX3_!SUB =N$A_^1_%SAP ZHX2_^1_%JMP* ZHX_^1ZHX2_!SUB =N$7_^1_%SAP ZHX4_^1_%JMP* ZHXEX_^1ZHX4_!SUB =N$6_^1_%SAP ZHXEX_^1_%JMP* ZHX_^1ZHXEX LDA* ZHXF_^1_%SAN ZHX6_^1_%STA TRUE_^1_%JMP RET_^1ZHX6_!LDA* €€ZHXAC_^1_%STA VAL_^1_%JMP* ZBACK_^1ZHX_"LDA* ZHXAC_^1_%ALS 4_^1_%STA* ZHXAC_^1_%LDA* ZHXSV_^1_%RTJ SLI_^1_%LDA* ZHXSV_^1_%SUB =N$3A_^1_%SAP ZHAN_^1_%INA $A_^1_%JMP* ZHALL_^1ZHAN_!INA 3_^1ZHALL EOR* ZHXAC_^1_%STA* ZHXAC_^1_%RAO* ZHXF_^1_%JMP* ZHX5_^1ZHXF_!NUM 0_^1ZHXAC NUM 0_^1ZHXSV NUM 0_^1*_]_^1*_'SUBROUTINE NM - RECURSIVE_^1*_]_^1*_'EXTRACT DECIMAL NUMBER F€€ROM INPUT_^1*_'RETURN FALSE IF NEXT CHAR NON-BLANK, NON-NUMERIC_^1*_'IGNORE LEADING,EMBEDDED,TRAILING BLANKS_^1*_'SCAN UP TO NEXT NON-NUMERIC CHARACTER_^1*_-PUT CHARACTERS INTO LI OREOS AND BINARY INTO A AND VAL_^1*_-DO NOT RESET FALSE FROM SLI_^1*_'CALLS CLEAR BYTE AND SLI_^1*_]_^1NM_!EQU NM(*)_^1_%RTJ CLEAR CLEAR LI_^1_%ENA 0_^1_%STA* ZNMF CLEAR FLAG_^1_%STA* ZNMT CLEAR €€ACC_^1ZNM5_!RTJ BYTE_^1_%STA* ZNM4_^1_%SUB =N$20_^1_%SAN ZNM1_!IS IT BLANK_^1_%LDA* ZNMF_^1_%SAN ZNC1_(IS IT A LEADING BLANK ?_^1_%JMP* ZNM5 YES, TRY AGAIN_^1ZNC1_!RAO IN_+NO, TERMINATE_^1_%JMP* ZNM3_^1ZNM1_!SUB =N$10_^1_%SAM ZNMEX NON-NUMERIC_^1_%SUB =N$A_^1_%SAP_!ZNMEX_^1_%JMP* ZNM2_^1ZNMEX LDA* ZNMF_^1_%SAN ZNM3_!FIRST CHAR_^1_%STA TRUE_!YES, SET FALSE_^1_%JMP €€RET_^1ZNM3_!LDA* ZNMT NO, TERMINATE INPUT_^1_%STA VAL_"SET VALUE_^1ZBACK LDA IN_^1_%INA -1_^1_%STA IN_^1_%JMP RET_^1ZNM2_!LDA* ZNMT_^1_%MUI =N10_^1_%STA* ZNMT_^1_%LDA* ZNM4_^1_%RTJ SLI_^1_%LDA* ZNM4_^1_%AND- LPMASK+4_^1_%ADD* ZNMT_^1_%STA* ZNMT_^1_%RAO* ZNMF_^1_%JMP* ZNM5_^1ZNM4_!NUM 0_^1ZNMF_!NUM 0_^1ZNMT_!NUM 0_^1*_]_^1*_'SUBROUTINE CSTBY - RECURSIVE_^1*_]_^€€1*_'GETS A BYTE FROM TPST_^1*_'ON ENTRY - A IS BYTE OFFSET_^1*_'ON EXIT - A CONTAINS THE BYTE_^1*_]_^1CSTBY NUM 0_^1_%TRA Q_^1_%CLR A_^1_%LRS 1_^1_%SAZ ZCS1_^1_%LDA TPST,Q_^1_%ARS 8_^1ZCEX_!AND- LPMASK+8_^1_%JMP* (CSTBY)_^1ZCS1_!LDA TPST-1,Q_^1_%JMP* ZCEX_^1TRUE_!NUM 1_^1LI_!ALF 20,_^1IN_#NUM 0_^1LIL_"NUM 0_^1OS_#ALF 20,_^1_%ALF 20,_^1OSIZ_!NUM 0_^1*_]_^1*_'SUBRO€€UTINE SLI - NON-RECURSIVE_^1*_]_^1*_'STORE BYTE IN A INTO LI OR OS (DEPENDING ON OUTPUT FLAG)_^1*_'EXITS TO FALSE IF LI OR OS EXCEED THEIR CAPACITIES_^1*_'MAINTAIN OUTPUT CHARACTER OFFSET (LIL OR OSIZ)_^1*_'ON ENTRY, A CONTAINS THE BYTE TO BE STORED_^1*_]_^1SLI_"NUM 0_^1_%AND- LPMASK+8_"00FF_^1_%STA SLIT_^1_%LDA OFLAG_^1_%SAN ZSL_^1_%JMP* NOO_^1ZSL_"RAO OSIZ_^1_%LDA OSIZ_^1_%€€SUB =XOBUF+1_^1_%SAM SLOK_^1_%JMP FALSE_^1SLOK_!LDA =XOS-LI_^1_%ALS 1_^1_%ADD OSIZ_^1_%TRA Q_^1_%JMP* SLON_^1NOO_"RAO_!LIL_^1_%LDA LIL_^1_%SUB =XLISIZ+1_^1_%SAM LIOK_^1_%JMP FALSE_^1LIOK_!LDQ_!LIL_^1SLON_!CLR A_^1_%LRS 1_^1_%SAZ SILB_^1_%LDA SLIT_!HIGH BYTE_^1_%ALS 8_^1_%STA SLIT_^1_%LDA LI,Q_^1_%AND- LPMASK+8_^1_%EOR SLIT_^1_%STA LI,Q_^1_%JMP* (SLI)_^1SILB_!LDA LI-€€1,Q_^1_%AND- NZERO+8_^1_%EOR SLIT_^1_%STA LI-1,Q_^1_%JMP* (SLI)_^1SLIT_!NUM 0_^1*_]_^1*_'SUBROUTINE CST - RECURSIVE_^1*_]_^1*_'COMPARE A STRING OF INPUT CHARACTERS WITH THE STRING IN_^1*_-THE TEMPORARY BUFFER(TPST)._^1*_'RETURN FALSE IF NOT EQUAL, BYTE FOR BYTE._^1*_'LEADING BLANKS IN THE INPUT ARE IGNORED_^1*_'COMPARISON IS DONE FOR THE NUMBER OF BYTES IN TPST_^1*_'CALLS BYTE.€€_^1*_]_^1_%EQU CST(*)_^1_%ENA 1_^1_%STA* CSTC2_^1CSTB_!RTJ BYTE_^1_%SUB =N$20_^1_%SAN CSTON_^1_%JMP* CSTB_^1CSTON ADD =N$20_^1CSTON2 STA* CSTC1_^1_%LDA* CSTC2_^1_%RTJ CSTBY_^1CSTT_!EOR* CSTC1_^1_%SAZ MATCH_^1_%CLR A_!ERROR_^1_%STA TRUE_^1_%JMP RET_^1MATCH RAO* CSTC2_^1_%LDA TPSTN_^1_%SUB* CSTC2_^1_%SAM GEND_^1_%RTJ BYTE_^1_%JMP* CSTON2_^1GEND_!JMP RET_^1CSTC1 NUM 0_^1CSTC2 €€ NUM 0_^1*_]_^1*_'SUBROUTINE ST - RECURSIVE_^1*_]_^1*_'PLACE STRING OF CHARS BETWEEN PRIMES (') IN LI OR OS_^1*_'RETURN FALSE IF NEXT NON-BLANK CHARACTER IN INPUT IS NOT PRIME_^1*_'SCANS UNTILL CLOSING PRIME IS ENCOUNTERED_^1*_'DOES NOT RESET FALSE FROM SLI_^1*_'CALLS CLEAR, BYTE AND SLI._^1*_]_^1_%EQU ST(*)_^1_%RTJ CLEAR_^1_%RTJ BYTE_^1_%SUB =N$20_^1_%SAN STPR_^1_%JMP* ST_^1STPR€€_!SUB =N$07_^1_%SAZ STOK_^1_%CLR A_^1_%STA TRUE_^1_%JMP RET_^1STOK_!RTJ BYTE_^1_%SUB =N$27_^1_%SAZ STND_^1_%ADD =N$27_^1_%RTJ SLI_^1_%JMP* STOK_^1STND_!JMP RET_^1*_]_^1*_'SUBROUTINE CLI - NON-RECURSIVE_^1*_]_^1*_$MOVE LENGTH IN BYTES (INLINE) TO TPSTN_^1*_$MOVE N BYTES INLINE TO TPST_^1*_-ODD, BLANK PAD LAST WORD._^1*_'RETURN TO NEXT INSTRUCTION AFTER THE DATA_^1*_]_^1CLI_"NUM €€0_^1_%LDQ* (CLI)_^1_%STQ TPSTN_^1_%INQ 1_^1_%CLR A_^1_%LRS 1_^1_%RAO* CLI_^1_%INQ -1_^1CLIB_!LDA (CLI),Q_^1_%STA TPST,Q_^1_%INQ -1_^1_%SQM CLION_^1_%JMP* CLIB_^1CLION LDQ TPSTN_^1_%CLR A_^1_%LRS 1_^1_%SAN CLIM_^1CLIOUT LDA TPSTN_^1_%INA 1_^1_%ARS 1_^1_%ADD CLI_^1_%STA* CLI_^1_%JMP* (CLI)_^1CLIM_!LDA (CLI),Q_^1_%AND- NZERO+8_^1_%EOR =N$20_^1_%STA TPST,Q_^1_%JMP*€€ CLIOUT_^1TPST_!ALF 20,_^1TPSTN NUM 0_^1*_]_^1*_'SUBROUTINE ID - RECURSIVE_^1*_]_^1*_'MOVE STRING OF ALPHA-NUMERIC CHARACTERS INTO LI OR OS FROM_^1*_-THE INPUT BUFFER_^1*_'IGNORE LEADING BLANKS._^1*_'RETURN FALSE IF 1ST NON-BLANK ISN'T ALPHA NUMERIC._^1*_'TERMINATE ON NON-ALPHA NUMERIC CHARACTER._^1*_'DOES NOT RESET FALSE FROM SLI._^1*_'CALLS CLEAR,BYTE AND SLI._^1*_]_^1_%EQU I€€D(*)_^1_%RTJ CLEAR_^1_%CLR A_^1_%STA* IDFG_^1_%STA LIL_^1IDBK_!RTJ BYTE_^1_%STA* IDT_^1_%SUB =N$20_^1_%SAN NBLK_^1_%JMP* IDBK_^1NBLK_!LDA* IDT_^1_%SUB =N$30_^1_%SAM IDER_^1_%SUB =N$A_^1_%SAM IDOK_^1_%SUB =N$7_^1_%SAM IDER_^1_%SUB =N$1A_^1_%SAM IDOK_^1IDER_!LDQ IDFG_^1_%SQN IDEX_^1_%CLR A_^1_%STA TRUE_^1_%JMP* IDEX_^1IDOK_!RAO* IDFG_^1_%LDA* IDT_^1_%RTJ SLI_^1_%€€RTJ BYTE_^1_%STA* IDT_^1_%SUB =N$20_^1_%JMP* NBLK_^1IDEX_!LDA IN_^1_%INA -1_^1_%STA IN_^1_%JMP RET_^1IDFG_!NUM 0_^1IDT_"NUM 0_^1*_]_^1*_'ROUTINE RECUR_^1*_]_^1*_'MAKES RECURSIVE CALLS (SEE RET)_^1*_'OTHERWISE SAVE CALLER'S ADDRESS AND CURRENT INPUT POINTER ON_^1*_-STACK AND JUMP TO ROUTINE WHOSE ADDRESS WAS PASSED_^1*_-IN THE CALLING SEQUENCE_^1*_'IF CURRENT STATE IS FALSE,€€ RETURN DIRECTLY TO CALLING_^1*_-ROUTINE (DO NOT MAKE RECURSIVE CALL)._^1*_]_^1RECUR NUM 0_^1_%RTJ* REC01_^1REC01_!NUM 0_^1_%LDA* (RECUR)_^1_%SAP REC02_%IS IT A ROOT REFERENCE_^1_%ALS 1_^1_%ARS 1_'EXTEND SIGN BIT_^1_%ADD* RECUR_^1_%STA EXIT_^1_%ENA 0_^1_%STA TOLAY_^1_%JMP* REC03_^1REC02 ALS 8_)OVERLAY REFERENCE_^1_%ARS 8_)EXTEND SIGN BIT_^1_%ADD* REC01_^1_%ADD =XBASE-R€€EC01_^1_%STA EXIT_^1_%LDA* (RECUR)_^1_%ARS 8_^1_%AND- LPMASK+7_^1_%STA* RECT_)ADJUST OVERLAY NUMBER_^1_%SUB LOLIM_(ACCORDING TO LOLIM AND HILIM_^1_%INA -1_^1_%SAP REC04_^1_%LDA* RECT_^1_%JMP* REC05_^1REC04 LDA* RECT_^1_%SUB HILIM_^1_%ADD LOLIM_^1_%INA 1_^1REC05 EQU REC05(*)_^1_%STA TOLAY_^1REC03 RAO* RECUR_^1_%LDA TRUE_^1_%SAN PUSH_^1_%JMP* (RECUR)_^1PUSH_!LDA IN_^1€€_%LDQ STACKP_^1_%STA* STACK,Q_^1_%LDA* RECUR_^1_%STA* STACK+1,Q_^1_%LDA OLAY_^1_%STA* STACK+2,Q_^1_%LDA TOLAY_^1_%RTJ LOVER_%OVERLAY LOAD_^1_%RAO* STACKP_^1_%RAO* STACKP_^1_%RAO* STACKP_^1_%JMP (EXIT)_^1RECT_!NUM 0_^1STACK BZS STACK(100)_^1STACKP NUM 0_^1*_]_^1*_'ROUTINE RET_^1*_]_^1*_'EXIT POINT FOR RECURSIVELY CALLED ROUTINES (SEE RECUR)_^1*_'IF STACK IS EMPTY, EXIT TO €€DISPATCHER_^1*_'OTHERWISE BACK STACK POINTER UP 2_^1*_'IF CURRENT STATE IS FALSE, RESET INPUT POINTER TO VALUE SAVED_^1*_-ON STACK_^1*_'EXIT TO SAVED RETURN ADDRESS._^1*_]_^1RET_"LDQ* STACKP_^1_%SQZ DONE_^1_%JMP* RETOK_^1DONE_!JMP- (ADISP)_^1RETOK INQ -3_^1_%STQ* STACKP_^1_%LDA TRUE_^1_%SAN NOTT_^1_%LDA STACK,Q_^1_%STA IN_^1NOTT_!LDA STACK+1,Q_^1_%STA* EXIT_^1_%LDA* STAC€€K+2,Q_^1_%RTJ LOVER_%LOADOVERLAY_^1_%JMP* (EXIT)_^1EXIT_!NUM 0_^1*_]_^1*_'SUBROUTINE CLEAR - NON-RECURSIVE_^1*_]_^1*_'CLEAR LINE BUFFER_^1*_'SET LIL TO 0 AND STORE BLANKS INTO LI_^1*_]_^1CLEAR NUM 0_^1_%ENQ 0_^1_%STQ LIL_^1_$ENQ 19_^1_%LDA =N$2020_^1AGN_"STA LI,Q_^1_%INQ -1_^1_%SQM CLX_^1_%JMP* AGN_^1CLX_"JMP* (CLEAR)_^1*_]_^1*_'SUBROUTINE PLI - RECURSIVE_^1*_]_^1*_'SET€€ UP TO OUTPUT CONTENTS OF LI_^1*_'MOVE CONTENTS OF LI TO TPST_^1*_'MOVE 20 WORDS FROM LI TO TPST AND SET TPSTN = LENGTH OF LI_^1*_'GO TO ZMVP_^1PLI_"EQU_!PLI(*)_^1_$ENQ 19_^1ZOS1_!LDA LI,Q_^1_%STA TPST,Q_^1_%INQ -1_^1_%SQM ZOS2_^1_%JMP* ZOS1_^1ZOS2_!LDA LIL_^1_%STA TPSTN_^1*_]_^1*_]_^1*_'SUBROUTINE ZMVP - RECURSIVE_^1*_]_^1*_'SET UP TO OUTPUT CONTENTS OF TPST_^1*_'MOVE CONT€€ENTS OF TPST INTO OS BUFFER AND RESET OFLAG SO_^1*_-ANY MORE STORES GO INTO LI._^1*_'CALLS CSTBY AND SLI_^1*_]_^1ZMVP_!EQU ZMVP(*)_^1_%ENQ 1_^1_%STQ OFLAG_^1_%ENQ 0_^1_%STQ ZM1_^1ZMBK_!LDA* ZM1_^1_%INA 1_^1_%RTJ CSTBY_^1_%RTJ SLI_^1_%RAO* ZM1_^1_%LDA TPSTN_^1_%SUB* ZM1_^1_%SAZ ZMA2_^1_%JMP* ZMBK_^1ZMA2_!STA OFLAG_^1_%JMP RET_^1ZM1_"NUM 0_^1OFLAG NUM 0_^1*_]_^1*_'€€SUBROUTINE OUTPUT - RECURSIVE_^1*_]_^1*_'OUTPUTS THE CONTENTS OF OS_^1*_'SETS OS TO ALL BLANKS_^1*_'CLEARS OSIZE_^1*_'USES FWRITE MACRO_^1*_]_^1OUTPUT EQU OUTPUT(*)_^1_%ENA 1_^1_%STA OFLAG_^1_%ENA 13_^1_%RTJ SLI_^1_%ENA 10_^1_%RTJ SLI_^1_%ENA 0_^1_%STA OFLAG_^1PUT_"EQU PUT(*)_^1_%LDA OSIZ_^1_%INA 1_^1_%ARS 1_^1_%STA* OUTPT+5_^1_%LDA- I_^1_%STA IISAV_^1OUTPT FWRITE O€€TLU-*+3,OUTCOM-*+1,OS-*+5,40,A,0,3,R,X_^1_%JMP- (ADISP)_^1OUTCOM ENQ 39_^1_%LDA IISAV_^1_%STA- I_^1_%LDA =N$2020_^1OUTBK STA OS,Q_^1_%INQ -1_^1_%SQM OUTEX_^1_%JMP* OUTBK_^1OUTEX ENA 0_^1_%STA OSIZ_^1_%JMP RET_^1OTLU_!NUM 4_^1*_]_^1*_'SUBROUTINE PLIL - RECURSIVE_^1*_]_^1*_'SUBROUTINE NXTREC - RECURSIVE_^1*_]_^1*_'RESETS INPUT POINTERS TO NEW LOGICAL RECORD_^1*_'CLEARS €€CURRENT CHARACTER POINTER (IN=0) SO NEXT CHARACTER IS_^1*_-1ST CHAR IN INBUF_^1*_'RBASE IS SET TO -72 TO FORCE A READ WHEN THE NEXT INPUT_^1*_-CHARACTER IS RETRIEVED_^1*_]_^1NXTREC EQU NXTREC(*)_^1_%LDA =N-72_^1_%STA RBASE_^1_%ENA 0_^1_%STA IN_^1_%JMP RET_^1*_]_^1*_$IS NEXT CHATACTER A COMMA_^1*_]_^1COMMA RTJ BYTE_^1_%EOR- ONEBIT+5_$IS IT BLANK_^1_%SAN COMMN_^1_%JMP* COMMA€€_^1COMMN EOR- ONEBIT+5_^1_%EOR =N$2C_^1_%SAN NCOM_^1_%JMP RET_^1NCOM_!JMP FALSE_^1*_]_^1*_$GO TO_^1*_]_^1GO_#NUM 0_^1_%LDA* (GO)_^1_%STA* GOTT_^1_%RAO* GO_^1_%LDQ TRUE_^1_%SQN GO1_^1_%JMP* (GO)_$CONDITION FALSE_^1GO1_"SAP GO2_+IS IT A ROOT MODULE_^1_%ALS 1_,YES_^1_%ARS 1_)EXTEND SIGN BIT_^1_%ADD* GO_^1_%INA -1_+ABSOLUTIZE IT_^1_%STA* GOTT_^1_%JMP* (GOTT)_^1GO2_"ARS 8_,€€OVERLAY MODULE_^1_%AND- LPMASK+7_^1_%STA* GOTT1_(SAVE OVERLAY NUMBER_^1_%LDA* GOTT_^1_%ALS 8_^1_%ARS 8_,EXTEND SIGN BIT_^1_%ADD REC01_^1_%ADD =XBASE-REC01_^1_%STA* GOTT_^1_%LDA* GOTT1_^1_%SUB LOLIM_^1_%INA -1_^1_%SAP GOT4_^1_%LDA* GOTT1_^1_%JMP* GOT5_^1GOT4_!LDA* GOTT1_^1_%SUB HILIM_^1_%ADD LOLIM_^1_%INA 1_^1GOT5_!EQU GOT5(*)_^1_%RTJ LOVER_^1_%JMP* (GOTT)_^1GOTT_!NUM 0€€_^1GOTT1 NUM 0_^1IISAV NUM 0_^1_%EQU BAS1(*+13)_^1_%EQU BAS2(BAS1/96)_^1_%EQU BAS3(BAS2+1)_^1_%EQU BAS4(BAS3*96)_^1_%EQU BAS5(BAS4-*)_^1_%EQU BAS6(BAS5-13)_^1_%BZS (BAS6)_^1ITRUE ADC TRUE_^1IRET_!ADC RET_^1IRECUR ADC RECUR_^1IDOOR ADC DOOR_^1ICLI_!ADC CLI_^1IGO_"ADC GO_^1IBYTE ADC BYTE_^1IVAL_!ADC VAL_^1ITMPSV ADC TEMPSV_^1ILIL_!ADC LIL_^1ITPSTN ADC TPSTN_^€€1ICLEAR ADC CLEAR_^1ISLI_!ADC SLI_^1BASE_!EQU BASE(*)_^1BS01_!EQU BS01(0)_^1_%EJT_]_^1*_]_^1*_$TAPE BUFFER GOES AT END OF OVERLAY AREA_^1*_]_^1_%ENT BUFFER_^1BUFFER EQU BUFFER(BASE+96)_^1_%EJT_]_^1*_]_^1*_$OVERLAYS 1-4_%SELECT PROCESSING_^1*_]_^1*_$CHECKS FOR VALID JOBNAME ON SEL COMMAND_^1*_]_^1*_*IF YES, EXIT DIRECTLY TO DSEL2 IN 95_^1*_*IF INVALID, OUTPUT BAD JOBNAME MESSA€€GE AND RETURN_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_]_^1*_*DSEL1_(01_^1*_*JOBNAM_'01_^1*_]_^1*_$CALLS RECURSIVE ROUTINES%_^1*_]_^1*_*CLI_*ROOT VIA ICLI_^1*_*ID_+ROOT_^1*_*DOOR_)ROOT VIA IDOOR_^1*_]_^1*_$EXITS DIRECTLY TO%_^1*_]_^1*_*DSEL2_(95_^1*_*BADBKX_'94_^1*_]_^1_%EJT_]_^1*_]_^1* CHECK FOR VALID ALPHA NUMERIC STRING. FALSE IF NO._^1* CALL ROUTINE TO GET JOB. FALSE IF €€NO SUCH JOB._^1* IF NOT VALID JOBNAME, OUTPUT ERROR MESSAGE._^1*_]_^1DSEL1 EQU DSEL1(*)_^1_%OVRTR ID,01_^1_%OVOVR 01,JOBNAM,01_^1_%OVOVG 95,DSEL2,01_^1_%OVRTJ IDOOR,01_^1_%OVRTJ ICLI,01_^1_%NUM 15_^1_%ALF 08,INVALID JOBNAME_^1_%OVRTR ZMVP,01_^1_%OVRTR OUTPUT,01_^1_%OVRET 01_^1*_]_^1*_$JOBNAM - RECURSIVE_^1*_]_^1*_$VERIFY JOBNAME NON 0 , LESS THAN 4 CHARS_^1*_$EXIT FALSE IF N€€OT VALID LENGTH_^1*_$MOVE JOBNAME TO TEMP SAVE AREA (WORDS 3,4)_^1*_$RETRUN TRUE_^1*_]_^1JOBNAM EQU JOBNAM(*)_^1_%OVLDA ILIL,01_3GET NBR CHARS_^1_%SAZ JOBN05_6SKIP IF 0_^1_%INA -5_9CHECK FOR MAX JBNAM LEN (4)_^1_%SAM_!JOBN10_5SKIP IF LEGAL_^1JOBN05 EQU JOBN05(*)_^1_%OVRTG FALSE,01_^1JOBN10 EQU JOBN10(*)_^1_%LDA LI_9GET 1ST 2 CHARS_^1_%ADDR LI,01_^1_%STA TEMPSV+3_4STORE INTO €€TEMPSV_^1_%ADDR TEMPSV+3,01_^1_%LDA LI+1_8NEXT 2_^1_%ADDR LI+1,01_^1_%STA TEMPSV+4_4STORE IN TENPSV_^1_%ADDR TEMPSV+4,01_^1_%OVRET 01_^1_%EJT_]_^1*_]_^1*_$OVERLAY 02_(SEL COMMAND PROCESSOR, ALWAYS TRUE_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_]_^1*_*SEL_*02_^1*_]_^1*_$CALLS RECURSIVE ROUTINES%_^1*_]_^1*_*CLI_*ROOT VIA ICLI_^1*_*ZMZP_)ROOT_^1*_*OUTPUT_'ROOT_^1*_]_^1*_$EXITS%_^1€€*_]_^1*_*DIRECTLY TO SEL19 IN OVERLAY 3_^1*_*VIA RET_^1*_]_^1_%HEADER 02_^1_%EJT_]_^1*_]_^1*_$SEL - RECURSIVE_^1*_]_^1*_$ROUTINE TO PROCESS SEL COMMAND_^1*_$ON ENTRY, TEMPSV CONTAINS_^1*_]_^1*_*WORD 1_'TAPE UNIT OR 0_^1*_*WORD 2_'PRINTER UNIT OR 0_^1*_*WORDS 3,4_#JOBNAME_^1*_]_^1*_$DATA STREAM SELECTION_^1*_$JOBNAME VERIFICATION AND PROCESSING_^1*_$DATA STREAM SETUP_^1*_$CONVERSION€€ TABLE SETUP_^1*_$SELECTION MESSAGE OUTPUT_^1*_*JOBNAME ERROR_^1*_*DATA STREAM ERROR_^1*_]_^1SEL_"EQU SEL(*)_^1*_]_^1*_$DATA STREAM SELECTION_^1*_]_^1*_$SELECT LOWEST NON-ASSIGNED DATA STREAM AND SAVE NUMBER_^1*_$IF NONE AVAILABLE, ISSUE ERROR MESSAGE AND EXIT_^1*_]_^1_%ENQ 1_:START AT 1_^1SEL02 EQU SEL02(*)_^1_%OVSTQ ITMPSV,02_1SAVE_^1_%LDQ AJOB-1,Q_^1_%ADDR AJOB-1,02_^1_%LDA€€- JFLAGS,Q_3GET FLAGS_^1_%AND- ONEBIT+7_3CHECK ASSIGNED BIT_^1_%SAN SEL03_6SKIP IF NOT AVAILABLE_^1_%JMP* SEL10_7GO ON IF AVAILZBLE_^1SEL03 EQU SEL03(*)_^1_%OVLDQ ITMPSV,02_1GET D.S. NBR_^1_%TRQ A_^1_%SUB =XDSNUM_4CHECK FOR MAX_^1_%SAP SEL04_6OVER MAX, SKIP_^1_%INQ 1_:ELSE INCREMENT_^1_%JMP* SEL02_6AND LOOP_^1SEL04 EQU SEL04(*)_^1_%OVRTJ ICLI,02_^1_%NUM 24_^1_%ALF 12,NO €€AVAILABLE DATA STREAM_^1_%JMP* SELEX_6EXIT_^1*_]_^1*_$READ JOB NAME TABLE RECORD_^1*_$SEARCH FOR MATCH ON JOB NAME_^1*_*NO FIND, ERROR MESSAGE AND EXIT_^1*_$SAVE ORDINAL, CONVERT TO OFFSET, SAVE OFFSET_^1*_*IF IN NEXT RECORD, READ NEXT RECORD_^1*_$LOCATE JOB ENTRY_^1*_]_^1SEL10 EQU SEL10(*)_^1_'LDA AJBNAM_6GET JOB NAME BFR ADDR_^1_'ADDR AJBNAM,02_^1_'RTJ LTAB_8READ 1ST SECTOR_^1_€€%ADDR LTAB,02_^1_%ALF 02,JB01_4JOB TABLE 1ST SECTOR_^1_%LDQ AJBNAM_5GET ADDR JOB TABLE BFR_^1_%ADDR AJBNAM,02_^1_%STQ- $FF_8I = TABLE POINTER_^1_%LDQ =XJBNNUM_4A = NAME COUNT_^1SEL12 EQU SEL12(*)_^1_%LDA- (ZERO),I_3COMPARE 2 CHARS_^1_%SUB TEMPSV+3_^1_%ADDR TEMPSV+3,02_^1_%SAN SEL14_6SKIP NOT EQUAL_^1_%LDA- 1,I_8COMPARE 2 CHARS_^1_%SUB TEMPSV+4_^1_%ADDR TEMPSV+4,02_^1_%SAN €€SEL14_7SKIP IF NOT EQUAL_^1_%JMP* SEL18_7SKIP ON EQUAL NAMES_^1SEL14 EQU SEL14(*)_^1_%INQ -1_9DECR COUNT, GO NEXT_^1_%SQZ SEL16_6GO ERROR IF END_^1_%RAO- $FF_8BUMP PTR_^1_%RAO- $FF_^1_%JMP* SEL12_6LOOP_^1SEL16 EQU SEL16(*)_^1_%OVRTJ ICLI,02_^1_%NUM 15_^1_%ALF 08,INVALID JOBNAME_^1SELEX EQU SELEX(*)_^1_%OVRTR ZMVP,02_^1_%OVRTR OUTPUT,02_^1_%OVRET 02_^1SEL18 EQU SEL18(*)_€€^1_%TCQ A_^1_%INA JBNNUM_^1_%INA -JBNUM1_4CHECK FOR MAX 1ST SECTOR_^1_'SAP SEL19_7SKIP IF 2ND SECTOR_^1*_]_^1*_%SECTOR 1 -- CALC OFFSET AND SAVE_^1*_]_^1_%INA JBNUM1_5RESTORE INDEX_^1_'MUI =XJBDLEN_4A=NBR*LEN=OFFSET_^1_%INA JBNLEN_6ADD LEN FOR NAMES LIST_^1_'STA TEMPSV+6_4SABE OFFSET_^1_%ADDR TEMPSV+6,02_^1_'OVOVG 03,SEL22,02_/GO TO NEXT OVERLAY_^1*_]_^1*_%SECTOR 2_^1*_]_^1SE€€L19_!EQU SEL19(*)_^1_'STA TEMPSV+6_4SAVE INDEX FOR NEXT_^1_%ADDR TEMPSV+6,02_^1_'OVOVG 03,SEL20,02_^1*_]_^1*_$OVERLAY 03_(CONTINUE SEL PROCESSING_^1*_]_^1_%HEADER 03_^1*_]_^1*_%ENTRY FOR SECTOR 2_^1*_]_^1SEL20 EQU SEL20(*)_^1_'LDA AJBNAM_6GET BFR ADDR_^1_%ADDR AJBNAM,03_^1_'RTJ LTAB_8READ 2ND SECTOR_^1_'ADDR LTAB,03_^1_%ALF 02,JB02_4JOB TABLE 2ND SECTOR_^1_'LDA TEMPSV+6_4GET SAV€€ED INDEX_^1_'ADDR TEMPSV+6,03_^1_'MUI =XJBDLEN_4A=INDEX*OFFSET_^1_%JMP* SEL23_7BUPASS SECTOR 1 ENTRY_^1*_]_^1*_%SECTOR 1 ENTRU_^1*_]_^1SEL22 EQU SEL22(*)_^1_'LDA TEMPSV+6_3GET SAVED OFFSET_^1_'ADDR TEMPSV+6,03_^1SEL23_!EQU SEL23(*)_^1_%ADD AJBNAM_5ADD DISK BFR ADDR TO OFFSET_^1_%ADDR AJBNAM,03_^1_%STA TEMPSV+6_3SAVE DISK ADDR_^1_%ADDR TEMPSV+6,03_^1*_]_^1*_$MOVE DATA FROM JOB T€€ABLE TO JOB ENTRY_^1*_$SET ASSIGNED BIT_^1*_$OVERRIDE TAPE/PRINTER UNIT NBRS_^1*_]_^1_%OVLDQ ITMPSV,03_^1_%LDQ AJOB-1,Q_4GET ADD JOB TA LE FOR DS_^1_%ADDR AJOB-1,03_^1_%LDA TEMPSV+3_3MOVE JOBNAM TO JOB TAB ENT_^1_%ADDR TEMPSV+3,03_^1_%STA- (ZERO),Q_^1_%LDA TEMPSV+4_^1_%ADDR TEMPSV+4,03_^1_%STA- 1,Q_^1_%INQ 2_^1_%STQ- $FF_8I = JOB ENTRY IN MEMORY_^1_%LDQ TEMPSV+6_3Q = ADDR JOB E€€NTRY FROM DISK_^1_%ADDR TEMPSV+6,03_^1_%TRQ A_:A = DISK ADDRESS_^1_%ADD =XSEL2A_4CALC END ADDR_^1SEL2A EQU SEL2A(JFLAGS+1-2)_*NBR WORDS TO MOVE_^1_'STA TEMPSV+7_4SAVE END ADDR_^1_'ADDR TEMPSV+7,03_^1SEL24 EQU SEL24(*)_^1_%LDA- (ZERO),Q_^1_%STA- ($FF)_0STORE_^1_%INQ 1_:BUMP_^1_%RAO- $FF_8POINTERS_^1_%TRQ A_:CHECK FOR END_^1_'SUB TEMPSV+7_4CHECK FOR END_^1_'ADDR TEMPSV+7,03_^€€1_%SAZ SEL26_6SKIP IF END_^1_%JMP* SEL24_6ELSE LOOP_^1SEL26 EQU SEL26(*)_^1_%OVLDQ ITMPSV,03_1RESTORE JOB TABLE ADDRESS_^1_%LDQ AJOB-1,Q_4FROM DS NBR AND ADDR TABLE_^1_%ADDR AJOB-1,03_^1_%STQ- $FF_8I = JOB TABLE POINTER_^1_%LDA TEMPSV+1_3TAPE NBR FROM SEL COMMAND_^1_%ADDR TEMPSV+1,03_^1_%SAZ SEL28_7SKIP IF 0_^1_%STA- JTPLU,I_4OVERRIDE_^1SEL28 EQU SEL28(*)_^1_%LDA TEMPSV+2_€€3PRINTER UNIT_^1_%ADDR TEMPSV+2,03_^1_%SAZ SEL30_6SKIP IF 0_^1_%STA- JPRLU,I_4OVERRIDE_^1SEL30 EQU SEL30(*)_^1_%LDA- JFLAGS,I_-GET FLAGSPP_^1_%AND- ONEBIT+8_-CHECK FOR DUMP MODE_^1_%SAZ SEL3E_0SKIP IF NOT_^1_%JMP* SEL3F_(IF YEZ, BUPASS CHECK_^1SEL3E EQU SEL3E(*)_^1_%LDA BUFSIZ_5GET BUFFER SIZE_^1_%ADDR BUFSIZ,03_^1_%LDQ- JBLKSZ,I_3GET BLKSIZE_^1_%QRS 1_:CNVRT TO WORDS_^1_%TCQ€€ Q_:A = BUFFER SIZE - BLKSIZE_^1_%AAQ A_^1_%SAP SEL3F_0SKIP IF BFR.GE.BLKSIZ_^1_%LDA- JFLAGS,I_3CLEAR ASSIGNED BIT_^1_%AND- ZROBIT+7_^1_%STA- JFLAGS,I_^1_%OVOVG 94,BADBKX,03_.GO PUT OUT BAD BLOCKSIZ MSG_^1SEL3F EQU SEL3F(*)_^1_%LDA- $FF_8GET I TO SABE_^1_'STA TEMPSV+7_3SAVE I_^1_'ADDR TEMPSV+7,03_^1_%OVOVG 04,SEL32,03_^1*_]_^1*_$OVERLAY 04_(MORE SEL PROCESSING_^1*_]_^1_%HEADER 0€€4_^1*_]_^1*_$SET UP TAPE + CARRIAGE CONTROL TABLE ADDRESSES_^1*_*IF IN MEMORY, BUMP USE COUNT_^1*_*OTHERWISE, LOAD AND BUMP USE COUNT_^1*_$CLEAR REMAINING FIELDS_^1*_$CONVERT DATA STREAM NBR TO ASCII_^1*_$SET UP MESSAGE AND OUTPUT_^1*_$EXIT_^1*_]_^1SEL32 EQU SEL32(*)_^1_'LDA TEMPSV+7_3RESTORE I_^1_'ADDR TEMPSV+7,04_^1_%STA- $FF_^1_%ENA 0_^1_%STA- JBLOCC,I_2CLEAR DUMP MODE BLOC€€K COUNT_^1_%STA- JCOFF,I_^1_%STA- JPOFF,I_^1_%STA- JPLEN,I_^1_%STA- JSTOFF,I_^1_%STA- JSTLEN,I_^1_%STA- JSPOFF,I_^1_%STA- JSPLEN,I_^1*_]_^1*_%LOAD CONVERSION TABLES_^1*_]_^1_'LDQ TEMPSV+6_4GET DISK BFR ADDR_^1_%ADDR TEMPSV+6,04_^1_%LDA- JDCCTB,Q_3GET CCTAB NAME (4CHARS)_^1_%STA* SEL35_^1_'SUB =N$2020_5CHECK FOR BLANKS_^1_'SAN SEL3A_7GO ON IF NOT_^1_'ENA 0_;IF YES, CLEAR CCTA ADDR_^€€1_%STA- JCCTAB,I_^1_%JMP* SEL3B_7BYPASS READ_^1SEL3A_!EQU SEL3A(*)_^1_%LDA- JDCCTB+1,Q_^1_%STA* SEL35+1_^1_%LDA- $FF_8GET JOB TABLE AREA BASE_^1_%INA CCTBA_6CALC CCTAB ADDR_^1_%STA- JCCTAB,I_^1_'RTJ LTAB_7LOAD CCTAB_^1_%ADDR LTAB,04_^1SEL35_!EQU SEL35(*)_^1_'ALF 02,_^1SEL3B_!EQU SEL3B(*)_^1_%LDA- JDTCTB,Q_3GET TCTAB NAME (4CHARS)_^1_%STA* SEL37_^1_'SUB =N$2020_5CHECK FOR BLANKS_^€€1_'SAN SEL3C_7GO ON IF NOT_^1_'ENA 0_;IF YES, CLEAR TCTA ADDR_^1_%STA- JTCTAB,I_^1_%JMP* SEL3D_7BYPASS READ_^1SEL3C_!EQU SEL3C(*)_^1_%LDA- JDTCTB+1,Q_^1_%STA* SEL37+1_^1_'LDA- $FF_8GET JOB TABLE AREA BASE_^1_%ADD =XTCTBA_4ADD OFFSET TO TCT_^1_%STA- JTCTAB,I_^1_'RTJ LTAB_7LOAD CCTAB_^1_%ADDR LTAB,04_^1SEL37_!EQU SEL37(*)_^1_'ALF 02,_^1SEL3D EQU_!SEL3D(*)_^1_%OVLDA ITMPSV,04_1GET €€D.S. NBR_^1_%ADD =X$2030_4CONVERT TO ASCII_^1_%STA* SEL41_6STORE IN MSG_^1_%LDA- (ZERO),I_3MOVE JOBNAME_^1_%STA* SEL40_6TO MSG_^1_%LDA- 1,I_^1_%STA* SEL40+1_^1_%OVRTJ ICLI,04_^1_%NUM 28_^1SEL40 EQU SEL40(*)_^1_%ALF 13,_#ASSIGNED DATA STREAM_^1SEL41 EQU SEL41(*)_^1_%ALF 01,_^1_%OVRTR ZMVP,04_^1_%OVRTG OUTPUT,04_^1_%EJT_]_^1*_]_^1*_$OVERLAY 05_(TPLU,PRLU,DSTRNG_^1*_]_^1*_$CON€€TAINS RECURSIVE ROUTINES %_^1*_]_^1*_*TPLU_)05_^1*_*PRLU_)05_^1*_*DSTRNG_'05_^1*_]_^1*_$CONTAINS NON RECUSIVE ROUTINES_^1*_]_^1*_*DCKEOL_'05_^1*_]_^1*_$CALLS RECURSIVE ROUTINES%_^1*_]_^1*_*EOL_*ROOT_^1*_]_^1*_$EXITS DIRECTLY TO %_^1*_]_^1*_*RET_*ROOT_^1*_*FALSE_(ROOT_^1*_*BADPRX_'94_^1*_]_^1*_$CALLS NON-RECURSIVE ROUTINES_^1*_]_^1*_*BYTE_)ROOT_^1*_*CLEAR_(ROOT_^1*_*SLI_*ROOT_^1*_]€€_^1_%HEADER 05_^1_%EJT_]_^1*_]_^1*_$SUBROUTINES TPLU AND PRLU - RECURSIVE_^1*_]_^1*_$TPLU - VERIFY TAPE LOGICAL UNIT NUMBER AND SAVE_^1*_$PRLU - VERIFY PRINTER LOGICAL UNIT NUMBER AND SAVE_^1*_$BOTH - EXIT FALSE IF NUMBER IN VAL IS VALID DEVICE_^1*_]_^1_%EXT LOG1A_^1TPLU_!EQU TPLU(*)_^1_%LDA =N$0800_4MASK FOR TAPE_^1_%ENQ 1_:STORE OFFSET FOR TAPE_^1_%JMP* LUNIT_^1PRLU_!EQU PRL€€U(*)_^1_%LDA =N$2800_4MASK FOR PRINTER_^1_%ENQ 2_:STORE OFFSET FOR PRINTER_^1LUNIT EQU LUNIT(*)_^1_%STA* LUNT25+1_3SET UP MASK INST_^1_%STQ* LUNT35+1_3SET UP SAVE INST_^1_%OVLDA IVAL,05_3GET LUNBR_^1_%SAN LUNT10_5GO ON IF NOT 0_^1_%JMP* LUNTER_5GO ERROR EXIT_^1*_]_^1*_$LOCATE LOG1A TABLE_^1*_$CHECK NBR AGAINST MAX_^1*_$PICK UP PDT ADDRESS_^1*_]_^1LUNT10 EQU LUNT10(*)_^1_%LDQ €€ =XLOG1A_4GET LOG1A PTR_^1_%LDA- (ZERO),Q_3GET MAX_^1_%OVSUB IVAL,05_^1_%SAM LUNTER_5ERROR IF NBR .GT. MAX_^1_%JMP* LUNT20_5ELSE CONTINUE_^1LUNTER EQU LUNTER(*)_^1_%OVRTG FALSE,05_^1*_]_^1*_$CHECK PDT EQUIP TYPE - ERROR IF WRONG_^1*_$IF OK, SAVE LU NBR AND EXIT TRUE_^1*_]_^1LUNT20 EQU LUNT20(*)_^1_%LDQ (VAL),Q_4GET PDT ADDR_^1_%ADDR VAL,05_^1_%LDA- 8,Q_8GET PDT EQUIP TYPE_^1_%A€€ND =N$3800_4MASK OFF REST_^1LUNT25 EQU LUNT25(*)_^1_%SUB =N$0800_4CHECK TYPE_^1_%SAZ LUNT30_5SKIP IF OK_^1_%JMP* LUNTER_5ELSE ERROR_^1LUNT30 EQU LUNT30(*)_^1_%OVLDA IVAL,05_^1_%LDQ ATEMP_6GET TEMP AREA ADDR_^1_%ADDR ATEMP,05_^1*_]_^1*********THID MUST BE A 2 WORD INSTRUCTION_^1*_]_^1LUNT35 EQU LUNT35(*)_^1_%STA+ 1,Q_8SAVE IN TEMP_^1_%OVRET 05_^1_%EJT_]_^1*_]_^1*_$DSTRNG - RE€€CURSIVE_^1*_]_^1*_$EXTRACT AND SAVE DELIMITER_^1*_*IF EOL, EXIT TO BAD PARAMETER/FALSE ROUTINE_^1*_$COLLECT CHARACTERS UP TO EOL,DELIMITER OR LIMIT_^1*_*IF EOL, EXIT TO BADPARAMETER/FALSE ROUTINE_^1*_*IF LIMIT, EXIT TO BADPARAMETER/FALSE ROUTINE_^1*_*IF DELIMITER, EXIT VIA RET (TRUE)_^1*_]_^1DSTRNG EQU DSTRNG(*)_^1_%RTJ* DCKEOL_5EXIT IF EOL NEXT_^1_%OVRTJ IBYTE,05_2NOT EOL, GET CH€€AR_^1_%OVSTA IVAL,05_3SAVE DELIMITER_^1DSTR05 EQU DSTR05(*)_^1*_]_^1* STRING EXTRACTOR_^1* COLLECT CHARS UP TO DELIMITER OR LIMIT_^1* FALSE IF LIMIT BEFORE DELIMITER_^1*_]_^1DSTRNX EQU DSTRNX(*)_^1_%ENA 0_:CLEAR CHAR COUNT_^1_%STA TEMPSV+2_^1_%ADDR TEMPSV+2,05_^1DSTRNZ EQU DSTRNZ(*)_^1_%RTJ* DCKEOL_5EXIT IF EOL NEXT_^1_%OVRTJ IBYTE,05_2GET NEXT CHAR_^1_%STA- $FF_8SAVE CHAR €€IN I_^1_%OVSUB IVAL,05_3CHECK FOR DELIMITER_^1_%SAN DSTR30_5CONTINUE IF NO_^1_%LDA TEMPSV+2_3GET NBR CHARS_^1_%ADDR TEMPSV+2,05_^1_%SAZ DSTERR_5SKIP TO ERROR IF 0_^1_%JMP* DSTR50_5ELSE EXIT NORMAL_^1DSTERR EQU DSTERR(*)_^1_%OVOVG 94,BADPRX,05_^1DSTR30 EQU DSTR30(*)_^1_%RAO TEMPSV+2_4INCR CHAR COUNT_^1_%ADDR TEMPSV+2,05_^1_%LDA TEMPSV+2_3GET CHAR COUNT FOR MAX CHECK_^1_%ADDR €€TEMPSV+2,05_^1_%SUB =N33_8CHECK AGAINST MAX_^1_%SAM DSTR35_6SKIP IF OK_^1_%JMP* DSTERR_5IF OVER MAX, GO ERROR MSG_^1DSTR35 EQU DSTR35(*)_^1_%LDQ TEMPSV+2_3GET CHAR PRSITION_^1_%ADDR TEMPSV+2,05_^1_%CLR A_:CHECK FOR LOW/HIGH BYTE_^1_%LRS 1_^1_%SAZ DSTLOW_5SKIP IF LOW BYTE_^1_%LDA- $FF_8HIGH, GET CHAR_^1_'ALS 8_:SHIFT UP_^1_%STA- $FF_8SAVE CHAR_^1_%LDA TEMPSV+3,Q_1GET WORD TO€€ PUT IN_^1_%ADDR TEMPSV+3,05_^1_%AND- LPMASK+8_3CLEAR UPPER BYTE_^1_%EOR- $FF_8ADD NEW CHAR_^1_%STA TEMPSV+3,Q_1STORE WORD_^1_%ADDR TEMPSV+3,05_^1_%JMP* DSTRNZ_5GO GET NEXT_^1DSTLOW EQU DSTLOW(*)_^1_%LDA TEMPSV+2,Q_1GET WORD TO PUT IN_^1_%ADDR TEMPSV+2,05_^1_%AND- NZERO+8_4CLEAR LOWER PART_^1_%EOR- $FF_8ADD NEW CHAR_^1_%STA TEMPSV+2,Q_1STORE WORD_^1_%ADDR TEMPSV+2,05_^1_%JMP* D€€STRNZ_5GO DO NEXT_^1DSTR50 EQU DSTR50(*)_^1_%OVRET_#05_^1*_]_^1*_$DCKEOL - NON RECURSIVE_^1*_]_^1*_$CHECK FOR EOL_^1*_%IF YES, EXIT TO BADPARAM ROUTINE DIRECTLU_^1*_]_^1DCKEOL EQU DCKEOL(*)_^1_%NUM 0_^1_%OVRTR EOL,05_^1_%OVLDA ITRUE,05_^1_%OVRAO ITRUE,05_^1_%SAZ DCKE10_5SKIP IF FALSE_^1_%JMP* DSTERR_5GO ERROR EXIT_^1DCKE10 EQU DCKE10(*)_^1_%JMP* (DCKEOL)_^1_%EJT_]_^1*_]_^1*_$O€€VERLAY 06_(RUNMODE INITIALIZER, CLRTMP_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_*RUNSTR_'06_^1*_*CLRTMP_'06_^1*_*RUNCOM_%06_^1*_*CHRPR_'06_^1*_]_^1*_$CALLS NO RECURSIVE ROUTINES_^1*_]_^1*_$EXITS DIRECTLY TO_^1*_*RET_*ROOT_^1*_*TABINT_'16_^1*_]_^1_%HEADER 06_^1_'EJT_^1*_]_^1*_$RUNCOM - RECURSIVE_.06_^1*_]_^1*_$CLEAR OUT TEMPSV_^1*_$CALL COMMAND PROCESSING COMPLEX - RNCMD1 IN 95_^€€1*_$OUTPUT -TP- IDENTIFIER_^1*_$READ NEXT RECORD_^1*_$REPEAT_^1*_]_^1RUNCOM EQU RUNCOM(*)_^1_%OVOVR 06,CLRTMP,06_^1_%OVRTJ_#ICLI,06_^1_%NUM 04_^1_%ALF 02,-TP-_^1_%OVRTR ZMVP,06_^1_%OVRTR PUT,06_^1_%OVRTR NXTREC,06_^1_%OVRET 06_^1*_]_^1*_$RUNSTR - RECURSIVE - ALWAYS TRUE_^1*_]_^1*_$RUN MODE INITIALIZER_^1*_$ABSOLUTIZE TEMP SAVE ADDR_^1*_]_^1RUNSTR EQU RUNSTR(*)_^1_'LDQ ABSAV_7GE€€T PGM ABS START_^1_'ADDR ABSAV,06_^1_%LDA ATEMP_6GET OFFSET FROM BASE_^1_%ADDR ATEMP,06_^1_%AAQ A_:ADD ABSOLUTE FOR BASE_^1_%STA ATEMP_6STORE ABSOLUTE ADDR_^1_%ADDR ATEMP,06_^1_%LDA AJBNAM_^1_%ADDR AJBNAM,06_^1_%AAQ A_^1_%STA AJBNAM_^1_%ADDR AJBNAM,06_^1RUNSTX EQU RUNSTX(*)_^1_%OVOVG 16,TABINT,06_^1*_]_^1*_%SUBROUTINE CLRTMP - RECURSIVE_^1*_]_^1*_%CLEARS OUT THE TEMPORARY SA€€VE AREA_^1*_]_^1*_]_^1CLRTMP EQU_!CLRTMP(*)_^1_'ENA 0_;VALUE_^1_'LDQ =N33_8CPUNT_^1CLRTM2 EQU CLRTM2(*)_^1_%STA TEMPSV,Q_^1_%ADDR TEMPSV,06_^1_'INQ -1_:DECR COUNT_^1_'SQM CLRTM4_5EXIT IF DONE_^1_'JMP* CLRTM2_5LOOP IF MORE_^1CLRTM4 EQU CLRTM4(*)_^1_%OVRET 06_^1*_]_^1*_$CHRPR_^1*_]_^1*_$ROUTINE TO CHECK FOR LU = CHARACTER PRINTER_^1*_*YES - SET CHRPR BIT IN JOB TABLE, BFRSIZ = 132€€+10_^1*_*NO - CLEAR BIT AND BFRSIZ = 136+10_^1*_]_^1*_$ALSO COMPLETE FINAL PORTION OF OVERLAY 13 WHICH HAS BEEN_^1*_$MOVED HERE TO KEEP OVERLAY 13 ONLY 1 SECTOR LONG_^1*_]_^1RUNWRK NUM 0_^1*_]_^1CHRPR EQU CHRPR(*)_^1*_]_^1_%LDQ_!=XLOG1A_3GET LOG1A BASE_^1_%ADQ- JPRLU,I_3ADD PRINTER OFFSET_^1_%LDQ- (ZERO),Q_2GET PRINTER PDT ADDR_^1_%LDA- 8,Q_7GET EQUIP WORD_^1_%AND_!=N$07F0_3I€€SOLATE TYPE_^1_%SUB =N$03E0_4CHECK FOR MTRX PRTR TYPE_^1_%SAN_!CHRPRN_4SKIP IF NO_^1_%LDA- JFLAGS,I_3GET) FLAGS_^1_%AND- ZROBIT+2_3CLEAR BIT_^1_%EOR- ONEBIT+2_3SET BIT_^1_%ENQ 71_9SET BFR LEN_^1_%JMP* CHRPRX_5GO COMMON CODE_^1CHRPRN EQU CHRPRN(*)_^1_%LDA- JFLAGS,I_3GET FLAGS_^1_%AND- ZROBIT+2_3CLEAR BIT_^1_%ENQ 73_9SET BFR LEN_^1CHRPRX EQU CHRPRX(*)_^1_%STA- JFLAGS,I_3SET UP F€€LAGS_^1_%STQ- JIOSIZ,I_3AND BFR SIZE_^1*_]_^1_%ENQ 4_,OFFSET FOR TTY_^1_%LDA+ LOG1,Q_'GET TTY ALT DEV_^1_%AND- LPMASK+12_#ISOLATE LOWER_^1_%STA* RUNWRK_'AND SAVE_^1_%LDA- JFLAGS,I_^1_%AND- ONEBIT+2_$IS IT A MATRIX PRINTER_^1_%SAN RUN58_(YES, BYPASS LOG1A RESET/RESTORE_^1_%LDQ- JPRLU,I_%GET PRINTER LU_^1_%LDA+ LOG1,Q_'GET LOG 1 ENTRY_^1_%AND- LPMASK+12_#CLEAR UPPER BITS_^1_%STA- J€€LGSV1,I_$SAVE_^1_%LDA+ LOG1,Q_'GET LOG1 AGAIN_^1_%AND- NZERO+12_$CLEAR LOWER BITS_^1_%EOR* RUNWRK_'ADD IN NEW ALT DEV (DUMMY)_^1_%STA+ LOG1,Q_'SET UP NEW LOG1 ENTRY_^1RUN58 EQU RUN58(*)_^1_%LDQ- JTPLU,I_%GET TAPE LU_^1_%LDA+ LOG1,Q_'GET LOG 1 ENTRY_^1_%AND- LPMASK+12_#CLEAR UPPER BITS_^1_%STA- JLGSV2,I_$SAVE_^1_%LDA+ LOG1,Q_'GET LOG1 AGAIN_^1_%AND- NZERO+12_$CLEAR LOWER BITS_^1_%€€EOR* RUNWRK_'ADD IN NEW ALT DEV (DUMMY)_^1_%STA+ LOG1,Q_'SET UP NEW LOG1 ENTRY_^1*_]_^1_%OVRET_$06_3RETURN TO CALLER_^1_%EJT_]_^1*_]_^1*_$OVERLAY 07_(DATA STREAM NUMBER PROCESSING_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_]_^1*_*DATSTM_'07_^1*_*DATSAV_'07_^1*_*DATRUN_'07_^1*_*DATRNX_'07_^1*_*DATASM_'07_^1*_*DATSTS_'07_^1*_*DATSTR_'07_^1*_*DATSTS_'07_^1*_]_^1*_$CALLS RECURSIVE ROU€€TINES%_^1*_]_^1*_*NONE_^1*_]_^1*_$CALLS NON- RECURSIVE ROUTINES%_^1*_]_^1*_*IDOOR_(ROOT_^1*_]_^1*_$EXITS DIRECTLY TO %_^1*_]_^1*_*FALSE_(ROOT_^1*_*RET_*ROOT_^1*_*BADSTX_'94_^1*_]_^1_%HEADER 07_^1_%EJT_]_^1*_]_^1*_$SUBROUTINE DATSAV - RECURSIVE_^1*_]_^1*_$SAVE DATA STREAM NBR IN TEMPSV_^1*_$ALWAYS RETURNS TRUE_^1*_]_^1DATSAV EQU DATSAV(*)_^1_%OVLDA IVAL,07_3GET DS NBR_^1_%OVSTA ITM€€PSV,07_1SAVE_^1_%OVRET 07_^1*_]_^1*_$SUBROUTINE DATSTM - RECURSIVE_^1*_]_^1*_$ASSIGN DAFAULT DATASTREAM IF 0 (=1)_^1*_$VALIDATE DATASTREAM_^1*_$MUST BE .LE. DSNUM_^1*_$MUST BE ATTACHED TO ACTIVE JOB TABLE_^1*_$EXIT FALSE IF NOT_^1*_]_^1DATSTM EQU DATSTM(*)_^1_%OVLDA ITMPSV,07_1GET DS NBR_^1_%SAN DATS05_5GO ON IF NOT 0_^1_%ENA 1_:0, CHANGE TO 1_^1_%OVSTA ITMPSV,07_1SAVE CORRECT €€VALUE_^1DATS05 EQU DATS05(*)_^1_%SUB =XDSNUM_4CHECK AGAINST MAX LEGAL DSNBR_^1_%INA -1_^1_%SAM DATS20_5SKIP IF YES_^1DATS10 EQU DATS10(*)_^1_%OVRTG FALSE,07_2ERROR, GO FALSE_^1DATS20 EQU DATS20(*)_^1_%OVLDQ ITMPSV,07_1GET DS NBR_^1_%INQ -1_9SUB 1_^1_%LDQ AJOB,Q_5GET JOB TABLE ADDR._^1_%ADDR AJOB,07_^1_%LDA- JFLAGS,Q_3GET FLAGS_^1_%AND- ONEBIT+7_3CHECK ACTIVE FLAG_^1_%SAZ D€€ATS25_5SKIP IF NOT ACTIVE_^1DATS15 EQU DATS15(*)_^1_%OVRET 07_^1DATS25 EQU DATS25(*)_^1_%JMP* DATS10_5NO, GO EXIT FALSE_^1*_]_^1*_$SUBROUTINE DATRUN - RECURSIVE_^1*_]_^1*_$RETURN TRUE IF DATA STREAM (NBR IN TEMPSU) IS NOT RUNNING_^1*_]_^1DATRUN EQU DATRUN(*)_^1_%OVLDQ ITMPSV,07_1GET DS NBR_^1_%INQ -1_9CREAT INDEX_^1_%LDQ AJOB,Q_5GET JOB TABLE ADDR_^1_%ADDR AJOB,07_^1_%LDA- JFL€€AGS,Q_3GET FLAGS_^1_%AND- ONEBIT+14_,SEE IF ALREADY RUNNING_^1_%SAN DATR10_/SKIP IF SUSPENDED (SET)_^1_%OVRTG FALSE,07_^1DATR10 EQU DATR10(*)_^1_%OVRET 07_^1*_]_^1*_$DATSTR - DATA STREAM VERIFICATION_^1*_]_^1*_$ASSIGN DEFAULT OF 1 IF ZERO_^1*_$VERIFY ASSIGNED AND RUNNING_^1*_]_^1DATSTR EQU DATSTR(*)_^1_%OVOVR 07,DATSTM,07_^1_%OVOVG 07,DATRNX,07_^1_%OVRET 07_^1*_]_^1*_$VERIFY DAT€€A STREAM VALID NUMERIC FIELD AND SVAE_^1*_]_^1DATASM EQU DATASM(*)_^1_%OVRTR NM,07_^1_%OVOVG 07,DATSAV,07_^1_%OVRET 07_^1*_]_^1*_$DATSTS - DATA STREAM VEIIFICATION_^1*_]_^1*_$ASSIGN DEFAULT OF 1 IF ZERO_^1*_$VERIFY ASSIGNED AND SUSPENDED_^1*_]_^1DATSTS EQU DATSTS(*)_^1_%OVOVR 07,DATSTM,07_^1_%OVOVG 07,DATRUN,07_^1_%OVRET 07_^1*_]_^1*_$DATRNX - VERIFY DATA STREAM IS SUSPENDED_^1*_€€]_^1DATRNX EQU DATRNX(*)_^1_%OVOVR 07,DATRUN,07_^1_%OVRTG FALSE,07_^1_%OVRTJ IDOOR,07_^1_%OVRET 07_^1*_]_^1*_$DATSTT - VERIFY DATA STREAM (DEFAULT) VALID,SUSPENDED_^1*_$ERROR MSG AND FALSE IF NOT_^1*_]_^1DATSTT EQU DATSTT(*)_^1_%OVOVR 07,DATSTS,07_^1_%OVRTJ IDOOR,07_^1_%OVOVG 94,BADSTX,07_^1_%EJT_]_^1*_]_^1*_$OVERLAY 08_(BADSTZ_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_]_^1*_*B€€ADSTZ_'08_^1*_]_^1*_$CALLS RECURSIVE ROUTINES%_^1*_]_^1*_*ZMPV_)ROOT_^1*_*OUTPUT_'ROOT_^1*_]_^1*_$CALLS NON-RECURSIVE ROUTINES_^1*_]_^1*_*ICLI_)ROOT_^1*_]_^1*_$EXITS DIRECTLY TO_^1*_]_^1*_*RET_^1*_]_^1_%HEADER 08_^1_%EJT_]_^1*_]_^1*_$OVERLAY 08_^1*_]_^1*_$CONTAINS RECUSSIVE ROUTINES_^1*_]_^1*_*BADSTZ_'08_^1*_*LUBUSY_'08_^1*_+TPSCHR_%08_^1*_]_^1*_$CALLS RECURSIVE ROUTINES_^1*_]_^1*_€€*ZMVP_)ROOT_^1*_]_^1*_$CALLS NON - RECURSIAVE ROUTINES_^1*_]_^1*_*CLI_*ROOT_^1*_]_^1*_$EXITS DIRECTLY TO_^1*_]_^1*_*OUTPUT_'ROOT_^1*_]_^1*_]_^1*_$BADSTZ - RECURSIVE_^1*_]_^1*_$OUTPUT 'DATA STREAM X STILL ACTIVE'_^1*_$D.S. NUMBER IN TEMPSV_^1*_$RETURN TRUE_^1*_]_^1BADSTZ EQU BADSTZ(*)_^1_%OVLDA ITMPSV,08_1GET DS NBR_^1_%ADD =N$2030_4MAKE ASCII_^1_%STA* BADS05_5STORE IN MSG_^1_%OVR€€TJ ICLI,08_^1_%NUM 27_^1_%ALF 06, DATA STREAM_^1BADS05 NUM 0_^1_%ALF 07, STILL ACTIVE_^1_%OVRTR ZMVP,08_^1_%OVRTG OUTPUT,08_^1*_]_^1*_$LUBUSY - RECURSIVE_^1*_$OUTPUT LU NN IN USE MSG_^1*_]_^1LUBUSY EQU LUBUSY(*)_^1_%OVLDA ITMPSV,08_1GET SAVED LU NBR_^1_%INA -10_8CHECK FOR .GT.9_^1_%SAP LUB20_6SKIP IF GT 9_^1_%INA 10_+RESTORE VALUE_^1_%ADD =N$2030_4CNVRT 1 DIGIT TO ASCII_^1€€_%JMP* LUB30_6AND CONTINUE_^1LUB20 EQU LUB20(*)_^1_%INA 10_^1_%ENQ 0_:SET UP FOR DIV_^1_%DVI =N10_7Q=TEN'S,A=UNITS_^1_%ALS 8_;SHIFT UP TENS_^1_%AAQ A_,COMBINE_^1_%ADD =N$3030_4CNVRT 2 DIGITS TO ASCII_^1LUB30 EQU LUB30(*)_^1_%STA* LUB10_6STORE IN MSG_^1_%OVRTJ ICLI,08_^1_%NUM 23_^1_%ALF 07, LOGICAL UNIT_^1LUB10 NUM 0_^1_%ALF 04, IN USE_^1_%OVRTR ZMVP,08_^1_%OVRTG OUTP€€UT,08_^1*_]_^1*_$TPSCHR - RECURSIVE_^1*_]_^1*_$SCHEDULE TP01 AND EXIT VIA RET_^1*_]_^1TPSCHR EQU_!TPSCHR(*)_^1_%LDA TP01RL_^1_%ADD_!=XTP01RL-TPSCH-1-BS08_$ADJUST TO CORRECT REL_^1_%AND- ZROBIT+15_2CLEAR BIT 15_^1_%STA TPSCH+2_^1TPSCH SCHDLE TPSCH-*+1,3,X_^1_%OVRET 08_^1TP01RL ADC* TP01_^1_%EJT_]_^1*_]_^1*_$OVERLAY 09_(CHRNMS,CHRNMX_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES_^1*_]_^1€€*_*CHRNMS_'09_^1*_*CHRNMX_'09_^1*_*NMSAV_(9_^1*_]_^1*_$EXITS DIRECTLY TO_^1*_]_^1*_*FALSE_(ROOT_^1*_*RET_*ROOT_^1*_]_^1_%HEADER 09_^1_%EJT_]_^1*_]_^1*_$CHRNMS - RECURSIVE_^1*_]_^1*_$SAVE STARTING POSITION IN TEMP_^1*_]_^1CHRNMS EQU CHRNMS(*)_^1_%OVLDA IVAL,09_3GET CHAR POS_^1_%STA TEMPSV+1_3SAVE IN TEMP_^1_%ADDR TEMPSV+1,09_^1*_$RETURN FALSE IF 0_^1_%SAZ CHRSER_5BAD IF 0_^1_%OVR€€ET 09_^1CHRSER EQU CHRSER(*)_^1_%OVRTG FALSE,09_^1*_]_^1*_$CHRNMX - RECURSIVE_^1*_]_^1*_$SAVE ENDING CHAR POSITION IN TEMP_^1*_]_^1CHRNMX EQU CHRNMX(*)_^1_%OVLDA IVAL,09_3GET END POS_^1_%STA TEMPSV+2_3SAVE_^1_%ADDR TEMPSV+2,09_^1*_$RETURN FALSE IF 0_^1_%SAZ CHRXER_5BAD IF 0_^1_%OVRET 09_^1CHRXER EQU CHRXER(*)_^1_%JMP* CHRSER_5GO ERROR EXIT_^1*_]_^1*_$NMSAV - RECURSIVE_^1*_]_^1€€*_$SAVE NUMBER PARAMETER_^1*_]_^1NMSAV EQU NMSAV(*)_^1_%LDA VAL_^1_%ADDR VAL,09_^1_%OVSTA ITMPSV,09_^1_%OVRET 09_^1_%EJT_]_^1*_]_^1*_$OVERLAY 10_(START,PART AND SUPPORT_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES_^1*_]_^1*_*STRT_)10_^1*_*PART_)10_^1*_]_^1*_$CONTAINS NON RECURSIVE ROUTINES_^1*_]_^1*_*CHRSTR_^1*_*CHRSTX_^1*_]_^1*_$CALLS RECURSIVE ROUTINES_^1*_]_^1*_*NONE_^1*_]_^1*_$EXI€€TS DIRECTLY TO_^1*_]_^1*_*BADPRM_'94_^1*_*RET_*ROOT_^1*_]_^1_%HEADER 10_^1_%EJT_]_^1*_]_^1*_$STRT - RECURSIVE_^1*_]_^1*_$PROCESS START COMMAND_^1*_$VERIFY THAT CHAR POSITION IS VALID FOR RECSIZ OR EXIT_^1*_$CALCULATE END OF MASK, PUT IN TEMPSV_^1*_$VERIFY THAT END OF START FIELD IS VALID FOR RECSIZ OR EXIT_^1*_$SET FLAG FOR START_^1*_$SAVE START OFFSET,LENGTH AND MASK IN JOB TABLE €€FOR DS_^1*_$EXIT TRUE_^1*_]_^1*_$CALLS ROUTINES CHRSTR,CHRSTP_^1*_]_^1STRT_!EQU STRT(*)_^1_%RTJ* CHRSTR_5VERIFY START_^1_%LDA TEMPSV+1_3CALCULATE + SAVE END_^1_%ADDR TEMPSV+1,10_^1_%ADD TEMPSV+2_^1_%ADDR TEMPSV+2,10_^1_%STA TEMPSV+2_^1_%ADDR TEMPSV+2,10_^1_%RTJ* CHRSTX_5VERIFY END_^1_%OVLDQ ITMPSV,10_1GET DS NBR_^1_%LDQ AJOB-1,Q_3GET JOBTAB ADDR_^1_%ADDR AJOB-1,10_^1_%STQ- $FF€€_8I= ADDR JOBTABLE_^1_%LDA- JFLAGS,I_3SET START FLAG_^1_%AND- ZROBIT+13_^1_%EOR- ONEBIT+13_^1_%STA- JFLAGS,I_^1_%LDA TEMPSV+1_3SAVE STARTING POSITION_^1_%ADDR TEMPSV+1,10_^1_%STA- JSTOFF,I_^1_%LDA TEMPSV+2_3CALCULATE + SAVE LENGTH_^1_%ADDR TEMPSV+2,10_^1_%SUB TEMPSV+1_^1_%ADDR TEMPSV+1,10_^1_%STA- JSTLEN,I_^1_%INA 1_:CONVERT TO WORDS FOR MOVE_^1_%ARS 1_^1_%TRA Q_:Q=WORD COUNT€€ (COUNT DOWN)_^1STRT10 EQU STRT10(*)_^1_%LDA TEMPSV+3,Q_1GET NEXT WORD OF MASK_^1_%ADDR TEMPSV+3,10_^1_%STA- JSTART,B_3STORE INTO JOBTABLE AREA_^1_%SQZ STRT20_5EXIT IF DONE_^1_%INQ -1_9DECR COUNT_^1_%JMP* STRT10_5ELSE LOOP_^1STRT20 EQU STRT20(*)_^1_%OVRET 10_^1_%EJT_]_^1*_]_^1*_$PART - RECURSIVE_^1*_]_^1*_$VERIFY START (EXIT)_^1*_$VERIFY END (EXIT)_^1*_$CALCULATE AND SAVE PART€€IAL OFFSET AND LENGTH_^1*_$SET FLAG FOR PARTIAL_^1*_$EXIT TRUE_^1*_$VERIFY THAT END .GT. START_^1*_*IF NO, PRINT OUT ERROR MESSAGE_^1*_]_^1*_$CALLS ROUTINES CHRSTR,CHRSTP,BADPRM_^1*_]_^1PART_!EQU PART(*)_^1_%RTJ* CHRSTR_5VERIFY START_^1_%RTJ* CHRSTX_5VERIFY END_^1_%OVLDQ ITMPSV,10_1GET DS NBR_^1_%LDQ AJOB-1,Q_3GET JOB TAB ADDR_^1_%ADDR AJOB-1,10_^1_%STQ- $FF_8SET I = JOB TAB_^1_%€€LDQ TEMPSV+1_3GET START_^1_%ADDR TEMPSV+1,10_^1_%TCQ A_4A = -START, Q = START_^1_%ADD TEMPSV+2_-A = STOP-START = LEN_^1_%ADDR TEMPSV+2,10_^1_%INA 1_4CORRECT TO INCLUSIVE LENGTH_^1_%SAZ PART15_50 NOT LEGAL, SKIP_^1_%SAP PART20_5SKIP IF LEGAL_^1PART15 EQU PART15(*)_^1_%OVOVG 94,BADPRM,10_^1_%JMP* PART50_^1PART20 EQU PART20(*)_^1_%STQ- JPOFF,I_^1_%STA- JPLEN,I_4STORE LENGTH IN€€ JOBTAB_^1_%LDA- JFLAGS,I_3SET PART FLAG_^1_%AND- ZROBIT+11_^1_%EOR- ONEBIT+11_^1_%STA- JFLAGS,I_^1PART50 EQU PART50(*)_^1_%OVRET 10_^1_%EJT_]_^1*_]_^1*_$CHRSTR - NON-RECURSIVE_^1*_]_^1*_$VERIFY THAT STARTING CHARACTER POSITION IS WITHIN RECORD_^1*_$AS NBR IS IN TEMPSV_^1*_$IF POSITION GT RECSIZ, OUTPUT INVALID OPERAND MSG AND EXIT_^1*_*FROM COMMAND PROCESSING_^1*_$ELSE RETURN TO€€ CALLER_^1*_$START CHAR IS IN TEMPSV+1_^1*_$RECORD LENGTH IS IN JOB TABLE_^1*_]_^1CHRSTR EQU CHRSTR(*)_^1_%NUM 0_^1_%OVLDQ ITMPSV,10_1GET DS NBR_^1_%LDQ AJOB-1,Q_3GET JOB TABLE ADDR_^1_%ADDR AJOB-1,10_^1_%LDA- JRECSZ,Q_3GET RECORD SIZE_^1_%SUB TEMPSV+1_3GET REC SIZE - START POSITION_^1_%ADDR TEMPSV+1,10_^1_%SAM CHRS05_5SKIP IF START GT MAX_^1_%JMP* (CHRSTR)_3RETURN OK_^1CHRS05€€ EQU CHRS05(*)_^1_%OVOVG 94,BADPRM,10_^1*_]_^1*_$CHRSTX - NON-RECURSIVE_^1*_]_^1*_$VERIFY THAT ENDING CHAR POSITION IS WITHIN RECORD_^1*_$IF NOT, ISSUE BAD PARAMETER MESSAGE AND EXIT FROM_^1*_*COMMAND PROCESSING_^1*_$ELSE RETURN TO CALLER_^1*_$DS NBR IN TEMPSV_^1*_$STOP POSITION IN TEMPSV+2_^1*_$RECORD LENGTH IN JOBTABLE_^1*_]_^1CHRSTX EQU CHRSTX(*)_^1_%NUM 0_^1_%OVLDQ ITMPSV,10€€_1GET DS NBR_^1_%LDQ AJOB-1,Q_3GET JOB TAB ADDR_^1_%ADDR AJOB-1,10_^1_%LDA- JRECSZ,Q_3GET REC SZ_^1_%SUB TEMPSV+2_3CHECK AGAINST STOP POSITION_^1_%ADDR TEMPSV+2,10_^1_%SAM CHRS20_5SKIP IF POS.GT.SIZE_^1_%JMP* (CHRSTX)_^1CHRS20 EQU CHRS20(*)_^1_%OVOVG 94,BADPRM,10_^1_%EJT_]_^1*_]_^1*_$OVERLAY 11_(STOP,ASGN_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_]_^1*_*STOP_)11_^1*_*ASGN_)11€€_^1*_]_^1*_$CONTAINS NON-RECURSIVE ROUTINES%_^1*_]_^1*_*CHRSTT_^1*_*CHRSTP_^1*_]_^1*_$CALLS RECURSIVE ROUTINES%_^1*_]_^1*_*NONE_^1*_]_^1*_$EXITS DIRECTLY TO%_^1*_]_^1*_*RET_*ROOT VIA IRET_^1*_*BADPRM_'94_^1*_]_^1_%HEADER 11_^1_%EJT_]_^1*_]_^1*_$STOP - RECURSIVE_^1*_]_^1*_$PROCESS STOP COMMAND_^1*_$VERIFY CHAR POSITION (EXIT)_^1*_$CALCULATE END POSITION_^1*_$VERIFY END POSITION (EXI€€T)_^1*_$SET FLAG FOR STOP_^1*_$SAVE START POSITION,LENGTH,MASK IN JOBTABLE FOR DS_^1*_$EXIT TRUE_^1*_]_^1*_$CALLS CHRSTT,CHRSTP_^1*_]_^1STOP_!EQU STOP(*)_^1_%RTJ* CHRSTT_5VERIFY START_^1_%LDA TEMPSV+1_3CALC END_^1_%ADDR TEMPSV+1,11_^1_%ADD TEMPSV+2_^1_%ADDR TEMPSV+2,11_^1_%STA TEMPSV+2_^1_%ADDR TEMPSV+2,11_^1_%RTJ* CHRSTP_5VERIFY END_^1_%OVLDQ ITMPSV,11_1GET DS NBR_^1_%LDQ AJO€€B-1,Q_3GET JOBTABLE ADDR_^1_%ADDR AJOB-1,11_^1_%STQ- $FF_8I = JOBTAB ADDR_^1_%LDA- JFLAGS,I_3SET STOP FLAG_^1_%AND- ZROBIT+12_^1_%EOR- ONEBIT+12_^1_%STA- JFLAGS,I_^1_%LDA TEMPSV+1_3SAVE STOP START POSITION_^1_%ADDR TEMPSV+1,11_^1_%STA- JSPOFF,I_^1_%LDA TEMPSV+2_3CALCULATE AND SAVE LENGTH_^1_%ADDR TEMPSV+2,11_^1_%SUB TEMPSV+1_^1_%ADDR TEMPSV+1,11_^1_%STA- JSPLEN,I_^1_%INA 1_:CO€€NVERT TO NBR WORDS_^1_%ARS 1_^1_%TRA Q_:Q = LEN (WORDS) TO XFER_^1STOP10 EQU STOP10(*)_^1_%LDA TEMPSV+3,Q_1GET WORD OF MASK_^1_%ADDR TEMPSV+3,11_^1_%STA- JSTOP,B_4SAVE IN JOBTAB_^1_%SQZ STOP20_5SKIP IF DONE_^1_%INQ -1_9DECR COUNT_^1_%JMP* STOP10_5ELSE LOOP_^1STOP20 EQU STOP20(*)_^1_%OVRET 11_^1_%EJT_]_^1*_]_^1*_$ASGN - RECURSIVE_^1*_]_^1*_$PROCESS ASSIGN COMMAND_^1*_$MOVE TA€€PE AND/OR PRINTER LU NBR INTO JOBTAB_^1*_$EXIT TRUE_^1*_]_^1ASGN_!EQU ASGN(*)_^1_%OVLDQ ITMPSV,11_1GET DS NBR_^1_%LDQ AJOB-1,Q_3GET JOB TAB ADDR_^1_%ADDR AJOB-1,11_^1_%LDA TEMPSV+1_3GET TAPE LU_^1_%ADDR TEMPSV+1,11_^1_%SAZ ASGN10_5SKIP IF NONE_^1_%STA- JTPLU,Q_4STORE TAPE LU IN JOBTAB_^1ASGN10 EQU ASGN10(*)_^1_%LDA TEMPSV+2_3GET PRINTER LU_^1_%ADDR TEMPSV+2,11_^1_%SAZ ASGN20€€_5SKIP IF NONE_^1_%STA- JPRLU,Q_4STORE IN JOB TAB_^1ASGN20 EQU ASGN20(*)_^1_%OVRET 11_^1*_]_^1*_$CHRSTT - NON-RECURSIVE_^1*_]_^1*_$VERIFY THAT STARTING CHARACTER POSITION IS WITHIN RECORD_^1*_$AS NBR IS IN TEMPSV_^1*_$IF POSITION GT RECSIZ, OUTPUT INVALID OPERAND MSG AND EXIT_^1*_*FROM COMMAND PROCESSING_^1*_$ELSE RETURN TO CALLER_^1*_$START CHAR IS IN TEMPSV+1_^1*_$RECORD LENGTH €€IS IN JOB TABLE_^1*_]_^1CHRSTT EQU CHRSTT(*)_^1_%NUM 0_^1_%OVLDQ ITMPSV,11_1GET DS NBR_^1_%LDQ AJOB-1,Q_^1_%ADDR AJOB-1,11_^1_%LDA- JRECSZ,Q_3GET RECORD SIZE_^1_%SUB TEMPSV+1_3GET REC SIZE - START POSITION_^1_%ADDR TEMPSV+1,11_^1_%SAM CHRS10_^1_%JMP* (CHRSTT)_^1CHRS10 EQU CHRS10(*)_^1_%OVOVG 94,BADPRM,11_^1*_]_^1*_]_^1*_$VERIFY THAT ENDING CHAR POSITION IS WITHIN RECORD_^1*_$€€IF NOT, ISSUE BAD PARAMETER MESSAGE AND EXIT FROM_^1*_*COMMAND PROCESSING_^1*_$ELSE RETURN TO CALLER_^1*_$DS NBR IN TEMPSV_^1*_$STOP POSITION IN TEMPSV+2_^1*_$RECORD LENGTH IN JOBTABLE_^1*_]_^1CHRSTP EQU CHRSTP(*)_^1_%NUM 0_^1_%OVLDQ ITMPSV,11_1GET DS MBR_^1_%LDQ AJOB-1,Q_^1_%ADDR AJOB-1,11_^1_%LDA- JRECSZ,Q_^1_%SUB TEMPSV+2_^1_%ADDR TEMPSV+2,11_^1_%SAM CHRS30_5SKIP IF BAD_^1_€€%JMP* (CHRSTP)_3RETURN_^1CHRS30 EQU CHRS30(*)_^1_%OVOVG 94,BADPRM,11_^1_%EJT_]_^1*_]_^1*_$OVERLAY 12_(SUSP,FREE,TERM_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_]_^1*_*SUSP_)12_^1*_*FREE_)12_^1*_*TERM_)12_^1*_]_^1*_$CALLS RECURSIVE ROUTINES%_^1*_]_^1*_*DATRUN_'7_^1*_]_^1*_$EXITS DIRECTLY TO_^1*_]_^1*_*RET_*ROOT VIA IRET_^1*_*BADSTZ_'94_^1*_]_^1_%HEADER 12_^1_%EJT_]_^1*_]_^1*_$SUSP€€ - RECURSIVE_^1*_]_^1*_$PROCESS SUSPEND COMMAND_^1*_$D.S. NBR IS IN TEMPSV - SET PRE-SUSPEND BIT-EXIT TRUE_^1*_]_^1SUSP_!EQU SUSP(*)_^1_%OVLDQ ITMPSV,12_1GET DS NBR_^1_%LDQ AJOB-1,Q_3GET ADDR THAT JOB TABLE_^1_%ADDR AJOB-1,12_^1_%STQ- $FF_8I = JOBTABLE ADDR_^1_%LDA- JFLAGS,Q_3GET FLAGS_^1_%AND- ZROBIT+10_2SET PRE-SUSPEND BIT_^1_%EOR- ONEBIT+10_^1_%STA- JFLAGS,Q_^1_%AND- ONEBIT+2_€€3IS IT A MATRIX PRINTER_^1_%SAN SUS20_6YES, BYPASS LOG1A RESET/RESTORE_^1_%LDQ- JPRLU,I_4GET PRINTER LU_^1_%LDA+ LOG1,Q_5GET LOG 1 ENTRY_^1_%AND- NZERO+12_3CLEAR LOWER BITS_^1_%EOR- JLGSV1,I_3OR IN SAVED LOWER_^1_%STA+ LOG1,Q_5RESTORE_^1_%LDQ- JTPLU,I_4GET TAPE LU_^1_%LDA+ LOG1,Q_5GET LOG 1 ENTRY_^1_%AND- NZERO+12_3CLEAR LOWER BITS_^1_%EOR- JLGSV2,I_3OR IN SAVED LOWER_^1_%STA+ LOG€€1,Q_5RESTORE_^1SUS20 EQU SUS20(*)_^1_%OVRET 12_^1_%EJT_]_^1*_]_^1*_$FREE - RECURSIVE_^1*_]_^1*_$PROCESS FREE COMMAND_^1*_$CLEAR ASSIGNED BIT OF DATA STREAM WHOSE NBR IS IN TEMPSV_^1*_$EXIT TRUE_^1*_]_^1FREE_!EQU FREE(*)_^1_%OVLDQ ITMPSV,12_1GET DS NBR_^1_%LDQ AJOB-1,Q_3GET JOB TAB ADDR_^1_%ADDR AJOB-1,12_^1_%LDA- JFLAGS,Q_3GET FLAGS_^1_%AND- ZROBIT+7_3CLEAR ASSIGNED_^1_%STA- JF€€LAGS,Q_3STORE FLAGS_^1_%OVRET 12_^1_%EJT_]_^1*_]_^1*_$TERM - RECURSIVE_^1*_]_^1*_$PROCESS TERM COMMAND_^1*_$SCAN EACH DATA STREAM - MUST ALL BE SUSPENDED_^1*_*IF NOT, OUTPUT ERROR MESSAGE AND EXIT TRUE_^1*_$EXIT TO DISPATCHER_^1*_$USES RECURSIVE ROUTINES_^1*_*DATRUN_^1*_*BADSTX_^1*_]_^1TERM_!EQU TERM(*)_^1_%ENA 1_^1_%OVSTA ITMPSV,12_1START AT DS NBR 1_^1TERM05 EQU TERM05(*)_^1_%€€OVOVR 07,DATRUN,12_^1_%ADC* DATRUN_5CHECK FOR SUSPENDED_^1_%OVLDA ITRUE,12_^1_%SAN TERM10_5SKIP IF SUSPENDED_^1_%JMP* TERM20_5GO ERROR EXIT IF NOT_^1TERM10 EQU TERM10(*)_^1_%OVRAO ITMPSV,12_1BUMP TO NEXT DS_^1_%OVLDA ITMPSV,12_1CHECK FOR MAX_^1_%INA -1_^1_%SUB =XDSNUM_^1_%SAZ TERM12_5SKIP IF DONE_^1_%JMP* TERM15_5JMP IF MORE TO CHECK_^1TERM12 EQU TERM12(*)_^1_%OVRTJ ICLI,12_^€€1_%NUM 17_^1_%ALF 09,TAPE-TO-PRINT OUT_^1_%OVRTR ZMVP,12_^1_%OVRTR OUTPUT,12_^1_%ENQ -3_^1_%LDQ START,Q_4GET SYS DIR INDEX_^1_%ADDR START,12_^1_%ADQ- $EB_8ADD DIR BASE ADDR_^1_%LDA- 1,Q_8GET STARTING ADDR_^1_%STA* RELES_^1_%CLR A_^1_%STA- 1,Q_8CLEAR DIR ENTRY_^1_%RTJ- ($F4)_^1_%NUM $1801_6RELEASE REQUEST_^1RELES NUM 0_^1TERM15 EQU TERM15(*)_^1_%JMP* TERM05_5GO CHECK NEXT_^€€1TERM20 EQU TERM20(*)_^1_%OVRAO ITRUE,12_^1_%OVOVG 08,BADSTZ,12_^1_%OVRET 12_^1_%EJT_]_^1*_]_^1*_$OVERLAY 13_(RUN_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_]_^1*_*RUN_^1*_]_^1*_$CALLS RECURSIVE ROUTINES%_^1*_]_^1*_*TPLU_)05_^1*_*PRLU_)05_^1*_*CHRPR_(06_^1*_]_^1*_$CALLS NON-RECURSIVE ROUTINES%_^1*_]_^1*_]_^1*_$EXITS DIRECTLY TO_^1*_]_^1*_*RET_*ROOT VIA IRET_^1*_*LUBUSY_'08_^1*_+T€€PSCHR_%08_^1*_+BADLU_'94_^1*_]_^1_%HEADER 13_^1_%EJT_]_^1*_]_^1*_$RUN - RECURSIVE_^1*_]_^1*_$PROCESS RUN COMMAND_^1*_$DS NBR IS IN TEMPSV_^1*_$VERIFY TAPE,PRINTER UNITS NOT IN USE BY ANOTHER_^1*_*BUSY, PRINT OUT LU IN USE MESSAGE, EXIT TRUE_^1*_$LOAD TABLES OR INCREMENT USE COUNT_^1*_$CLEAR SUSPENDED BIT, SET ACTIVATE BIT_^1*_]_^1_%EXT LOG1_^1RUN_"EQU RUN(*)_^1_%OVLDQ ITMPSV,13_1€€GET DS NBR_^1_%LDQ AJOB-1,Q_3JOB ADDR_^1_%ADDR AJOB-1,13_^1_%STQ- $FF_8I=JOB ADDR FOR ONE TO RUN_^1_%ENA 1_:START CHECK AT DS 1_^1_%STA TEMPSV+1_3SAVE WORKING DS NBR_^1_%ADDR TEMPSV+1,13_^1RUN05 EQU RUN05(*)_^1_%INA -1_^1_%SUB =XDSNUM_%CHECK AGAINST MAX_^1_%SAM RUN10_6SKIP IF NOT_^1_%JMP* RUN50_6BEYOND MAX-OK TO CONTINUE_^1RUN10 EQU RUN10(*)_^1_%INA 1_^1_%ADD =XDSNUM_%R€€ESTORE DS NBR_^1_%OVSUB ITMPSV,13_1SAME AS ONE TO BE RUN_^1_%SAN RUN20_6IF NO, CONTINUE CHECK_^1RUN15 EQU RUN15(*)_^1_%RAO TEMPSV+1_3BUMP WORKING DSN TO NEXT_^1_%ADDR TEMPSV+1,13_^1_%LDA TEMPSV+1_^1_%ADDR TEMPSV+1,13_^1_%JMP* RUN05_^1RUN20 EQU RUN20(*)_^1_%LDQ TEMPSV+1_4GET DS NBR TO CHECK_^1_'ADDR TEMPSV+1,13_^1_%LDQ AJOB-1,Q_3GET JOBTAB ADDR TO Q_^1_%ADDR AJOB-1,13_^1_%L€€DA- JFLAGS,Q_3GET FLAGS_^1_%AND- ONEBIT+7_3CHECK FOR SELECTED_^1_%SAZ RUN22_6SKIP IF NOT (BYPASS)_^1_%LDA- JFLAGS,Q_3GET FLAGS_^1_%AND- ONEBIT+14_2CHECK FOR WUSPENDED_^1_%SAZ RUN23_6SKIP IF RUNNING (NOT SUSP)_^1RUN22 EQU RUN22(*)_^1_%JMP* RUN15_6BYPASS CHECKOUT_^1RUN23 EQU RUN23(*)_^1_%LDA- JTPLU,Q_4GET TAPE LU_^1_%SUB- JTPLU,I_4COMPARE_^1_%SAN RUN25_6SKIP IF NO_^1_%LDA- JTP€€LU,I_4YES, GET DUPE LU NBR_^1_%JMP* RUN31_6GO ERROR MSG_^1RUN25 EQU RUN25(*)_^1_%LDA- JPRLU,Q_4GET PRINTER LU_^1_%SUB- JPRLU,I_4COMPARE_^1_%SAZ RUN30_6SKIP IF EQUAL_^1_%JMP* RUN15_6NOT EQUAL-OK-GO NEXT_^1RUN30 EQU RUN30(*)_^1_%LDA- JPRLU,I_4GET DUPE PR LU NBR_^1RUN31 EQU RUN31(*)_^1_%OVSTA ITMPSV,13_1SAVE LU NBR_^1_%OVOVG 08,LUBUSY,13_^1RUN40 EQU RUN40(*)_^1_%OVRET 13_^1RU€€N50 EQU RUN50(*)_^1*_]_^1*_$VERIFY THAT TAPE AND PRINTER UNITS ARE VALID DEVICE TYPES_^1*_]_^1*_*IF NOT, EXIT TO BAD LU ERROR MESSAGE_^1*_]_^1_%LDA- JTPLU,I_3GET TPA LU_^1_%OVSTA IVAL,13_3SET UP FOR CHECK_^1_%OVOVR 05,TPLU,13_0CHECK TAPE LU_^1_%LDA- JPRLU,I_3GET PRINTER LU_^1_%OVSTA IVAL,13_3SET UP FOR CHECK_^1_%OVOVR 05,PRLU,13_0CHECK PRINTER LU_^1_%OVLDA ITRUE,13_2CHECK RESUL€€TS_^1_%SAN_!RUN55_5SKIP IF BOTH WERE OK_^1_%OVRAO ITRUE,13_2IF NOT, SET TRUE_^1_%OVOVG 89,BADLU,13_/AND GO ERROR MSG_^1RUN55 EQU_!RUN55(*)_^1_%OVOVR 06,CHRPR,13_0CHECK FOR CHRPR_^1RUN60 EQU RUN60(*)_^1_%LDA- JFLAGS,I_3GET FLAGS_^1_%AND- ZROBIT+9_3SET ACTIVATE BIT_^1_%EOR- ONEBIT+9_^1_%AND- ZROBIT+14_2CLEAR SUSPENDED ,SET RUNNING)_^1_%STA- JFLAGS,I_3SET UP FLAGS_^1_%OVOVG 08,TPSC€€HR,13_.GO SCH TP01_^1_%EJT_]_^1*_]_^1*_$OVERLAY 14_(MOTION COMMAND PROCESSING,ALWAYS TRUE_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES_^1*_]_^1*_*REW_*14_^1*_*ADF_*14_^1*_*ADR_*14_^1*_*BSF_*14_^1*_*BSR_*14_^1*_*SKIP_)14_^1*_]_^1*_$CALLS RECURSIVE ROUTINES_^1*_]_^1*_*NONE_^1*_]_^1*_$EXITS DIRECTLY TO_^1*_]_^1*_*BADPRM_'94_^1*_*RET_*ROOT_^1*_*LUBUSY_'08_^1*_]_^1_%HEADER 14_^1FSKIP EQU FS€€KIP(2)_3SKIP = 2_^1FREW_!EQU FREW(3)_4REW = 3_^1FADF_!EQU FADF(5)_4ADF = 5_^1FADR_!EQU FADR(7)_4ADR = 7_^1FBSF_!EQU FBSF(6)_4BSF = 6_^1FBSR_!EQU FBSR(1)_4BSR = 1_^1*_]_^1*_$FUNCTION CODE EQUATES_^1*_]_^1*_]_^1*_$MOTION REQUEST FORMAT EQUATES_^1*_]_^1MRQFN EQU MRQFN(5)_^1MRQLU EQU MRQLU(4)_^1MRQTD EQU MRQTD(3)_3THREAD_^1MRQER EQU MRQER(4)_3ERROR CODE_^1*_]_^1*_$REW ENTRY€€ - RECURSIVE_^1*_]_^1*_$SET FUNCTION = REW_^1*_$GO COMMON CODE_^1*_]_^1REW_"EQU REW(*)_^1_%ENA FREW_7SET FUNCTION = REW_^1_%STA TEMPSV+3_3SAVE FUNCTION_^1_%ADDR TEMPSV+3,14_^1_%JMP* MOTION_^1*_]_^1*_$ADF ENTRY - RECURSIVE_^1*_]_^1*_$SET FUNCTION = ADF_^1*_$GO COMMON CODE_^1*_]_^1ADF_"EQU ADF(*)_^1_%ENA FADF_7FUNCTION = ADF_^1_%STA TEMPSV+3_3SAVE FUNCTION_^1_%ADDR TEMPSV+3,14€€_^1_%JMP* MOTION_^1*_]_^1*_$ADR ENTRY - RECURSIVE_^1*_]_^1*_$SET FUNCTION = ADR_^1*_$GO COMMON CODE_^1*_]_^1ADR_"EQU ADR(*)_^1_%ENA FADR_7FUNCTION = ADR_^1_%STA TEMPSV+3_3SAVE FUNCTION_^1_%ADDR TEMPSV+3,14_^1_%JMP* MOTION_^1*_]_^1*_$BSF ENTRY - RECURSIVE_^1*_]_^1*_$SET FUNCTION = BSF_^1*_$GO COMMON CODE_^1*_]_^1BSF_"EQU BSF(*)_^1_%ENA FBSF_7FUNCTION = BSF_^1_%STA TEMPSV+3_3€€SAVE FUNCTION_^1_%ADDR TEMPSV+3,14_^1_%JMP* MOTION_^1*_]_^1*_$BSR ENTRY - RECURSIVE_89_^1*_]_^1*_$SET FUNCTION = BSR_^1*_$GO COMMON CODE_^1*_]_^1BSR_"EQU BSR(*)_^1_%ENA FBSR_7FUNCTION = BSR_^1_%STA TEMPSV+3_3SAVE FUNCTION_^1_%ADDR TEMPSV+3,14_^1*_]_^1*_$COMMON CODE FOR MOTION COMMANDS_^1*_]_^1*_$PICK UP NUMBER_^1*_$SET TO 1 IF 0_^1*_$CHECK FOR LEGAL MAX (4095)_^1*_*IF NOT LEGAL€€, EXIT TO BAD OPERAND ROUTINE_^1*_$MASK IN NUMBER AND FUNCTION_^1*_$CHECK FOR LU NOT IN USE_^1*_$MASK IN TAPE UNIT NUMBER (IS PRINTER IF SKIP)_^1*_$MASK IN FUNCTION_^1*_$PERFORM FUNCTION_^1*_$EXIT TO DISP TO AWAIT COMPLETION_^1*_]_^1MOTION EQU MOTION(*)_^1_%OVLDA ITMPSV,14_1GET NUMBER_^1_%SAN MOTN05_5SKIP IF NOT 0_^1_%OVRAO ITMPSV,14_1SET NBR ITERATIONS TO 1_^1MOTN05 EQU MOTN05(€€*)_^1_%AND- NZERO+12_3CHECK FOR MAX_^1_%SAZ MOTN10_5SKIP IF OK_^1_%OVOVG 94,BADPRM,14_^1MOTN10 EQU MOTN10(*)_^1_%LDQ TEMPSV+3_3GET FUNCTION_^1_%ADDR TEMPSV+3,14_^1_%QLS 12_9POSITION IN 12-14_^1_%STQ* MOTPKT+MRQFN_.STORE FOR REQUEST_^1_%ENQ 1_:START AT DS 1_^1_%STQ* MOTNCT_5SAVE_^1MOTNLP EQU MOTNLP(*)_^1_%LDQ AJOB-1,Q_3GET JOB TAB FOR DS_^1_%ADDR AJOB-1,14_^1_%LDA- JFLAGS,Q_€€3GET FLAGS_^1_%AND =N$4080_4ISOLATE SUSP/ASGN FLAGS_^1_%SUB- ONEBIT+7_3CHECK FOR ASSIGNED AND RUNNING_^1_%SAZ MOTNCK_5CONTINUE CHECK IF YES_^1_%JMP* MOTNOK_5BYPASS CKECK IF NOT_^1MOTNCK EQU MOTNCK(*)_^1_%LDA- JTPLU,Q_4GET TAPE LU_^1_%SUB TEMPSV+1_3CHECK AGAINST TAPE LU_^1_%ADDR TEMPSV+1,14_^1_%SAN MOTNOK_5SKIP IF NOT SAVE_^1_%LDA- JTPLU,Q_4ELSE GET LU_^1_%OVSTA ITMPSV,14_1SAVE€€ FOR ERROR MSG RTN_^1_%OVOVG 08,LUBUSY,14_.GP ERROR MSG_^1MOTNCT NUM 0_:DS COUNT_^1MOTNOK EQU MOTNOK(*)_^1_%RAO* MOTNCT_5BUMP TO NEXT DS_^1_%LDA* MOTNCT_5GET DS NBR_^1_%INA -1_^1_%SUB =XDSNUM_%MAX_^1_%SAP MOTN30_5SKIP IF ALL DONE_^1_%LDQ* MOTNCT_5GET DS BBR_^1_%JMP* MOTNLP_5CHECK NEXT_^1MOTN30 EQU MOTN30(*)_^1_%LDA* MOTPKT+MRQLU_/GET LU WORD_^1_%AND- NZERO+12_3CLEAR LU AREA_^€€1_%EOR TEMPSV+1_3ADD IN NEW LU_^1_%ADDR TEMPSV+1,14_^1_%STA* MOTPKT+MRQLU_/SET UP LU FOR REQUEST_^1MOTN35 EQU_!MOTN35(*)_^1_%ENA 0_:CLEAR THREAD_^1_%STA* MOTPKT+MRQTD_^1MOTPKT EQU MOTPKT(*)_^1*_]_^1*_$HERE GOES_^1*_]_^1_%MOTION 0,MOTCMP-*+1,1,0,,,0,3,,X_^1_%JMP- (ADISP)_^1MOTCMP EQU MOTCMP(*)_^1_%SQP_!MOTAOK_4SKIP IF NO ERROR_^1_%OVRET 14_8ON ERROR, TERMINATE OP_^1MOTAOK EQU_!M€€OTAOK(*)_^1_%OVLDA ITMPSV,14_1GET COUNT_^1_%INA_!-1_8DECR COUNT_^1_%SAZ_!MOTDON_4SKIP IF DONE_^1_%OVSTA ITMPSV,14_1ELSE SA VE NEW COUNT_^1_%JMP* MOTN35_4AND REPEAT_^1MOTDON EQU MOTDON(*)_^1_%OVRET 14_^1_%EJT_]_^1*_]_^1*_$OVERLAY 15_^1*_]_^1*_$CONTAINS RESURSIVE ROUTINES_^1*_]_^1*_*SKIP_)15_^1*_]_^1*_$CALLS RESURSIVE ROUTINES_^1*_]_^1*_*NONE_^1*_]_^1*_$EXITS DIRECTLY TO RESUSSIVE €€ROUTINES_^1*_]_^1*_*LUBUSY_'08_^1*_*RET_*08_^1*_]_^1_%HEADER 15_^1*_]_^1*_$SKIP ENTRY - RECURSIVE_^1*_]_^1SKIP_!EQU SKIP(*)_^1*_]_^1*_$GET NUMBER AND ERROR IF NOT LEGAL_^1*_$SET TO 1 IF 0_^1*_]_^1_%OVLDA ITMPSV,15_1GET NUMBER ITERATIONS_^1_%SAN SKIP05_^1_%OVRAO ITMPSV,15_1SET DEFAULT TO 1_^1SKIP05 EQU SKIP05(*)_^1_%TRA Q_:SAVE N_^1_%AND- NZERO+12_3CHECK FOR MAX_^1_%SAZ SKIP10_€€5SKIP IF LT MAX_^1_%OVOVG 94,BADPRM,15_.ELSE FO BAD PARAM_^1SKIP10 EQU SKIP10(*)_^1_%ENQ 1_:START AT DS 1_^1_%STQ* SKIPCT_5SAVE_^1SKIPLP EQU SKIPLP(*)_^1_%LDQ AJOB-1,Q_3GET JOB TAB FOR DS_^1_%ADDR AJOB-1,15_^1_%LDA- JFLAGS,Q_3GET FLAGS_^1_%AND =N$4080_4ISOLATE SUSP/ASGN FLAGS_^1_%SUB- ONEBIT+7_3CHECK FOR ASSIGNED AND RUNNING_^1_%SAZ SKIPCK_5CONTINUE CHECK IF YES_^1_%JMP* SKIP€€OK_5BYPASS CKECK IF NOT_^1SKIPCK EQU SKIPCK(*)_^1_%LDA- JPRLU,Q_4GET PRINTER LU_^1_%SUB TEMPSV+2_3CHECK AGAINST PRINTER LU_^1_%ADDR TEMPSV+2,15_^1_%SAN SKIPOK_5SKIP IF NOT SAVE_^1_%LDA- JPRLU,Q_4ELSE GET LU_^1_%OVSTA ITMPSV,15_1SAVE FOR ERROR MSG RTN_^1_%OVOVG 08,LUBUSY,15_.GP ERROR MSG_^1SKIPCT NUM 0_:DS COUNT_^1SKIPOK EQU SKIPOK(*)_^1_%RAO* SKIPCT_5BUMP TO NEXT DS_^1_%LDA* S€€KIPCT_5GET DS NBR_^1_%INA -1_^1_%SUB =XDSNUM_%MAX_^1_%SAP SKIP30_5SKIP IF ALL DONE_^1_%LDQ* SKIPCT_5GET DS BBR_^1_%JMP* SKIPLP_5GO CHECK NEXT_^1SKIP30 EQU SKIP30(*)_^1_%LDA* SKPPKT+MRQLU_/GET LU WORD_^1_%AND- NZERO+12_3CLEAR LU AREA_^1_%EOR TEMPSV+2_3ADD IN PRINT LU_^1_%ADDR TEMPSV+2,15_^1_%STA* SKPPKT+MRQLU_/SET UP LU FOR REQUEST_^1SKIP20 EQU SKIP20(*)_^1_%ENA 0_:CLEAR THRE€€AD_^1_%STA* SKPPKT+MRQTD_^1SKPPKT EQU SKPPKT(*)_^1_%MOTION 0,SKPCMP-*+1,FSKIP,0,,,0,3,,X_^1_%JMP- (ADISP)_^1SKPCMP EQU SKPCMP(*)_^1_%SQP_!SKPAOK_4SKIP IF NO ERROR_^1_%OVRET 15_8EXIT ON ERROR_^1SKPAOK EQU SKPAOK(*)_^1_%OVLDA ITMPSV,15_1GET COUNT_^1_%INA -1_9CECR_^1_%SAZ SKPDON_5SKIP IF DONE_^1_%OVSTA ITMPSV,15_1ELSE SAVE NEEW COUNT_^1_%JMP* SKIP20_5AND LOOP AGAIN_^1SKPDON EQU €€SKPDON(*)_^1_%OVRET 15_8EXIT_^1_%EJT_]_^1*_]_^1*_$OVERLAY 16_^1*_]_^1*_$INITIALIZATION OF JOB TABLES, CC AND TC TABLES AREA AND_^1*_$PRINTER BUFFERS_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES_^1*_]_^1*_*TABINT_'16_^1*_]_^1*_$CALLS RECURSIVE ROUTINES_^1*_]_^1*_$EXITS DIRECTLY TO_^1*_]_^1*_*RET_*ROOT_^1*_]_^1_%HEADER 16_^1TBSTRT EQU_!TBSTRT(*)_1START OF OVERLAY_^1TBJBNM NUM 0_:JOB NUMB€€ER SAVE CELL_^1TBPRNM NUM 0_:SAVE CELL FOR PRINT BFR NBR-1_^1TABINT EQU TABINT(*)_^1*_]_^1*_$INIT JOB NUMBER TO 1 AND ENTER LOOP_^1*_]_^1_%ENA 1_:SET JOB NUM TO 1_^1_%JMP* TBIL05_^1*_]_^1*_$JOB NUMBER LOOP_^1*_]_^1*_$INCREMENT TO NEXT JOB NUMBER_^1*_$EXIT IF BEYOND LAST DS._^1*_$CALCULATE JOB TABLE ADDR,SAVE IN AJOB TABLE AND AN I_^1*_*IF 1ST JOB, JOB TABLE IS AT END OF TAPE BUF€€FER_^1*_]_^1TBIL00 EQU TBIL00(*)_2JOB NUMBER LOOP_^1_%LDA* TBJBNM_5GET JOB NUMBER_^1_%INA 1_:INCREMENT_^1TBIL05 EQU TBIL05(*)_^1_%STA* TBJBNM_5SAVE JOB NUMBER_^1_%INA -1_9A = JOBNBR-1_^1_%TRA Q_:Q = JOBNBR-1_^1_%SUB =XDSNUM_4A = JOBNBR-1-MAXIMUM_^1_%SAM TBIL10_5SKIP IF NOT BEYOND MAX_^1_%JMP* TBIL95_5EXIT LOOP IF DONE_^1TBIL10 EQU TBIL10(*)_^1_%SQN TBIL12_5SKIP IF NOT 1ST €€DS_^1_%RTJ* TBILA_6GENERATE ABS ADDR_^1TBILA NUM 0_^1TBOFF_!EQU TBOFF(TBILA-TBSTRT)_(OFFSET OF TBILA IN OVERLAY_^1_%LDA* TBILA_6GET ABS ADDR_^1_%ADD =X96-TBOFF_1CALC ADDR TAPE BFR_^1_%ADD BUFSIZ_^1_%ADDR BUFSIZ,16_^1_%JMP* TBIL15_5BYPASS NON-FIRST CODE_^1TBIL12 EQU TBIL12(*)_^1_%LDA AJOB-1,Q_3A=ADDR PREVIOUS JOB AREA_^1_%ADDR AJOB-1,16_^1_%ADD =XJBALEN_3BUMP TO NEXT JOB AREA€€_^1TBIL15 EQU TBIL15(*)_^1_%STA AJOB,Q_5SAVE JOBTAB ADDR IN AJOB TABLE_^1_%ADDR AJOB,16_^1_%STA- $FF_8I= AREA START ADDR_^1*_]_^1*_$INITIALIZE FIELDS IN JOB TABLE_^1*_]_^1_%ENA 0_:CLEAR SOME FIELDS_^1_%STA- JIOBKS+1,I_1WORD 2,3 OF BACKSPACE PKT=0_^1_%STA- JIOBKS+2,I_^1_%STA- JIOTRD,I_3THREAD IN IO PKT = 0_^1_%STA- JIOLU,I_4LU IN IO PKT =0_^1_%LDA =N$4000_4INIT FLAGS TO SUSPENDE€€D_^1_%STA- JFLAGS,I_^1_%LDA =N$0403_4INIT IO PKT WRITE,RP=0,CP=3_^1_%STA- JIOPKT,I_^1_%ENA 73_9INIT IO BFR SIZE TO 73_^1_%STA- JIOSIZ,I_^1_%LDA =N$1C43_4INIT BACKSPACE PACKET_^1_%STA- JIOBKS,I_^1_%LDA- ONEBIT+12_^1_%STA- JIOBLU,I_^1_%STA- JIOBLU+1,I_^1_%LDQ- $FF_8Q=START ADDR_^1_%ADQ =XPBFRA_4ADD OFFSET TO PBFRS_^1_%STQ- JPBFRE,I_3STORE IN JOB TABLE_^1*_]_^1*_$LOOP TO INITIALIZ€€E PRINT BUFFERS_^1*_]_^1*_$SAVE JOB TABLE ADDR IN BUFFER_^1*_$SET THREAD = NEXT AVAILABLE OR 0_^1*_$EXIT LOOP IF HAVE DONE LAST (THREAD = 0)_^1*_$ELSE INCREMENT NUMBER AND REPEAT LOOP WITH NEXT BUFFER_^1*_]_^1_%ENA 1_:START WITH NUMBER 1_^1_%STA* TBPRNM_5SAVE NUMBER_^1TBIL50 EQU TBIL50(*)_^1_%LDA- $FF_8SAVE JOB TABLE ADDR_^1_%STA- 1,Q_^1_%LDA* TBPRNM_5GET NUMBER_^1_%INA -4_9CHEC€€K AGAINST MAX_^1_%SAZ TBIL60_5SKIP IF LAST_^1_%TRQ A_:ELSE SET A = NEXT BFR_^1_%INA PBSZ_^1TBIL60 EQU TBIL60(*)_^1_%STA- (ZERO),Q_3SET LINK (0 IF LAST) TO NEXT_^1_%SAZ TBIL70_5EXIT IF DONE_^1_%TRA Q_:ELSE BUMP TO NEXT BFR_^1_%RAO* TBPRNM_5BUMP NUMBER_^1_%JMP* TBIL50_5REPEAT LOOP_^1TBIL70 EQU_!TBIL70(*)_^1_%JMP* TBIL00_5RELOOP_^1*_]_^1*_$EXIT POINT_^1*_]_^1TBIL95 EQU TBIL95(*€€)_^1_%OVRET 16_^1_%EJT_]_^1*_]_^1* *_!SEL,JOBNAME(,TN,PN)_^1* *_!START,DXXXXXD,N(,DS)_^1* *_!STOP,DXXXXXD,N(,DS)_^1* *_!REL_]_^1* *_!PART,SLC,ELC(,DS)_^1* *_"ASGN,(TN,PN,DS)_^1* *_!REW,UNIT_^1* *_!ADF,UNIT,N_^1* *_!BSF,UNIT,N_^1* *_!ADR,UNIT,N_^1* *_!BSR,UNIT,N_^1* *_!SKIP,UNIT,N_^1* *_!SUSP(,DS)_^1* *_!RUN(,DS)_^1* *_!FREE(,DS)_^1* *_!TERM_]_^1_%EJT_]_^1*_]_^1*_$OVERLAY 88_(PROCES€€S PARAMETERS ON RUN,SUSP,FREE_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_]_^1*_*DRUN1_(88_^1*_*DRUN2_(88_^1*_*DSUSP1_'88_^1*_*DSUSP2_'88_^1*_*DFREE1_'88_^1*_*DFREE2_'88_^1*_*DFREE3_'88_^1*_*DATASX_'88_^1*_]_^1*_$CALLS RECURSIVE ROUTINES_^1*_]_^1*_*EOL_*ROOT_^1*_*NM_+ROOT_^1*_*DATSTS_%07_^1*_*DATSTR_%07_^1*_*DATSTM_%07_^1*_*DATRUN_%07_^1*_*DATSAV_%07_^1*_]_^1*_$EXITS DIRECTLY TO%_^€€1*_]_^1*_*BADSTM_'94_^1*_*RUN_*13_^1*_*SUSP_)12_^1*_*FREE_)12_^1*_*BADSTZ_'08_^1*_*RET_*ROOT_^1*_]_^1_%EQU OVN88(*-1)_^1_%EQU OVA88(OVN88/96)_^1_%EQU OVB88(OVA88+1)_^1_%EQU OVC88(OVB88*96)_^1_%BSS (OVC88-*)_^1_%EQU BS88(BASE-*)_^1*_]_^1*_]_^1*_$1_"VERIFY DATA STREAM PARAM+ EOL AND GO TO 2_^1*_*IF NOT, PUT OUT BAD PARAM MSG_^1*_$2_"VERIFY DATA STREAM LEGAL, ASSIGNED AND SUSPEN€€DED_^1*_*CALL RUN PROCESSOR_^1*_*IF NOT, ISSUE DAD DATA STREAM MESSAGE_^1*_]_^1DRUN1_#EQU DRUN1(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS88_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/88,X8/DATASX-DATASX/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS88_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS88_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS88_!RTJ* (=XIGO-*-BS€€XX)_^1_%VFD N1/0,N7/88,X8/DRUN2-DRUN2/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS88_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS88_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/94,X8/BADSTM-BADSTM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS88_"JMP* (IRET-*-BSXX)_^1DRUN2_#EQU DRUN2(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS88_!RTJ* (=XIRECUR-*-BSXX)_^1_%V€€FD N1/0,N7/07,X8/DATSTS-DATSTS/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS88_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/13,X8/RUN-RUN/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS88_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS88_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/94,X8/BADSTM-BADSTM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS88_"JMP* (IRET-*-BSXX)_^1DATA€€SX_#EQU DATASX(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS88_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS88_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS88_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/07,X8/DATSAV-DATSAV/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS88_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$1_"VERIFY DATA STREAM PARAM+ EOL AND GO TO 2_^1*_*IF NOT, PUT OUT BAD PAR€€AM MSG_^1*_$2_"VERIFY DATA STREAM LEGAL, ASSIGNED AND RUNNING_^1*_*IF NOT, ISSUE DAD DATA STREAM MESSAGE_^1*_$CALL SUSP PROCESSOT_^1*_]_^1DSUSP1_#EQU DSUSP1(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS88_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/88,X8/DATASX-DATASX/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS88_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS88_!€€ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS88_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/88,X8/DSUSP2-DSUSP2/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS88_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS88_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/94,X8/BADSTM-BADSTM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS88_"JMP* (IRET-*-BSXX)_^1DSUSP2_#EQU DSUSP2(*)_!RECURSIVE ROUTI€€NE_^1_%VFD N8/$5C,X8/IRECUR-*-BS88_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/07,X8/DATSTR-DATSTR/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS88_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/12,X8/SUSP-SUSP/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS88_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS88_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/94,X8/BADSTM-BADSTM/96*96 OVERLAY €€REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS88_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$1_"VERIFY DATA STREAM PARAMETER, GO TO 2_^1*_*IF BAD, ISSUE BAD SATA STREAM MESSAGE_^1*_$2_"VERIFY DATA STREAM ASSIGNED AND GO TO 3_^1*_*IF NOT, ISSUE BAD DATA STREAM MESSAGE_^1*_$3_"VERIFY DATA STREAM SUSPENDED AND GO TO FREE PROCESSOR_^1*_*IF NOT, ISSUE DATA STREAM ACTIVE MESSAGE_^1*_]_^1DFREE1_#EQU DFREE1(*€€)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS88_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/88,X8/DATASX-DATASX/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS88_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS88_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS88_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/88,X8/DFREE2-DFREE2/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS88_!R€€TJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS88_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/94,X8/BADSTM-BADSTM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS88_"JMP* (IRET-*-BSXX)_^1DFREE2_#EQU DFREE2(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS88_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/07,X8/DATSTM-DATSTM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS88_!RTJ* (=X€€IGO-*-BSXX)_^1_%VFD N1/0,N7/88,X8/DFREE3-DFREE3/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS88_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS88_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/94,X8/BADSTM-BADSTM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS88_"JMP* (IRET-*-BSXX)_^1DFREE3_#EQU DFREE3(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS88_!RTJ* (=XIRECUR-*€€-BSXX)_^1_%VFD N1/0,N7/07,X8/DATRUN-DATRUN/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS88_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/12,X8/FREE-FREE/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS88_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS88_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/08,X8/BADSTZ-BADSTZ/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS88_"JMP* (IRET-€€*-BSXX)_^1_%EJT_]_^1*_]_^1*_]_^1*_$OVERLAY 89_^1*_]_^1*_$CONTAINS RECURSIVE ROUINES_^1*_]_^1*_$BADLU_^1*_$DUMMY_^1*_]_^1*_$CALLS RECURSIVE ROUTINES_^1*_]_^1*_+OUTPUT_%ROOT_^1*_+ZMVP_(ROOT_^1*_]_^1*_$CALLS NON RECURSIVE ROUTINES_^1*_+CLI_)ROOT_^1*_]_^1*_]_^1*_$EXITS DIRECTLU TO_^1*_]_^1*_+RET_^1*_]_^1_%EQU OVN89(*-1)_^1_%EQU OVA89(OVN89/96)_^1_%EQU OVB89(OVA89+1)_^1_%EQU OVC89(O€€VB89*96)_^1_%BSS (OVC89-*)_^1_%EQU BS89(BASE-*)_^1*_]_^1*_$BADLU - OUTPUT BAD LU MESSAGE_^1*_]_^1BADLU_#EQU BADLU(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS89_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 10_^1_%ALF 05,ILLEGAL LU_^1_%VFD N8/$5C,X8/IRECUR-*-BS89_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS89_^1_%VFD N8/$5C,X8/IRECUR-*-BS89_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X€€15/OUTPUT-*-BS89_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS89_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$DUMMY OVERLAY TO RESOLVE PROBLEMS_^1*_]_^1*_]_^1* DUMMY ROUTINE_^1*_]_^1DUMMY_#EQU DUMMY(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$1C,X8/IRET-*-BS89_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$DUMMY ROUTINES_^1*_]_^1_%EJT_]_^1*_]_^1*_$OBERLAY 90 - PROCESS AKIP PARAMETERS_^1*_]_^1*_$CONTAINS RECURSIVE ROUTI€€NES%_^1*_]_^1*_*DSKIP1_'90_^1*_*PRUNTP_'90_^1*_*NMBRPR_'90_^1*_]_^1*_$CALLS RECURSIVE ROUTINES%_^1*_]_^1*_*COMMM_(ROOT_^1*_*CKEOL_(ROOT_^1*_*NM_+ROOT_^1*_*PRLU_)05_^1*_*OUTPUT_'ROOT_^1*_]_^1*_$EXITS DIRECTLY TO%_^1*_]_^1*_*SKIP_)15_^1*_*FALSE_(ROOT_^1*_*BADPRX_'94_^1*_*RET_*ROOT_^1*_]_^1_%EQU OVN90(*-1)_^1_%EQU OVA90(OVN90/96)_^1_%EQU OVB90(OVA90+1)_^1_%EQU OVC90(OVB90*96)_^1_%€€BSS (OVC90-*)_^1_%EQU BS90(BASE-*)_^1*_]_^1* CHECK FOR VALID PRINTER UNIT_^1* CHECK FOR COMMA_^1* CHECK FOR VALID NUMBER_^1* CHECK FOR EOL FOLLOWING_^1* CALL SKIP COMMAND PROCESSOR)_^1* ALWAYS RETURN TRUE_^1*_]_^1DSKIP1_#EQU DSKIP1(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS90_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/90,X8/PRUNTP-PRUNTP/96*96 OVERLAY REFERENCE_^1_€€%VFD N8/$5C,X8/IRECUR-*-BS90_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMM-*-BS90_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS90_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/90,X8/NMBRPR-NMBRPR/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS90_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CKEOL-*-BS90_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS90_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,€€N7/15,X8/SKIP-SKIP/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS90_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS90_"JMP* (IRET-*-BSXX)_^1*_]_^1* ROUTINE TO CHECK FOR VALID PRINTER LOGICAL UNIT NUMBER. FALSE IF NO._^1* FALSE IF BAD NUMBER OR BAD UNIT. OUTPUT ERROR MESSAGE._^1*_]_^1PRUNTP_#EQU PRUNTP(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS90_!RTJ* (=XI€€RECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS90_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS90_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/05,X8/PRLU-PRLU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS90_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS90_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 10_^1_%ALF 05,ILLEGAL LU_^1_%VFD N8/$5C,X8/IRECUR-*-BS90_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,€€X15/ZMVP-*-BS90_^1_%VFD N8/$5C,X8/IRECUR-*-BS90_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS90_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS90_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/1,X15/FALSE-*-BS90_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS90_"JMP* (IRET-*-BSXX)_^1*_]_^1* CHECK FOR VALID NUMBER._^1* IF NOT, OUTPUT ERROR MESSAGE AND RETURN FALSE_^1*_]_^1NMBRPR_#EQU NMBRPR(*)_€€!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS90_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS90_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS90_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/09,X8/NMSAV-NMSAV/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS90_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS90_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/94,X8/BADPRX-BADPRX/96*96 O€€VERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS90_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1*_]_^1*_$OVERLAY 91_(TAPE MOTION COMMAND PARAMETER PROCESSING_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_]_^1*_*DREW1_(91_^1*_*DADF1_(91_^1*_*DADR1_(91_^1*_*DBSF1_(91_^1*_*DBSR1_(91_^1*_*NMBRTP_'91_^1*_*TLUNTT_'91_^1*_]_^1*_$CALLS RECURSIVE ROUTINES%_^1*_]_^1*_*CKEOL_(ROOT_^1*_*TPLU_)05_^1*_*OUTPUT_'RO€€OT_^1*_*COMMM_(ROOT_^1*_*NM_+ROOT_^1*_]_^1*_$EXITS DIRECTLY TO RECURSIVE ROUTINES_^1*_]_^1*_*REW_*14_^1*_*ADF_*14_^1*_*ADR_*14_^1*_*BSF_*14_^1*_*BSR_*14_^1*_*BADPRX_'94_^1*_*FALSE_(ROOT_^1*_*RET_*ROOT_^1*_]_^1_%EQU OVN91(*-1)_^1_%EQU OVA91(OVN91/96)_^1_%EQU OVB91(OVA91+1)_^1_%EQU OVC91(OVB91*96)_^1_%BSS (OVC91-*)_^1_%EQU BS91(BASE-*)_^1*_]_^1* CHECK FOR VALID TAPE UNIT PARAM€€ETER_^1* CHECK FOR EOL FOLLOWING_^1* CALL REW COMMAND PROCESSOR_^1* ALWAYS RETURN TRUE_^1*_]_^1DREW1_#EQU DREW1(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/91,X8/TLUNTT-TLUNTT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CKEOL-*-BS91_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-B€€S91_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/14,X8/REW-REW/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS91_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS91_"JMP* (IRET-*-BSXX)_^1*_]_^1* CHECK FOR VALID TAPE UNIT NUMBER_^1* CHECK FOR COMMA_^1* CHECK FOR VALID NUMBER_^1* CHECK FOR EOL FOLLOWING_^1* CALL ADF COMMAND PROCESSOR_^1* ALWAYS RETURN TRUE_^1*_]_^1DADF1_#EQU €€DADF1(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/91,X8/TLUNTT-TLUNTT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMM-*-BS91_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/91,X8/NMBRTP-NMBRTP/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8€€/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CKEOL-*-BS91_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS91_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/14,X8/ADF-ADF/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS91_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS91_"JMP* (IRET-*-BSXX)_^1*_]_^1* CHECK FOR VALID TAPE UNIT NUMBER_^1* CHECK FOR COMMA_^1* CHECK FOR VALID N€€UMBER_^1* CHECK FOR EOL FOLLOWING_^1* CALL ADR COMMAND PROCESSOR_^1* ALWAYS RETURN TRUE_^1*_]_^1DADR1_#EQU DADR1(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/91,X8/TLUNTT-TLUNTT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMM-*-BS91_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR€€-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/91,X8/NMBRTP-NMBRTP/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CKEOL-*-BS91_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS91_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/14,X8/ADR-ADR/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS91_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS€€91_"JMP* (IRET-*-BSXX)_^1*_]_^1* CHECK FOR VALID TAPE UNIT NUMBER_^1* CHECK FOR COMMA_^1* CHECK FOR VALID NUMBER_^1* CHECK FOR EOL FOLLOWING_^1* CALL BSF COMMAND PROCESSOR_^1* ALWAYS RETURN TRUE_^1*_]_^1DBSF1_#EQU DBSF1(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/91,X8/TLUNTT-TLUNTT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X€€8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMM-*-BS91_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/91,X8/NMBRTP-NMBRTP/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CKEOL-*-BS91_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS91_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/14,X8/BSF-€€BSF/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS91_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS91_"JMP* (IRET-*-BSXX)_^1*_]_^1* CHECK FOR VALID TAPE UNIT NUMBER_^1* CHECK FOR COMMA_^1* CHECK FOR VALID NUMBER_^1* CHECK FOR EOL FOLLOWING_^1* CALL BSR COMMAND PROCESSOR_^1* ALWAYS RETURN TRUE_^1*_]_^1DBSR1_#EQU DBSR1(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECU€€R-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/91,X8/TLUNTT-TLUNTT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMM-*-BS91_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/91,X8/NMBRTP-NMBRTP/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/€€1,X15/CKEOL-*-BS91_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS91_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/14,X8/BSR-BSR/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS91_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS91_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$NMBRTP - RECURSIVE_^1*_]_^1*_$VERIFY VALID NUMERIC PARAMETER_^1*_$IF NOT, ISSUE BAD PARAMETER MESSAGE AND EXIT DIRECT FLLSE_^1*€€_]_^1NMBRTP_#EQU NMBRTP(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS91_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/09,X8/NMSAV-NMSAV/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS91_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS91_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/€€94,X8/BADPRX-BADPRX/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS91_"JMP* (IRET-*-BSXX)_^1*_]_^1* ROUTINE TO CHECK FOR VALID TAPE LOGICAL UNIT. FALSE IF NOT._^1* FALSE IF BAD NUMBER OR BAD UNIT. OUTPUT ERROR MESSAGE_^1*_]_^1TLUNTT_#EQU TLUNTT(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS91_!ROOT REFERENCE_^1_%VF€€D N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/05,X8/TPLU-TPLU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS91_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS91_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 10_^1_%ALF 05,ILLEGAL LU_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS91_^1_%VFD N8/$5C,X8/IRECUR-*-BS91_!RTJ* (=XIRECU€€R-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS91_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS91_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/1,X15/FALSE-*-BS91_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS91_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1*_]_^1*_$OVERLAY 92_(EXAMINE ASGN PARAMETERS_!ALWAYS TRUE_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_]_^1*_*DASGN1_'92_^1*_*DASGN2_'92_^1*_*DASGN3_'92_^1*_*DASGN4_'92_€€^1*_*DATASA_'92_^1*_*ASGNLU_'92_^1*_*ASGNTU_'92_^1*_*ASGNPU_'92_^1*_]_^1*_$CALLS RECURSIVE ROUTINES_^1*_]_^1*_*DATSTT_'07_^1*_*COMMA_(ROOT_^1*_*EOL_*ROOT_^1*_*NM_+ROOT_^1*_]_^1*_$EXITS DIRECTLY TO_^1*_]_^1*_*ASGN_)11_^1*_*BADPRX_'94_^1*_*DATSAV_'07_^1*_*TPLU_)05_^1*_*PRLU_)05_^1*_*RET_*ROOT_^1*_]_^1_%EQU OVN92(*-1)_^1_%EQU OVA92(OVN92/96)_^1_%EQU OVB92(OVA92+1)_^1_%EQU OVC92(OV€€B92*96)_^1_%BSS (OVC92-*)_^1_%EQU BS92(BASE-*)_^1*_]_^1*_$HAVE COMMA, CHECK FOR VALID PARAMETER STRING_^1*_$VERIFY DATA STREAM NUMBER OK (DEFAULT,LEGAL,ASSIGNED,SUSPENDED)_^1*_$CALL ASGN PROCESSOR IF REXT OF STMT IS OK_^1*_$IF NOT, DO NOT CALL PROCESSOR BUT RETURN TRUE_^1*_]_^1DASGN1_#EQU DASGN1(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS92_!RTJ* (=XIRECUR-*-BSXX)_^1_%V€€FD N1/0,N7/92,X8/DASGN2-DASGN2/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS92_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/07,X8/DATSTT-DATSTT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS92_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/11,X8/ASGN-ASGN/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS92_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS92_"JMP* (IRET-*-BSX€€X)_^1*_]_^1*_$CHECK FOR VALID PARAMETERS AFTER A COMMA_^1*_$BYPASS EXTRANEOUS COMMAS_^1*_$CALL ROUTINE TO VERIFY PARAMETERS_^1*_$IF PARAMETER CHECK GIVES FALSE, RETRUN FALSE_^1*_$IF PARAMETER CHECK IS TRUE, GO CHECK FOR MOTE PARAMS OR EOL_^1*_$EOL WILL RETURN TRUE AND FORCE TRUE EXIT_^1*_$COMMA WILL REENTER THIS LEVEL DIRECTLY_^1*_$ANYTHING ELAE WILL RETURN FALSE FORCING FALSE EXIT€€_^1*_]_^1DASGN2_#EQU DASGN2(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS92_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMA-*-BS92_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS92_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/92,X8/DASGN2-DASGN2/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS92_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS92_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD€€ N1/0,N7/92,X8/DASGN4-DASGN4/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS92_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/92,X8/DASGN3-DASGN3/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS92_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$CHECK AFTER A PARAMETER_^1*_$IF EOL, EXIT TRUE_^1*_$IF COMMA, GO REPEAT PARAMETER CHECK_^1*_$IF NEITHER, RETURN FALSE AFTER BADPARAM MESSAGE_^1*_]_^1DASGN3_#€€EQU DASGN3(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS92_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS92_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS92_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS92_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMA-*-BS92_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS92_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/92,X8/DASGN2-DASGN2/96*96€€ OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS92_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS92_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/94,X8/BADPRX-BADPRX/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS92_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$VERIFY A PARAMETER_^1*_$RETURN FALSE IF NOT LOGICAL UNIT OR DATA STREAM_^1*_]_^1DASGN4_#EQU DASGN4(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C€€,X8/IRECUR-*-BS92_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/92,X8/ASGNLU-ASGNLU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS92_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS92_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/92,X8/DATASA-DATASA/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS92_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS92_!RTJ* (=XIGO-*-BSXX)_^1€€_%VFD N1/0,N7/94,X8/BADPRX-BADPRX/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS92_"JMP* (IRET-*-BSXX)_^1DATASA_#EQU DATASA(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS92_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS92_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS92_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/07,X8/DATSAV-DATSAV/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/I€€RET-*-BS92_"JMP* (IRET-*-BSXX)_^1*_]_^1* CHECK FOR EITHER VALID PARAMETER. FALSE IF NEITHER._^1*_]_^1ASGNLU_#EQU ASGNLU(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS92_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/92,X8/ASGNTU-ASGNTU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS92_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS92_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD €€N1/0,N7/92,X8/ASGNPU-ASGNPU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS92_"JMP* (IRET-*-BSXX)_^1*_]_^1* CHECK FOR 'T' + VALID NUMBER. FALSE IF NOT BOTH_^1* CHECK FOR VALID TAPE LOGICAL UNIT NUMBER (CALL VERIFIER)_^1* FALSE IF NOT VALID_^1*_]_^1ASGNTU_#EQU ASGNTU(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS92_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 01_^1_%ALF 01,T_^1_%VF€€D N8/$5C,X8/IRECUR-*-BS92_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS92_^1_%VFD N8/$5C,X8/IRECUR-*-BS92_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS92_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS92_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/05,X8/TPLU-TPLU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS92_"JMP* (IRET-*-BSXX)_^1*_]_^1* CHECK FOR 'P' + VALID NUMBER. FALSE €€IF NOT BOTH._^1* CHECK FOR VALID PRINTER LOGICAL UNIT. FALSE IF NO (CALL ROUTINE)_^1*_]_^1ASGNPU_#EQU ASGNPU(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS92_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 01_^1_%ALF 01,P_^1_%VFD N8/$5C,X8/IRECUR-*-BS92_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS92_^1_%VFD N8/$5C,X8/IRECUR-*-BS92_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS92_!RO€€OT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS92_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/05,X8/PRLU-PRLU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS92_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1*_]_^1*_$OVERLAY 93_(START,STOP,PART_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_]_^1*_*DSTRT1_'93_^1*_*DSTOP1_'93_^1*_*DPART1_'93_^1*_*CHRNUM_'93_^1*_*OPTDSS_'93_^1*_*DATASS_'93_^1*_*CHRNME_'93_^1*_]_€€^1*_$CALLS RECURSIVE ROUTINES_^1*_]_^1*_*DSTRNG_'05_^1*_*COMMM_(ROOT_^1*_*DATSTT_'07_^1*_*CHRNMS_'09_^1*_*NM_+ROOT_^1*_*BADPRX_'94_^1*_*EOL_*ROOT_^1*_*COMMA_(ROOT_^1*_*CHRNMX_^1*_]_^1*_$EXITS DIRECTLY TO_^1*_]_^1*_*DATSAV_'07_^1*_*START_(10_^1*_*PART_)10_^1*_*STOP_)11_^1*_*BADPRX_'94_^1*_*RET_*ROOT_^1*_]_^1_%EQU OVN93(*-1)_^1_%EQU OVA93(OVN93/96)_^1_%EQU OVB93(OVA93+1)_^1_%EQU €€OVC93(OVB93*96)_^1_%BSS (OVC93-*)_^1_%EQU BS93(BASE-*)_^1* CHECK FOR DELIMITED STRING_^1* CHECK FOR COMMA_^1* CHECK FOR VALID STARTING CHARACTER NUMBER_^1* CHECK FOR OPTIONAL DATA STREAM NUMBER PARAMETER_^1*_$VERIFY DATA STREAM NUMBER OK (DEFAULT,LEGAL,ASSIGNED,SUSPENDED)_^1* CALL START COMMAND PROCESSOR_^1* ALWAYS RETURN TRUE_^1*_]_^1DSTRT1_#EQU DSTRT1(*)_!RECURSIVE ROUTI€€NE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/05,X8/DSTRNG-DSTRNG/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMM-*-BS93_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/93,X8/CHRNUM-CHRNUM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=X€€IRECUR-*-BSXX)_^1_%VFD N1/0,N7/09,X8/CHRNMS-CHRNMS/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/93,X8/OPTDSS-OPTDSS/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/07,X8/DATSTT-DATSTT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS93_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/10,X8/€€STRT-STRT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS93_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS93_"JMP* (IRET-*-BSXX)_^1*_]_^1*_]_^1* CHECK FOR DELIMITED STRING_^1* CHECK FOR COMMA_^1* CHECK FOR VALID STARTING CHARACTER NUMBER_^1* CHECK FOR OPTIONAL DATA STREAM PARAMETER_^1*_$VERIFY DATA STREAM NUMBER OK (DEFAULT,LEGAL,ASSIGNED,SUSPENDED)_^1* CALL STOR €€COMMAND PROCESSOR_^1* ALWAYS RETURN TRUE_^1*_]_^1DSTOP1_#EQU DSTOP1(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/05,X8/DSTRNG-DSTRNG/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMM-*-BS93_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N€€7/93,X8/CHRNUM-CHRNUM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/09,X8/CHRNMS-CHRNMS/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/93,X8/OPTDSS-OPTDSS/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/07,X8/DATSTT-DATSTT/96*96 O€€VERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS93_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/11,X8/STOP-STOP/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS93_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS93_"JMP* (IRET-*-BSXX)_^1*_]_^1* CHECK FOR VALID STARTING CHARACTER NUMBER_^1* CHECK FOR VALID ENDING CHARACTER NUMBER_^1*_$VERIFY DATA STREAM NUMBER OK (DEFAULT,LEGAL,ASSIGNE€€D,SUSPENDED)_^1* CALL PART COMMAND PROCESSOR_^1* ALWAYS RETURN TRUE_^1*_]_^1DPART1_#EQU DPART1(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/93,X8/CHRNUM-CHRNUM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/09,X8/CHRNMS-CHRNMS/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-B€€S93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMM-*-BS93_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/93,X8/CHRNME-CHRNME/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/93,X8/OPTDSS-OPTDSS/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/€€07,X8/DATSTT-DATSTT/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS93_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/10,X8/PART-PART/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS93_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS93_"JMP* (IRET-*-BSXX)_^1*_]_^1* VERIFY CHARACTER POSITION PARAMETER. FALSE AND ERROR MSG IF BAD_^1*_]_^1CHRNUM_#EQU CHRNUM(*)_!RECURSIVE ROUTINE_^€€1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS93_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS93_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS93_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/94,X8/BADPRX-BADPRX/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS93_"JMP* (IRET-*-BSXX)_^1*_]_^1* OPTIONAL DATA STREAM NUMBER_^1* EXIT TRUE ON EOL_^1* IF€€ NOT EOL, MUST BE COMMA + VALID STREAM NBR OR ERROR AND FALSE_^1* MUST END WITH EOL OR ERROR AND FALSE_^1*_]_^1OPTDSS_#EQU OPTDSS(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS93_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS93_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/€€COMMA-*-BS93_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/93,X8/DATASS-DATASS/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS93_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS93_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS93_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/94,X8/BADPRX-BA€€DPRX/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS93_"JMP* (IRET-*-BSXX)_^1*_]_^1* CHECK FOR VALID END POSITION AND SAVE - ERROR MSG AND FALSE IF BAD_^1*_]_^1DATASS_#EQU DATASS(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS93_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS93_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/07,X8/DAT€€SAV-DATSAV/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS93_"JMP* (IRET-*-BSXX)_^1CHRNME_#EQU CHRNME(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS93_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS93_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/09,X8/CHRNMX-CHRNMX/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS93_!RTJ€€* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS93_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/94,X8/BADPRX-BADPRX/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS93_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1*_]_^1*_$OVERLAY 94_^1*_]_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_]_^1*_*BADPRX_'94_^1*_*BADPRM_'94_^1*_*BADSTM_'94_^1*_*BADSTX_'94_^1*_*BADBKX_'94_^1*_]_^1*_$CALLS RECURSIVE ROUTINES%_^€€1*_]_^1*_*OUTPUT_'ROOT_^1*_]_^1*_$EXITS DIRECTLY TO_^1*_]_^1*_*FALSE_(ROOT_^1*_*RET_*ROOT_^1*_]_^1_%EQU OVN94(*-1)_^1_%EQU OVA94(OVN94/96)_^1_%EQU OVB94(OVA94+1)_^1_%EQU OVC94(OVB94*96)_^1_%BSS (OVC94-*)_^1_%EQU BS94(BASE-*)_^1*_]_^1*_$BADPRX - CALL BADPRM ROUTINE AND EXIT DIRECTLY TO FALSE_^1*_]_^1BADPRX_#EQU BADPRX(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS94_!RTJ€€* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/94,X8/BADPRM-BADPRM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS94_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/1,X15/FALSE-*-BS94_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS94_"JMP* (IRET-*-BSXX)_^1*_]_^1* ROUTINE TO OUTPUT ='NVALID OPERAND' - ALWAYS TRUE_^1*_]_^1BADPRM_#EQU BADPRM(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS94_!RTJ* (=XICLI€€-*-BSXX)_^1_%NUM 15_^1_%ALF 08,INVALID OPERAND_^1_%VFD N8/$5C,X8/IRECUR-*-BS94_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS94_^1_%VFD N8/$5C,X8/IRECUR-*-BS94_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS94_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS94_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$BADSTX - OUTPUT BAD STM ABD EXIT DIRECTLY TO FALSE_^1*_]_^1BADSTX_#EQU BADSTX(*)_!€€RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS94_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/94,X8/BADSTM-BADSTM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS94_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/1,X15/FALSE-*-BS94_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS94_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$OUTPUT BAD DATA STREAM MESSAGE_^1*_]_^1BADSTM_#EQU BADSTM(*)_!RECURSIVE ROUTINE_^1_%VFD N€€8/$5C,X8/ICLI-*-BS94_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 26_^1_%ALF 13,INVALID DATA STREAM NUMBER_^1_%VFD N8/$5C,X8/IRECUR-*-BS94_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS94_^1_%VFD N8/$5C,X8/IRECUR-*-BS94_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS94_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS94_"JMP* (IRET-*-BSXX)_^1*_]_^1*_$BADBKX - OUTPUT BAD BLOCKSIZE MSG_^1*€€_]_^1BADBKX_#EQU BADBKX(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS94_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 29_^1_%ALF 15,BLOCKSIZE EXCEEDS BUFFER SIZE_^1_%VFD N8/$5C,X8/IRECUR-*-BS94_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS94_^1_%VFD N8/$5C,X8/IRECUR-*-BS94_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS94_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS94_"JMP* (IR€€ET-*-BSXX)_^1_%EJT_]_^1*_]_^1*_$OVERLAY 95_^1*_]_^1*_$PROCESSES LOGICAL UNIT NUMBER PARAMETERS ON SEL COMMAND_^1*_*ON INVALID PARAMETER, ISSUES ERROR MESSAGE, EXITS TRUE_^1*_*OTHERWISE EXITS TO SELECT COMMAND PROCESSOR AT END OF LINE_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES_^1*_]_^1*_*DSEL2_(95_^1*_*SELPAR_'95_^1*_*DSELLU_'95_^1*_*DSELTU_'95_^1*_*DSELPU_'95_^1*_]_^1*_$CALLS RECURSIV€€E ROUTINES_^1*_]_^1*_*COMMA_(ROOT_^1*_*EOL_*ROOT_^1*_*OUTPUT_'ROOT_^1*_*FALSE_(ROOT_^1*_*NM_+ROOT_^1*_*TPLU_)05_^1*_*PRLU_)05_^1*_]_^1*_$EXITS DIRECTLY TO_^1*_]_^1*_*SEL_*02_^1*_*RET_*ROOT_^1*_]_^1_%EQU OVN95(*-1)_^1_%EQU OVA95(OVN95/96)_^1_%EQU OVB95(OVA95+1)_^1_%EQU OVC95(OVB95*96)_^1_%BSS (OVC95-*)_^1_%EQU BS95(BASE-*)_^1DSEL2_#EQU DSEL2(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$€€5C,X8/IRECUR-*-BS95_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/95,X8/SELPAR-SELPAR/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS95_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/02,X8/SEL-SEL/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS95_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$1C,X8/IRET-*-BS95_"JMP* (IRET-*-BSXX)_^1*_]_^1* SELECT COMMAND OPTIONAL PARAMETER CHECK. TRUE IF NONE O€€R VALID._^1* EXIT TRUE IF END OF LINE_^1* EXIT TRUE IF COMMA + VALID PARAMETER (CALL CHECK ROUTINE)_^1* SCAN UNTILL END OF LINE OR ERROR_^1* IF NOT EOL, NOR VALID PARAMETER, OUTPUT ERROR MESSAGE_^1*_]_^1SELPAR_#EQU SELPAR(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS95_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS95_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS95_!RT€€J* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS95_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/COMMA-*-BS95_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IRECUR-*-BS95_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/95,X8/DSELLU-DSELLU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS95_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/95,X8/SELPAR-SELPAR/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS95_€€!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS95_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 10_^1_%ALF 05,ILLEGAL LU_^1_%VFD N8/$5C,X8/IRECUR-*-BS95_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS95_^1_%VFD N8/$5C,X8/IRECUR-*-BS95_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/OUTPUT-*-BS95_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS95_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/1,X15/FALSE-*-BS95_!R€€OOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS95_"JMP* (IRET-*-BSXX)_^1DSELLU_#EQU DSELLU(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS95_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/95,X8/DSELTU-DSELTU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS95_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS95_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/95,X8/DSELPU-DSELPU/96*96 OV€€ERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS95_"JMP* (IRET-*-BSXX)_^1DSELTU_#EQU DSELTU(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS95_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 01_^1_%ALF 01,T_^1_%VFD N8/$5C,X8/IRECUR-*-BS95_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS95_^1_%VFD N8/$5C,X8/IRECUR-*-BS95_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS95_!ROOT REFERENCE_^1_%VFD N€€8/$5C,X8/IGO-*-BS95_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/05,X8/TPLU-TPLU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS95_"JMP* (IRET-*-BSXX)_^1DSELPU_#EQU DSELPU(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS95_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 01_^1_%ALF 01,P_^1_%VFD N8/$5C,X8/IRECUR-*-BS95_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS95_^1_%VFD N8/$5C,X8/IRECUR-*-€€BS95_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/NM-*-BS95_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS95_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/05,X8/PRLU-PRLU/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS95_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1*_]_^1*_$OVERLAY 96_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_]_^1*_*RNCMD3_/96_^1*_]_^1*_$CALLS RECURSIVE ROUTINES_^1*_]_^1*_*EOL_*ROOT_^1€€*_]_^1*_$EXITS DIRECTLY TO%_^1*_]_^1*_*DSTOP1_'93_^1*_*REL_*ROOT_^1*_]_^1*_$RETURNS FALSE TO ORIGINAL CALLER OF RNCMDX OVERLAY GROUP_^1*_]_^1*_$CHECKS FOR COMMANDS_^1*_]_^1*_*ON FIND, EXITS TO APPROPRIATE PROCESSOR_^1*_*ON NO FIND, OUTPUTS UNDEFINED COMMAND MSG AND EXITS TRUE_^1*_]_^1*_$'LPT,'_$GO TO DLPT1_^1*_$'STOP,'_#GO TO DSTOP1_^1*_$'REL'_%GOTO REL_^1*_]_^1_%EQU OVN96(*-1)_€€^1_%EQU OVA96(OVN96/96)_^1_%EQU OVB96(OVA96+1)_^1_%EQU OVC96(OVB96*96)_^1_%BSS (OVC96-*)_^1_%EQU BS96(BASE-*)_^1RNCMD3_#EQU RNCMD3(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS96_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 05_^1_%ALF 03,STOP,_^1_%VFD N8/$5C,X8/IRECUR-*-BS96_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS96_^1_%VFD N8/$5C,X8/IGO-*-BS96_!RTJ* (=XIGO-*-BSXX)_^1_%VFD€€ N1/0,N7/93,X8/DSTOP1-DSTOP1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS96_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS96_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 03_^1_%ALF 02,REL_^1_%VFD N8/$5C,X8/IRECUR-*-BS96_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS96_^1_%VFD N8/$5C,X8/IRECUR-*-BS96_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS96_!ROOT REFERENCE_^1_%VFD €€N8/$5C,X8/IGO-*-BS96_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/1,X15/REL-*-BS96_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS96_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS96_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 17_^1_%ALF 09,UNDEFINED COMMAND_^1_%VFD N8/$5C,X8/IRECUR-*-BS96_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/ZMVP-*-BS96_^1_%VFD N8/$5C,X8/IRECUR-*-BS96_!RTJ* (=XIRECUR-*-BSXX)_^1_%V€€FD N1/1,X15/OUTPUT-*-BS96_!ROOT REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS96_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1*_]_^1*_$OVERLAY 97_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_]_^1*_$RNCMD2_497_^1*_$DTERM_597_^1*_]_^1*_$CALLS RECURSIVE ROUTINES_^1*_]_^1*_*EOL_*ROOT_^1*_]_^1*_$EXITS DIRECTLY TO_^1*_]_^1*_$RNCMD3_496_^1*_*DTERM1_^1*_*DREW1_(91_^1*_*DADF1_(91_^1*_*DADR1_(91_^1*_*DBSF1_(91_^1€€*_*DBSR1_(91_^1*_*DSKIP1_'90_^1*_*DSTRT1_'93_^1*_*DPART1_'93_^1*_]_^1*_$CHECKS FOR COMMANDS_^1*_]_^1*_*ON FIND, EXITS TO APPROPRIATE PROCESSOR_^1*_*ON NO FIND, EXITS TO RNCMD3_^1*_]_^1*_$TERM_'GO TO DTERM1_^1*_$REW,_'GO TO DREW1_^1*_$ADF,_'GO TO DADF1_^1*_$ADR,_'GO TO DADR1_^1*_$BSF,_'GO TO DBSF1_^1*_$BSR,_'GO TO DBSR1_^1*_$SKIP,_%GO TO DSKIP1_^1*_$START,_$GO TO DSTRT1_^1*_€€$PART,_%GO TO DPART1_^1*_]_^1_%EQU OVN97(*-1)_^1_%EQU OVA97(OVN97/96)_^1_%EQU OVB97(OVA97+1)_^1_%EQU OVC97(OVB97*96)_^1_%BSS (OVC97-*)_^1_%EQU BS97(BASE-*)_^1RNCMD2_#EQU RNCMD2(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/IRECUR-*-BS97_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/97,X8/DTERM-DTERM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS97_!RTJ* (=XIDOOR-*-BSXX)_^1_%VF€€D N8/$5C,X8/ICLI-*-BS97_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,REW,_^1_%VFD N8/$5C,X8/IRECUR-*-BS97_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS97_^1_%VFD N8/$5C,X8/IGO-*-BS97_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/91,X8/DREW1-DREW1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS97_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS97_!RTJ* (=XICLI-*-BSXX)_^1_%NU€€M 04_^1_%ALF 02,ADF,_^1_%VFD N8/$5C,X8/IRECUR-*-BS97_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS97_^1_%VFD N8/$5C,X8/IGO-*-BS97_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/91,X8/DADF1-DADF1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS97_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS97_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,ADR,_^1_%VFD N8/$5C,X8/IRECUR-*-BS9€€7_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS97_^1_%VFD N8/$5C,X8/IGO-*-BS97_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/91,X8/DADR1-DADR1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS97_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS97_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,BSF,_^1_%VFD N8/$5C,X8/IRECUR-*-BS97_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS9€€7_^1_%VFD N8/$5C,X8/IGO-*-BS97_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/91,X8/DBSF1-DBSF1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS97_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS97_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,BSR,_^1_%VFD N8/$5C,X8/IRECUR-*-BS97_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS97_^1_%VFD N8/$5C,X8/IGO-*-BS97_!RTJ* (=XIGO-*-BSXX)_^€€1_%VFD N1/0,N7/91,X8/DBSR1-DBSR1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS97_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS97_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 05_^1_%ALF 03,SKIP,_^1_%VFD N8/$5C,X8/IRECUR-*-BS97_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS97_^1_%VFD N8/$5C,X8/IGO-*-BS97_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/90,X8/DSKIP1-DSKIP1/96*96 OVERLAY RE€€FERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS97_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS97_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 06_^1_%ALF 03,START,_^1_%VFD N8/$5C,X8/IRECUR-*-BS97_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS97_^1_%VFD N8/$5C,X8/IGO-*-BS97_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/93,X8/DSTRT1-DSTRT1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS97_!RTJ* (=X€€IDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS97_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 05_^1_%ALF 03,PART,_^1_%VFD N8/$5C,X8/IRECUR-*-BS97_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS97_^1_%VFD N8/$5C,X8/IGO-*-BS97_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/93,X8/DPART1-DPART1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS97_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS97_!RTJ* (€€=XIGO-*-BSXX)_^1_%VFD N1/0,N7/96,X8/RNCMD3-RNCMD3/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS97_"JMP* (IRET-*-BSXX)_^1DTERM_#EQU DTERM(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS97_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,TERM_^1_%VFD N8/$5C,X8/IRECUR-*-BS97_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS97_^1_%VFD N8/$5C,X8/IRECUR-*-BS97_!RTJ* (=XIRECUR-€€*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS97_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS97_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/12,X8/TERM-TERM/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS97_"JMP* (IRET-*-BSXX)_^1_%EJT_]_^1*_]_^1*_$OVERLAY 98_^1*_]_^1*_$CONTAINS RECURSIVE ROUTINES%_^1*_]_^1*_$RNCMD1_498_^1*_$DFREE_598_^1*_$DRUN_698_^1*_$DSUSP_598_^1*_]_^1*_$CALLS RECURSIVE ROUTINES%€€_^1*_]_^1*_*EOL_*ROOT_^1*_]_^1*_$EXITS DIRECTLY TO%_^1*_]_^1*_$RUCMD2_497_^1*_*DASGN1_'92_^1*_*DSEL1_(01_^1*_*DRUN1_(88_^1*_*DRUN2_(88_^1*_*DSUSP1_'88_^1*_*DSUSP2_'88_^1*_*DFREE1_'88_^1*_*DFREE2_'88_^1*_]_^1*_$CHECKS FOR COMMON COMMANDS FOR RUN MODE_^1*_]_^1*_*ON FIND, EXITS DIRECTLY TO APPROPRIATE PROCESSOR_^1*_*ON NO FIND, EXITS DIRECTLY TO RNCMD2_^1*_]_^1*_$SEL,_'GO TO DSEL1_^1€€*_$RUN,_'GO TO DRUN1_^1*_$SUSP,_%GO TO DSUSP1_^1*_$FREE,_%GO TO DFREE1_^1*_$ASGN,_%GO TO DASGN1_^1*_$RUN + EOL_!GO TO DRUN2_^1*_$SUSP + EOL GO TO DSUSP2_^1*_$FREE + EOL GO TO DFREE2_^1*_$ASGN,_$GO TO DASGN1_^1*_]_^1_%EQU OVN98(*-1)_^1_%EQU OVA98(OVN98/96)_^1_%EQU OVB98(OVA98+1)_^1_%EQU OVC98(OVB98*96)_^1_%BSS (OVC98-*)_^1_%EQU BS98(BASE-*)_^1*_]_^1RNCMD1_#EQU RNCMD€€1(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS98_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,SEL,_^1_%VFD N8/$5C,X8/IRECUR-*-BS98_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS98_^1_%VFD N8/$5C,X8/IGO-*-BS98_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/01,X8/DSEL1-DSEL1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS98_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS98€€_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,RUN,_^1_%VFD N8/$5C,X8/IRECUR-*-BS98_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS98_^1_%VFD N8/$5C,X8/IGO-*-BS98_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/88,X8/DRUN1-DRUN1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS98_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS98_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/98,X8/DRU€€N-DRUN/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS98_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS98_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 05_^1_%ALF 03,FREE,_^1_%VFD N8/$5C,X8/IRECUR-*-BS98_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS98_^1_%VFD N8/$5C,X8/IGO-*-BS98_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/88,X8/DFREE1-DFREE1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/€€IDOOR-*-BS98_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS98_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/98,X8/DFREE-DFREE/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS98_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS98_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 05_^1_%ALF 03,SUSP,_^1_%VFD N8/$5C,X8/IRECUR-*-BS98_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS98_^1_%VFD €€N8/$5C,X8/IGO-*-BS98_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/88,X8/DSUSP1-DSUSP1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS98_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IRECUR-*-BS98_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/0,N7/98,X8/DSUSP-DSUSP/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS98_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/ICLI-*-BS98_!RTJ* (=XICLI-*-BSXX)_^1€€_%NUM 05_^1_%ALF 03,ASGN,_^1_%VFD N8/$5C,X8/IRECUR-*-BS98_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS98_^1_%VFD N8/$5C,X8/IGO-*-BS98_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/92,X8/DASGN1-DASGN1/96*96 OVERLAY REFERENCE_^1_%VFD N8/$5C,X8/IDOOR-*-BS98_!RTJ* (=XIDOOR-*-BSXX)_^1_%VFD N8/$5C,X8/IGO-*-BS98_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/97,X8/RNCMD2-RNCMD2/96*96 OVERLAY REFE€€RENCE_^1_%VFD N8/$1C,X8/IRET-*-BS98_"JMP* (IRET-*-BSXX)_^1DRUN_#EQU DRUN(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS98_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 03_^1_%ALF 02,RUN_^1_%VFD N8/$5C,X8/IRECUR-*-BS98_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS98_^1_%VFD N8/$5C,X8/IRECUR-*-BS98_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS98_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IG€€O-*-BS98_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/88,X8/DRUN2-DRUN2/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS98_"JMP* (IRET-*-BSXX)_^1DSUSP_#EQU DSUSP(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS98_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,SUSP_^1_%VFD N8/$5C,X8/IRECUR-*-BS98_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS98_^1_%VFD N8/$5C,X8/IRECUR-*-BS98_!RT€€J* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS98_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS98_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/88,X8/DSUSP2-DSUSP2/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS98_"JMP* (IRET-*-BSXX)_^1DFREE_#EQU DFREE(*)_!RECURSIVE ROUTINE_^1_%VFD N8/$5C,X8/ICLI-*-BS98_!RTJ* (=XICLI-*-BSXX)_^1_%NUM 04_^1_%ALF 02,FREE_^1_%VFD N8/$5C,X8/IRECUR-*-BS98_€N!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/CST-*-BS98_^1_%VFD N8/$5C,X8/IRECUR-*-BS98_!RTJ* (=XIRECUR-*-BSXX)_^1_%VFD N1/1,X15/EOL-*-BS98_!ROOT REFERENCE_^1_%VFD N8/$5C,X8/IGO-*-BS98_!RTJ* (=XIGO-*-BSXX)_^1_%VFD N1/0,N7/88,X8/DFREE2-DFREE2/96*96 OVERLAY REFERENCE_^1_%VFD N8/$1C,X8/IRET-*-BS98_"JMP* (IRET-*-BSXX)_^1_%END RUNMOD_^__NPFTBFLD CSY/ P€1_%NAM FTBFLD_'DECK-ID A21 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1*_'TAB AND FIELD DISPLAY FUNCTIONS_^1*_]_^1*_'***************************************************************_^1*_]_^1*_'ENTRY POINTS:_^1*_]_^1_(ENT_%FWFLD_/DISPLAY WHOL€€E FIELD_^1_(ENT_%FTAB_0DISPLAY TAB_^1*_]_^1*_'EXTERNALS:_^1*_]_^1_(EXT_%TABSCN_.TAB SCAN SUBROUTINE_^1_(EXT_%FMTSCN_.FORMAT SCAN SUBROUTINE_^1_(EXT_%GFNAME_.GET FIELD NAME SUBROUTINE_^1_(EXT_%CONCSR_.CONVERT CURSOR_^1_(EXT_%CFLD_0DISPLAY FIELD_^1*_]_^1*_'PROGRAM EQUATES_^1*_]_^1_(EQU_%ZRO($30)_,ZERO_^1_(EQU_%FIL($2E)_,FILL CHARACTER (DOT)_^1_(EQU_%SP($20)_-SPACE_^1_(EQU_%SI($1C)_-€€START INVERSE_^1_(EQU_%EI($1D)_-END INVERSE_^1*_]_^1*_'TABPAR EQUATES_^1*_]_^1_(EQU_%TABIND(6)_+TABINDICATOR_^1*_]_^1*_'COMM REGION EQUATES_^1*_]_^1_(EQU_%LPMASK($2),NZERO($12)_^1_(EQU_%ONEBIT($23)_^1*_]_^1*_'TRANSFER VECTOR EQUATES_^1*_]_^1_(EQU_%CDATA($8D)_^1_(EQU_%ENDSR($8E)_^1_(EQU_%EXDSR($8F)_^1*_]_^1*_'ATT EQUATES_^1*_]_^1_(EQU_%ATOPT(33)_^1_(EQU_%IOADDR(64)_^1_(EQU_%RQ(65)_^€€1*_]_^1*_'TOPT EQUATES_^1*_]_^1_(EQU_%CURSRD(3)_^1_(EQU_%FLDST(15)_^1_(EJT_^1*_'DISPLAY WHOLE FIELD_^1*_]_^1*_'***************************************************************_^1*_]_^1*_'THIS ROUTINE DISPLAYS A WHOLE FIELD, E.G._^1*_'1- TAB : BY CALLING FTAB_^1*_'2- FLD : BY CALLING CFLD_^1*_]_^1*_'ZERO SUPPRESSION IS PERFORMED FOR VARIABLE (SIGNED) NUM FIELDS_^1*_]_^1*_'***********€€****************************************************_^1*_]_^1*_'CALLING SEQUENCE:_^1*_]_^1*_'RTJ+_$FWFLD_^1*_]_^1*_'ENTRY FUNCTIONS:_^1*_]_^1*_'ATT+IOADDR = FIELD NUMBER_^1*_]_^1*_]_^1FWFLD_"NUM_%0_^1_(RTJ-_$(ENDSR)_-SAVE RETURN ADDRESS_^1*_]_^1_(LDA-_$IOADDR,I_^1_(STA-_$RQ,I_0PASS FIELD NUMBER_^1_(RTJ*_$FTAB_0DISPLAY TAB_^1_%LDA- IOADDR,I_JSLS_^1_%RTJ FMTSCN_LSLS_^1_%LDA- 3,Q_*SE€€T UP CELLS 41 AND 42_.SLS_^1_%STA- RQ+1,I_'FOR CFLD_€€POSITION_^1_(RTJ+_$CONCSR_.CONVERT CURSOR ADDRESS_^1_(STA*_$PAR_^1_(RTJ-_$(CDATA)_-RELOCATE CURSOR ON DATA AREA_^1PAR_$NUM_%0_^1_(NUM_%$FFFF_^1*_]_^1TSR_$ADC_%TABSRC_^1*_]_^1TADCON_!ADC_%TABCRT_.CRT STANDARD OUTPUT_^1_(ADC_%TABFMT_.CRT FORMATTED OUTPUT_^1*_]_^1EXIT_#CLR_%A_^1_(STA-_$RQ+2,I_^1_(JMP-_$(EXTSR)_-RETURN TO CALLER_^1_(EJT_^1*_]_^1*_'CRT JUMP TABEL : STANDARD OUTPUT_^1*_]€€_^1_(EXT_%CCOL,CERR,CFMT,CMOD,CBAX,CDOC,CJOB,CRCNT_^1_(EXT_%CHDR,CBOF,CCHAR,CCAROL,CEOF,CEOREV,CBORKY,CBSCEV_^1_(EXT_%CBSCR,CBSF,CSKPR,CBSRRR,CSKUP,CSPACE,CCLRAL,CCLRFD_^1_(EXT_%CREGEN,CLINE,CDIS,CLOK_^1_(EXT_%CMLDS,CFNDTY,CSUP,CSTVER,CDIR,CMSG_^1*_]_^1TABCRT_!ADC_%CCOL_00_^1_(ADC_%CERR_01_^1_(ADC_%CFMT_02_^1_(ADC_%CMOD_03_^1_(ADC_%CBAX_04_^1_(ADC_%CDOC_05_^1_(ADC_%CJOB_06_^1_(ADC_€€%CRCNT_/7_^1_(ADC_%CHDR_08_^1_(ADC_%CBOF_09_^1_(ADC_%CCHAR_/10_^1_(ADC_%CCAROL_.11_^1_(ADC_%CEOF_012_^1_(ADC_%CEOREV_.13_^1_(ADC_%CBORKY_.14_^1_(ADC_%CBSCEV_.15_^1_(ADC_%CBSCR_/16_^1_(ADC_%CBSF_017_^1_(ADC_%CSKPR_/18_^1_(ADC_%CBSRRR_.19_^1_(ADC_%CBSRRR_.20_^1_(ADC_%CSKUP_/21_^1_(ADC_%CSPACE_.22_^1_(ADC_%CCLRAL_.23_^1_(ADC_%CCLRFD_.24_^1_(ADC_%CREGEN_.25_^1_(ADC_%CLINE_/26_^1_(ADC_%€€CDIS_027_^1_(ADC_%CLOK_028_^1_(ADC_%CMLDS_/29_^1_(ADC_%CFNDTY_.30_^1_(ADC_%CSUP_031_^1_(ADC_%CSTVER_.32_^1_(ADC_%CDIR_033_^1_(ADC_%CMSG_034_^1_(EJT_^1*_]_^1*_'CRT JUMP TABEL : FORMATTED OUTPUT_^1*_]_^1_(EXT_%FBOF,FEOF,FEOREV_^1_(EXT_%FBORKY,FBSCR,FBSF,FSKPR,FBSRRR,FSPACE_^1_(EXT_%FCLRFD_^1_(EXT_%FREGEN_^1*_]_^1TABFMT_!ADC_%CCOL_00_^1_(ADC_%CERR_01_^1_(ADC_%CFMT_02_^1_(ADC_%CMOD_03_€€^1_(ADC_%CBAX_04_^1_(ADC_%CDOC_05_^1_(ADC_%CJOB_06_^1_(ADC_%CRCNT_/7_^1_(ADC_%CHDR_08_^1_(ADC_%FBOF_09_!*** FENDS_^1_(ADC_%CCHAR_/10_^1_(ADC_%CCAROL_.11_^1_(ADC_%FEOF_012 *** FENDS_^1_(ADC_%FEOREV_.13 *** FENDS_^1_(ADC_%FBORKY_.14 *** FRDMOD_^1_(ADC_%CBSCEV_.15_^1_(ADC_%FBSCR_/16 *** FRDMOD_^1_(ADC_%FBSF_017 *** FRDMOD_^1_(ADC_%FSKPR_/18 *** FRDMOD_^1_(ADC_%FBSRRR_.19 €l *** FRDMOD_^1_(ADC_%FBSRRR_.20 *** FRDMOD_^1_(ADC_%CSKUP_/21_^1_(ADC_%FSPACE_.22 *** FRDMOD_^1_(ADC_%CCLRAL_.23_^1_(ADC_%FCLRFD_.24 *** FCLRFD_^1_(ADC_%FREGEN_.25 *** FREGEN_^1_(ADC_%CLINE_/26_^1_(ADC_%CDIS_027_^1_(ADC_%CLOK_028_^1_(ADC_%CMLDS_/29_^1_(ADC_%CFNDTY_.30_^1_(ADC_%CSUP_031_^1_(ADC_%CSTVER_.32_^1_(ADC_%CDIR_033_^1_(ADC_%CMSG_034_^1_(END_^__ lPSMDDAT CSY/ P€1_%NAM SYSDAT_'DECK-ID A01 COS 5.0_!(SMD)_%SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^0_%SPC 1_^1*_]_^1*_]_^1*_8PROGRAM BASE - MSOS 5.0 LVL 132_^1*_]_^1*_*S Y S T E M_!D A T A_!P R O G R A M_^1*_]_^1*_]_^1*_$TABLE OF CONTENTS_^1*_]_^1*_*1. COMMUNICATION E€€XTERNALS_^1*_]_^1*_*2. COMMUNICATION REGION (INCLUDING APPLICATIONS AREA)_^1*_]_^1*_*3. INTERRUPT REGION_^1*_]_^1*_*4. INTERRUPT MASK TABLE (MASKT)_^1*_]_^1*_*5. EXTENDED COMMUNICATIONS REGION_^1*_]_^1*_*6. STORAGE STACKS (INTSTK,VOLBLK, SCHSTK)_^1*_]_^1*_*7. LOGICAL UNIT TABLES (LOG1A, LOG1, LOG2)_^1*_]_^1*_*8. DIAGNOSTIC TABLES (DGNTAB, ALTERR)_^1*_]_^1*_*9. STANDARD LOGICAL UNIT€€ DEFINITIONS AND LINE 1 TABLE_^1*_]_^1*_)10. PHYSICAL DEVICE TABLES WITH INTERRUPT RESPONSE ROUTINES_^1*_]_^1*_)11. CORE ALLOCATION INFORMATION (CALTHD, LVLSTR, NN'S)_^1*_]_^1*_)12. CORE PARTITION INFORMATION (PARTBL, THDS, USE)_^1*_]_^1*_)13. SYSTEM COMMON DECLARATION_^1*_]_^1*_)14. MISCELLANEOUS PROGRAMS_^1*_]_^1*_)15. MISCELLANEOUS INFORMATION_^1*_]_^1*_)16. SYSTEM FILE INFORMA€€TION_^1*_]_^1*_)17. PRESET REGION_^1*_]_^1*_)18. START OF SYSTEM DIRECTORY_^1*_]_^1_%EJT_]_^1*_*C O M M U N I C A T I O N S_!E X T E R N A L S_^1*_]_^1*_]_^1_%EXT FNR_*FIND NEXT REQUEST_^1_%EXT COMPRQ_'COMPLETE REQUEST_^1_%EXT REQXT_(REQUEST EXIT_^1_%EXT VOLR_)VOLATILE RELEASE_^1_%EXT VOLA_)VOLATILE ASSIGNMENT_^1_%EXT LUABS_(LOGICAL UNIT ABSOLUTIZING_^1_%EXT SABS_)STARTING A€€DDRESS ABSOLUTIZING_^1_%EXT CABS_)COMPLETION ADDRESS ABSOLUTIZING_^1_%EXT NABS_)NUMBER OF WORDS ABSOLUTIZING_^1_%EXT DISPXX_'DISPATCHER_^1_%EXT MONI_)MONITOR_^1_%EXT MSIZV4_'HIGHEST CORE LOCATION USED BY SYSTEM_^1_%EXT IPROC_(INTERNAL INTERRUPT PROCESSOR_^1_%EXT ALLIN_(COMMON INTERRUPT HANDLER_^1_%EXT VLINT_(CYBERDATA INTERRUPT PROCESSOR_^1_%EJT_]_^1*_*C O M M U N I C A T I€€ O N_!R E G I O N_^1*_]_^1_%ORG 0_^1_%RTJ SYFAIL_'GO TO COMMON SYSTEM FAILURE ROUTINE_^1*_]_^1LPMSK NUM 0_,LOGICAL PRODUCT MASK TABLE OF ONES_^1ONE_"NUM 1_/ONE_^1THREE NUM 3_/THREE_^1SEVEN NUM 7_/SEVEN_^1_%NUM $F_^1_%NUM $1F_^1_%NUM $3F_^1_%NUM $7F_^1_%NUM $FF_^1_%NUM $1FF_^1_%NUM $3FF_^1_%NUM $7FF_^1_%NUM $FFF_^1_%NUM $1FFF_^1_%NUM $3FFF_^1_%NUM $7FFF_^1*_]_^1€€NZERO NUM $FFFF_(LOGICAL PRODUCT MASK TABLE OF ZEROS (NEG ZERO)_^1_%NUM $FFFE_^1_%NUM $FFFC_^1_%NUM $FFF8_^1_%NUM $FFF0_^1_%NUM $FFE0_^1_%NUM $FFC0_^1_%NUM $FF80_^1_%NUM $FF00_^1_%NUM $FE00_^1_%NUM $FC00_^1_%NUM $F800_^1_%NUM $F000_^1_%NUM $E000_^1_%NUM $C000_^1_%NUM $8000_^1_%EJT_]_^1*_*C O M M U N I C A T I O N_!R E G I O N_^1*_]_^1ZERO_!NUM 0_/ZERO_^1*_]_^1ONEB€€IT NUM 1_,ONE BIT TABLE_^1TWO_"NUM 2_/TWO_^1FOUR_!NUM 4_/FOUR_^1EIGHT NUM 8_/EIGHT_^1_%NUM $10_^1_%NUM $20_^1_%NUM $40_^1_%NUM $80_^1_%NUM $100_^1_%NUM $200_^1_%NUM $400_^1_%NUM $800_^1_%NUM $1000_^1_%NUM $2000_^1_%NUM $4000_^1_%NUM $8000_^1*_]_^1ZROBIT NUM $FFFE_(ZERO BIT TABLE_^1_%NUM $FFFD_^1_%NUM $FFFB_^1_%NUM $FFF7_^1_%NUM $FFEF_^1_%NUM $FFDF_^1_%NUM $F€€FBF_^1_%NUM $FF7F_^1_%NUM $FEFF_^1_%NUM $FDFF_^1_%NUM $FBFF_^1_%NUM $F7FF_^1_%NUM $EFFF_^1_%NUM $DFFF_^1_%NUM $BFFF_^1_%NUM $7FFF_^1*_]_^1FIVE_!NUM 5_/FIVE_^1SIX_"NUM 6_/SIX_^1NINE_!NUM 9_/NINE_^1TEN_"NUM 10_.TEN_^1_%EJT_]_^1_%BZS ($B3-*-1)_^1_%EJT_]_^1*_*C O M M U N I C A T I O N_!R E G I O N_^1*_]_^1_%ORG $B3_^1_%ADC SCRTCH_'LOGICAL UNIT OF STANDARD SCRATCH DEVICE€€_^1_%ADC SCHSTK_'ADR OF TOP OF SCHEDULER STACK_^1AFNR_!ADC FNR_*ADR OF FIND NEXT REQUEST_^1ACOMPR ADC COMPRQ_'ADR OF COMPLETE REQUEST_^1_%ADC MASKT_(ADR OF MASK TABLE_^1_%ADC INTSTK_'ADR OF TOP OF INTERRUPT STACK_^1_%ADC REQXT_(ADR OF EXIT FOR MONITOR REQUESTS_^1AVOLR ADC VOLR_)ADR OF RELEASE VOLATILE ROUTINE_^1AVOLA ADC VOLA_)ADR OF ASSIGN VOLATILE ROUTINE_^1_%ADC LUABS€€_(ADR OF ABSOLUTIZING ROUTINE FOR LOGICAL UNIT_^1_%ADC SABS_)ADR OF ABSOLUTIZING ROUTINE FOR STARTING ADR_^1_%ADC CABS_)ADR OF ABSOLUTIZING ROUTINE FOR COMPLETION ADR_^1_%ADC NABS_)ADR OF ABSOLUTIZING ROUTINE FOR NUMBER OF WRDS_^1_%NUM 0_,MSB OF STARTING SCRATCH SECTOR_!(ALWAYS ZERO)_^1_%NUM 0_,LSB OF STARTING SCRATCH SECTOR_#(SET BY SI)_^1_%ADC LBUNIT_'LOGICAL UNIT OF STANDA€€RD LIBRARY DEVICE_^1_%NUM 0_,MSB OF PGM LIB DIRECTORY SECTOR (ALWAYS ZERO)_^1_%NUM 0_,LSB OF PGM LIB DIRECTORY SECTOR_"(SET BY SI)_^1*_]_^1_%BZS ($E3-$C5+1)_!RESERVED FOR FTN_0(UNPROTECTED)_^1_%NUM 0_,RESERVED FOR FTN + LOAD/GO SECTOR(UNPROTECTED)_^1_%NUM 0_,RESERVED FOR FTN_0(UNPROTECTED)_^1*_]_^1_%BSS (1)_*LENGTH OF MASS RESIDENT SYSTEM DIR.(SET BY SI)_^1_%BSS (1)_*LENGTH€€ OF CORE RESIDENT SYSTEM DIR.(SET BY SI)_^1_%NUM 0_,REAL TIME CLOCK COUNTER_^1_%ADC EXTBV4_'ADDR OF EXTENDED CORE TABLE_^1ADISP ADC DISPXX_'ADR OF DISPATCHER_^1_%ADC SLDIRY_'ADR OF SYSTEM DIRECTORY_^1_%NUM 0_,TEMPORARY TOP+1 OF UNPROTECTED_#(SET BY SI)_^1_%NUM 0_,TEMPORARY BOTTOM-1 OF UNPROTECTED (SET BY SI)_^1_%NUM 0_,USED BY JOB PROCESSOR FOR LOADER RETURNS_^1_%NUM -1_+€€CURRENT PRIORITY LEVEL_^1_%ADC VOLBLK_'STARTING LOCATION OF VOLATILE STORAGE_^1_%ADC LPRSET_'LENGTH OF PRESETS TABLE_^1_%ADC APRSET_'STARTING LOCATION OF PRESETS TABLE_^1_%ADC 0_,ADR OF BREAKPOINT PROGRAM IN CORE(UNPROTECTED)_^1AMONI ADC MONI_)ADR OF MONITOR ENTRY FOR REQUESTS_^1_%ADC MSIZV4_'HIGHEST CORE LOCATION USED BY SYSTEM_^1_%NUM 0_,TOP+1 OF UNPROTECTED_.(SET BY SI)_€€^1_%NUM 0_,BOTTOM-1 OF UNPROTECTED_+(SET BY SI)_^1_%ADC IPROC_(ADR OF INTERNAL INTERRUPT PROCESSOR_^1_%ADC STDINP_'LOGICAL UNIT OF STANDARD INPUT DEVICE (FTN 1)_^1_%ADC BINOUT_'LOGICAL UNIT OF STANDARD BINARY DEVICE (FTN 2)_^1_%ADC LSTOUT_'LOGICAL UNIT OF STANDARD PRINT DEVICE (FTN 3)_^1_%ADC OUTCOM_'LOGICAL UNIT OF OUTPUT COMMENT DEVICE (FTN 4)_^1_%ADC INPCOM_'LOGICAL UN€€IT OF INPUT COMMENT DEVICE (FTN 4)_^1_%ADC ALLIN_(ADR OF COMMON INTERRUPT HANDLER_^1_%BSS (1)_*I (MEMORY INDEX) REGISTER_'(UNPROTECTED)_^1_%EJT_]_^1_%SPC 6_^1*_*I N T E R R U P T_!R E G I O N_^1*_]_^1*_]_^1*_]_^1LINE00 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($F8)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 15_+PRIORITY LEVEL OF INTERRUPT_^1_%ADC IPROC_(INTERRUPT RESPONSE FOR THE€€ PROTECT/PARITY ERR._^1*_]_^1LINE01 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 10_+PRIORITY LEVEL OF INTERRUPT_^1_%ADC LIN1V4_'INTERRUPT RESPONSE FOR THE LOW SPEED I / O_^1*_]_^1LINE02 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 0_,PRIORITY LEVEL OF INTERRUPT_^1_%ADC INVINT_'INTERRUPT RESPONSE F€€OR THE INVALID INTERRUPTS_^1_%SPC 1_^1*_]_^1LINE03 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 0_,PRIORITY LEVEL OF INTERRUPT_^1_%ADC INVINT_'INTERRUPT RESPONSE FOR THE INVALID INTERRUPTS_^1_%SPC 1_^1*_]_^1LINE04 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 10_+PRIORITY LEVEL OF INTERRUPT_^1_%ADC €€ R2729_(INTERRUPT RESPONSE FOR 1827-30/60 PRINTER_^1*_]_^1LINE05 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 0_,PRIORITY LEVEL OF INTERRUPT_^1_%ADC INVINT_'INTERRUPT RESPONSE FOR THE INVALID INTERRUPTS_^1_%SPC 1_^1*_]_^1LINE06 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 0_,PRIORITY LEVEL OF INTERR€€UPT_^1_%ADC INVINT_'INTERRUPT RESPONSE FOR THE INVALID INTTERRUPTS_^1_%SPC 1_^1*_]_^1LINE07 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 09_+PRIORITY LEVEL OF INTERRUPT_^1_%ADC R18335_'INTERRUPT RESPONSE FOR 1833-5/1865 FDD_^1_%SPC 1_^1*_]_^1LINE08 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 13_+€€PRIORITY LEVEL OF INTERRUPT_^1_%ADC TIMINT_'INTERRUPT RESPONSE FOR THE SYSTEM TIME BASE_^1*_]_^1LINE09 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^0_%NUM 0_,PRIORITY LEVEL OF INTERRUPT_^0_%ADC INVINT_'INTERRUPT RESPONSE FOR THE INVALID INTERRUPTS_^1*_]_^1LINE10 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM €€ 10_+PRIORITY LEVEL OF INTERRUPT_^1_%ADC LIN1V4_'INTERRUPT RESPONSE FOR CYBERDATA_^1_%SPC 1_^1*_]_^1LINE11 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 10_+PRIORITY LEVEL OF INTERRUPT_^1_%ADC R2729_(INTERRUPT RESPONSE FOR 1829-30/60 CARD RDR_^1*_]_^1LINE12 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^0_%NU€€M 10_+PRIORITY LEVEL OF INTERRUPT_^0_%ADC R18326_'INTERRUPT RESPONSE FOR THE 18326/1860 TAPE_^1_%SPC 1_^1*_]_^1LINE13 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 0_,PRIORITY LEVEL OF INTERRUPT_^1_%ADC INVINT_'INTERRUPT RESPONSE FOR THE INVALID INTERRUPTS_^1_%SPC 1_^1*_]_^1LINE14 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERR€€UPT HANDLER ROUTINE_^1_%NUM 09_+PRIORITY LEVEL OF INTERRUPT_^1_%ADC R18331_'INTERRUPT RESPONSE FOR THE 1833-1/1867 DISK_^1*_]_^1LINE15 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 0_,PRIORITY LEVEL OF INTERRUPT_^1_%ADC INVINT_'INTERRUPT RESPONSE FOR INVALID INTERRUPTS_^1_%EJT_]_^1*_$C O R E_!R E S I D E N T_!D E B U G_!E N T R I E S_^1_%S€€PC 2_^1_%ORG $140_^1_%SPC 1_^1_%EXT COUTV4_^1_%EXT COBOP_^1_%SPC 2_^1_%JMP+ COUTV4_'OFF-LINE CORE DUMP_^1_%SPC 4_^1_%JMP+ COBOP_(SYSTEM CHECKOUT BOOTSTRAP_^1_%EJT_]_^1*_*I N T E R R U P T_!M A S K_!T A B L E_^1*_]_^1*_]_^1_'ENT MASKT_(INTERRUPT MASKS INDEXED BY PRIORITY LEVEL_^1*_]_^1*_]_^1*_+<----------------------------- INTERRUPT LINE NUMBER_^1*_-15 14 13 12 11 10 9 8 €€ 7 6 5 4 3 2 1 0_^1*_+****************************************************_^0*_%P -1 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_%R 0 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_%I 1 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1_^0*_%O 2 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_%R 3 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0€€ 1 1 *_^0*_%I 4 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_%T 5 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_%Y 6 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_)7 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_%L 8 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_%E 9 * 0 0 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *€€_^1*_%V 10 * 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 *_^1*_%E 11 * 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 *_^1*_%L 12 * 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 *_^1*_%. 13 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 *_^1*_%. 14 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 *_^1*_%V 15 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 *_^1*_+€€****************************************************_^1*_]_^1*_]_^0_%NUM $5D93_(PRIORITY LEVEL -1_^0MASKT NUM $5D93_(PRIORITY LEVEL 00_^0_%NUM $5D93_(PRIORITY LEVEL 01_^0_%NUM $5D93_(PRIORITY LEVEL 02_^0_%NUM $5D93_(PRIORITY LEVEL 03_^0_%NUM $5D93_(PRIORITY LEVEL 04_^0_%NUM $5D93_(PRIORITY LEVEL 05_^0_%NUM $5D93_(PRIORITY LEVEL 06_^0_%NUM $5D93_(PRIORITY LEVEL 07_^0_%NUM €€ $5D93_(PRIORITY LEVEL 08_^0_%NUM $1D93_(PRIORITY LEVEL 09_^1_%NUM $0101_(PRIORITY LEVEL 10_^1_%NUM $0101_(PRIORITY LEVEL 11_^1_%NUM $0101_(PRIORITY LEVEL 12_^1_%NUM $0001_(PRIORITY LEVEL 13_^1_%NUM $0001_(PRIORITY LEVEL 14_^1_%NUM $0000_(PRIORITY LEVEL 15_^1_%EJT_]_^1*_$I N T E R R U P T M A S K T A B L E 1 8 / 7_^1*_]_^1*_(S I N G L E C A R D P R O C E S S O R_^1*_]_^€€1*_]_^1*_$ENT MASKT_(INTERRUPT MASK SET BY SPACE FOR CYBER 18/7_^1*_]_^1*_]_^1*_+<---------------------------- INTERRUPT LINE NUMBER_^1*_-15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0_^1*_-**************************************************_^1*_%P -1 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%R 0 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%I 1 * 0 €€ 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%O 2 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%R 3 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%I 4 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%T 5 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%Y 6 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_)7 * 0 0 0 0 €€ 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%L 8 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%E 9 * 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 *_^1*_%V 10 * 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 *_^1*_%E 11 * 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 *_^1*_%L 12 * 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 *_^1*_%. 13 * 0 0 0 0 0 0 €€ 0 0 0 0 0 0 0 0 0 1 *_^1*_%. 14 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 *_^1*_%V 15 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 *_^1*_+****************************************************_^1*_]_^1*_$NUM $00FB_(PRIORITY LEVEL -1_^1*MASKT NUM $00FB_(PRIORITY LEVEL 00_^1*_$NUM $00FB_(PRIORITY LEVEL 01_^1*_$NUM $00FB_(PRIORITY LEVEL 02_^1*_$NUM $00FB_(€€PRIORITY LEVEL 03_^1*_$NUM $00FB_(PRIORITY LEVEL 04_^1*_$NUM $00FB_(PRIORITY LEVEL 05_^1*_$NUM $00FB_(PRIORITY LEVEL 06_^1*_$NUM $00FB_(PRIORITY LEVEL 07_^1*_$NUM $00FB_(PRIORITY LEVEL 08_^1*_$NUM $0073_(PRIORITY LEVEL 09_^1*_$NUM $0041_(PRIORITY LEVEL 10_^1*_$NUM $0041_(PRIORITY LEVEL 11_^1*_$NUM $0041_(PRIORITY LEVEL 12_^1*_$NUM $0001_(PRIORITY LEVEL 13_^1*_$NUM $0001_€€(PRIORITY LEVEL 14_^1*_$NUM $0000_(PRIORITY LEVEL 15_^1_%EJT_]_^1_%EJT_]_^1*_$B O U N D S R E G I S T E R T A B L E S_^1_%SPC 2_^1_%ENT UPBDTB_^1_%ENT LOBDTB_^1_%SPC 1_^1_%NUM 0_^1UPBDTB BZS UPBDTB(16)_^1_%SPC 1_^1_%NUM 0_^1LOBDTB BZS LOBDTB(16)_^1_%EJT_]_^1*_*E X T E N D E D C O M M U N I C A T I O N S R E G I O N_^1*_]_^1*_8REFERENCED THRU LOCATION $E9_^1_%SPC 3_^1€€_%ENT EXTBV4_^1_%ENT MAXSEC_^1_%ENT MPFLAG_^1_%EXT JFILV4_^1_%EXT RCTV_^1_%EXT END0V4_^1_%EXT DATBAS_^1_%EXT SECTOR_^1_%EQU CSYLST(9)_^1_%EQU CSYINP(10)_^1_%EQU CSYPUN(11)_^1_%EQU SECT1(0)_^1_%EQU SECT3(0)_^1_%EQU SECT4(0)_^1_%EQU N16KMM(4)_^1_%SPC 3_^1EXTBV4 ADC 0_,00_!MODE SWITCH_!32K=0_!65K=1_^1_%ADC CSYINP_'01_!STANDARD COSY INPUT LU NUMBER_^1_%ADC CSYPUN_'02€€_!STANDARD COSY OUTPUT LU NUMBER_^1_%ADC CSYLST_'03_!STANDARD COSY LIST_!LU NUMBER_^1_%ADC 0_,04_!FIRST SECTOR LSB OF SYSTEM CORE IMAGE_^1_%ADC 0_,05_!FIRST SECTOR LSB OF S. A. T._^1_%ADC 0_,06_!FIRST SECTOR LSB OF CREP TABLE_^1_%ADC 0_,07_!FIRST SECTOR LSB OF CREP1 TABLE_^1_%ADC JFILV4_'08_!FIRST SECTOR LSB OF JOB FILE DIRECTORY_^1_%ADC RCTV_)09_!ADDRESS OF RCTV TABLE I€€N THE MONITOR_^1_%ADC 0_,10_!UNPROTECTED CORE FLAG 0=PART0 / 1=PART1_^1_%ADC 0_,11_!UNPROTECTED SWAP ALLOWED 0=YES / 1=NO_^1_%ADC AYERTO_'12_!ADDRESS LOCATION CONTAINING THE YEAR_^1_%ADC AMONTO_'13_!ADDRESS LOCATION CONTAINING THE MONTH_^1_%ADC ADAYTO_'14_!ADDRESS LOCATION CONTAINING THE DAY_^1_%ADC END0V4_'15_!LAST ADDRESS OF PART 0 CORE_^1_%ADC 0_,16_!FIRST ADDRESS OF BLA€€NK (SYSTEM) COMMON_^1_%ADC DATBAS_'17_!FIRST ADDRESS OF LABELED COMMON_^1_%ADC 0_,18_!COSY DRIVER CURRENT PHYSTAB ADDRESS_^1_%ADC 0_,19_!JOB TABLE INITIALIZATION FLAG_^1_%ADC 0_,20_!MASS MEMORY LOCATION OF ENGINEERING FILE_^1_%ADC SECT1_(21_!MSB OF MAXIMUM SCRATCH SECTOR_^1MAXSEC ADC SECTOR_'22_!LSB OF MAXIMUM SCRATCH SECTOR_^1_%ADC SECT3_(23_!MSB OF MAXIMUM LIBRARY SECTOR_^€€1_%ADC SECT4_(24_!LSB OF MAXIMUM LIBRARY SECTOR_^1_%ADC 0_,25_!LAST ADDRESS OF LABELED COMMON_^1_%ADC N16KMM_'26_!NUMBER OF 16K MEMORY MODULES_^1MPFLAG ADC EXTSTK_'27_!ADDRESS OF EXTENDED INTERRUPT STACK_^1_%ADC LOG1A_(28_!ADDRESS OF LOG1A TABLE_^1_%EJT_]_^1*_*S Y S T E M_!I D E N T I F I C A T I O N_^1*_]_^1_%SPC 1_^1_%ENT SYSID_^1_%EXT SYSMON_'MONTH SYSTEM WAS BUILT_^1_%E€€XT SYSDAY_'DAY_!SYSTEM WAS BUILT_^1_%EXT SYSYER_'YEAR SYSTEM WAS BUILT_^1_%SPC 4_^1SYSID ALF 15, CYBERDATA LEVEL 147_^0_%ALF 1,_^1_%ADC SYSMON_^1_%ADC SYSDAY_^1_%ADC SYSYER_^1_%SPC 4_^1_%EJT_]_^1*_$COMMON SYSTEM FAILURE ROUTINE_^1_%SPC 2_^1_%ENT SYFAIL_^1_%SPC 1_^1SYFAIL NOP 0_^1_%IIN 0_,INHIBIT INTERRUPTS_^1_%STA* SAVEA_(SAVE A_^1_%STQ* SAVEQ_(SAVE Q_^1_%TRM A_,MOVE €€M TO A_^1_%STA* SAVEM_(SAVE M_^1_%LDA* SYFAIL_'PICK UP ADDRESS OF CALLER_^1_%INA -2_+CORRECT IT FOR 2 WORD RTJ_^1_%STA* SYFAIL_'STORE IT BACK_^1_%NUM $18FF_(HANG_^1_%SPC 2_^1SAVEA NUM 0_^1SAVEQ NUM 0_^1SAVEM NUM 0_^1_%EJT_]_^1*_$M I S C E L L A N E O U S T I M E S H A R E_^1*_]_^1*_2P A R A M E T E R S_^1*_]_^1_%SPC 2_^1_%ENT MIINP_^1_%ENT CCP_^1_%ENT UBPROTK_^1_%ENT €€ LBPROT_^1_%ENT CPSET_^1_%ENT TSCNAC_^1_%ENT TSCNMI_^1_%ENT SIM200_^1_%ENT MICSUB_^1_%SPC 2_^1*_$M A N U A L I N P U T B U F F E R_^1MIINP BZS MIINP(40)_#MANUAL INPUT BUFFER_^1_%SPC 2_^1CCP_"NUM 0_,CURRENT CONTROL POINT_^1UBPROT NUM 0_,UPPER BOUNDS REGISTER VALUE_^1LBPROT NUM 0_,LOWER BOUNDS REGISTER VALUE_^1MICSUB NUM 0_,SET UP MT MICRO INTERRUPTS_^1TSCNAC NUM 0_,T€€IMESHARE ACTIVE FLAG_^1_%SPC 1_^1_%EQU TSCNMI($7FFF),SIM200($7FFF)_^1_%SPC 1_^1CPSET NUM 0_^1_%IIN 0_^1_%EIN 0_^1_%JMP* (CPSET)_^1_%EJT_]_^1*_*S T O R A G E_!S T A C K S_^1*_]_^1*_]_^1NUMPRI EQU NUMPRI(16)_#NUMBER OF SYSTEM PRIORITY LEVELS_^1EXTVOL EQU EXTVOL(00)_#AMOUNT OF EXTRA VOLATILE STORAGE_^1*_]_^1NFTNLV EQU NFTNLV(0)_$NUMBER OF REENTRANT FORTRAN LEVELS_^1NEDLVL EQU N€€EDLVL(0)_$NUMBER OF REENTRANT ENCODE/DECODE LEVELS_^1_%SPC 3_^1*_]_^1*_1I N T E R R U P T_!S T A C K_^1*_]_^1_%ENT INTSTK_'CONTENTS, 1 = Q-REGISTER_^1*_C2 = A-REGISTER_^1*_C3 = I-REGISTER_^1*_C4 = P-REGISTER_^1*_C5 = PRIORITY LEVEL AND OVERFLOW_^1*_GINDICATOR (BIT 15)_^1*_]_^1INTSTK BZS INTSTK(5*NUMPRI)_^1_%SPC 3_^1*_]_^1*_1E X T E N D E D_!I N T E R R U P T_!S T A C K_^1*_]_^€€1_%ENT EXTSTK_'CONTENTS, 1 = ENHANCED REGISTER 1_^1*_C2 = ENHANCED REGISTER 2_^1*_C3 = ENHANCED REGISTER 3_^1*_C4 = ENHANCED REGISTER 4_^1*_]_^1EXTSTK BZS EXTSTK(4*NUMPRI)_^1_%SPC 3_^1*_]_^1*_1V O L A T I L E_!B L O C K_!S T A C K_^1*_]_^1_%ENT VOLBLK_'CONTENTS, 1 = Q-REGISTER_^1_%ENT VOLEND_22 = A-REGISTER_^1*_C3 = I-REGISTER_^1*_C4 = USER ASSIGNMENTS_^1*_C._^1*_CN = USER A€€SSIGNMENTS_^1*_]_^1VOLBLK BZS VOLBLK(18*NUMPRI+98*NFTNLV+57*NEDLVL+EXTVOL+1)_^1VOLEND EQU VOLEND(*)_#END OF VOLATILE_^1_%SPC 3_^1*_]_^1*_1S C H E D U L E R / T I M E R_!S T A C K_^1*_]_^1_%ENT SCHSTK_'CONTENTS, 1 = SCHEDULER CALL_^1_%ENT SCHLNG_22 = STARTING ADDRESS_^1*_C3 = THREAD TO NEXT CALL_^1SCHSTK EQU SCHSTK(*)_/4 = Q-REGISTER CONTENTS_^1_%SPC 1_^1_%ADC 0,0,*+2,0_#SC€€HEDULER STACK ENTRY 001_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 002_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 003_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 004_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 005_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 006_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 007_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 008_^1_%ADC 0,0,*+2,0_#SCHEDULER €€STACK ENTRY 009_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 010_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 011_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 012_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 013_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 014_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 015_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 016_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK EN€€TRY 017_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 018_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 019_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 020_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 021_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 022_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 023_^1_%ADC 0,0,(-0),0_"SCHEDULER STACK ENTRY 024_^1SCHLNG EQU SCHLNG(*-SCHSTK) SCHEDULER STA€€CK LENGTH_^1_%EJT_]_^1*_*L O G I C A L_!U N I T_!T A B L E S_!( L O G 1 A )_^1*_]_^1*_]_^1_%ENT LOG1A_#PHYSICAL DEVICES ADDRESSES BY LOGICAL UNIT_^1_%ENT NUMLU_^1_%SPC 1_^1LOG1A ADC NUMLU_(NUMBER OF LOGICAL UNITS_^1_%ADC PCORE_(1_"CORE ALLOCATOR_^1_%ADC PDUMMY_'2_"DUMMY LOGICAL UNIT_^1_%ADC PDUMMY_'3_"DUMMY LOGICAL UNIT_^1_%ADC P1811_(4_"1811-1 CONSOLE DISPLAY_^1_%ADC PCO€€SY1_'5_"COSY DRIVER, FIRST UNIT_^0_%ADC P83260_'6_"1860-92 MAG-TAPE UNIT 0_^1_%ADC PTSIM0_'7_"MAG TAPE SIMULATOR UNIT 0_^1_%ADC P83310_'8_"1833-1 1867-10/20 STORAGE MODULE UNIT 0_^1_%ADC P1827_(9_"1827-30/60 LINE PRINTER_^1_%ADC P1829_(10 1829-30/60 C/R_^0_%ADC P83261_'11_!1860-92 MAG-TAPE UNIT 1_^1FTN827 ADC P1827_(12_!1827-30/60 FORTRAN LINE PRINTER_^1_%ADC PSDSK0_'13_!P€€SEUDO DISK, UNIT 0_^1_%ADC PSDSK1_'14_!PSEUDO DISK, UNIT 1_^1_%ADC PSDSK2_'15_!PSEUDO DISK, UNIT 2_^1_%ADC PSDSK3_'16_!PSEUDO DISK, UNIT 3_^1_%ADC PSDSK4_'17_!PSEUDO DISK, UNIT 4_^1_%ADC PSDSK5_'18_!PSEUDO DISK, UNIT 5_^1_%ADC PSDSK6_'19_!PSEUDO DISK, UNIT 6_^1_%ADC PTSIM1_'20_!MAG TAPE SIMULATOR UNIT 1_^1_%ADC P83350_'21_!1833-5/1865 FLEXIBLE DISK, UNIT 0_^0_%ADC P83262_'€€22_!1860-72 MAG-TAPE UNIT 2_^1_%ADC PDUMMY_'23 DUMMY LOGICAL UNIT_^1_%ADC PMPRT_(24_!1827-7 MATRIX PRINTER_^1NUMLU EQU NUMLU(*-LOG1A-1)_^1_%EJT_]_^1*_*L O G I C A L_!U N I T_!T A B L E S_!( L O G 1 )_^1*_]_^1*_]_^1_%ENT LOG1_$LOGICAL UNIT INFORMATION BY LOGICAL UNIT_^1*_8BIT 14 = 1, IMPLIES LU SHARES DEVICE_^1*_8BIT 13 = 1, IMPLIES LU IS MARKED DOWN_^1*_8BITS 0 - 11 IS ALTERN€€ATE LOGICAL UNIT_^1*_GALTERNATE = 0, IMPLIES NONE_^1S_$EQU S($4000)_$SHARED BIT_^1_%SPC 1_^1LOG1_!ADC NUMLU_(NUMBER OF LOGICAL UNITS_^1_%ADC 0_,1_"CORE ALLOCATOR_^1_%ADC 0+S_*2_"DUMMY LOGICAL UNIT_^1_%ADC 0+S_*3_"DUMMY LOGICAL UNIT_^1_%ADC 2+S_*4_"1811-1 CONSOLE DISPLAY_^1_%ADC 0_,5_"COSY DRIVER, FIRST UNIT_^0_%ADC 0+S_*6_"1860-92 MAG-TAPE UNIT 0_^1_%ADC 0_,7_"MAG TAPE SI€€MULATOR UNIT 0_^1_%ADC 0_,8_"1833-1 1867-10/20 STORAGE MODULE UNIT 0_^1_%ADC 0+S_*9_"1827-30/60 LINE PRINTER_^1_%ADC 0+S_*10 1829-30/60 C/R_^0_%ADC 0+S_*11_!1860-92 MAG-TAPE UNIT 1_^1_%ADC 0+S_*12_!1827-30/60 FORTRAN LINE PRINTER_^1_%ADC 0_,13_!PSEUDO DISK, UNIT 0_^1_%ADC 0_,14_!PSEUDO DISK, UNIT 1_^1_%ADC 0_,15_!PSEUDO DISK, UNIT 2_^1_%ADC 0_,16_!PSEUDO DISK, UNIT 3_^1_%€€ADC 0_,17_!PSEUDO DISK, UNIT 4_^1_%ADC 0_,18_!PSEUDO DISK, UNIT 5_^1_%ADC 0_,19_!PSEUDO DISK, UNIT 6_^1_%ADC 0_,20_!MAG TAPE SIMULATOR UNIT 1_^1_%ADC 0_,21_!1833-5/1865 FLEXIBLE DISK, UNIT 0_^0_%ADC 0+S_*22_!1860-72 MAG-TAPE UNIT 2_^1_%ADC 0+S_*23 DUMMY LOGICAL UNIT_^1_%ADC 2+S_*24_!1827-7 MATRIX PRINTER_^1_%EJT_]_^1*_*L O G I C A L_!U N I T_!T A B L E S_!( L O G 2 )_^1*_]€€_^1*_]_^1_%ENT LOG2_$TOP OF I/O THREAD ADDRESSES BY LOGICAL UNIT_^1_%SPC 1_^1LOG2_!ADC NUMLU_(NUMBER OF LOGICAL UNITS_^1_%NUM $FFFF_(1_"CORE ALLOCATOR_^1_%NUM $FFFF_(2_"DUMMY LOGICAL UNIT_^1_%NUM $FFFF_(3_"DUMMY LOGICAL UNIT_^1_%NUM $FFFF_(4_"1811-1 CONSOLE DISPLAY_^1_%NUM $FFFF_(5_"COSY DRIVER, FIRST UNIT_^0_%NUM $FFFF_(6_"1860-92 MAG-TAPE UNIT 0_^1_%NUM $FFFF_(7_"MAG TA€€PE SIMULATOR UNIT 0_^1_%NUM $FFFF_(8_"1833-1 1867-10/20 STORAGE MODULE UNIT 0_^1_%NUM $FFFF_(9_"1827-30/60 LINE PRINTER_^1_%NUM $FFFF_(10 1829-30/60 C/R_^0_%NUM $FFFF_(11_!1860-92 MAG-TAPE UNIT 1_^1_%NUM $FFFF_(12_!1827-30/60 FORTRAN LINE PRINTER_^1_%NUM $FFFF_(13_!PSEUDO DISK, UNIT 0_^1_%NUM $FFFF_(14_!PSEUDO DISK, UNIT 1_^1_%NUM $FFFF_(15_!PSEUDO DISK, UNIT 2_^1_%NUM $F€€FFF_(16_!PSEUDO DISK, UNIT 3_^1_%NUM $FFFF_(17_!PSEUDO DISK, UNIT 4_^1_%NUM $FFFF_(18_!PSEUDO DISK, UNIT 5_^1_%NUM $FFFF_(19_!PSEUDO DISK, UNIT 6_^1_%NUM $FFFF_(20_!MAG TAPE SIMULATOR UNIT 1_^1_%NUM $FFFF_(21_!1833-5/1865 FLEXIBLE DISK, UNIT 0_^0_%NUM $FFFF_(22_!1860-72 MAG-TAPE UNIT 2_^1_%NUM $FFFF_(23 DUMMY LOGICAL UNIT_^1_%NUM $FFFF_(24_!1827-7 MATRIX PRINTER_^1_%EJT_]_€€^1*_*D I A G N O S T I C_!T A B L E S_^1*_]_^1*_]_^1_%ENT ALTERR_"ALTERNATE DEVICE ERROR TABLE_^1_%SPC 1_^1ALTERR ADC NUMLU_(ERROR TABLE SIZE_^1_%BZS (NUMLU)_%SPACE FOR MAXIMUM SIMULTANEOUS FAILURES_^1_%SPC 3_^1_%ENT DGNTAB_"DIAGNOSTIC TIMER TABLE_^1_%SPC 1_^1DGNTAB EQU DGNTAB(*)_#START OF TABLE_^1_%ADC PCORE_(1_"CORE ALLOCATOR_^0_%ADC P83260_'6_"1860-92 MAG-TAPE UNIT 0_^€€1_%ADC P83310_'8_"1833-1 1867-10/20 STORAGE MODULE UNIT 0_^1_%ADC P1827_(9_"1827-30/60 LINE PRINTER_^1_%ADC P1829_(10_!1829-30/60 CARD READER_^0_%ADC P83261_'11_!1860-92 MAG-TAPE UNIT 1_^1_%ADC P83350_'21_!1833-5/1865 FLEXIBLE DISK, UNIT 0_^0_%ADC P83262_'22_!1860-72 MAG-TAPE UNIT 2_^1_%ADC PMPRT_(24_!1827-7 MATRIX PRINTER_^1_%NUM $FFFF_(END OF TABLE_^1_%EJT_]_^1_%SPC 4_^1€€*_*S T A N D A R D_!L O G I C A L_!U N I T S_^1*_]_^1_%ENT DUMALT_^1_%ENT STDINP_^1*_]_^1DUMALT EQU DUMALT(2)_$STANDARD DUMMY ALTERNATE_^1INPCOM EQU INPCOM(4)_$STANDARD INPUT COMMENT_^1OUTCOM EQU OUTCOM(4)_$STANDARD OUTPUT COMMENT_^1LBUNIT EQU LBUNIT(8)_$STANDARD LIBRARY UNIT_^1SCRTCH EQU SCRTCH(8)_$STANDARD SCRATCH UNIT_^1LSTOUT EQU LSTOUT(9)_$STANDARD LIST OUTPUT_^1STDINP EQU S€€TDINP(4)_#STANDARD INPUT_^1BINOUT EQU BINOUT(6)_$STANDARD BINARY OUTPUT_^1_%EJT_]_^1*_*L I N E_!O N E_!T A B L E_^1*_]_^1_%SPC 1_^1*_]_^1_%ENT LIN1V4_'LINE 1 INTERRUPT ENTRY_^1_%SPC 1_^1LIN1V4 LDQ* LN1TV4_'PLACE THE PDT ADDRESS IN Q_^1_%EQU EWES(7)_^1_%LDQ- EWES,Q_'GET CONNECT_^1_%INP 1_,READ STATUS_^1_%NOP 0_^1_%AND- $25_*INTERRUPT MASK ($0004)_^1_%SAZ NOTCRT_^1_%LDQ* LN1T€€V4_^1_%LDA- 2,Q_^1_%STA- I_^1_%JMP- (I)_*TRANSFER CONTROL TO THE DRIVER CONTINUATOR_^1*_]_^1NOTCRT JMP VLINT_(GO TO CYBERDATA_^1_%SPC 3_^1_%ENT INVINT_^1_%SPC 1_^1INVINT JMP- (ADISP)_^1*_]_^1_%SPC 4_^1_%EQU LN1TV4(*)_#START OF TABLE_^1_%ADC P1811_(1811 CONSOLE DISPLAY_^1_%NUM $FFFF_(END OF TABLE_^1_%EJT_]_^1*_*P H Y S I C A L_!D E V I C E_!T A B L E S_^1*_]_^1*_]_^1*_*THE F€€OLLOWING SECTION CONTAINS THE PHYSICAL DEVICE TABLES_^1*_*AND INTERRUPT RESPONSE ROUTINES FOR EACH LOGICAL UNIT IN_^1*_*THE SYSTEM._^1*_]_^1*_*LISTED BELOW ARE THE MANDATORY ENTRIES FOR ALL PHYSICAL_^1*_*DEVICE TABLES._$ADDITIONAL ENTRIES REQUIRED BY EACH_^1*_*DRIVER MAY BE ADDED AFTER THE LAST ENTRY INDICATED._^1_%SPC 3_^1*_$EQU ELVL(0)_%00 SCHEDULER CALL WITH DRIVER LEVEL_^1*€€_$EQU EDIN(1)_%01 DRIVER INITIATOR ENTRY_^1*_$EQU EDCN(2)_%02 DRIVER CONTINUATOR ENTRY_^1*_$EQU EDPGM(3)_$03 DRIVER DIAGNOSTIC ENTRY_^1*_$EQU EDCLK(4)_$04 DIAGNOSTIC CLOCK_^1*_$EQU ELU(5)_'05 LOGICAL UNIT_^1*_$EQU EPTR(6)_%06 PARAMETER LOCATION_^1*_$EQU EWES(7)_%07 CONVERTOR, EQUIPMENT, STATION_^1*_$EQU EREQST(8)_#08 REQUEST STATUS_^1*_$EQU ESTAT1(9)_#09 DRIVER ST€€ATUS_^1*_$EQU ECCOR(10)_#10 CURRENT LOCATION_^1*_$EQU ELSTWD(11)_"11 LAST LOCATION PLUS ONE_^1*_$EQU ESTAT2(12)_"12 DEVICE STATUS_^1*_$EQU MASLGN(13)_"13 DRIVER LENGTH (IF MASS MEMORY)_^1*_$EQU MASSEC(14)_"14 NAME ASSOCIATED WITH SECTOR NUMBER_^1*_$EQU RETURN(15)_"15 RESERVED FOR FNR AND CMR_^1_%SPC 3_^1*_$LINK UNSELECTED PHYSICAL DEVICE TABLES_^1_%SPC 1_^1_%ENT P18E€€CM_^1_%ENT P18PGA_^1_%ENT P18ADD_^1_%ENT P18MXP_^1P18ECM EQU P18ECM($7FFF)_^1P18PGA EQU P18PGA($7FFF)_^1P18ADD EQU P18ADD($7FFF)_^1P18MXP EQU P18MXP($7FFF)_^1_%EJT_]_^1*_*C O R E_!A L L O C A T O R_^1*_]_^1_%SPC 1_^1_%ENT PCORE_^1_%EXT ICORE,ECORE_^1_%EQU SWAPT(0)_$SWAP TIME_^1_%SPC 1_^1PCORE ADC $5207_(00 SCHEDULER CALL_^1_%ADC ICORE_(01 INITIATOR ADDRESS_^1_%ADC €€ 0_,02 CONTINUATOR ADDRESS_!- NOT USED_^1_%ADC ECORE_(03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER, EQUIPMENT, STATION - NONE_^1_%NUM $00D6_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12€€ DEVICE STATUS_^1_%VFD X16/SWAPT-1_!13 TIME BETWEEN SWAPS (NONE IF NEGATIVE)_^1_%NUM $7FFF_(14 RESERVED_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%EJT_]_^1*_*D U M M Y_!L O G I C A L_!U N I T_^1*_]_^1_%SPC 1_^1_%EXT IDUMMY,CDUMMY,EDUMMY_^1_%SPC 1_^1PDUMMY ADC $520A_(00 SCHEDULER CALL_^1_%ADC IDUMMY_'01 INITIATOR ADDRESS_^1_%ADC CDUMMY_'02 CONTINUATOR ADDRESS_^1_%ADC€€ EDUMMY_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_$- NOT USED_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER, EQUIPMENT, STATION - NONE_^1_%NUM $01F6_(08 REQUEST STATUS_^1_%NUM $8000_(09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%NUM 0_,13€€ RESERVED_^1_%NUM $7FFF_(14 RESERVED_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%EJT_]_^1*_*1 8 1 1 - 1_!C O N S O L E_!D I S P L A Y_^1*_]_^1_%SPC 1_^1_%EXT I1810,C1810,E1810_^1_%EQU T1811(62*$10) TYPE CODE - 1811 DISPLAY_^1_%SPC 1_^1P1811 ADC $520A_(00 SCHEDULER CALL_^1_%ADC I1810_(01 INITIATOR ADDRESS_^1_%ADC C1810_(02 CONTINUATOR ADDRESS_^1_%ADC E1810_(03 TIME€€OUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM $0091_(07 CONVERTER, EQUIPMENT, STATION_^1_%ADC $3006+T1811_!08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%NUM 0_,13 ERROR CODE AND STARTING LOCAT€€ION_^1_%NUM $7FFF_(14 RESERVED_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 0_,16 DRIVER FLAGS_^1_%NUM 1_,17 HARDWARE PARITY CHECK FLAG_^1_%EJT_]_^1*_*C O S Y_!D R I V E R_^1*_]_^1_%SPC 1_^1_%EQU MCOSY1(1)_^1*_]_^1_%IFA MCOSY1,EQ,0_!CORE RESIDENT DRIVER_^1_%EXT ICOSY_^1_%EQU LCOSY(0)_^1_%EQU SCOSY($7FFF)_^1_%EIF_]_^1*_]_^1_%IFA MCOSY1,EQ,1_!MASS RESIDENT DRIVER_^1_€€%EXT MASDRV_^1ICOSY JMP+ MASDRV_'INITIATE DRIVER_^1_%EXT LCOSY_^1_%EXT SCOSY_^1_%EIF_]_^1*_]_^1_%EJT_]_^1*_*C O S Y_!D R I V E R ,_!F I R S T_!U N I T_^1*_]_^1_%SPC 1_^1PCOSY1 ADC $5208_(00 SCHEDULER CALL_^1_%ADC ICOSY_(01 INITIATOR ADDRESS_^1_%ADC 0_,02 CONTINUATOR ADDRESS_!- NOT USED_^1_%ADC 0_,03 TIMEOUT ERROR ADDRESS - NOT USED_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_€€%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER, EQUIPMENT, STATION - NONE_^1_%NUM $08B6_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%ADC LCOSY_(13 DRIVER LENGTH IF MASS MEMORY_^1_%ADC SCOSY_(14 NAME ASSOCIATED WITH SECTOR NUMBER€€_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%ADC PCOSY1_'16 PHYSTB THREAD_^1_%NUM 0_,17 SEQUENCE NUMBER_^1_%NUM 0_,18 ID_^1_%NUM 0_,19 ID-1_^1_%NUM 0_,20 ID-2_^1_%NUM 0_,21 NUMBER OF WORDS REQUESTED_^1_%NUM $5555_(22 HOL-CHARACTER POINTER_^1_%NUM $5555_(23 COSY-CHARACTER POINTER_^1_%NUM 0_,24 R/W FLAG_^1_%NUM 1_,25 PON5F_^1_%NUM 0_,26 FSTCHR_^1_%NUM 0_,27 E€€NDDCK_^1_%ADC INPBFB_'28 COSY BUFFER LOCATION_^1_%ADC INPBFB_'29 NEXT COSY WORD_^1_%NUM 0_,30 HOL-BUFFER POINTER_^1_%NUM 1_,31 INITIAL CALL FLAG_^1_%NUM 0_,32 SEQUENCE FLAG NONZERO=NO SEQUENCE NUMBER_^1*_]_^1_%BZS INPBFB(192)_!33 COSY BUFFER_^1*_7224 COSY BUFFER_^1_%EJT_]_^0*_]_^0*_*1 8 3 2 - 6 1 8 6 0 - 7 2 / 9 2 M A G T A P E_^1*_]_^1_%SPC 1_^0_%EQU T18327(65*$€€10) TYPE CODE - 1860-72 MAG TAPE_^0_%EQU T18329(66*$10) TYPE CODE - 1860-92 MAG TAPE_^0_%EQU MXPHRC(192)_!MAXIMUM PHYSICAL RECORD SIZE (7 TRACK)_^0B18326 BZS B18326(MXPHRC*4/3+2) LCTT PACK/UNPACK BUFFER_^0_%EXT MASDRV_(MMEXEC INITIATOR_^0_%EXT MMASCON_'MMEXEC CONTINUATOR_^0_%EXT MMASERR_'MMEXEC ERROR_^0_%EXT L18326_^0_%EXT S18326_^0*_]_^0R18326 NUM $E000_)LDQ =X INTERRUPT R€€ESPONSE FOR_^0_%ADC P83260_(LCTT MAG TAPE_^0_%JMP* (P83260+2)_^1_%EJT_]_^0*_]_^0* 1 8 3 2 - 6 1 8 6 0 - 7 2 / 9 2_!M A G T A P E , U N I T 0_^0*_]_^0_%SPC 1_^0P83260 ADC $520A_(00 SCHEDULAR CALL_^0_%ADC MASDRV_'01 INITIATOR ADDRESS_^0_%ADC MASCON_'02 CONTINUATOR ADDRESS_^0_%ADC MASERR_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGIACL€€ UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^0_%NUM $601_)07 CONVERTER,EQUIPMENT,STATION_^0_%ADC $806+T18329_!08 REQUEST STATUS_^1_%NUM 0_,09 DRIVE STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^0_%ADC L18326_'13 DRIVER LENGTH_^0_%ADC S18326_'14 MASS STORAGE SECTOR NUMBER_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_€€^1_%NUM 0_,16 FAULT CODE IF REQUEST ERROR_^0_%NUM 0_,17 DIAGNOSTIC LOGICAL UNIT_^1_%NUM 0_,18 COUNT OF GHOST INTERRUPTS_^1_%NUM 0_,19 MICRO INTERRUPT LINE_^1_%NUM 0_,20 INTERRUPT TIMEOUT VALUE_^0_%NUM -0_,21 STATUS AFTER INITIAL ENTRY_^0_%NUM -0_,22 STATUS AFTER INTERRUPT_^0_%NUM -0_,23 STATUS AFTER TIMEOUT ERROR_^0_%NUM 0_,24 CONTROL POINT LOCATION_^0_%NUM 0_,25 R€€ETURN FOR RECOVERY_^0_%NUM 0_,26 A REGISTER AT LAST OUTPUT_^0_%NUM 0_,27 Q REGISTER AT LAST OUTPUT_^0_%NUM $8080_(28 UNIT AND MODE SELECT_^0_%NUM 0_,29 WORD 4 OF REQUEST_^0_%NUM 0_,30 RECOVERY COUNT FLAG_^0_%NUM 0_,31 RECOVERY BIT (15=1 TO DISABLE)_^0_%NUM 0_,32 MAX PHYSICAL RECORD SIZE (7 TRACK)_^0_%NUM 0_,33 PACK/UNPACK BUFFER ADDRESS_^0_%NUM 0_,34 ALARM STATUS W€€ORD_^0_%NUM 0_,35 TRANSPORT STATUS_^0_%ADC P83261_'36 PHYSTAB THREAD_^1_%EJT_]_^0*_]_^0* 1 8 3 2 - 6 1 8 6 0 - 7 2 / 9 2_!M A G T A P E , U N I T 1_^0*_]_^0_%SPC 1_^0P83261 ADC $520A_(00 SCHEDULAR CALL_^0_%ADC MASDRV_'01 INITIATOR ADDRESS_^0_%ADC MASCON_'02 CONTINUATOR ADDRESS_^0_%ADC MASERR_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,0€€5 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^0_%NUM $601_)07 CONVERTER,EQUIPMENT,STATION_^0_%ADC $806+T18329_!08 REQUEST STATUS_^1_%NUM 0_,09 DRIVE STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^0_%ADC L18326_'13 DRIVER LENGTH_^0_%ADC S18326_'14 MASS STORAGE SECTOR NUMBER_^1_%NUM 0_,15 RESERVED FOR FN€€R AND CMR_^1_%NUM 0_,16 FAULT CODE IF REQUEST ERROR_^0_%NUM 0_,17 DIAGNOSTIC LOGICAL UNIT_^1_%NUM 0_,18 COUNT OF GHOST INTERRUPTS_^1_%NUM 0_,19 MICRO INTERRUPT LINE_^1_%NUM 0_,20 INTERRUPT TIMEOUT VALUE_^0_%NUM -0_,21 STATUS AFTER INITIAL ENTRY_^0_%NUM -0_,22 STATUS AFTER INTERRUPT_^0_%NUM -0_,23 STATUS AFTER TIMEOUT ERROR_^0_%NUM 0_,24 CONTROL POINT LOCATION_^0_%NUM€€ 0_,25 RETURN FOR RECOVERY_^0_%NUM 0_,26 A REGISTER AT LAST OUTPUT_^0_%NUM 0_,27 Q REGISTER AT LAST OUTPUT_^0_%NUM $8090_(28 UNIT AND MODE SELECT_^0_%NUM 0_,29 WORD 4 OF REQUEST_^0_%NUM 0_,30 RECOVERY COUNT FLAG_^0_%NUM 0_,31 RECOVERY BIT (15=1 TO DISABLE)_^0_%NUM 0_,32 MAX PHYSICAL RECORD SIZE (7 TRACK)_^0_%NUM 0_,33 PACK/UNPACK BUFFER ADDRESS_^0_%NUM 0_,34 ALAR€€M STATUS WORD_^0_%NUM 0_,35 TRANSPORT STATUS_^0_%ADC P83262_'36 PHYSTAB THREAD_^1_%EJT_]_^0*_]_^0* 1 8 3 2 - 6 1 8 6 0 - 7 2 / 9 2_!M A G T A P E , U N I T 2_^0*_]_^0_%SPC 1_^0P83262 ADC $520A_(00 SCHEDULAR CALL_^0_%ADC MASDRV_'01 INITIATOR ADDRESS_^0_%ADC MASCON_'02 CONTINUATOR ADDRESS_^0_%ADC MASERR_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_€€%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^0_%NUM $601_)07 CONVERTER,EQUIPMENT,STATION_^0_%ADC $806+T18327_!08 REQUEST STATUS_^0_%NUM $0200_(09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^0_%ADC L18326_'13 DRIVER LENGTH_^0_%ADC S18326_'14 MASS STORAGE SECTOR NUMBER_^1_%NUM 0_,15 €€RESERVED FOR FNR AND CMR_^1_%NUM 0_,16 FAULT CODE IF REQUEST ERROR_^0_%NUM 0_,17 DIAGNOSTIC LOGICAL UNIT_^1_%NUM 0_,18 COUNT OF GHOST INTERRUPTS_^1_%NUM 0_,19 MICRO INTERRUPT LINE_^1_%NUM 0_,20 INTERRUPT TIMEOUT VALUE_^0_%NUM -0_,21 STATUS AFTER INITIAL ENTRY_^0_%NUM -0_,22 STATUS AFTER INTERRUPT_^0_%NUM -0_,23 STATUS AFTER TIMEOUT ERROR_^0_%NUM 0_,24 CONTROL POINT L€€OCATION_^0_%NUM 0_,25 RETURN FOR RECOVERY_^0_%NUM 0_,26 A REGISTER AT LAST OUTPUT_^0_%NUM 0_,27 Q REGISTER AT LAST OUTPUT_^0_%NUM $00A0_(28 UNIT AND MODE SELECT_^0_%NUM 0_,29 WORD 4 OF REQUEST_^0_%NUM 0_,30 RECOVERY COUNT FLAG_^0_%NUM 0_,31 RECOVERY BIT (15=1 TO DISABLE)_^0_%ADC MXPHRC_'32 MAX PHYSICAL RECORD SIZE (7 TRACK)_^0_%ADC B18326_'33 PACK/UNPACK BUFFER ADD€€RESS_^0_%NUM 0_,34 ALARM STATUS WORD_^0_%NUM 0_,35 TRANSPORT STATUS_^0_%ADC P83260_'36 PHYSTAB THREAD_^1_%EJT_]_^1*_*1 8 3 3 - 5 / 1 8 6 5_!F L E X I B L E_!D I S K_^1*_]_^1_%SPC 1_^1_%EQU M18335(1)_^1_%EQU T18335(68*$10) TYPE CODE - 1833-5 865-1/4_^1_%EQU F18335(5)_#READ RECOVERY COUNT OF RESEEKS FOR TRACK 0_^1_%EQU G18335(5)_#READ RECOVERY COUNT OF OFF TRACK SEEKS_^1_%€€EQU H18335(10)_"READ RECOVERY COUNT OF NUMBER OF RETRIES_^1_%EQU V18335(2)_#WRITE RECOVERY COUNT OF RESEEKS FROM TRACK 0_^1_%EQU W18335(0)_#WRITE RECOVERY COUNT OF OFF TRACK SEEKS_^1_%EQU X18335(2)_#WRITE RECOVERY COUNT OF NUMBER OF RETRIES_^1_%IFA M18335,EQ,0_!CORE RESIDENT DRIVER_^1_%EXT I18335_^1_%EXT C18335_^1_%EXT E18335_^1_%EQU L18335(0)_^1_%EQU S18335($7FFF)_^1_%EI€€F_]_^1*_]_^1_%IFA M18335,EQ,1_!MASS RESIDENT DRIVER_^1_%EXT MASDRV_^1_%EXT MASCON_^1_%EXT MASERR_^1I18335 JMP+ MASDRV_'INITIATE DRIVER_^1C18335 JMP+ MASCON_'INTERRUPT RESPONSE_^1E18335 JMP+ MASERR_'TIMEOUT ERROR_^1_%EXT L18335_^1_%EXT S18335_^1_%EIF_]_^1_%SPC 3_^1R18335 LDQ =XP83350_$INTERRUPT RESPONSE FOR 1833-5 UNIT 0 FDD DISK_^1_%JMP (P83350+2)_^1_%EJT_]_^1*_$1 8 3 3 - €€5 / 1 8 6 5_!F L E X I B L E_!D I S K_!U N I T_!0_^1*_]_^1_%EQU D83350(96)_"DIMENSION OF A83350 (WORD ADDRESSABLE BUFFER)_^1A83350 BSS A83350(D83350) ABUFF_^1_%EQU Z83350(192)_!SIZE OF B83350 (WRITE COMPARE BUFFER)_^1B83350 BSS B83350(Z83350) BUFADR_^1_%SPC 1_^1P83350 ADC $5209_(00 SCHEDULER CALL_^1_%ADC I18335_'01 INITIATOR ADDRESS_^1_%ADC C18335_'02 CONTINUATOR ADDRE€€SS_^1_%ADC E18335_'03 TIME OUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM $0380_(07 CONVERTER, EQUIPMENT, STATION_^1_%ADC $1006+T18335 08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%ADC L18335€€_'13 DRIVER LENGTH IF MASS MEMORY_^1_%ADC S18335_'14 NAME ASSOCIATED WITH SECTOR NUMBER_^1_%NUM 0_,15 RESERVED FOR FNR, CMR AND KERNEL_^1_%NUM 0_,16 FAULT CODE IF A REQUEST ERROR OCCURS_^1_%NUM 0_,17 UNUSED_^1_%NUM 0_,18 COUNT OF GHOST INTERRUPTS_^1_%NUM 0_,19 MICRO-INTERRUPT NUMBER_^1_%NUM 7_,20 TIMEOUT PERIOD TO WAIT FOR AN INTERRUPT_^1_%NUM $FFFF_(21 STATUS AFTE€€R INITIAL ENTRY_#-UNIT_^1_%NUM $FFFF_(22 STATUS AFTER INTERRUPT_(-UNIT_^1_%NUM $FFFF_(23 STATUS AFTER INTERRUPT TIMEOUT -UNIT_^1_%NUM $FFFF_(24 STATUS AFTER INITIAL ENTRY_#-CONTROLLER_^1_%NUM $FFFF_(25 STATUS AFTER INTERRUPT_(-CONTROLLER_^1_%NUM $FFFF_(26 STATUS AFTER INTERRUPT TIMEOUT -CONTROLLER_^1_%NUM 0_,27 DEFINE BAD TRACKS OF DISKETTE_^1_%NUM 0_,28 NUMBER OF SEC€€TORS PER TRACK_^1_%NUM 0_,29 NUMBER OF WORDS PER SECTOR_^1_%NUM 0_,30 CURRENT TRACK/SECTOR_^1_%NUM 0_,31 STARTING LOGICAL SECTOR FOR REQUEST_^1_%NUM 0_,32 LAST LOGICAL SECTOR FOR REQUEST_^1_%NUM 0_,33 WORD ADDRESSABLE SECTOR OFFSET, 1ST SECTOR_^1_%NUM 0_,34 SECTOR OFFSET FOR END OF DATA IN REQUEST_^1_%NUM 0_,35 CURRENT 1ST WORD ADDRESS_^1_%NUM 0_,36 FWA WITHIN USER'€€S BUFFER FOR KERNEL CALL_^1_%NUM 0_,37 LWA WITHIN USER'S BUFFER FOR KERNEL CALL_^1_%NUM 0_,38 NFDD CURRENT FWA_^1_%NUM 0_,39 NFDD CURRENT LWA_^1_%NUM 0_,40 SPEUDO COMPLETION PARAMETER LIST_^1_%NUM 0_,41 COMPLETION OVERLAY ADDRESS_^1_%NUM 0_,42 MOTION OPTIONS, BAD STATUS BITS, FWA XFER_^1_%NUM 0_,43 LWA XFER ROUTINE, LFDD RECOVERY COUNTER_^1*_844 READ RECOVERY OPTIONS€€_^1_%VFD X5/F18335,X5/G18335,X6/H18335_^1*_845 WRITE RECOVERY OPTIONS_^1_%VFD X5/V18335,X5/W18335,X6/X18335_^1_%NUM 0_,46 ERROR COUNT OF MEDIA ERRORS WITHIN REQUEST_^1_%NUM 0_,47 NUMBER OF ERROR RECOVERIES FROM MEDIA ERRS_^1_%NUM $100_)48 LOGGING RECOVERY INTERVAL_^1_%NUM 0_,49 PASS COUNTER FOR I/O PROGRESSION IN NFDD_^1_%NUM 0_,50 STARTING SECTOR IN WORD ADDRESSABLE B€€UFFER_^1_%NUM 0_,51 USEABLE SECTOR COUNT IN ABUFF BUFFER_^1_%NUM 0_,52 MAXIMUM SECTOR COUNT FOR ABUFF BUFFER_^1_%ADC A83350_'53 ADDRESS OF WORD ADDRESSABLE BUFFER -ABUFF_^1_%ADC D83350_'54 BUFFER SIZE IN WORDS OF ABUFF_^1_%ADC B83350_'55 ADDRESS OF WRITE COMPARE BUFFER - BUFADR_^1_%ADC Z83350_'56 BUFFER LENGTH IN WORDS OF BUFADR_^1_%NUM 0_,57 PRIME FLAG WORD_^1_%NUM €€0_,58 WRITE COMPARE FLAG WORD_^1_%NUM 0_,59 READ ONLY FLAG WORD_^1_%NUM 0_,60 NOT USED_^1_%NUM 0_,61 1ST BAD TRACK_^1_%NUM 0_,62 NOT USED_^1_%NUM 0_,63 2ND BAD TRACK_^1_%NUM 0_,64 KERNEL FLAG BITS OPTION WORD_^1_%NUM 0_,65 LAST FUNCTION CODE ISSUED_^1_%NUM 0_,66 TIME COUNTER AT START OF SEEK (3.3 MS)_^1_%NUM 0_,67 TIME COUNTER AT END OF SEEK (3.3 MS)_^1_%NUM 0_,€€68 ILLEGAL FUNCTION CODE TO BE ISSUED_^1_%NUM 0_,69 RWFDD RETURN ADDRESS_^1_%NUM 0_,70 OFFSET RETURN ADDRESS_^1_%NUM 0_,71 BUFFIO RETURN ADDRESS_^1_%ADC P83350_'72 FDD PHYSICAL DEVICE TABLE THREAD_^1_%EJT_]_^1*_$M A G N E T I C T A P E S I M U L A T O R_^1*_]_^1_%SPC 1_^1_%EQU MTSIM0(1)_^1*_]_^1_%IFA MTSIM0,EQ,0_!CORE RESIDENT DRIVER_^1_%EXT IMTSIM_^1_%EQU LMTSIM(0)€€_^1_%EQU SMTSIM($7FFF)_^1_%EIF_]_^1*_]_^1_%IFA MTSIM0,EQ,1_!MASS RESIDENT DRIVER_^1_%EXT MASDRV_^1IMTSIM JMP+ MASDRV_'INITIATE DRIVER_^1_%EXT LMTSIM_^1_%EXT SMTSIM_^1_%EIF_]_^1*_]_^1_%EJT_]_^1*_$M A G T A P E S I M U L A T O R, U N I T 0_^1*_]_^1_%EXT MTBFS0_^1_%EXT MTBFE0_^1_%SPC 1_^1PTSIM0 ADC $5208_(00 SCHEDULAR CALL_^1_%ADC IMTSIM_'01 INITIATOR ADDRESS_^1_%ADC €€0_,02 CONTINUATOR ADDRESS_!-NOT USED_^1_%ADC 0_,03 TIMEOUT ERROR ADDRESS -NOT USED_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_$-NOT USED_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER,EQUIPMENT,STATION - NONE_^1_%NUM $0BC6_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_€€^1_%NUM 0_,12 DEVICE STATUS_^1_%ADC LMTSIM_'13 DRIVER LENGTH IF MASS MEMORY_^1_%ADC SMTSIM_'14 NAME ASSOCIATED WITH SECTOR NUMBER_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 8_,16 MASS MEMORY LOGICAL UNIT_^1_%NUM 0_,17 MM WORD ADDRESS POINTER (MSB)_^1_%NUM 0_,18 MM WORD ADDRESS POINTER (LSB)_^1_%NUM 0_,19 MASS MEMORY ADDRESS -_^1_%ADC MTBFS0_'20 START OF MASS M€€EMORY BYFFER_^1_%NUM 0_,21 MASS MEMORY ADDRESS -_^1_%ADC MTBFE0_'22 END OF MASS MEMORY BUFFER_^1_%ADC PTSIM1_'23 PHYSTAB THREAD_^1_%EJT_]_^1*_$M A G T A P E S I M U L A T O R, U N I T 1_^1*_]_^1_%EXT MTBFS1_^1_%EXT MTBFE1_^1_%SPC 1_^1PTSIM1 ADC $5208_(00 SCHEDULAR CALL_^1_%ADC IMTSIM_'01 INITIATOR ADDRESS_^1_%ADC 0_,02 CONTINUATOR ADDRESS_!-NOT USED_^1_%ADC 0_,0€€3 TIMEOUT ERROR ADDRESS -NOT USED_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_$-NOT USED_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER,EQUIPMENT,STATION - NONE_^1_%NUM $0BC6_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%ADC LMTSIM_'13 €€DRIVER LENGTH IF MASS MEMORY_^1_%ADC SMTSIM_'14 NAME ASSOCIATED WITH SECTOR NUMBER_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 8_,16 MASS MEMORY LOGICAL UNIT_^1_%NUM 0_,17 MM WORD ADDRESS POINTER (MSB)_^1_%NUM 0_,18 MM WORD ADDRESS POINTER (LSB)_^1_%NUM 0_,19 MASS MEMORY ADDRESS -_^1_%ADC MTBFS1_'20 START OF MASS MEMORY BYFFER_^1_%NUM 0_,21 MASS MEMORY ADDRESS -_€€^1_%ADC MTBFE1_'22 END OF MASS MEMORY BUFFER_^1_%ADC PTSIM0_'23 PHYSTAB THREAD_^1_%EJT_]_^1*_*P S E U D O_!D I S K_!U N I T_!0_^1*_]_^1_%SPC 1_^1_%EXT IPSDSK,CPSDSK,EPSDSK_^1_%EQU SBIAS0(1)_^1_%SPC 1_^1PSDSK0 ADC $5209_(00 SCHEDULER CALL_^1_%ADC IPSDSK_'01 INITIATOR ADDRESS_^1_%ADC CPSDSK_'02 CONTINUATOR ADDRESS_^1_%ADC EPSDSK_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04€€ DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER, EQUIPMENT, STATION - NONE_^1_%NUM $1486_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%NUM 0_,13 RESERVED_^1_%NUM 0_,14 RESERVED_^1_%NUM 0_,15 RESERVED FOR FN€€R AND CMR_^1_%NUM 0_,16 NEW REQUEST_^1_%ADC CPSDSK_'17 COMPLETION_^1_%NUM 0_,18 THREAD_^1_%NUM 8_,19 MASS MEMORY LOGICAL UNIT_^1_%NUM 0_,20 NUMBER OF WORDS_^1_%NUM 0_,21 BUFFER_^1_%NUM 0_,22 NEW REQUEST MSB_^1_%NUM 0_,23 NEW REQUEST LSB_^1_%NUM 0_,24 CONTROL POINT FOR TIME SHARE SYSTEM_^1_%ADC SBIAS0_'25 SECTOR BIAS_^1_%ADC SBIAS0*$60_"26 WORD BIAS_^1_%NUM 9_€€,27 COMPLETION LEVEL_^1_%EJT_]_^1*_*P S E U D O_!D I S K_!U N I T_!1_^1*_]_^1_%EQU SBIAS1(2)_^1_%SPC 1_^1PSDSK1 ADC $5209_(00 SCHEDULER CALL_^1_%ADC IPSDSK_'01 INITIATOR ADDRESS_^1_%ADC CPSDSK_'02 CONTINUATOR ADDRESS_^1_%ADC EPSDSK_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CON€€VERTER, EQUIPMENT, STATION - NONE_^1_%NUM $1486_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%NUM 0_,13 RESERVED_^1_%NUM 0_,14 RESERVED_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 0_,16 NEW REQUEST_^1_%ADC CPSDSK_'17 COMPLETION_^1_%NUM 0_,18 THREAD_^1_%NUM €€8_,19 MASS MEMORY LOGICAL UNIT_^1_%NUM 0_,20 NUMBER OF WORDS_^1_%NUM 0_,21 BUFFER_^1_%NUM 0_,22 NEW REQUEST MSB_^1_%NUM 0_,23 NEW REQUEST LSB_^1_%NUM 0_,24 CONTROL POINT FOR TIME SHARE SYSTEM_^1_%ADC SBIAS1_'25 SECTOR BIAS_^1_%ADC SBIAS1*$60_"26 WORD BIAS_^1_%NUM 9_,27 COMPLETION LEVEL_^1_%EJT_]_^1*_*P S E U D O_!D I S K_!U N I T_!2_^1*_]_^1_%EQU SBIAS2(3)_^1_%SPC €€ 1_^1PSDSK2 ADC $5209_(00 SCHEDULER CALL_^1_%ADC IPSDSK_'01 INITIATOR ADDRESS_^1_%ADC CPSDSK_'02 CONTINUATOR ADDRESS_^1_%ADC EPSDSK_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER, EQUIPMENT, STATION - NONE_^1_%NUM $1486_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_€€%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%NUM 0_,13 RESERVED_^1_%NUM 0_,14 RESERVED_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 0_,16 NEW REQUEST_^1_%ADC CPSDSK_'17 COMPLETION_^1_%NUM 0_,18 THREAD_^1_%NUM 8_,19 MASS MEMORY LOGICAL UNIT_^1_%NUM 0_,20 NUMBER OF WORDS_^1_%NUM 0_,21 BUFFER_^1_%NUM 0_,22 €€ NEW REQUEST MSB_^1_%NUM 0_,23 NEW REQUEST LSB_^1_%NUM 0_,24 CONTROL POINT FOR TIME SHARE SYSTEM_^1_%ADC SBIAS2_'25 SECTOR BIAS_^1_%ADC SBIAS2*$60_"26 WORD BIAS_^1_%NUM 9_,27 COMPLETION LEVEL_^1_%EJT_]_^1*_*P S E U D O_!D I S K_!U N I T_!3_^1*_]_^1_%EQU SBIAS3(4)_^1_%SPC 1_^1PSDSK3 ADC $5209_(00 SCHEDULER CALL_^1_%ADC IPSDSK_'01 INITIATOR ADDRESS_^1_%ADC CPSDSK_'02 €€ CONTINUATOR ADDRESS_^1_%ADC EPSDSK_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER, EQUIPMENT, STATION - NONE_^1_%NUM $1486_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_€€%NUM 0_,13 RESERVED_^1_%NUM 0_,14 RESERVED_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 0_,16 NEW REQUEST_^1_%ADC CPSDSK_'17 COMPLETION_^1_%NUM 0_,18 THREAD_^1_%NUM 8_,19 MASS MEMORY LOGICAL UNIT_^1_%NUM 0_,20 NUMBER OF WORDS_^1_%NUM 0_,21 BUFFER_^1_%NUM 0_,22 NEW REQUEST MSB_^1_%NUM 0_,23 NEW REQUEST LSB_^1_%NUM 0_,24 CONTROL POINT FOR TIME SHARE SYSTEM_^€€1_%ADC SBIAS3_'25 SECTOR BIAS_^1_%ADC SBIAS3*$60_"26 WORD BIAS_^1_%NUM 9_,27 COMPLETION LEVEL_^1_%EJT_]_^1*_*P S E U D O_!D I S K_!U N I T_!4_^1*_]_^1_%EQU SBIAS4(5)_^1_%SPC 1_^1PSDSK4 ADC $5209_(00 SCHEDULER CALL_^1_%ADC IPSDSK_'01 INITIATOR ADDRESS_^1_%ADC CPSDSK_'02 CONTINUATOR ADDRESS_^1_%ADC EPSDSK_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%N€€UM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER, EQUIPMENT, STATION - NONE_^1_%NUM $1486_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%NUM 0_,13 RESERVED_^1_%NUM 0_,14 RESERVED_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 0_,16€€ NEW REQUEST_^1_%ADC CPSDSK_'17 COMPLETION_^1_%NUM 0_,18 THREAD_^1_%NUM 8_,19 MASS MEMORY LOGICAL UNIT_^1_%NUM 0_,20 NUMBER OF WORDS_^1_%NUM 0_,21 BUFFER_^1_%NUM 0_,22 NEW REQUEST MSB_^1_%NUM 0_,23 NEW REQUEST LSB_^1_%NUM 0_,24 CONTROL POINT FOR TIME SHARE SYSTEM_^1_%ADC SBIAS4_'25 SECTOR BIAS_^1_%ADC SBIAS4*$60_"26 WORD BIAS_^1_%NUM 9_,27 COMPLETION LEVEL_^1€€_%EJT_]_^1*_*P S E U D O_!D I S K_!U N I T_!5_^1*_]_^1_%EQU SBIAS5(6)_^1_%SPC 1_^1PSDSK5 ADC $5209_(00 SCHEDULER CALL_^1_%ADC IPSDSK_'01 INITIATOR ADDRESS_^1_%ADC CPSDSK_'02 CONTINUATOR ADDRESS_^1_%ADC EPSDSK_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER, EQUIPMENT, STATI€€ON - NONE_^1_%NUM $1486_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%NUM 0_,13 RESERVED_^1_%NUM 0_,14 RESERVED_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 0_,16 NEW REQUEST_^1_%ADC CPSDSK_'17 COMPLETION_^1_%NUM 0_,18 THREAD_^1_%NUM 8_,19 MASS MEMORY LOGIC€€AL UNIT_^1_%NUM 0_,20 NUMBER OF WORDS_^1_%NUM 0_,21 BUFFER_^1_%NUM 0_,22 NEW REQUEST MSB_^1_%NUM 0_,23 NEW REQUEST LSB_^1_%NUM 0_,24 CONTROL POINT FOR TIME SHARE SYSTEM_^1_%ADC SBIAS5_'25 SECTOR BIAS_^1_%ADC SBIAS5*$60_"26 WORD BIAS_^1_%NUM 9_,27 COMPLETION LEVEL_^1_%EJT_]_^1*_*P S E U D O_!D I S K_!U N I T_!6_^1*_]_^1_%EQU SBIAS6(7)_^1_%SPC 1_^1PSDSK6 ADC $5209_(€€00 SCHEDULER CALL_^1_%ADC IPSDSK_'01 INITIATOR ADDRESS_^1_%ADC CPSDSK_'02 CONTINUATOR ADDRESS_^1_%ADC EPSDSK_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER, EQUIPMENT, STATION - NONE_^1_%NUM $1486_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOC€€ATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%NUM 0_,13 RESERVED_^1_%NUM 0_,14 RESERVED_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 0_,16 NEW REQUEST_^1_%ADC CPSDSK_'17 COMPLETION_^1_%NUM 0_,18 THREAD_^1_%NUM 8_,19 MASS MEMORY LOGICAL UNIT_^1_%NUM 0_,20 NUMBER OF WORDS_^1_%NUM 0_,21 BUFFER_^1_%NUM 0_,22 NEW REQUEST MSB_^1_%NUM€€ 0_,23 NEW REQUEST LSB_^1_%NUM 0_,24 CONTROL POINT FOR TIME SHARE SYSTEM_^1_%ADC SBIAS6_'25 SECTOR BIAS_^1_%ADC SBIAS6*$60_"26 WORD BIAS_^1_%NUM 9_,27 COMPLETION LEVEL_^1_%EJT_]_^1*_*1 8 3 3 - 1 / 1 8 6 7_!S T O R A G E_!M O D U L E_^1*_]_^1_%SPC 1_^1_%EXT I18331,C18331,E18331_^1_%ENT P83310_^1_%EQU T8671(69*$10) TYPE CODE - 1833-1 867-1_^1_%EQU T8672(70*$10) TYPE COD€€E - 1833-1 867-2_^1_%EQU C867DA(0)_#SINGLE DA_^1_%EQU C867MD(0)_#SINGLE DRIVE_^1_%SPC 2_^1_%SPC 2_^1R18331 LDQ =XP83310_$INTERRUPT RESPONSE FOR 1833-1 DISK_^1_%JMP* (P83310+2)_^1_%EJT_]_^1*_$1 8 3 3 / 1 8 6 7_!S T O R A G E_!M O D U L E - U N I T_!0_^1*_]_^1_%SPC 1_^1P83310 ADC $5209_(00 SCHEDULER CALL_^1_%ADC I18331_'01 DRIVER INITIATOR_^1_%ADC C18331_'02 DRIVER CONTIN€€UATOR_^1_%ADC E18331_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM $0700_(07 CONVERTER, EQUIPMENT, STATION_^1_%ADC $1006+T8672_!08 SYSTEM STATUS_^1_%NUM $0200_(09 REQUEST STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%NUM 0€€_,13 UNUSED_^1_%NUM 0_,14 UNUSED_^1_%NUM 0_,15 SECTOR NUMBER OR FNR RETURN_^1_%NUM 0_,16 KERNEL FAULT CODE IF AN ERROR OCCURED_^1_%NUM 0_,17 DIAGNOSTIC UNIT NUMBER_^1_%NUM 0_,18 GHOST INTERRUPT COUNTS_^1_%NUM 0_,19 MIRCO INTERRUPT NUMBER IF ANY, FOR DEVICE_^1_%NUM 0_,20 TIME IN SECONDS FOR INTERRUPT WAITING_^1_%NUM 0_,21 STATUS AFTER THE INITIAL ENTRY INTO KERNEL_^€€1_%NUM 0_,22 STATUS AFTER DEVICE HAS INTERRUPTED_^1_%NUM 0_,23 STATUS AFTER THE DEVICE'S INTERRUPT TIMEOT_^1_%NUM 0_,24 CYLINDER ADDRESS FOR TRANSFER_^1_%NUM 0_,25 TRACK AND SECTOR FORMATTED_^1_%NUM 0_,26 UPPER FIELD OF ADDRESS (BITS 17-16 OF DMA)_^1_%NUM 0_,27 TEMPORARY CYLINDER FOR WORD ADDRESSING_^1_%NUM 0_,28 USED BY WORD ADDRESSING (TRACK/SECTOR)_^1_%NUM 0_,29 €€USED BY WORD ADDRESSING (FWA)_^1_%NUM 0_,30 USED BY WORD ADDRESSING (LWA)_^1_%NUM 0_,31 USED BY WORD ADDRESSING (WORD IN SECTOR)_^1_%NUM 0_,32 LAST VALUE OF CU STATUS_^1_%NUM 0_,33 LAST VALUE OF DRIVE 1 STATUS_^1_%NUM 0_,34 LAST VALUE OF DRIVE 2 STATUS_^1_%NUM 0_,35 DATA TRANSFER FUNCTION CODE_^1_%NUM 0_,36 LAST DATA TRANSFER FUNCTION CODE_^1_%NUM 0_,37 RETURN ADDRE€€SS INDEX FOR DATA TRANSFER_^1_%NUM 0_,38 DA NUMBER_^1_%NUM 0_,39 LOGICAL DRIVE NUMBER OF DISK_^1_%NUM 0_,40 COUNTER FOR SEEK ERROR_^1_%NUM 0_,41 RETURN SEEK TO ZERO FLAG_^1_%NUM 0_,42 ERROR COUNTER_^1_%NUM 0_,43 REQUEST PRIORITY_^1_%NUM 0_,44 REQUEST CODE_^1_%NUM 0_,45 RESERVED FOR OVERLAY_^1_%NUM 0_,46 RESERVED FOR OVERLAY_^1_%NUM 0_,47 RESERVED FOR OVERLAY_^1_€€%NUM 0_,48 RESERVED FOR OVERLAY_^1_%NUM 0_,49 LAST VALUE OF DRIVE FAULT STATUS_^1_%NUM 0_,50 INDEX THRU OFFSET JUMP TABLE_^1_%NUM 0_,51 UNUSED_^1_%VFD X1/C867DA,X1/C867MD,X13/0 52 CONFIGURATION_^1_%NUM 1_,53 ECC ERROR RECOVERY FLAG (1 = DO RECOVERY)_^1_%NUM 4_,54 MAX. ERROR RETRIALS FOR SEEK,OPERATION_^1_%NUM 5_,55 MAX. ERROR RETRIALS FOR DATA TRANSFER_^1_%NUM 5_,€€56 MAX. ERROR RETRIALS FOR CU CONNECTION_^1_%NUM 5_,57 MAX. TIME COUNTS (NO. OF LOOP) FOR CU_^1_%NUM 1_,58 DIAGNOSTIC TIMER VALUE FOR DATA TRANSFER_^1_%NUM 5_,59 DIAGNOSTIC TIMER VALUE FOR CU WAIT_^1_%NUM 3_,60 DIAGNOSTIC TIMER VALUE FOR ALT CHANNEL WAT_^1_%NUM 1_,61 DIAGNOSTIC TIMER VALUE FOR SEEK OPERATION_^1_%NUM 0_,62 FORCE RELEASE COUNT_^1_%NUM 0_,63 TIME SHARE €€CONTROL POINT (CP) VALUE_^1_%NUM 0_,64 EARLY/LAST STROBE + OFF SET FOR DIAGNOSTIC_^1_%ADC BPSMD0_'65 ADDRESS OF 96 WORD BUFFER_^1_%ADC P83310_'66 PHYSTB THREAD_^1_%NUM 0_,67 RETURN FROM CONCU_^1_%BZS BPSMD0(96)_"68 BUFFER FOR WORD ADDRESSING_^1_%EJT_]_^1*_$1 8 2 7 - 3 0 / 6 0 L I N E P R I N T E R_^1*_]_^1_%SPC 1_^1_%EQU T1827(64*$10) TYPE CODE - 1827-30/60_^1_%EQU F€€1827K(FTN827-LOG1A)_^1_%SPC 1_^1_%EQU M1827(1)_^1*_]_^1_%IFA M1827,EQ,0_"CORE RESIDENT DRIVER_^1_%EXT I1827_^1_%EXT C1827_^1_%EXT E1827_^1_%EQU L1827(0)_^1_%EQU S1827($7FFF)_^1_%EIF_]_^1*_]_^1_%IFA M1827,EQ,1_"MASS RESIDENT DRIVER_^1_%EXT MASDRV_^1_%EXT MASCON_^1_%EXT MASERR_^1I1827 JMP+ MASDRV_'INITIATE DRIVER_^1C1827 JMP+ MASCON_'INTERRUPT RESPONSE_^1E1827 JMP+ MAS€€ERR_'TIMEOUT ERROR_^1_%EXT L1827_^1_%EXT S1827_^1_%EIF_]_^1*_]_^1_%SPC 2_^1R1827 LDQ =XP1827_%INTERRUPT RESPONSE FOR 1827-30/60 PRINTER_^1_%JMP* (P1827+2)_^1*_]_^1R2729 LDQ =XP1827_^1_%LDQ- EWES,Q_'GET CONNECT_^1_%INP 1_,READ STATUS_^1_%NOP 0_^1_%AND- $25_^1_%SAZ NOTLP_^1_%JMP* R1827_(GO TO LINE PRINTER_^1NOTLP JMP* R1829_(GO TO CARD READER_^1_%EJT_]_^1*_*1 8 2 7 - 3 0 /€€ 6 0 L I N E P R I N T E R_^1*_]_^1_%SPC 1_^1P1827 ADC $520A_(00 SCHEDULER CALL_^1_%ADC I1827_(01 INITIATOR ADDRESS_^1_%ADC C1827_(02 CONTINUATOR ADDRESS_^1_%ADC E1827_(03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM $0201_(07 CONVERTER, EQUIPMENT, STATION_^1_%ADC $2804+T1827_!08 REQUE€€ST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%ADC L1827_(13 DRIVER LENGTH IF MASS MEMORY_^1_%ADC S1827_(14 NAME ASSOCIATED WITH SECTOR NUMBER_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 0_,16 FAULT CODE IF A REQUEST ERROR OCCURS_^1_%NUM 0_,17 UNUSED_^1_%NUM 0_,18 COUNT€€ OF GHOST INTERRUPTS_^1_%NUM 4_,19 MICRO-INTERRUPT NUMBER_^1_%NUM 10_+20 TIMEOUT PEROID FOR AN INTERRUPT_^1_%NUM 0_,21 STATUS AFTER INITIAL ENTRY_^1_%NUM 0_,22 STATUS AFTER INTERRUPT_^1_%NUM 0_,23 STATUS AFTER TIMEOUT INTERRUPT_^1_%ADC F1827K_'24 FORTRAN LOGICAL UNIT_^1_%NUM 0_,25 PAPER MOTION COMMAND_^1_%NUM 0_,26 COUNT FOR SPACE FILL_^1_%NUM 0_,27 CHARACTER OUTP€€UT COUNT_^1_%NUM 136_*28 NUMBER CHARACTERS PER LINE_^1_%NUM 0_,29 LINE COUNT_^1_%NUM 60_+30 MAX NUMBER OF LINES PER PAGE_^1_%NUM 0_,31 MOTION REQUEST WORD SAVED HERE_^1_%NUM 0_,32 ZERO IF ALL BLANKS IN LINE_^1_%BZS (4)_*33-36 ADT TABLE_^1_%NUM 0_,37 ADT BUFFER ADDRESS_^1_%NUM 0_,38 DOUBLE BUFFERING FLAG (1=DBL,0=NO)_^1_%NUM 0_,39 REQUEST COMPLETED FLAG_^1_%NUM 0_€€,40 NEW BUFFER ADDRESS_^1_%NUM 0_,41 SAVED FAULT CODE_^1_%NUM 0_,42 SAVED ESTAT1_^1_%EJT_]_^1*_]_^1*_*F O R T R A N L I N E P R I N T E R_^1_%SPC 2_^1*_*PHYSTB SHARED WITH 1827-30/60 LINE PRINTER_^1_%EJT_]_^1*_*1 8 2 9 - 3 0 / 6 0 C A R D R E A D E R_^1*_]_^1_%SPC 1_^1_%ENT P1829_^1_%ENT CDRDSM_^1_%EQU CDRDSM($7FFF)_^1_%EQU M1829(1)_^1*_]_^1_%IFA M1829,EQ,0_"CORE RE€€SIDENT DRIVER_^1_%EXT I1829_^1_%EXT C1829_^1_%EXT E1829_^1_%EQU L1829(0)_^1_%EQU S1829($7FFF)_^1_%EIF_]_^1*_]_^1_%IFA M1829,EQ,1_"MASS RESIDENT DRIVER_^1_%EXT MASDRV_^1_%EXT MASCON_^1_%EXT MASERR_^1I1829 JMP+ MASDRV_'INITIATE DRIVER_^1C1829 JMP+ MASCON_'INTERRUPT RESPONSE_^1E1829 JMP+ MASERR_'TIMEOUT ERROR_^1_%EXT L1829_^1_%EXT S1829_^1_%EIF_]_^1*_]_^1R1829 LDQ =XP1€€829_%INTERRUPT RESPONSE FOR 1829-30/60 CARD READER_^1_%JMP* (P1829+2)_^1_%EJT_]_^1*_*1 8 2 9 - 3 0 / 6 0 C A R D R E A D E R_^1*_]_^1_%SPC 1_^1P1829 ADC $520A_(00 SCHEDULER CALL_^1_%ADC I1829_(01 INITIATOR ADDRESS_^1_%ADC C1829_(02 CONTINUATOR ADDRESS_^1_%ADC E1829_(03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 P€€ARAMETER LOCATION_^1_%NUM $581_)07 CONVERTER, EQUIPMENT, STATION_^1_%NUM $1BF2_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%ADC L1829_(13 DRIVER LENGTH IF MASS MEMORY_^1_%ADC S1829_(14 NAME ASSOCIATED WITH SECTOR NUMBER_^1_%NUM 0_,15 RETURN ADDRESS_^1_%NUM 0_,16 €€ FAULT CODE_^1_%NUM 0_,17 UNUSED_^1_%NUM 0_,18 GHOST INTERRUPT COUNT_^1_%NUM 11_+19 MICRO-INTERRUPT NUMBER_^1_%NUM 1_,20 TIMEOUT PEROID FOR AN INTERRUPT_^1_%NUM 0_,21 INITIATOR RAW STATUS 1_^1_%NUM 0_,22 CONTINUATOR RAW STATUS 1_^1_%NUM 0_,23 TIME OUT STATUS 1_^1_%NUM 0_,24 INITIATOR RAW STATUS 2_^1_%NUM 0_,25 CONTINUATOR RAW STATUS 2_^1_%NUM 0_,26 TIME OUT STAT€€US 2_^1_%NUM 0_,27 COLUMN COUNTER_^1_%NUM 0_,28 TIME AT FEED_^1_%NUM 0_,29 TIME AT COLUMN 1_^1_%NUM 0_,30 TIME AT EOP_^1_%NUM 0_,31 ADDRESS TO STORE RAW DATA_^1_%NUM 0_,32 LAST WORD ADDRESS+1 TO STORE_^1_%NUM 0_,33 DESELECT INTERRUPT BITS MASK_^1_%NUM 0_,34 REPLACEMENT WAIT SUBROUTINE_^1_%NUM 0_,35 TIME OUT FLAG_^1_%NUM 0_,36 LOGICAL RECORD LENGTH_^1_%NUM 0_,37€€ SEQUENCE COUNTER FOR BINARY FORMATED CARDS_^1_%NUM 0_,38 SEQ VALUE AT START OF REQUEST_^1_%NUM 0_,39 CHECK SUM ACCUMULATIVE VALUE_^1_%NUM 0_,40 LOOP CYCLE COUNTER_^1_%NUM 0_,41 MOTION OPTION TEMPORARY LOCATION_^1_%NUM $000F_(42 END OF FILE INDICATOR_^1_%NUM 0_,43_!READ MODE FLAG (0=026,1=029)_^1_%NUM $580_)44 ADT CONTROL WORD_^1_%NUM 0_,45_!ADT FIRST WORD 1_^1_%NUM €€ 0_,46_!ADT LAST WORD_^1_%NUM 0_,47_!ADT DUMMY_^1_%NUM 0_,48_!SIM200 LOGICAL UNIT_^1_%BZS BUFR(80)_$49_!SCRATCH BUFFER FOR RAW DATA (COL 1-80)_^1_%EJT_]_^1****************************************************************_^1*_$M A T R I X_!P R I N T E R_^1****************************************************************_^1_%SPC 1_^1_%EXT INMPRT_^1_%EXT CNMPRT_^1_%EXT DTMPRT_^1_€€%ENT INTMPR_^1_%ENT IFIN1_^1_%EXT FIN1_^1_%SPC 2_^1***_"INTMPR IS THE INTERRUPT RESPONSE PROCESSOR FOR THE_^1***_"MATRIX PRINTER ASSOCIATED WITH THE FOLLOWING PDT._^1***_]_^1***_"INTMPR SETS Q=PDT BASE AND CALLS THE DRIVER CONTINUATOR_^1***_]_^1INTMPR LDQ =XPMPRT_^1_%JMP* (PMPRT+2)_^1_%SPC 2_^1***_"AT THE END OF A PRINT BUFFER, DMPRT SCHEDULES IFIN1 FOR_^1***_"EXECUTION AFTER€€ A 400 MS DELAY ( VIA A T8 REQ.), BEFORE_^1***_"JUMPING BACK TO DMPRT (AT FIN1), THE Q REGISTER IS_^1***_"SET TO THE PDT BASE_^1_%SPC 2_^1IFIN1 LDQ =XPMPRT_^1_%JMP FIN1_^1_%EJT_]_^1****************************************************************_^1*_]*_^1*_$M A T R I X_!P R I T E R_!P D T ._4*_^1*_]*_^1****************************************************************_^1_%SPC 2_€€^1PMPRT NUM $520A_(00 SCHEDULER CALL_^1_%ADC INMPRT_'01 INITIATOR ADDRESS_^1_%ADC CNMPRT_'02 CONTINUATOR ADDRESS_^1_%ADC DTMPRT_'03_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LIST LOCATION_^1_%NUM $0538_(07 CONVERTER,STATION_^1_%NUM $2BE4_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER_^1_%NUM 0_,10 FIRST CORE LOCATION_^1_%NUM €€0_,11 LAST CORE LOCATION + 1_^1_%NUM 0_,12 HDWE. STATUS INPUT DATA CHARACTER_^1_%NUM 0_,13 DRIVER LENGTH IF MASS MEMORY_^1_%NUM $7FFF_(14 NAME ASSOCIATED WITH SECTOR NR._^1_%NUM 0_,15 RETURN ADDRESS FROM FNR,MAKQ,COMPRQ_^1_%NUM $8000_(16 COMM. TYPE (BIT 15=1 IF LCM-RCM)_^1_%NUM 0_,17 SWITCH FOR PRECEDING CARR. CONTROL_^1_%NUM 0_,18 ECHO BACK CARR. CONTROL SWITCH_^1_%€€NUM 0_,19 LCM-RCM INIT INPUT COUNTER_^1_%NUM 0_,20 LCM-RCM EXIT COUNTER_^1_%NUM 0_,21 LCM-RCM OUTPUT INTERVAL COUNTER_^1_%NUM 0_,22 COUNT OF CONSEC. "NO CHAR. RDY"_^1_%NUM 0_,23 COUNT OF CONSEC. "NO CHAR. REQ."_^1_%NUM 0_,24 I/O COMPLETION FLAG_^1_%NUM 0_,25 RETURN ADDRESS FROM GETCHR_^1_%NUM 0_,26 RETURN ADDRESS TO VLINT_^1_%NUM 0_,27 TEMP. STORAGE_^1_%BZS CARBF€€O(4)_#28-31 CARRIAGE CONTROL OUTPUT BUFF._^1_%BZS CARBFI(4)_#32-35 ECHO-BACK CARR. CONTROL BUFF._^1_%NUM 0_,36 TOTAL NO. OF CHARS. IN PRINT BUFF._^1_%NUM 0_,37 INITIAL I/P COUNTER (LCM-RCM)_^1_%NUM 0_,38 I/P DATA CHAR. (WITHOUT STATUS)_^1_%NUM 0_,39 O/P POINTER INTO PRINTER BUFF._^1_%NUM 0_,40 ECHO POINTER INTO PRINT BUFF._^1_%EJT_]_^1*_*R E S I D E N T_!C O R E_!D A T€€ A_^1*_]_^1_%ENT LSTLOC_^1_%EXT BGNMON_^1_%SPC 1_^1LSTLOC ADC BGNMON_'BEGINNING LOCATION OF CORE RESIDENT SYSTEM_^1_%SPC 2_^1*_*C O R E_!A L L O C A T I O N_!D A T A_^1*_]_^1_%ENT CALTHD_'CORE ALLOCATOR THREAD_^1_%ENT LVLSTR_'LEVEL START ALLOCATION TABLE_^1_%EXT AREAC_(START OF ALLOCATABLE AREA_^1_%EXT LEND_)END OF ALLOCATABLE AREA_^1*_]_^1CALTHD ADC 0_,TOTAL AVAILABLE AL€€LOCATABLE CORE_^1_%ADC AREAC_(START OF ALLOCATABLE AREA_^1*_]_^1LVLSTR ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 0_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 1_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 2_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 3_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 4_^1_%ADC AREAC_(START OF ALLOCATABLE CORE€€ FOR LEVEL 5_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 6_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 7_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 8_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 9_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 10_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 11_^1_%ADC AREAC_(START OF ALLOCATABLE COR€€E FOR LEVEL 12_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 13_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 14_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 15_^1_%ADC LEND_)END OF ALLOCATABLE CORE_^1*_]_^1_%ENT N5,N6,N7,N8,N9,N10,N11,N12,N13,N14,N15_^1_%SPC 1_^1*_$NOTE - THE SIZE OF AREAS 1, 2, 3, AND 4 ARE SPECIFIED_^1*_-DURING SYSTEM INITIALIZATION_^1*_]_€€^1N5_#EQU_#N5()_%NUMBER OF CORE LOCATIONS FOR AREA 5_^1N6_#EQU_#N6()_%NUMBER OF CORE LOCATIONS FOR AREA 6_^1N7_#EQU_#N7()_%NUMBER OF CORE LOCATIONS FOR AREA 7_^1N8_#EQU_#N8()_%NUMBER OF CORE LOCATIONS FOR AREA 8_^1N9_#EQU_#N9()_%NUMBER OF CORE LOCATIONS FOR AREA 9_^1N10_"EQU_"N10()_%NUMBER OF CORE LOCATIONS FOR AREA 10_^1N11_"EQU_"N11()_%NUMBER OF CORE LOCATIONS FOR AREA 11_^1N12_"€€EQU_"N12()_%NUMBER OF CORE LOCATIONS FOR AREA 12_^1N13_"EQU_"N13()_%NUMBER OF CORE LOCATIONS FOR AREA 13_^1N14_"EQU_"N14()_%NUMBER OF CORE LOCATIONS FOR AREA 14_^1N15_"EQU_"N15()_%NUMBER OF CORE LOCATIONS FOR AREA 15_^1_%EJT_]_^1*_*P A R T I T I O N_!C O R E_!D A T A_^1*_]_^1*_]_^1*_*THESE ENTRIES ALLOW PROPER SYSTEM LINKAGE IF PARTITIONED_^1*_*CORE IS NOT SELECTED._^1_%SPC 2_^1_%€€ENT THDS,USE_^1_%ENT PARTBL,LSTPRT,PRTCDR,BUSY_^1_%ENT OUTPV4,RDPTV4,SPCEV4,PTNALC_^1_%ENT PTNREL,K65T10,K65T12,K65COR_^1_%SPC 2_^1_%EQU THDS($7FFF),USE($7FFF)_^1_%EQU PARTBL($7FFF),LSTPRT($0000),PRTCDR($7FFF),BUSY($7FFF)_^1_%EQU OUTPV4($7FFF),RDPTV4($7FFF),SPCEV4($7FFF),PTNALC($7FFF)_^1_%EQU PTNREL($7FFF),K65T10($7FFF),K65T12($7FFF),K65COR($7FFF)_^1_%EJT_]_^1*_*M I S C E €€L L A N E O U S_!P R O G R A M S_^1*_]_^1*_*S Y S T E M_!I D L E_!L O O P_^1_%SPC 2_^1_%ENT IDLE_)BASIC SYSTEM IDLE LOOP_^1_%ENT IDLER_(SYSTEM IDLE SUBROUTINE_^1_%ENT INSTLU_'SYSTEM INSTALLATION L. U._^1_%ENT IDLCTR_'IDLE LOOP COUNTER_^1_%SPC 2_^1IDLE_!LDA* STRTUP_'IS THIS THE INITIAL IDLE ENTRY_^1_%SAN IDLE1_(NO_^1_%RTJ* STRTUP_'YES, PERFORM STARTUP FUNCTIONS_^1IDLE1 RTJ* €€IDLER_^1_%JMP* IDLE_^1IDLER NUM 0_^1_%IIN 0_,USED AT LEVEL -1 OR LEVEL 2_^1_%RAO* IDLCTR_^1_%EIN 0_^1_%JMP* (IDLER)_^1_%SPC 1_^1IDLCTR NUM 0_,IDLE LOOP COUNTER_^1_%SPC 2_^1_%EXT LIBEDT_'LIBRARY EDIT_^1_%EXT RELFLE_'SYSTEM CORE SWAP ROUTINE_^1_%EXT INPTV4_'JOB PROCESSOR STANDARD INPUT DEVICE_^1_%EQU INSTLU(6)_^1_%SPC 1_^1STRTUP NUM 0_^1_%LDQ- $EB_^1_%ADQ =XLIBEDT_$OBTAI€€N THE DIRECTORY ADDRESS OF LIBEDT_^1_%LDA- (ZERO),Q_$HAVE THE REQUEST PRIORITIES BEEN SET UP_^1_%SAN STRTP1_'YES_^1_%LDA =XINSTLU_^1_%STA+ INPTV4_'SET THE STD. INPUT TO THE INSTALLATION L.U._^1_%JMP* (STRTUP)_(AND EXIT_^1STRTP1 EQU STRTP1(*)_^1*_]_^1*_$NOTE:_!ANY ADDITIONAL SYSTEM STARTUP FUNCTIONS_^1*_-MAY BE ADDED HERE_^1*_]_^1_%RTJ- (AMONI)_%SCHEDULE RELFLE TO FORCE A SWAP_^1€€_%ADC $5203_^1_%ADC RELFLE_^1_%JMP* (STRTUP)_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!P R O G R A M S_^1*_]_^1*_*I N T E R R U P T_!R E S P O N S E_!F O R_!T I M E R_^1*_]_^1_%ENT TMRTYP,TMCODE TYPE OF SYSTEM TIME BASE_^1_%EXT TIMEUP_'TMINT INTERRUPT ENTRY_^1_%EQU X($7FFF)_$VALUE FOR UNSELECTED ENTRY POINTS_^1_%EQU TMCODE(8)_^1TMRTYP ADC TMCODE_'TIME BASE CODE_^1_%SPC 2_^1€€_%ENT FSTIME,DMICOD,TBLADR,EMPSRT,EMPSTP_^1DMICOD NUM $8008_^1TBLADR ADC CLKTBL_^1EMPSRT NUM $F3_^1EMPSTP NUM $F0_^1CLKTBL NUM $80F0_^1FSTIME NUM 0_^1_%NUM 5_^1_%NUM 0_^1_%SPC 1_^1TIMINT LDA* CLKTBL+1_^1_%INA 5_^1_%STA* CLKTBL+2_^1_%LDQ* EMPSRT_^1_%OUT TIMREJ-*_^1_%JMP TIMEUP_'EXIT TO TMINT_^1TIMREJ NOP 0_,TIMER REJECT_^1_%JMP- (ADISP)_%EXIT_^1_%SPC 2_^1*_*LINK ALL U€€NSELECTED ENTRY POINTS_^1*_]_^1_%ENT E10336,O10336,F10336_^1_%ENT E1573,E1572F,E1572,O1572_^1_%ENT H15721,E15721,D15721,O15721,EQ3644_^1_%ENT E15761_^1_%EQU E1573(X),E1572F(X),E1572(X),O1572(X)_^1_%EQU E10336(X),O10336(X),F10336(X)_^1_%EQU H15721(X),E15721(X),D15721(X),O15721(X)_^1_%EQU EQ3644(X),E15761(X)_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!P R O G R A M S_^1*_]_^1*_€€*A / Q_!C H A N N E L_!A L L O C A T I O N_^1*_]_^1_%SPC 2_^1*_$DEVICES REQUIRING ALLOCATION_^1*_]_^1*_*1827-30/60_"LINE PRINTER_^1*_*1829-30/60_"CARD READER_^1*_*1811-1_'CONSOLE DISPLAY_^1_%SPC 2_^1_%ENT AQSTCK_'STACK FOR REQUESTS_^1_%ENT AQSSIZ_'STACK SIZE_^1_%SPC 2_^1_%EQU NUMAQ(3)_$QUANTITY OF ALLOCATION DEVICES_^1_%SPC 2_^1AQSTCK BZS AQSTCK(3*NUMAQ-3)_^1AQSSIZ ADC NUM€€AQ*3-3_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!I N F O R M A T I O N_^1*_]_^1*_*M A S S_!R E S I D E N T_!D R I V E R S_!B U F F E R_^1*_]_^1*_*THIS BUFFER WILL CONTAIN THE MASS RESIDENT DRIVER(S)_^1*_*WHEN THEY ARE IN CORE._!THE SMALLEST ALLOWABLE SIZE IS_^1*_*EQUAL TO THE LARGEST MASS RESIDENT DRIVER IN THE SYSTEM._^1*_*OPTIMUM THROUGHPUT REQUIRES SIZING EQUAL TO THE TWO_^1*_*L€€ARGEST MASS RESIDENT DRIVERS IN THE SYSTEM._^1_%SPC 2_^1_%ENT BUFF,BUFFE_^1_%EQU MBFSZ($096A)_^1_%SPC 2_^1BUFF_!BZS BUFF(MBFSZ)_^1_%EQU BUFFE(*)_^1_%SPC 2_^1*_*C O M M O N_!G H O S T_!I N T E R R U P T_!R O U T I N E_^1_%SPC 1_^1_%ENT CGHOST_^1_%SPC 1_^1CGHOST NOP 0_^1_%JMP- (ADISP)_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!I N F O R M A T I O N_^1_%SPC 4_^1*_$THESE ENT€€RIES ALLOW PROPER SYSTEM LINKAGE_^1_%SPC 2_^1_%ENT E17811,F17811_^1E17811 NUM $7FFF_^1F17811 NUM $7FFF_^1_%SPC 3_^1*_$THIS ENTRY IS PROVIDED TO LINK THE TIMESHARE PROTECT INTERRUPT_^1*_$PROCESSOR ENTRY POINT_^1_%SPC 1_^1_%ENT TSIPRC_^1_%SPC 1_^1_%EQU TSIPRC($7FFF)_^1_%SPC 3_^1*_$THIS ENTRY IS PROVIDED TO LINK THE SCMM ENTRY POINTS_^1_%SPC 1_^1_%ENT SCMM17,SCMMLC_^1_%SPC€€ 1_^1_%EQU SCMM17($7FFF)_^1_%EQU SCMMLC($7FFF)_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!I N F O R M A T I O N_^1*_]_^1*_*T I M E / D A T E_!P A R A M E T E R_!S T O R A G E_^1*_]_^1_%SPC 3_^1_%ENT AYERTO_'CURRENT YEAR_!(ASCII)_^1_%ENT AMONTO_'CURRENT MONTH (ASCII)_^1_%ENT ADAYTO_'CURRENT DAY_"(ASCII)_^1_%ENT YERTO_(CURRENT YEAR_!(INTEGER)_^1_%ENT MONTO_(CURRENT MONTH (I€€NTEGER)_^1_%ENT DAYTO_(CURRENT DAY_"(INTEGER)_^1_%ENT HORTO_(CURRENT HOUR_!(INTEGER)_^1_%ENT MINTO_(CURRENT MINUTE (INTEGER)_^1_%ENT SECON_(CURRENT SECOND (INTEGER)_^1_%ENT CONTA_(CURRENT COUNT (INTEGER)_^1_%ENT HORMIN_'CURRENT 24-HOUR TIME_^1_%ENT TOTMIN_'CURRENT DAY ELAPSED MINUTES_^1_%SPC 3_^1AYERTO NUM 0_,00 CURRENT YEAR_!(ASCII)_^1AMONTO NUM 0_,01 CURRENT MONTH (€€ASCII)_^1ADAYTO NUM 0_,02 CURRENT DAY_"(ASCII)_^1YERTO NUM 0_,03 CURRENT YEAR_!(INTEGER)_^1MONTO NUM 0_,04 CURRENT MONTH (INTEGER)_^1DAYTO NUM 0_,05 CURRENT DAY_"(INTEGER)_^1HORTO NUM 0_,06 CURRENT HOUR_!(INTEGER)_^1MINTO NUM 0_,07 CURRENT MINUTE (INTEGER)_^1SECON NUM 0_,08 CURRENT SECOND (INTEGER)_^1CONTA NUM 0_,09 CURRENT COUNT (INTEGER)_^1HORMIN NUM 0_,€€10 CURRENT 24-HOUR TIME_^1TOTMIN NUM 0_,11 CURRENT DAY ELAPSED MINUTES_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!I N F O R M A T I O N_^1*_]_^1*_*S Y S T E M_!T I M E R_!P A R A M E T E R S_^1_%SPC 4_^1_%ENT TIMCPS_'BASIC SYSTEM CLOCK FREQUENCY_^1_%SPC 1_^1TIMCPS EQU TIMCPS(60)_"TIMER CYCLES PER SECOND_^1_%SPC 4_^1_%ENT TIMEC_(TIMER CYCLES PER 1/10 SECOND MINUS 1_^1_%SPC €€1_^1TIMEC EQU TIMEC(TIMCPS/10-1)_^1_%SPC 4_^1_%ENT TODLVL_'TIME OF DAY(TOD) PROGRAM REQ. CODE + PRIORITY_^1_%SPC 1_^1TODLVL EQU TODLVL($5006) D-BIT = 1, REQUEST CODE 8, PRIORITY 6_^1_%SPC 4_^1_%ENT NSCHED_'MAX. NO. OF COMPLETIONS PER TIMER INTERVAL_^1_%SPC 1_^1NSCHED NUM 5_,MAXIMUM 5 COMPLETIONS PER INTERVAL_^1_%SPC 4_^1_%ENT TMRLVL_'DIAGNOSTIC TIMER PRIORITY LEVEL_^1_%€€SPC 1_^1TMRLVL EQU TMRLVL(13)_"LEVEL 13_^1_%EJT_]_^1*_$M I S C E L L A N E O U S_!I N F O R M A T I O N_^1*_]_^1*_$S Y S T E M_!P R O G R A M_!O V E R L A Y_!S I Z E S_^1_%SPC 2_^1_%ENT LSIZV4_'INITIAL OVERLAY SIZE OF LIBEDT_^1_%ENT PSIZV4_'SIZE OF AREA 3_^1_%ENT ODBSIZ_'INITIAL OVERLAY SIZE OF ODEBUG_^1_%SPC 4_^1_%EQU LSIZV4($4B8) INITIAL OVERLAY SIZE OF LIBEDT_^1_%EQU P€€SIZV4($4F1) SIZE OF AREA 3_^1_%EQU ODBSIZ($369) INITIAL OVERLAY SIZE OF ODEBUG_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!I N F O R M A T I O N_^1*_]_^1*_*O N_!L I N E_!D E B U G_!I N C O R E_!F L A G_^1*_]_^1_%ENT CHRSFG_^1_%SPC 2_^1CHRSFG NUM 0_,NON-ZERO IF ODEBUG RUNNING_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!I N F O R M A T I O N_^1*_]_^1*_*S Y S T E M_!C H E C K O U T_€€!P A R A M E T E R S_^1_%SPC 4_^1*_$THE STARTING SECTOR OF THE FAILED CORE IMAGE IS SPECIFIED BY_^1*_$THE NAME COBOPS. THIS AREA MUST BE SIZED TO ACCOMODATE A_^1*_$FAILED IMAGE OF THE SIZE SPECIFIED BY NAME MSIZV4. THE FAILED_^1*_$IMAGE MUST RESIDE ON THE LIBRARY MASS MEMORY UNIT. IF THE_^1*_$MASS MEMORY LIBRARY UNIT IS A CARTRIDGE DISK, THE IMAGE AREA_^1*_$CANNOT OVERLAP FROM €€ONE PLATTER TO THE OTHER._^1_%SPC 2_^1_%ENT COBOPS_^1COBOPS EQU COBOPS($2500) START SECTOR OF FAILED IMAGE_^1_%EJT_]_^1*_$M I SC E L L A N E O U S I N F O R M A T I O N_^1*_$F I L E M A N A G E R D A T A_^1*_]_^1*_]_^1*_$THESE ENTRIES ALLOW PROPER SYSTEM LINKAGE_^1*_$IF THE FILE MANAGER IS NOT SELECTED_^1*_]_^1_%ENT FSLIST,FMPFLG_^1_%ENT ADRFMS,NUMFS0_^1_%EQU FSLIST($7FFF)€€,FMPFLG($7FFF)_^1_%EQU ADRFMS($7FFF),NUMFS0($7FFF)_^1_%ENT BEGLU1,NUMFS1_^1_%EQU BEGLU1($7FFF),NUMFS1($7FFF)_^1_%ENT BEGLU2,NUMFS2_^1_%EQU BEGLU2($7FFF),NUMFS2($7FFF)_^1_%ENT BEGLU3,NUMFS3_^1_%EQU BEGLU3($7FFF),NUMFS3($7FFF)_^1_%ENT BEGLU4,NUMFS4_^1_%EQU BEGLU4($7FFF),NUMFS4($7FFF)_^1_%ENT BEGLU5,NUMFS5_^1_%EQU BEGLU5($7FFF),NUMFS5($7FFF)_^1_%ENT BEGLU6,NUMFS6_^1_%EQU €€BEGLU6($7FFF),NUMFS6($7FFF)_^1_%ENT BEGLU7,NUMFS7_^1_%EQU BEGLU7($7FFF),NUMFS7($7FFF)_^1_%ENT BEGLU8,NUMFS8_^1_%EQU BEGLU8($7FFF),NUMFS8($7FFF)_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!I N F O R M A T I O N_^1*_]_^1*_*J O B_!P R O C E S S O R_!F I L E_!P A R A M E T E R S_^1*_]_^1_%SPC 3_^1_%ENT JLLUV4_'LOGICAL UNIT OF JOB PROCESSOR FILES_^1_%ENT JBFLV4_'NUMBER OF JOB PROCE€€SSOR FILES_^1_%ENT FBASV4_'FIRST FILE NUMBER USED BY JOB PROCESSOR_^1_%ENT PKEYV4_'JOB FILE PURGE KEY_^1_%ENT RELFIL_'FILE RELEASE PROCESSOR (DUMMY)_'********_^1_%SPC 3_^1JLLUV4 ADC LBUNIT_'LOGICAL UNIT OF JOB PROCESSOR FILES_^1_%SPC 2_^1_%EQU JBFLV4(0)_$NUMBER OF JOB PROCESSOR FILES_^1_%SPC 1_^1*_]_^1*_$NOTE - FILES $7FFD THRU $7FFF ARE RESERVED FOR THE MSOS_^1*_,VERIFICATI€€ON TESTS, FILES $7FF5 THRU $7FFC ARE_^1*_,RESERVED FOR FOREGROUND PSEUDO TAPES, FILES $7FF3_^1*_,THRU $7FF4 ARE RESERVED FOR THE TEXT EDITOR, AND_^1*_,FILES $7F2B THRU $7FF2 ARE RESERVED FOR RPGII._^1_%SPC 2_^1_%EQU FBASV4($7FFF)_^1_%EQU PKEYV4($7FFF)_^1_%EQU RELFIL($7FFF)_F********_^1_%EJT_]_^1*_*P R E S E T_!R E G I O N_^1*_]_^1*_*PRESET PROTECTED ENTRY POINTS FOR USE BY UNPR€€OTECTED PGMS_^1*_]_^1APRSET EQU APRSET(*)_^1_%ENT JPRET_^1_%SPC 2_^1*_*J O B_!P R O C E S S O R_!P R E S E T_^1_%SPC 2_^1_%EXT JPRETN_^1_%ALF 3,JPRETN_^1JPRET ADC JPRETN_'JOB PROCESSOR RETURN_^1*_]_^1_%SPC 2_^1*_*S N A P_!D U M P_!P R E S E T_^1_%SPC 2_^1_%EXT SNAPOL_^1_%ALF 3,SNAPOL_^1_%ADC SNAPOL_'REGISTER SNAPSHOT_^1*_]_^1_%SPC 1_^1LPRSET EQU LPRSET(*-APRSET)_^1_%€˜SPC 10_^1*_*S Y S T E M_!L I B R A R Y_!D I R E C T O R Y_^1*_]_^1*_8COMPILED FROM *Y, *YM BY SYSTEM INITIALIZER_^1SLDIRY EQU SLDIRY(*)_^1_%END_]_^__ ˜PCDDDAT CSY/ P€1_%NAM SYSDAT_'DECK-ID A63 COS 5.0_!(CDD)_%SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^0_%SPC 1_^1*_]_^1*_]_^1*_8PROGRAM BASE - MSOS 5.0 LVL 132_^1*_]_^1*_*S Y S T E M_!D A T A_!P R O G R A M_^1*_]_^1*_]_^1*_$TABLE OF CONTENTS_^1*_]_^1*_*1. COMMUNICATION E€€XTERNALS_^1*_]_^1*_*2. COMMUNICATION REGION (INCLUDING APPLICATIONS AREA)_^1*_]_^1*_*3. INTERRUPT REGION_^1*_]_^1*_*4. INTERRUPT MASK TABLE (MASKT)_^1*_]_^1*_*5. EXTENDED COMMUNICATIONS REGION_^1*_]_^1*_*6. STORAGE STACKS (INTSTK,VOLBLK, SCHSTK)_^1*_]_^1*_*7. LOGICAL UNIT TABLES (LOG1A, LOG1, LOG2)_^1*_]_^1*_*8. DIAGNOSTIC TABLES (DGNTAB, ALTERR)_^1*_]_^1*_*9. STANDARD LOGICAL UNIT€€ DEFINITIONS AND LINE 1 TABLE_^1*_]_^1*_)10. PHYSICAL DEVICE TABLES WITH INTERRUPT RESPONSE ROUTINES_^1*_]_^1*_)11. CORE ALLOCATION INFORMATION (CALTHD, LVLSTR, NN'S)_^1*_]_^1*_)12. CORE PARTITION INFORMATION (PARTBL, THDS, USE)_^1*_]_^1*_)13. SYSTEM COMMON DECLARATION_^1*_]_^1*_)14. MISCELLANEOUS PROGRAMS_^1*_]_^1*_)15. MISCELLANEOUS INFORMATION_^1*_]_^1*_)16. SYSTEM FILE INFORMA€€TION_^1*_]_^1*_)17. PRESET REGION_^1*_]_^1*_)18. START OF SYSTEM DIRECTORY_^1*_]_^1_%EJT_]_^1*_*C O M M U N I C A T I O N S_!E X T E R N A L S_^1*_]_^1*_]_^1_%EXT FNR_*FIND NEXT REQUEST_^1_%EXT COMPRQ_'COMPLETE REQUEST_^1_%EXT REQXT_(REQUEST EXIT_^1_%EXT VOLR_)VOLATILE RELEASE_^1_%EXT VOLA_)VOLATILE ASSIGNMENT_^1_%EXT LUABS_(LOGICAL UNIT ABSOLUTIZING_^1_%EXT SABS_)STARTING A€€DDRESS ABSOLUTIZING_^1_%EXT CABS_)COMPLETION ADDRESS ABSOLUTIZING_^1_%EXT NABS_)NUMBER OF WORDS ABSOLUTIZING_^1_%EXT DISPXX_'DISPATCHER_^1_%EXT MONI_)MONITOR_^1_%EXT MSIZV4_'HIGHEST CORE LOCATION USED BY SYSTEM_^1_%EXT IPROC_(INTERNAL INTERRUPT PROCESSOR_^1_%EXT ALLIN_(COMMON INTERRUPT HANDLER_^1_%EXT VLINT_(CYBERDATA INTERRUPT PROCESSOR_^1_%EJT_]_^1*_*C O M M U N I C A T I€€ O N_!R E G I O N_^1*_]_^1_%ORG 0_^1_%RTJ SYFAIL_'GO TO COMMON SYSTEM FAILURE ROUTINE_^1*_]_^1LPMSK NUM 0_,LOGICAL PRODUCT MASK TABLE OF ONES_^1ONE_"NUM 1_/ONE_^1THREE NUM 3_/THREE_^1SEVEN NUM 7_/SEVEN_^1_%NUM $F_^1_%NUM $1F_^1_%NUM $3F_^1_%NUM $7F_^1_%NUM $FF_^1_%NUM $1FF_^1_%NUM $3FF_^1_%NUM $7FF_^1_%NUM $FFF_^1_%NUM $1FFF_^1_%NUM $3FFF_^1_%NUM $7FFF_^1*_]_^1€€NZERO NUM $FFFF_(LOGICAL PRODUCT MASK TABLE OF ZEROS (NEG ZERO)_^1_%NUM $FFFE_^1_%NUM $FFFC_^1_%NUM $FFF8_^1_%NUM $FFF0_^1_%NUM $FFE0_^1_%NUM $FFC0_^1_%NUM $FF80_^1_%NUM $FF00_^1_%NUM $FE00_^1_%NUM $FC00_^1_%NUM $F800_^1_%NUM $F000_^1_%NUM $E000_^1_%NUM $C000_^1_%NUM $8000_^1_%EJT_]_^1*_*C O M M U N I C A T I O N_!R E G I O N_^1*_]_^1ZERO_!NUM 0_/ZERO_^1*_]_^1ONEB€€IT NUM 1_,ONE BIT TABLE_^1TWO_"NUM 2_/TWO_^1FOUR_!NUM 4_/FOUR_^1EIGHT NUM 8_/EIGHT_^1_%NUM $10_^1_%NUM $20_^1_%NUM $40_^1_%NUM $80_^1_%NUM $100_^1_%NUM $200_^1_%NUM $400_^1_%NUM $800_^1_%NUM $1000_^1_%NUM $2000_^1_%NUM $4000_^1_%NUM $8000_^1*_]_^1ZROBIT NUM $FFFE_(ZERO BIT TABLE_^1_%NUM $FFFD_^1_%NUM $FFFB_^1_%NUM $FFF7_^1_%NUM $FFEF_^1_%NUM $FFDF_^1_%NUM $F€€FBF_^1_%NUM $FF7F_^1_%NUM $FEFF_^1_%NUM $FDFF_^1_%NUM $FBFF_^1_%NUM $F7FF_^1_%NUM $EFFF_^1_%NUM $DFFF_^1_%NUM $BFFF_^1_%NUM $7FFF_^1*_]_^1FIVE_!NUM 5_/FIVE_^1SIX_"NUM 6_/SIX_^1NINE_!NUM 9_/NINE_^1TEN_"NUM 10_.TEN_^1_%EJT_]_^1_%BZS ($B3-*-1)_^1_%EJT_]_^1*_*C O M M U N I C A T I O N_!R E G I O N_^1*_]_^1_%ORG $B3_^1_%ADC SCRTCH_'LOGICAL UNIT OF STANDARD SCRATCH DEVICE€€_^1_%ADC SCHSTK_'ADR OF TOP OF SCHEDULER STACK_^1AFNR_!ADC FNR_*ADR OF FIND NEXT REQUEST_^1ACOMPR ADC COMPRQ_'ADR OF COMPLETE REQUEST_^1_%ADC MASKT_(ADR OF MASK TABLE_^1_%ADC INTSTK_'ADR OF TOP OF INTERRUPT STACK_^1_%ADC REQXT_(ADR OF EXIT FOR MONITOR REQUESTS_^1AVOLR ADC VOLR_)ADR OF RELEASE VOLATILE ROUTINE_^1AVOLA ADC VOLA_)ADR OF ASSIGN VOLATILE ROUTINE_^1_%ADC LUABS€€_(ADR OF ABSOLUTIZING ROUTINE FOR LOGICAL UNIT_^1_%ADC SABS_)ADR OF ABSOLUTIZING ROUTINE FOR STARTING ADR_^1_%ADC CABS_)ADR OF ABSOLUTIZING ROUTINE FOR COMPLETION ADR_^1_%ADC NABS_)ADR OF ABSOLUTIZING ROUTINE FOR NUMBER OF WRDS_^1_%NUM 0_,MSB OF STARTING SCRATCH SECTOR_!(ALWAYS ZERO)_^1_%NUM 0_,LSB OF STARTING SCRATCH SECTOR_#(SET BY SI)_^1_%ADC LBUNIT_'LOGICAL UNIT OF STANDA€€RD LIBRARY DEVICE_^1_%NUM 0_,MSB OF PGM LIB DIRECTORY SECTOR (ALWAYS ZERO)_^1_%NUM 0_,LSB OF PGM LIB DIRECTORY SECTOR_"(SET BY SI)_^1*_]_^1_%BZS ($E3-$C5+1)_!RESERVED FOR FTN_0(UNPROTECTED)_^1_%NUM 0_,RESERVED FOR FTN + LOAD/GO SECTOR(UNPROTECTED)_^1_%NUM 0_,RESERVED FOR FTN_0(UNPROTECTED)_^1*_]_^1_%BSS (1)_*LENGTH OF MASS RESIDENT SYSTEM DIR.(SET BY SI)_^1_%BSS (1)_*LENGTH€€ OF CORE RESIDENT SYSTEM DIR.(SET BY SI)_^1_%NUM 0_,REAL TIME CLOCK COUNTER_^1_%ADC EXTBV4_'ADDR OF EXTENDED CORE TABLE_^1ADISP ADC DISPXX_'ADR OF DISPATCHER_^1_%ADC SLDIRY_'ADR OF SYSTEM DIRECTORY_^1_%NUM 0_,TEMPORARY TOP+1 OF UNPROTECTED_#(SET BY SI)_^1_%NUM 0_,TEMPORARY BOTTOM-1 OF UNPROTECTED (SET BY SI)_^1_%NUM 0_,USED BY JOB PROCESSOR FOR LOADER RETURNS_^1_%NUM -1_+€€CURRENT PRIORITY LEVEL_^1_%ADC VOLBLK_'STARTING LOCATION OF VOLATILE STORAGE_^1_%ADC LPRSET_'LENGTH OF PRESETS TABLE_^1_%ADC APRSET_'STARTING LOCATION OF PRESETS TABLE_^1_%ADC 0_,ADR OF BREAKPOINT PROGRAM IN CORE(UNPROTECTED)_^1AMONI ADC MONI_)ADR OF MONITOR ENTRY FOR REQUESTS_^1_%ADC MSIZV4_'HIGHEST CORE LOCATION USED BY SYSTEM_^1_%NUM 0_,TOP+1 OF UNPROTECTED_.(SET BY SI)_€€^1_%NUM 0_,BOTTOM-1 OF UNPROTECTED_+(SET BY SI)_^1_%ADC IPROC_(ADR OF INTERNAL INTERRUPT PROCESSOR_^1_%ADC STDINP_'LOGICAL UNIT OF STANDARD INPUT DEVICE (FTN 1)_^1_%ADC BINOUT_'LOGICAL UNIT OF STANDARD BINARY DEVICE (FTN 2)_^1_%ADC LSTOUT_'LOGICAL UNIT OF STANDARD PRINT DEVICE (FTN 3)_^1_%ADC OUTCOM_'LOGICAL UNIT OF OUTPUT COMMENT DEVICE (FTN 4)_^1_%ADC INPCOM_'LOGICAL UN€€IT OF INPUT COMMENT DEVICE (FTN 4)_^1_%ADC ALLIN_(ADR OF COMMON INTERRUPT HANDLER_^1_%BSS (1)_*I (MEMORY INDEX) REGISTER_'(UNPROTECTED)_^1_%EJT_]_^1_%SPC 6_^1*_*I N T E R R U P T_!R E G I O N_^1*_]_^1*_]_^1*_]_^1LINE00 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($F8)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 15_+PRIORITY LEVEL OF INTERRUPT_^1_%ADC IPROC_(INTERRUPT RESPONSE FOR THE€€ PROTECT/PARITY ERR._^1*_]_^1LINE01 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 10_+PRIORITY LEVEL OF INTERRUPT_^1_%ADC LIN1V4_'INTERRUPT RESPONSE FOR THE LOW SPEED I / O_^1*_]_^1LINE02 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 0_,PRIORITY LEVEL OF INTERRUPT_^1_%ADC INVINT_'INTERRUPT RESPONSE F€€OR THE INVALID INTERRUPTS_^1_%SPC 1_^1*_]_^1LINE03 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 0_,PRIORITY LEVEL OF INTERRUPT_^1_%ADC INVINT_'INTERRUPT RESPONSE FOR THE INVALID INTERRUPTS_^1_%SPC 1_^1*_]_^1LINE04 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 10_+PRIORITY LEVEL OF INTERRUPT_^1_%ADC €€ R2729_(INTERRUPT RESPONSE FOR 1827-30/60 PRINTER_^1*_]_^1LINE05 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 0_,PRIORITY LEVEL OF INTERRUPT_^1_%ADC INVINT_'INTERRUPT RESPONSE FOR THE INVALID INTERRUPTS_^1_%SPC 1_^1*_]_^1LINE06 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 0_,PRIORITY LEVEL OF INTERR€€UPT_^1_%ADC INVINT_'INTERRUPT RESPONSE FOR THE INVALID INTTERRUPTS_^1_%SPC 1_^1*_]_^1LINE07 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 09_+PRIORITY LEVEL OF INTERRUPT_^1_%ADC R18335_'INTERRUPT RESPONSE FOR 1833-5/1865 FDD_^1_%SPC 1_^1*_]_^1LINE08 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 13_+€€PRIORITY LEVEL OF INTERRUPT_^1_%ADC TIMINT_'INTERRUPT RESPONSE FOR THE SYSTEM TIME BASE_^1*_]_^1LINE09 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^0_%NUM 0_,PRIORITY LEVEL OF INTERRUPT_^0_%ADC INVINT_'INTERRUPT RESPONSE FOR THE INVALID INTERRUPTS_^1*_]_^1LINE10 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM €€ 10_+PRIORITY LEVEL OF INTERRUPT_^1_%ADC LIN1V4_'INTERRUPT RESPONSE FOR CYBERDATA_^1_%SPC 1_^1*_]_^1LINE11 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 10_+PRIORITY LEVEL OF INTERRUPT_^1_%ADC R2729_(INTERRUPT RESPONSE FOR 1829-30/60 CARD RDR_^1*_]_^1LINE12 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^0_%NU€€M 10_+PRIORITY LEVEL OF INTERRUPT_^0_%ADC R18326_'INTERRUPT RESPONSE FOR THE 18326/1860 TAPE_^1_%SPC 1_^1*_]_^1LINE13 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 0_,PRIORITY LEVEL OF INTERRUPT_^1_%ADC INVINT_'INTERRUPT RESPONSE FOR THE INVALID INTERRUPTS_^1_%SPC 1_^1*_]_^1LINE14 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERR€€UPT HANDLER ROUTINE_^1_%NUM 09_+PRIORITY LEVEL OF INTERRUPT_^1_%ADC R18334_'INTERRUPT RESPONSE FOR THE 1833-4/1866-14 CDD_^1*_]_^1LINE15 NUM 0_,INTERRUPT LINE ENTRY_^1_%RTJ- ($FE)_(GO TO INTERRUPT HANDLER ROUTINE_^1_%NUM 0_,PRIORITY LEVEL OF INTERRUPT_^1_%ADC INVINT_'INTERRUPT RESPONSE FOR INVALID INTERRUPTS_^1_%EJT_]_^1*_$C O R E_!R E S I D E N T_!D E B U G_!E N T R I E S_^1_€€%SPC 2_^1_%ORG $140_^1_%SPC 1_^1_%EXT COUTV4_^1_%EXT COBOP_^1_%SPC 2_^1_%JMP+ COUTV4_'OFF-LINE CORE DUMP_^1_%SPC 4_^1_%JMP+ COBOP_(SYSTEM CHECKOUT BOOTSTRAP_^1_%EJT_]_^1*_*I N T E R R U P T_!M A S K_!T A B L E_^1*_]_^1*_]_^1_'ENT MASKT_(INTERRUPT MASKS INDEXED BY PRIORITY LEVEL_^1*_]_^1*_]_^1*_+<----------------------------- INTERRUPT LINE NUMBER_^1*_-15 14 13 12 11 10 9 €€8 7 6 5 4 3 2 1 0_^1*_+****************************************************_^0*_%P -1 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_%R 0 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_%I 1 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_%O 2 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_%R 3 * 0 1 0 1 1 1 0 1 1 0 0 1 €€ 0 0 1 1 *_^0*_%I 4 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_%T 5 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_%Y 6 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_)7 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_%L 8 * 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 *_^0*_%E 9 * 0 0 0 1 1 1 0 1 1 0 0 1 0 0 1 €€ 1 *_^1*_%V 10 * 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 *_^1*_%E 11 * 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 *_^1*_%L 12 * 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 *_^1*_%. 13 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 *_^1*_%. 14 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 *_^1*_%V 15 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 *_€€^1*_+****************************************************_^1*_]_^1*_]_^0_%NUM $5D93_(PRIORITY LEVEL -1_^0MASKT NUM $5D93_(PRIORITY LEVEL 00_^0_%NUM $5D93_(PRIORITY LEVEL 01_^0_%NUM $5D93_(PRIORITY LEVEL 02_^0_%NUM $5D93_(PRIORITY LEVEL 03_^0_%NUM $5D93_(PRIORITY LEVEL 04_^0_%NUM $5D93_(PRIORITY LEVEL 05_^0_%NUM $5D93_(PRIORITY LEVEL 06_^0_%NUM $5D93_(PRIORITY LEVEL 07_^0_€€%NUM $5D93_(PRIORITY LEVEL 08_^0_%NUM $1D93_(PRIORITY LEVEL 09_^1_%NUM $0101_(PRIORITY LEVEL 10_^1_%NUM $0101_(PRIORITY LEVEL 11_^1_%NUM $0101_(PRIORITY LEVEL 12_^1_%NUM $0001_(PRIORITY LEVEL 13_^1_%NUM $0001_(PRIORITY LEVEL 14_^1_%NUM $0000_(PRIORITY LEVEL 15_^1_%EJT_]_^1*_$I N T E R R U P T M A S K T A B L E 1 8 / 7_^1*_]_^1*_(S I N G L E C A R D P R O C E S S O R_^1€€*_]_^1*_]_^1*_$ENT MASKT_(INTERRUPT MASK SET BY SPACE FOR CYBER 18/7_^1*_]_^1*_]_^1*_+<---------------------------- INTERRUPT LINE NUMBER_^1*_-15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0_^1*_-**************************************************_^1*_%P -1 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%R 0 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%I 1 €€* 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%O 2 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%R 3 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%I 4 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%T 5 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%Y 6 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_)7 * 0 0 €€0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%L 8 * 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 *_^1*_%E 9 * 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 *_^1*_%V 10 * 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 *_^1*_%E 11 * 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 *_^1*_%L 12 * 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 *_^1*_%. 13 * 0 0 0 0 €€0 0 0 0 0 0 0 0 0 0 0 1 *_^1*_%. 14 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 *_^1*_%V 15 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 *_^1*_+****************************************************_^1*_]_^1*_$NUM $00FB_(PRIORITY LEVEL -1_^1*MASKT NUM $00FB_(PRIORITY LEVEL 00_^1*_$NUM $00FB_(PRIORITY LEVEL 01_^1*_$NUM $00FB_(PRIORITY LEVEL 02_^1*_$NUM $0€€0FB_(PRIORITY LEVEL 03_^1*_$NUM $00FB_(PRIORITY LEVEL 04_^1*_$NUM $00FB_(PRIORITY LEVEL 05_^1*_$NUM $00FB_(PRIORITY LEVEL 06_^1*_$NUM $00FB_(PRIORITY LEVEL 07_^1*_$NUM $00FB_(PRIORITY LEVEL 08_^1*_$NUM $0073_(PRIORITY LEVEL 09_^1*_$NUM $0041_(PRIORITY LEVEL 10_^1*_$NUM $0041_(PRIORITY LEVEL 11_^1*_$NUM $0041_(PRIORITY LEVEL 12_^1*_$NUM $0001_(PRIORITY LEVEL 13_^1*_$NUM $€€0001_(PRIORITY LEVEL 14_^1*_$NUM $0000_(PRIORITY LEVEL 15_^1_%EJT_]_^1_%EJT_]_^1*_$B O U N D S R E G I S T E R T A B L E S_^1_%SPC 2_^1_%ENT UPBDTB_^1_%ENT LOBDTB_^1_%SPC 1_^1_%NUM 0_^1UPBDTB BZS UPBDTB(16)_^1_%SPC 1_^1_%NUM 0_^1LOBDTB BZS LOBDTB(16)_^1_%EJT_]_^1*_*E X T E N D E D C O M M U N I C A T I O N S R E G I O N_^1*_]_^1*_8REFERENCED THRU LOCATION $E9_^1_%SPC €€ 3_^1_%ENT EXTBV4_^1_%ENT MAXSEC_^1_%ENT MPFLAG_^1_%EXT JFILV4_^1_%EXT RCTV_^1_%EXT END0V4_^1_%EXT DATBAS_^1_%EXT SECTOR_^1_%EQU CSYLST(9)_^1_%EQU CSYINP(10)_^1_%EQU CSYPUN(11)_^1_%EQU SECT1(0)_^1_%EQU SECT3(0)_^1_%EQU SECT4(0)_^1_%EQU N16KMM(4)_^1_%SPC 3_^1EXTBV4 ADC 0_,00_!MODE SWITCH_!32K=0_!65K=1_^1_%ADC CSYINP_'01_!STANDARD COSY INPUT LU NUMBER_^1_%ADC CSYPU€€N_'02_!STANDARD COSY OUTPUT LU NUMBER_^1_%ADC CSYLST_'03_!STANDARD COSY LIST_!LU NUMBER_^1_%ADC 0_,04_!FIRST SECTOR LSB OF SYSTEM CORE IMAGE_^1_%ADC 0_,05_!FIRST SECTOR LSB OF S. A. T._^1_%ADC 0_,06_!FIRST SECTOR LSB OF CREP TABLE_^1_%ADC 0_,07_!FIRST SECTOR LSB OF CREP1 TABLE_^1_%ADC JFILV4_'08_!FIRST SECTOR LSB OF JOB FILE DIRECTORY_^1_%ADC RCTV_)09_!ADDRESS OF RCTV TA€€BLE IN THE MONITOR_^1_%ADC 0_,10_!UNPROTECTED CORE FLAG 0=PART0 / 1=PART1_^1_%ADC 0_,11_!UNPROTECTED SWAP ALLOWED 0=YES / 1=NO_^1_%ADC AYERTO_'12_!ADDRESS LOCATION CONTAINING THE YEAR_^1_%ADC AMONTO_'13_!ADDRESS LOCATION CONTAINING THE MONTH_^1_%ADC ADAYTO_'14_!ADDRESS LOCATION CONTAINING THE DAY_^1_%ADC END0V4_'15_!LAST ADDRESS OF PART 0 CORE_^1_%ADC 0_,16_!FIRST ADDRESS O€€F BLANK (SYSTEM) COMMON_^1_%ADC DATBAS_'17_!FIRST ADDRESS OF LABELED COMMON_^1_%ADC 0_,18_!COSY DRIVER CURRENT PHYSTAB ADDRESS_^1_%ADC 0_,19_!JOB TABLE INITIALIZATION FLAG_^1_%ADC 0_,20_!MASS MEMORY LOCATION OF ENGINEERING FILE_^1_%ADC SECT1_(21_!MSB OF MAXIMUM SCRATCH SECTOR_^1MAXSEC ADC SECTOR_'22_!LSB OF MAXIMUM SCRATCH SECTOR_^1_%ADC SECT3_(23_!MSB OF MAXIMUM LIBRARY SEC€€TOR_^1_%ADC SECT4_(24_!LSB OF MAXIMUM LIBRARY SECTOR_^1_%ADC 0_,25_!LAST ADDRESS OF LABELED COMMON_^1_%ADC N16KMM_'26_!NUMBER OF 16K MEMORY MODULES_^1MPFLAG ADC EXTSTK_'27_!ADDRESS OF EXTENDED INTERRUPT STACK_^1_%ADC LOG1A_(28_!ADDRESS OF LOG1A TABLE_^1_%EJT_]_^1*_*S Y S T E M_!I D E N T I F I C A T I O N_^1*_]_^1_%SPC 1_^1_%ENT SYSID_^1_%EXT SYSMON_'MONTH SYSTEM WAS BUILT_€€^1_%EXT SYSDAY_'DAY_!SYSTEM WAS BUILT_^1_%EXT SYSYER_'YEAR SYSTEM WAS BUILT_^1_%SPC 4_^1SYSID ALF 15, CYBERDATA LEVEL 147_^0_%ALF 1,_^1_%ADC SYSMON_^1_%ADC SYSDAY_^1_%ADC SYSYER_^1_%SPC 4_^1_%EJT_]_^1*_$COMMON SYSTEM FAILURE ROUTINE_^1_%SPC 2_^1_%ENT SYFAIL_^1_%SPC 1_^1SYFAIL NOP 0_^1_%IIN 0_,INHIBIT INTERRUPTS_^1_%STA* SAVEA_(SAVE A_^1_%STQ* SAVEQ_(SAVE Q_^1_%TRM A_,€€MOVE M TO A_^1_%STA* SAVEM_(SAVE M_^1_%LDA* SYFAIL_'PICK UP ADDRESS OF CALLER_^1_%INA -2_+CORRECT IT FOR 2 WORD RTJ_^1_%STA* SYFAIL_'STORE IT BACK_^1_%NUM $18FF_(HANG_^1_%SPC 2_^1SAVEA NUM 0_^1SAVEQ NUM 0_^1SAVEM NUM 0_^1_%EJT_]_^1*_$M I S C E L L A N E O U S T I M E S H A R E_^1*_]_^1*_2P A R A M E T E R S_^1*_]_^1_%SPC 2_^1_%ENT MIINP_^1_%ENT CCP_^1_%ENT UBPROTK_^1_€€%ENT LBPROT_^1_%ENT CPSET_^1_%ENT TSCNAC_^1_%ENT TSCNMI_^1_%ENT SIM200_^1_%ENT MICSUB_^1_%SPC 2_^1*_$M A N U A L I N P U T B U F F E R_^1MIINP BZS MIINP(40)_#MANUAL INPUT BUFFER_^1_%SPC 2_^1CCP_"NUM 0_,CURRENT CONTROL POINT_^1UBPROT NUM 0_,UPPER BOUNDS REGISTER VALUE_^1LBPROT NUM 0_,LOWER BOUNDS REGISTER VALUE_^1MICSUB NUM 0_,SET UP MT MICRO INTERRUPTS_^1TSCNAC NUM €€ 0_,TIMESHARE ACTIVE FLAG_^1_%SPC 1_^1_%EQU TSCNMI($7FFF),SIM200($7FFF)_^1_%SPC 1_^1CPSET NUM 0_^1_%IIN 0_^1_%EIN 0_^1_%JMP* (CPSET)_^1_%EJT_]_^1*_*S T O R A G E_!S T A C K S_^1*_]_^1*_]_^1NUMPRI EQU NUMPRI(16)_#NUMBER OF SYSTEM PRIORITY LEVELS_^1EXTVOL EQU EXTVOL(00)_#AMOUNT OF EXTRA VOLATILE STORAGE_^1*_]_^1NFTNLV EQU NFTNLV(0)_$NUMBER OF REENTRANT FORTRAN LEVELS_^1NEDLVL €€EQU NEDLVL(0)_$NUMBER OF REENTRANT ENCODE/DECODE LEVELS_^1_%SPC 3_^1*_]_^1*_1I N T E R R U P T_!S T A C K_^1*_]_^1_%ENT INTSTK_'CONTENTS, 1 = Q-REGISTER_^1*_C2 = A-REGISTER_^1*_C3 = I-REGISTER_^1*_C4 = P-REGISTER_^1*_C5 = PRIORITY LEVEL AND OVERFLOW_^1*_GINDICATOR (BIT 15)_^1*_]_^1INTSTK BZS INTSTK(5*NUMPRI)_^1_%SPC 3_^1*_]_^1*_1E X T E N D E D_!I N T E R R U P T_!S T A C K_^1€€*_]_^1_%ENT EXTSTK_'CONTENTS, 1 = ENHANCED REGISTER 1_^1*_C2 = ENHANCED REGISTER 2_^1*_C3 = ENHANCED REGISTER 3_^1*_C4 = ENHANCED REGISTER 4_^1*_]_^1EXTSTK BZS EXTSTK(4*NUMPRI)_^1_%SPC 3_^1*_]_^1*_1V O L A T I L E_!B L O C K_!S T A C K_^1*_]_^1_%ENT VOLBLK_'CONTENTS, 1 = Q-REGISTER_^1_%ENT VOLEND_22 = A-REGISTER_^1*_C3 = I-REGISTER_^1*_C4 = USER ASSIGNMENTS_^1*_C._^1*_CN = U€€SER ASSIGNMENTS_^1*_]_^1VOLBLK BZS VOLBLK(18*NUMPRI+98*NFTNLV+57*NEDLVL+EXTVOL+1)_^1VOLEND EQU VOLEND(*)_#END OF VOLATILE_^1_%SPC 3_^1*_]_^1*_1S C H E D U L E R / T I M E R_!S T A C K_^1*_]_^1_%ENT SCHSTK_'CONTENTS, 1 = SCHEDULER CALL_^1_%ENT SCHLNG_22 = STARTING ADDRESS_^1*_C3 = THREAD TO NEXT CALL_^1SCHSTK EQU SCHSTK(*)_/4 = Q-REGISTER CONTENTS_^1_%SPC 1_^1_%ADC 0,0,*+2,€€0_#SCHEDULER STACK ENTRY 001_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 002_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 003_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 004_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 005_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 006_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 007_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 008_^1_%ADC 0,0,*+2,0_#SCHED€€ULER STACK ENTRY 009_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 010_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 011_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 012_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 013_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 014_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 015_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 016_^1_%ADC 0,0,*+2,0_#SCHEDULER STA€€CK ENTRY 017_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 018_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 019_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 020_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 021_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 022_^1_%ADC 0,0,*+2,0_#SCHEDULER STACK ENTRY 023_^1_%ADC 0,0,(-0),0_"SCHEDULER STACK ENTRY 024_^1SCHLNG EQU SCHLNG(*-SCHSTK) SCHEDULE€€R STACK LENGTH_^1_%EJT_]_^1*_*L O G I C A L_!U N I T_!T A B L E S_!( L O G 1 A )_^1*_]_^1*_]_^1_%ENT LOG1A_#PHYSICAL DEVICES ADDRESSES BY LOGICAL UNIT_^1_%ENT NUMLU_^1_%SPC 1_^1LOG1A ADC NUMLU_(NUMBER OF LOGICAL UNITS_^1_%ADC PCORE_(1_"CORE ALLOCATOR_^1_%ADC PDUMMY_'2_"DUMMY LOGICAL UNIT_^1_%ADC PDUMMY_'3_"DUMMY LOGICAL UNIT_^1_%ADC P1811_(4_"1811-1 CONSOLE DISPLAY_^1_%ADC€€ PCOSY1_'5_"COSY DRIVER, FIRST UNIT_^0_%ADC P83260_'6_"1860-92 MAG-TAPE UNIT 0_^1_%ADC PTSIM0_'7_"MAG TAPE SIMULATOR UNIT 0_^1_%ADC P83340_'8_"1833-4 1866-14_"DISK,UNIT 0_^1_%ADC P1827_(9_"1827-30/60 LINE PRINTER_^1_%ADC P1829_(10 1829-30/60 C/R_^0_%ADC P83261_'11_!1860-92 MAG-TAPE UNIT 1_^1FTN827 ADC P1827_(12_!1827-30/60 FORTRAN LINE PRINTER_^1_%ADC P83341_'13_!1833-4 1€€866-14_"DISK,UNIT 1_^1_%ADC P83342_'14_!1833-4 1866-14_"DISK,UNIT 2_^1_%ADC P83343_'15_!1833-4 1866-14_"DISK,UNIT 3_^0_%ADC PDUMMY_'16_!DUMMY LOGICAL UNIT_^0_%ADC PDUMMY_'17_!DUMMY LOGICAL UNIT_^0_%ADC PDUMMY_'18_!DUMMY LOGICAL UNIT_^0_%ADC PDUMMY_'19_!DUMMY LOGICAL UNIT_^1_%ADC PTSIM1_'20_!MAG TAPE SIMULATOR UNIT 1_^1_%ADC P83350_'21_!1833-5/1865 FLEXIBLE DISK, UNIT 0_^0_%€€ADC P83262_'22_!1860-72 MAG-TAPE UNIT 2_^1_%ADC PDUMMY_'23 DUMMY LOGICAL UNIT_^1_%ADC PMPRT_(24_!1827-7 MATRIX PRINTER_^1NUMLU EQU NUMLU(*-LOG1A-1)_^1_%EJT_]_^1*_*L O G I C A L_!U N I T_!T A B L E S_!( L O G 1 )_^1*_]_^1*_]_^1_%ENT LOG1_$LOGICAL UNIT INFORMATION BY LOGICAL UNIT_^1*_8BIT 14 = 1, IMPLIES LU SHARES DEVICE_^1*_8BIT 13 = 1, IMPLIES LU IS MARKED DOWN_^1*_8BITS 0 -€€ 11 IS ALTERNATE LOGICAL UNIT_^1*_GALTERNATE = 0, IMPLIES NONE_^1S_$EQU S($4000)_$SHARED BIT_^1_%SPC 1_^1LOG1_!ADC NUMLU_(NUMBER OF LOGICAL UNITS_^1_%ADC 0_,1_"CORE ALLOCATOR_^1_%ADC 0+S_*2_"DUMMY LOGICAL UNIT_^1_%ADC 0+S_*3_"DUMMY LOGICAL UNIT_^1_%ADC 2+S_*4_"1811-1 CONSOLE DISPLAY_^1_%ADC 0_,5_"COSY DRIVER, FIRST UNIT_^0_%ADC 0+S_*6_"1860-92 MAG-TAPE UNIT 0_^1_%ADC 0_,7€€_"MAG TAPE SIMULATOR UNIT 0_^1_%ADC 0_,8_"1833-4 1866-14_"DISK,UNIT 0_^1_%ADC 0+S_*9_"1827-30/60 LINE PRINTER_^1_%ADC 0+S_*10 1829-30/60 C/R_^0_%ADC 0+S_*11_!1860-92 MAG-TAPE UNIT 1_^1_%ADC 0+S_*12_!1827-30/60 FORTRAN LINE PRINTER_^1_%ADC 0_,13_!1833-4 1866-14_"DISK,UNIT 1_^1_%ADC 0_,14_!1833-4 1866-14_"DISK,UNIT 2_^1_%ADC 0_,15_!1833-4 1866-14_"DISK,UNIT 3_^1_%ADC 0+S_*1€€6_!PSEUDO DISKS REMOVED_^1_%ADC 0+S_*17_!PSEUDO DISKS REMOVED_^1_%ADC 0+S_*18_!PSEUDO DISKS REMOVED_^1_%ADC 0+S_*19_!PSEUDO DISKS REMOVED_^1_%ADC 0_,20_!MAG TAPE SIMULATOR UNIT 1_^1_%ADC 0_,21_!1833-5/1865 FLEXIBLE DISK, UNIT 0_^0_%ADC 0+S_*22_!1860-72 MAG-TAPE UNIT 2_^1_%ADC 0+S_*23 DUMMY LOGICAL UNIT_^1_%ADC 2+S_*24_!1827-7 MATRIX PRINTER_^1_%EJT_]_^1*_*L O G I C A L_!U €€N I T_!T A B L E S_!( L O G 2 )_^1*_]_^1*_]_^1_%ENT LOG2_$TOP OF I/O THREAD ADDRESSES BY LOGICAL UNIT_^1_%SPC 1_^1LOG2_!ADC NUMLU_(NUMBER OF LOGICAL UNITS_^1_%NUM $FFFF_(1_"CORE ALLOCATOR_^1_%NUM $FFFF_(2_"DUMMY LOGICAL UNIT_^1_%NUM $FFFF_(3_"DUMMY LOGICAL UNIT_^1_%NUM $FFFF_(4_"1811-1 CONSOLE DISPLAY_^1_%NUM $FFFF_(5_"COSY DRIVER, FIRST UNIT_^0_%NUM $FFFF_(6_"1860-92 MAG-€€TAPE UNIT 0_^1_%NUM $FFFF_(7_"MAG TAPE SIMULATOR UNIT 0_^1_%NUM $FFFF_(8_"1833-4 1866-14_"DISK,UNIT 0_^1_%NUM $FFFF_(9_"1827-30/60 LINE PRINTER_^1_%NUM $FFFF_(10 1829-30/60 C/R_^0_%NUM $FFFF_(11_!1860-92 MAG-TAPE UNIT 1_^1_%NUM $FFFF_(12_!1827-30/60 FORTRAN LINE PRINTER_^1_%NUM $FFFF_(13_!1833-4 1866-14_"DISK,UNIT,1_^1_%NUM $FFFF_(14_!1833-4 1866-14_"DISK,UNIT 2_^1_%NUM $€€FFFF_(15_!1833-4 1866-14_"DISK,UNIT 3_^0_%NUM $FFFF_(16_!DUMMY LOGICAL UNIT_^0_%NUM $FFFF_(17_!DUMMY LOGICAL UNIT_^0_%NUM $FFFF_(18_!DUMMY LOGICAL UNIT_^0_%NUM $FFFF_(19_!DUMMY LOGICAL UNIT_^1_%NUM $FFFF_(20_!MAG TAPE SIMULATOR UNIT 1_^1_%NUM $FFFF_(21_!1833-5/1865 FLEXIBLE DISK, UNIT 0_^0_%NUM $FFFF_(22_!1860-72 MAG-TAPE UNIT 2_^1_%NUM $FFFF_(23 DUMMY LOGICAL UNIT_^1_%NUM€€ $FFFF_(24_!1827-7 MATRIX PRINTER_^1_%EJT_]_^1*_*D I A G N O S T I C_!T A B L E S_^1*_]_^1*_]_^1_%ENT ALTERR_"ALTERNATE DEVICE ERROR TABLE_^1_%SPC 1_^1ALTERR ADC NUMLU_(ERROR TABLE SIZE_^1_%BZS (NUMLU)_%SPACE FOR MAXIMUM SIMULTANEOUS FAILURES_^1_%SPC 3_^1_%ENT DGNTAB_"DIAGNOSTIC TIMER TABLE_^1_%SPC 1_^1DGNTAB EQU DGNTAB(*)_#START OF TABLE_^1_%ADC PCORE_(1_"CORE ALLOCATOR_€€^0_%ADC P83260_'6_"1860-92 MAG-TAPE UNIT 0_^1_%ADC P83340_'8_"1833-4 1866-14_"DISK,UNIT 0_^1_%ADC P1827_(9_"1827-30/60 LINE PRINTER_^1_%ADC P1829_(10_!1829-30/60 CARD READER_^0_%ADC P83261_'11_!1860-92 MAG-TAPE UNIT 1_^1_%ADC P83341_'13_!1833-4 1866-14_"DISK,UNIT 1_^1_%ADC P83342_'14_!1833-4 1866-14_"DISK,UNIT 2_^1_%ADC P83343_'15_!1833-4 1866-14_"DISK,UNIT 3_^1_%ADC P8335€€0_'21_!1833-5/1865 FLEXIBLE DISK, UNIT 0_^0_%ADC P83262_'22_!1860-72 MAG-TAPE UNIT 2_^1_%ADC PMPRT_(24_!1827-7 MATRIX PRINTER_^1_%NUM $FFFF_(END OF TABLE_^1_%EJT_]_^1_%SPC 4_^1*_*S T A N D A R D_!L O G I C A L_!U N I T S_^1*_]_^1_%ENT DUMALT_^1_%ENT STDINP_^1*_]_^1DUMALT EQU DUMALT(2)_$STANDARD DUMMY ALTERNATE_^1INPCOM EQU INPCOM(4)_$STANDARD INPUT COMMENT_^1OUTCOM EQU OUTCOM(€€4)_$STANDARD OUTPUT COMMENT_^1LBUNIT EQU LBUNIT(8)_$STANDARD LIBRARY UNIT_^1SCRTCH EQU SCRTCH(8)_$STANDARD SCRATCH UNIT_^1LSTOUT EQU LSTOUT(9)_$STANDARD LIST OUTPUT_^1STDINP EQU STDINP(4)_#STANDARD INPUT_^1BINOUT EQU BINOUT(6)_$STANDARD BINARY OUTPUT_^1_%EJT_]_^1*_*L I N E_!O N E_!T A B L E_^1*_]_^1_%SPC 1_^1*_]_^1_%ENT LIN1V4_'LINE 1 INTERRUPT ENTRY_^1_%SPC 1_^1LIN1V4 LDQ* LN1€€TV4_'PLACE THE PDT ADDRESS IN Q_^1_%EQU EWES(7)_^1_%LDQ- EWES,Q_'GET CONNECT_^1_%INP 1_,READ STATUS_^1_%NOP 0_^1_%AND- $25_*INTERRUPT MASK ($0004)_^1_%SAZ NOTCRT_^1_%LDQ* LN1TV4_^1_%LDA- 2,Q_^1_%STA- I_^1_%JMP- (I)_*TRANSFER CONTROL TO THE DRIVER CONTINUATOR_^1*_]_^1NOTCRT JMP VLINT_(GO TO CYBERDATA_^1_%SPC 3_^1_%ENT INVINT_^1_%SPC 1_^1INVINT JMP- (ADISP)_^1*_]_^1_%SPC 4_€€^1_%EQU LN1TV4(*)_#START OF TABLE_^1_%ADC P1811_(1811 CONSOLE DISPLAY_^1_%NUM $FFFF_(END OF TABLE_^1_%EJT_]_^1*_*P H Y S I C A L_!D E V I C E_!T A B L E S_^1*_]_^1*_]_^1*_*THE FOLLOWING SECTION CONTAINS THE PHYSICAL DEVICE TABLES_^1*_*AND INTERRUPT RESPONSE ROUTINES FOR EACH LOGICAL UNIT IN_^1*_*THE SYSTEM._^1*_]_^1*_*LISTED BELOW ARE THE MANDATORY ENTRIES FOR ALL PHYSICAL_^1*_€€*DEVICE TABLES._$ADDITIONAL ENTRIES REQUIRED BY EACH_^1*_*DRIVER MAY BE ADDED AFTER THE LAST ENTRY INDICATED._^1_%SPC 3_^1*_$EQU ELVL(0)_%00 SCHEDULER CALL WITH DRIVER LEVEL_^1*_$EQU EDIN(1)_%01 DRIVER INITIATOR ENTRY_^1*_$EQU EDCN(2)_%02 DRIVER CONTINUATOR ENTRY_^1*_$EQU EDPGM(3)_$03 DRIVER DIAGNOSTIC ENTRY_^1*_$EQU EDCLK(4)_$04 DIAGNOSTIC CLOCK_^1*_$EQU ELU(5)_'05 LO€€GICAL UNIT_^1*_$EQU EPTR(6)_%06 PARAMETER LOCATION_^1*_$EQU EWES(7)_%07 CONVERTOR, EQUIPMENT, STATION_^1*_$EQU EREQST(8)_#08 REQUEST STATUS_^1*_$EQU ESTAT1(9)_#09 DRIVER STATUS_^1*_$EQU ECCOR(10)_#10 CURRENT LOCATION_^1*_$EQU ELSTWD(11)_"11 LAST LOCATION PLUS ONE_^1*_$EQU ESTAT2(12)_"12 DEVICE STATUS_^1*_$EQU MASLGN(13)_"13 DRIVER LENGTH (IF MASS MEMORY)_^1*_$EQU M€€ASSEC(14)_"14 NAME ASSOCIATED WITH SECTOR NUMBER_^1*_$EQU RETURN(15)_"15 RESERVED FOR FNR AND CMR_^1_%SPC 3_^1*_$LINK UNSELECTED PHYSICAL DEVICE TABLES_^1_%SPC 1_^1_%ENT P18ECM_^1_%ENT P18PGA_^1_%ENT P18ADD_^1_%ENT P18MXP_^1P18ECM EQU P18ECM($7FFF)_^1P18PGA EQU P18PGA($7FFF)_^1P18ADD EQU P18ADD($7FFF)_^1P18MXP EQU P18MXP($7FFF)_^1_%EJT_]_^1*_*C O R E_!A L L O C A T O R€€_^1*_]_^1_%SPC 1_^1_%ENT PCORE_^1_%EXT ICORE,ECORE_^1_%EQU SWAPT(0)_$SWAP TIME_^1_%SPC 1_^1PCORE ADC $5207_(00 SCHEDULER CALL_^1_%ADC ICORE_(01 INITIATOR ADDRESS_^1_%ADC 0_,02 CONTINUATOR ADDRESS_!- NOT USED_^1_%ADC ECORE_(03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTE€€R, EQUIPMENT, STATION - NONE_^1_%NUM $00D6_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%VFD X16/SWAPT-1_!13 TIME BETWEEN SWAPS (NONE IF NEGATIVE)_^1_%NUM $7FFF_(14 RESERVED_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%EJT_]_^1*_*D U M M Y_!L O G I C A L_!U N I T_^1*_]€€_^1_%SPC 1_^1_%EXT IDUMMY,CDUMMY,EDUMMY_^1_%SPC 1_^1PDUMMY ADC $520A_(00 SCHEDULER CALL_^1_%ADC IDUMMY_'01 INITIATOR ADDRESS_^1_%ADC CDUMMY_'02 CONTINUATOR ADDRESS_^1_%ADC EDUMMY_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_$- NOT USED_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER, EQUIPMENT, STATION - NONE_^1_%N€€UM $01F6_(08 REQUEST STATUS_^1_%NUM $8000_(09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%NUM 0_,13 RESERVED_^1_%NUM $7FFF_(14 RESERVED_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%EJT_]_^1*_*1 8 1 1 - 1_!C O N S O L E_!D I S P L A Y_^1*_]_^1_%SPC 1_^1_%EXT I1810,C1810,E1810_^1_%EQU T1811(62*$10)€€ TYPE CODE - 1811 DISPLAY_^1_%SPC 1_^1P1811 ADC $520A_(00 SCHEDULER CALL_^1_%ADC I1810_(01 INITIATOR ADDRESS_^1_%ADC C1810_(02 CONTINUATOR ADDRESS_^1_%ADC E1810_(03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM $0091_(07 CONVERTER, EQUIPMENT, STATION_^1_%ADC $3006+T1811_!08 REQUEST STAT€€US_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%NUM 0_,13 ERROR CODE AND STARTING LOCATION_^1_%NUM $7FFF_(14 RESERVED_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 0_,16 DRIVER FLAGS_^1_%NUM 1_,17 HARDWARE PARITY CHECK FLAG_^1_%EJT_]_^1*_*C O S Y_!D R I V E R_^1*_]_^1_%SPC 1_^1_%E€€QU MCOSY1(1)_^1*_]_^1_%IFA MCOSY1,EQ,0_!CORE RESIDENT DRIVER_^1_%EXT ICOSY_^1_%EQU LCOSY(0)_^1_%EQU SCOSY($7FFF)_^1_%EIF_]_^1*_]_^1_%IFA MCOSY1,EQ,1_!MASS RESIDENT DRIVER_^1_%EXT MASDRV_^1ICOSY JMP+ MASDRV_'INITIATE DRIVER_^1_%EXT LCOSY_^1_%EXT SCOSY_^1_%EIF_]_^1*_]_^1_%EJT_]_^1*_*C O S Y_!D R I V E R ,_!F I R S T_!U N I T_^1*_]_^1_%SPC 1_^1PCOSY1 ADC $5208_(00 SCHEDUL€€ER CALL_^1_%ADC ICOSY_(01 INITIATOR ADDRESS_^1_%ADC 0_,02 CONTINUATOR ADDRESS_!- NOT USED_^1_%ADC 0_,03 TIMEOUT ERROR ADDRESS - NOT USED_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER, EQUIPMENT, STATION - NONE_^1_%NUM $08B6_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT L€€OCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%ADC LCOSY_(13 DRIVER LENGTH IF MASS MEMORY_^1_%ADC SCOSY_(14 NAME ASSOCIATED WITH SECTOR NUMBER_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%ADC PCOSY1_'16 PHYSTB THREAD_^1_%NUM 0_,17 SEQUENCE NUMBER_^1_%NUM 0_,18 ID_^1_%NUM 0_,19 ID-1_^1_%NUM 0_,20 ID-2_^1_%NUM 0_,21 NUMBER OF WORDS RE€€QUESTED_^1_%NUM $5555_(22 HOL-CHARACTER POINTER_^1_%NUM $5555_(23 COSY-CHARACTER POINTER_^1_%NUM 0_,24 R/W FLAG_^1_%NUM 1_,25 PON5F_^1_%NUM 0_,26 FSTCHR_^1_%NUM 0_,27 ENDDCK_^1_%ADC INPBFB_'28 COSY BUFFER LOCATION_^1_%ADC INPBFB_'29 NEXT COSY WORD_^1_%NUM 0_,30 HOL-BUFFER POINTER_^1_%NUM 1_,31 INITIAL CALL FLAG_^1_%NUM 0_,32 SEQUENCE FLAG NONZERO=NO SEQUENCE €€NUMBER_^1*_]_^1_%BZS INPBFB(192)_!33 COSY BUFFER_^1*_7224 COSY BUFFER_^1_%EJT_]_^0*_]_^0*_*1 8 3 2 - 6 1 8 6 0 - 7 2 / 9 2 M A G T A P E_^1*_]_^1_%SPC 1_^0_%EQU T18327(65*$10) TYPE CODE - 1860-72 MAG TAPE_^0_%EQU T18329(66*$10) TYPE CODE - 1860-92 MAG TAPE_^0_%EQU MXPHRC(192)_!MAXIMUM PHYSICAL RECORD SIZE (7 TRACK)_^0B18326 BZS B18326(MXPHRC*4/3+2) LCTT PACK/UNPACK BU€€FFER_^0_%EXT MASDRV_(MMEXEC INITIATOR_^0_%EXT MMASCON_'MMEXEC CONTINUATOR_^0_%EXT MMASERR_'MMEXEC ERROR_^0_%EXT L18326_^0_%EXT S18326_^0*_]_^0R18326 NUM $E000_)LDQ =X INTERRUPT RESPONSE FOR_^0_%ADC P83260_(LCTT MAG TAPE_^0_%JMP* (P83260+2)_^1_%EJT_]_^0*_]_^0* 1 8 3 2 - 6 1 8 6 0 - 7 2 / 9 2_!M A G T A P E , U N I T 0_^0*_]_^0_%SPC 1_^0P83260 ADC $520A_(00 SCHEDULAR CALL_€€^0_%ADC MASDRV_'01 INITIATOR ADDRESS_^0_%ADC MASCON_'02 CONTINUATOR ADDRESS_^0_%ADC MASERR_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGIACL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^0_%NUM $601_)07 CONVERTER,EQUIPMENT,STATION_^0_%ADC $806+T18329_!08 REQUEST STATUS_^1_%NUM 0_,09 DRIVE STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,1€€1 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^0_%ADC L18326_'13 DRIVER LENGTH_^0_%ADC S18326_'14 MASS STORAGE SECTOR NUMBER_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 0_,16 FAULT CODE IF REQUEST ERROR_^0_%NUM 0_,17 DIAGNOSTIC LOGICAL UNIT_^1_%NUM 0_,18 COUNT OF GHOST INTERRUPTS_^1_%NUM 0_,19 MICRO INTERRUPT LINE_^1_%NUM 0_,20 INTERRUPT TIMEOUT VALUE_^€€0_%NUM -0_,21 STATUS AFTER INITIAL ENTRY_^0_%NUM -0_,22 STATUS AFTER INTERRUPT_^0_%NUM -0_,23 STATUS AFTER TIMEOUT ERROR_^0_%NUM 0_,24 CONTROL POINT LOCATION_^0_%NUM 0_,25 RETURN FOR RECOVERY_^0_%NUM 0_,26 A REGISTER AT LAST OUTPUT_^0_%NUM 0_,27 Q REGISTER AT LAST OUTPUT_^0_%NUM $8080_(28 UNIT AND MODE SELECT_^0_%NUM 0_,29 WORD 4 OF REQUEST_^0_%NUM 0_,30 RECOVERY C€€OUNT FLAG_^0_%NUM 0_,31 RECOVERY BIT (15=1 TO DISABLE)_^0_%NUM 0_,32 MAX PHYSICAL RECORD SIZE (7 TRACK)_^0_%NUM 0_,33 PACK/UNPACK BUFFER ADDRESS_^0_%NUM 0_,34 ALARM STATUS WORD_^0_%NUM 0_,35 TRANSPORT STATUS_^0_%ADC P83261_'36 PHYSTAB THREAD_^1_%EJT_]_^1****************************************************************_^0*_]_^0* 1 8 3 2 - 6 1 8 6 0 - 7 2 / 9 2_!M A G T €€A P E , U N I T 1_^0*_]_^0_%SPC 1_^0P83261 ADC $520A_(00 SCHEDULAR CALL_^0_%ADC MASDRV_'01 INITIATOR ADDRESS_^0_%ADC MASCON_'02 CONTINUATOR ADDRESS_^0_%ADC MASERR_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^0_%NUM $601_)07 CONVERTER,EQUIPMENT,STATION_^0_%ADC $806+T18329_!08 REQUEST STATU€€S_^1_%NUM 0_,09 DRIVE STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^0_%ADC L18326_'13 DRIVER LENGTH_^0_%ADC S18326_'14 MASS STORAGE SECTOR NUMBER_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 0_,16 FAULT CODE IF REQUEST ERROR_^0_%NUM 0_,17 DIAGNOSTIC LOGICAL UNIT_^1_%NUM 0_,18 COUNT OF GHOST INTERRUPTS_^€€1_%NUM 0_,19 MICRO INTERRUPT LINE_^1_%NUM 0_,20 INTERRUPT TIMEOUT VALUE_^0_%NUM -0_,21 STATUS AFTER INITIAL ENTRY_^0_%NUM -0_,22 STATUS AFTER INTERRUPT_^0_%NUM -0_,23 STATUS AFTER TIMEOUT ERROR_^0_%NUM 0_,24 CONTROL POINT LOCATION_^0_%NUM 0_,25 RETURN FOR RECOVERY_^0_%NUM 0_,26 A REGISTER AT LAST OUTPUT_^0_%NUM 0_,27 Q REGISTER AT LAST OUTPUT_^0_%NUM $8090_(28 UNIT€€ AND MODE SELECT_^0_%NUM 0_,29 WORD 4 OF REQUEST_^0_%NUM 0_,30 RECOVERY COUNT FLAG_^0_%NUM 0_,31 RECOVERY BIT (15=1 TO DISABLE)_^0_%NUM 0_,32 MAX PHYSICAL RECORD SIZE (7 TRACK)_^0_%NUM 0_,33 PACK/UNPACK BUFFER ADDRESS_^0_%NUM 0_,34 ALARM STATUS WORD_^0_%NUM 0_,35 TRANSPORT STATUS_^0_%ADC P83262_'36 PHYSTAB THREAD_^1_%EJT_]_^1******************************************€€**********************_^0*_]_^0* 1 8 3 2 - 6 1 8 6 0 - 7 2 / 9 2_!M A G T A P E , U N I T 2_^0*_]_^0_%SPC 1_^0P83262 ADC $520A_(00 SCHEDULAR CALL_^0_%ADC MASDRV_'01 INITIATOR ADDRESS_^0_%ADC MASCON_'02 CONTINUATOR ADDRESS_^0_%ADC MASERR_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^0_%NUM €€$601_)07 CONVERTER,EQUIPMENT,STATION_^0_%ADC $806+T18327_!08 REQUEST STATUS_^0_%NUM $0200_(09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^0_%ADC L18326_'13 DRIVER LENGTH_^0_%ADC S18326_'14 MASS STORAGE SECTOR NUMBER_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 0_,16 FAULT CODE IF REQUEST ERROR_^€€0_%NUM 0_,17 DIAGNOSTIC LOGICAL UNIT_^1_%NUM 0_,18 COUNT OF GHOST INTERRUPTS_^1_%NUM 0_,19 MICRO INTERRUPT LINE_^1_%NUM 0_,20 INTERRUPT TIMEOUT VALUE_^0_%NUM -0_,21 STATUS AFTER INITIAL ENTRY_^0_%NUM -0_,22 STATUS AFTER INTERRUPT_^0_%NUM -0_,23 STATUS AFTER TIMEOUT ERROR_^0_%NUM 0_,24 CONTROL POINT LOCATION_^0_%NUM 0_,25 RETURN FOR RECOVERY_^0_%NUM 0_,26 A REGISTER€€ AT LAST OUTPUT_^0_%NUM 0_,27 Q REGISTER AT LAST OUTPUT_^0_%NUM $00A0_(28 UNIT AND MODE SELECT_^0_%NUM 0_,29 WORD 4 OF REQUEST_^0_%NUM 0_,30 RECOVERY COUNT FLAG_^0_%NUM 0_,31 RECOVERY BIT (15=1 TO DISABLE)_^0_%ADC MXPHRC_'32 MAX PHYSICAL RECORD SIZE (7 TRACK)_^0_%ADC B18326_'33 PACK/UNPACK BUFFER ADDRESS_^0_%NUM 0_,34 ALARM STATUS WORD_^0_%NUM 0_,35 TRANSPORT STATU€€S_^0_%ADC P83260_'36 PHYSTAB THREAD_^1_%EJT_]_^1*_*1 8 3 3 - 5 / 1 8 6 5_!F L E X I B L E_!D I S K_^1*_]_^1_%SPC 1_^1_%EQU M18335(1)_^1_%EQU T18335(68*$10) TYPE CODE - 1833-5 865-1/4_^1_%EQU F18335(5)_#READ RECOVERY COUNT OF RESEEKS FOR TRACK 0_^1_%EQU G18335(5)_#READ RECOVERY COUNT OF OFF TRACK SEEKS_^1_%EQU H18335(10)_"READ RECOVERY COUNT OF NUMBER OF RETRIES_^1_%EQU V18€€335(2)_#WRITE RECOVERY COUNT OF RESEEKS FROM TRACK 0_^1_%EQU W18335(0)_#WRITE RECOVERY COUNT OF OFF TRACK SEEKS_^1_%EQU X18335(2)_#WRITE RECOVERY COUNT OF NUMBER OF RETRIES_^1_%IFA M18335,EQ,0_!CORE RESIDENT DRIVER_^1_%EXT I18335_^1_%EXT C18335_^1_%EXT E18335_^1_%EQU L18335(0)_^1_%EQU S18335($7FFF)_^1_%EIF_]_^1*_]_^1_%IFA M18335,EQ,1_!MASS RESIDENT DRIVER_^1_%EXT MASDRV_^€€1_%EXT MASCON_^1_%EXT MASERR_^1I18335 JMP+ MASDRV_'INITIATE DRIVER_^1C18335 JMP+ MASCON_'INTERRUPT RESPONSE_^1E18335 JMP+ MASERR_'TIMEOUT ERROR_^1_%EXT L18335_^1_%EXT S18335_^1_%EIF_]_^1_%SPC 3_^1R18335 LDQ =XP83350_$INTERRUPT RESPONSE FOR 1833-5 UNIT 0 FDD DISK_^1_%JMP (P83350+2)_^1_%EJT_]_^1*_$1 8 3 3 - 5 / 1 8 6 5_!F L E X I B L E_!D I S K_!U N I T_!0_^1*_]_^1_%EQU D8335€€0(96)_"DIMENSION OF A83350 (WORD ADDRESSABLE BUFFER)_^1A83350 BSS A83350(D83350) ABUFF_^1_%EQU Z83350(192)_!SIZE OF B83350 (WRITE COMPARE BUFFER)_^1B83350 BSS B83350(Z83350) BUFADR_^1_%SPC 1_^1P83350 ADC $5209_(00 SCHEDULER CALL_^1_%ADC I18335_'01 INITIATOR ADDRESS_^1_%ADC C18335_'02 CONTINUATOR ADDRESS_^1_%ADC E18335_'03 TIME OUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNO€€STIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM $0380_(07 CONVERTER, EQUIPMENT, STATION_^1_%ADC $1006+T18335 08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%ADC L18335_'13 DRIVER LENGTH IF MASS MEMORY_^1_%ADC S18335_'14 NAME ASSOCIATE€€D WITH SECTOR NUMBER_^1_%NUM 0_,15 RESERVED FOR FNR, CMR AND KERNEL_^1_%NUM 0_,16 FAULT CODE IF A REQUEST ERROR OCCURS_^1_%NUM 0_,17 UNUSED_^1_%NUM 0_,18 COUNT OF GHOST INTERRUPTS_^1_%NUM 0_,19 MICRO-INTERRUPT NUMBER_^1_%NUM 7_,20 TIMEOUT PERIOD TO WAIT FOR AN INTERRUPT_^1_%NUM $FFFF_(21 STATUS AFTER INITIAL ENTRY_#-UNIT_^1_%NUM $FFFF_(22 STATUS AFTER INTERRUPT_(-UN€€IT_^1_%NUM $FFFF_(23 STATUS AFTER INTERRUPT TIMEOUT -UNIT_^1_%NUM $FFFF_(24 STATUS AFTER INITIAL ENTRY_#-CONTROLLER_^1_%NUM $FFFF_(25 STATUS AFTER INTERRUPT_(-CONTROLLER_^1_%NUM $FFFF_(26 STATUS AFTER INTERRUPT TIMEOUT -CONTROLLER_^1_%NUM 0_,27 DEFINE BAD TRACKS OF DISKETTE_^1_%NUM 0_,28 NUMBER OF SECTORS PER TRACK_^1_%NUM 0_,29 NUMBER OF WORDS PER SECTOR_^1_%NUM 0_,€€30 CURRENT TRACK/SECTOR_^1_%NUM 0_,31 STARTING LOGICAL SECTOR FOR REQUEST_^1_%NUM 0_,32 LAST LOGICAL SECTOR FOR REQUEST_^1_%NUM 0_,33 WORD ADDRESSABLE SECTOR OFFSET, 1ST SECTOR_^1_%NUM 0_,34 SECTOR OFFSET FOR END OF DATA IN REQUEST_^1_%NUM 0_,35 CURRENT 1ST WORD ADDRESS_^1_%NUM 0_,36 FWA WITHIN USER'S BUFFER FOR KERNEL CALL_^1_%NUM 0_,37 LWA WITHIN USER'S BUFFER FOR €€KERNEL CALL_^1_%NUM 0_,38 NFDD CURRENT FWA_^1_%NUM 0_,39 NFDD CURRENT LWA_^1_%NUM 0_,40 SPEUDO COMPLETION PARAMETER LIST_^1_%NUM 0_,41 COMPLETION OVERLAY ADDRESS_^1_%NUM 0_,42 MOTION OPTIONS, BAD STATUS BITS, FWA XFER_^1_%NUM 0_,43 LWA XFER ROUTINE, LFDD RECOVERY COUNTER_^1*_844 READ RECOVERY OPTIONS_^1_%VFD X5/F18335,X5/G18335,X6/H18335_^1*_845 WRITE RECOVERY OPTION€€S_^1_%VFD X5/V18335,X5/W18335,X6/X18335_^1_%NUM 0_,46 ERROR COUNT OF MEDIA ERRORS WITHIN REQUEST_^1_%NUM 0_,47 NUMBER OF ERROR RECOVERIES FROM MEDIA ERRS_^1_%NUM $100_)48 LOGGING RECOVERY INTERVAL_^1_%NUM 0_,49 PASS COUNTER FOR I/O PROGRESSION IN NFDD_^1_%NUM 0_,50 STARTING SECTOR IN WORD ADDRESSABLE BUFFER_^1_%NUM 0_,51 USEABLE SECTOR COUNT IN ABUFF BUFFER_^1_%NUM 0_€€,52 MAXIMUM SECTOR COUNT FOR ABUFF BUFFER_^1_%ADC A83350_'53 ADDRESS OF WORD ADDRESSABLE BUFFER -ABUFF_^1_%ADC D83350_'54 BUFFER SIZE IN WORDS OF ABUFF_^1_%ADC B83350_'55 ADDRESS OF WRITE COMPARE BUFFER - BUFADR_^1_%ADC Z83350_'56 BUFFER LENGTH IN WORDS OF BUFADR_^1_%NUM 0_,57 PRIME FLAG WORD_^1_%NUM 0_,58 WRITE COMPARE FLAG WORD_^1_%NUM 0_,59 READ ONLY FLAG WORD_^1_€€%NUM 0_,60 NOT USED_^1_%NUM 0_,61 1ST BAD TRACK_^1_%NUM 0_,62 NOT USED_^1_%NUM 0_,63 2ND BAD TRACK_^1_%NUM 0_,64 KERNEL FLAG BITS OPTION WORD_^1_%NUM 0_,65 LAST FUNCTION CODE ISSUED_^1_%NUM 0_,66 TIME COUNTER AT START OF SEEK (3.3 MS)_^1_%NUM 0_,67 TIME COUNTER AT END OF SEEK (3.3 MS)_^1_%NUM 0_,68 ILLEGAL FUNCTION CODE TO BE ISSUED_^1_%NUM 0_,69 RWFDD RETURN AD€€DRESS_^1_%NUM 0_,70 OFFSET RETURN ADDRESS_^1_%NUM 0_,71 BUFFIO RETURN ADDRESS_^1_%ADC P83350_'72 FDD PHYSICAL DEVICE TABLE THREAD_^1_%EJT_]_^1*_$M A G N E T I C T A P E S I M U L A T O R_^1*_]_^1_%SPC 1_^1_%EQU MTSIM0(1)_^1*_]_^1_%IFA MTSIM0,EQ,0_!CORE RESIDENT DRIVER_^1_%EXT IMTSIM_^1_%EQU LMTSIM(0)_^1_%EQU SMTSIM($7FFF)_^1_%EIF_]_^1*_]_^1_%IFA MTSIM0,EQ,1_!MASS RES€€IDENT DRIVER_^1_%EXT MASDRV_^1IMTSIM JMP+ MASDRV_'INITIATE DRIVER_^1_%EXT LMTSIM_^1_%EXT SMTSIM_^1_%EIF_]_^1*_]_^1_%EJT_]_^1*_$M A G T A P E S I M U L A T O R, U N I T 0_^1*_]_^1_%EXT MTBFS0_^1_%EXT MTBFE0_^1_%SPC 1_^1PTSIM0 ADC $5208_(00 SCHEDULAR CALL_^1_%ADC IMTSIM_'01 INITIATOR ADDRESS_^1_%ADC 0_,02 CONTINUATOR ADDRESS_!-NOT USED_^1_%ADC 0_,03 TIMEOUT ERROR AD€€DRESS -NOT USED_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_$-NOT USED_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER,EQUIPMENT,STATION - NONE_^1_%NUM $0BC6_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%ADC LMTSIM_'13 DRIVER LENGTH IF MA€€SS MEMORY_^1_%ADC SMTSIM_'14 NAME ASSOCIATED WITH SECTOR NUMBER_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 8_,16 MASS MEMORY LOGICAL UNIT_^1_%NUM 0_,17 MM WORD ADDRESS POINTER (MSB)_^1_%NUM 0_,18 MM WORD ADDRESS POINTER (LSB)_^1_%NUM 0_,19 MASS MEMORY ADDRESS -_^1_%ADC MTBFS0_'20 START OF MASS MEMORY BYFFER_^1_%NUM 0_,21 MASS MEMORY ADDRESS -_^1_%ADC MTBFE0_'22€€ END OF MASS MEMORY BUFFER_^1_%ADC PTSIM1_'23 PHYSTAB THREAD_^1_%EJT_]_^1*_$M A G T A P E S I M U L A T O R, U N I T 1_^1*_]_^1_%EXT MTBFS1_^1_%EXT MTBFE1_^1_%SPC 1_^1PTSIM1 ADC $5208_(00 SCHEDULAR CALL_^1_%ADC IMTSIM_'01 INITIATOR ADDRESS_^1_%ADC 0_,02 CONTINUATOR ADDRESS_!-NOT USED_^1_%ADC 0_,03 TIMEOUT ERROR ADDRESS -NOT USED_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_$€€-NOT USED_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM 0_,07 CONVERTER,EQUIPMENT,STATION - NONE_^1_%NUM $0BC6_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%ADC LMTSIM_'13 DRIVER LENGTH IF MASS MEMORY_^1_%ADC SMTSIM_'14 NAME ASSOCIATED WITH€€ SECTOR NUMBER_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 8_,16 MASS MEMORY LOGICAL UNIT_^1_%NUM 0_,17 MM WORD ADDRESS POINTER (MSB)_^1_%NUM 0_,18 MM WORD ADDRESS POINTER (LSB)_^1_%NUM 0_,19 MASS MEMORY ADDRESS -_^1_%ADC MTBFS1_'20 START OF MASS MEMORY BYFFER_^1_%NUM 0_,21 MASS MEMORY ADDRESS -_^1_%ADC MTBFE1_'22 END OF MASS MEMORY BUFFER_^1_%ADC PTSIM0_'23 PH€€YSTAB THREAD_^1_%EJT_]_^1_%EJT_]_^1*_$1 8 3 3 - 4 , 1 8 6 6 - 1 2 / 1 4 D I S K_^1*_]_^1_%SPC 2_^1_%ENT P83340_^1_%EXT I18334_^1_%EXT C18334_^1_%EXT E18334_^1_%EQU T86612(75*$10) TYPECODE - 1866-12_^1_%EQU T86614(74*$10)_!TYPE CODE - 1866-14_^1_]_^1_%SPC 2_^1R18334 LDQ =XP83340_^1_%JMP* (P83340+2)_^1_%EJT_]_^1*_$1 8 3 3 - 4 , 1 8 6 6 - 1 2 0 1 4 D I S K , U N I T 0_^1*€€_]_^1_%SPC 2_^1P83340 ADC $5209_(00 SCHEDULER CALL_^1_%ADC I18334_'01 INITIATOR ADDRESS_^1_%ADC C18334_'02 CONTINUATOR ADDRESS_^1_%ADC E18334_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM $0701_(07 CONVERTER,EQUIPMENT,STATION_^1_%ADC $1006+T86614 08 REQUEST STATUS_^1_%NUM 0_,09 DRI€€VER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%NUM 0_,13 DRIVER LENGTH_^1_%NUM $7FFF_(14 MASS STORAGE ADDRESS FOR DRIVER_^1_%NUM 0_,15 REENTRANCY FOR SYSTEM ROUTINES_^1_%NUM 0_,16 DRIVER FAULT CODE_^1_%NUM 0_,17 DIAGNOSTIC LOGICAL UNIT_^1_%NUM 0_,18 COUNT OF GHOST INTERRUPTS_^1_%NUM 0_,19 MICRO INTE€€RRUPT NUMBER_^1_%NUM 0_,20 TIMEOUT IN SECONDS_^1_%NUM 0_,21 STATUS AFTER INITIAL ENTRY_^1_%NUM 0_,22 STATUS AFTER INTERRUPT_^1_%NUM 0_,23 STATUS AFTER ERROR_^1_%NUM 0_,24 CONTROL POINT VALUE_^1_%NUM 0_,25 LAST DATA TRANSFER FUNCTION_^1_%NUM 0_,26 BUFFER SIZE FOR SPLIT TRANSFERS_^1_%NUM 0_,27 CYLINDER ADDRESS ON DISK_^1_%NUM $0001_(28 MASK FOR THIS UNIT SEEK COMPLE€€TE BIT_^1_%ADC BF334A_'29 ADDRESS OF 96 WORD BUFFER_^1_%NUM 0_,30 TEMPORARY FOR WORD ADDRESSING_^1_%NUM 0_,31 TEMPORARY FOR WORD ADDRESSING_^1_%NUM 0_,32 TEMPORARY FOR WORD ADDRESSING_^1_%NUM 0_,33 SAVE FOR REQUEST CODE_^1_%NUM 0_,34 SAVE FOR REQUEST PRIORITY_^1_%NUM 0_,35 STARTING SECTOR FOR COMPARE ON RETRY_^1_%NUM 0_,36 FWA OF TRANSFER FOR COMPARE ON RETRY_^1_%NU€€M 0_,37 ERROR COUNTER FOR COMPARE ON RETRY_^1_%NUM 0_,38 DATA TRANSFER FUNCTION CODE_^1_%NUM 0_,39 NUMBER OF SECTOR CURRENTLY IN BUFFER_^1_%NUM 0_,40 LAST VALUE OF TRUE SECTOR ADDRESS_^1_%NUM 0_,41 LAST VALUE OF TRUE CYLINDER ADDRESS_^1_%NUM 0_,42 LAST VALUE OF CWA_^1_%NUM 0_,43 LAST VALUE OF CURRENT BANK STATUS_^1_%NUM 0_,44 ENTRY INDEX TO -BEGIN-_^1_%NUM 0_,45 €€SOFTWARE SECTOR NUMBER_^1_%NUM $8080_(46 NO COMPARE/SELECT FUNCTION_^1_%NUM 0_,47 TEMPORARY FOR WORD ADDRESSING_^1_%NUM 0_,48 COMPARE OR CHECKWORD ERROR_^1_%NUM 0_,49 OVERLAY AREA_^1_%NUM 0_,50 OVERLAY AREA_^1_%NUM 0_,51 OVERLAY AREA_^1_%NUM 0_,52 OVERLAY AREA_^1_%NUM 0_,53 TEMPORARY STORAGE FOR MOTION PARAM_^1_%NUM 0_,54 SECTOR ON DISK_^1_%NUM 0_,55 MEMORY BANK€€ SELECTION_^1_%NUM 0_,56 ALARM STATUS_^1_%NUM 0_,57 RESERVED_^1_%NUM 0_,58 LAST Q REG. ON INP/OUT COMMAND_^1_%NUM 0_,59 LAST A REG. ON INP/OUT COMMAND_^1_%NUM 0_,60 DYNAMIC HARDWARE STATUS_^1_%NUM $5BFB_(61 FIRST SECTOR ADDRESS ON DISK 1_^1_%ADC P83341_'62 PHYSTAB THREAD_^1_%BZS BF334A(96)_#63 BUFFER FOR WORD ADDRESSING , START_^1*_7158 BUFFER FOR WORD ADDRESSING , E€€ND_^1_%EJT_]_^1*_$1 8 3 3 - 4 , 1 8 6 6 - 1 2 0 1 4 D I S K , U N I T 1_^1*_]_^1_%SPC 2_^1P83341 ADC $5209_(00 SCHEDULER CALL_^1_%ADC I18334_'01 INITIATOR ADDRESS_^1_%ADC C18334_'02 CONTI NATOR ADDRESS_^1_%ADC E18334_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM $0701_(07 CONVERTER,EQ€€UIPMENT,STATION_^1_%ADC $1006+T86614 08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%NUM 0_,13 DRIVER LENGTH_^1_%NUM $7FFF_(14 MASS STORAGE ADDRESS FOR DRIVER_^1_%NUM 0_,15 REENTRANCY FOR SYSTEM ROUTINES_^1_%NUM 0_,16 DRIVER FAULT CODE_^1_%NUM 0_,17 DIAGNOSTIC LOGI€€CAL UNIT_^1_%NUM 0_,18 COUNT OF GHOST INTERRUPTS_^1_%NUM 0_,19 MICRO INTERRUPT NUMBER_^1_%NUM 0_,20 TIMEOUT IN SECONDS_^1_%NUM 0_,21 STATUS AFTER INITIAL ENTRY_^1_%NUM 0_,22 STATUS AFTER INTERRUPT_^1_%NUM 0_,23 STATUS AFTER ERROR_^1_%NUM 0_,24 CONTROL POINT VALUE_^1_%NUM 0_,25 LAST DATA TRANSFER FUNCTION_^1_%NUM 0_,26 BUFFER SIZE FOR SPLIT TRANSFERS_^1_%NUM 0_,27€€ CYLINDER ADDRESS ON DISK_^1_%NUM $0001_(28 MASK FOR THIS UNIT SEEK COMPLETE BIT_^1_%ADC BF334B_'29 ADDRESS OF 96 WORD BUFFER_^1_%NUM 0_,30 TEMPORARY FOR WORD ADDRESSING_^1_%NUM 0_,31 TEMPORARY FOR WORD ADDRESSING_^1_%NUM 0_,32 TEMPORARY FOR WORD ADDRESSING_^1_%NUM 0_,33 SAVE FOR REQUEST CODE_^1_%NUM 0_,34 SAVE FOR REQUEST PRIORITY_^1_%NUM 0_,35 STARTING SECTOR FOR€€ COMPARE ON RETRY_^1_%NUM 0_,36 FWA OF TRANSFER FOR COMPARE ON RETRY_^1_%NUM 0_,37 ERROR COUNTER FOR COMPARE ON RETRY_^1_%NUM 0_,38 DATA TRANSFER FUNCTION CODE_^1_%NUM 0_,39 NUMBER OF SECTOR CURRENTLY IN BUFFER_^1_%NUM 0_,40 LAST VALUE OF TRUE SECTOR ADDRESS_^1_%NUM 0_,41 LAST VALUE OF TRUE CYLINDER ADDRESS_^1_%NUM 0_,42 LAST VALUE OF CWA_^1_%NUM 0_,43 LAST VALUE OF€€ CURRENT BANK STATUS_^1_%NUM 0_,44 ENTRY INDEX TO -BEGIN-_^1_%NUM 0_,45 SOFTWARE SECTOR NUMBER_^1_%NUM $8080_(46 NO COMPARE/SELECT FUNCTION_^1_%NUM 0_,47 TEMPORARY FOR WORD ADDRESSING_^1_%NUM 0_,48 COMPARE OR CHECKWORD ERROR_^1_%NUM 0_,49 OVERLAY AREA_^1_%NUM 0_,50 OVERLAY AREA_^1_%NUM 0_,51 OVERLAY AREA_^1_%NUM 0_,52 OVERLAY AREA_^1_%NUM 0_,53 TEMPORARY STORAG€€E FOR MOTION PARAM_^1_%NUM 0_,54 SECTOR ON DISK_^1_%NUM 0_,55 MEMORY BANK SELECTION_^1_%NUM 0_,56 ALARM STATUS_^1_%NUM 0_,57 RESERVED_^1_%NUM 0_,58 LAST Q REG. ON INP/OUT COMMAND_^1_%NUM 0_,59 LAST A REG. ON INP/OUT COMMAND_^1_%NUM 0_,60 DYNAMIC HARDWARE STATUS_^1_%NUM $5BFB_(61 FIRST SECTOR ADDRESS ON DISK 1_^1_%ADC P83342_'62 PHYSTAB THREAD_^1_%BZS BF334B(96)_"€€63 BUFFER FOR WORD ADDRESSING , START_^1*_7158 BUFFER FOR WORD ADDRESSING , END_^1_%EJT_]_^1*_$1 8 3 3 - 4 ,_"86 6 - 1 2 0 1 4 D I S K , U N I T 2_^1*_]_^1_%SPC 2_^1P83342 ADC $5209_(00 SCHEDULER CALL_^1_%ADC I18334_'01 INITIATOR ADDRESS_^1_%ADC C18334_'02 CONTINUATOR ADDRESS_^1_%ADC E18334_'03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGI€€CAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM $0701_(07 CONVERTER,EQUIPMENT,STATION_^1_%ADC $1006+T86614 08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%NUM 0_,13 DRIVER LENGTH_^1_%NUM $7FFF_(14 MASS STORAGE ADDRESS FO RDRIVER_^1_%NUM 0_,15 REENTRANCY FOR SYSTE€€M ROUTINES_^1_%NUM 0_,16 DRIVER FAULT CODE_^1_%NUM 0_,17 DIAGNOSTIC LOGICAL UNIT_^1_%NUM 0_,18 COUNT OF GHOST INTERRUPTS_^1_%NUM 0_,19 MICRO INTERRUPT NUMBER_^1_%NUM 0_,20 TIMEOUT IN SECONDS_^1_%NUM 0_,21 STATUS AFTER INITIAL ENTRY_^1_%NUM 0_,22 STATUS AFTER INTERRUPT_^1_%NUM 0_,23 STATUS AFTER ERROR_^1_%NUM 0_,24 CONTROL POINT VALUE_^1_%NUM 0_,25 LAST DATA TRAN€€SFER FUNCTION_^1_%NUM 0_,26 BUFFER SIZE FOR SPLIT TRANSFERS_^1_%NUM 0_,27 CYLINDER ADDRESS ON DISK_^1_%NUM $0001_(28 MASK FOR THIS UNIT SEEK COMPLETE BIT_^1_%ADC BF334C_'29 ADDRESS OF 96 WORD BUFFER_^1_%NUM 0_,30 TEMPORARY FOR WORD ADDRESSING_^1_%NUM 0_,31 TEMPORARY FOR WORD ADDRESSING_^1_%NUM 0_,32 TEMPORARY FOR WORD ADDRESSING_^1_%NUM 0_,33 SAVE FOR REQUEST CODE_^€€1_%NUM 0_,34 SAVE FOR REQUEST PRIORITY_^1_%NUM 0_,35 STARTING SECTOR FOR COMPARE ON RETRY_^1_%NUM 0_,36 FWA OF TRANSFER FOR COMPARE ON RETRY_^1_%NUM 0_,37 ERROR COUNTER FOR COMPARE ON RETRY_^1_%NUM 0_,38 DATA TRANSFER FUNCTION CODE_^1_%NUM 0_,39 NUMBER OF SECTOR CURRENTLY IN BUFFER_^1_%NUM 0_,40 LAST VALUE OF TRUE SECTOR ADDRESS_^1_%NUM 0_,41 LAST VALUE OF TRUE CYLI€€NDER ADDRESS_^1_%NUM 0_,42 LAST VALUE OF CWA_^1_%NUM 0_,43 LAST VALUE OF CURRENT BANK STATUS_^1_%NUM 0_,44 ENTRY INDEX TO -BEGIN-_^1_%NUM 0_,45 SOFTWARE SECTOR NUMBER_^1_%NUM $8080_(46 NO COMPARE/SELECT FUNCTION_^1_%NUM 0_,47 TEMPORARY FOR WORD ADDRESSING_^1_%NUM 0_,48 COMPARE OR CHECKWORD ERROR_^1_%NUM 0_,49 OVERLAY AREA_^1_%NUM 0_,50 OVERLAY AREA_^1_%NUM 0_,51€€ OVERLAY AREA_^1_%NUM 0_,52 OVERLAY AREA_^1_%NUM 0_,53 TEMPORARY STORAGE FOR MOTION PARAM_^1_%NUM 0_,54 SECTOR ON DISK_^1_%NUM 0_,55 MEMORY BANK SELECTION_^1_%NUM 0_,56 ALARM STATUS_^1_%NUM 0_,57 RESERVED_^1_%NUM 0_,58 LAST Q REG. ON INP/OUT COMMAND_^1_%NUM 0_,59 LAST A REG. ON INP/OUT COMMAND_^1_%NUM 0_,60 DYNAMIC HARDWARE STATUS_^1_%NUM $5BFB_(61 FIRST SECTOR€€ ADDRESS ON DISK 1_^1_%ADC P83343_'62 PHYSTAB THREAD_^1_%BZS BF334C(96)_"63 BUFFER FOR WORD ADDRESSING , START_^1*_7158 BUFFER FOR WORD ADDRESSING , END_^1_%EJT_]_^1*_$1 8 3 3 - 4 , 1 8 6 6 - 1 2 0 1 4 D I S K , U N I T 3_^1*_]_^1_%SPC 2_^1P83343 ADC $5209_(00 SCHEDULER CALL_^1_%ADC I18334_'01 INITIATOR ADDRESS_^1_%ADC C18334_'02 CONTINUATOR ADDRESS_^1_%ADC E18334_'03€€ TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM $0701_(07 CONVERTER,EQUIPMENT,STATION_^1_%ADC $1006+T86614 08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%NUM 0_,13 DRIVER LENGTH_^1_%NUM $€€7FFF_(14 MASS STORAGE ADDRESS FO RDRIVER_^1_%NUM 0_,15 REENTRANCY FOR SYSTEM ROUTINES_^1_%NUM 0_,16 DRIVER FAULT CODE_^1_%NUM 0_,17 DIAGNOSTIC LOGICAL UNIT_^1_%NUM 0_,18 COUNT OF GHOST INTERRUPTS_^1_%NUM 0_,19 MICRO INTERRUPT NUMBER_^1_%NUM 0_,20 TIMEOUT IN SECONDS_^1_%NUM 0_,21 STATUS AFTER INITIAL ENTRY_^1_%NUM 0_,22 STATUS AFTER INTERRUPT_^1_%NUM 0_,23 STATUS €€AFTER ERROR_^1_%NUM 0_,24 CONTROL POINT VALUE_^1_%NUM 0_,25 LAST DATA TRANSFER FUNCTION_^1_%NUM 0_,26 BUFFER SIZE FOR SPLIT TRANSFERS_^1_%NUM 0_,27 CYLINDER ADDRESS ON DISK_^1_%NUM $0001_(28 MASK FOR THIS UNIT SEEK COMPLETE BIT_^1_%ADC BF334D_'29 ADDRESS OF 96 WORD BUFFER_^1_%NUM 0_,30 TEMPORARY FOR WORD ADDRESSING_^1_%NUM 0_,31 TEMPORARY FOR WORD ADDRESSING_^1_%NUM€€ 0_,32 TEMPORARY FOR WORD ADDRESSING_^1_%NUM 0_,33 SAVE FOR REQUEST CODE_^1_%NUM 0_,34 SAVE FOR REQUEST PRIORITY_^1_%NUM 0_,35 STARTING SECTOR FOR COMPARE ON RETRY_^1_%NUM 0_,36 FWA OF TRANSFER FOR COMPARE ON RETRY_^1_%NUM 0_,37 ERROR COUNTER FOR COMPARE ON RETRY_^1_%NUM 0_,38 DATA TRANSFER FUNCTION CODE_^1_%NUM 0_,39 NUMBER OF SECTOR CURRENTLY IN BUFFER_^1_%NUM 0_€€,40 LAST VALUE OF TRUE SECTOR ADDRESS_^1_%NUM 0_,41 LAST VALUE OF TRUE CYLINDER ADDRESS_^1_%NUM 0_,42 LAST VALUE OF CWA_^1_%NUM 0_,43 LAST VALUE OF CURRENT BANK STATUS_^1_%NUM 0_,44 ENTRY INDEX TO -BEGIN-_^1_%NUM 0_,45 SOFTWARE SECTOR NUMBER_^1_%NUM $8080_(46 NO COMPARE/SELECT FUNCTION_^1_%NUM 0_,47 TEMPORARY FOR WORD ADDRESSING_^1_%NUM 0_,48 COMPARE OR CHECKWORD €€ERROR_^1_%NUM 0_,49 OVERLAY AREA_^1_%NUM 0_,50 OVERLAY AREA_^1_%NUM 0_,51 OVERLAY AREA_^1_%NUM 0_,52 OVERLAY AREA_^1_%NUM 0_,53 TEMPORARY STORAGE FOR MOTION PARAM_^1_%NUM 0_,54 SECTOR ON DISK_^1_%NUM 0_,55 MEMORY BANK SELECTION_^1_%NUM 0_,56 ALARM STATUS_^1_%NUM 0_,57 RESERVED_^1_%NUM 0_,58 LAST Q REG. ON INP/OUT COMMAND_^1_%NUM 0_,59 LAST A REG. ON INP/OUT CO€€MMAND_^1_%NUM 0_,60 DYNAMIC HARDWARE STATUS_^1_%NUM $5BFB_(61 FIRST SECTOR ADDRESS ON DISK 1_^1_%ADC P83340_'62 PHYSTAB THREAD_^1_%BZS BF334D(96)_"63 BUFFER FOR WORD ADDRESSING , START_^1*_7158 BUFFER FOR WORD ADDRESSING , END_^1_%EJT_]_^1_%EJT_]_^1*_$1 8 2 7 - 3 0 / 6 0 L I N E P R I N T E R_^1*_]_^1_%SPC 1_^1_%EQU T1827(64*$10) TYPE CODE - 1827-30/60_^1_%EQU F1827K(F€€TN827-LOG1A)_^1_%SPC 1_^1_%EQU M1827(1)_^1*_]_^1_%IFA M1827,EQ,0_"CORE RESIDENT DRIVER_^1_%EXT I1827_^1_%EXT C1827_^1_%EXT E1827_^1_%EQU L1827(0)_^1_%EQU S1827($7FFF)_^1_%EIF_]_^1*_]_^1_%IFA M1827,EQ,1_"MASS RESIDENT DRIVER_^1_%EXT MASDRV_^1_%EXT MASCON_^1_%EXT MASERR_^1I1827 JMP+ MASDRV_'INITIATE DRIVER_^1C1827 JMP+ MASCON_'INTERRUPT RESPONSE_^1E1827 JMP+ MASERR_'TI€€MEOUT ERROR_^1_%EXT L1827_^1_%EXT S1827_^1_%EIF_]_^1*_]_^1_%SPC 2_^1R1827 LDQ =XP1827_%INTERRUPT RESPONSE FOR 1827-30/60 PRINTER_^1_%JMP* (P1827+2)_^1*_]_^1R2729 LDQ =XP1827_^1_%LDQ- EWES,Q_'GET CONNECT_^1_%INP 1_,READ STATUS_^1_%NOP 0_^1_%AND- $25_^1_%SAZ NOTLP_^1_%JMP* R1827_(GO TO LINE PRINTER_^1NOTLP JMP* R1829_(GO TO CARD READER_^1_%EJT_]_^1*_*1 8 2 7 - 3 0 / 6 0 L€€ I N E P R I N T E R_^1*_]_^1_%SPC 1_^1P1827 ADC $520A_(00 SCHEDULER CALL_^1_%ADC I1827_(01 INITIATOR ADDRESS_^1_%ADC C1827_(02 CONTINUATOR ADDRESS_^1_%ADC E1827_(03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LOCATION_^1_%NUM $0201_(07 CONVERTER, EQUIPMENT, STATION_^1_%ADC $2804+T1827_!08 REQUEST STAT€€US_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%ADC L1827_(13 DRIVER LENGTH IF MASS MEMORY_^1_%ADC S1827_(14 NAME ASSOCIATED WITH SECTOR NUMBER_^1_%NUM 0_,15 RESERVED FOR FNR AND CMR_^1_%NUM 0_,16 FAULT CODE IF A REQUEST ERROR OCCURS_^1_%NUM 0_,17 UNUSED_^1_%NUM 0_,18 COUNT OF GHO€€ST INTERRUPTS_^1_%NUM 4_,19 MICRO-INTERRUPT NUMBER_^1_%NUM 10_+20 TIMEOUT PEROID FOR AN INTERRUPT_^1_%NUM 0_,21 STATUS AFTER INITIAL ENTRY_^1_%NUM 0_,22 STATUS AFTER INTERRUPT_^1_%NUM 0_,23 STATUS AFTER TIMEOUT INTERRUPT_^1_%ADC F1827K_'24 FORTRAN LOGICAL UNIT_^1_%NUM 0_,25 PAPER MOTION COMMAND_^1_%NUM 0_,26 COUNT FOR SPACE FILL_^1_%NUM 0_,27 CHARACTER OUTPUT COUN€€T_^1_%NUM 136_*28 NUMBER CHARACTERS PER LINE_^1_%NUM 0_,29 LINE COUNT_^1_%NUM 60_+30 MAX NUMBER OF LINES PER PAGE_^1_%NUM 0_,31 MOTION REQUEST WORD SAVED HERE_^1_%NUM 0_,32 ZERO IF ALL BLANKS IN LINE_^1_%BZS (4)_*33-36 ADT TABLE_^1_%NUM 0_,37 ADT BUFFER ADDRESS_^1_%NUM 0_,38 DOUBLE BUFFERING FLAG (1=DBL,0=NO)_^1_%NUM 0_,39 REQUEST COMPLETED FLAG_^1_%NUM 0_,40 NE€€W BUFFER ADDRESS_^1_%NUM 0_,41 SAVED FAULT CODE_^1_%NUM 0_,42 SAVED ESTAT1_^1_%EJT_]_^1*_]_^1*_*F O R T R A N L I N E P R I N T E R_^1_%SPC 2_^1*_*PHYSTB SHARED WITH 1827-30/60 LINE PRINTER_^1_%EJT_]_^1*_*1 8 2 9 - 3 0 / 6 0 C A R D R E A D E R_^1*_]_^1_%SPC 1_^1_%ENT P1829_^1_%ENT CDRDSM_^1_%EQU CDRDSM($7FFF)_^1_%EQU M1829(1)_^1*_]_^1_%IFA M1829,EQ,0_"CORE RESIDENT €€DRIVER_^1_%EXT I1829_^1_%EXT C1829_^1_%EXT E1829_^1_%EQU L1829(0)_^1_%EQU S1829($7FFF)_^1_%EIF_]_^1*_]_^1_%IFA M1829,EQ,1_"MASS RESIDENT DRIVER_^1_%EXT MASDRV_^1_%EXT MASCON_^1_%EXT MASERR_^1I1829 JMP+ MASDRV_'INITIATE DRIVER_^1C1829 JMP+ MASCON_'INTERRUPT RESPONSE_^1E1829 JMP+ MASERR_'TIMEOUT ERROR_^1_%EXT L1829_^1_%EXT S1829_^1_%EIF_]_^1*_]_^1R1829 LDQ =XP1829_%IN€€TERRUPT RESPONSE FOR 1829-30/60 CARD READER_^1_%JMP* (P1829+2)_^1_%EJT_]_^1*_*1 8 2 9 - 3 0 / 6 0 C A R D R E A D E R_^1*_]_^1_%SPC 1_^1P1829 ADC $520A_(00 SCHEDULER CALL_^1_%ADC I1829_(01 INITIATOR ADDRESS_^1_%ADC C1829_(02 CONTINUATOR ADDRESS_^1_%ADC E1829_(03 TIMEOUT ERROR ADDRESS_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETE€€R LOCATION_^1_%NUM $581_)07 CONVERTER, EQUIPMENT, STATION_^1_%NUM $1BF2_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER STATUS_^1_%NUM 0_,10 CURRENT LOCATION_^1_%NUM 0_,11 LAST LOCATION PLUS ONE_^1_%NUM 0_,12 DEVICE STATUS_^1_%ADC L1829_(13 DRIVER LENGTH IF MASS MEMORY_^1_%ADC S1829_(14 NAME ASSOCIATED WITH SECTOR NUMBER_^1_%NUM 0_,15 RETURN ADDRESS_^1_%NUM 0_,16 FAULT €€CODE_^1_%NUM 0_,17 UNUSED_^1_%NUM 0_,18 GHOST INTERRUPT COUNT_^1_%NUM 11_+19 MICRO-INTERRUPT NUMBER_^1_%NUM 1_,20 TIMEOUT PEROID FOR AN INTERRUPT_^1_%NUM 0_,21 INITIATOR RAW STATUS 1_^1_%NUM 0_,22 CONTINUATOR RAW STATUS 1_^1_%NUM 0_,23 TIME OUT STATUS 1_^1_%NUM 0_,24 INITIATOR RAW STATUS 2_^1_%NUM 0_,25 CONTINUATOR RAW STATUS 2_^1_%NUM 0_,26 TIME OUT STATUS 2_^1€€_%NUM 0_,27 COLUMN COUNTER_^1_%NUM 0_,28 TIME AT FEED_^1_%NUM 0_,29 TIME AT COLUMN 1_^1_%NUM 0_,30 TIME AT EOP_^1_%NUM 0_,31 ADDRESS TO STORE RAW DATA_^1_%NUM 0_,32 LAST WORD ADDRESS+1 TO STORE_^1_%NUM 0_,33 DESELECT INTERRUPT BITS MASK_^1_%NUM 0_,34 REPLACEMENT WAIT SUBROUTINE_^1_%NUM 0_,35 TIME OUT FLAG_^1_%NUM 0_,36 LOGICAL RECORD LENGTH_^1_%NUM 0_,37 SEQUE€€NCE COUNTER FOR BINARY FORMATED CARDS_^1_%NUM 0_,38 SEQ VALUE AT START OF REQUEST_^1_%NUM 0_,39 CHECK SUM ACCUMULATIVE VALUE_^1_%NUM 0_,40 LOOP CYCLE COUNTER_^1_%NUM 0_,41 MOTION OPTION TEMPORARY LOCATION_^1_%NUM $000F_(42 END OF FILE INDICATOR_^1_%NUM 0_,43_!READ MODE FLAG (0=026,1=029)_^1_%NUM $580_)44 ADT CONTROL WORD_^1_%NUM 0_,45_!ADT FIRST WORD 1_^1_%NUM 0_,46_€€!ADT LAST WORD_^1_%NUM 0_,47_!ADT DUMMY_^1_%NUM 0_,48_!SIM200 LOGICAL UNIT_^1_%BZS BUFR(80)_$49_!SCRATCH BUFFER FOR RAW DATA (COL 1-80)_^1_%EJT_]_^1****************************************************************_^1*_$M A T R I X_!P R I N T E R_^1****************************************************************_^1_%SPC 1_^1_%EXT INMPRT_^1_%EXT CNMPRT_^1_%EXT DTMPRT_^1_%ENT I€€NTMPR_^1_%ENT IFIN1_^1_%EXT FIN1_^1_%SPC 2_^1***_"INTMPR IS THE INTERRUPT RESPONSE PROCESSOR FOR THE_^1***_"MATRIX PRINTER ASSOCIATED WITH THE FOLLOWING PDT._^1***_]_^1***_"INTMPR SETS Q=PDT BASE AND CALLS THE DRIVER CONTINUATOR_^1***_]_^1INTMPR LDQ =XPMPRT_^1_%JMP* (PMPRT+2)_^1_%SPC 2_^1***_"AT THE END OF A PRINT BUFFER, DMPRT SCHEDULES IFIN1 FOR_^1***_"EXECUTION AFTER A 400 €€MS DELAY ( VIA A T8 REQ.), BEFORE_^1***_"JUMPING BACK TO DMPRT (AT FIN1), THE Q REGISTER IS_^1***_"SET TO THE PDT BASE_^1_%SPC 2_^1IFIN1 LDQ =XPMPRT_^1_%JMP FIN1_^1_%EJT_]_^1****************************************************************_^1*_]*_^1*_$M A T R I X_!P R I T E R_!P D T ._4*_^1*_]*_^1****************************************************************_^1_%SPC 2_^1PMPRT€€ NUM $520A_(00 SCHEDULER CALL_^1_%ADC INMPRT_'01 INITIATOR ADDRESS_^1_%ADC CNMPRT_'02 CONTINUATOR ADDRESS_^1_%ADC DTMPRT_'03_^1_%NUM -1_+04 DIAGNOSTIC CLOCK_^1_%NUM 0_,05 LOGICAL UNIT_^1_%NUM 0_,06 PARAMETER LIST LOCATION_^1_%NUM $0538_(07 CONVERTER,STATION_^1_%NUM $2BE4_(08 REQUEST STATUS_^1_%NUM 0_,09 DRIVER_^1_%NUM 0_,10 FIRST CORE LOCATION_^1_%NUM 0_,11 €€LAST CORE LOCATION + 1_^1_%NUM 0_,12 HDWE. STATUS INPUT DATA CHARACTER_^1_%NUM 0_,13 DRIVER LENGTH IF MASS MEMORY_^1_%NUM $7FFF_(14 NAME ASSOCIATED WITH SECTOR NR._^1_%NUM 0_,15 RETURN ADDRESS FROM FNR,MAKQ,COMPRQ_^1_%NUM $8000_(16 COMM. TYPE (BIT 15=1 IF LCM-RCM)_^1_%NUM 0_,17 SWITCH FOR PRECEDING CARR. CONTROL_^1_%NUM 0_,18 ECHO BACK CARR. CONTROL SWITCH_^1_%NUM 0_€€,19 LCM-RCM INIT INPUT COUNTER_^1_%NUM 0_,20 LCM-RCM EXIT COUNTER_^1_%NUM 0_,21 LCM-RCM OUTPUT INTERVAL COUNTER_^1_%NUM 0_,22 COUNT OF CONSEC. "NO CHAR. RDY"_^1_%NUM 0_,23 COUNT OF CONSEC. "NO CHAR. REQ."_^1_%NUM 0_,24 I/O COMPLETION FLAG_^1_%NUM 0_,25 RETURN ADDRESS FROM GETCHR_^1_%NUM 0_,26 RETURN ADDRESS TO VLINT_^1_%NUM 0_,27 TEMP. STORAGE_^1_%BZS CARBFO(4)_#2€€8-31 CARRIAGE CONTROL OUTPUT BUFF._^1_%BZS CARBFI(4)_#32-35 ECHO-BACK CARR. CONTROL BUFF._^1_%NUM 0_,36 TOTAL NO. OF CHARS. IN PRINT BUFF._^1_%NUM 0_,37 INITIAL I/P COUNTER (LCM-RCM)_^1_%NUM 0_,38 I/P DATA CHAR. (WITHOUT STATUS)_^1_%NUM 0_,39 O/P POINTER INTO PRINTER BUFF._^1_%NUM 0_,40 ECHO POINTER INTO PRINT BUFF._^1_%EJT_]_^1*_*R E S I D E N T_!C O R E_!D A T A_^1*_€€]_^1_%ENT LSTLOC_^1_%EXT BGNMON_^1_%SPC 1_^1LSTLOC ADC BGNMON_'BEGINNING LOCATION OF CORE RESIDENT SYSTEM_^1_%SPC 2_^1*_*C O R E_!A L L O C A T I O N_!D A T A_^1*_]_^1_%ENT CALTHD_'CORE ALLOCATOR THREAD_^1_%ENT LVLSTR_'LEVEL START ALLOCATION TABLE_^1_%EXT AREAC_(START OF ALLOCATABLE AREA_^1_%EXT LEND_)END OF ALLOCATABLE AREA_^1*_]_^1CALTHD ADC 0_,TOTAL AVAILABLE ALLOCATAB€€LE CORE_^1_%ADC AREAC_(START OF ALLOCATABLE AREA_^1*_]_^1LVLSTR ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 0_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 1_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 2_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 3_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 4_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LE€€VEL 5_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 6_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 7_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 8_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 9_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 10_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 11_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR L€€EVEL 12_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 13_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 14_^1_%ADC AREAC_(START OF ALLOCATABLE CORE FOR LEVEL 15_^1_%ADC LEND_)END OF ALLOCATABLE CORE_^1*_]_^1_%ENT N5,N6,N7,N8,N9,N10,N11,N12,N13,N14,N15_^1_%SPC 1_^1*_$NOTE - THE SIZE OF AREAS 1, 2, 3, AND 4 ARE SPECIFIED_^1*_-DURING SYSTEM INITIALIZATION_^1*_]_^1N5_#E€€QU_#N5()_%NUMBER OF CORE LOCATIONS FOR AREA 5_^1N6_#EQU_#N6()_%NUMBER OF CORE LOCATIONS FOR AREA 6_^1N7_#EQU_#N7()_%NUMBER OF CORE LOCATIONS FOR AREA 7_^1N8_#EQU_#N8()_%NUMBER OF CORE LOCATIONS FOR AREA 8_^1N9_#EQU_#N9()_%NUMBER OF CORE LOCATIONS FOR AREA 9_^1N10_"EQU_"N10()_%NUMBER OF CORE LOCATIONS FOR AREA 10_^1N11_"EQU_"N11()_%NUMBER OF CORE LOCATIONS FOR AREA 11_^1N12_"EQU_"N1€€2()_%NUMBER OF CORE LOCATIONS FOR AREA 12_^1N13_"EQU_"N13()_%NUMBER OF CORE LOCATIONS FOR AREA 13_^1N14_"EQU_"N14()_%NUMBER OF CORE LOCATIONS FOR AREA 14_^1N15_"EQU_"N15()_%NUMBER OF CORE LOCATIONS FOR AREA 15_^1_%EJT_]_^1*_*P A R T I T I O N_!C O R E_!D A T A_^1*_]_^1*_]_^1*_*THESE ENTRIES ALLOW PROPER SYSTEM LINKAGE IF PARTITIONED_^1*_*CORE IS NOT SELECTED._^1_%SPC 2_^1_%ENT TH€€DS,USE_^1_%ENT PARTBL,LSTPRT,PRTCDR,BUSY_^1_%ENT OUTPV4,RDPTV4,SPCEV4,PTNALC_^1_%ENT PTNREL,K65T10,K65T12,K65COR_^1_%SPC 2_^1_%EQU THDS($7FFF),USE($7FFF)_^1_%EQU PARTBL($7FFF),LSTPRT($0000),PRTCDR($7FFF),BUSY($7FFF)_^1_%EQU OUTPV4($7FFF),RDPTV4($7FFF),SPCEV4($7FFF),PTNALC($7FFF)_^1_%EQU PTNREL($7FFF),K65T10($7FFF),K65T12($7FFF),K65COR($7FFF)_^1_%EJT_]_^1*_*M I S C E L L A N€€ E O U S_!P R O G R A M S_^1*_]_^1*_*S Y S T E M_!I D L E_!L O O P_^1_%SPC 2_^1_%ENT IDLE_)BASIC SYSTEM IDLE LOOP_^1_%ENT IDLER_(SYSTEM IDLE SUBROUTINE_^1_%ENT INSTLU_'SYSTEM INSTALLATION L. U._^1_%ENT IDLCTR_'IDLE LOOP COUNTER_^1_%SPC 2_^1IDLE_!LDA* STRTUP_'IS THIS THE INITIAL IDLE ENTRY_^1_%SAN IDLE1_(NO_^1_%RTJ* STRTUP_'YES, PERFORM STARTUP FUNCTIONS_^1IDLE1 RTJ* IDLER_^€€1_%JMP* IDLE_^1IDLER NUM 0_^1_%IIN 0_,USED AT LEVEL -1 OR LEVEL 2_^1_%RAO* IDLCTR_^1_%EIN 0_^1_%JMP* (IDLER)_^1_%SPC 1_^1IDLCTR NUM 0_,IDLE LOOP COUNTER_^1_%SPC 2_^1_%EXT LIBEDT_'LIBRARY EDIT_^1_%EXT RELFLE_'SYSTEM CORE SWAP ROUTINE_^1_%EXT INPTV4_'JOB PROCESSOR STANDARD INPUT DEVICE_^1_%EQU INSTLU(6)_^1_%SPC 1_^1STRTUP NUM 0_^1_%LDQ- $EB_^1_%ADQ =XLIBEDT_$OBTAIN THE D€€IRECTORY ADDRESS OF LIBEDT_^1_%LDA- (ZERO),Q_$HAVE THE REQUEST PRIORITIES BEEN SET UP_^1_%SAN STRTP1_'YES_^1_%LDA =XINSTLU_^1_%STA+ INPTV4_'SET THE STD. INPUT TO THE INSTALLATION L.U._^1_%JMP* (STRTUP)_(AND EXIT_^1STRTP1 EQU STRTP1(*)_^1*_]_^1*_$NOTE:_!ANY ADDITIONAL SYSTEM STARTUP FUNCTIONS_^1*_-MAY BE ADDED HERE_^1*_]_^1_%RTJ- (AMONI)_%SCHEDULE RELFLE TO FORCE A SWAP_^1_%ADC €€$5203_^1_%ADC RELFLE_^1_%JMP* (STRTUP)_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!P R O G R A M S_^1*_]_^1*_*I N T E R R U P T_!R E S P O N S E_!F O R_!T I M E R_^1*_]_^1_%ENT TMRTYP,TMCODE TYPE OF SYSTEM TIME BASE_^1_%EXT TIMEUP_'TMINT INTERRUPT ENTRY_^1_%EQU X($7FFF)_$VALUE FOR UNSELECTED ENTRY POINTS_^1_%EQU TMCODE(8)_^1TMRTYP ADC TMCODE_'TIME BASE CODE_^1_%SPC 2_^1_%ENT €€FSTIME,DMICOD,TBLADR,EMPSRT,EMPSTP_^1DMICOD NUM $8008_^1TBLADR ADC CLKTBL_^1EMPSRT NUM $F3_^1EMPSTP NUM $F0_^1CLKTBL NUM $80F0_^1FSTIME NUM 0_^1_%NUM 5_^1_%NUM 0_^1_%SPC 1_^1TIMINT LDA* CLKTBL+1_^1_%INA 5_^1_%STA* CLKTBL+2_^1_%LDQ* EMPSRT_^1_%OUT TIMREJ-*_^1_%JMP TIMEUP_'EXIT TO TMINT_^1TIMREJ NOP 0_,TIMER REJECT_^1_%JMP- (ADISP)_%EXIT_^1_%SPC 2_^1*_*LINK ALL UNSELECT€€ED ENTRY POINTS_^1*_]_^1_%ENT E10336,O10336,F10336_^1_%ENT E1573,E1572F,E1572,O1572_^1_%ENT H15721,E15721,D15721,O15721,EQ3644_^1_%ENT E15761_^1_%EQU E1573(X),E1572F(X),E1572(X),O1572(X)_^1_%EQU E10336(X),O10336(X),F10336(X)_^1_%EQU H15721(X),E15721(X),D15721(X),O15721(X)_^1_%EQU EQ3644(X),E15761(X)_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!P R O G R A M S_^1*_]_^1*_*A / Q_€€!C H A N N E L_!A L L O C A T I O N_^1*_]_^1_%SPC 2_^1*_$DEVICES REQUIRING ALLOCATION_^1*_]_^1*_*1827-30/60_"LINE PRINTER_^1*_*1829-30/60_"CARD READER_^1*_*1811-1_'CONSOLE DISPLAY_^1_%SPC 2_^1_%ENT AQSTCK_'STACK FOR REQUESTS_^1_%ENT AQSSIZ_'STACK SIZE_^1_%SPC 2_^1_%EQU NUMAQ(3)_$QUANTITY OF ALLOCATION DEVICES_^1_%SPC 2_^1AQSTCK BZS AQSTCK(3*NUMAQ-3)_^1AQSSIZ ADC NUMAQ*3-3_€€^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!I N F O R M A T I O N_^1*_]_^1*_*M A S S_!R E S I D E N T_!D R I V E R S_!B U F F E R_^1*_]_^1*_*THIS BUFFER WILL CONTAIN THE MASS RESIDENT DRIVER(S)_^1*_*WHEN THEY ARE IN CORE._!THE SMALLEST ALLOWABLE SIZE IS_^1*_*EQUAL TO THE LARGEST MASS RESIDENT DRIVER IN THE SYSTEM._^1*_*OPTIMUM THROUGHPUT REQUIRES SIZING EQUAL TO THE TWO_^1*_*LARGEST €€MASS RESIDENT DRIVERS IN THE SYSTEM._^1_%SPC 2_^1_%ENT BUFF,BUFFE_^1_%EQU MBFSZ($096A)_^1_%SPC 2_^1BUFF_!BZS BUFF(MBFSZ)_^1_%EQU BUFFE(*)_^1_%SPC 2_^1*_*C O M M O N_!G H O S T_!I N T E R R U P T_!R O U T I N E_^1_%SPC 1_^1_%ENT CGHOST_^1_%SPC 1_^1CGHOST NOP 0_^1_%JMP- (ADISP)_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!I N F O R M A T I O N_^1_%SPC 4_^1*_$THESE ENTRIES AL€€LOW PROPER SYSTEM LINKAGE_^1_%SPC 2_^1_%ENT E17811,F17811_^1E17811 NUM $7FFF_^1F17811 NUM $7FFF_^1_%SPC 3_^1*_$THIS ENTRY IS PROVIDED TO LINK THE TIMESHARE PROTECT INTERRUPT_^1*_$PROCESSOR ENTRY POINT_^1_%SPC 1_^1_%ENT TSIPRC_^1_%SPC 1_^1_%EQU TSIPRC($7FFF)_^1_%SPC 3_^1*_$THIS ENTRY IS PROVIDED TO LINK THE SCMM ENTRY POINTS_^1_%SPC 1_^1_%ENT SCMM17,SCMMLC_^1_%SPC 1_^1_€€%EQU SCMM17($7FFF)_^1_%EQU SCMMLC($7FFF)_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!I N F O R M A T I O N_^1*_]_^1*_*T I M E / D A T E_!P A R A M E T E R_!S T O R A G E_^1*_]_^1_%SPC 3_^1_%ENT AYERTO_'CURRENT YEAR_!(ASCII)_^1_%ENT AMONTO_'CURRENT MONTH (ASCII)_^1_%ENT ADAYTO_'CURRENT DAY_"(ASCII)_^1_%ENT YERTO_(CURRENT YEAR_!(INTEGER)_^1_%ENT MONTO_(CURRENT MONTH (INTEGER)€€_^1_%ENT DAYTO_(CURRENT DAY_"(INTEGER)_^1_%ENT HORTO_(CURRENT HOUR_!(INTEGER)_^1_%ENT MINTO_(CURRENT MINUTE (INTEGER)_^1_%ENT SECON_(CURRENT SECOND (INTEGER)_^1_%ENT CONTA_(CURRENT COUNT (INTEGER)_^1_%ENT HORMIN_'CURRENT 24-HOUR TIME_^1_%ENT TOTMIN_'CURRENT DAY ELAPSED MINUTES_^1_%SPC 3_^1AYERTO NUM 0_,00 CURRENT YEAR_!(ASCII)_^1AMONTO NUM 0_,01 CURRENT MONTH (ASCII)_€€^1ADAYTO NUM 0_,02 CURRENT DAY_"(ASCII)_^1YERTO NUM 0_,03 CURRENT YEAR_!(INTEGER)_^1MONTO NUM 0_,04 CURRENT MONTH (INTEGER)_^1DAYTO NUM 0_,05 CURRENT DAY_"(INTEGER)_^1HORTO NUM 0_,06 CURRENT HOUR_!(INTEGER)_^1MINTO NUM 0_,07 CURRENT MINUTE (INTEGER)_^1SECON NUM 0_,08 CURRENT SECOND (INTEGER)_^1CONTA NUM 0_,09 CURRENT COUNT (INTEGER)_^1HORMIN NUM 0_,10 CUR€€RENT 24-HOUR TIME_^1TOTMIN NUM 0_,11 CURRENT DAY ELAPSED MINUTES_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!I N F O R M A T I O N_^1*_]_^1*_*S Y S T E M_!T I M E R_!P A R A M E T E R S_^1_%SPC 4_^1_%ENT TIMCPS_'BASIC SYSTEM CLOCK FREQUENCY_^1_%SPC 1_^1TIMCPS EQU TIMCPS(60)_"TIMER CYCLES PER SECOND_^1_%SPC 4_^1_%ENT TIMEC_(TIMER CYCLES PER 1/10 SECOND MINUS 1_^1_%SPC 1_^1TIM€€EC EQU TIMEC(TIMCPS/10-1)_^1_%SPC 4_^1_%ENT TODLVL_'TIME OF DAY(TOD) PROGRAM REQ. CODE + PRIORITY_^1_%SPC 1_^1TODLVL EQU TODLVL($5006) D-BIT = 1, REQUEST CODE 8, PRIORITY 6_^1_%SPC 4_^1_%ENT NSCHED_'MAX. NO. OF COMPLETIONS PER TIMER INTERVAL_^1_%SPC 1_^1NSCHED NUM 5_,MAXIMUM 5 COMPLETIONS PER INTERVAL_^1_%SPC 4_^1_%ENT TMRLVL_'DIAGNOSTIC TIMER PRIORITY LEVEL_^1_%SPC 1_€€^1TMRLVL EQU TMRLVL(13)_"LEVEL 13_^1_%EJT_]_^1*_$M I S C E L L A N E O U S_!I N F O R M A T I O N_^1*_]_^1*_$S Y S T E M_!P R O G R A M_!O V E R L A Y_!S I Z E S_^1_%SPC 2_^1_%ENT LSIZV4_'INITIAL OVERLAY SIZE OF LIBEDT_^1_%ENT PSIZV4_'SIZE OF AREA 3_^1_%ENT ODBSIZ_'INITIAL OVERLAY SIZE OF ODEBUG_^1_%SPC 4_^1_%EQU LSIZV4($4B8) INITIAL OVERLAY SIZE OF LIBEDT_^1_%EQU PSIZV4($€€4F1) SIZE OF AREA 3_^1_%EQU ODBSIZ($369) INITIAL OVERLAY SIZE OF ODEBUG_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!I N F O R M A T I O N_^1*_]_^1*_*O N_!L I N E_!D E B U G_!I N C O R E_!F L A G_^1*_]_^1_%ENT CHRSFG_^1_%SPC 2_^1CHRSFG NUM 0_,NON-ZERO IF ODEBUG RUNNING_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!I N F O R M A T I O N_^1*_]_^1*_*S Y S T E M_!C H E C K O U T_!P A R €€A M E T E R S_^1_%SPC 4_^1*_$THE STARTING SECTOR OF THE FAILED CORE IMAGE IS SPECIFIED BY_^1*_$THE NAME COBOPS. THIS AREA MUST BE SIZED TO ACCOMODATE A_^1*_$FAILED IMAGE OF THE SIZE SPECIFIED BY NAME MSIZV4. THE FAILED_^1*_$IMAGE MUST RESIDE ON THE LIBRARY MASS MEMORY UNIT. IF THE_^1*_$MASS MEMORY LIBRARY UNIT IS A CARTRIDGE DISK, THE IMAGE AREA_^1*_$CANNOT OVERLAP FROM ONE PLA€€TTER TO THE OTHER._^1_%SPC 2_^1_%ENT COBOPS_^1COBOPS EQU COBOPS($2500) START SECTOR OF FAILED IMAGE_^1_%EJT_]_^1*_$M I SC E L L A N E O U S I N F O R M A T I O N_^1*_$F I L E M A N A G E R D A T A_^1*_]_^1*_]_^1*_$THESE ENTRIES ALLOW PROPER SYSTEM LINKAGE_^1*_$IF THE FILE MANAGER IS NOT SELECTED_^1*_]_^1_%ENT FSLIST,FMPFLG_^1_%ENT ADRFMS,NUMFS0_^1_%EQU FSLIST($7FFF),FMPFLG€€($7FFF)_^1_%EQU ADRFMS($7FFF),NUMFS0($7FFF)_^1_%ENT BEGLU1,NUMFS1_^1_%EQU BEGLU1($7FFF),NUMFS1($7FFF)_^1_%ENT BEGLU2,NUMFS2_^1_%EQU BEGLU2($7FFF),NUMFS2($7FFF)_^1_%ENT BEGLU3,NUMFS3_^1_%EQU BEGLU3($7FFF),NUMFS3($7FFF)_^1_%ENT BEGLU4,NUMFS4_^1_%EQU BEGLU4($7FFF),NUMFS4($7FFF)_^1_%ENT BEGLU5,NUMFS5_^1_%EQU BEGLU5($7FFF),NUMFS5($7FFF)_^1_%ENT BEGLU6,NUMFS6_^1_%EQU BEGLU6(€€$7FFF),NUMFS6($7FFF)_^1_%ENT BEGLU7,NUMFS7_^1_%EQU BEGLU7($7FFF),NUMFS7($7FFF)_^1_%ENT BEGLU8,NUMFS8_^1_%EQU BEGLU8($7FFF),NUMFS8($7FFF)_^1_%EJT_]_^1*_*M I S C E L L A N E O U S_!I N F O R M A T I O N_^1*_]_^1*_*J O B_!P R O C E S S O R_!F I L E_!P A R A M E T E R S_^1*_]_^1_%SPC 3_^1_%ENT JLLUV4_'LOGICAL UNIT OF JOB PROCESSOR FILES_^1_%ENT JBFLV4_'NUMBER OF JOB PROCESSOR FI€€LES_^1_%ENT FBASV4_'FIRST FILE NUMBER USED BY JOB PROCESSOR_^1_%ENT PKEYV4_'JOB FILE PURGE KEY_^1_%ENT RELFIL_'FILE RELEASE PROCESSOR (DUMMY)_'********_^1_%SPC 3_^1JLLUV4 ADC LBUNIT_'LOGICAL UNIT OF JOB PROCESSOR FILES_^1_%SPC 2_^1_%EQU JBFLV4(0)_$NUMBER OF JOB PROCESSOR FILES_^1_%SPC 1_^1*_]_^1*_$NOTE - FILES $7FFD THRU $7FFF ARE RESERVED FOR THE MSOS_^1*_,VERIFICATION TEST€€S, FILES $7FF5 THRU $7FFC ARE_^1*_,RESERVED FOR FOREGROUND PSEUDO TAPES, FILES $7FF3_^1*_,THRU $7FF4 ARE RESERVED FOR THE TEXT EDITOR, AND_^1*_,FILES $7F2B THRU $7FF2 ARE RESERVED FOR RPGII._^1_%SPC 2_^1_%EQU FBASV4($7FFF)_^1_%EQU PKEYV4($7FFF)_^1_%EQU RELFIL($7FFF)_F********_^1_%EJT_]_^1*_*P R E S E T_!R E G I O N_^1*_]_^1*_*PRESET PROTECTED ENTRY POINTS FOR USE BY UNPROTECTED€€ PGMS_^1*_]_^1APRSET EQU APRSET(*)_^1_%ENT JPRET_^1_%SPC 2_^1*_*J O B_!P R O C E S S O R_!P R E S E T_^1_%SPC 2_^1_%EXT JPRETN_^1_%ALF 3,JPRETN_^1JPRET ADC JPRETN_'JOB PROCESSOR RETURN_^1*_]_^1_%SPC 2_^1*_*S N A P_!D U M P_!P R E S E T_^1_%SPC 2_^1_%EXT SNAPOL_^1_%ALF 3,SNAPOL_^1_%ADC SNAPOL_'REGISTER SNAPSHOT_^1*_]_^1_%SPC 1_^1LPRSET EQU LPRSET(*-APRSET)_^1_%SPC 10€_^1*_*S Y S T E M_!L I B R A R Y_!D I R E C T O R Y_^1*_]_^1*_8COMPILED FROM *Y, *YM BY SYSTEM INITIALIZER_^1SLDIRY EQU SLDIRY(*)_^1_%END_]_^__PCYBTBL CSY/ P€1_%NAM CYBTBL_'DECK-ID A02 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_%SPC 2_^1****************************************************************_^1*_$E X T E R N A L S_F*_^1*_]*_^1****************************************************************€€_^1_%SPC 2_^1_%EXT STDINP_'VALIDATE MAG. TAPE_^1_%SPC 2_^1****************************************************************_^1*_*C O M M U N I C A T I O N R E G I O N_,*_^1*_]*_^1*_$CYBERDATA SYSTEM STATUS TABLE_:*_^1****************************************************************_^1_%SPC 2_^1_%ORG $47_^1EXTSST ADC EST_*EXTENDED STATUS TABLE_^1SLOCK ADC 0_,SYSTEM LOCKS_^1TM€€FCT ADC TIMEF_(TIME IN CORE MULTIPLICATION FACTOR_^1PRDA_!ADC 0_,PROGRAM DIRECTORY (CORE)_^1TOP480 NUM $FFFF_(TOP OF THREAD FOR 480_^1TOP752 NUM $FFFF_(TOP OF THREAD FOR 752_^1FRPLL ADC 0_,DYNAMIC_1: LOWER_^1FRPUL ADC 0_,FORMAT,RECORD,PROGRAMS_!: UPPER_^1FRPP_!ADC 0_,BUFFER POINTERS_): CURRENT_^1MTLU_!ADC STDINP_'VALIDATE MAG. TAPE_^1ATTB_!ADC 0_,ATT BASE ADDRESS_^1CATT€€_!ADC 0_,CURRENT ATT ADDRESS_^1CFFA_!ADC 0_,CURRENT FORMAT FIELD_^1IRPF_!ADC 0_,INCREASE 'RP' FLAG_^1IBL_"ADC INPBL_(INPUT BUFFER LENGTH (WORDS/TERMINAL)_^1TIQ_"ADC 0_,TERMINAL INPUT QUEUE BASE_^1CLOCKM ADC 0_,START UP TIME MINUTES_^1CLOCKS ADC 0_,ACCUMULATED RUNTIME SECONDS_^1NTRVAL ADC 0_,INTERVAL COUNT_^1ATTLNG ADC ATTL_)ATT LENGTH_^1STEMP BZS STEMP(4)_$COMMON TEMPORA€€RY_^1_%SPC 2_^1AVLOS ADC VLOS_)$5F POINTER TO VLOS_^1_%ENT PRTACT_^1PRTACT NUM $FFFF_(TOP OF THREAD MATRIX PTR -0=NOT ACTIVE_^1_%EJT_]_^1*******************************************************************_^1* C Y B E R D A T A S U B R O U T I N E_!E N T R Y P O I N T S *_^1*******************************************************************_^1_%SPC 2_^1_%ORG $8B_^1_%ADC T€€RACE_($8B TRACE / DUMP_^1_%EXT TRACE_^1_%ADC MONITR_'$8C MONITOR_^1_%EXT MONITR_^1_%ADC CDATA_($8D CRT DRIVER_^1_%EXT CDATA_^1_%ADC ENDSR_($8E ENTER DISPLAY SUBROUTINE_^1_%EXT ENDSR_^1_%ADC EXDSR_($8F EXIT DISPLAY SUBROUTINE_^1_%EXT EXDSR_^1_%ADC CLCDWA_'$90 CALCULATE WORD ADDRESSING_^1_%EXT CLCDWA_^1_%ADC ENTSR_($91 SAVE ENTRYY POINT : LIFO_^1_%EXT ENTSR_^1_%AD€€C EXTSR_($92 EXIT SUBROUTINE : STACK_^1_%EXT EXTSR_^1_%ADC CLRSR_($93_2: ENTRY POINTS_^1_%EXT CLRSR_^1_%ADC GBYTE_($94 GET CH OF TRB_^1_%EXT GBYTE_^1_%ADC SBYTE_($95 STORE CH IN TRB_^1_%EXT SBYTE_^1_%ADC ERROR_($96 DISPLAY TERMINAL ERROR_^1_%EXT ERROR_^1_%ADC SUPRW_($97 SUPERVISOR R/W_^1_%EXT SUPRW_^1_%ADC RTNSR_($98 RETURN EXIT ADDR. FROM STACK_^1_%EXT RTNSR€€_^1_%ADC GETBIN_'$99 GET NUMBER OF INPUT STRING_^1_%EXT GETBIN_^1_%ADC TAPIO_($9A MAG-TAPE I/O_^1_%EXT TAPIO_^1_%ADC GETALP_'$9B GET ALPHA_^1_%EXT GETALP_^1_%ADC GETCOM_'$9C GET COMMA_^1_%EXT GETCOM_^1_%ADC GFCORE_'$9D GET FORMAT_^1_%EXT GFCORE_^1_%ADC ENTPRG_'$9E ENTER DISK RESIDENT FUNCTION_^1_%EXT ENTPRG_^1_%EJT_]_^1_%ADC EXDFUN_'$9F EXIT DISK RESIDENT FUNCTI€€ON_^1_%EXT EXDFUN_^1_%ADC DISPLY_'$A0 DISPLAY_^1_%EXT DISPLY_^1_%ADC SPILL_($A1 SCAN ABT_^1_%EXT SPILL_^1_%ADC GETSTR_'$A2 GET STRING (READ TERMINAL)_^1_%EXT GETSTR_^1_%ADC WRITEC_'$A3 WRITE CURRENT RECORD_^1_%EXT WRITEC_^1_%ADC REWRIT_'$A4 RE-WRITE CURRENT RECORD_^1_%EXT REWRIT_^1_%ADC READP_($A5 READ PREVIOUS RECORD_^1_%EXT READP_^1_%ADC READN_($A6 READ NEXXT€€ RECORD_^1_%EXT READN_^1_%ADC REDSEC_'$A7 READ SECTOR ADDRESSING_^1_%EXT REDSEC_^1_%ADC WRTSEC_'$A8 WRITE SECTOR ADDRESSING_^1_%EXT WRTSEC_^1_%ADC REDWRD_'$A9 READ WORD ADDRESSING_^1_%EXT REDWRD_^1_%ADC WRTWRD_'$AA WRITE WORD ADDRESSING_^1_%EXT WRTWRD_^1_%ADC GTBY_)$AB GET BYTE FOR OCG 07*C1402_^1_%EXT GTBY_^1_%ADC WRTATT_'$AC WRITE ATT_^1_%EXT WRTATT_^1_%ADC R€€ELFOR_'$AD RELEASE FORMAT_^1_%EXT RELFOR_^1_%ADC CAM_*$AE CORE ALLOCATION MODULE_^1_%EXT CAM_^1_%ADC STRTRY_'$AF SCHEDULE RETRY ADDR._^1_%EXT STRTRY_^1_%ADC WAIT_)$B0 WAIT FUNCTION_^1_%EXT WAIT_^1_%ADC SV_+$B1 SUPERVISOR ENTRY_^1_%EXT SV_^1_%ADC REJSUP_'$B2 SUPERVISOR ERROR EXIT_^1_%EXT REJSUP_^1_%EJT_]_^1_%ORG*_^1*_$C Y B E R D A T A C O N F I G U R A T I O N E €€Q U A T E S_^1*_]_^1_%ENT TIMEF,INPBL,ATTL_^1_%SPC 2_^1_%EQU MOC(127)_$MAX. OWN CODE NUMBERS_^1_%EQU MAXFOR(8000) MAX. FORMAT NUMBERS_^1_%EQU MAXREC(1000) MAX. RECORD LENGTH_^1_%EQU TIMEF(1*16)_!TIME IN CORE MULTIPLICATION FACTOR_^1_%EQU INPCH(14)_#NUMBER OF CHARACTERS IN INPUT STACK_^1_%EQU INPC1(INPCH+1)_^1_%EQU INPBL(INPC1/2+1)_^1_%EQU ATTL(96)_$ATT LENGTH_^1_%EQU S€€IABTS(2)_#NUMBER OF SECTORS ABT_^1_%EQU SIABTW(SIABTS*96)_^1_%ENT SIABTS,SIABTW_^1_%SPC 2_^1*_$COMMUNICATION SET EQUIPMENT CODES_^1_%SPC 2_^1_%EQU ECS1(10)_$EQUIPMENT CODE COMMUNICATION SET 1_^1_%EQU ECS2(10)_$EQUIPMENT CODE COMMUNICATIONS SET 2_^0_%EQU ECS3(9)_%EQUIPMENT CODE COMMUNICATIONS SET 3_^0_%EQU ECS4(9)_%EQUIPMENT CODE COMMUNICATIONS SET 4_^1_%EQU ECS5()_'EQUIPME€€NT CODE COMMUNICATION SET 5_^1_%EQU ECS6()_'EQUIPMENT CODE COMMUNICATION SET 6_^1_%EQU ECS7()_'EQUIPMENT CODE COMMUNICATION SET 7_^1_%EQU ECS8()_'EQUIPMENT CODE COMMUNICATION SET 8_^1_%SPC 2_^1*_$COMMUNICATION SET UNIT CODES_^1_%SPC 1_^1_%EQU UC1(0)_'UNIT CODE COMMUNICATION SET 1_^1_%EQU UC2(1)_'UNIT CODE COMMUNICATIONS SET 2_^1_%EQU UC3(0)_'UNIT CODE COMMUNICATIONS SET 3_^€€1_%EQU UC4(1)_'UNIT CODE COMMUNICATIONS SET 4_^1_%EQU UC5()_(UNIT CODE COMMUNICATION SET 5_^1_%EQU UC6()_(UNIT CODE COMMUNICATION SET 6_^1_%EQU UC7()_(UNIT CODE COMMUNICATION SET 7_^1_%EQU UC8()_(UNIT CODE COMMUNICATION SET 8_^1_%SPC 2_^1*_$TIMER INFORMATION_^1_%SPC 2_^1_%ENT CSRATE_^1_%EQU CSRATE(600)_!INTERRUPTS PER SECOND FROM COMM SET 1_^1_%EJT_]_^1*_]_^1*_$C Y B E R D€€ A T A S Y S T E M E Q U A T E S_^1*_]_^1_%SPC 1_^1*_$SYSTEM MASS MEMORY DEVICES_^1_%SPC 1_^1*_$UNIT 1 (LIBRARY UNIT)_^1_%SPC 1_^1_%EQU LUD1(8)_%LOGICAL UNIT DISK 1_^1_%EQU CYL1(1)_%TRT1 LENGTH CALC BY VLSTRT_^1_%SPC 2_^1*_$UNITS 2,3,4_^1_%EQU LUD2(17)_^1_%EQU LUD3(18)_^1_%EQU LUD4(19)_^1_%EQU CYL2($7F)_#LENGTH OF TRT2_^1_%EQU CYL3($7F)_#LENGTH OF TRT3_^1_%EQU CYL4($€€7F)_#LENGTH OF TRT4_^1_%EJT_]_^1*_]_^1*_$C Y B E R D A T A E X T E N D E D S T A T U S T A B L E_^1*_]_^1_%ENT EST_^1EST_"VFD X8/CYL1,X8/CYL2_'00 TRT LENGTH DISK 1 AND 2_^1_%VFD X8/CYL3,X8/CYL4_'01 TRT LENGTH DISK 1 AND 2_^1ACWT_!ADC 0_502 CDV WEIGHTS TABLE (CORE)_^1CDVSPT ADC 0_503 MAX CDV TEST SPECIAL TEST_^1MAXOC VFD X8/MOC,X8/0_+04 MAX OWN-CODE NUMBER_^1SFDA_!ADC€€ SISTDA_005 STATISTICS FILE DISK ADDRESS_^1_%EXT SISTDA_^1ESSF_!ADC SISTDE_006 STATISTICS FILE END_^1_%EXT SISTDE_^1RCSSF ADC 0_507 STATISTICS FILE RECORD COUNT_^1LJDDA ADC SILJD_108 LEGAL JOB DIRCTRY DISK ADDR_^1_%EXT SILJD_^1LDDDA ADC SILDD_109 LEGAL DOC DIRCTRY DISK ADDR_^1_%EXT SILDD_^1PRDDA ADC SIPRD_110 PROGRAM DIRCTRY DISK ADDR_^1_%EXT SIPRD_^1ATRT1 ADC€€ 0_511 TRT OF DISK 1 CORE ADDRESS_^1ATRT2 ADC 0_512 TRT OF DISK 2 CORE ADDRESS_^1ATRT3 ADC 0_513 TRT OF DISK 3 CORE ADDRESS_^1ATRT4 ADC 0_514 TRT OF DISK 4 CORE ADDRESS_^1FBA_"ADC 0_515 FBA POINTER CORE ADDRESS_^1ASRCHB ADC 0_516 SEARCH BUFFER POINTER_^1_%ADC SIDTR1_017 TRT1 DISK ADDRESS_^1_%EXT SIDTR1_^1_%ADC SIDTR2_018 TRT2 DISK ADDRESS_^1_%EXT SIDTR2_^1_%ADC€€ SIDTR3_019 TRT3 DISK ADDRESS_^1_%EXT SIDTR3_^1_%ADC SIDTR4_020 TRT4 DISK ADDRESS_^1_%EXT SIDTR4_^1_%ADC SIDCWT_021 CDV WEIGHTS DISK ADDRESS_^1_%EXT SIDCWT_^1ABTADR ADC 0_522 ACTIVE BATCH TABLE (CORE)_^1SPIL_!ADC SISPIL_023 DISK SPIL3 TABLE_^1_%EXT SISPIL_^1MAXFMT ADC MAXFOR_024 MAX FORMAT NUMBERS_^1LUND1 ADC LUD1_225 LU OF V-DISK 1 (SYSTEM LIBRARY)_^1LUND2 ADC €€ LUD2_226 LU OF V-DISK 2 (SYSTEM LIBRARY)_^1LUND3 ADC LUD3_227 LU OF V-DISK 3 (SYSTEM LIBRARY)_^1LUND4 ADC LUD4_228 LU OF V-DISK 4 (SYSTEM LIBRARY)_^0_%EXT DSKSEL_^0DSKSTS ADC DSKSEL_029 DISK STATUS FLAG_^1_%EJT_]_^1WES1_!ADC ECS1*$80+UC1*$40 COMM SET 1, TERMINALS 01-08_^1WES2_!ADC ECS2*$80+UC2*$40 COMM SET 2, TERMINALS 09-16_^1WES3_!ADC ECS3*$80+UC3*$40 COMM SET 3,€€ TERMINALS 17-24_^1WES4_!ADC ECS4*$80+UC4*$40 COMM SET 4, TERMINALS 25-32_^1WES5_!ADC ECS5*$80+UC5*$40 COMM SET 5, TERMINALS 33-40_^1WES6_!ADC ECS6*$80+UC6*$40 COMM SET 6, TERMINALS 41-48_^1WES7_!ADC ECS7*$80+UC7*$40 COMM SET 7, TERMINALS 49-56_^1WES8_!ADC ECS8*$80+UC8*$40 COMM SET 8, TERMINALS 57-63_^1MAXRL ADC MAXREC_'38 MAX RECORD LENGTH_^1LFDDA ADC SILFD_(39 LEG€€AL FORMAT DIRECTORY DISK ADDR_^1_%EXT SILFD_^1JDATE ADC 0_,40 JULIAN DATE_^1TTBDA ADC SITYPE_'41 TERMINAL TYPE TBL 'TTB' DISK ADDR_^1_%EXT SITYPE_^1_%EXT SIDMTF_^1MTFDA ADC SIDMTF_'42 MTF DISK ADDRESS_^1LOOKBF ADC 0_,43 LOOKUP BUFFER POINTER_^1_%EJT_]_^1*_]_^1*_$C Y B E R D A T A A C T I V A T I O N I N F O_^1*_]_^1_%ENT VLOS_^1VLOS_!NUM -1_+CYBERDATA ACTIVE FLAG_€€^1*_8MODIFIED BY VLOS COMMAND_^1*_8VLOS.LT.0 = CYBERDATA DISACTIVATED_^1*_D'NONE'_^1*_8VLOS.EQ.0 = CYBERDATA STD START UP_^1*_D'STD'_^1*_8VLOS.GT.0 = CYBERDATA MODIFIED START UP_^1*_D(AREA 5 CALCULATED AS_^1*_DFUNCTION OF BG AREA)_^1*_D'BCKG'_^1*_]_^1MIBVL BZS MIBVL_(CYBERDATA ACTIVE FLAG_^1_%ENT MIBVL_^1*_]_^1*_$CORE LEFTOVER FOR DEBUG, BISYNC, SYSCOP, ETC. USE_^1*_$CYBERDATA D€€OES NOT USE THIS AREA_^1_%ENT LFTOVR_^1_%EQU ODBSIZ($369)_^1LFTOVR ADC ODBSIZ+$10_^1*_]_^1_%ENT BGCORE_^1BGCORE NUM $F00_)AMOUNT OF CORE REQUESTED_^1*_8FOR BACKGROUND OPERATION_^1*_8MODIFIED BY BGOP_^1*_8'XXXX'_^1*_]_^1_%ENT VLBCKG_^1VLBCKG NUM -1_+CYBERDATA/BACKGROUND FLAG DEFAULT NONE_^1*_8VLBCKG.LT.0 = NO BACKGROUND. (I.E ALL_^1*_8AVAILABLE CORE WILL BE TAKEN_^1*_8FOR CY€€BERDATA_^1*_8'XXXX,NONE'_^1*_8VLBCKG.EQ.0 = BACKGROUND OPERATION IF_^1*_8POSSIBLE.(I.E. AREA LEFT BY_^1*_8CYBERDATA WILL BE SET FOR_^1*_8BACKGROUND)_^1*_8'XXXX,RQST'_^1*_8VLBCKG.GT.0 = BACKGROUND OPERATION IS A_^1*_8MUST. (I.E. CYBERDATA OPERATION WILL_^1*_8NOT START IF AVAILABLE CORE_^1*_8JP AREA 3 IS NOT SUFFICIENT_^1*_8'XXXX,MUST'_^1_%EJT_]_^1_%ENT TOTAVL_^1TOTAVL BZS TOTAVL_'€€TOTAL AVAILABLE CORE FOR CYBERDATA_^1*_8TOTAVL = ALL CORE FOR ALL LEVELS_^1*_8BELOW CYBERDATA LEVEL. (INCLUDING UNPROT.)_^1*_8NOTE:1. VALUE SET BY RESTART_^1*_@AN AREA IS ALWAYS LEFT OVER_^1*_@FOR DEBUG AND SYSCOP USE._^1_%ENT VLA5S_^1_%EXT VLASTD_^1VLA5S ADC VLASTD_'AMOUNT OF MEMORY FOR AREA 5, WHEN_^1*_8WHEN CYBERDATA STANDARD OPT IS SELECTED_^1*_$NOTE: VLASTD MUST BE SET AT€ INSTALLATION TIME_^1*_]_^1_%ENT VLA5_^1VLA5_!NUM 0_,CURRENT LENGTH OF AREA 5 AS SELECTED_^1*_8BY START UP PROCEDURE (RESTART)_^1_%EXT VLILIN_^1_%ENT VLXXX_^1VLXXX ADC VLILIN_'CYBERDATA INTERRUPT LINE NO. SET BY *S AND_^1*_8MODIFIED BY SPACE IF SCP SYSTEM._^1_%END_]_^__ PSLS CSY/ P€1_%NAM SLS_*DECK-ID M27 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_%SPC 2_^1* SLS IS A SUPERVISOR FUNCTION THAT INTERPRETS THE SCREEN LAYOUT_^1* SPECIFICATIONS AND CONSTRUCTS PARAMETERS AND TABLES WHICH_^1* BECOME PART OF THE FORMAT TABLE. €€ IT ALLOWS THE CYBERDATA_^1* USER TO SPECIFY IN WHICH WAY THE DATA IN EITHER ENTRY OR_^1* VERIFY/READ MODE IS TO BE DISPLAYED ON THE DATA ENTRY TERMINAL._^1*_]_^1*_!THIS ROUTINE IS AN OVERLAY TO 'EFM' ROUTINE._^1_%EXT SETMOV_^1_%EXT SETDIS_^1_%EXT CCKEND_^1_%EXT G1TRT_^1_%EXT PRTMSG_^1_%EXT RELTRT_^1*_]_^1*_!SYSTEM EQUATES_^1*_]_^1*_$SUPERVISOR COMMUNICATIONS AREA_^1_%EQU €€SUPCOM(36)_"SUP COMM AREA BASE_^1_%EQU SUPINP(SUPCOM) SUP INPUT UNIT_^1_%EQU SUPLST(SUPCOM+1) SUP LIST UNIT_^1_%EQU BSCINP(SUPCOM+3) SUP BASIC INPUT UNIT_^1_%EQU SC(SUPCOM)_^1_%EQU CALRPI(SC+6) CALLER'S PROGRAM INDEX_^1_%EQU NWORDS(SC+7) NUMBER WORDS IN FORMST (READ SECTOR)_^1_%EQU BFR(SC+8)_#BUFFER ADDRESS IN CORE (READ SECTOR)_^1_%EQU CORE(SC+9)_"AMOUNT OF CORE REQUIRED€€_^1_%EQU FMTBAS(SC+10) BASE ADDR OF FORMAT (ABSL)_^1_%EQU FMTPNT(SC+13) CURRENT FORMAT POINTER_^1_%EQU FMTTRK(SC+15) SECTOR NO. OF NEW FORMAT_^1_%EQU ERCODE(SC+16) ERROR CODE LOCATION_^1_%EQU NOCOPY(SC+17) ZERO - COPY OLD SLS OKAY_^1_%EQU FMTNO(SC+18) FORMAT NUMBER BIT 15 SET = REVISE FMT_^1_%EQU LINENO(SC+19) CURRENT CRT LINE NUMBER FOR SLS_^1_%EQU FIELDS(SC+20) NUMBER O€€F FIELDS IN NEW FORMAT_^1_%EQU FMTLNG(SC+22) LENGTH OF NEW FORMAT INCLUDING SLS_^1_%EQU INTPOS(SC+24) POINTER IN INTERROGATE BUFFER_^1_%EQU SLSCW(SC+25) SLS CONTROL WORD RELATIVE ADDRESS_^1_%EQU FLDCNT(SC+26) NUMBER OF FIELDS PROCESSED_^1*_]_^1*_*EQUATES FOR FORMAT EXTENSION IN SUPERVISOR_^1*_*COMMUNICATIONS AREA_^1_%EQU OCGTRK(SC+15)_^1_%EQU OCGP(SC+23)_^1_%EQU PSCNT(SC+24€€)_^1_%EQU OCGLS(SC+21)_^1*_]_^1*_$ATT EQUATES_^1_%EQU ATEMP(73)_#TEMPORARY LOCATIONS (5)_^1_%EQU AINT(27),TRMNT($17)_^1_%EQU FMTNMB(13)_^1_%EQU PFBA(7)_^1*_]_^1*_]_^1*_$CONSTANTS_^1_%EQU Y($59),N($4E)_^1_%EQU TEN($46)_^1_%EQU ZERO($22),ONEBIT($23),LPMASK(2),NZERO($12),ZROBIT($33)_^1_%EQU FW(3),FR(2),MOT(5)_^1_%EQU MAXNT(100)_"NUMBER OF RETRIES FOR CORE REQUEST_^1*_$SST EQ€€UATES_^1_%EQU SST($47),STEMP(20)_^1*_]_^1*_]_^1*_$TRANSFER VECTOR_^1_%EQU ENTSR($91),EXTSR($92)_^1_%EQU SUPRW($97)_^1_%EQU RTNSR($98)_^1_%EQU GETALP($9B)_^1_%EQU GETCOM($9C)_^1_%EQU ENTPRG($9E)_^1_%EQU EXDFUN($9F)_^1_%EQU REDSEC($A7)_^1_%EQU WRTSEC($A8)_^1_%EQU CAM($AE)_^1_%EQU WAIT($B0)_^1_%EQU DISPLY($A0)_^1_%EQU RELFOR($AD)_^1_%EQU REJSUP($B2)_^1*_]_^1*_]_^1_%EJT_€€]_^1HDR_"VFD N1/1,N1/1,N3/0,X11/ENDSLS-*_^1_%NUM 1,0,0_^1_%ADC SLS-HDR_^1*_]_^1SLS_"CLR A_^1_%STA- FLDCNT,I_^1_%STA- NOCOPY,I_^1_%STA- LINENO,I_^1_%STA- INTPOS,I_$SET INTERROGATE POINTER_^1_%RTJ* REDISP_^1_%RTJ RDFMT_(GO GET FORMAT INTO CORE_^1*_]_^1_%LDA- FMTPNT,I_$GET POINTER TO FIRST SLS ENTRY_^1_%INA -1_^1_%STA- SLSCW,I_%POINTS TO SLS CONTROL WORD (REL)_^1_%LDA- FMTNO,I_%€€CHECK IF NEW FORMAT_^1_%SAM REV_*NO_^1_%ENA -1_+YES_^1_%JMP* ANAL_^1REV_"LDQ- FMTBAS,I_$DID OLD FORMAT HAVE SLS_^1_%LDA- 3,Q_^1_%ALS 4_^1_%SAP REV1_)YES - SKIP_^1_%JMP* ANAL_)NO_^1REV1_!LDQ- FMTBAS,I_$CHECK FOR FIELDS CHANGED_^1_%INQ 2_^1_%ADQ- SLSCW,I_^1_%LDA- (ZERO),Q_^1_%ALS 1_^1_%SAM ANAL_)SKIP IF FIELDS CHANGED_^1*_]_^1_%RTJ CPYSLS_'GO COPY OLD SLS TO NEW FORMAT_^1SLS0€€_!RTJ* READ_)READ FIRST INPUT LINE_^1_%SAP SLS2_^1_%JMP* SLS0_^1SLS2_!RTJ* REDISP_'DISPLAY LINE READ_^1_%RTJ* CKEND_(CHECK FOR 'END' STATEMENT_^1_%SAN ANAL1_(COPY OLD SLS?_^1_%JMP FINI_)YES_^1*_]_^1ANAL_!STA- NOCOPY,I_$SET NO COPY ALLOWED_^1ANAL0 CLR A_^1_%STA- INTPOS,I_^1ANAL00 RTJ* READ_)READ A PARAMETER_^1_%SAP ANAL01_^1_%JMP* ANAL00_^1ANAL01 RTJ* REDISP_^1ANAL1 RTJ ANAL€€YS_'GO SET UP SLS WORD_^1_%RAO- FMTPNT,I_$SET TO NEXT FIELD_^1_%RAO- FLDCNT,I_$BUMP FIELD COUNT_^1_%LDA- FLDCNT,I_$ARE WE DONE_^1_%SUB- FIELDS,I_$WITH ALL FIELDS_^1_%SAM ANAL2_(NO - CONTINUE_^1_%JMP FINISH_^1ANAL2 JMP* ANAL0_^1*_]_^1CKEND NOP 0_,CHECK FOR ' END' STATEMENT_^1_%LDQ- AINT,I_^1_%LDA- 4,Q_*GET WORD FROM INTEROGATE BUFFER_^1_%EOR =A E_)CHECK FOR ' E'_^1_%SAN CKNO_€€^1_%LDA- 5,Q_^1_%EOR =AND_)CHECK FOR 'ND'_^1CKNO_!JMP* (CKEND)_%EXIT - ZERO IN 'A' = FOUND END_^1_%EJT_]_^1***********************************************************_^1*_]_^1*_*READ IN SLS PARAMETERS_^1*_]_^1***********************************************************_^1*_]_^1READ_!NOP 0_^1_%RTJ- (ENTSR)_^1_%LDA- SUPINP,I_$INPUT FROM CRT?_^1_%SAZ READ20_'YES_^1_%EOR- BSCINP,I_^1€€_%SAN READ10_^1_%ENQ FW_+INPUT FROM CONSOLE_^1_%RTJ- (SUPRW)_%SEND LINE FEED_^1_%ADC $22_^1_%ADC 0_^1*_]_^1READ10 ENQ 40_+READ 80 CHAR RECORD_^1_%JMP* READ30_^1*_]_^1READ20 ENA 1_^1_%RTJ- (DISPLY)_^1_%ADC SETDIS_^1_%ENQ 24_^1READ30 STQ* NOWRD_^1_%ENQ FR_+READ ONE RECORD_^1_%RTJ- (SUPRW)_^1_%ADC 0_,INTO INTEROGATE BUFFER_^1NOWRD NUM 40_+NO. OF WORDS_^1*_]_^1_%LDA- TRMNT,€€I_%CHECK FOR CANCEL KEY_^1_%ALS 1_^1_%SAP READ40_^1_%RTJ- (RTNSR)_%CLEAR ENTRY FROM ENTRY/EXIT STACK_^1_%ENA 39_^1_%STA- ERCODE,I_^1_%JMP* ERROR_^1READ40 SQP READ50_^1_%ENA 1_,INPUT ERROR_^1_%RTJ+ PRTMSG_^1_%SET A_^1_%JMP* READ58_^1*_]_^1READ50 LDA- SUPINP,I_$CHECK INPUT DEVICE_^1_%SAZ READ56_'SKIP IF KEY DISPLAY_^1_%ENA 80_^1_%QLS 1_,CHECK FOR SHORT READ_^1_%SQP READ54_^€€1_%LDQ- AINT,I_'SHORT READ_^1_%LDQ- 4+39,Q_'GET LAST WORD ADDRESS_^1_%SET A_^1_%STA- (ZERO),Q_$-0 TO LAST WORD_^1_%LDA- AINT,I_^1_%TCA A_^1_%AAQ A_^1_%INA -4_^1_%ALS 1_^1*_]_^1READ54 LDQ- AINT,I_^1_%STA- 3,Q_^1*_]_^1READ56 CLR A_^1READ58 JMP- (EXTSR)_^1_%EJT_]_^1***********************************************************_^1*_*RE-DISPLAY THE LINE JUST READ_^1*_]_^1************€€***********************************************_^1REDISP NOP 0_^1_%RTJ- (ENTSR)_^1_%LDA- SUPLST,I_$IF LIST DEVICE IS CRT_^1_%SAZ RDS1_)LIST ON CRT. IF THIS IS THE STD_^1_%EOR- SUPINP,I_$INPUT DEVICE, DON'T LIST_^1_%SAN RDS2_^1_%JMP* REXIT_(EXIT_^1*_]_^1RDS1_!ENA 0_^1_%RTJ- (DISPLY)_^1_%ADC SETDIS_^1_%RTJ+ CCKEND_^1_%SAM RDS2_^1_%ENQ MOT_^1_%RTJ- (SUPRW)_^1_%NUM $2000_^1*_]_€€^1RDS2_!LDQ- AINT,I_^1_%LDA- 3,Q_^1_%AND- LPMASK+8_^1_%SAZ REXIT_^1_%INA 1_^1_%ARS 1_^1_%STA* REDSP1_^1*_]_^1_%ENQ FW_^1_%RTJ- (SUPRW)_^1_%ADC 0_^1REDSP1 ADC 0_^1*_]_^1REXIT JMP- (EXTSR)_%EXIT_^1_%EJT_]_^1***********************************************************_^1*_]_^1*_*ERROR ROUTINE TO OUTPUT MESSAGE AND EXIT OR RETURN_^1*_*TO PROCESS ADDITIONAL PARAMETERS_^1**********€€*************************************************_^1ERROR RTJ+ PRTMSG_'GO PRINT THE MESSAGE_^1_%LDA- ERCODE,I_^1_%AND- LPMASK+8_^1_%INA -39_*CHECK FOR CANCEL_^1_%SAZ ERR01_(YES_^1_%JMP* REPEAT_'GO GET LAST PARAMETER AGAIN_^1ERR01 LDQ- FMTBAS,I_$RELEASE BUFFERS_^1_%SQZ ERR02_^1_%RTJ- (RELFOR)_$RELEASE IT_^1ERR02 LDQ- PFBA,I_'IS FORMAT IN CORE?_^1_%SQZ ERR03_(NO_^1_%LDQ- (ZERO€€),Q_$YES_^1_%RTJ- (RELFOR)_$RELEASE FMT_^1ERR03 CLR A_^1_%STA- FMTNMB,I_^1_%STA- PFBA,I_^1_%SET A_^1_%JMP- (REJSUP)_$EXIT FUNCTION_^1*_]_^1REPEAT JMP* ANAL0_(SET UP TO REPEAT PARAMETERS_^1_%EJT_]_^1***********************************************************_^1*_$SUBROUTINE TO COPY OLD SLS FROM OLD FORMAT TO NEW_^1***********************************************************_^1_%SP€€C 2_^1CPYSLS NOP 0_^1_%RTJ- (ENTSR)_^1_%LDQ- PFBA,I_'GET BASE ADDR OF OLD FORMAT_^1_%LDQ- (ZERO),Q_^1_%LDA- 1,Q_*GET LENGTH_^1_%AND- LPMASK+11_#ADDRESS OF SLS BACKWARD POINTER_^1_%AAQ Q_^1_%LDA- (ZERO),Q_$GET RELATIVE POINTER_^1_%AAQ A_,ADJUST TO POINT TO SLS CONTROL WORD_^1_%INA 1_,BUMP PAST CONTROL WORD_^1_%STA- SST+STEMP_#ORIGIN OF COPY_^1_%LDA- FMTBAS,I_$GET LOCATION OF NE€€W FORMAT_^1_%INA 2_^1_%ADD- FMTPNT,I_^1_%STA- SST+STEMP+1_!DESTINATION OF COPY_^1_%LDQ- FIELDS,I_$NUMBER OF SLS WORDS TO COPY_^1CPY001 INQ -1_^1_%LDA- (SST+STEMP),Q COPY OLD SLS TO NEW FORMAT_^1_%STA- (SST+STEMP+1),Q_^1_%SQZ CPYDNE_'SKIP IF DONE_^1_%JMP* CPY001_'CONTINUE_^1CPYDNE JMP- (EXTSR)_%FINISHED COPY_^1_%EJT_]_^1***********************************************************_€€^1*_*ROUTINE TO READ IN THE FORMAT ON TEMP MASS/MEM_^1*_]_^1***********************************************************_^1RDFMT NOP 0_,READ IN FORMAT FROM TEMP MASS/MEM_^1_%RTJ- (ENTSR)_^1_%LDQ- FMTPNT,I_$LENGTH OF FORMAT +1_^1_%ADQ- FIELDS,I_$ADD ONE WORD/FIELD TO FORMAT LENGTH_^1_%STQ- FMTLNG,I_$SAVE LENGTH OF ENTIRE NEW FORMAT_^1_%INQ 3_,INCLUDE HEADER AND B.P._^1_%RTJ* CORCA€€M_'GO GET CORE BUFFER_^1_%LDQ- FMTBAS,I_$GET ADDRESS OF BUFFER_^1_%INQ 3_,SET POINTER TO FWA OF FORMAT_^1_%STQ- BFR,I_^1_%LDA- FMTPNT,I_^1_%INA -1_^1_%TCA A_^1_%STA- NWORDS,I_^1_%CLR Q_^1_%RTJ READS_(READ SECTOR_^1_%LDQ- FMTBAS,I_$GET BASE CORE ADDRESS_^1_%LDA- 3,Q_^1_%AND- NZERO+11_^1_%EOR- FMTLNG,I_$SET LENGTH OF FORMAT TO NEW SIZE_^1_%STA- 3,Q_^1_%LDA- 1,Q_^1_%AND- LPMASK+1€€5_#CLEAR I/O BIT_^1_%STA- 1,Q_^1_%JMP- (EXTSR)_%EXIT ROUTINE_^1_%EJT_]_^1************************************************************_^1*_]_^1*_$ROUTINE TO GET A CORE BUFFER IN FRP AREA_^1*_]_^1************************************************************_^1_%SPC 2_^1CORCAM NOP 0_,GET CORE BUFFER ROUTINE_^1_%RTJ- (ENTSR)_^1_%CLR A_^1_%STA- ATEMP,I_%WAIT LOOP COUNT_^1_%STQ- CORE,I_€€'SAVE CORE AMOUNT_^1GETCOR RTJ- (CAM)_(GET CORE FOR NEW FORMAT_^1_%SAZ GOTIT_^1_%RAO- ATEMP,I_%BUMP WAIT COUNT_^1_%ENA MAXNT_^1_%SUB- ATEMP,I_%HAVE WE WAITED LONG ENOUGH_^1_%SAP WAIT1_(NO_^1_%ENA 8_,YES_^1_%RTJ+ PRTMSG_^1_%RTJ- (RTNSR)_%CLEAR ENTRY FROM ENTRY/EXIT STACK_^1_%JMP* ERR01_^1WAIT1 RTJ- (WAIT)_^1_%LDQ- CORE,I_^1_%JMP* GETCOR_'TRY AGAIN_^1GOTIT STQ- FMTBAS,I_$SAVE B€€UFFER ADDRESS_^1_%LDA =XFMTBAS,I_^1_%STA- (ZERO),Q_$SET BACKWARDS POINTER_^1_%LDA- 1,Q_^1_%AND- LPMASK+15_^1_%EOR- ONEBIT+15_#SET I/O BIT ON BUFFER_^1_%STA- 1,Q_^1_%JMP- (EXTSR)_^1*_]_^1_%EJT_]_^1***********************************************************_^1*_*ROUTINE TO ANALYSE THE SLS INPUT LINE._^1*_*PARAMETER FORMAT IS: LN,CC,FN,IV,NP_^1*_]_^1*_DVALUE_*DEFAULT_^1*_*LL = LINE N€€UMBER_*1 - 22_(NEXT LINE_^1*_*CC = COLUMN NO._+1 - 80_(1_^1*_*FN = DISPLAY FIELD NAME_"Y/N_+N_^1*_*IV = INVERSE/NORMAL VIDIO Y/N_+N_^1*_*NP = START NEW SCREEN_$Y/N_+N_^1***********************************************************_^1*_]_^1SAVQ_!NUM 0_,TEMP SAVE_^1*_]_^1ANALYS NUM 0_^1LINE_!RTJ* GETNUM_'GET LINE NUMBER_^1_%SAP LINE1_(HAVE A NUMBER_^1_%SQP LINE2_(COMMA ONLY_^1_%JM€€P* CPYPRM_'COPY OLD PARAM_^1LINE1 SAZ ERR_^1_%INA -23_*NUMBER MUST BE_^1_%SAP ERR_*BETWEEN 1 AND 22_^1_%INA 23_+OK_^1_%STA- LINENO,I_^1_%ALS 7_^1_%JMP* LINE21_'PUT IN PARAM_^1LINE2 RTJ* DEFALT_'DEFAULT TO NEXT LINE NUMBER_^1LINE21 RTJ* STORA_^1_%SQP COL_^1_%JMP* ANLEXT_'EOR = ALL DONE_^1COL_"RTJ* GETNUM_'GET COLUMN NUMBER_^1_%STQ* SAVQ_^1_%SAP COL1_^1_%JMP* COL0_)COMMA OR €€EOR - DEFAULT COLUMN NUMBER_^1ERR_"JMP* AERROR_'COMMA FOLLOWED BY EOR_^1COL0_!ENQ 1_,DEFAULT TO COL 1_^1_%JMP* COL2_^1COL1_!SAZ COL1A_^1_%INA -81_*COL NUMBER MUST BE 1 TO 80_^1_%SAM COLOK_^1COL1A JMP* AERROR_^1COLOK INA 81_^1_%TRA Q_^1COL2_!RTJ* LOADA_^1_%AND- NZERO+7_^1_%AAQ A_^1_%RTJ* STORA_^1_%LDQ* SAVQ_)CHECK IF EOR_^1_%SQP DISP_^1_%JMP* ANLEXT_^1_%EJT_]_^1DISP_!RTJ* €€GETYN_(GET FIELD NAME DISPLAY_^1_%SQZ INV_*COMMA? DEFAULT THIS PARAM_^1_%SQM DISP01_'EOR? DEFAULT REMAINING_^1_%INQ -1_+ADJUST Q_!Y=1_!N=0_^1_%QLS 14_^1_%RTJ* LOADA_^1_%AND- ZROBIT+14_#SET/CLR BIT 14 (FIELD NAME DISPLAY)_^1_%AAQ A_^1_%RTJ* STORA_^1_%RTJ- (GETCOM)_^1_%SQZ INV_*COMMA FORNU_^1_%SQM DISP01_'SKIP IF EOR_^1_%JMP* AERROR_'ELSE ERROR_^1DISP01 JMP* (ANALYS)_^1INV_"€€RTJ* GETYN_(GET INVERSE/NORMAL VIDIO_^1_%SQZ PAGE_)COMMA?_^1_%SQM INV001_'EOR?_^1_%INQ -1_+ADJUST Q_!Y=1 N=0_^1_%QLS 15_^1_%RTJ* LOADA_^1_%AND- ZROBIT+15_^1_%AAQ A_,SET/CLR BIT 15 ( VIDIO)_^1_%RTJ* STORA_^1_%RTJ- (GETCOM)_^1_%SQZ PAGE_)COMMA FOUND_^1_%SQP AERROR_'NOT EOR - ERROR_^1INV001 JMP* (ANALYS)_^1PAGE_!RTJ* GETYN_(GET NEW PAGE INDICATOR_^1_%SQZ AERROR_'COMMA ILLEGAL€€ FOR LAST PARAM_^1_%SQM ANLEXT_'EOR?_^1_%INQ -1_+Q_!Y=1 N=0_^1_%SQZ ANLEXT_^1_%QLS 13_^1_%RTJ* LOADA_^1_%AND- ZROBIT+13_^1_%AAQ A_,SET/CLR BIT 13 (NEW PAGE INDICATOR)_^1_%RTJ* STORA_^1ANLEXT JMP* (ANALYS)_$EXIT_^1AERROR ENA 3_,PARAMETER ERROR_^1_%JMP ERROR_^1_%EJT_]_^1DEFALT NUM 0_^1_%RAO- LINENO,I_^1_%LDA- LINENO,I_^1_%INA -23_*CHECK FOR OVERFLOW OF LINE NUMBER_^1_%SAM €€ DEF01_^1_%CLR A_^1_%STA- LINENO,I_$START WITH FIRST LINE AGAIN_^1_%LDA =N$2081_%START NEW PAGE_^1_%JMP* DEF02_^1DEF01 INA 23_+PUT LINE NUMBER_^1_%ALS 7_,ALONG WITH REMAINING_^1DEF02 JMP* (DEFALT)_^1*_]_^1CPYPRM LDA- NOCOPY,I_$IS COPY OKAY_^1_%SAZ OKCPY_(YES_^1_%ENA 92_+NO SLS TO COPY_^1_%JMP ERROR_^1OKCPY RTJ* DSPFLD_'DISPLAY FIELD NUMBER COPIED_^1_%JMP* (ANALYS)_^1_%EJT€€_]_^1************************************************************_^1*_*GET SLS WORD FROM TABLE_^1*_*EXIT A= SLS WORD_^1*_0Q= RESTORED_^1************************************************************_^1LOADA NOP 0_^1_%STQ- ATEMP,I_^1_%LDQ- FMTBAS,I_^1_%INQ 2_^1_%ADQ- FMTPNT,I_^1_%LDA- (ZERO),Q_^1_%LDQ- ATEMP,I_^1_%JMP* (LOADA)_^1_%SPC 5_^1*_*STORE SLS WORD INTO TABLE_^1*_*ENTRY A€€= SLS WORDS_^1*_0Q= RESTORED_^1STORA NOP 0_^1_%STQ- ATEMP,I_^1_%LDQ- FMTBAS,I_^1_%INQ 2_^1_%ADQ- FMTPNT,I_^1_%STA- (ZERO),Q_^1_%LDQ- ATEMP,I_^1_%JMP* (STORA)_^1_%EJT_]_^1***********************************************************_^1*_$GET LINE AND COLUMN NUMBER_^1*_]_^1*_$RETURN WITH_'A=+, Q=0_#NUMBER IN A, COMMA FOUND_^1*_8A=+, Q=-_#NUMBER IN A, EOR_^1*_8A=-, Q=0_#COMMA ONLY, D€€EFAULT THIS PARAM_^1*_8A=-, Q=-_#EOR ONLY (COPY OLD PARAM)_^1*_]_^1***********************************************************_^1GETNUM NOP 0_^1_%CLR A_^1_%STA* BIN_^1_%STA* FIRST_^1_%LDA- INTPOS,I_$GET LINE POSITION_^1_%STA- SST+STEMP_^1GET000 RTJ- (GETALP)_$GET A CHARACTER_^1_%SQP GET001_^1_%SAM GETERR_^1_%JMP* GETEOR_'END OF LINE_^1GET001 SAN 1_^1_%JMP* GETCUM_'COMMA FOUND_€€^1_%STA* CHAR_)SAVE CHARACTER_^1_%INA -$30_)CHECK FOR NUMBER_^1_%SAM GETERR_^1_%INA -$A_^1_%SAM GETOK_^1GETERR JMP* AERROR_'NOT A NUMBER_^1GETOK LDA* CHAR_^1_%INA -$30_^1_%STA* CHAR_)SAVE IT_^1_%LDA* BIN_*IS THIS THE FIRST DIGIT IN?_^1_%SAZ GET020_'YES_^1_%MUI- TEN_*NO_^1GET020 ADD* CHAR_)ADD TO THE FIRST ONE_^1_%STA* BIN_*AND SAVE_^1_%RAO* FIRST_^1_%JMP* GET000_'GO GET NEXT€€ CHAR_^1*_]_^1GETEOR LDA* FIRST_^1_%SAZ GOTEOR_'EOR FIRST CHAR IN_^1_%LDA* BIN_*GET NUMBER_^1_%JMP* GTEOR1_^1GOTEOR ENA -1_^1GTEOR1 ENQ -1_^1_%JMP* (GETNUM)_^1*_]_^1GETCUM LDA- SST+STEMP_^1_%STA- INTPOS,I_$SAVE INPUT POSITION_^1_%CLR Q_-COMMA FOUND_^1_%LDA* FIRST_(WAS IT FIRST CHAR IN_^1_%SAN GETBIN_'NO_^1_%ENA -1_+YES_^1_%JMP* GET030_^1GETBIN LDA* BIN_^1GET030 JMP* (GETNUM)_$€€EXIT_^1CHAR_!NUM 0_,SAVE CHARACTER_^1BIN_"NUM 0_,SAVE BINARY NUMBER_^1FIRST NUM 0_,ZERO = FIRST CHAR IN WAS EOR_^1_%EJT_]_^1***********************************************************_^1*_$GET Y/N PARAMETER_^1*_]_^1*_$EXIT Q=-_"EOR_^1*_*Q=0_"COMMA_^1*_*Q=1_"N_^1*_*Q=2_"Y_^1*_]_^1***********************************************************_^1GETYN NUM 0_^1_%RTJ- (GETALP)_^1_%SQ€€M GET010_'EOR_^1_%SAZ GET010_'COMMA_^1_%INA -Y_+CHECK FOR Y_^1_%ENQ 2_^1_%SAZ GET010_^1_%INA Y-N_*CHECK FOR N_^1_%INQ -1_^1_%SAZ GET010_^1_%JMP* AERROR_^1GET010 JMP* (GETYN)_%EXIT_^1_%EJT_]_^1***********************************************************_^1*_$ROUTINE TO DISPLAY COPIED FIELD NUMBER_^1***********************************************************_^1_%SPC 2_^1DSPFL€€D NOP 0_^1_%RTJ- (ENTSR)_^1_%LDA- SUPLST,I_^1_%SAN DSP01_^1_%RTJ- (DISPLY)_^1_%ADC SETDIS_^1_%RTJ+ CCKEND_'IF END OF SCREEN, CLEAR IT_^1_%SAM DSP01_(AND DISPLAY TOP LINE_^1_%ENQ MOT_^1_%RTJ- (DISPLY)_^1_%NUM $2000_^1DSP01 LDA- FLDCNT,I_$GET FIELD NUMBER_^1_%INA 1_,AND CONVERT TO_^1_%CLR Q_,ASCII CODE_^1_%DVI- TEN_^1_%INQ $30_^1_%QLS 8_^1_%INQ $20_^1_%STQ- SST+STEMP_^1_%€€CLR Q_^1_%DVI- TEN_^1_%ALS 8_^1_%ADD =A00,Q_^1_%LDQ- AINT,I_^1_%STA- 6,Q_^1_%LDA- SST+STEMP_^1_%STA- 7,Q_^1_%LDA =AFL_^1_%STA- 4,Q_^1_%LDA =AD=_^1_%STA- 5,Q_^1_%ENQ FW_^1_%RTJ- (SUPRW)_^1_%ADC 0_^1_%ADC 4_^1_%JMP- (EXTSR)_^1_%EJT_]_^1***********************************************************_^1*_$SUBROUTINE TO READ OR WRITE A SECTOR_^1*_*ENTRY - Q = 0 READ_^1*_5= 1 WRITE_€€^1*_3PARAMETERS IN ATT TABLE_^1*_]_^1***********************************************************_^1READS NUM 0_,READ SECTOR/WORDS FROM DISK_^1_%RTJ- (ENTSR)_^1_%LDA* RDWR,Q_^1_%STA* RDORWR_'SET READ OR WRITE SECTOR_^1_%LDA- FMTTRK,I_$GET TRACK ADDRESS_^1_%STA* SECTOR_^1_%LDA- NWORDS,I_$GET NUMBER OF WORDS (COMPLIMENT)_^1_%STA* NOWRDS_^1_%LDA- BFR,I_(GET BUFFER ADDRESS_^1_%STA* BU€€FFER_^1RDORWR RTJ- (REDSEC)_^1BUFFER NUM 0_^1SECTOR NUM 0_^1NOWRDS NUM -0_^1_%NUM 0_^1_%JMP- (EXTSR)_^1RDWR_!RTJ- (REDSEC)_^1_%RTJ- (WRTSEC)_^1_%EJT_]_^1_%SPC 2_^1***************************************_^1*_$EXIT PROCESSOR._^1***************************************_^1_%SPC 2_^1FINI_!LDA- FMTPNT,I_$NO CHANGES TO SLS FROM OLD FMT._^1_%ADD- FIELDS,I_^1_%STA- FMTPNT,I_$POINTS TO €€BACKWARD POINTER_^1FINISH LDA- FIELDS,I_^1_%INA 1_^1_%TCA A_^1_%LDQ- FMTBAS,I_$SET Q TO POINT TO_^1_%INQ 2_^1_%ADQ- FMTPNT,I_^1_%STA- (ZERO),Q_$SET B.P. RELATIVE ADDRESS._^1_%SPC 2_^1_%LDQ- FMTBAS,I_^1_%INQ 2_^1_%ADQ- SLSCW,I_%CLEAR THE X BIT IN SLS CONTROL WORD_^1_%LDA- (ZERO),Q_^1_%AND- ZROBIT+14_^1_%STA- (ZERO),Q_^1_%LDQ- FMTBAS,I_$ALSO CLEAR THE 'Z' BIT_^1_%INQ 3_^1_%LDA-€€ (ZERO),Q_^1_%AND- ZROBIT+11_^1_%STA- (ZERO),Q_^1_%AND- ONEBIT+12_#IF EXTENSION BIT IS SET,_^1_%SAN FMTEXT_'SKIP_^1_%JMP* EXIT_^1_%EJT_]_^1****************************************_^1*_$THIS PART WRITES THE FORMAT TEMPORARILY_^1*_$AND CALLS THE EXTENSION INTERPRETER._^1****************************************_^1_%SPC 2_^1FMTEXT LDA- FMTPNT,I_^1_%INA -1_^1_%STA- ATEMP,I_%TO WORD C€€OUNT_^1_%ALS 1_^1_%STA- OCGP,I_^1_%LDQ- FMTBAS,I_^1_%LDA- 1,Q_*SET I/O BIT_^1_%AND- LPMASK+15_#SET LENGTH OF FORMAT,_^1_%EOR- ONEBIT+15_^1_%STA- 1,Q_^1_%INQ 3_^1_%STQ- BFR,I_(SAVE START ADDR OF FORMAT_^1_%LDA- (ZERO),Q_$SET LENGTH OF FORMAT_^1_%INA -1_+LESS BACKWARD POINTER_^1_%STA- (ZERO),Q_^1_%LDA- ATEMP,I_%SET NO OF_^1_%TCA A_,WORD IN THE_^1_%STA- NWORDS,I_$ATT TABLES_^1_%EN€€Q 1_,SET TO WRITE_^1_%RTJ* READS_(GO WRITE THE SECTOR_^1*_]_^1_%LDQ- FMTBAS,I_$RELEASE FORMAT_^1_%RTJ- (RELFOR)_$BUFFER_^1_%CLR Q_,CALCULATE_^1_%LDA- OCGP,I_'LOCATION_^1_%DVI =N192_(IN CURRENT_^1_%STQ- PSCNT,I_%SECTOR_^1_%ADD- OCGTRK,I_^1_%STA- OCGLS,I_^1_%LDA- SUPLST,I_^1_%SAN SKPDSP_^1_%ENA 1_,CONVERT TO_^1_%RTJ- (DISPLY)_$INTERROGATE_^1_%ADC SETDIS_'LINE ON SCREEN_^1SKPDSP€€ ENA 110_*'EXTENSION'_^1_%RTJ+ PRTMSG_^1_%ENA 12_+SET NUMBER_^1_%LDQ- AINT,I_'OF_^1_%STA- 3,Q_*CHARACTERS_^1_%RTJ- (EXDFUN)_^1_%LDQ =N$302D_%GET OCG_^1_%ENA 1_^1_%RTJ- (ENTPRG)_^1_%EJT_]_^1************************************************************_^1*_*THIS PART SETS UP THE FORMAT IN CORE_^1*_*AND CALLS THE WRITE FORMAT (WRTFMT) OVERLAY_^1*************************************€€***********************_^1_%SPC 2_^1EXIT_!LDA- FMTPNT,I_$GET LENGTH_^1_%TCA A_^1_%STA- NWORDS,I_^1_%LDQ- FMTBAS,I_$SET_^1_%LDA- 1,Q_.NO MOVE_^1_%EOR- ONEBIT+15_+BIT ON BUFFER_^1_%STA- 1,Q_^1_%INQ 3_,START OF BUFFER_^1_%STQ- BFR,I_^1_%ENQ 1_^1_%RTJ* READS_(GO WRITE OUT FORMAT_^1_%LDQ- FMTBAS,I_^1_%RTJ- (RELFOR)_$RELEASE FORMAT IN CORE_^1_%LDQ- FMTPNT,I_^1_%INQ 1_,ADD ONE FOR HE€€ADER_^1_%RTJ CORCAM_'GET CORE FOR ACTUAL FORMAT LENGTH_^1_%LDQ- FMTBAS,I_$GET ADDRESS OF BUFFER_^1_%INQ 1_^1_%STQ- BFR,I_^1_%LDA- FMTPNT,I_^1_%TCA A_/TO ACTUAL WITH BACKWARD PNTR_^1_%STA- NWORDS,I_^1_%CLR Q_^1_%RTJ* READS_(READ IN FORMAT_^1_%LDA- FMTTRK,I_^1_%RTJ+ RELTRT_'RELEASE TRACK_^1_%LDQ- FMTBAS,I_$CLEAR MOVE BIT_^1_%LDA- 1,Q_^1_%AND- LPMASK+15_^1_%STA- 1,Q_^1_%RTJ- (EXDF€πUN)_$RELEASE SLS_^1_%CLR A_,INDICATE NON SUBROUTINE_^1_%STA- CALRPI,I_$CALL AND 1ST ENTRY_^1_%LDQ* CALWFM_^1_%RTJ- (ENTPRG)_$LOAD AND GO WRITE FORMAT._^1*_]_^1CALWFM VFD N1/0,N3/0,N1/1,N1/0,N3/0,N7/4_^1ENDSLS EQU ENDSLS(*)_^1_%END_]_^__ πPTABDEF CSY/ P€1_%NAM TABDEF_'DECK-ID A28 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_%SPC 4_^1*_'PROGRAM CONTAINS TWO ENTRY POINTS THAT PERFORM_^1*_'THE FOLLOWING FUNCTIONS:_^1_%SPC 2_^1*_'TABSRC_^1_%SPC 1_^1*_'THIS SUBROUTINE WILL DETERMINE WHETHER THIS F€€ORMAT WAS_^1*_'SELECTED WITH OR WITHOUT THE SLS OPTION._^1*_'SLS BIT(15) IN FMT TABLE =_^1*_11 - IF SLS REQUESTED_^1*_10 - IF SLS NOT REQUESTED_^1_%SPC 2_^1*_'TABSCN_^1_%SPC 1_^1*_'THIS SUBROUTINE WILL SET UP THE 11 WORD FORMAT_^1*_'TABLE OBTAINING THE DATA FROM THE FMT TABLE._^1*_'IF FREE FORM WAS NOT SELECTED FOR THIS FIELD, TABLE_^1*_'IS SET TO ZEROES._^1_%EJT_]_^1_%ENT TABSR€€C_'DETERMINE IF SLS SPECIFIED._^1_%ENT TABSCN_'GET FIELD POSITIONING._^1_%ENT TABPAR_'FORMAT SPECIFICATION TABLE._^1_%SPC 3_^1_%EQU LPMASK($2)_^1_%EQU ONEBIT($23)_^1_%EQU ZERO($22)_^1_%EQU ONE($3)_^1_%EQU FBA(7)_^1_%EQU FIELD(14)_^1_%SPC 2_^1SLSADR NUM 0_,ADR OF SLS CONTROL WORD_^1SLSWRD NUM 0_,ADR OF SLS SPEC. WORD FOR CURRENT FIELD._^1MAXFLD NUM 0_,MAX. NO. OF FIELD€€S_^1CURENT NUM 0_,CURRENT FIELD NUMBER_^1CNTDWN NUM 0_,COUNT DOWN TEMPORARY VALUE_^1CHR752 NUM 80_+NUMBER OF CHARS ON 752 LINE._^1_%EJT_]_^1*_*FORMAT TABLE LAYOUT._^1_%SPC 2_^1_%EQU NA0(0)_'NOT USED_^1_%EQU NA1(1)_'NOT USED_^1_%EQU CURFLD(2)_#CURRENT FIELD NUMBER_^1_%EQU DIFFST(3)_#NO. OF FIELDS TO START OF PAGE_^1_%EQU DIFLST(4)_#NO. OF FIELDS TO END OF PAGE_^1_%EQU NA5€€(5)_'NOT USED_^1_%EQU INVDSP(6)_#INVERSE AND DISPLAY BITS_^1_%EQU COLUMN(7)_#COLUMN NO._^1_%EQU LINE(8)_%LINE NO._^1_%EQU NONBAK(9)_#NON-ZERO IF DIFFST IS ZERO_^1_%EQU CURLOK(10)_"CHAR COUNT ON SCREEN FOR THIS FIELD_^1_%SPC 4_^1_%BZS TABPAR(11)_"FORMAT TABLE_^1_%EJT_]_^1*_*TABSRC SUBROUTINE._^1_%SPC 2_^1*_$CALLING SEQUENCE_^1*_'RTJ+ TABSRC_^1*_*A - NOT USED_^1*_*Q - NOT US€€ED_^1*_*I - POINTS TO ATT_^1_%SPC 2_^1*_$REGISTERS UPON EXIT_^1*_'A - $8000 IF SLS WAS SELECTED_^1*_/0 IF SLS NOT SELECTED_^1*_*Q - ADR OF SLS CONTROL WORD_^1*_*I - POINTS TO ATT_^1_%SPC 4_^1TABSRC NUM 0_^1_%LDQ- FBA,I_(GET ADR OF CURRENT FORMAT._^1_%LDQ- (ZERO),Q_^1_%LDA- 1,Q_*GET LENGTH OF FORMAT,_^1_%AND- LPMASK+11_#ADD LENGTH TO START OF FORMAT ADR_^1_%AAQ Q_,TO GET ADR OF €€SLS BACKWARDS POINTER._^1_%ADQ- (ZERO),Q_$Q = ADR OF SLS CONTROL WORD._^1_%LDA- (ZERO),Q_^1_%AND- ONEBIT+15_#ISOLATE SLS BIT,_^1_%JMP* (TABSRC)_$AND RETURN TO CALLER._^1_%EJT_]_^1*_*TABSCN SUBROUTINE_^1_%SPC 2_^1*_$CALLING SEQUENCE_^1*_'RTJ+ TABSCN_^1*_*A - CURRENT FIELD NUMBER_^1*_*Q - NOT USED_^1*_*I - POINTS TO ATT_^1_%SPC 2_^1*_$REGISTERS UPON EXIT._^1*_*A - 'CURLOK' CURSOR €€POSITION ON SCREEN_^1*_*Q - POINTS TO 11 WORD TABPAR TABLE_^1*_*I - POINTS TO ATT_^1_%SPC 4_^1TABSCN NUM 0_^1_%SAP STORIT_^1_%ENA 0_^1STORIT INA 1_,FIELD MUST START WITH 1 (NOT ZERO)._^1_%STA* TABPAR+CURFLD SAVE FIELD NUMBER._^1_%SPC 1_^1_%CLR A_^1_%STA* TABPAR+NA0_^1_%STA* TABPAR+NA1_"SET NOT USED WORDS TO ZERO._^1_%STA* TABPAR+NA5_^1_%SPC 2_^1_%RTJ* TABSRC_'SEE IF SLS WA€€S SELECTED._^1_%SAN GOTSLS_'SKIP IF SLS IS PRESENT,_^1_%STA* TABPAR+DIFFST OTHERWISE,_^1_%STA* TABPAR+DIFLST_"SET ALL_^1_%STA* TABPAR+INVDSP_$WORDS TO_^1_%STA* TABPAR+COLUMN_'ZERO._^1_%STA* TABPAR+LINE_+AND_^1_%STA* TABPAR+NONBAK_+EXIT..._^1_%STA* TABPAR+CURLOK_^1_%JMP* EXIT_^1_%EJT_]_^1*_*SET UP ALL NESS. ADDRESSES AND COUNTERS._^1_%SPC 2_^1GOTSLS STQ* SLSADR_'SAVE ADR OF SLS C€€ONTROL WORD._^1_%SPC 1_^1_%LDA- (ZERO),Q_^1_%AND- LPMASK+7_$MAX NO. OF FIELDS IN THIS FORMAT_^1_%STA* MAXFLD_^1_%SPC 1_^1_%LDA* TABPAR+CURFLD GET PASSED FIELD NUMBER._^1_%STA* CURENT_'SAVE IT._^1_%AAQ Q_^1_%STQ* SLSWRD_'Q = ADR OF CURRENT SLS SPEC WORD._^1_%TCA A_^1_%STA* CNTDWN_'LOOP COUNTER (COMPLEMENT FIELD NO.)_^1_%EJT_]_^1*_*WORD 3 - BACKWARDS POINTER._^1_%SPC 2_^1_%ENA €€ 0_,INITIALIZE THE BACKWARDS POINTER._^1_%STA* TABPAR+DIFFST_^1_%SPC 2_^1LOOP1 LDA- (ZERO),Q_^1_%AND- ONEBIT+13_#TEST FOR NEW PAGE BIT BEING SET._^1_%SAN WORD4_(SKIP IF SET._^1_%RAO* CNTDWN_'BUMP COUNTER, AND_^1_%LDA* CNTDWN_'SEE IF REACHED FIRST FIELD IN FORMAT._^1_%SAP WORD4_(SKIP IF YES._^1_%INQ -1_+BUMP POINTER TO ONE BACK_^1_%RAO* TABPAR+DIFFST_^1_%JMP* LOOP1_(GO TEST NEX€€T FIELD FOR 'S' BIT._^1_%SPC 6_^1*_*WORD 4 - FORWARDS POINTER._^1_%SPC 2_^1WORD4 LDA* MAXFLD_^1_%SUB* CURENT_^1_%TCA A_^1_%INA -1_+ADJ. FOR ONE AHEAD LOOKUP_^1_%STA* CNTDWN_'LOOP COUNTER (COMPLEMENTED MAX FIELD NO.)_^1_%CLR A_^1_%STA* TABPAR+DIFLST INITIALIZE THE FORWARDS POINTER._^1_%SPC 2_^1_%LDQ* SLSWRD_^1LOOP2 LDA- (ONEBIT),Q_^1_%AND- ONEBIT+13_#TEST FOR NEW BIT BEING€€ SET._^1_%SAN WORD6_(SKIP IF SET._^1_%LDA* CNTDWN_'HAVE WE REACHED END OF FIELDS,_^1_%SAP WORD6_(SKIP IF YES._^1_%RAO* CNTDWN_'BUMP TOTAL FIELDS POINTER._^1_%INQ 1_^1_%RAO* TABPAR+DIFLST BUMP 'NO. OF FIELDS' COUNTER._^1_%JMP* LOOP2_^1_%EJT_]_^1*_*WORD 6 - INVERSE AND DISPALY BITS._^1_%SPC 2_^1WORD6 LDQ* SLSWRD_^1_%LDA- (ZERO),Q_$GET INVERSE VIDEO AND DISPLAY FIELD BITS_^1_%AL€€S 2_,(BITS 15 AND 14), FROM SLS WORD._^1_%AND- LPMASK+2_^1_%STA* TABPAR+INVDSP STORE INTO BITS 1 AND 0 OF INVDSP WORD_^1_%SPC 6_^1*_*WORDS 7 AND 8 - COLUMN AND LINE NUMBERS_^1_%SPC 2_^1_%LDA- (ZERO),Q_^1_%TRA Q_^1_%AND- LPMASK+7_$ISOLATE COLUMN FROM SLS SPEC WORD._^1_%STA* TABPAR+COLUMN_^1_%TRQ A_^1_%ARS 7_^1_%AND- LPMASK+5_$ISOLATE LINE NO. FROM SLS SPEC. WORD._^1_%INA 1_,L€€INES SHOULD BE BEYOND HEADER._^1_%STA* TABPAR+LINE_^1_%SPC 6_^1*_*WORD 9 - DISPLAY THIS PAGE OR PREVIOUS_^1_%SPC 2_^1_%CLR A_^1_%STA* TABPAR+NONBAK INITIALIZE WORD._^1_%LDA* TABPAR+DIFFST IF THERE ARE FIELDS TO BE DISPLAYED_^1_%SAN WORD10_'PREVIOUS TO THIS ONE, SET WORD = 0._^1_%ENA 1_^1_%STA* TABPAR+NONBAK_^1_%EJT_]_^1*_*WORD 10 - CHAR POS ON SCREEN FOR THIS FIELD._^1_%SPC €X 2_^1WORD10 LDA* TABPAR+LINE_^1_%INA -1_+LINE NO * NO OF CHARS PER LINE_^1_%MUI* CHR752_'PLUS CHAR POSITION ON CURRENT LINE._^1_%ADD* TABPAR+COLUMN_^1_%STA* TABPAR+CURLOK_^1_%SPC 6_^1*_*EXIT FROM TABSCN_^1_%SPC 2_^1EXIT_!LDQ =XTABPAR_$Q = ADR OF FMT TBL, A= CHAR POS ON SCREEN._^1_%JMP* (TABSCN)_$RETURN TO CALLER._^1_%SPC 2_^1_%END_]_^__XPVLTYPE CSY/ P€1_%NAM VLTYPE_'DECK-ID B07 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1TYPE_!MAC TN,TP_^1_%IFA 'TP',EQ,0_^1_%VFD N5/0,N1/0,N2/0,N1/1,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,1_^1_%VFD N5/0,N1/0,N2/0,N1/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ€€,2_^1_%VFD N5/0,N1/1,N2/0,N1/1,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,3_^1_%VFD N5/0,N1/1,N2/0,N1/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,4_^1_%VFD N5/0,N1/0,N2/1,N1/1,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,5_^1_%VFD N5/0,N1/0,N2/1,N1/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,6_^1_%VFD N5/0,N1/1,N2/1,N1/1,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,7_^1_%VFD N5/0,N1/1,N2/1,N1€€/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,8_^1_%VFD N5/0,N1/0,N2/2,N1/1,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,9_^1_%VFD N5/0,N1/0,N2/2,N1/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,10_^1_%VFD N5/0,N1/1,N2/2,N1/1,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,11_^1_%VFD N5/0,N1/1,N2/2,N1/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,12_^1_%VFD N5/0,N1/0,N2/3,N1/1,N1/0,X6/'TN'_^1_%EIF_]_€€^1_%IFA 'TP',EQ,13_^1_%VFD N5/0,N1/0,N2/3,N1/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,14_^1_%VFD N5/0,N1/1,N2/3,N1/1,N1/0,X6/'TN'_^1_%EIF_]_^1_%IFA 'TP',EQ,15_^1_%VFD N5/0,N1/1,N2/3,N1/0,N1/0,X6/'TN'_^1_%EIF_]_^1_%EMC_]_^1_%EJT_]_^1*_]_^1* MINITERMINAL TYPE DECLERATION MACRO_^1*_]_^1* CALLING :_^1*_]_^1*_$TYPE TN,TP_^1*_]_^1* WHERE_+TN = TERMINAL NO_^1*_1TP = TERMINAL TYPE_^€€1*_]_^1* TYPE K/B DSP MODE_^1*_]_^1* 00 029 752 SUP_MP1*H0017_^1* 01 029 752 STD_MP1*H0017_^1* 02 029 480 SUP_MP1*H0017_^1* 03 029 480 STD_MP1*H0017_^1* 04 TTN 752 SUP_MP1*H0017_^1* 05 TTN 752 STD_MP1*H0017_^1* 06 TTY 480 SUP_MP1*H0017_^1* 07 TTY 480 STD_MP1*H0017_^1* 08 RESERVED_PP1*H0017_^1* 09 RESERVED_PP1*H0017_^1* 10 ADD 480 SUP_MP1*H0017_^1* 11 ADD 480€€ STD_MP1*H0017_^1* 12 MATRIX PRINTER_JP1*H0017_^1* 13 RESERVED_PP1*H0017_^1* 14 TTN 480 SUP_MP1*H0017_^1* 15 TTN 480 STD_MP1*H0017_^1*_]_^1*_]_^1_%EJT_]_^1*_]_^1* VALIDATA 700 SYSTEM COMMAND TO PRINT AND CHANGE_^1*_]_^1* TERMINAL 'S TYPE TABLE_^1*_]_^1* COMMANDS ACCEPTED_^1*_]_^1*_$*D_0PRINT DIRECTORY_^1*_]_^1*_$*P,N1,N2_*PRINT TYPE TABLE (TERMINALS N1 THROUGH N2)_^1*_]_^1*€€_$*P_0PRINT TYPE TABLE (TERMINAL 00-63)_^1*_]_^1*_$*C,N1,T1_*CHANGE TYPE OF TER.NO N1 TO TYPE T1_^1*_]_^1*_$*Z_0END OF VLTYPE_^1*_]_^1_%EJT_]_^1_%EQU SST($47)_^1_%EQU L(4)_^1_%EQU DISPCH($EA)_^1_%EQU LPMASK($2),NZERO($12),TEN($46)_^1_%EQU ZROBIT($33)_E04*C1067_^1_%EQU WES(30)_K04*C1067_^1_%EQU MTTYPE(41)_^1_%EXT CON029_^1_%EXT CONTTY_^1_%EXT CONTTN_^1_%EXT CONADD_^1_%EXT€€ VL2CRT_^1_%EXT CON752_MP1*H0017_^1_%EXT INMPRT_PRV002_^1_%EJT_]_^1_%NUM $C8FE_(LDA* *-1 GET RELEASE ADDRESS._^1_%STA* REL+2_^1CKMAX LDQ MAXTN_M04*C1067_^1_%INQ -1_P04*C1067_^1_%SQP CKMAX1_L04*C1067_^1_%JMP* OUT_*NO 1X8 CONTROLER_404*C1067_^1*_]04*C1067_^1CKMAX1 STQ MAXTN_M04*C1067_^1_%INQ WES_O04*C1067_^1_%LDA- (SST),Q_K04*C1067_^1_%AND- ZROBIT+1_$CONTROLER EXISTS._304*€€C1067_^1_%SAN CKMAX2_L04*C1067_^1_%JMP* CKMAX_M04*C1067_^1*_]04*C1067_^1CKMAX2 LDA MAXTN_M04*C1067_^1_%INA 1_Q04*C1067_^1_%ALS 3_Q04*C1067_^1_%INA -64_O04*C1067_^1_%SAM 1_Q04*C1067_^1_%INA -1_P04*C1067_^1_%INA 64_P04*C1067_^1_%STA* MAXTN_M04*C1067_^1*_]_^1READ_!ENQ -L+1_)CLEAR COMMAND INPUT BUFFER_^1_%SET A_^1CLRIN STA* IN+L-1,Q_^1_%SQZ CLREND_^1_%INQ 1_^1_%JMP* CLRIN_€€^1*_]_^1CLREND FWRITE $FC,,MIN-*+5,5,A,5,6,I,X_^1_%FREAD_!$FD,CMP1-*+1,IN-*+5,L,A,5,6,I,X_^1_%JMP- (DISPCH)_^1*_]_^1CMP1_!LDA* IN_^1_%SUB =A*Z_^1_%SAN VT1_^1OUT_"FWRITE $FC,REL-*+1,MOUT-*+5,6,A,5,6,I,X_004*C1067_^1_%JMP- (DISPCH)_^1*_]_^1REL_"RELEAS 0,1_(RELEASE IF *Z_^1*_]_^1VT1_"LDA* IN_^1_%SUB =A*D_)CHECK FOR DIRECTORY PRINT_^1_%SAN VT2_^1_%ENA 0_,SET PRINT LIMITS_^1_%STA*€€ N1_^1_%ENA 15_^1_%STA* N2_^1*_]_^1_%RTJ PRINT_(PRINT STANDRD TYPE TABLE_^1_%ADC DEFTYP-*_^1_%ADC HDR1-P2-1_^1*_]_^1_%JMP* READ_^1*_]_^1VT2_"LDA* IN_^1_%SUB =A*P_)CHECK FOR TYPE TABLE PRINT_^1_%SAZ VT3_^1_%JMP* VT7_^1*_]_^1VT3_"STA* N1_+SET STD PRINT_^1_%LDA* MAXTN_M04*C1067_^1_%STA* N2_^1_%LDA* IN+1_^1_%EOR- NZERO_^1_%SAZ VT6_^1_%RTJ* CHKP_)CHECK INPUT LIMITS_^1_%LDA* N2_^1€€_%SUB* N1_^1_%SAP VT6_^1VT5_"JMP* INERR_(PARAMETER ERROR_^1VT6_"LDA* MAXTN_M04*C1067_^1_%SUB* N2_P04*C1067_^1_%SAP VT61_N04*C1067_^1_%JMP* INERR_M04*C1067_^1VT61_!RTJ* RW_+READ TYPE TABLE_504*C1067_^1_%NUM $0956_^1_%RTJ* PRINT_(PRINT TYPE TABLE_^1_%ADC SYSTYP-*_^1_%ADC HDR2-P2-1_^1*_]_^1_%JMP* READ_^1*_]_^1VT7_"LDA* IN_^1_%SUB =A*C_)CHECK FOR CHANGE TYPE_^1_%SAN GOER_)ILLEGA€€L REQUEST_^1*_]_^1VT8_"RTJ* CHKP_)CHECK PARAMETERS_^1_%LDA* N1_^1_%SAZ GOER_^1_%LDA* MAXTN_M04*C1067_^1_%SUB* N1_P04*C1067_^1_%SAM GOER_N04*C1067_^1_%ENA 15_^1_%SUB* N2_^1_%SAP VT9_^1*_]_^1GOER_!JMP* INERR_^1*_]_^1VT9_"RTJ* RW_+READ TABLE (RQ+RP+CP)_^1_%NUM $0956_^1_%LDQ* N2_^1_%LDA DEFTYP,Q_^1_%AND- NZERO+6_^1_%LDQ* N1_^1_%EAQ A_^1_%STA SYSTYP,Q_^1_%STQ* N2_^1_%CLR Q_^1_%€€STQ* PRNT1_^1_%RTJ* CHKDEF_'CHECK FOR DEFINITION ERROR_^1_%LDA* PRNT1_(CHECK FOR ERRORS_^1_%SAZ WRIT_^1_%JMP* READ_^1*_]_^1WRIT_!RTJ* RW_+WRITE TABLE TO DISK_^1_%NUM $0D56_^1*_]_^1_%JMP* VT6_*VERIFICATION PRINT._^1_%EJT_]_^1IN_#BZS IN(L)_(INPUT BUFFER_^1*_]_^1_%BZS N1,N2_^1MAXTN NUM 8_Q04*C1067_^1*_]_^1_%SPC 3_^1CHKP_!0_"0_,CHECK PARAMETERS ROUTINES._^1_%LDQ* IN+1_^1_%LDA* I€€N+2_^1_%LRS 8_^1_%RTJ* CHKD_^1_%STA* N1_^1_%LDA* IN+3_^1_%RTJ* CHKD_^1_%STA* N2_^1_%JMP* (CHKP)_^1*_]_^1_%SPC 3_^1CHKD_!0_"0_,CHECK FOR DECIMAL INFORMATION_^1_%STA* SA_^1_%AND =N$F0F0_^1_%EOR =A00_^1_%SAZ 1_^1_%JMP* INERR_^1_%LDA* SA_^1_%AND =N$0F0F_^1_%TRA Q_^1_%QRS 8_^1_%AND- LPMASK+4_^1_%STA* SA_^1_%INA -$A_^1_%SAP INERR_^1_%TRQ A_^1_%INQ -$A_^1_%SQP INERR_^1_%MUI- €€TEN_^1_%ADD* SA_^1_%INA -64_^1_%SAP INERR_^1_%INA 64_^1_%JMP* (CHKD)_^1INERR LDA =XERR1-P2-1_^1_%RTJ* PRNT1_^1*_]_^1_%JMP READ_^1_%SPC 3_^1RW_#0_"0_^1_%ENQ MTTYPE_^1_%LDA- (SST),Q_^1_%STA* RWSEC_^1_%LDA* (RW)_)DISK TYPE TABLE I/O_^1_%STA* RW1+1_^1*_]_^1RW1_"FREAD $C2,CMP2-*+1,SYSTYP-*+5,64,B,5,6,I,X_^1_%BZS MMA,RWSEC_^1*_]_^1_%JMP- (DISPCH)_^1*_]_^1CMP2_!RAO* RW_^1_%JMP* (€€RW)_^1*_]_^1_%BZS SA,TABADR_^1*_]_^1_%SPC 3_^1PRINT 0_"0_,PRINT ROUTINE_^1_%LDA* (PRINT)_^1_%ADD* PRINT_^1_%STA* TABADR_^1_%RAO* PRINT_^1_%LDA* (PRINT)_^1_%RAO* PRINT_^1*_]_^1_%RTJ* PRNT1_(PRINT HEADER_^1P1_#LDQ* N1_^1_%LDA* (TABADR),Q_^1_%RTJ* SETLIN_'SET LINE BUFFER_^1_%LDQ* N1_^1_%LDA* (TABADR),Q_^1_%RTJ* CHKDEF_'CHECK DEFINITION_^1_%RAO* N1_^1_%LDA* N2_^1_%SUB* N1_^1_%SAM P€€RINTE_^1_%JMP* P1_^1PRINTE JMP* (PRINT)_^1*_]_^1_%SPC 3_^1PRNT1 0_"0_^1_%STA* P2+6_^1P2_#FWRITE $FB,CMP3-*+1,LINE-*+5,9,A,5,6,I,X_^1_%JMP- (DISPCH)_^1*_]_^1CMP3_!JMP* (PRNT1)_^1*_]_^1_%EJT_]_^1*_]_^1CHKDEF 0_"0_,CHECK DEFINITION TABLE_^1_%STA* SA1_^1_%AND- LPMASK+6_^1_%EOR* N1_^1_%SAN CHKDER_^1_%ENQ 15_^1CHKD1 LDA* SA1_^1_%AND- NZERO+6_^1_%EAQ A_^1_%EOR DEFTYP,Q_^1_%SAZ CHK€€DOK_^1_%INQ -1_^1_%SQM CHKDER_^1_%JMP* CHKD1_^1CHKDER LDA* N1_^1_%CLR Q_^1_%DVI- TEN_^1_%ALS 8_^1_%ADD =A00,Q_^1_%STA ERR2+1_MP2*L0001_^1_%LDA =XERR2-P2-1_^1_%RTJ* PRNT1_^1_%JMP* CHKDEX_^1*_]_^1CHKDOK LDA* SA1_SRV002_^1_%AND =N$0780_ORV002_^1_%EOR =N$0380_ORV002_^1_%SAN CHKDK1_'N=NOT MATRIX PRINTER_4RV002_^1_%LDA =XINMPRT_NRV002_^1_%EOR- LPMASK+15_MRV002_^1_%SAN 1_,N=DR€€IVER PRESENT_8RV002_^1_%JMP* CKDER_QRV002_^1_%JMP* CHKDEX_PRV002_^1CHKDK1 LDA =XVL2CRT_$CHECK IF CRT DRIVER EXISTS_+P1*H0017_^1CKT1_!EOR- LPMASK+15_^1_%SAZ CKDER_^1_%LDA* SA1_^1_%ARS 8_^1_%AND- LPMASK+3_KP1*H0017_^1_%TRA Q_^1_%LDA* CONADC,Q_^1_%EOR- LPMASK+15_^1_%SAZ CKDER_^1CHKDEX LDA* SA1_^1_%JMP* (CHKDEF)_^1CKDER JMP* CHKDER_^1*_]_^1CONADC ADC CON752_MP1*H0017_^1_%ADC CO€€N752_MP1*H0017_^1_%ADC CONADD_MP1*H0017_^1_%ADC CONTTN_MP1*H0017_^1_%ADC CON029_MP1*H0017_^1_%ADC CONTTY_MP1*H0017_^1_%ADC CONADD_MP1*H0017_^1_%ADC CONTTN_MP1*H0017_^1*_]_^1_%BZS SA1_^1_%EJT_]_^1*_]_^1SETLIN 0_"0_,SET UP ONE LINE BUFFER_^1_%STA* SA1_^1_%AND- LPMASK+6_^1_%CLR Q_^1_%DVI- TEN_^1_%ALS 8_^1_%ADD =A00,Q_^1_%STA* TN_^1_%LDA* SA1_*CHECK DISPLAY TYPE_^1_%AND =N$0€€780_ORV002_^1_%EOR =N$0380_ORV002_^1_%SAN SETLN_(N=NOT MATRIX PRINTER_1P1*H0017_^1_%LDA =APR_)ASCII CHARS.'PR'_8RV002_^1_%STA* KB_TRV002_^1_%LDA =N$5420_%ASCII CHARS.'RT'_8RV002_^1_%STA* KB+1_)SET KB TYPE='PRT'_7RV002_^1_%LDA =N$2020_ORV002_^1_%STA* DS_+PRESET DISPLAY TYPE_5RV002_^1_%STA* DS+1_.TP BLANKS_:RV002_^1_%STA* MO_+PRESET MODE FIELD_7RV002_^1_%STA* MO+1_.TO BLANKS_:RV€€002_^1_%JMP* SETLN2_PRV002_^1SETLN LDA* SA1_*CHECK IF RESERVED_4P1*H0017_^1_%AND =N$0780_LP1*H0017_^1_%ARS 7_RP1*H0017_^1_%INA -4_QP1*H0017_^1_%SAM SETLN1_MP1*H0017_^1_%INA -3_QP1*H0017_^1_%SAP SETLN1_MP1*H0017_^1_%JMP* (SETLIN)_KP1*H0017_^1SETLN1 LDA* SA1_SRV002_^1_%ALS 5_^1_%CLR Q_^1_%LLS 1_^1_%QLS 1_^1_%LDA* DST,Q_^1_%STA* DS_^1_%LDA* DST+1,Q_^1_%STA* DS+1_^1_%LDA* SA€€1_*CHECK KEY-BOARD TYPE_^1_%ALS 6_^1_%CLR Q_^1_%LLS 2_^1_%QLS 1_^1_%LDA* KBT,Q_^1_%STA* KB_^1_%LDA* KBT+1,Q_^1_%STA* KB+1_^1_%LDA* SA1_^1_%ALS 8_^1_%CLR Q_^1_%LLS 1_^1_%QLS 1_^1_%LDA* MOT,Q_^1_%STA* MO_^1_%LDA* MOT+1,Q_^1_%STA* MO+1_^1SETLN2 LDA =XLINE-P2-1_KRV002_^1_%RTJ PRNT1_QRV002_^1_%JMP* (SETLIN)_^1*_]_^1_%EJT_]_^1*_]_^1HDR1_!ALF 9,1TYPE K/B DSP MODE_^1HDR2_!ALF 9€€,1 TER K/B DSP MODE_^1LINE_!ALF 1, 01 029 CRT STD_^1TN_#ALF 2,_^1KB_#ALF 2,_^1DS_#ALF 2,_^1MO_#ALF 2,_^1ERR1_!ALF 9, ILLEGAL REQUEST_^1ERR2_!ALF 9, XX ILLEGAL TYPE_^1*_]_^1KBT_"ALF 2,029_(LINE SUB PARAMETERS_^1_%ALF 2,TTY_^1_%ALF 2,ADD_^1_%ALF 2,TTN_^1DST_"ALF 2,752_NP1*H0017_^1_%ALF 2,480_NP1*H0017_^1MOT_"ALF 2,STD_^1_%ALF 2,SUP_^1*_]_^1MOUT_!ALF 5, VLTP OUT_^1€p_%NUM $0D0A_^1*_]_^1MIN_"ALF 4, VLTP IN_^1_%NUM $0D0A_^1_%EJT_]_^1DEFTYP TYPE 0,0_*STANDRD TYPES TABLES_^1_%TYPE 1,1_^1_%TYPE 2,2_^1_%TYPE 3,3_^1_%TYPE 4,4_^1_%TYPE 5,5_^1_%TYPE 6,6_^1_%TYPE 7,7_^1_%TYPE 8,8_^1_%TYPE 9,9_^1_%TYPE 10,10_^1_%TYPE 11,11_^1_%TYPE 12,12_^1_%TYPE 13,13_^1_%TYPE 14,14_^1_%TYPE 15,15_^1*_]_^1_%SPC 3_^1SYSTYP BZS SYSTYP(64)_^1_(END_^__ pPVLSTRT CSY/ P€1_%NAM VLSTRT_'DECK-ID B08 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* VLSTRT IS THE CYBERDATA START UP PROGRAM._306*C1332_^1* IT IS LOADED BY THE SYSTEM,AFTER AUTOLOAD PROCEDURE_)06*C1332_^1* OR VL M.I COMMAND, TO AREA 5, WITH PRIORITY 6._.06*€€C1332_^1* MAIN FUNCTIONS:_M06*C1332_^1* 1.GET NO. OF TERMINALS AND AVERRAGE RECORD LENGTH_+06*C1332_^1* 2. CALCULATE AND ALLOCATE REQUIRED MEMORY FOR CYBERDATA_$06*C1332_^1* 3. INITIATE CYBERDATA TABLES AND BUFFERS._306*C1332_^1* 4. CLEAR TERMINAL CONTROLLERS AND INITIATE CLOCK INTERRUPT LINE._^1* 5 SET CYBERDATA ACTIVE FLAG (MIBVL)_906*C1332_^1* 6. CALL CLR PROGRAM_I06*C1332_^1* S€€ST_]_^1_(EQU_$SST($47)_^1_(EQU_$SLOCK(1)_^1_(EQU_$PRDA(3)_^1_(EQU_$THCRT(4)_^1_(EQU_$THSLFS(5)_^1_(EQU_$FRPLL(6)_^1_(EQU_$FRPUL(7)_^1_(EQU_$FRPP(8)_^1_(EQU_$ATTB(10)_^1_(EQU_$IBL(14)_^1_(EQU_$TIQ(15)_^1_(EQU_$CLOCKM(16)_^1_(EQU_$CLOCKS(17)_^1_(EQU_$NTRVAL(18)_^1_(EQU_$ATTLNG(19)_^1_(EQU_$TEMP1(20)_^1_(EQU_$TEMP2(21)_^1_(EQU_$TEMP3(22)_^1_(EQU_$TEMP4(23)_C06*C1353_^1_(EQU_$CATT(11)_€€^1* TRANSFER VECTOR_^1_(EQU_$GETBIN($99),DISPLY($A0),DISPCH($EA)_^1_(EQU_$CLCDWA($90)_A05*C1094_^1_(EQU_$ENTPRG($9E)_^1*EST_]_^1_(EQU_$TR12($22)_^1_(EQU_$TR34(1)_^1_(EQU_$ACWT(2)_^1_(EQU_$MAXCDV(3),MAXSPT(3)_^1_(EQU_$MAXOCD(4),MAXMTP(4)_^1_(EQU_$SFDA(5)_^1_(EQU_$ESSF(6)_^1_(EQU_$RCSSF(7)_^1_(EQU_$LJDDA(8)_^1_(EQU_$LDDDA(9)_^1_(EQU_$PRDDA(10)_^1_(EQU_$TRT1(11)_^1_(EQU_$FBA(15)_^1_(E€€QU_$ASRCHB(16)_^1_(EQU_$TRTDA(17)_^1_(EQU_$CDVDA(21)_^1_(EQU_$ABTADR(22)_^1_(EQU_$SPIL(23)_^1_(EQU_$LUND1(25)_C05*C1094_^1_(EQU_$DSKST(29)_^1_(EQU_$WES(30)_^1_(EQU_$MAXREC(38)_^1_(EQU_$JDATE(40)_^1_(EQU_$TTBDA(41)_^1*ATT_]_^1_(EQU_$CMODE(2)_^1_(EQU_$IRB(27)_^1_(EQU_$TOPTAD(33)_^1_(EQU_$SUPIN(36)_^1_(EQU_$SUPOUT(37)_^1_(EQU_$SUPTAP(38)_^1_(EQU_$BASIN(39)_^1_(EQU_$BASOUT(40)_^1* CONF€€IGURATION EQUATES_^1_(EQU_$MAXTN(63)_(MAX.TERMINALS_^1* 1 CARD DELETED_OP1*H0017_^1_(EQU_$TOPT2L(16)_'CRT TOPT LENGTH_^1_(EQU_$BLOKL(8)_(ALD BLOCK LENGTH_^1_(EQU_$BLOKF(3)_(LOG 2 OF BLOKL_^1* FREE CORE CONSTANTS EQUATES_^1_(EQU_$C1(200),C2(100),C3(70),C4(50)_/06*C1343_^1_(EQU_$D1(2000)_D06*C1343_^1_(EQU_$D2(D1+C1*16)_@06*C1343_^1_(EQU_$D3(D2+C2*16)_@06*C1343_^1_(EQU_$D4(D3+C3*16)_@€€06*C1343_^1* GENERAL EQUATES_^1_(EQU_$LPMASK(2)_^1_(EQU_$NZERO($12)_^1_(EQU_$ZERO($22)_^1_(EQU_$ONEBIT($23)_^1_(EQU_$ZROBIT($33)_^1_(EQU_$SIX($44)_^1_(EQU_$EXTBL($E9)_'EXTENDED SYS TABLE_(05*C1094_^1_(EQU_$CORIMG(4)_(CORE IMAGE SEC ADR_(05*C1094_^1_(EQU_$TEN($46)_^1* EXTERNALS_^1_(EXT_$STJLNG_+MAXCDV/MAXSPT (WORD 3 IN EST)_^1_(EXT_$SIABTW_+ABT LENGTH (WORDS)_^1_(EXT_$INTLIN_+POSITI€€ON OF INT.LINE,IN CRT_^1_(EXT_$FREEBK_+POINTER TO THE FREE CHAIN IN ALD_^1_(EXT_$MIBVL_,VALIDATA ON/OFF SWITCH_^1_(EXT_$VLBCKG_+BACKGROUND SWITCH_^1_(EXT_$VLA5_-LENGTH OF SYSTEM AREA 5_^1_(EXT_$TOTAVL_+MAX.CORE AVAILABLE TO VALIDATA_^1_(EXT_$BD_/CONVERT BINARY TO DECIMAL SUBROUTINE_^1_(EXT_$VLILIN_+VALIDATA INTERRUPT TRAP LOCATION_^1* 1 CARD DELETED_OP1*H0017_^1_(EXT_$AYERTO,AMONTO€€,ADAYTO_^1_(EXT_$HORMIN_F01*C1009_^1_(EXT_$SIBSEC,SIESEC_?01*C1009_^1_(EXT_$VLSTR1_F08*C1519_^1_%EXT VLXXX_^1*_]_^1VLSTRT_!NUM_$$C8FE_,LDA* *-1_^1*_]08*C1519_^1_(STA*_#REL1+2_F01*C1009_^1_(STA-_#FRPLL+SST_^1_(STA-_#SST+FRPUL_C08*C1519_^1_(ADD_$=XVLEND-VLSTRT+1_^1_(STA-_#FRPP+SST_^1_(RTJ_$ABSADR_^1_(ADC*_#TTB+64_+TTB = TERMINALS TABLE_^1_(STA_$READCA_+END OF TABLE ADDRESS +1_^1_(LD€€Q-_#SST_^1_(LDA-_#TTBDA,Q_*TTB DISK ADD._^1_(ENQ_$8_/ENTRY OF TBTTBL_^1_(RTJ_$GETTBL_+READ TTB TO CORE_^1_(LDQ-_#SST_^1_(LDA-_#PRDDA,Q_*PRD DISK ADD._^1_(ENQ_$2_^1_(RTJ_$GETTBL_*READ PRD ENTRIES TO CORE_^1_(LDQ-_#SST_^1_(LDA-_#MAXOCD,Q_^1_(ARS_$8_^1_(AND-_#LPMASK+8_)MAX.OWN CODES_^1_(INA_$1_K05*C1215_^1_(ADD_$PRDE+7_+DISTANCE TO THE OCD'S ENTRIES_^1_(STA_$TBPRDL_F01*C1009_^1* TYPE:€€ NO.OF TERMINALS =_^1FW1_$RTJ_$PUTMSG_^1_(ADC_$MES1-WRITEM_^1_(ADC_$EMES1-MES1_^1*_]_^1_(RTJ_$READIT_+GET REPLY IN A_^1_(JMP*_#EXITCK_+GO CHECK FOR *_,01*C1009_^1_(SAN_$2_K08*C1520_^1*_#IF A=0 WORK AS THERE IS 1 TER % BEFORE EXITING VLSTRT_"08*C1520_^1_(ENA_$1_3MOVE 0 BACK TO TER NO. 08*C1520_^1_(STA*_#SWTER0_F08*C1520_^1_(INA_$-MAXTN-1_)LESS THAN MAX ?_^1_(SAM_$VL2_.YES - OK_^1FW€€12_#JMP*_#FW1_.READ AGAIN_^1_(BZS_$SWTER0_F08*C1520_^1VL2_$INA_$MAXTN+1_^1_(STA-_#SST+SLOCK_(SAVE NO. OF TERMINALS_^1* CHECK NO.OF TERMINALS -1_^1_(INA_$-1_^1_(ARS_$3_0A=NO.OF CONTROLLERS_^1_(LDQ-_#SST_^1_(AAQ_$Q_^1_(LDA-_#WES,Q_^1***_"ONE CARD DELETED WES IS ZERO IF NOT CONNECTED_+P0*H0008_^1_(SAN_$VLCONT_+O.K_^1_(JMP*_#FW1_^1EXITCK_!LDA_$INBUF_,ISOLATE FIRST CHARACTER_"01*C1009_^€€1_(ARS_$8_K01*C1009_^1_(AND-_#LPMASK+8_D01*C1009_^1_(INA_$-$2A_-WAS IT AN ASTRISK_)01*C1009_^1_(SAZ_$REL1_-YES_701*C1009_^1_(JMP*_#FW1_.NO,TRY AGAIN_.01*C1009_^1REL1_#RELEAS_!0,0_.RELEAS VLSTRT AND EXIT_#01*C1009_^1_(JMP-_#($EA)_G01*C1009_^1*_]_^1*_]08*C1519_^1* CALCULATE CYBERDATA DATA STORAGE BUFFER LENGTH_.01*C1009_^1VLCONT_!LDA_$=XSIESEC_D08*C1519_^1_(SUB_$=XSIBSEC_D01*C1009_^1€€_(INA_$1_K01*C1009_^1_(ADD-_#ONEBIT+8_D01*C1009_^1_(LLS_$8_K02*C1034_^1_(LDA-_#(SST)_G01*C1009_^1_(ALS_$8_K01*C1009_^1_(LRS_$8_K01*C1009_^1_(STA-_#(SST)_,SAVE AS TRT1 LENGTH_'01*C1009_^1*_]01*C1009_^1_(JMP_$RQCORE_+RQEST CORE FOR N TERMINALS 08*C1519_^1* CHECK IF ALLOCATED CORE BEGINS BEFORE VLSTRT_006*C1341_^1RQBACK RTJ ABSADR_MP0*H0008_^1_(ADC*_#VLSTRT_+START ADDRESS OF VLSTRT_"€€06*C1341_^1_(SUB-_#SST+FRPLL_(START OF ALLOCATED CORE_"06*C1341_^1_(INA_$-2_J06*C1341_^1_(SAM_$CLRARA_F06*C1341_^1_(CLR_$A_K08*C1519_^1_(STA_$VLMOVE_F08*C1519_^1_(JMP_$VLMOV1_F08*C1519_^1*_]_^1* CLEAR AREA FOR TABLES_^1*_]_^1CLRARA RTJ ABSADR_MP0*H0008_^1_(ADC*_#VLMOVE_F08*C1519_^1_(STA-_#SST+FRPP_)END OF VLSTRT_^1_(SUB-_#SST+FRPUL_^1_(TCA_$Q_0DISTANCE FROM VLEND TO UPPER LIMIT_^1€€_(CLR_$A_^1CLRLOP_!STA_$VLMOVE,Q_D08*C1519_^1_(INQ_$-1_^1_(SQZ_$BUILD_^1_(JMP*_#CLRLOP_^1*_]_^1* SET UP TABLE ADDRESSES IN SST_^1*_]_^1BUILD_"LDQ-_#SST_^1_(LDA-_#FRPUL+SST_(UPPER LIMIT FOR ALLOCATED CORE_^1_%SUB TBFBAL_MP0*H0008_^1_(STA-_#FBA,Q_,FBA ADD._^1_%SUB TBTIQL_MP0*H0008_^1_(STA-_#TIQ+SST_*TIQ ADD._^1_%SUB TBATTL_MP0*H0008_^1_(STA-_#ATTB+SST_)ATT(0) ADD._^1_(STA-_#FRPUL+€€SST_^1**************************************************_-P0*H0008_^1*_$CHECK CONTROLLER ROUTINE IS MOVED TO HERE *_-P0*H0008_^1**************************************************_-P0*H0008_^1*_]_^1*_$CHECK CONTROLLERS_^1*_]_^1CKCONT CLR A_^1_%STA- I_^1_%LDA- SLOCK+SST_#NO. OF TERMINALS_^1_%INA -1_^1_%ARS 3_^1_%STA- TEMP1+SST_#NO. OF CONTROLLERS_^1CKLOOP LDA- TEMP1+SST_^1_%SAP 1€€_^1_%JMP* CKINT_^1_%INA -1_^1_%STA- TEMP1+SST_^1_%RAO- I_,CONTROLLER NO._^1_%LDA =X$7FFF-100_^1_%STA- TEMP2+SST_^1_%ENA 1_,CLEAR CONTR. INT. CODE_/P0*H0008_^1_%STA- TEMP3+SST_^1_%SOV 0_^1STCONT LDQ- SST_^1_%LDQ- WES-1,B_%WES OF CURRENT CONTROLLER_^1_%INQ 4_,ADJUST FOR UNIT FUNCTION_-P0*H0008_^1_%LDA- TEMP3+SST_^1_%OUT REJ1-*_'REJECT_^1_%JMP* CLKINT_^1REJ1_!NOP_]_^1_%RAO- TEMP€€2+SST_^1_%SOV 1_^1_%JMP* STCONT_'TRY AGAIN_^1_%LDA- I_,TOO MANY REJECTS_^1_%STA- TEMP2+SST_#SAVE I REGISTER_^1_%EOR =N$2030_^1_%STA MES51_(SET CONTR. NO IN MESSAGE_^1_%RTJ PUTMSG_^1_%ADC MES5-WRITEM_^1_%ADC EMES5-MES5_^1_%LDA- TEMP2+SST_^1_%STA- I_^1_%JMP* CKLOOP_'CONTINUE_^1_%SAZ 1_^1CLKINT LDA- TEMP3+SST_^1_%INA -1_^1_%SAZ 1_^1_%JMP* CKLOOP_^1_%ENA $20_*REQUEST TIMER IN€€TERRUPT_.P0*H0008_^1_%STA- TEMP3+SST_^1_%JMP* STCONT_^1******************************_^1* CHECK CLOCK INTERRUPT_#*_^1******************************_^1*_]_^1CKINT IIN_]_^1_%LDQ VLXXX_(GET CYBERDATA INTERRUPT LINE NUMBER_^1_%QLS 2_^1_%CLR A_^1_%STA- (ONEBIT+8),Q_^1_%EIN_]_^1_%SOV 0_^1CKINT1 LDA- (ONEBIT+8),Q_^1_%SAN BLDAT_(INTERRUPT HAS OCCURED_0P0*H0008_^1_%RAO- TEMP1+SST_#NO€€ INTERRUPT_^1_%SOV REJ2_^1_%JMP* CKINT1_'TRY AGAIN_^1REJ2_!RTJ PUTMSG_^1_%ADC MES6-WRITEM_^1_%ADC EMES6-MES6_^1_%JMP ABORT1_^1*_]_^1* SET TERMINALS TYPE AND NUMBER,TOPT ADDRESS AND CURRENT MODE IN ATT._^1*_]_^1BLDAT LDA- ATTB+SST_KP0*H0008_^1_(STA-_#I_0I=ATT BASE ADDRESS_^1_(ENQ_$0_^1BLDATT_!LDA-_#ONEBIT+14_^1_(STA-_#CMODE,I_*SET IDK IDLE_^1_(LDA_$TTB,Q_^1_(STA-_#(I)_.SET TER€€. TYPE AND NO._^1_(SQN_$1_^1_(JMP*_#NXTATT_^1_%AND =N$0780_ORV002_^1_%EOR =N$0380_ORV002_^1_%SAZ BLDAT1_'Z=DEVICE IS MATRIX PRINTER_.RV002_^1_%LDA- (I)_SRV002_^1_(AND-_#ZROBIT+7_)CLEAR SUP. BIT_^1_(STA-_#(I)_^1BLDAT1 ENA -TOPT2L_%SET TOPT LENGTH_6P1*H0017_^1_(ADD-_#FRPUL+SST_^1_(STA-_#TOPTAD,I_)SET TOPT ADD. IN ATT_^1_(STA-_#FRPUL+SST_^1_(STQ-_#TEMP2+SST_(SAVE Q_^1_(INQ_$-1_^1_€€(QRS_$3_0Q=CONTROLLER#_^1_(ADQ-_#SST_^1_(LDA-_#WES,Q_^1_(LDQ-_#TOPTAD,I_^1_(STA-_#1,Q_^1_(LDA-_#TEMP2+SST_(TER.NO._^1_(INA_$-1_^1_(AND-_#LPMASK+3_^1_%ALS 3_,SET CHANNEL IN POSITION_.P0*H0008_^1_(EOR-_#1,Q_^1_(STA-_#1,Q_.SET WES IN TOPT_^1_%TRA Q_,WES TO Q_=P0*H0008_^1_%INQ 1_,ADJUST FOR CHANNEL FUNC._-P0*H0008_^1_%ENA $28_*7BIT/EVEN PARITY/1 STOP BIT_*P2*L0009_^1_%OUT -1_+CHAN€€NEL FUNCTION_5P0*H0008_^1_%LDQ TOPTAD,I_$RESTORE Q_P1*H0017_^1_%AND- ONEBIT+10_,TERMINAL_5P1*H0017_^1_%ALS 6_=TYPE_0P1*H0017_^1_%STA* TTYPE_(AND STORE IN TTYPE_3P1*H0017_^1_%SPC 1_RP1*H0017_^1_%TRA Q_RP1*H0017_^1_%LDA* SWTAB,Q_%FETCH APPROPRIATE TABEL ADDRESS_%P1*H0017_^1_%STA* ACTAB_NP1*H0017_^1_%ENQ 5_RP1*H0017_^1XFER_!LDA* (ACTAB),Q_#TRANSFER_=P1*H0017_^1_€€%STA* CARLIN,Q_.DISPLAY_5P1*H0017_^1_%INQ -1_P1*H0017_^1_%SPC 2_RP1*H0017_^1F752A LDA* BYTIND_'TEST IF UPPER BYTE_3P1*H001€€7_^1_%SAZ FA_+YS% CONVERT_:P1*H0017_^1_%JMP* CD60_)NO% TREAT NORMAL_5P1*H0017_^1FA_#LDA- STRPTR_'TEST_AP1*H0017_^1_%INA 1_0IF_?P1*H0017_^1_%AND- LPMASK+BLOKF_'STRING_9P1*H0017_^1_%EOR- LPMASK+BLOKF_,EXPANDABLE_0P1*H0017_^1_%SAN FA1_*YS% GO TO FA1_8P1*H0017_^1_%EOR- ONEBIT+7_$NO% SET UP FILLER_4P1*H0017_^1_%EOR- ONEBIT+15_JP1*H0017_^1_%STA- (STRPTR)_KP1*H0017_^1_%JMP* CD8_*MOVE T€€O NEXT_9P1*H0017_^1FA1_"LDA =XEC752*256+ON752 SET UP ADDR PREFIX_/P1*H0017_^1_%STA- (STRPTR)_KP1*H0017_^1_%RAO- STRPTR_MP1*H0017_^1_%LDA- RQ,I_OP1*H0017_^1_%AND =N$1F7F_%ISOLATE ADDRESS BITS_1P1*H0017_^1_%ADD =N$2020_%MAKE_AP1*H0017_^1_%ALS 8_0X AND Y_:P1*H0017_^1_%JMP CD600_(MOVE TO NEXT_9P1*H0017_^1_%EJT_UP1*H0017_^1*_$CONVERT CONTROL CHARACTER_?P1*H0017_^1_%SPC 2_RP1*H0017€€_^1F752C INA EI480+1-CS480 TEST IF CHAR LE THAN CLEAR SCR_'P1*H0017_^1_%SAP FC_QP1*H0017_^1_%JMP* FC3_*NO% TEST FOR CLEAR LINE_.P1*H0017_^1FC_#TRA Q_RP1*H0017_^1_%LDA* CODE,Q_'YS% CONVERT TO 752 CODE_.P1*H0017_^1_%STA* FCTMP_NP1*H0017_^1_%LDQ* BYTIND_MP1*H0017_^1_%LDA- RQ,I_OP1*H0017_^1_%SQN FC1_PP1*H0017_^1_%ALS 8_RP1*H0017_^1FC1_"AND- NZERO+8_LP1*H0017_^1_%EOR* FCTMP_NP1*H0€€017_^1_%SQN FC2_PP1*H0017_^1_%ALS 8_RP1*H0017_^1FC2_"STA- RQ,I_)STORE BACK IN RQ_5P1*H0017_^1_%LDQ- TOPT,I_'RESTORE Q REG_8P1*H0017_^1_%JMP* F7522_(GET NEXT BYTE_8P1*H0017_^1_%SPC 1_RP1*H0017_^1FCTMP NUM 0_,TEMP STORAGE_9P1*H0017_^1CODE_!ADC CS752_'19_DP1*H0017_^1_%NUM $80_)1A_DP1*H0017_^1_%NUM $80_)1B_DP1*H0017_^1_%ADC SI752_'1C_DP1*H0017_^1_%ADC EI752_'1D_DP1*H0017_^1_%€€SPC 1_RP1*H0017_^1FC3_"INA CS480-CL480_!TEST IF CHAR EQ CLEAR LINE_+P1*H0017_^1_%SAZ FC4_*YS% GO TO FC4_8P1*H0017_^1_%JMP* F7522_(NO% GET NEXT BYTE_4P1*H0017_^1FC4_"LDA* BYTIND_'TEST IF UPPER BYTE_3P1*H0017_^1_%SAN FC5_PP1*H0017_^1_%LDA- RQ,I_)YS% CONVERT UPPER BYTE_/P1*H0017_^1_%AND- LPMASK+8_)AND EXPAND LOWER BYTE_,P1*H0017_^1_%EOR- ONEBIT+15_JP1*H0017_^1_%STA- RQ,I_OP1*H0017€€_^1_%LDA =XCR752*256+CL752_BP1*H0017_^1_%STA- (STRPTR)_KP1*H0017_^1_%JMP* CD8_PP1*H0017_^1FC5_"LDA- RQ,I_)NO% DO NOT CONVERT_3P1*H0017_^1_%AND- NZERO+8_*BUT EXPAND LOWER BYTE_,P1*H0017_^1_%EOR- ONEBIT+7_KP1*H0017_^1_%STA- (STRPTR)_KP1*H0017_^1_%LDA =XCL480*256+$80_DP1*H0017_^1_%STA- RQ,I_OP1*H0017_^1_%JMP* CD8_PP1*H0017_^1_%EJT_UP1*H0017_^1*_]_^1***_]_^1*_]_^1* CONVERT CURSOR FRO€€M FORMAT AS STORED TO 2 5-BIT CHARACTERS_^1* PLUS ADDRESS BITS_^1*_]_^1* CURSOR IN A ON ENTRY: REFORMATTED IN A ON EXIT_^1* DOES NOT DESTRY Q OR ANY OF THE SST TEMP STORAGE_^1*_]_^1CONCSR_!NUM_$0_^1_%RTJ VLSET_NP1*H0017_^1_(STQ*_#TMP3_^1_(CLR_$Q_^1_(DVI_$CARLIN_^1_(ALS_$8_^1_(AAQ_$A_^1_(ADD_$=N$6040_E06*C1301_^1_%LDQ TTYPE_NP1*H0017_^1_%SQN CCSR_OP1*H0017_^1_%INA -$40_OP1*H0017€€_^1CCSR_!LDQ* TMP3_OP1*H0017_^1_(JMP*_#(CONCSR)_^1_(BZS_$TMP3_^1_(EJT_^1**_]_^1* DRIVER CONTINUATOR ENTR - ENTERED FROM VLINT: RETURNS TO VLINT_^1*** EXECUTED AT LINE INTERRUPT LEVEL ***_^1**_]_^1*_]_^1*_]_^1* TERMINAL INTERRUPT PROCESSOR-CRT/OUTPUT_^1*_]_^1*_]_^1* THIS PROGRAM IS ENTERED AFTER THE CLOCK HAS BEEN UPDATED_^1*_] P1*H0017_^1*_] P1*H0017_^1*_$OUTPUT IS PERFORMED BY VL2€€CRT FOR 970-480/481 AS WELL_"P1*H0017_^1*_$AS 752-X TERMINALS_FP1*H0017_^1*_] P1*H0017_^1*_] P1*H0017_^1*_]_^1***_]_^1*_]_^1* PROGRAM CODED FOR O/P OF 1/2 CHARS PER INTERRUPT_^1* TO SELECT OPSWIX ZERO/NONZERO_^1*_]_^1***_]_^1*_]_^1_(ENT_$VL2CRT_^1_(EQU_$EWES(1),THREAD(0)_^1_(EQU_$COL(2),JOB(5),FLDST(15)_506*C1301_^1*_]06*C1301_^1DELKT_"NUM_$0_K06*C1301_^1PASS2_"NUM_$0_K06*C1301_^1O€€PSWIX NUM 0_,NO REJECT IF CHR. RDY NOT SET_(P0*H0008_^1TOPIND NUM 0_,TOP OF THREAD INDICATOR_.P1*H0017_^1*_8=0 FOR 970-480/481_2P1*H0017_^1*_8=1 FOR 752-X_8P1*H0017_^1_%EJT_UP1*H0017_^1*_$INITIALISATION_JP1*H0017_^1_%SPC 1_RP1*H0017_^1VL2CRT LDA* OPSWIX_MP1*H0017_^1_%STA* PASS2_(INITIALISE% 2-PASS SWITCH_,P1*H0017_^1_%ENA 0_RP1*H0017_^1_%STA* TOPIND_3TOP OF THREAD IND_(P1*H00€€17_^1_%SPC 1_RP1*H0017_^1VL2CR1 LDA* TOPIND_'FLIP_AP1*H0017_^1_%EOR- ONEBIT_,TOP_=P1*H0017_^1_%STA* TOPIND_0INDICATOR_3P1*H0017_^1_%TRA Q_RP1*H0017_^1_%INA SST+TOP480_IP1*H0017_^1_%STA PRVCRT_'SETUP % PREVIOUS IN CHAIN_,P1*H0017_^1_%LDA LOKTAB+1,Q_IP1*H0017_^1_%STA LOKTAB_/LOCK TABLE_3P1*H0017_^1_%LDA MSGCDE+1,Q_IP1*H0017_^1_%STA MSGCDE_/MESSAGE CODE_1P1*H0017_^1_%LDQ- SST+€€TOP480,Q GET THREAD TO FIRST TERMINAL_)P1*H0017_^1_%SPC 1_RP1*H0017_^1VL2C1 INQ 0_,END OF THREAD_8P1*H0017_^1_%SQZ VL2C10_'YS% GO TO VL2C10_5P1*H0017_^1_%JMP* VL2C11_'NO% PROCESS OUTPUT_3P1*H0017_^1_%SPC 1_RP1*H0017_^1VL2C10 LDA* TOPIND_'TEST IF BOTH THREADS DONE_,P1*H0017_^1_%SAZ 1_,YS% TERMINATE THIS PASS_.P1*H0017_^1_%JMP* VL2CR1_'NO% GET NEXT THREAD_2P1*H0017_^1_%SPC 2_€€RP1*H0017_^1* CHECK FOR 1ST/2ND PASS ON OMPLETION OF 1ST_^1_(LDA*_#PASS2_,IF PASS SW=ZERO_^1_(SAN_$NOTFIN_F07*C1413_^1_(LDA+_#L5FLAG_+IF CALLED AT LEVEL 5_%07*C1413_^1_(SAZ_$EXIT10_F07*C1413_^1_(CLR_$A_K07*C1413_^1_(STA+_#L5FLAG_+CLEAR LEVEL 5 FLAG,_'07*C1413_^1_(JMP-_#(DISP)_+AND EXIT TO DISPATCHER_#07*C1413_^1EXIT10_!JMP+_#INT50_,LEVEL 10 EXIT_-07*C1413_^1*_]07*C1413_^1NOTFIN_!C€€LR_$A_0ELSE CLEAR IT_-07*C1413_^1_(STA*_#PASS2_^1LOOPBK_!JMP*_#VL2CR1_+AGTER DELAY PERFORM 2ND PASS_^1_%EJT_UP1*H0017_^1* GET WORD AT NEXT ADDRESS FOR O/P_^1VL2C11_!STQ-_#I_0TOPT ADDR TO I_^1*_] P1*H0018_^1_%LDA- EWES,I_'FETCH EWES FROM TOPT_1P1*H0018_^1_%AND- LPMASK+11_#REMOVE DELAY CYCLE_3P2*L0007_^1_%TRA Q_RP1*H0018_^1_%INP RX-*_)GET STATUS_;P1*H0018_^1_%ALS 5_,TEST IF BUFFER€€ FULL_2P1*H0018_^1_%SAP VL2C1C_'NO, GO TO VL2C1C_5P1*H0018_^1_%TRA Q_RP2*L0007_^1_%LDA- EWES,I_MP2*L0007_^1_%AND- LPMASK+15_JP2*L0007_^1_%LLS 16_QP2*L0007_^1_%ADQ- ONEBIT+15_#YS, SET FLAG FOR VLINP_/P1*H0018_^1_%STQ- EWES,I_MP1*H0018_^1VL2C1C ALS 12_+TEST IF CHAR REQUEST_1P1*H0018_^1_%SAM VL2C12_'YS, GO TO VL2C12_5P1*H0018_^1_%JMP* VL2C13_'NO, ADVANCE TO NEXT TERM_-P1*H0018_^1€€*_] P1*H0018_^1* IF SYSTEM LOCK BITS ON O/P LL AND BUZZER_^1VL2C12_!CLR_$A_0CLEAR LOOP-BACK FLAG_^1_(STA*_#LBFLAG_^1_(LDA-_#BLOKS,I_*TERMINAL NEED LOCKING?_^1_(ARS_$4_^1_(AND-_#LPMASK+3_^1_(SAN_$VL2C1A_+YES: SKIP_106*C1301_^1VL2C1B_!LDA-_#FLDST,I_*NO : IS A MSG TO DISP_$06*C1301_^1_(SAP_$VL2C1Y_1NO: O/P DATA_(06*C1301_^1_(LDA-_#COL,I_1YES: HAS MSG BEEN_#06*C1301_^1_(SAP_$VL2C1Y_+IN€€ITIATED? NO_,06*C1301_^1_(JMP*_#MSGOPS_+YES:_606*C1301_^1*_BJMP TO MSG PROCESSOR_%06*C1301_^1VL2C1Y_!JMP*_#VL2C1X_F06*C1301_^1*_]06*C1301_^1VL2C1A_!TRA_$Q_K06*C1301_^1_(INA_$-7_J06*C1301_^1_(SAN_$1_0HAS LOCK BEEN INITIATED?_!06*C1301_^1_(JMP*_#VL2C1B_+NO: CHECK FOR MSG_)06*C1301_^1_%LDA (LOKTAB),Q_"YS% FETCH LOCK IND CODE_.P1*H0017_^1***_"CORRECTION TO CHECK CHARACTER REQUEST FLA€€G ON 1843-2_#P0*H0008_^1_%RTJ OUTPUT_MP0*H0008_^1_(LDA-_#BLOKS,I_*DECREMENT LOCK-TABLE INDEX_^1_(INA_$-$10_^1_(STA-_#BLOKS,I_^1K70_$AND_$=N$70_^1_(LDQ-_#TOPSTR,I_D06*C1301_^1_%SAZ K77_*LOCK COUNT ZEROS_5P1*H0017_^1_%JMP* VL2C13_MP1*H0017_^1K77_"JMP* RELBK2_'YES% CHECK IF TERM FINI_.P1*H0017_^1* GET WORD AT NEXT ADDRESS FOR O/P_^1VL2C1X_!LDQ-_#TOPSTR,I_)GET TOP-OF-STRING ADDR_^1_(€€LDA-_#BLOKS,I_*GET BYTE INDIC_^1_(LDQ-_#(ZERO),Q_)GET WORD FOR O/P_^1_(SAM_$BYTE1_,SKIP IF BYTE1_^1_%EJT_UP1*H0017_^1* BYTE ZERO PROCESSING_^1BYTE0_"SQM_$BYTE1_,IF BYTE ZERO FILLER SEE BYTE1_^1_(TRQ_$A_^1_(ALS_$8_0NOT FILLER: MOVE TO 8L.S. FOR O/P_^1* OUTPUT_]_^1_%RTJ DATOUT_MP1*H0017_^1_%SQN VL2C13_MP1*H0017_^1_(SAP_$BYTE01_+8M.S. BITS FILLER?_^1_(JMP*_#BYTE11_+YES: ADVANCE TO N€€EXT WORD_^1BYTE01_!LDA-_#BLOKS,I_*NO: FLIP BYTE INDICATOR_^1_(EOR-_#ONEBIT+15_(FOR NEXT CHARACTER_^1_(STA-_#BLOKS,I_^1* ADVANCE TO NEXT TERMINAL_^1VL2C13_!LDA-_#I_0CURRENT TERMINAL BECOMES PREVIOUS_^1_(STA*_#PRVCRT_^1_(LDQ-_#(I)_.PICK UP THREAD TO NEXT TERMINAL_^1_(JMP*_#VL2C1_^1* BYTE ONE PROCESSING_^1BYTE1_"QLS_$8_^1_(STQ*_#LBFLAG_+SET/CLEAR LOOP-BACK FLAG_^1_(SQM_$BYTE11_+IF FIL€€LER SKIP HAVING SET LB FLAG_^1_(LLS_$8_0ELSE MOVE TO A 8LS FOR O/P_^1_%RTJ DATOUT_MP1*H0017_^1_%SQZ BYTE11_MP1*H0017_^1_%JMP* VL2C13_MP1*H0017_^1* STEP UP TO NEXT WORD IN BLOCK_^1BYTE11_!RAO-_#TOPSTR,I_)INCREMENT TOP-OF-STRING_^1_(LDA-_#BLOKS,I_*CLEAR BYTE INDIC_^1_(AND-_#LPMASK+15_^1_(STA-_#BLOKS,I_^1* CHECK FOR END OF BLOCK_^1_(LDA-_#TOPSTR,I_^1_(AND-_#LPMASK+BLOKF_^1_(EOR-_#LP€€MASK+BLOKF_^1_(SAZ_$RELBLK_+IF END-OF-BLOCK SKIP TO RELEASE BLOK_^1* CHECK FOR END-OF-DATA_^1_(LDQ-_#TOPSTR,I_^1_(LDA-_#(ZERO),Q_)NEXT WORD IN BLOCK ZERO?_^1_(SAZ_$RELBLK_+YES: RELEASE BLOCK_^1_(JMP*_#RELBK1_+NO: STORE ITS ADDR AS TOP-OF-STRING_^1_%EJT_UP1*H0017_^1* RELEASE BLOCK_^1RELBLK_!LDA_$FREEBK_+SAVE TEMP ADDR OF_^1_(STA*_#TEMP4_,NEXT FREE BLOCK_^1_(LDA-_#BLOKS,I_*DECREMENT €€NO OF BLOCKS USED_^1_(INA_$-1_^1_(STA-_#BLOKS,I_^1*_]_^1_(LDA-_#TOPSTR,I_^1_(TRA_$Q_^1_(AND-_#NZERO+BLOKF_$GET HEAD-OF-BLOCK ADDR: STORE_^1_(STA_$FREEBK_+AS NEXT FREE BLOCK_^1*_]_^1_(LDA*_#TEMP4_,STORE FORMER CONTENTS OF_^1_(STA_$(FREEBK)_)'NEXT FREE BLOCK' IN RELEASED BLOCK_^1_(LDQ-_#(ZERO),Q_)GET CONT OF NEXT WORD_^1*_]_^1RELBK1_!STQ-_#TOPSTR,I_)STORE AS TOP-OF-STRING_^1RELBK2_!S€€QZ_$RELBK3_+TOP-OF-STRING ZERO?_^1_(LDA*_#LBFLAG_+NO: LOOP-BACK FLAG ON?_^1_(SAP_$RELBKA_^1_(JMP*_#VL2C1X_+YES: LOOP BACK_^1RELBKA_!JMP*_#VL2C13_+NO: GO TO NEXT TERMINAL_^1_%EJT_UP1*H0017_^1* TOP-OF-STRING ZERO: UNTHREAD TERMINAL_^1RELBK3_!LDA-_#BLOKS,I_*LOCK O/P NEEDED?_^1_(AND*_#K70+1_^1_(SAZ_$RELBK5_+NO: CHECK FOR MSG_)06*C1301_^1* INDICATE LOCK O/P IN PROGRESS_^1_%LDA- BLOKS,I_€€%YS% DECREMENT LOCK BITS TO 6 TO_$P1*H0017_^1_%INA -$10_.INDICATE LOCK O/P UNDER WAY_$P1*H0017_^1_%STA- BLOKS,I_LP1*H0017_^1_%JMP* VL2C13_MP1*H0017_^1* CHECK IF MSG OUTPUT IS REQUIRED_=06*C1301_^1RELBK5_!LDA-_#FLDST,I_*MSG FLAG SET?_-06*C1301_^1_(SAP_$RELBK4_+NO: UNTHREAD TERMINAL_$06*C1301_^1_(LDA-_#COL,I_,YES: SET MSG STARTED FLAG 06*C1301_^1_(EOR-_#ONEBIT+15_C06*C1301_^1_(STA€€-_#COL,I_G06*C1301_^1_(JMP*_#VL2C13_F06*C1301_^1* UNTHREAD TERMINAL_^1RELBK4_!LDQ-_#(I)_.MOVE THREAD TO NEXT TERMINAL_^1_(STQ*_#(PRVCRT)_)TO TOPT OF PREVIOUS TERMINAL_^1_(CLR_$A_0SET OWN THREAD WORD TO ZERO_^1_(STA-_#(I)_^1_%JMP VL2C1_NP1*H0017_^1***_"MOVED TO OUTPUT ROUTINE_AP0*H0008_^1_(BZS_$PRVCRT,LBFLAG,TEMP4_^1RX_#JMP* RY_+INTERNAL REJECT_6P1*H0017_^1_%JMP* RY+1_)EXTERNAL REJ€€ECT_6P1*H0017_^1_%EJT_UP1*H0017_^1MSGOPS ENQ 0_,INITIALISE_;P1*H0017_^1_%STQ* MSGIDX_2MSGIDX_4P1*H0017_^1_%ENQ 2_7JOBPTN_4P1*H0017_^1MSG00 STQ* JOBPTN_MP1*H0017_^1_%LDA- JOB,B_(TRANSFER_=P1*H0017_^1_%LDQ* MSGIDX_,JOBFLAGS_8P1*H0017_^1_%LLS 1_6INTO MSGIDX_0P1*H0017_^1_%STQ* MSGIDX_MP1*H0017_^1_%LDQ* JOBPTN_MP1*H0017_^1_%SQZ MSGX0_NP1*H0017_^1_%INQ -1_QP1*H0017_^1_%JMP* MSG00_N€€P1*H0017_^1MSGX0 LDQ* MSGIDX_MP1*H0017_^1_%INQ -7_QP1*H0017_^1_%SQN MSGX1_(TEST IF ALL JOBFLAGS SET_-P1*H0017_^1_%JMP* MSG04_(YS% GO TO MSG04_6P1*H0017_^1MSGX1 INQ 8_,NO% INCREMENT TOTAL_2P1*H0017_^1_%STQ* MSGTOT_MP1*H0017_^1_%LDQ* MSGIDX_MP1*H0017_^1_%LDA* (MSGCDE),Q_"FETCH MESSAGE CODE_3P1*H0017_^1_%RTJ OUTPUT_'AND OUTPUT_;P1*H0017_^1_%ENQ 0_RP1*H0017_^1MSGX2 STQ* JOBPTN_€€MP1*H0017_^1_%LDA- JOB,B_NP1*H0017_^1_%ALS 1_RP1*H0017_^1_%LDQ* MSGTOT_'TRANSFER_=P1*H0017_^1_%LRS 1_RP1*H0017_^1_%STQ* MSGTOT_+TOTAL INTO_7P1*H0017_^1_%LDQ* JOBPTN_MP1*H0017_^1_%STA- JOB,B_1JOBFLAGS_4P1*H0017_^1_%INQ -2_QP1*H0017_^1_%SQZ MSGX3_NP1*H0017_^1_%INQ 3_RP1*H0017_^1_%JMP* MSGX2_NP1*H0017_^1MSGX3 JMP* VL2C13_MP1*H0017_^1_%SPC 2_RP1*H0017_^1JOBPTN NUM 0_RP1*H0017_^€€1MSGIDX NUM 0_RP1*H0017_^1MSGTOT NUM 0_RP1*H0017_^1_%SPC 2_RP1*H0017_^1RY_#JMP* REJ_*INTERNAL REJECT_6P1*H0017_^1_%JMP* REJ+1_(EXTERNAL REJECT_6P1*H0017_^1_%EJT_UP1*H0017_^1MSG04_"LDA-_#COL,I_,FIRST CHAR - USED AS A PTR 06*C1301_^1_(ALS_$1_0TO THE OTHER CHARACTERS_"06*C1301_^1_(SAM_$MSG08_,NOT FIRST - SKIP_*06*C1301_^1_(ALS_$7_K06*C1301_^1_(INA_$$20_I06*C1301_^1_%RTJ* OUTPUT_MP0€€*H0008_^1_(ALS_$8_K06*C1301_^1_(AND-_#LPMASK+8_D06*C1301_^1_(EOR_$=N$C200_*1ST CHAR POINTS TO 2,I_#06*C1301_^1_(STA-_#COL,I_G06*C1301_^1_(JMP*_#VL2C13_F06*C1301_^1*_]06*C1301_^1MSG08_"ALS_$1_0GET NEXT CHARACTER_(06*C1301_^1_(LLS_$6_K06*C1301_^1_(LDA-_#(ZERO),B_D06*C1301_^1_(ALS_$1_0FIRST IN WORD?_,06*C1301_^1_(SAP_$1_0YES: SKIP_106*C1301_^1_(ALS_$8_0NO: EXTRA SHIFT_+06*C1301_^1_(AL€€S_$7_K06*C1301_^1_(INA_$$20_I06*C1301_^1_(STQ*_#TEMP4_G06*C1301_^1_%RTJ* OUTPUT_MP0*H0008_^1_(LDQ*_#TEMP4_G06*C1301_^1_(SAM_$MSG12_,IF RIGHT CHAR, SKIP_'06*C1301_^1_(ALS_$8_K06*C1301_^1_(AND-_#ZROBIT+14_C06*C1301_^1_(EOR-_#ONEBIT+14_C06*C1301_^1_(STA-_#(ZERO),B_D06*C1301_^1JMPC13 JMP VL2C13_'EXIT_AP1*H0017_^1*_]06*C1301_^1MSG12_"INQ_$-2_/ADVANCE TO NEXT WORD_%06*C1301_^1_(SQN_$2_K€€06*C1301_^1_(ENQ_$5_K06*C1301_^1_(JMP*_#MSG14_G06*C1301_^1_(INQ_$2-7_I06*C1301_^1_(SQP_$2_K06*C1301_^1_(INQ_$7+1_I06*C1301_^1_(JMP*_#MSG14_G06*C1301_^1_(INQ_$7-15_H06*C1301_^1_(SQN_$MSG13_G06*C1301_^1_(STQ-_#FLDST,I_*CLEAR MSG FLAG_,06*C1301_^1_(LDQ-_#TOPSTR,I_D06*C1301_^1_(JMP*_#RELBK2_F06*C1301_^1MSG13_"ENQ_$15_J06*C1301_^1MSG14_"QLS_$8_0SAVE WD IN TOPT IN WD2_#06*C1301_^1_(LDA-_€€#NZERO+14_D06*C1301_^1_(AAQ_$A_K06*C1301_^1_(STA-_#COL,I_G06*C1301_^1_(JMP*_#JMPC13_F06*C1301_^1_%EJT_UP1*H0017_^1LOKTAB NUM 0_,SYSTEM LOCK O/P TABEL_0P1*H0017_^1_%ADC LKT480_MP1*H0017_^1_%ADC LKT752_MP1*H0017_^1_%SPC 1_RP1*H0017_^1LKT480 NUM $4C_*L_DP1*H0017_^1_%NUM $4C_*L_DP1*H0017_^1_%NUM $26_*LS ADDR_>P1*H0017_^1_%NUM $60_*MS ADDR_>P1*H0017_^1_%NUM $07_*BELL_AP1*H0017_€€^1_%NUM 0_,N/A_BP1*H0017_^1_%NUM 0_,N/A_BP1*H0017_^1_%SPC 1_RP1*H0017_^1LKT752 NUM $4C_*L_DP1*H0017_^1_%NUM $4C_*L_DP1*H0017_^1_%NUM $20_*Y CHAR_?P1*H0017_^1_%NUM $46_*X CHAR_?P1*H0017_^1_%ADC ON752_(ONE_BP1*H0017_^1_%ADC EC752_(ESCAPE_?P1*H0017_^1_%NUM $07_*BELL_AP1*H0017_^1_%SPC 2_RP1*H0017_^1MSGCDE NUM 0_,MESSAGE CODE TABEL_3P1*H0017_^1_%ADC MSG480_MP1*H0017_^1_%ADC€€ MSG752_MP1*H0017_^1_%SPC 1_RP1*H0017_^1MSG480 NUM $07_*BELL_AP1*H0017_^1_%NUM $60_*MS ADDR_>P1*H0017_^1_%NUM $06_*LS ADDR_>P1*H0017_^1_%NUM 0_,N/A_BP1*H0017_^1_%NUM 0_,N/A_BP1*H0017_^1_%NUM 0_,N/A_BP1*H0017_^1_%NUM 0_,N/A_BP1*H0017_^1_%SPC 1_RP1*H0017_^1MSG752 NUM $07_*BELL_AP1*H0017_^1_%ADC EC752_(ESCAPE_?P1*H0017_^1_%ADC ON752_(ONE_BP1*H0017_^1_%NUM $26_*X CHAR_?P1€€*H0017_^1_%NUM $20_*Y CHAR_?P1*H0017_^1_%NUM 0_,N/A_BP1*H0017_^1_%NUM 0_,N/A_BP1*H0017_^1_%EJT_UP1*H0017_^1**_#SUB ROUTINE FOR OUTPUT ON 1843-2_8P0*H0008_^1**_#CHARACTER REQUEST FLAG (BIT 14) WILL BE CHECKED_)P0*H0008_^1**_#TO PREVENT LOSS OF DATA._@P0*H0008_^1**_#IN CASE OF REJECT OR ABSENCE OF CHAR. REQ. FLAG_)P0*H0008_^1**_#CONTROL WILL BE GIVEN TO THE NEXT TERMINAL_.P0*H0008€€_^1**_#THE A REGISTER WILL BE RETURNED UNDESTROYED_-P0*H0008_^1**_]_^1**_]_^1OUTPUT NUM 0_RP0*H0008_^1_%STA* SAVA_)SAVE A REG._:P0*H0008_^1_%LDA- EWES,I_MP2*L0007_^1_%AND* DLYMSK_'MASK OFF VLINP FLAG (15)_-P2*L0007_^1_%TRA Q_,AND DELAY CYCLE BITS (12-13)_)P2*L0007_^1_%LDA* SAVA_OP2*L0007_^1_%AND- LPMASK+7_KP0*H0008_^1_%OUT REJ-*_(OUTPUT CHARACTER_5P0*H0008_^1_%LDA* SAVA_)RESTORE€€ ACCU_9P0*H0008_^1_%JMP* (OUTPUT)_KP0*H0008_^1**_]_^1SAVA_!NUM 0_RP0*H0008_^1CTR_"NUM 0_,REJECT COUNTER_7P1*H0017_^1DLYMSK NUM $4FFF_NP2*L0007_^1_%SPC 2_RP1*H0018_^1REJ_"NOP 0_,INTERNAL REJECT_6P1*H0018_^1_%RAO* CTR_*EXTERNAL REJECT_6P1*H0017_^1_%JMP VL2C13_MP1*H0018_^1**_]P0*H0008_^1_%EJT_UP1*H0017_^1*_$SUBROUTINE TO FORCE DELAY FOR 752 TERMINAL_.P1*H0017_^1*_$AFTER OUTPUT O€€F CLEAR SCREEN C5752=$18_2P1*H0017_^1*_$RETURN PARAMETER %_FP1*H0017_^1*_$Q EQ 0 DELAY PERFORMED - CONTINUE NEXT CHAR_-P1*H0017_^1*_$Q NE 0 DELAY IN PROGRESS - DO NOT UPDATE_0P1*H0017_^1_%SPC 2_RP1*H0017_^1DATOUT NUM 0_RP1*H0017_^1_%LDQ TOPIND_'CHECK IF 752_9P1*H0017_^1_%STQ* CSIND_NP1*H0017_^1_%SQN DAT1_)YS% GO TO DAT1_7P1*H0017_^1_%JMP* DATX_)NO% EXECUTE OUTPUT_3P1*H0017_^1_%€€SPC 1_RP1*H0017_^1DAT1_!STA* SAVA_OP1*H0017_^1_%AND- LPMASK+8_KP1*H0017_^1_%INA -CS752_'CHECK IF CLEAR SCREEN_0P1*H0017_^1_%SAN DAT2_)NO% GO TO DAT2_7P1*H0017_^1_%JMP* DATY_)YS% SET UP DELAY_5P1*H0017_^1DAT2_!INA CS752-$7_$CHECK IF DELAY IN PROGRESS_+P1*H0017_^1_%SAM DAT3_)YS% GO TO DAT3_7P1*H0017_^1DAT20 ENA 0_RP1*H0017_^1_%STA* CSIND_(NO% CLEAR CS INDICATOR_/P1*H0017_^1_%L€€DA* SAVA_OP1*H0017_^1_%JMP* DATX_-AND EXECUTE OUTPUT_/P1*H0017_^1_%SPC 1_RP1*H0017_^1DAT3_!INA $7_+CHECK IF DELAY EXPIRED_/P1*H0017_^1_%SAN DAT4_)NO% DECREMENT DELAY_2P1*H0017_^1_%LDA- EWES,I_MP2*L0007_^1_%AND* DLYCTR_MP2*L0007_^1_%SAZ DAT31_NP2*L0007_^1_%LDA- EWES,I_MP2*L0007_^1_%SUB- ONEBIT+12_#DECREMENT DELAY CYCLE_0P2*L0007_^1_%STA- EWES,I_MP2*L0007_^1_%LDA* SAVA_OP2*L0007_€€^1_%EOR- LPMASK+3_$SET DELAY COUNTER TO 7_/P2*L0007_^1_%STA* SAVA_OP2*L0007_^1_%JMP* DAT41_NP2*L0007_^1DAT31 JMP* DAT20_NP2*L0007_^1_%SPC 1_RP1*H0017_^1DAT4_!LDA* SAVA_OP1*H0017_^1DAT41 INA -1_QP2*L0007_^1_%LDQ- BLOKS,I_LP1*H0017_^1_%SQM DAT40_NP1*H0017_^1_%ALS 8_RP1*H0017_^1DAT40 LDQ- TOPSTR,I_KP1*H0017_^1_%STA- (ZERO),Q_$RESTORE DECREMENT VALUE_.P1*H0017_^1_%JMP* DATXX_(AN€€D EXIT TO CALLER_3P1*H0017_^1_%EJT_UP1*H0017_^1DATX_!RTJ OUTPUT_'OUTPUT CHARACTER_5P1*H0017_^1DATXX LDQ* CSIND_(FETCH Q INDICATOR_4P1*H0017_^1_%JMP* (DATOUT)_$RETURN TO CALLER_5P1*H0017_^1_%SPC 2_RP1*H0017_^1DATY_!LDA* SAVA_)SET_BP1*H0017_^1_%AND- NZERO+8_*UP_?P1*H0017_^1_%INA $6_2DELAY_9P1*H0017_^1_%LDQ- BLOKS,I_LP1*H0017_^1_%SQM DATYY_NP1*H0017_^1_%ALS 8_RP1*H0017_^1DATYY €€LDQ- TOPSTR,I_KP1*H0017_^1_%STA- (ZERO),Q_KP1*H0017_^1_%LDA- EWES,I_'SET DELAY CYCLES (12-13)_-P2*L0007_^1_%AND* DMASK_NP2*L0007_^1_%EOR- ONEBIT+13_#2 DELAY CYCLES (RANGE 0-3)_+P2*L0007_^1_%STA- EWES,I_MP2*L0007_^1_%LDA* SAVA_)RESTORE A REGISTER_3P1*H0017_^1_%JMP* DATX_)AND OUTPUT CHARACTER CS_.P1*H0017_^1CSIND NUM 0_RP1*H0017_^1DMASK NUM $CFFF_(MASK FOR DELAY CYCLES COUNTER_(P€F2*L0007_^1DLYCTR NUM $3000_NP2*L0007_^1_%EJT_UP1*H0017_^1_%END_]_^__ FPPRD CSY/ P€1_%NAM PRD_*DECK-ID L10 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(ENT_$PRD_^1* THE PRD INCLUDES THE ENTRIES FOR ALL THE DISK RESIDENT PROGRAMS_^1*_]_^1* THE FIRST PART IS THE RELATIVE DISPLACEMENT TO ANY TYPE OF FUNCTION_^1* THAT IS INCLUDED€€ IN THIS TABLE_^1*_]_^1* THE 'CONTBL' INCLUDES THE BIT INDICATOR (BIT PER PROGRAM) WHETHER_^1* THE PROGRAM IS CURRENTLY ON DISK OR IN CORE._^1*_]_^1* THE THIRD PART IS DEVIDED INTO SECTIONS ACCORDING TO THE TYPE OF FUNC._^1* WHERE THE FIRST ENTRY (INDEX 0) IS THE DUMMY._^1* THE DUMMY WILL BE CALLED WHEN THE REQUIRED PROG. IS NOT ON DISK_^1*_]_^1_(EXT_$SIPRDN_^1_(EXT_$SIMDMY_^1_(EXT€€_$SIMRDC_^1_(EXT_$SIMGJB_^1_(EXT_$SIMCLR_^1_(EXT_$SIMWFM_^1_(EXT_$SIMMTR_^1_(EXT_$SIMRSQ_^1_(EXT_$SIMSUP_^1_(EXT_$SIMPB2_^1_(EXT_$SIMDM2_^1_(EXT_$SIMLD2_^1_(EXT_$SIMES2_^1_(EXT_$SIMES3_^1_(EXT_$SIMES4_^1_(EXT_$SIMES1_^1_(EXT_$SIMMTM_MC_^1_(EXT_$SIMDMF_F03*C1047_^1_(EXT_$SIMCL2_F03*C1047_^1_(EXT_$SIMPS2_F03*C1047_^1_(EXT_$SIMLDF_F03*C1047_^1_(EXT_$SIMDS1_F06*C1300_^1_(EXT_$SIMDS2_F0€€6*C1300_^1_(EXT_$SIMEXP_F06*C1130_^1_(EXT_$SIMTP2_F07*C1401_^1_(EXT_$SIMEXC_F07*C1402_^1_(EXT_$SIMLKP_F07*C1402_^1_(EXT_$SIMFMT_F07*C1402_^1_(EXT_$SIMWFX_F07*C1402_^1_(EXT_$SIMCPY_F08*C1500_^1_%EXT SIMSLS_LSLS_^1_(EXT_$SIM030_F07*C1402_^1_(EXT_$SIM031_F07*C1402_^1_(EXT_$SIM032_F07*C1402_^1_(SPC_$3_K03*C1047_^1_(EXT_$SIKDMY_^1_(EXT_$SIKBSC_^1_(EXT_$SIKE1B_^1_(EXT_$SIKDUP_^1_(EXT_$S€€IKE1D_^1_(EXT_$SIKE1E_^1_(EXT_$SIKE1F_^1_(EXT_$SIKSPC_^1_(EXT_$SIKE60_^1_(EXT_$SIKE61_^1_(EXT_$SIKE62_^1_(EXT_$SIKE63_^1_(EXT_$SIKE64_^1_(EXT_$SIKESB_^1_(EXT_$SIKDZR_^1_(EXT_$SIKRES_^1_(EXT_$SIKSKP_^1_(EXT_$SIKBSR_^1_(EXT_$SIKBOR_^1_(EXT_$SIKE6B_^1_(EXT_$SIKE6C_^1_(EXT_$SIKFMB_^1_(EXT_$SIKFMA_^1_(EXT_$SIKREL_^1_(EXT_$SIKDCB_^1_(EXT_$SIKDCA_^1_(EXT_$SIKBSF_^1_(EXT_$SIKDSP_^1_(EXT_$S€€IKRPF_^1_(EXT_$SIKCNT_^1_(EXT_$SIKCNC_^1_(EXT_$SIKMLD_^1_(EXT_$SIKINS_^1_(EXT_$SIKDEL_^1_(EXT_$SIKERR_^1_(EXT_$SIKFSL_^1_(EXT_$SIKCOR_^1_(EXT_$SIKRTB_^1_(EXT_$SIKRED_^1_(EXT_$SIKINT_^1_(SPC_$3_^1_(EXT_$SIIDMY_^1_(EXT_$SIIENT_^1_(EXT_$SIIVER_^1_(EXT_$SIIEOB_^1_(EXT_$SIITOT_^1_(EXT_$SIIREG_^1_%EXT SIIE06_^1_(EXT_$SIISRC_^1_(EXT_$SIISON_^1_(EXT_$SIIFRZ_^1_(EXT_$SIITHW_^1_(EXT_$SIIDER€€_^1_(EXT_$SIISUP_^1_(EXT_$SIIAID_^1_(EXT_$SIISET_^1_(EXT_$SIIDRC_^1_(EXT_$SIIXPL_F06*C1330_^1_(EXT_$SIISEV_F08*C1500_^1_(EXT_$SIIE18_F06*C1330_^1_(EXT_$SIIE19_F06*C1330_^1_(EXT_$SIIE20_F06*C1330_^1_(SPC_$3_^1_(EXT_$SISDMY_^1_(EXT_$SISTON_^1_(EXT_$SISTOF_^1_(EXT_$SISEJB_^1_(EXT_$SISEFM_^1_(EXT_$SISCFS_^1_(EXT_$SISWBT_^1_(EXT_$SISDBT_^1_(EXT_$SISDMP_^1_(EXT_$SISLOD_^1_(EXT_$SISFRZ_^1€€_(EXT_$SISTHW_^1_(EXT_$SISTRC_KC_^1_(EXT_$SISPSS_^1_(EXT_$SISPTS_^1_(EXT_$SISPBS_^1_(EXT_$SISMTC_^1_(EXT_$SISDJB_^1_(EXT_$SISCBS_^1_(EXT_$SISECD_^1_(EXT_$SISSOF_^1_(EXT_$SISPBR_^1_(EXT_$SISCIO_^1_(EXT_$SISLPR_^1_(EXT_$SISPFM_^1_(EXT_$SISESH_^1_(EXT_$SISPJB_^1_%EXT SISE27_^1_(EXT_$SISEDC_^1_(EXT_$SISDDC_^1_(EXT_$SISPER_^1_(EXT_$SISCDS_^1_(EXT_$SISPDC_^1_(EXT_$SISEMT_^1_(EXT_$SISDMT€€_^1_(EXT_$SISPMT_^1_(EXT_$SISMSG_^1_(EXT_$SISDPR_F03*C1047_^1_(EXT_$SISPPR_F03*C1047_^1_(EXT_$SISPST_F03*C1047_^1_(EXT_$SISXPL_F03*C1047_^1_(EXT_$SISCFM_F06*C1303_^1_(EXT_$SISPFT_F06*C1328_^1_(EXT_$SISBAL_F07*C1400_^1_(EXT_$SISTIP_F07*C1401_^1_(EXT_$SISOCG_F07*C1402_^1_(EXT_$SISE46_F03*C1047_^1_(EXT_$SISE47_F03*C1047_^1_(EXT_$SISE48_F03*C1047_^1_(EXT_$SISE49_F03*C1047_^1_(EXT_$SISE€€50_F03*C1047_^1_(SPC_$3_^1_(EXT_$SITDMY_^1_(EXT_$SITC01_MC_^1_(EXT_$SITC02_MC_^1_(EXT_$SITC03_MC_^1_(EXT_$SITC04_MC_^1_(EXT_$SITC05_MC_^1_(EXT_$SITC06_MC_^1_(EXT_$SITC07_MC_^1_(EXT_$SITC08_MC_^1_(EXT_$SITC09_MC_^1_(EXT_$SITC10_MC_^1_(EXT_$SITC11_MC_^1_(EXT_$SITC12_MC_^1_(EXT_$SITC13_MC_^1_(EXT_$SITC14_MC_^1_(EXT_$SITC15_MC_^1_(EXT_$SITC16_MC_^1_(EXT_$SITC17_MC_^1_(EXT_$SITC18_MC_^1€€_(EXT_$SITC19_MC_^1_(EXT_$SITC20_MC_^1_(EXT_$SITC21_MC_^1_(EXT_$SITC22_MC_^1_(EXT_$SITC23_MC_^1_(EXT_$SITC24_MC_^1_(EXT_$SITC25_MC_^1_(EXT_$SITC26_MC_^1_(EXT_$SITC27_MC_^1_(EXT_$SITC28_MC_^1_(EXT_$SITC29_MC_^1_(EXT_$SITC30_MC_^1_(EXT_$SITC31_MC_^1_(SPC_$3_^1_(EXT_$SIFL00_MC_^1_(EXT_$SIFL01_^1_(EXT_$SIFL02_^1_(EXT_$SIFL03_^1_(EXT_$SIFL04_^1_(EXT_$SIFL05_^1_(EXT_$SIFL06_^1_(EXT_$SIFL€€07_^1_(EXT_$SIFL08_^1_(EXT_$SIFL09_^1_(EXT_$SIFL10_^1_(EXT_$SIFL11_^1_(EXT_$SIFL12_^1_(EXT_$SIFL13_^1_(EXT_$SIFL14_^1_(EXT_$SIFL15_^1_(EXT_$SIFL16_MC_^1_(EXT_$SIFL17_MC_^1_(EXT_$SIFL18_MC_^1_(EXT_$SIFL19_MC_^1_(EXT_$SIFL20_MC_^1_(EXT_$SIFL21_MC_^1_(EXT_$SIFL22_MC_^1_(EXT_$SIFL23_MC_^1_(EXT_$SIFL24_MC_^1_(EXT_$SIFL25_MC_^1_(EXT_$SIFL26_MC_^1_(EXT_$SIFL27_MC_^1_(EXT_$SIFL28_MC_^1_(EX€€T_$SIFL29_MC_^1_(EXT_$SIFL30_MC_^1_(EXT_$SIFL31_MC_^1_(EXT_$SIEBCD_MC_^1_(EXT_$SICC01_MC_^1_(EXT_$SICC02_MC_^1_(EXT_$SICC03_MC_^1_(EXT_$SICC04_MC_^1_(SPC_$3_^1_(EXT_$SICDMY_^1_(EXT_$SIC001_^1_(EXT_$SIC002_^1_(EXT_$SIC003_^1_(EXT_$SIC004_^1_(EXT_$SIC005_^1_(EXT_$SIC006_^1_(EXT_$SIC007_^1_(EXT_$SIC008_^1_(EXT_$SIC009_^1_(EXT_$SIC010_^1_(EXT_$SIC011_^1_(EXT_$SIC012_^1_(EXT_$SIC013_^1_€€(EXT_$SIC014_^1_(EXT_$SIC015_^1_(EXT_$SIC016_^1_(EXT_$SIC017_^1_(EXT_$SIC018_^1_(EXT_$SIC019_^1_(EXT_$SIC020_^1_(EXT_$SIC021_^1_(EXT_$SIC022_^1_(EXT_$SIC023_^1_(EXT_$SIC024_^1_(EXT_$SIC025_^1_(EXT_$SIC026_^1_(EXT_$SIC027_^1_(EXT_$SIC028_^1_(EXT_$SIC029_^1_(EXT_$SIC030_^1_(EXT_$SIC031_^1_(EXT_$SIC032_^1_(EXT_$SIC033_^1_(EXT_$SIC034_^1_(EXT_$SIC035_^1_(EXT_$SIC036_^1_(EXT_$SIC037_^1_€€(EXT_$SIC038_^1_(EXT_$SIC039_^1_(EXT_$SIC040_^1_(EXT_$SIC041_^1_(EXT_$SIC042_^1_(EXT_$SIC043_^1_(EXT_$SIC044_^1_(EXT_$SIC045_^1_(EXT_$SIC046_^1_(EXT_$SIC047_^1_(EXT_$SIC048_^1_(EXT_$SIC049_^1_(EXT_$SIC050_^1_(EXT_$SIC051_^1_(EXT_$SIC052_^1_(EXT_$SIC053_^1_(EXT_$SIC054_^1_(EXT_$SIC055_^1_(EXT_$SIC056_^1_(EXT_$SIC057_^1_(EXT_$SIC058_^1_(EXT_$SIC059_^1_(EXT_$SIC060_^1_(EXT_$SIC061_^1_€€(EXT_$SIC062_^1_(EXT_$SIC063_^1_(EXT_$SIC064_^1_(EXT_$SIC065_^1_(EXT_$SIC066_^1_(EXT_$SIC067_^1_(EXT_$SIC068_^1_(EXT_$SIC069_^1_(EXT_$SIC070_^1_(EXT_$SIC071_^1_(EXT_$SIC072_^1_(EXT_$SIC073_^1_(EXT_$SIC074_^1_(EXT_$SIC075_^1_(EXT_$SIC076_^1_(EXT_$SIC077_^1_(EXT_$SIC078_^1_(EXT_$SIC079_^1_(EXT_$SIC080_^1_(EXT_$SIC081_^1_(EXT_$SIC082_^1_(EXT_$SIC083_^1_(EXT_$SIC084_^1_(EXT_$SIC085_^1_€€(EXT_$SIC086_^1_(EXT_$SIC087_^1_(EXT_$SIC088_^1_(EXT_$SIC089_^1_(EXT_$SIC090_^1_(EXT_$SIC091_^1_(EXT_$SIC092_^1_(EXT_$SIC093_^1_(EXT_$SIC094_^1_(EXT_$SIC095_^1_(EXT_$SIC096_^1_(EXT_$SIC097_^1_(EXT_$SIC098_^1_(EXT_$SIC099_^1_(EXT_$SIC100_^1_(EXT_$SIC101_^1_(EXT_$SIC102_^1_(EXT_$SIC103_^1_(EXT_$SIC104_^1_(EXT_$SIC105_^1_(EXT_$SIC106_^1_(EXT_$SIC107_^1_(EXT_$SIC108_^1_(EXT_$SIC109_^1_€€(EXT_$SIC110_^1_(EXT_$SIC111_^1_(EXT_$SIC112_^1_(EXT_$SIC113_^1_(EXT_$SIC114_^1_(EXT_$SIC115_^1_(EXT_$SIC116_^1_(EXT_$SIC117_^1_(EXT_$SIC118_^1_(EXT_$SIC119_^1_(EXT_$SIC120_^1_(EXT_$SIC121_^1_(EXT_$SIC122_^1_(EXT_$SIC123_^1_(EXT_$SIC124_^1_(EXT_$SIC125_^1_(EXT_$SIC126_^1_(EXT_$SIC127_^1_(SPC_$3_^1PRD_$ADC_$MISC-PRD_^1_(ADC_$KEYFUN-PRD_^1_(ADC_$INT-PRD_^1_(ADC_$SUPER-PRD_^1_(ADC_$MT€€-PRD_^1_(ADC_$UNDEF-PRD_^1_(ADC_$UNDEF-PRD_^1_(ADC_$OWCOD-PRD_^1*_]_^1_(SPC_$3_^1CONTBL_!BZS_$CONTBL(25)_^1_(ADC_$SIPRDN_^1_(EJT_^1*_]_^1MISC_#ADC_$SIMDMY_+DUMMY MISCELLANEOUS_^1M001_#ADC_$SIMRDC_+READ DOC (ENTRY % GROUP)_^1M002_#ADC_$SIMGJB_+GET LJD_^1M003_#ADC_$SIMCLR_+CHANGE STATUS OF BATCHES TO FROZEN_^1M004_#ADC_$SIMWFM_+WRITE FORMAT_^1M005_#ADC_$SIMMTR_+MAG TAPE ROUTINE_^1M00€€6_#ADC_$SIMRSQ_+RESEQUENCING AND VARIABLE RECORDING_^1M007_#ADC_$SIMSUP_+SUPER DISK PORTION_^1M008_#ADC_$SIMPB2_+SECOND OVERLAY OF PBS_^1M009_#ADC_$SIMDM2_+SECOND OVERLAY OF DUP_^1M010_#ADC_$SIMLD2_+SECOND OVERLAY OF LOAD_^1M011_#ADC_$SIMES1_+2'ND OVERLAY OF ESM. DLT INACT FMT_^1M012_#ADC_$SIMES2_+3'RD OVERLAY OF ESH. SQZ FMT_^1M013_#ADC_$SIMES3_+4'TH OVERLAY OF ESH. SQZ PROGRAMS_^€€1M014_#ADC_$SIMES4_+1'ST OVERLAY OF ESH. SQZ DOCUMENTS_^1M015_#ADC_$SIMMTM_+MAG.TAPE FORMAT MONITOR_*C_^1M016_#ADC_$SIMDMF_+DUMP FORMATS_.03*C1047_^1M017_#ADC_$SIMCL2_+SECOND OVERLAY OF CLR_$03*C1047_^1M018_#ADC_$SIMPS2_+SECOND OVERLAY OF PST_$03*C1047_^1M019_#ADC_$SIMLDF_+LOAD FORMATS_.03*C1047_^1M020_#ADC_$SIMDS1_+DISK ERROR ADVISORY 1_$06*C1300_^1M021_#ADC_$SIMDS2_+DISK ERROR AD€€VISORY 2_$06*C1300_^1M022_#ADC_$SIMEXP_+EXPLANATION TABLE_)06*C1330_^1M023_#ADC_$SIMTP2_+2'ND OVERLAY OF TIP_'07*C1401_^1M024_#ADC_$SIMLKP_+LOOKUP_407*C1402_^1M025_#ADC_$SIMFMT_+FORMAT_407*C1402_^1M026_#ADC_$SIMEXC_,OCG EXECUTOR_-07*C1402_^1M027_#ADC_$SIMWFX_+WRITE FMT+EXT_-07*C1402_^1M028_#ADC_$SIMCPY_+SEV-COPY FROMENT TO VER_"08*C1500_^1M029_!ADC SIMSLS_LSLS_^1M030_#ADC_$SIM030_€€F07*C1402_^1M031_#ADC_$SIM031_F07*C1402_^1M032_#ADC_$SIM032_F07*C1402_^1*_]_^1_(EJT_^1*_]_^1*_]_^1*_]_^1* IF AN UNNASIGNED KEY IS HIT (THE ENTRY IS THIS TABLE IS AN UNPATCHED_^1* EXTERNAL_]_^1* DUMMY KEY FUNCTION (FIRST ENTRY) IS CALLED_^1KEYFUN_!ADC_$SIKDMY_^1K1A_$ADC_$SIKBSC_+BACK SPACE CHAR_^1K1B_$ADC_$SIKE1B_^1K1C_$ADC_$SIKDUP_+DUP KEY_^1K1D_$ADC_$SIKE1D_^1K1E_$ADC_$SIKE1E_^1K1€€F_$ADC_$SIKE1F_^1K20_$ADC_$SIKSPC_+SPACE KEY_^1K60_$ADC_$SIKE60_^1K61_$ADC_$SIKE61_^1K62_$ADC_$SIKE62_^1K63_$ADC_$SIKE63_^1K64_$ADC_$SIKE64_^1K65_$ADC_$SIKESB_+END SUB BATCH_^1K66_$ADC_$SIKDZR_+DOUBLE ZERO_^1K67_$ADC_$SIKRES_+RESET_^1K68_$ADC_$SIKSKP_+SKIP_^1K69_$ADC_$SIKBSR_+BACK SPACE RECORD_^1K6A_$ADC_$SIKBOR_+BACK SPACE TO BEGINING OR RECORD_^1K6B_$ADC_$SIKE6B_^1K6C_$ADC_$SIKE6€€C_^1K6D_$ADC_$SIKFMB_+FORMAT BACK_^1K6E_$ADC_$SIKFMA_+FORMAT ADVANCE_^1K6F_$ADC_$SIKREL_+RELEASE_^1K70_$ADC_$SIKDCB_+DOC BACK_^1K71_$ADC_$SIKDCA_+DOC ADVANCE IN READ AND ENTRY MODES_^1K72_$ADC_$SIKBSF_+BACK SPACE FIELD_^1K73_$ADC_$SIKDSP_+DISPLAY KEY_^1K74_$ADC_$SIKRPF_+REPLACE FIELD_^1K75_$ADC_$SIKCNT_+CONTINUE_^1K76_$ADC_$SIKCNC_+CANCEL OPERATION_^1K77_$ADC_$SIKMLD_+MULTI LEVEL D€€UP/SKIP_^1K78_$ADC_$SIKINS_+INSERT_^1K79_$ADC_$SIKDEL_+DELETE_^1K7A_$ADC_$SIKERR_+ERROR OVERRIDE_^1K7B_$ADC_$SIKFSL_+FORMAT SELECT_^1K7C_$ADC_$SIKCOR_+CORRECT_^1K7D_$ADC_$SIKRTB_+RETURN TO BASIC_^1K7E_$ADC_$SIKRED_+READ_^1K7F_$ADC_$SIKINT_+INTERROGATE_^1_(EJT_^1INT_$ADC_$SIIDMY_+DUMMY INTERROGATE_^1I001_#ADC_$SIIENT_+ENTRY_^1I002_#ADC_$SIIVER_+VERIFY_^1I003_#ADC_$SIIEOB_+END OF BAT€€CH_^1I004_#ADC_$SIITOT_+TOTAL,DISPLAY COUNTER VALUE_^1I005_#ADC_$SIIREG_+REGEN THE DISPLAY_^1_%ADC SIIE06_'SPARE_^1I007_#ADC_$SIISRC_+SEARCH,SRN+SER+SDM_^1I008_#ADC_$SIISON_+SEARCH ON_^1I009_#ADC_$SIIFRZ_+FREEZE_^1I010_#ADC_$SIITHW_+THAW_^1I011_#ADC_$SIIDER_+DISPLAY ERROR_^1I012_#ADC_$SIISUP_+TRNASFER TO SUPERVISOR MODE_^1I013_#ADC_$SIIAID_+ENABLE/DISABLE TUTORIAL MODE_^1I014_#ADC€€_$SIISET_+INITIALIZE COUNTER N_^1IO15_#ADC_$SIIDRC_+DISPLAY RECORD_^1I016_#ADC_$SIIXPL_+XPLAIN COMMANDS_+06*C1330_^1I017_#ADC_$SIISEV_+SEV_708*C1500_^1I018_#ADC_$SIIE18_+SPARE_506*C1330_^1I019_#ADC_$SIIE19_+SPARE_506*C1330_^1I020_#ADC_$SIIE20_+SPARE_506*C1330_^1*_]_^1*_]_^1_(EJT_^1SUPER_"ADC_$SISDMY_+DUMMY SUPERVISOR FUNCTION_^1S01_$ADC_$SISTON_+TURN ON TERMINAL_^1S02_$ADC_$SISTOF_€€+TURN OFF TERMINAL_^1S03_$ADC_$SISEJB_+ENTER JOB_^1S04_$ADC_$SISEFM_+ENTER FORMAT_^1S05_$ADC_$SISCFS_+CHANGE FORMAT STATUS_^1S06_$ADC_$SISWBT_+WRITE BATCH_^1S07_$ADC_$SISDBT_+DELETE BATCH_^1S08_$ADC_$SISDMP_+DUMP BATCHES ONTO TAPE_^1S09_$ADC_$SISLOD_+LOAD BATCHES FROM TAPE_^1S10_$ADC_$SISFRZ_+FREEZE THE BATCH_^1S11_$ADC_$SISTHW_+THAW THE BATCH_^1S12_$ADC_$SISTRC_+HEADER AND TAPE RE€€COVERY_)C_^1S13_$ADC_$SISPSS_+PRINT SYSTEM STATUS_^1S14_$ADC_$SISPTS_+PRINT TERMINAL STATUS_^1S15_$ADC_$SISPBS_+PRINT BATCH STATUS_^1S16_$ADC_$SISMTC_+MAG.TAPE CONTROL_^1S17_$ADC_$SISDJB_+DELETE JOB_^1S18_$ADC_$SISCBS_+CURRENT BATCH STATUS_^1S19_$ADC_$SISECD_+ENTER CHECK DIGIT_^1S20_$ADC_$SISSOF_+SUPERVISOR OFF_^1S21_$ADC_$SISPBR_+PRINT BATCH REPORT_^1S22_$ADC_$SISCIO_+CHANGE INPUT€€/OUTPUT UNITS._^1S23_$ADC_$SISLPR_+LOAD PROGRAM_^1S24_$ADC_$SISPFM_+PRINT FORMAT_^1S25_$ADC_$SISESH_+END OF SHIFT_^1S26_$ADC_$SISPJB_+PRINT JOB STATUS_^1_%ADC SISE27_'SPARE_^1S28_$ADC_$SISEDC_+ENTER DOCUMENT_^1S29_$ADC_$SISDDC_+DELETE DOCUMENT_^1S30_$ADC_$SISPER_+PRINT ERRONEOUS RECORDS_^1S31_$ADC_$SISCDS_+CHANGE DISK STATUS_^1S32_$ADC_$SISPDC_+PRINT DOCUMENTS_^1S33_$ADC_$SISEMT_+€€ENTER MAG TAPE FORMAT_^1S34_$ADC_$SISDMT_+DELETE MAG TAPE FORMAT_^1S35_$ADC_$SISPMT_+PRINT MAG TAPE FORMAT_^1S36_$ADC_$SISMSG_+'MSG' MODE_^1S37_$ADC_$SISDPR_+DELETE DISK RES PGM_'03*C1047_^1S38_$ADC_$SISPPR_+PRINT DISK RES PGM_(03*C1047_^1S39_$ADC_$SISPST_+PRINT STATISTICS_*03*C1047_^1S40_$ADC_$SISXPL_+EXPLAIN COMMAND_+03*C1047_^1S41_$ADC_$SISCFM_+COPY FORMAT_/06*C1303_^1S42_$ADC_$€€SISPFT_+PRINT FORMATS TAPE_(06*C1328_^1S43_$ADC_$SISBAL_+DOCUMENT BALANCE CHECK_#07*C1400_^1S44_$ADC_$SISTIP_+TAPE REINPUT OF DATA_%07*C1401_^1S45_$ADC_$SISOCG_+OWNCOD GENERATOR_*07*C1402_^1S46_$ADC_$SISE46_F03*C1047_^1S47_$ADC_$SISE47_F03*C1047_^1S48_$ADC_$SISE48_F03*C1047_^1S49_$ADC_$SISE49_F03*C1047_^1S50_$ADC_$SISE50_F03*C1047_^1*_]_^1_(EJT_^1MT_%ADC_$SITDMY_+DUMMY FOR M.T FORM€€AT AND LABEL_^1T01_$ADC_$SITC01_+MAG. TAPE OWN CODE 01_,C_^1T02_$ADC_$SITC02_+MAG. TAPE OWN CODE 02_,C_^1T03_$ADC_$SITC03_+MAG. TAPE OWN CODE 03_,C_^1T04_$ADC_$SITC04_+MAG. TAPE OWN CODE 04_,C_^1T05_$ADC_$SITC05_+MAG. TAPE OWN CODE 05_,C_^1T06_$ADC_$SITC06_+MAG. TAPE OWN CODE 06_,C_^1T07_$ADC_$SITC07_+MAG. TAPE OWN CODE 07_,C_^1T08_$ADC_$SITC08_+MAG. TAPE OWN CODE 08_,C_^1T09_$ADC_€€$SITC09_+MAG. TAPE OWN CODE 09_,C_^1T10_$ADC_$SITC10_+MAG. TAPE OWN CODE 10_,C_^1T11_$ADC_$SITC11_+MAG. TAPE OWN CODE 11_,C_^1T12_$ADC_$SITC12_+MAG. TAPE OWN CODE 12_,C_^1T13_$ADC_$SITC13_+MAG. TAPE OWN CODE 13_,C_^1T14_$ADC_$SITC14_+MAG. TAPE OWN CODE 14_,C_^1T15_$ADC_$SITC15_+MAG. TAPE OWN CODE 15_,C_^1T16_$ADC_$SITC16_+MAG. TAPE OWN CODE 16_,C_^1T17_$ADC_$SITC17_+MAG. TAPE OWN C€€ODE 17_,C_^1T18_$ADC_$SITC18_+MAG. TAPE OWN CODE 18_,C_^1T19_$ADC_$SITC19_+MAG. TAPE OWN CODE 19_,C_^1T20_$ADC_$SITC20_+MAG. TAPE OWN CODE 20_,C_^1T21_$ADC_$SITC21_+MAG. TAPE OWN CODE 21_,C_^1T22_$ADC_$SITC22_+MAG. TAPE OWN CODE 22_,C_^1T23_$ADC_$SITC23_+MAG. TAPE OWN CODE 23_,C_^1T24_$ADC_$SITC24_+MAG. TAPE OWN CODE 24_,C_^1T25_$ADC_$SITC25_+MAG. TAPE OWN CODE 25_,C_^1T26_$ADC_$SI€€TC26_+MAG. TAPE OWN CODE 26_,C_^1T27_$ADC_$SITC27_+MAG. TAPE OWN CODE 27_,C_^1T28_$ADC_$SITC28_+MAG. TAPE OWN CODE 28_,C_^1T29_$ADC_$SITC29_+MAG. TAPE OWN CODE 29_,C_^1T30_$ADC_$SITC30_+MAG. TAPE OWN CODE 30_,C_^1T31_$ADC_$SITC31_+MAG. TAPE OWN CODE 31_,C_^1T32_$ADC_$SIFL00_+FILE LABEL 00 (NO LABELLING)_$C_^1T33_$ADC_$SIFL01_+FILE LABEL 01_^1T34_$ADC_$SIFL02_+FILE LABEL 02_^1T35_$A€€DC_$SIFL03_+FILE LABEL 03_^1T36_$ADC_$SIFL04_+FILE LABEL 04_^1T37_$ADC_$SIFL05_+FILE LABEL 05_^1T38_$ADC_$SIFL06_+FILE LABEL 06_^1T39_$ADC_$SIFL07_+FILE LABEL 07_^1T40_$ADC_$SIFL08_+FILE LABEL 08_^1T41_$ADC_$SIFL09_+FILE LABEL 09_^1T42_$ADC_$SIFL10_+FILE LABEL 10_^1T43_$ADC_$SIFL11_+FILE LABEL 11_^1T44_$ADC_$SIFL12_+FILE LABEL 12_^1T45_$ADC_$SIFL13_+FILE LABEL 13_^1T46_$ADC_$SIFL14€€_+FILE LABEL 14_^1T47_$ADC_$SIFL15_+FILE LABEL 15_^1T48_$ADC_$SIFL16_+FILE LABEL 16_4C_^1T49_$ADC_$SIFL17_+FILE LABEL 17_4C_^1T50_$ADC_$SIFL18_+FILE LABEL 18_4C_^1T51_$ADC_$SIFL19_+FILE LABEL 19_4C_^1T52_$ADC_$SIFL20_+FILE LABEL 20_4C_^1T53_$ADC_$SIFL21_+FILE LABEL 21_4C_^1T54_$ADC_$SIFL22_+FILE LABEL 22_4C_^1T55_$ADC_$SIFL23_+FILE LABEL 23_4C_^1T56_$ADC_$SIFL24_+FILE LABEL 24_4C_^€€1T57_$ADC_$SIFL25_+FILE LABEL 25_4C_^1T58_$ADC_$SIFL26_+FILE LABEL 26_4C_^1T59_$ADC_$SIFL27_+FILE LABEL 27_4C_^1T60_$ADC_$SIFL28_+FILE LABEL 28_4C_^1T61_$ADC_$SIFL29_+FILE LABEL 29_4C_^1T62_$ADC_$SIFL30_+FILE LABEL 30_4C_^1T63_$ADC_$SIFL31_+FILE LABEL 31_4C_^1T64_$ADC_$SIEBCD_+CODE CONVERSION - EBCDIC_)C_^1T65_$ADC_$SICC01_+CODE CONVERSION - USER 1_)C_^1T66_$ADC_$SICC02_+CODE CONVE€€RSION - USER 2_)C_^1T67_$ADC_$SICC03_+CODE CONVERSION - USER 3_)C_^1T68_$ADC_$SICC04_+CODE CONVERSION - USER 4_)C_^1_(EJT_^1_(EQU_$UNDEF(*)_^1_(EJT_^1_(EQU_$MOC(10)_^1OWCOD_"ADC_$SICDMY_+DUMMY OWN-CODE_^1_(ADC_$SIC001_+OWN-CODE NO._!1_^1_(ADC_$SIC002_+OWN-CODE NO._!2_^1_(ADC_$SIC003_+OWN-CODE NO._!3_^1_(ADC_$SIC004_+OWN-CODE NO._!4_^1_(ADC_$SIC005_+OWN-CODE NO._!5_^1_(ADC_$SIC006_+€€OWN-CODE NO._!6_^1_(ADC_$SIC007_+OWN-CODE NO._!7_^1_(ADC_$SIC008_+OWN-CODE NO._!8_^1_(ADC_$SIC009_+OWN-CODE NO._!9_^1_(ADC_$SIC010_,OWN-CODE NO. 10_^1_(ADC_$SIC011_+OWN-CODE NO. 11_^1_(ADC_$SIC012_+OWN-CODE NO. 12_^1_(ADC_$SIC013_+OWN-CODE NO. 13_^1_(ADC_$SIC014_+OWN-CODE NO. 14_^1_(ADC_$SIC015_+OWN-CODE NO. 15_^1_(ADC_$SIC016_+OWN-CODE NO. 16_^1_(ADC_$SIC017_+OWN-CODE NO. €€17_^1_(ADC_$SIC018_+OWN-CODE NO. 18_^1_(ADC_$SIC019_+OWN-CODE NO. 19_^1_(ADC_$SIC020_+OWN-CODE NO. 20_^1_(ADC_$SIC021_+OWN-CODE NO. 21_^1_(ADC_$SIC022_+OWN-CODE NO. 22_^1_(ADC_$SIC023_+OWN-CODE NO. 23_^1_(ADC_$SIC024_+OWN-CODE NO. 24_^1_(ADC_$SIC025_+OWN-CODE NO. 25_^1_(ADC_$SIC026_+OWN-CODE NO. 26_^1_(ADC_$SIC027_+OWN-CODE NO. 27_^1_(ADC_$SIC028_+OWN-CODE NO. 28_^1_(ADC€€_$SIC029_+OWN-CODE NO. 29_^1_(ADC_$SIC030_+OWN-CODE NO. 30_^1_(ADC_$SIC031_+OWN-CODE NO. 31_^1_(ADC_$SIC032_+OWN-CODE NO. 32_^1_(ADC_$SIC033_+OWN-CODE NO. 33_^1_(ADC_$SIC034_+OWN-CODE NO. 34_^1_(ADC_$SIC035_+OWN-CODE NO. 35_^1_(ADC_$SIC036_+OWN-CODE NO. 36_^1_(ADC_$SIC037_+OWN-CODE NO. 37_^1_(ADC_$SIC038_+OWN-CODE NO. 38_^1_(ADC_$SIC039_+OWN-CODE NO. 39_^1_(ADC_$SIC040_+€€OWN-CODE NO. 40_^1_(ADC_$SIC041_+OWN-CODE NO. 41_^1_(ADC_$SIC042_+OWN-CODE NO. 42_^1_(ADC_$SIC043_+OWN-CODE NO. 43_^1_(ADC_$SIC044_+OWN-CODE NO. 44_^1_(ADC_$SIC045_+OWN-CODE NO. 45_^1_(ADC_$SIC046_+OWN-CODE NO. 46_^1_(ADC_$SIC047_+OWN-CODE NO. 47_^1_(ADC_$SIC048_+OWN-CODE NO. 48_^1_(ADC_$SIC049_+OWN-CODE NO. 49_^1_(ADC_$SIC050_+OWN-CODE NO. 50_^1_(ADC_$SIC051_+OWN-CODE N€€O. 51_^1_(ADC_$SIC052_+OWN-CODE NO. 52_^1_(ADC_$SIC053_+OWN-CODE NO. 53_^1_(ADC_$SIC054_+OWN-CODE NO. 54_^1_(ADC_$SIC055_+OWN-CODE NO. 55_^1_(ADC_$SIC056_+OWN-CODE NO. 56_^1_(ADC_$SIC057_+OWN-CODE NO. 57_^1_(ADC_$SIC058_+OWN-CODE NO. 58_^1_(ADC_$SIC059_+OWN-CODE NO. 59_^1_(ADC_$SIC060_+OWN-CODE NO. 60_^1_(ADC_$SIC061_+OWN-CODE NO. 61_^1_(ADC_$SIC062_+OWN-CODE NO. 62_^1_€€(ADC_$SIC063_+OWN-CODE NO. 63_^1_(ADC_$SIC064_+OWN-CODE NO. 64_^1_(ADC_$SIC065_+OWN-CODE NO. 65_^1_(ADC_$SIC066_+OWN-CODE NO. 66_^1_(ADC_$SIC067_+OWN-CODE NO. 67_^1_(ADC_$SIC068_+OWN-CODE NO. 68_^1_(ADC_$SIC069_+OWN-CODE NO. 69_^1_(ADC_$SIC070_+OWN-CODE NO. 70_^1_(ADC_$SIC071_+OWN-CODE NO. 71_^1_(ADC_$SIC072_+OWN-CODE NO. 72_^1_(ADC_$SIC073_+OWN-CODE NO. 73_^1_(ADC_$SIC0€€74_+OWN-CODE NO. 74_^1_(ADC_$SIC075_+OWN-CODE NO. 75_^1_(ADC_$SIC076_+OWN-CODE NO. 76_^1_(ADC_$SIC077_+OWN-CODE NO. 77_^1_(ADC_$SIC078_+OWN-CODE NO. 78_^1_(ADC_$SIC079_+OWN-CODE NO. 79_^1_(ADC_$SIC080_+OWN-CODE NO. 80_^1_(ADC_$SIC081_+OWN-CODE NO. 81_^1_(ADC_$SIC082_+OWN-CODE NO. 82_^1_(ADC_$SIC083_+OWN-CODE NO. 83_^1_(ADC_$SIC084_+OWN-CODE NO. 84_^1_(ADC_$SIC085_+OWN-CO€€DE NO. 85_^1_(ADC_$SIC086_+OWN-CODE NO. 86_^1_(ADC_$SIC087_+OWN-CODE NO. 87_^1_(ADC_$SIC088_+OWN-CODE NO. 88_^1_(ADC_$SIC089_+OWN-CODE NO. 89_^1_(ADC_$SIC090_+OWN-CODE NO. 90_^1_(ADC_$SIC091_+OWN-CODE NO. 91_^1_(ADC_$SIC092_+OWN-CODE NO. 92_^1_(ADC_$SIC093_+OWN-CODE NO. 93_^1_(ADC_$SIC094_+OWN-CODE NO. 94_^1_(ADC_$SIC095_+OWN-CODE NO. 95_^1_(ADC_$SIC096_+OWN-CODE NO. 96€€_^1_(ADC_$SIC097_+OWN-CODE NO. 97_^1_(ADC_$SIC098_+OWN-CODE NO. 98_^1_(ADC_$SIC099_+OWN-CODE NO. 99_^1_(ADC_$SIC100_+OWN-CODE NO. 100_^1_(ADC_$SIC101_+OWN-CODE NO. 101_^1_(ADC_$SIC102_+OWN-CODE NO. 102_^1_(ADC_$SIC103_+OWN-CODE NO. 103_^1_(ADC_$SIC104_+OWN-CODE NO. 104_^1_(ADC_$SIC105_+OWN-CODE NO. 105_^1_(ADC_$SIC106_+OWN-CODE NO. 106_^1_(ADC_$SIC107_+OWN-CODE NO. 107_^€€1_(ADC_$SIC108_+OWN-CODE NO. 108_^1_(ADC_$SIC109_+OWN-CODE NO. 109_^1_(ADC_$SIC110_+OWN-CODE NO. 110_^1_(ADC_$SIC111_+OWN-CODE NO. 111_^1_(ADC_$SIC112_+OWN-CODE NO. 112_^1_(ADC_$SIC113_+OWN-CODE NO. 113_^1_(ADC_$SIC114_+OWN-CODE NO. 114_^1_(ADC_$SIC115_+OWN-CODE NO. 115_^1_(ADC_$SIC116_+OWN-CODE NO. 116_^1_(ADC_$SIC117_+OWN-CODE NO. 117_^1_(ADC_$SIC118_+OWN-CODE NO. 118_€H^1_(ADC_$SIC119_+OWN-CODE NO. 119_^1_(ADC_$SIC120_+OWN-CODE NO. 120_^1_(ADC_$SIC121_+OWN-CODE NO. 121_^1_(ADC_$SIC122_+OWN-CODE NO. 122_^1_(ADC_$SIC123_+OWN-CODE NO. 123_^1_(ADC_$SIC124_+OWN-CODE NO. 124_^1_(ADC_$SIC125_+OWN-CODE NO. 126_^1_(ADC_$SIC126_+OWN-CODE NO. 126_^1_(ADC_$SIC127_+OWN-CODE NO. 127_^1_%END_]_^__HPVLINP CSY/ P€1_%NAM VLINP_(DECK-ID A30 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(EQU_$ONEBIT($23),LPMASK(2),ZERO($22),ZROBIT($33)_^1_(EQU_$NZERO($12)_^1_(EQU_$FRMNT(23),CANCEL($76),ERRCD(0)_^1_(EQU_$SLOCK(1),ATTB(10),TIQ(15),ATTLNG(19),IBL(14),SST($47)_^1€€_(ENT_$CANCEL_^1_(EQU_$SW2(20)_^1_(EQU_$TOPTAD(33)_^1_(EQU_$WES(30),EXTSST(0)_^1_(BZS_$OVCT,TNO,ATTKEP,TIQKEP,ERRFL,SAVECH,NUMCH_^1_(ENT_$VLINP_^1VLINP_"NUM_$0_^1INPZZ_"LDA-_#SST+IBL_*CALCULATE_8B_^1_(INA_$-1_7NO. OF CHARS_^1_(ALS_$1_BIN TIQ_^1_(STA*_#NUMCH_^1_(LDA-_#SST+SLOCK_^1_(SAM_$INPEND_+EXIT IF SYSTEM LOCKED_^1INPZ5_"AND-_#LPMASK+8_)ISOLATE NO OF TERMINALS_^1_(TCA_$A_^1_(ADD€€-_#LPMASK+15_(BUILD AN OVERFLOW COUNTER_^1_(STA*_#OVCT_^1INP10_"LDA-_#SST+ATTB_^1_(LDQ-_#SST+TIQ_^1INP15_"RAO*_#OVCT_-INCREMENT_^1_(SNO_$INP18_,AND CHECK THE OVERFLOW COUNR_^1INPEND_!JMP*_#(VLINP)_*IF THERE IS OVERFLOW FINISH_^1INP18_"ADD-_#SST+ATTLNG_'FIND NEW ATT AND TIQ ADDRESS_^1_(ADQ-_#SST+IBL_^1_(STA*_#ATTKEP_+SAVE_^1_(STQ*_#TIQKEP_+BOTH_^1*_]06*C1301_^1*_]_"RV002_^1_%LDA* (A€€TTKEP)_$GET ATT WORD 0_:RV002_^1PRTCK AND =N$0780_ORV002_^1_%EOR =N$0380_ORV002_^1_%SAN INP30_(N=DEVICE NOT MATRIX PRINTER_-RV002_^1_%JMP* INPNXT_'DO NOT I/P FROM MATRIX PRINTER_*RV002_^1*_]_"RV002_^1INP30_"ENQ_$TOPTAD_+GET EWES FOR THE TERMINAL_(B_^1_(LDQ*_#(ATTKEP),Q_^1_%LDA- 1,Q_PP1*H0018_^1_%STA* SAVECH_'SAVE EWES + FLAG TEMPORARILY_)P1*H0018_^1_%AND- LPMASK+15_JP1*H0018_^1€€_%STA- 1,Q_*CLEAR FLAG ( EV SET BY VL2CRT)_'P1*H0018_^1_%AND- LPMASK+11_#REMOVE DELAY CYCLE BITS (12-13)_%P2*L0007_^1_%TRA Q_RP1*H0018_^1_%INP RJCT-*_'INPUT STATUS + CHARACTER_-P1*H0018_^1_%LDQ* SAVECH_'TEST IF FLAG SET_5P1*H0018_^1_%SQM INP32_(YS, GO TO INP32_6P1*H0018_^1_%ALS 5_,NO, CHECK CHAR READY_1P1*H0018_^1_%SAM INP31_NP1*H0018_^1_%JMP* INPNXT_'IF NO CH RDY% DO NEXT TER€€MINAL_'P1*H0018_^1INP31 ALS 11_QP1*H0018_^1INP32 SAM INP40_(TEST FOR ERROR CONDITION_-P1*H0018_^1_(ENA_$ERRCD_^1_(JMP*_#INP80_,GO TO STORE THE ERROR CODE_^1*_] P1*H0017_^1*_$TEST TERM TYPE AND CHECK FOR CANCEL_5P1*H0017_^1*_] P1*H0017_^1INP40 AND- LPMASK+7_$MASK AND SAVE CHARACTER_.P1*H0017_^1_%STA* SAVECH_MP1*H0017_^1_%LDQ* ATTKEP_MP1*H0017_^1_%LDA- (ZERO),Q_$TEST TERMINAL TY€€PE_3P1*H0017_^1_%ALS 5_RP1*H0017_^1_%SAM INP41_NP1*H0017_^1_%ALS 1_RP1*H0017_^1_%SAM INP42_NP1*H0017_^1_%JMP* C752_)752 % CONVERT CANCEL_1P1*H0017_^1INP41 ALS 2_RP1*H0017_^1_%SAP INP42_NP1*H0017_^1_%JMP* C481_)481 % CONVERT CANCEL_1P1*H0017_^1INP42 LDA* SAVECH_MP1*H0017_^1_(INA_$-CANCEL_*CHECK IF IT IS A CANCEL CODE_^1_(SAN_$INP60_,IF NOT, GO ON_^1_(LDA-_#FRMNT,Q_*CHECK WD2€€3,B15 OF ATT IF CANCEL OK_^1_(SAM_$INP50_,YES,IT IS_^1_(ENA_$CANCEL_+IF NOT, REPORT THE CHARACTER_^1_(JMP*_#INP80_,TO THE INPUT QUEUE_^1INP50_"AND-_#ZROBIT+14_(SET B14-FUNCTION OCCURED_^1_(EOR-_#ONEBIT+14_^1_(STA-_#FRMNT,Q_^1_(JMP*_#INPNXT_+AND GO TO NEXT UNIT_^1INP60_"INA_$CANCEL_+REPORT THE ORIGINAL CHARACTER_^1INP80_"STA*_#SAVECH_+SAVE THE CHARACTER_^1_(LDA*_#(ATTKEP)_)IF STATIO€€N IS_-06*C1301_^1_(SAM_$INP251_+IN SUP LOCK OR SYS LOCK_"06*C1301_^1_(ALS_$3_0DO NOT PUT CHARACTER_%06*C1301_^1_(SAM_$INP251_+INTO IT'S QUEUE_+06*C1301_^1_(ENQ_$SW2_I06*C1301_^1_(LDA*_#(ATTKEP),Q_B06*C1301_^1_(AND-_#ONEBIT+8_D06*C1301_^1_(SAZ_$1_K06*C1301_^1INP251_!JMP*_#INPNXT_F06*C1301_^1_%LDA* (TIQKEP)_$IF TIQ IS ALREADY FULL_.06*C1387_^1_%ALS 8_,SET SYS LOCK AND 'LL' HAS_+06*C€€1387_^1_%EOR* NUMCH_(TO BE DISPLAYED_506*C1387_^1_%AND- LPMASK+8_J06*C1387_^1_%SAN INP2_N06*C1387_^1_%LDA* (ATTKEP)_J06*C1387_^1_%AND- ONEBIT+11_#IF IN ERROR LOCK IGNORE LL_*06*C1387_^1_%SAN INP3_N06*C1387_^1_%LDA* (ATTKEP)_J06*C1387_^1_%EOR- ONEBIT+12_I06*C1387_^1_%STA* (ATTKEP)_J06*C1387_^1_%LDA* (ATTKEP),Q_H06*C1387_^1_%EOR- ONEBIT+8_J06*C1387_^1_%STA* (ATTKEP),Q_H06*C1387_^1I€€NP3_!JMP* INPNXT_L06*C1387_^1INP2_!LDQ* (TIQKEP)_J06*C1387_^1_(ADQ-_#ONEBIT+8_)INCREMENT THE NO OF CHARS IN TIQ_^1_(STQ*_#(TIQKEP)_^1_(CLR_$A_^1_(LLS_$8_0PREPARE THE POSITIONING OPERATION_^1*_]06*C1387_^1_(INA_$-1_^1_(QLS_$8_^1_(AAQ_$A,Q_.A,Q KEEP THE UNBIASED ADDRESS IN BUF_^1_(SUB*_#NUMCH_^1_(SAM_$1_0IF A IS =0 OR +,IT IS THE REAL POINT_^1_(TRA_$Q_0Q IS THE REAL POINTER_^1_(INQ_$€€2_0BIAS ON START OF TIQ_^1_(LRS_$1_0ISOLATE THE LOWEST BIT IN A REGISTER_^1_(STQ-_#I_0SAVE THE INDEX_^1_(TRA_$Q_^1_(LDA*_#(TIQKEP),I_^1_(SQM_$1_0IF Q NEG.,THE RIGHTHND CHARACT IS SL_^1_(ALS_$8_0ADJUST TO CHANGE IN THE RIGHT SIDE_^1_(AND-_#NZERO+8_^1_(ADD*_#SAVECH_^1_(SQM_$1_^1_(ALS_$8_0PUT BACK THE RIGHT VALUE IN TIQ._^1_(STA*_#(TIQKEP),I_^1INPNXT LDA* ATTKEP_'PREPARE UPDATING OF A€€TTKEP,T1QKEP_"06*C1387_^1_(LDQ*_#TIQKEP_^1_(JMP*_#INP15_^1RJCT_#NOP_$0_^1_(JMP*_#INPNXT_^1*_]_^1*_]_^1*_] P1*H0017_^1*_$TERMINAL = 752 % CONVERT $03-CANCEL_5P1*H0017_^1*_] P1*H0017_^1C752_!LDA* SAVECH_MP1*H0017_^1_%INA -$03_)TEST FOR $03_9P1*H0017_^1_%SAN C752X_NP1*H0017_^1_%ENA CANCEL_'YES% INSERT CANCEL_3P1*H0017_^1_%STA SAVECH_MP1*H0017_^1C752X JMP* INP42_NP1*H0017_^1*_] P1€€*H0017_^1*_$TERMINAL = 481 % CONVERT $75-CANCEL AND CANCEL-$75_%P1*H0017_^1*_] P1*H0017_^1C481_!LDA SAVECH_MP1*H0017_^1_%INA -$75_)TEST FOR $75_9P1*H0017_^1_%SAN C481X_NP1*H0017_^1_%ENA CANCEL_'YES% INSERT CANCEL_3P1*H0017_^1_%JMP* C481Y_NP1*H0017_^1C481X INA $75-CANCEL_"TEST FOR CANCEL_6P1*H0017_^1_%SAN C481Z_NP1*H0017_^1_%ENA $75_*YES% INSERT $75_6P1*H0017_^1C481Y STA S€<AVECH_MP1*H0017_^1C481Z JMP* INP42_NP1*H0017_^1_$END_]_^__ <PDRC CSY/ K P€1_%NAM DRC_*DECK-ID I15 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* INTERROGATE FUNCTION TO DISPLAY DATA IN PACKED FORMAT_^1*_]_^1* DISPLAY STARTS WITH CURRENT FIELD_^1*_]_^1* NEW RECORDS START ON NEW LINES_^1*_]_^1* FIELDS START WITH€€ INVERSE BLANK (INVERSE * IF FIELD IS_^1* ERROR FLAGGED)_^1*_]_^1* CONTINUE/CANCEL EXPECTED WHEN SCREEN IS FULL_^1*_]_^1******_$ATT EQUATES_$*****_^1_%EQU CMOD(2),FCNT(3),ATRB(6),PFBA(7)_^1_%EQU RCNT(4)_^1_(EQU_$CURDA(9),FMTNO(13),FLDN(14),RFA(93)_)09*C1602_^1_%EQU BMOD(15),BRCNT(15),SW1(19),RCDRD(31)_^1_%EQU RCD(32),TOPT(33),ATEMP(73)_^1******_$SST EQUATES_$*****_^1_%EQU SS€€T($47),CFFA(12),STEMP(20)_^1_%EQU GBYTE($94),ERROR($96),GETCOM($9C)_^1_%EQU GFCORE($9D),DISPLY($A0),REWRIT($A4)_^1_%EQU CLRSR($93)_^1_%EQU READN($A6)_^1******_$MISCELLANEOUS_"******_^1_%EQU CURSRD(3),E1CODE($12),B2CODE($7),ZERO($22)_^1_%EQU LPMASK(2),NZERO($12),ONEBIT($23),ZROBIT($33)_^1******_$EXTERNALS_'******_^1_%EXT SETDIS,CLRALL,GENHDR,LOWDAT,CONCSR,DSPDIR_^1_%EXT CARL€€IN,UPDAT,CONCAN,SETMOV_^1_%EXT REGEN_^1HDR_%VFD_"N2/3,N3/0,X11/EDRC-*_^1_)NUM_"1_^1_)NUM_"0_^1_)NUM_"0_^1_)ADC_"DRC-HDR_^1*_]_^1DRC_"RTJ+ SETMOV_^1_%RTJ+ VLSET_(SET UP CRT TYPE_5SLS_^1_%EXT VLSET_MSLS_^1_%ENA 3_^1_%STA- SST+STEMP_^1_%RTJ- (GETCOM)_^1_%SQP ERRE1_^1_)LDA-_!CMOD,I_+CHECK MODE-LEGAL ONLY IN PURE READ_^1_)AND_"=N$3100_^1_)SAZ_"OKMODE_^1ERRE1_#LDA-_!SW1,I_,ERROR-SET €€REGEN BIT_^1_)AND-_!ZROBIT+8_^1_)EOR-_!ONEBIT+8_^1_)STA-_!SW1,I_^1_)ENQ_"E1CODE_+E2-INVALID REQUEST_^1_)JMP-_!(ERROR)_^1*_]_^1OKMODE LDA- FCNT,I_'RESET POINTERS TO BEG OF FIELD_'P1*H0017_^1_)AND-_!LPMASK+8_^1_)TCA_"A_^1_)ADD-_!RCNT,I_^1_)STA-_!RCNT,I_^1_)LDA-_!FCNT,I_^1_)AND-_!NZERO+8_^1_)STA-_!FCNT,I_^1_)CLR_"A_^1_)RTJ-_!(DISPLY)_)SET DISPLAY TO DATA MODE_^1_)ADC_"SETDIS_^1*_]_^1N€€WSCRN_"RTJ-_!(DISPLY)_)NEW PAGE- CLR SCREEN, DISPLAY HDR_^1_)ADC_"CLRALL_^1_)RTJ-_!(DISPLY)_^1_%ADC GENHDR_^1_)LDA+_!LOWDAT_+GET ADDR OF BEG OF DATA_^1_)INA_"1_^1CADR_$RTJ+_!CONCSR_+CALC ADDRESS CODES_^1_)STA*_!CALL_^1_)RTJ*_!REFADR_^1CALL_!NUM 0,$FFFF_^1REFADR_"NUM_"0_^1_)LDA*_!REFADR_^1_)RTJ-_!(DISPLY)_)SET ADDRESS_^1_%ADC DSPDIR_^1CHK01 LDA- BMOD,I_'CHK FOR END OF DATA_^1_%A€€LS 2_^1_%SAP BMVER_^1_%LDA- RCDRD,I_%BASIC MODE ENTRY-_^1_%SUB- RCD,I_(IF RCD=RCDRD_^1_%SAZ 1_^1_%JMP* NOTEND_^1_%LDA- BRCNT,I_%AND BRCNT = RCNT_^1_%AND- LPMASK+12_^1_%SUB- RCNT,I_^1_%SAN 1_^1_%JMP* ERRB2_^1_%JMP* NOTEND_^1*_]_^1BMVER LDQ- ATRB,I_'BASIC MODE VERIFY-_^1_%LDA- 5,Q_*IF 1ST FIELD IN LAST_^1_%SAM 1_^1_%JMP* NOTEND_^1_%LDA- FLDN,I_^1_%AND- NZERO+9_^1_(SAN_$JNOTND_F€€02*C1033_^1_%LDA- CURDA,I_%AND CURRENT IN ATT =_^1_%SUB- 4,Q_*PREVIOUS IN TRB_^1_(SAN_$JNOTND_+THEN END OF DATA_*02*C1033_^1_%LDA- 6,Q_^1_%ALS 8_^1_%EOR- CURDA+1,I_^1_%AND- LPMASK+8_^1JNOTND_!SAN_$NOTEND_F02*C1033_^1*_]02*C1033_^1ERRB2_"RTJ+_#CONCAN_F02*C1033_^1_(SAZ_$CONT_H02*C1033_^1_(JMP_$CANEXT_F02*C1033_^1CONT_#RTJ-_#(DISPLY)_D02*C1033_^1_(ADC_$SETDIS_F02*C1033_^1_(RTJ-_#(DIS€€PLY)_D02*C1033_^1_(ADC_$REGEN_G02*C1033_^1_%ENQ B2CODE_'DISPLAY END-OF-DATA ERR_^1_%JMP- (ERROR)_^1*_]_^1NOTEND LDQ- TOPT,I_'DISPLAY A FIELD_^1_%LDA+ UPDAT_(CK THAT AT LEAST 3 SCREEN_^1_%SUB- CURSRD,Q_$POSITIONS REMAIN_^1_%INA -1_WA_^1_%STA- ATEMP,I_%SAVE REMAINING DATA PSACE_^1_%SAP CKEFLG_^1_%JMP CONCAL_'LESS THAN THREE-WAIT FOR CONT_^1CKEFLG RTJ- (GBYTE)_%CK 1ST CHAR IN FLD €€FOR_^1_%QLS 8_,ERR FLAG_^1_%SQP NOFLG_^1_%LDA =N$453E_%ERROR_!THE_^1_(ALS_$12_BDIGITS_^1_(LDQ*_#SL+2_^1_(LL€€S_$4_^1_(STQ*_#SL+2_^1_(ALS_$12_^1_(LDQ*_#SL+3_^1_(LLS_$4_^1_(STQ*_#SL+3_^1_(LLS_$4_^1_(SAZ_$GETL2_^1_(ENA_$19_/LIMITS OVERFLOW_^1_(JMP*_#GOR2B1_^1*_]_^1GETL2_"JMP*_#GETDIG_,GET NEXT DIGIT._^1*_]_^1GETD2_"INA_$-$2B+$30_)NOT DIGIT CHECK FOR SIGN_^1_(SAZ_$PSIGN_^1_(INA_$+$2B-$2D_^1_(SAZ_$NSIGN_^1*_]_^1GETD3_"ENA_$0_0ILLEGAL CHAR._^1_(JMP*_#GOR2B1_^1*_]_^1NSIGN_"LDA-_#NZERO+12_^1PSIGN€€_"STA*_#SIGN_-SAVE BCD SIGN._^1*_]_^1_(ENQ_$3_^1GETD4_"LDA*_#SL,Q_^1_(SAN_$LAST_^1_(SQZ_$LAST1_,SKIP IF LIMIT =0_^1_(INQ_$-1_^1_(JMP*_#GETD4_^1*_]_^1LAST_#AND-_#NZERO+12_^1_(SAZ_$1_0CHECK IF ROOM FOR SIGN_^1_(INQ_$1_^1_(LDA*_#SL,Q_^1_(EOR*_#SIGN_^1_(STA*_#SL,Q_^1_(INQ_$1_^1LAST1_"LRS_$3_0Q= NO OF WORDS_^1_(LDQ-_#COUNT,I_^1_(LLS_$3_^1_(STQ-_#COUNT,I_^1_(LDA-_#LPMASK+3_)GET LIMIT LEN€€GTH_^1_(LAQ_$Q_^1GETD5_"SQZ_$ENDL_^1*_]_^1_(LDA-_#FMTBAS,I_^1_(ADD-_#FMTPNT,I_^1_(STA-_#SST+STEMP_^1*_]_^1_(LDA*_#SL-1,Q_+MOVE LIMITS_^1_(STA-_#(SST+STEMP)_^1_(RAO-_#FMTPNT,I_^1_(INQ_$-1_^1_(JMP*_#GETD5_^1*_]_^1ENDL_#JMP*_#(GETLIM)_^1*_]_^1_(SPC_$3_^1*S17_#NO OPERATION SUBROUTINE_^1*_]_^1S17_$NOP_$0_^1_(JMP*_#(S17)_^1_(EJT_^1*********************************************************€€********_^1*_]_^1*_'CONTROL WORD TABLE FOR HEADER RECORD_^1*_]_^1*****************************************************************_^1*****************************************************************_^1_(SPC_$3_^1_(EQU_$HDRINF(*)_^1*_]_^1_(HEAD_#A,1_.STATUS_^1_(TSTF_#N,SB17_+NEW FORMAT_^1_(TSTF_#R,SB00_+REPLACE FORMAT_^1_(ENDF_#1_^1*_]_^1_(HEAD_#N,SB01_+FORMAT NO._^1*_]_^1_(HEAD_#N,€€SB02_+RECORD LENGTH_^1*_]_^1_(HEAD_#A,2_.FORCED REVERIFICATION_^1_(TSTF_#N,SB17_+NO_^1_(TSTF_#Y,SB03_+YES_^1_(ENDF_#2_^1*_]_^1_(HEAD_#A,3_.RE-SEQUENCEING_^1_(TSTF_#N,SB17_+NO_^1_(TSTF_#Y,SB04_+YES_^1_(ENDF_#3_^1*_]_^1_(HEAD_#A,4_.AUTOSEQUENCEING_^1_(TSTF_#N,SB17_+NO_^1_(TSTF_#Y,SB05_+YES_^1_(ENDF_#4_^1*_]_^1_(HEAD_#N,SB06_+AUTOSEQ RESEQUENCE NO._^1*_]SLS_^1_%HEAD A,16_MSLS_^1_%TST€€F N,SB17_LSLS_^1_%TSTF Y,SB1B_LSLS_^1_%ENDF 16_PSLS_^1*_]07*C1402_^1_(HEAD_#A,15_-FORMAT_407*C1402_^1_(TSTF_#N,SB17_+NO_807*C1402_^1_(TSTF_#Y,SB1A_+YES_707*C1402_^1_(ENDF_#15_J07*C1402_^1*_]_^1_(HEAD_#N,SB07_+EXIT FROM ANALYSER_^1_(EJT_^1*****************************************************************_^1*****************************************************************_^1*_]_^1*_'C€€ONTROL WORD TABLE FOR FIELD SPECIFICATION_^1*_]_^1*****************************************************************_^1*****************************************************************_^1_(SPC_$3_^1_(EQU_$FLDINF(*)_^1*_]_^1_(HEAD_#N,SB08_+FIELD NAME_^1*_]_^1_(HEAD_#A,5_.DATA TYPE_^1*_]_^1_(TSTB_#L,0,1,0_*LOWER CASE_^1_(TSTB_#U,15,1,1_)UPPER CASE_^1_(TSTB_#N,15,1,1_)NUMERIC UNSIGNED_€€^1_(TSTB_#N,14,1,1_+"_%"_^1_(TSTB_#S,13,1,1_^1_(TSTB_#S,15,1,1_^1_(TSTB_#S,14,1,1_)NUMERIC SIGNED_^1_(TSTB_#A,14,1,1_*PURE ALPHA_^1_(ENDF_#5_^1*_]_^1_(HEAD_#N,SB0A_+MAX NO OF CHARACTERS._^1*_]_^1_(HEAD_#A,6_.KEYING MODE_^1_(TSTB_#F,5,1,0_*FIXED_^1_(TSTB_#V,5,1,1_*VARIABLE._^1_(TSTB_#B,8,1,1_*VARIABLE KEYING WITH BOUNDARY CHECK_^1_(TSTB_#B,5,1,1_^1_(TSTB_#X,8,1,1_*FIXED KEYING WITH €€BOUNDARY CHECK_^1_(ENDF_#6_^1*_]_^1_(HEAD_#A,7_.RECORDING MODE._^1_(TSTB_#F,12,1,0_)FIXED_^1_(TSTB_#V,12,1,1_)VARIABLE_^1_(TSTB_#II,11,1,1_(IGNORE RECORDING_*07*C1400_^1_(ENDF_#7_^1*_]_^1_(HEAD_#A,9_.VERIFICATION TYPE_^1_(TSTB_#N,0,1,0_*NO_^1_(TSTB_#K,0,1,1_*KEY_^1_(TSTB_#S,1,1,1_*SIGHT_^1_%TSTB D,1,1,1_%DISPLAY ONLY_9P0*H0010_^1_%TSTB D,0,1,1_%DISPLAY ONLY_9P0*H0010_^1_(ENDF_#9_^1€€*_]_^1_(HEAD_#A,8_.AUTOMATIC FUNCTIONS_^1_(TSTF_#N,SB0B_+NO (SWITCH OFF ALL AUTO)_^1_(TSTF_#R,SB0B_+RIGHT ZERO FILL_^1_(TSTF_#R,SB0C_-"_!"_!"_!CHECK DATA TYPE_^1_(TSTB_#R,2,1,1_,"_!"_!"_^1_(TSTF_#L,SB0B_+LEFT BALNK FILL_^1_(TSTF_#L,SB0C_-"_""_""_!CHECK DATA TYPE_^1_(TSTB_#L,2,1,1_,"_""_""_^1_(TSTF_#S,SB0D_+AUTO SKIP. CHECK KEY/REC.MODE_^1_(TSTB_#S,2,1,1_+"_""_^1_(TSTB_#S,3,1,1_+"_"€€"_^1_(TSTB_#D,3,1,1_*AUTO DUP_^1_%TSTB F,3,1,1_%AUTO DUP REGARDLESS OF FORMAT CHANGE_#RV001_^1_%TSTB F,4,1,1_ORV001_^1_(ENDF_#8_^1*_]_^1_(HEAD_#A,11_-NON ZERO TEST_^1_(TSTB_#N,6,1,0_*NO_^1_(TSTB_#Y,6,1,1_*YES_^1_(TSTF_#B,SB19_F06*C1317_^1_(TSTB_#B,9,1,1_E06*C1317_^1_(ENDF_#11_^1*_]_^1_(HEAD_#A,10_-AUTO ERROR FLAGGING_^1_(TSTB_#N,7,1,0_*NO_^1_(TSTB_#Y,7,1,1_*YES_^1_(ENDF_#10_^1*_]_^€€1_(HEAD_#N,SB09_+RESEQUENCING FIELD NUMBER_^1*_]_^1_(HEAD_#N,SB0E_+FILL CHAR_^1*_]_^1_(HEAD_#N,SB0F_+OWN CODE_^1*_]_^1_(HEAD_#N,SB10_+SPECIAL TEST_^1*_]_^1_(HEAD_#A,12_-FUNCTION AND COUNTER (1)_^1_(TSTF_#N,SB11_+NO COUNTER_^1_(TSTF_#A,SB11_+ADD TO COUNTER_^1_(TSTF_#S,SB11_+SUBTRACT FROM COUNTER_^1_(ENDF_#12_^1*_]_^1_(HEAD_#A,13_-FUNCTION AND COUNTER (2)_^1_(TSTF_#N,SB11_+NO COUNTER€€_^1_(TSTF_#A,SB11_+ADD TO COUNTER_^1_(TSTF_#S,SB11_+SUBTRACT FROM COUNTER_^1_(TSTF_#N,SB18_+MOVE COUNTER OPERATION_^1_(TSTF_#S,SB18_^1_(TSTF_#A,SB18_^1_(ENDF_#13_^1*_]_^1_(HEAD_#A,14_-LIMIT CHECK_^1_(TSTF_#N,SB17_^1_(TSTF_#II,SB15_+SET OPERATION BIT INCLUSIVE CHECK_^1_(TSTF_#E,SB15_+SET OPERATION BIT EXCLUSIVE CHECK_^1_(ENDF_#14_^1*_]_^1_(HEAD_#N,SB16_+GET LIMITS_^1*_]_^1_(HEAD_#N,€HSB07_+EXIT FROM ANALYZER._^1*_]_^1_(EQU_$EEFM(*)_*END OF EFM_^1_(END_^__HPESH CSY/ P€1_%NAM ESH_*DECK-ID S25 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1*_]_^1*_]_^1* SUPERVISOR FUNCTION CALLED AT END OF SHIFT LOCKS ALL INACTIVE_^1* TERMINALS AND IF NOT ALL ARE INACTIVE ISSUES "TERMINALS STILL_^1* ACTIVE". OTHERWISE ISSUES €€"END OF SHIFT,TYPE SOF,PRESS MI AND_^1* TYPE VX TO ABORT VALIDATA",_^1*_]_^1_(EQU_$SST($47),STEMP(20),SLOCK(1)_^1_(EQU_$ATTB(10),ATTLNG(19),CATT(11)_^1_(EQU_$IBL(14),TIQ(15)_=05*C1183_^1_(EQU_$WAIT($B0)_C05*C1183_^1*_]_^1_(EQU_$GETCOM($9C),ENTPRG($9E),EXDFUN($9F)_^1_(EQU_$DISPLY($A0),SV($B1),REJSUP($B2)_^1_(EQU_$GETALP($9B)_^1*_]_^1_(EQU_$LOCK(0),CMODE(2),FUNIDX(21),AINT(27)_^1_(EQ€€U_$SW1(19)_E05*C1183_^1_(EQU_$SCA(36),FLAG(SCA+10),STANS(SCA+11),ATTSAV(SCA+12)_^1_(EQU_$SQZFLG(SCA+13),INDEX(SCA+14)_^1_(EQU_$TERNO(SCA+15),TERATT(SCA+16)_005*C1183_^1_(EQU_$LPMASK(2),ONEBIT($23),ZROBIT($33),ZERO($22)_^1*_]_^1_(EXT_$SETDIS,CLRALL,DLINE,PRTMSG_^1_(EXT_$CANCEL_+CANCEL CODE_/05*C1183_^1*_]_^1_(EQU_$M1(71),M2(72),M3(73)_^1HDR_$VFD_$N1/1,N1/1,N3/0,X11/EESH-*_^1_(NUM_$1€€_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$ESH-HDR_^1_(ADC_$CALSO1-HDR_^1ESH_$ENA_$3_0CHECK FOR END OF RECORD_^1_(STA-_#STEMP+SST_^1_(STA-_#SQZFLG,I_)INDICATE NO SQZ_^1_(RTJ-_#(GETALP)_^1_(SQP_$L1_^1_(SAP_$1_^1_(JMP*_#INVALD_+INVALID COMMAND_^1_(JMP*_#OK_^1L1_%SQZ_$COMMA_,COMMA_^1_(INA_$-$20_-CHECK IF BLANK_^1_(SAZ_$1_^1_(JMP*_#INVALD_^1_(JMP*_#FIN1_^1TAB_$VFD_$N8/0,A8/S_^1_(VFD_$N8/0,A8/Q_^1€€_(VFD_$N8/0,A8/Z_^1*_]_^1*_!COMMA._"CHECK IF_!SQZ_!FOLLOWS._^1*_]_^1COMMA_"STQ-_#SQZFLG,I_)Q=0. SQZ SHOULD RE DONE_^1_(STQ-_#INDEX,I_*INDEX=0_^1BACK1_"RTJ-_#(GETALP)_^1_(SQM_$INVPA_,NOT ASCII CHARACTER_^1*_]_^1* REGISTER_!HOLDS ASCII CHARACTER_^1*_]_^1_(LDQ-_#INDEX,I_^1_(EOR*_#TAB,Q_^1_(SAZ_$2_^1INVPA_"ENA_$3_0INVALID PARAMETER_^1_(JMP-_#(REJSUP)_^1_(RAO-_#INDEX,I_^1_(LDQ-_#IND€€EX,I_^1_(INQ_$-3_^1_(SQZ_$FIN1_^1_(JMP*_#BACK1_^1FIN1_#RTJ-_#(GETCOM)_^1_(SQM_$OK_^1_(JMP*_#INVPA_^1INVALD_!ENA_$9_^1_(JMP-_#(REJSUP)_^1OK_%CLR_$A_^1_(STA-_#TERNO,I_E05*C1183_^1_(STA-_#FLAG,I_^1_(LDA-_#SLOCK+SST_(SAVE NUM_^1_(AND-_#LPMASK+6_)OF_^1_(STA-_#STANS,I_*STATIONS_^1_(SAN_$1_LP2*L0003_^1_(JMP*_#FIN_/NO STATIONS TO CHECK_%P2*L0003_^1_(LDQ-_#ATTB+SST_)ADVANCE TO NEXT_^1NXTATT€€_!ADQ-_#ATTLNG+SST_'ATT_^1_(RAO-_#TERNO,I_E05*C1183_^1_(STQ-_#TERATT,I_)SAVE BASE ADDRESS_)05*C1183_^1NXTAT1_!STQ-_#CATT+SST_D05*C1183_^1_(LDA-_#(ZERO),Q_)CHECK IF SUPERVISOR_^1_(AND-_#ONEBIT+7_^1_%SAZ CKIDLE_'NOT A SUPERVISOR_5P1*H0021_^1_%LDA- (ZERO),Q_$CHECK IF MATRIX PRINTER_.P1*H0021_^1_%AND =N$0700_LP1*H0021_^1_%EOR =N$0300_LP1*H0021_^1_(SAN_$SETFLG_,IT IS NOT MATRIX PRINT€€ER_!P2*L0003_^1CKIDLE LDA- CMODE,Q_LP1*H0021_^1_(AND_$=N$0F00_^1_(SAN_$SETFLG_^1_(LDA-_#(ZERO),Q_D05*C1183_^1_(AND_$=N$6000_*WAIT STATE_005*C1183_^1_(SAN_$SETFLG_+STATION IS ACTIVE_)05*C1183_^1_(LDA-_#2,Q_I05*C1183_^1_(SAM_$1_K05*C1183_^1_(JMP*_#IDK_I05*C1183_^1_(JMP*_#CANCE_G05*C1183_^1SETFLG_!ENA_$1_0SET ACTIVE TERMINALS FLAG_^1_(STA-_#FLAG,I_^1IFLAST_!LDA-_#STANS,I_*CHECK IF LAS€€T TERMINAL_^1_(INA_$-1_^1_(SAN_$1_^1_(JMP*_#FIN_^1_(STA-_#STANS,I_^1_(JMP*_#NXTATT_^1CANCE_"LDA-_#SST+IBL_*INSERT CANCEL_-05*C1183_^1_(MUI-_#TERNO,I_*TO TIQ_405*C1183_^1_(ADD-_#SST+TIQ_E05*C1183_^1_(TRA_$Q_K05*C1183_^1_(LDA_$=XCANCEL_D05*C1183_^1_(ALS_$8_K05*C1183_^1_(IIN_$0_K05*C1183_^1_(STA-_#1,Q_I05*C1183_^1_(LDA-_#ONEBIT+8_D05*C1183_^1_(STA-_#(ZERO),Q_D05*C1183_^1_(EIN_$0_K05*C€€1183_^1_(RTJ-_#(WAIT)_F05*C1183_^1_(LDQ-_#TERATT,I_D05*C1183_^1_(JMP*_#NXTAT1_F05*C1183_^1IDK_$LDA-_#I_0SAVE I_^1_(STA-_#ATTSAV,Q_^1_(STQ-_#I_0STORE ADDR OF ATT IN I_^1_(ENA_$2_0SET DATA DEFINE BITS_^1_(RTJ-_#(DISPLY)_)TO IDK_^1_(ADC_$SETDIS_^1_(RTJ-_#(DISPLY)_)CLEAR DISPLAY_^1_(ADC_$CLRALL_^1_(RTJ*_#MESADD_^1_(ALF_$16,_'**END OF SHIFT**_101*C1018_^1MESADD_!NUM_$0_^1_(LDQ*_#MESADD_€€+DISPLAY MESSAGE_^1_(ENA_$32_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DLINE_^1*_]05*C1183_^1_(LDQ-_#I_0RESTORE Q_^1_(LDA-_#ATTSAV,I_)ATT BASIC ADDR TO I_^1_(STA-_#I_^1_(LDA-_#(ZERO),Q_)SET SUPERVIZ LOCK BIT_^1_(AND-_#LPMASK+15_^1_(EOR-_#ONEBIT+15_^1_(AND-_#ZROBIT+11_(CLEAR ERROR LOCK_*05*C1183_^1_(STA-_#(ZERO),Q_^1_(CLR_$A_K05*C1183_^1_(STA-_#SW1,Q_G05*C1183_^1_(JMP*_#IFLAST_^1FIN_$LDA-_#FLAG,I€€_+CHECK IF TERMINALS STILL ACTIVE_^1_(SAZ_$CALSOF_^1_(ENA_$M1_/PRINT "TERMINALS STILL ACTIVE"_^1_(RTJ_$PRTMSG_+AND EXIT_^1_(JMP-_#(SV)_^1CALSOF_!LDA-_#SQZFLG,I_^1_(SAN_$CALSO1_^1_(RTJ-_#(EXDFUN)_^1_(CLR_$A_^1_(LDQ_$=N$80E_+CALL SQZ FIRST OVERLAY_^1_(RTJ-_#(ENTPRG)_^1CALSO1_!ENA_$M2_^1_(RTJ_$PRTMSG_+SOF FUNCTION_^1_(ENA_$M3_^1_(RTJ_$PRTMSG_^1_(RTJ-_#(EXDFUN)_^1_(SET_$A_0SET E.O.R IN€Ž INTERROGATE BUF_^1_(LDQ-_#AINT,I_+FOR SOF FUNCTION_^1_(STA-_#5,Q_^1_(CLR_$A_^1_(LDQ_$=N$3814_^1_(RTJ-_#(ENTPRG)_^1_(EQU_$EESH(*)_^1_(END_^__ ŽPPFM CSY/ P€1_%NAM PFM_*DECK-ID S24 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* SUPERVISOR ROUTINE TO PRINT FORMATS_^1* PFM_.PRINT LIST OF FORMATS_^1* PFM,XX,YY_(PRINT FORMAT SPECIFICATIONS_^1*_]_^1*_]_^1*_]_^1_(EXT_$LOG1A_^1_(EXT_$GETBUF_^1_(EXT_$SETMOV,C€€ONCAN,GFNAME,FMTPAR_^1*_]_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$TEN($46),EREQST(8)_^1*_]_^1_(EQU_$SST($47)_^1_(EQU_$STEMP(SST+20)_^1_(EQU_$CFFA(12)_^1_(EQU_$MAXFMT(24)_^1_(EQU_$LFDDA(39)_^1*_]_^1_(EQU_$CLCDWA($90)_^1_(EQU_$ENTSR($91)_^1_(EQU_$EXTSR($92)_^1_(EQU_$SUPRW($97)_^1_(EQU_$GETBIN($99)_^1_(EQU_$GETCOM($9C)_A05*C1158_^1_(EQU_$ENTPRG($9E)_A0€€6*C1328_^1_(EQU_$EXDFUN($9F)_A06*C1328_^1_(EQU_$GETALP($9B)_^1_(EQU_$GFCORE($9D)_^1_(EQU_$REDSEC($A7)_^1_(EQU_$REDDWA($A9)_^1_(EQU_$RELFOR($AD)_^1_(EQU_$CAM($AE)_^1_(EQU_$SV($B1)_^1_(EQU_$REJSUP($B2)_^1*_]_^1_(EQU_$PFBA(7)_^1_(EQU_$FMTNO(13)_^1_'EQU_%RFA(93)_E09*C1602_^1_(EQU_$CANC(23)_^1_(EQU_$AINT(27)_^1*_]_^1_(EQU_$SCA(36)_^1_(EQU_$CALRPI(SCA+6)_?06*C1328_^1_(EQU_$SC(36+10)_^1_(€€EQU_$BUFF(SC)_^1_(EQU_$FMTNMB(SC+1)_^1_(EQU_$PPNT(SC+2)_^1_(EQU_$SECTOR(SC+3)_^1_(EQU_$RELADR(SC+4)_^1_(EQU_$SAVE(SC+5)_^1_(EQU_$TEMP(SC+6)_^1_(EQU_$CRTSTS(SC+7)_^1_(EQU_$FFMT(FMTNMB)_^1_(EQU_$LFMT(SC+8)_^1_(EQU_$ONE(SC+9)_^1_(EQU_$LUFLAG(SC+10)_^1_(EQU_$FIELD(SC+11)_^1_(EQU_$LMTLNG(SC+12)_^1_(EQU_$SIGN(TEMP)_^1_(EQU_$FW(3)_^1_(EQU_$MOT(5)_^1*_]_^1HDR_$VFD_$N2/3,N3/0,X11/EPFM-*_^1_€€(NUM_$1_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$PFM-HDR_^1_(ADC_$PFM2-HDR_D06*C1328_^1PFM_$RTJ+_#SETMOV_^1_(ENA_$3_^1_(STA-_#STEMP_^1_(RTJ-_#(GETALP)_)CHECK PFM COMMAND_^1_(SAM_$ERR9_^1_(SQM_$GETCOR_^1_(SQZ_$GETCOR_^1_(INA_$-$20_H05*C1158_^1_(SAN_$ERR9_H05*C1158_^1_(RTJ-_#(GETCOM)_D05*C1158_^1_(SQM_$GETCOR_F05*C1158_^1ERR9_#ENA_$9_0INVALID COMMAND FORMAT_^1_(JMP-_#(REJSUP)_^1*_]_^1GETCOR_!S€€TQ-_#TEMP,I_^1_(ENQ_$99_^1_(RTJ-_#(CAM)_,GET CORE FOR A SECTOR_^1_(SAZ_$CAMOK_^1_(ENA_$11_^1_(JMP-_#(REJSUP)_)NO CORE AVAILABLE_^1*_]_^1CAMOK_"STA-_#CALRPI,I_D06*C1328_^1_(STQ-_#BUFF,I_F06*C1328_^1_(LDA-_#I_0SET BACKWRARDS POINTER_^1_(INA_$BUFF_^1_(STA-_#(ZERO),Q_^1_(LDA-_#TEMP,I_^1_(SAM_$PART1_^1_(JMP*_#PART2_,PRINT FORMAT SPECIFICATIONS_^1*_]_^1PART1_"STA-_#PPNT,I_+POINTER IN PRI€€NT BUFFER_^1_(CLR_$A_^1_(STA-_#FMTNMB,I_)STARTING FORMAT NUMBER_^1_(RTJ_$BLNKS_^1*_]_^1_(LDQ-_#SST_^1_(LDA-_#LFDDA,Q_^1_(STA-_#SECTOR,I_)LFD DISK ADDR_^1*_]_^1NEWSEC_!LDA-_#SECTOR,I_^1_(STA*_#SEC_^1_(LDQ-_#BUFF,I_^1_(LDA-_#1,Q_^1_(EOR-_#ONEBIT+15_(SET I/O BIT_^1_(STA-_#1,Q_^1_(INQ_$3_^1_(STQ*_#BUFADD_^1_(CLR_$A_^1_(STA-_#RELADR,I_^1_(RTJ-_#(REDSEC)_)READ LFD SECTOR_^1BUFADD_!NUM_$0€€_^1SEC_$NUM_$0_^1_(NUM_$1_^1_(NUM_$0_^1*_]_^1_(LDQ-_#BUFF,I_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+15_(CLEAR I/O BIT_^1_(STA-_#1,Q_^1*_]_^1_(LDA-_#FMTNMB,I_^1_(SAN_$NXTFMT_^1_(JMP*_#FIRST_,SKIP OVER ENTRY ZERO OF THE LFD._^1*_]_^1NXTFMT_!RAO-_#FMTNMB,I_^1_(LDQ-_#RELADR,I_^1_(ADQ-_#BUFF,I_^1_(LDA-_#3,Q_^1_(SAN_$1_^1_(JMP*_#ADVANC_+FORMAT DOES NOT EXIST_^1*_]_^1_(LDA-_#4,Q_^1*_]_^1_(STA-_#SA€€VE,I_^1_(LDQ-_#PPNT,I_^1_(SQP_$PFM1_^1_(ENQ_$2_^1_(RTJ_$TRANSF_+PRINT LIST HEADER_^1_(ENQ_$2_^1_(RTJ_$SUBR_^1_(CLR_$Q_^1_(STQ-_#PPNT,I_^1PFM1_#INQ_$-6_^1_(SQN_$NOPRNT_+IF AINT BUFFER IS FULL PRINT IT_^1*_]_^1_(STQ-_#PPNT,I_+RESET POINTER TO THE BEGINNING_^1_%CLR A_^1_(ENQ_$3_^1_(RTJ_$SUBR_^1_(RTJ_$CRTCHK_^1*_]_^1NOPRNT_!LDA-_#SAVE,I_^1_(SAP_$ACT_^1_(LDA_$=A-I_-SET ACTIVE/INACTIVE_€€^1_(JMP*_#STORI_^1ACT_$LDA_$=A-A_^1STORI_"RAO-_#PPNT,I_+(INCREASE BEFORE STORE BECAUSE AINT_^1_(LDQ-_#PPNT,I_+HEADER IS OF 4 WORDS)_^1_(QLS_$2_0MULTIPLY BY 4_^1_(ADQ-_#AINT,I_^1_(STA-_#2,Q_^1_(INQ_$1_^1_(STQ-_#STEMP+1_^1_(LDA-_#FMTNMB,I_)CONVERT FORMAT NUMBER TO ASCII_^1NEXT_#CLR_$Q_^1_(DVI-_#TEN_^1_(INQ_$$10_^1_(ADQ-_#(STEMP+1)_^1_(STQ-_#(STEMP+1)_^1_(SAZ_$ADVANC_^1_(CLR_$Q_^1_(DV€€I-_#TEN_^1_(INQ_$$10_^1_(QLS_$8_^1_(ADQ-_#(STEMP+1)_^1_(STQ-_#(STEMP+1)_^1_(SAZ_$ADVANC_^1_(LDQ-_#STEMP+1_^1_(INQ_$-1_^1_(STQ-_#STEMP+1_^1_(JMP*_#NEXT_^1ADVANC_!LDQ-_#SST_^1_(LDA-_#MAXFMT,Q_^1_(SUB-_#FMTNMB,I_^1_(SAZ_$ELFD_-SKIP IF LAST FORMAT NO WAS CHECKED_^1*_]_^1FIRST_"LDA-_#RELADR,I_)ADVANCE TO NEXT FORMAT IN THE SAME_^1_(INA_$2_0SECTOR_^1_(STA-_#RELADR,I_^1_(INA_$-96_^1_(SAZ_€€$RESEC_^1_(JMP*_#NXTFMT_^1*_]_^1RESEC_"RAO-_#SECTOR,I_)NEXT FORMAT IS ON NEXT SECTOR_^1_(JMP*_#NEWSEC_^1*_]_^1ELFD_#LDA-_#PPNT,I_^1_(SAZ_$EXIT_^1_%CLR A_^1_(ENQ_$3_0PRINT FORMAT NUMBERS REMAINED IN_^1_(RTJ_$SUBR_-THE OUTPUT BUFFER_^1*_]_^1*_]_^1EXIT_#SET_$A_^1_(JMP*_#ERREXT_^1*_]_^1*_]_^1_(EJT_^1PART2_"ENA_$4_^1_(STA-_#STEMP_^1_(RTJ-_#(GETBIN)_)GET FIRST FORMAT NO._^1_(STA-_#FFMT,€€I_^1_(SAM_$ERR7_^1_(SAZ_$ERR7_^1_(SQM_$SAVE1_^1_(RTJ-_#(GETBIN)_)GET SECOND FORMAT NO_^1_(SAM_$ERR7_^1_(SQP_$ERR7_^1SAVE1_"STA-_#LFMT,I_^1_(SUB-_#FFMT,I_^1_(SAM_$ERR7_^1_(STA-_#ONE,I_,INDICATOR IF ONLY ONE FORMAT WAS REQ_^1_(LDQ-_#SST_^1_(LDA-_#MAXFMT,Q_^1_(SUB-_#LFMT,I_^1_(SAM_$1_K06*C1328_^1_(JMP*_#OK_J06*C1328_^1ERR7_#ENA_$7_^1ERREXT_!STA-_#SAVE,I_^1_(LDQ-_#CALRPI,I_)FUNCTION IN€€DEX OF PFT_$06*C1328_^1_(SQZ_$NOPFT_G06*C1328_^1_(RTJ-_#(EXDFUN)_D06*C1328_^1_(LDQ-_#CALRPI,I_)EXECUTE PFT FROM_*06*C1328_^1_(ENA_$2_0SECOND ENTRY POINT_(06*C1328_^1_(RTJ-_#(ENTPRG)_D06*C1328_^1*_]06*C1328_^1NOPFT_"LDQ-_#PFBA,I_F06*C1328_^1_(SQZ_$2_^1_(LDQ-_#(ZERO),Q_^1_(RTJ-_#(RELFOR)_)RELEASE FORMAT_^1_(LDQ-_#BUFF,I_^1_(CLR_$A_^1_(STA-_#2,Q_.RELEASE BUFFER_^1_(STA-_#PFBA,I_^1_(ST€€A-_#FMTNO,I_^1_(LDA-_#SAVE,I_^1_(SAM_$1_^1_(JMP-_#(REJSUP)_^1_(JMP-_#(SV)_^1*_]_^1OK_%RAO-_#LFMT,I_^1_(LDQ-_#SCA+1,I_^1_(SQZ_$SETA_^1_(LDQ+_#LOG1A,Q_*CHECK IF PRINT UNIT IS A LINE_^1_(LDA-_#EREQST,Q_)PRINTER_^1_(ALS_$5_^1_(AND-_#LPMASK+3_^1_(INA_$-5_^1_(SAN_$SETA_^1_(STA-_#LUFLAG,I_^1_(ENA_$84_/84 CHAR TO BE PRINT IF L.P._^1_(RTJ+_#GETBUF_^1_(JMP*_#READSC_^1SETA_#SET_$A_^1_(STA-_#L€€UFLAG,I_^1*_]_^1READSC_!LDQ-_#SST_.ACCORDING TO THE LFD CHECK FOR_^1_(LDA-_#LFDDA,Q_*EXISTING FORMATS_^1_(LDQ-_#FFMT,I_^1_(QLS_$1_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#DA_^1_(STA*_#DA+1_^1_(LDQ-_#BUFF,I_^1_(LDA-_#1,Q_^1_(EOR-_#ONEBIT+15_(SET I/O BIT_^1_(STA-_#1,Q_^1_(INQ_$3_^1_(STQ*_#CORADR_^1*_]_^1_(RTJ-_#(REDDWA)_)READ PART OF LFD_^1CORADR_!NUM_$0_^1DA_%NUM_$0_^1_(NUM_$0_^1_(NUM_$96_^1_(N€€UM_$0_^1_(LDQ-_#BUFF,I_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+15_(CLEAR I/O BIT_^1_(STA-_#1,Q_^1_(CLR_$A_0SET RELATIVE BUFFER ADDR TO THE_^1_(STA-_#RELADR,I_)BEGINNING._^1*_]_^1LOOP_#LDQ-_#BUFF,I_^1_(ADQ-_#RELADR,I_^1_(LDA-_#3,Q_^1_(SAZ_$1_^1_(JMP*_#GET_.EXISTING FORMAT_^1_(LDA-_#ONE,I_^1_(SAN_$ON_/IF THE ONLY FORMAT REQUESTED IS_^1_(ENA_$28_/NOT EXISTING-EXIT TO ERROR_^1_(JMP*_#ERREXT_^1*€€_]_^1ON_%RAO-_#FFMT,I_+INCREASE FORMAT NUMBER._^1_(LDA-_#FFMT,I_^1_(SUB-_#LFMT,I_^1_(SAN_$ON1_^1_(SET_$A_^1_(JMP*_#ERREXT_^1*_]_^1ON1_$LDA-_#RELADR,I_)ADVANCE TO NEXT FORMAT IN BUFFER_^1_(INA_$2_^1_(STA-_#RELADR,I_^1_(INA_$-96_^1_(SAN_$1_^1_(JMP*_#READSC_^1_(JMP*_#LOOP_^1*_]_^1GET_$LDQ-_#FFMT,I_^1_(RTJ-_#(GFCORE)_)GET FORMAT_^1PFM2_#RTJ+_#SETMOV_F06*C1328_^1_(ENQ_$MOT_^1_(RTJ-_#(SU€€PRW)_*ADVANCE PAGE_^1_(ADC_$$2000_^1_(ENA_$4_^1_(STA-_#RFA,I_^1*_]_^1_(CLR_$Q_^1_(RTJ_$TRANSF_^1*_]_^1_(LDQ-_#PFBA,I_^1_(LDQ-_#(ZERO),Q_^1_(STQ-_#STEMP+1_^1_(LDA-_#3,Q_^1_(SAP_$SA_^1_(LDA_$=A=I_^1_(JMP*_#STSTT_^1SA_%LDA_$=A=A_^1STSTT_"LDQ-_#AINT,I_+STORE ACTIVE/INACTIVE_^1_(STA-_#13,Q_^1*_]_^1_(LDA-_#AINT,I_^1_(INA_$9_^1_(STA-_#STEMP_^1_(LDQ-_#STEMP+1_^1_(LDA-_#3,Q_^1_(AND-_#LPMASK€€+13_(FORMAT NUMBER_^1_(RTJ_$ASCIIL_^1_(LDA-_#AINT,I_^1_(INA_$20_^1_(STA-_#STEMP_^1_(LDQ-_#STEMP+1_^1_(LDA-_#2,Q_^1_(ARS_$6_^1_(AND-_#LPMASK+10_(RECORD LENGTH_^1_(INA_$1_^1_(RTJ_$ASCIIL_^1*_]_^1_(LDQ-_#STEMP+1_^1_(LDA-_#3,Q_.FORCED REVERIFICATION_^1_(ALS_$2_^1_(CLR_$Q_^1_(LLS_$1_^1_(LDA_$NORY,Q_^1_(LDQ-_#AINT,I_^1_(STA-_#23,Q_^1*_]_^1_(LDQ-_#STEMP+1_^1_(LDA-_#6,Q_.RESEQUENCING_^1_(C€€LR_$Q_^1_(LLS_$1_^1_(LDA_$NORY,Q_^1_(LDQ-_#AINT,I_^1_(STA-_#27,Q_^1_%LDA- LUFLAG,I_$DETERMINE LU_^1_%SAZ INCBUF_'LP=0_^1_%LDA- (ZERO),I_$GET FIRST WORD ATT_^1_%AND- ONEBIT+10_#MASK OFF TERMINAL BIT_^1_%CLR Q_QSLS_^1_%STQ- TEMP,I_^1_%SAZ INCBUF_'0=TERMINAL 752_^1_%CLR A_^1_%RTJ SUBR_^1_%JMP* TRHDR_^1INCBUF SET A_,SET 752/LP FLAG_^1_%STA- TEMP,I_^1_%LDA- AINT,I_'PUT SECOND HEAD€€ER_^1_%INA 24_+BEHIND FIRST IN BUFFER_^1_%STA- AINT,I_'OFFSET IS 24 WORDS_^1TRHDR ENQ 5_^1_(RTJ_$TRANSF_F07*C1402_^1_(LDQ-_#PFBA,I_F07*C1402_^1_(LDQ-_#(ZERO),Q_D07*C1402_^1_(LDA-_#1,Q_I07*C1402_^1_%STQ- STEMP_(SAVE FMT ADDRESS_^1_(STA-_#STEMP+1_E07*C1402_^1_(CLR_$Q_K07*C1402_^1_(ALS_$2_K07*C1402_^1_(LLS_$1_0AUTO SEQUENCING_+07*C1402_^1_(LDA_$NORY,Q_F07*C1402_^1_(LDQ-_#AINT,I_F07€€*C1402_^1_(STA-_$9,Q_H07*C1402_^1_%LDQ- STEMP_(BASE ADDRESS FMT_^1_%INQ 1_,ADDRESS LENGTH FMT_^1_%LDA- (ZERO),Q_JSLS_^1_%AND- LPMASK+11_#GET LENGTH_:SLS_^1_%TRA Q_QSLS_^1_%ADQ- STEMP_(ADDRESS LAST WORD FMT_^1_%ADQ- (ZERO),Q_$ADDRESS SLS POINTER_^1_%LDA- (ZERO),Q_$GET SLS POINTER_^1_%CLR Q_^1_%LLS 1_,SLS POINTER IN Q_^1_%LDA NORY,Q_'YES OR NO_^1_%LDQ- AINT,I_'PUT IN BUFFER_^1_%€€STA- 12,Q_^1*_]07*C1402_^1_(LDA-_#STEMP+1_E07*C1402_^1_(CLR_$Q_K07*C1402_^1_(ALS_$3_K07*C1402_^1_(LLS_$1_K07*C1402_^1_(LDA_$NORY,Q_F07*C1402_^1_(LDQ-_#AINT,I_F07*C1402_^1_%STA- 18,Q_^1_%LDA- TEMP,I_'GET 752/LP FLAG_^1_%SAZ TRHDR2_'480 STATION: NEXT HEADER_^1_%LDA- AINT,I_'RESTORE ORIGINAL VALUE_^1_%INA -24_*OF AINT_^1_%STA- AINT,I_^1_%LDA LENGTH_'MAKE TOTAL LENGTH_^1_%ADD LENGT€€H+5_$OF TWO HEADERS_^1TRHDR2 ENQ 5_^1_(RTJ_$SUBR_H07*C1402_^1*_]_^1_(ENQ_$1_^1_(RTJ_$TRANSF_^1_(ENQ_$1_0PRINT SECOND HEADER LINE_^1_(RTJ_$SUBR_^1*_]_^1_(CLR_$A_^1_(STA-_#FIELD,I_^1NXTFLD_!LDA-_#FIELD,I_^1_(RTJ+_#GFNAME_+GET FIELD NAME_^1_(SAZ_$DATA_^1_(STQ-_#STEMP+1_^1_(TRA_$Q_^1_(INQ_$-1_^1_(LDA-_#AINT,I_^1_(INA_$4_^1_(STA-_#STEMP_^1LOOP2_"LDA-_#(STEMP+1),Q_%LOOP TO MOVE FIELD NA€€ME_^1_(STA-_#(STEMP),Q_^1_(SQZ_$DATA_^1_(INQ_$-1_^1_(JMP*_#LOOP2_^1*_]_^1DATA_#LDQ-_#CFFA+SST_^1_(LDA-_#1,Q_^1_(STA-_#STEMP+1_^1_(CLR_$Q_^1_(LLS_$3_0GET DATA TYPE_^1_(LDA_$TYPTAB,Q_^1_(LDQ-_#AINT,I_^1_(STA-_#7,Q_^1*_]_^1_(LDA-_#(SST+CFFA)_^1_(ALS_$8_^1_(AND-_#LPMASK+7_)GET NUMBER OF CHAR_^1_(INA_$1_^1_(LDQ-_#AINT,I_^1_(INQ_$9_^1_(STQ-_#STEMP_^1_(RTJ_$ASCIIL_^1*_]_^1_(LDA-_#STEMP+1_€€^1_(ARS_$5_^1_(AND_$=N$9_^1_(CLR_$Q_^1_(DVI-_#ONEBIT+1_D07*C1400_^1_(AAQ_$Q_^1_(LDA_$KEYTAB,Q_)KEYING MODE_^1_(LDQ-_#AINT,I_^1_(STA-_#10,Q_^1*_]_^1_(LDA-_#STEMP+1_^1_(ALS_$3_^1_(EOR-_#NZERO+14_D07*C1400_^1_(CLR_$Q_^1_(LLS_$2_K07*C1400_^1_(LDA_$KEYTAB,Q_)GET RECORDING MODE_^1_(LDQ-_#AINT,I_^1_(STA-_#11,Q_^1*_]_^1_(LDA-_#STEMP+1_^1_(AND-_#LPMASK+2_^1_(TRA_$Q_^1_(LDA_$VERTAB,Q_)GET VE€€IRFY CONDITIONS_^1_(LDQ-_#AINT,I_^1_(STA-_#12,Q_^1*_]_^1_(LDA-_#STEMP+1_^1_(ARS_$2_^1_(AND-_#LPMASK+3_^1_(TRA_$Q_^1_(INA_$-1_^1_(SAN_$AUTO_^1_(LDA-_#STEMP+1_^1_(EOR-_#NZERO+14_)CHECK IF RIGHT OR LEFT JUSTIFIED_^1_(AND-_#NZERO+14_^1_(SAN_$AUTO_^1_(INQ_$3_^1AUTO_#LDA_$AFTAB,Q_*SET AUTO FUNCTION._^1_(LDQ-_#AINT,I_^1_(STA-_#13,Q_^1*_]_^1_(LDA-_#STEMP+1_*NON ZERO TEST_^1_(ALS_$6_0CHECK €€FOR BLANK IN_(06*C1317_^1_(SAP_$NONZT1_+NUMERIC FIELD_-06*C1317_^1_(LDA_$=AB_I06*C1317_^1_(JMP*_#NONZT2_F06*C1317_^1NONZT1_!ALS_$3_K06*C1317_^1_(CLR_$Q_^1_(LLS_$1_^1_(LDA_$NORY,Q_^1NONZT2_!LDQ-_#AINT,I_F06*C1317_^1_(STA-_#14,Q_^1*_]_^1_(LDA-_#STEMP+1_*AUTO ERROR FLAGGING_^1_(ALS_$8_^1_(CLR_$Q_^1_(LLS_$1_^1_(LDA_$NORY,Q_^1_(LDQ-_#AINT,I_^1_(STA-_#15,Q_^1*_]_^1_(ENQ_$15_^1_(RTJ+_#FMT€€PAR_^1_(SAM_$NORESQ_^1_(LDQ-_#AINT,I_+RESEQUENCING FIELD NO_^1_(INQ_$17_^1_(STQ-_#STEMP_^1_(RTJ_$ASCIIL_^1*_]_^1NORESQ_!ENQ_$14_/FILL CHAR_^1_(RTJ+_#FMTPAR_^1_(SAM_$NOFC_^1_(ADD-_#ONEBIT+13_(ADD BLANK_^1_(ALS_$8_^1_(JMP*_#STRFC_^1NOFC_#LDA_$=AN_^1STRFC_"LDQ-_#AINT,I_^1_(STA-_#18,Q_^1*_]_^1_(ENQ_$13_^1_(RTJ+_#FMTPAR_+GET OWN CODE_^1_(SAM_$SPT_^1_(LDQ-_#AINT,I_^1_(INQ_$20_^1_(STQ-_#S€€TEMP_^1_(RTJ_$ASCIIL_^1*_]_^1SPT_$ENQ_$12_/SPECIAL TEST_^1_(RTJ+_#FMTPAR_^1_(SAM_$COUNT_^1_(LDQ-_#AINT,I_^1_(INQ_$22_^1_(STQ-_#STEMP_^1_(RTJ_$ASCIIL_^1*_]_^1COUNT_"ENQ_$11_^1_(RTJ+_#FMTPAR_^1_(LDQ-_#AINT,I_^1_(INQ_$23_^1_(STQ-_#STEMP_^1_(SAP_$1_^1_(CLR_$A_0IF NO COUNTER PRINT 'N'_^1_(STA-_#STEMP+1_^1_(ARS_$4_^1_(ENQ_$2_0FIRST DOC CNT CNTRL BIT NO.07*C1400_^1_(RTJ_$CNTR_-FIRST COUNT€€ER_-07*C1402_^1_(RAO-_#STEMP_G07*C1402_^1_(LDA-_#STEMP+1_^1_(ENQ_$1_0SECOND DOC CNT CNTRL,BIT N.07*C1400_^1_(RTJ_$CNTR_-SECOND COUNTER_,07*C1402_^1_(LDQ-_#SST+CFFA_D07*C1402_^1_(LDA-_#1,Q_I07*C1402_^1_(CLR_$Q_K07*C1402_^1_(ALS_$5_K07*C1402_^1_(LLS_$1_0EXTENSION ON THIS FIELD_"07*C1402_^1_(LDA_$NORY,Q_F07*C1402_^1_(ALS_$8_K07*C1402_^1_(STA-_#(STEMP)_E07*C1402_^1_(RAO-_#STEMP_G07*C14€€02_^1*_]_^1_(ENQ_$10_^1_(RTJ+_#FMTPAR_^1_(SAP_$LIMITS_^1_(LDA_$=A N_H07*C1402_^1_(STA-_#(STEMP)_^1_%CLR A_QSLS_^1_(JMP*_#NOLIMS_^1*_]_^1LIMITS_!STA-_#SAVE,I_^1_(INQ_$1_^1_(STQ-_#STEMP+1_*SAVE ADDR OF LIMITS IN FMT_^1_(AND-_#ONEBIT+7_^1_(LDQ_$=A I_H07*C1402_^1_(SAZ_$STORII_^1_(LDQ_$=A E_H07*C1402_^1STORII_!STQ-_#(STEMP)_^1*_]_^1_(LDA-_#LUFLAG,I_^1_(SAN_$NOLP_^1_(RAO-_#STEMP_^1_(JMP€€*_#CHKLIM_^1NOLP_#ENQ_$3_^1_%CLR A_QSLS_^1_(RTJ_$SUBR_-PRINT LINE_^1_(RTJ_$CRTCHK_^1_(SAN_$NOSCND_^1_(ENQ_$1_^1_(RTJ*_#TRANSF_^1_(ENQ_$1_^1_(RTJ_$SUBR_-PRINT HEADER_.07*C1400_^1NOSCND_!ENQ_$10_/GET ADDR OF LIMITS IN FMT(IT COULD_^1_(RTJ+_#FMTPAR_+BE MOVED)_^1_(INQ_$1_^1_(STQ-_#STEMP+1_^1_(LDQ-_#AINT,I_^1_(LDA_$=ALI_^1_(STA-_#6,Q_^1_(LDA_$=AMI_^1_(STA-_#7,Q_^1_(LDA_$=ATS_^1_(STA-_#€€8,Q_^1_(INQ_$10_^1_(STQ-_#STEMP_^1CHKLIM_!LDA-_#SAVE,I_^1_(ARS_$3_^1_(AND-_#LPMASK+3_^1_(SAZ_$LIM2_^1_(STA-_#LMTLNG,I_^1_(RTJ_$MOVLIM_^1_(JMP*_#LIM3_^1LIM2_#LDQ-_#STEMP_^1_(LDA_$=A0+_-PUT LIMIT = 0+_^1_(STA-_#7,Q_^1*_]_^1LIM3_#ENQ_$19_^1_(LDA-_#LUFLAG,I_^1_(SAN_$1_^1_(ENQ_$37_^1_(ADQ-_#AINT,I_^1_(STQ-_#STEMP_^1_(LDA-_#SAVE,I_^1_(AND-_#LPMASK+3_^1_(SAZ_$MOVZRO_^1_(STA-_#LMTLNG,I_^1_€€(RTJ_$MOVLIM_^1_(JMP*_#ONLMT_^1MOVZRO_!LDQ-_#STEMP_^1_(LDA_$=A0+_^1_(STA-_#7,Q_^1*_]_^1ONLMT_"ENQ_$4_^1_(LDA-_#LUFLAG,I_^1_%SAZ 2_QSLS_^1_%CLR A_QSLS_^1NOLIMS_!ENQ_$3_^1_(RTJ*_#SUBR_^1_(LDA-_#(SST+CFFA)_^1_(AND-_#LPMASK+4_^1_(SAZ_$LSTFLD_^1_(INA_$2_^1_(ADD-_#RFA,I_^1_(STA-_#RFA,I_^1_(LDQ-_#PFBA,I_+ADVANCE TO NEXT FIELD_^1_(ADD-_#(ZERO),Q_^1_(STA-_#SST+CFFA_^1_(RTJ*_$CRTCHK_^1_(SA€€N_$FLDON_^1_(ENQ_$1_^1_(RTJ*_#TRANSF_^1_(ENQ_$1_^1_(RTJ*_#SUBR_^1FLDON_"RAO-_#FIELD,I_^1_(JMP_$NXTFLD_^1*_]_^1LSTFLD_!LDQ-_#CALRPI,I_D06*C1328_^1_(SQZ_$LTFD_H06*C1328_^1_(RTJ-_#(EXDFUN)_D06*C1328_^1_(LDQ-_#CALRPI,I_D06*C1328_^1_(ENA_$1_K06*C1328_^1_(RTJ-_#(ENTPRG)_D06*C1328_^1LTFD_#RAO-_#FFMT,I_F06*C1328_^1_(LDA-_#FFMT,I_^1_(SUB-_#LFMT,I_^1_(SAZ_$TOEX_^1_(LDA-_#NZERO+14_^1_(STA-_#C€€RTSTS,I_^1_(RTJ*_#CRTCHK_^1*_]_^1_(JMP_$ON1_^1*_]_^1TOEX_#JMP_$EXIT_^1*_]_^1_(SPC_$3_^1CNTR_#NUM_$0_^1_(STQ*_#DOCCNT_+SAVE DOC CNT CNTRL BIT NO. 07*C1400_^1_(AND-_#LPMASK+4_^1_(TRA_$Q_^1_(LRS_$3_^1_(AND-_#NZERO+13_^1_(SAN_$1_^1_(INQ_$2_^1_(LDQ_$CNTTAB,Q_)COUNTER FUNCTION_^1_(STQ-_#(STEMP)_^1_$SAZ_"NOCNT_L07*C1402_^1_(ALS_$3_^1_(CLR_$Q_0COUNTER NUMBER_,07*C1402_^1_(DVI-_#TEN_I07*C14€€02_^1_(INQ_$$10_I07*C1402_^1_(ADQ-_#(STEMP)_E07*C1402_^1_(STQ-_#(STEMP)_E07*C1402_^1_(LDQ-_#SST+CFFA_D07*C1400_^1_(LDA-_#2,Q_.SWITCH WORD_/07*C1400_^1_(AND*_#DOCCNT_+DOC CONTROL BIT_+07*C1400_^1_(SAZ_$3_0NOT DOCUMENT COUNTER_%07*C1400_^1_(LDA-_#(STEMP)_*CONVERT 1-7 TO A-G_(07*C1400_^1_(INA_$$10_I07*C1402_^1_(STA-_#(STEMP)_E07*C1400_^1NOCNT_"RAO-_#STEMP_G07*C1402_^1_(JMP*_#(CNTR)_^1€€DOCCNT_!NUM_$0_K07*C1400_^1_(SPC_$3_^1TRANSF_!NUM_$0_^1_(LDA*_#ADDRS,Q_^1_(STA*_#ADDR+1_^1_(LDQ*_#LENGTH,Q_^1*_]_^1_(LDA-_#AINT,I_^1_(INA_$4_^1_(STA-_#STEMP_^1LOOP3_"INQ_$-1_^1ADDR_#LDA_$HEAD1,Q_*TRANSFER HEADER TO AINT BUFF_^1_(STA-_#(STEMP),Q_^1_(SQZ_$1_^1_(JMP*_#LOOP3_^1_%CLR A_^1_(JMP*_#(TRANSF)_^1*_]_^1ADDRS_"ADC_$HEAD1-ADDR-1_^1_(ADC_$HEAD2-ADDR-1_^1_(ADC_$HEAD3-ADDR-1_^1_(A€€DC_$0,0_I07*C1402_^1_(ADC_$HEAD4-ADDR-1_@07*C1402_^1LENGTH_!ADC_$EHEAD1-HEAD1_^1_(ADC_$EHEAD2-HEAD2_^1_(ADC_$EHEAD3-HEAD3_^1_(ADC_$24_^1_(ADC_$42_^1_(ADC_$EHEAD4-HEAD4_@07*C1402_^1_(SPC_$3_^1SUBR_#NUM_$0_^1_(RTJ-_#(ENTSR)_^1_%SAN STLNG_(LENGTH IN A_^1_(LDA*_#LENGTH,Q_)PRINT INTERROGATE LINE ACCORDING TO_^1STLNG STA* LNG_^1_(RTJ+_#SETMOV_^1_(ENQ_$FW_^1_(RTJ-_#(SUPRW)_^1_(NUM_$0_^1€€LNG_$NUM_$0_^1_(STQ-_#CRTSTS,I_^1_(RTJ*_#BLNKS_^1_(JMP-_#(EXTSR)_^1_(SPC_$3_^1BLNKS_"NUM_$0_^1_(LDA-_#AINT,I_+CLEAR INTEROGATE BUFFER ACCORDING TO_^1_(INA_$4_0ITS LENGTH_^1_(STA-_#STEMP_^1_(LDQ-_#AINT,I_^1_(LDQ-_#1,Q_^1_(INQ_$-4_^1_(LDA_$=A_^1STBLNK_!STA-_#(STEMP),Q_^1_(SQZ_$2_^1_(INQ_$-1_^1_(JMP*_#STBLNK_^1_(JMP*_#(BLNKS)_^1_(SPC_$3_^1CRTCHK_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SET€€MOV_^1_(ENA_$1_^1_(STA-_#TEMP,I_+FLAG FOR REDISPLAY HEADER_^1_(LDA-_#SCA+1,I_^1_(SAZ_$1_0IF DISPLAY UNIT IS CRT CHECK IF_^1_(JMP*_#OUT_.END OF SCREEN_^1_(LDA-_#CRTSTS,I_^1_(EOR-_#NZERO+14_^1_(SAZ_$1_^1_(JMP*_#OUT_^1_(RTJ+_#CONCAN_^1_(STA-_#TEMP,I_^1_(ENQ_$MOT_^1_(RTJ-_#(SUPRW)_*CLEAR SCREEN_^1_(NUM_$$2000_^1*_]_^1_(LDA-_#TEMP,I_^1_(SAN_$FUNCNC_^1*_]_^1OUT_$LDA-_#CANC,I_+SX OR CANCE€€L WERE ENTERED_^1_(ALS_$1_^1_(SAP_$OUT1_^1FUNCNC_!ENA_$39_/FUNCTION TERMINATED_^1_(JMP_$ERREXT_^1*_]_^1OUT1_#RTJ*_#BLNKS_^1_(LDA-_#TEMP,I_^1_(JMP-_#(EXTSR)_^1_(SPC_$3_^1MOVLIM_!NUM_$0_^1_(LDA-_#STEMP_^1_(INA_$8_^1_(SUB-_#LMTLNG,I_^1_(SUB-_#LMTLNG,I_^1_(STA-_#STEMP_,SET STEMP TO POINT TO THE LIMITS IN_^1_(LDA-_#(STEMP+1)_(THE PRINT BUFFER_^1_(STA-_#SIGN,I_+SAVE SIGN_^1_(AND-_#LPMASK€€+12_^1_(CLR_$Q_^1_(STQ-_#STEMP+2_*FLAG TO PRINT ZEROES_^1_(STQ-_#STEMP+3_*FLAG FOR UPPER OR LOWER PART_^1*_]_^1LOOP4_"CLR_$Q_^1_(LLS_$4_^1_(SQN_$NBLNK_^1_(LDQ-_#STEMP+2_^1_(SQZ_$3_^1_(CLR_$Q_^1NBLNK_"RAO-_#STEMP+2_^1_(INQ_$$10_^1_(QLS_$4_^1_(LLS_$4_^1_(SQZ_$2_^1_(RAO-_#STEMP+2_^1_(INQ_$$10_^1_(ADQ-_#(STEMP)_^1_(STQ-_#(STEMP)_^1_(RAO-_#STEMP_,INCREASE BUFFER POINTER_^1_(LDQ-_#STEMP+€€3_^1_(TCQ_$Q_^1_(STQ-_#STEMP+3_^1_(SQM_$MIDL_-SKIP TO PERFORM LOWER HALF OF LIMIT_^1_(RAO-_#STEMP+1_^1_(LDQ-_#LMTLNG,I_^1_(INQ_$-1_^1_(STQ-_#LMTLNG,I_^1_(SQZ_$EOL_^1_(LDA-_#(STEMP+1)_^1MIDL_#JMP*_#LOOP4_^1*_]_^1EOL_$LDA-_#SIGN,I_+PUT SIGN IN BUFFER_^1_(ENQ_$$2B-$20_^1_(SAP_$1_^1_(INQ_$2_^1_(QLS_$8_^1_(ADQ-_#(STEMP)_*SET SIGN_^1_(STQ-_#(STEMP)_^1_(JMP*_#(MOVLIM)_^1_(SPC_$3_^1ASCIIL_€€!NUM_$0_^1ASCLOP_!CLR_$Q_0CONVERT BINARY NUMBERS TO ASCII_^1_(DVI-_#TEN_.CHAR AND STORE IN AINT BUFF_^1_(SAN_$1_^1_(SQZ_$1_^1_(INQ_$$10_^1_(QLS_$8_^1_(ADQ-_#(STEMP)_^1_(STQ-_#(STEMP)_^1_(SAZ_$OUTL_^1_(LDQ-_#STEMP_^1_(INQ_$-1_^1_(STQ-_#STEMP_^1_(CLR_$Q_^1_(DVI-_#TEN_^1_(INQ_$$10_^1_(ADQ-_#(STEMP)_^1_(STQ-_#(STEMP)_^1_(SAZ_$OUTL_^1_(JMP*_#ASCLOP_^1OUTL_#JMP*_#(ASCIIL)_^1*_]_^1HEAD1_"€€ALF_$24,FORMAT=_#STATUS= REC-LNG=_#FRV= RESEQ=_^1_(EQU_$EHEAD1(*)_^1HEAD2_"ALF_$*, NAME T CH K R V A Z E RSQ *_-07*C1402_^1_(ALF_$*,F OC SP FC FC X L*_507*C1402_^1_(EQU_$EHEAD2(*)_^1HEAD3_"ALF_$*,FORMATS SPECIFIED IN SYSTEM:*_^1_(EQU_$EHEAD3(*)_^1HEAD4 ALF *,AUTO SEQ=_!SLS= EXTENSION= *_^1_(EQU_$EHEAD4(*)_C07*C1402_^1NORY_#ALF_$*,N Y *_^1TYPTAB_!ALF_$*, L_!A_!U_!N S*_^1KE€¦YTAB_!ALF_$*,F V I F X B*_>07*C1400_^1VERTAB ALF *,N K S D *_HP0*H0010_^1AFTAB_"ALF_$*,N L D S R_!F *_^1CNTTAB_!ALF_$*,A S N *_C07*C1402_^1_(EQU_$EPFM(*)_^1_(END_^__¦PTHW CSY/ P€1_%NAM THW_*DECK-ID S11 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* SUPERVISOR FUNCTION TO THAW A BATCH ON A TERMINAL._^1* COMMAND TO ENTER:_^1*_1THW,JJJJJJ,BBB,TT_^1*_'OR_$THW,JJJJJJ,BBB,TT,OOO_803*C1048_^1* WHERE:_]_^1*_'JJJJJJ-IS JOB NAME_€€^1*_'BBB_!-IS BATCH NUMBER_^1*_'TT_"-IS TERMINAL NUMBER TO THAW THE SPECIFIED BATCH ON IT_^1*_'OOO_!-IS OPERATOR NUMBER_<03*C1048_^1* IF THE TERMINAL IS NOT IN IDK IDLE THE REQUEST IS REJECTED._^1* IF THE BATCH IS NOT FROZEN THE COMMAND IS REJECTED._^1* IF OPERATOR NUMBER IS SPECIFIED AND IS DIFFERENT FROM_'03*C1048_^1* THE ONE SPECIFIED ON THE BATCH WE WRITE STATISTICS._)03*C1048_€€^1*_!IF THE BATCH WAS PUT TO FROZEN BY FRZ,RCNT<0_.03*C1048_^1*_!(COMPLEMENT OF RCNT)_F03*C1048_^1* IF AN SEV BATCH IS ACTIVATED:_?08*C1500_^1*_'ENT_%VER_H08*C1500_^1*_!1)_!FROZEN_"FROZEN - ENT IS ACTIVATED_108*C1500_^1*_!2)_!ACTIVE_"FROZEN - VER IS ACTIVATED_108*C1500_^1*_!3)_!WAIT_$FROZEN - VER IS ACTIVATED_108*C1500_^1*_]08*C1500_^1*_"IN 2'ND CASE VER TERMINAL IS CONNECTED TO€€ ENT TERMINAL_"08*C1500_^1*_]03*C1048_^1*_]_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EXT_$SPILSR_+IN SPIL CLC SEV MODE_%08*C1500_^1_(EXT_$SETMOV,BD,GETLJD,SETDIS,STTYPE_^1_(EXT_$REGEN_^1_(EXT_$EORTST_^1_(EXT_$VMM1_OA_^1_(EXT_$WSS_.WRITE STATISTICS_*03*C1048_^1_(EXT_$AMONTO,ADAYTO_?03*C1048_^1_(EXT_$AYERTO_F03*C1048_^1*_]03*C1048_^1_(EQU_$SST($47)_^1_(EQU_€€$EXTSST(0),SLOCK(1)_^1_(EQU_$BATT(10),CATT(11),CFFA(12)_^1_(EQU_$IBL(14),TIQ(15)_^1_(EQU_$CLOCKS(17)_^1_(EQU_$ATTLNG(19),STEMP(20)_^1*_]_^1_(EQU_$LDDDA(9)_^1_(EQU_$DSKST(29)_C04*C1068_^1*_]_^1_(EQU_$FTOB(1)_^1_(EQU_$JIDX(3),FCNT(3),RCNT(4)_^1_(EQU_$TRB(6),PFBA(7)_^1_(EQU_$CURDA(9)_^1_(EQU_$FMTNO(13),FLDN(14),RFA(93),BMODE(15)_(09*C1602_^1_(EQU_$ASCNT(5),CMODE(2)_;03*C1048_^1_(EQU_$€€ELDT(16),DOCNO(17)_^1_(EQU_$VR(29)_+VERIFY RECORDS_,04*C1082_^1_(EQU_$SW1(19)_^1_(EQU_$SW2(20),FUNIDX(21)_^1_(EQU_$ABTIDX(22)_B08*C1500_^1_(EQU_$AINT(27),ASRCH(28)_^1_(EQU_$ATOPT(33)_^1_(EQU_$LUN(35)_^1_(EQU_$TCLK(36)_^1_(EQU_$ATEMP(73)_^1_(EQU_$SW3(89),SEVTNO(91)_"SEV INFORMATION_'08*C1500_^1*_]_^1_(EQU_$SC(36+10)_(SUPERVISOR COMMUNICATION AREA_^1_(EQU_$TJOB(SC)_^1_(EQU_$TBATCH(SC€€+3),TATT(SC+4),TEMP(SC+5)_^1_(EQU_$ABTINF(SC+6)_^1_(EQU_$TATTE(SC+8)_%ATT ADR OF ENT ACTIVE_$08*C1500_^1*_BWHEN VER IS THWED_)08*C1500_^1_(EQU_$BCHSEV(SC+9)_$BIT 14 0/1-ENT/VER ARE_#08*C1500_^1*_B2'ND ABT CALLED._*08*C1500_^1*_]03*C1048_^1*_]03*C1048_^1_(EQU_$TOPR(SC+7)_'TEMPORARY OPERATOR NO._#03*C1048_^1_(EQU_$RCD(32),RCDER(30),VRCC(16),KEYDPR(26)_'03*C1048_^1*_]03*C1048_^1*_]03*€€C1048_^1*_]03*C1048_^1*_]03*C1048_^1*_]03*C1048_^1*_]03*C1048_^1*_!STATISTICS FILE_J03*C1048_^1*_]03*C1048_^1*_]03*C1048_^1_(EQU_$STS(34)_E03*C1048_^1*_]03*C1048_^1_(EQU_$SBATCH(1),SOPR(2),START(3),SDAY(4)_*03*C1048_^1_(EQU_$ACC(5),SKEY(6),SVRCC(7),SRCDER(8)_+03*C1048_^1_(EQU_$SRCD(9),SYEAR(10),SJOB(13)_203*C1048_^1*_]03*C1048_^1*_]_^1_(EQU_#CLCDWA($90),ENTSR($91),EXTSR($92)_^1_(E€€QU_$GETBIN($99)_^1_(EQU_$GETALP($9B)_^1_(EQU_$GFCORE($9D)_^1_(EQU_$DISP($A0),SPILL($A1)_^1_(EQU_$READN($A6)_^1_(EQU_$REDDWA($A9),WRTDWA($AA)_^1_(EQU_$RELFOR($AD),CAM($AE)_^1_(EQU_$WAIT($B0),SV($B1),REJSUP($B2)_^1_(EJT_^1HDR_$VFD_$N2/3,N3/0,X11/ETHW-*_^1_(NUM_$1_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$THW-HDR_^1*_]_^1THW_$RTJ+_#SETMOV_^1_(ENA_$3_^1_(STA-_#SST+STEMP_^1_(RTJ-_#(GETALP)_)CHECK €€IF COMMA FOLLOWING THE 'THW'_^1_(SQZ_$GJJJ_-COMMAND._^1_(ENA_$9_^1_(JMP-_#(REJSUP)_^1*_]_^1GJJJ_#STQ*_#LOCAL_^1_(LDA_$=N$2020_^1_(STA-_#TJOB,I_^1_(STA-_#TJOB+1,I_^1_(STA-_#TJOB+2,I_^1LOOP_#RTJ-_#(GETALP)_)GET JOB NAME_^1_(SQP_$1_K06*C1320_^1_(JMP*_#JERR_H06*C1320_^1_(SQN_$1_K06*C1320_^1_(JMP*_#GETBCH_F06*C1320_^1_(INA_$-$20_^1_(LDQ*_#LOCAL_^1_(QLS_$15_^1_(SQM_$1_^1_(ALS_$8_^1_(QLS_€€$1_K06*C1320_^1_(QRS_$1_K06*C1320_^1_(ADD-_#TJOB,B_+SAVE JOB NAME IN ATT_^1_(STA-_#TJOB,B_^1_(RAO*_#LOCAL_^1_(LDA*_#LOCAL_^1_(INA_$-7_^1_(SAZ_$JERR_^1_(JMP*_#LOOP_^1JERR_#ENA_$0_0INVALID JOB NAME_^1_(JMP-_#(REJSUP)_^1*_]_^1GETBCH_!RTJ-_#(GETBIN)_)GET BATCH NUMBER_^1_(SQN_$BERR_^1_(STA-_#TBATCH,I_^1K1000_"SUB_$=N1000_^1_(SAM_$GETR_^1BERR_#ENA_$4_0INVALID BATCH NUMBER_^1_(JMP-_#(REJS€€UP)_^1*_]_^1GETR_#RTJ-_#(GETBIN)_)GET TERMINAL NUMBER._^1_(SAP_$1_K03*C1048_^1_(JMP*_#TERR_H03*C1048_^1_(STQ-_#TOPR,I_+SAVE EOR COMMA._*03*C1048_^1_(STA-_#TATT,I_F03*C1048_^1_(SQZ_$OPR_.COMMA_503*C1048_^1_(JMP*_#CHKTER_+Q<0 EOR_203*C1048_^1*_]03*C1048_^1OPR_$RTJ-_#(GETBIN)_)GET OPERATOR NO._*03*C1048_^1_(SAM_$OERR_H03*C1048_^1_(SQZ_$OERR_-COMMA_503*C1048_^1_)SAZ_$OERR_G07*C1409_^€€1_(STA-_#TOPR,I_F03*C1048_^1_(SUB_$=N1000_-008*C1500_^1*_]08*C1500_^1CONECT_!LDA-_#(I)_I08*C1500_^1_(AND-_#LPMASK+6_)TERNO OF VER_.08*C1500_^1_(ALS_$8_K08*C1500_^1_(EOR-_#SEVTNO,Q_D08*C1500_^1_(STA-_#SEVTNO,Q_)IN ENT ATT_008*C1500_^1_(JMP*_#THWVER_F08*C1500_^1*€€_]08*C1500_^1* ENTR ACTIVE FIND THE STATION AND ESTABLISH CONNECTION_%08*C1500_^1*_]08*C1500_^1LOOPTT_!LDA-_#SST+SLOCK_C08*C1500_^1_(AND-_#LPMASK+6_D08*C1500_^1_(MUI-_#SST+ATTLNG_B08*C1500_^1CHKTT_"ADD-_#SST+BATT_D08*C1500_^1_(TRA_$Q_K08*C1500_^1_(RTJ*_#CHKENT_+ENT TER?_208*C1500_^1_(SAZ_$MATCH_,YES_708*C1500_^1_(TRQ_$A_K08*C1500_^1_(SUB-_#SST+ATTLNG_B08*C1500_^1_(SUB-_#SST+BATT_D€€08*C1500_^1_(SAZ_$1_K08*C1500_^1_(JMP*_#CHKTT_G08*C1500_^1ERRSEV_!JMP*_#BERR1_G08*C1500_^1*_]08*C1500_^1*_]08*C1500_^1MATCH_"STQ-_#TATTE,I_*SAVE ENT ATT ADR_*08*C1500_^1_(LDA-_#(ZERO),Q_D08*C1500_^1_(AND*_#M6000+1_*FL OR PFL_108*C1500_^1_(SAN_$TRYAGE_F08*C1500_^1_(JMP*_#CONECT_+NO. CONECT_008*C1500_^1*_]08*C1500_^1TRYAGE_!RTJ-_#(WAIT)_+WAIT_608*C1500_^1*_]08*C1500_^1_(LDQ-_#TATTE,I€€_*LOOP UNTIL FL OR PFL OVER 08*C1500_^1_(LDA-_#(ZERO),Q_D08*C1500_^1M6000_"AND_$=N$6000_*FL OF PFL AGAIN_+08*C1500_^1_(SAZ_$NL_/NO._708*C1500_^1_(JMP*_#TRYAGE_F08*C1500_^1NL_%RTJ*_#CHKENT_+VALID STATUS AFTER FL_$08*C1500_^1_(SAN_$ERRSL_,NO._708*C1500_^1_(LDA-_#(ZERO),Q_)SET FL DURING 2'ND PASS_"08*C1500_^1_(EOR-_#ONEBIT+14_(OF SPILL_208*C1500_^1_(STA-_#(ZERO),Q_D08*C1500_^1_(JMP*_€€#TRY_.RECHECK BOTH COPIES_'08*C1500_^1*_]08*C1500_^1ERRSL_"JMP*_#ERRSEV_F08*C1500_^1*_]08*C1500_^1CHKENT_!NUM_$0_K08*C1500_^1_(LDA-_#(ZERO),Q_D08*C1500_^1_(AND-_#ONEBIT+7_D08*C1500_^1_(SAN_$RETE_-SUPER_508*C1500_^1_(LDA-_#CMODE,Q_E08*C1500_^1_(AND_$=N$F00_F08*C1500_^1_(SAN_$1_K08*C1500_^1RETE_#JMP*_#RETERR_+IDLE_608*C1500_^1_(LDA-_#BMODE,Q_E08*C1500_^1_(ALS_$2_K08*C1500_^1_(SAP_$RE€€TERR_+NOT ENTRY_108*C1500_^1_(LDA-_#JIDX,Q_F08*C1500_^1_(ALS_$8_K08*C1500_^1_(EOR-_#JIDX,I_F08*C1500_^1_(AND-_#LPMASK+8_D08*C1500_^1_(SAN_$RETERR_+NOT SAME JOB_.08*C1500_^1_(LDA-_#LUN,Q_G08*C1500_^1_(EOR-_#LUN,I_G08*C1500_^1_(AND-_#LPMASK+12_C08*C1500_^1_(SAN_$RETERR_+NOT SAME BATCH_,08*C1500_^1_(LDA-_#SEVTNO,Q_D08*C1500_^1_(AND*_#M3F00+1_E08*C1500_^1_(SAZ_$RET_.NOT CONNECTED_-08*C€€1500_^1RETERR_!SET_$A_K08*C1500_^1RET_$JMP*_#(CHKENT)_D08*C1500_^1*_]08*C1500_^1*_]08*C1500_^1CONTHW_!LDA-_#ABTINF,I_D08*C1500_^1_(AND-_#NZERO+13_^1_(SUB-_#ONEBIT+14_^1_(SAZ_$OK1_I08*C1500_^1_(SUB-_#ONEBIT+14_^1_(SAN_$BERR1_G08*C1500_^1OK1_$JMP*_#OK_J08*C1500_^1BERR1_"ENQ_$CD5_.INVALID BATCH NUMBER_^1CLINDC_!STQ-_#SST+STEMP_(SAVE ERROR CODE_+08*C1500_^1_(LDQ-_#TATTE,I_E08*C1500_^1_€€(SQZ_$ERREXT_+NO ENTRY ACTIVE_+08*C1500_^1_(LDA-_#SEVTNO,Q_D08*C1500_^1M3F00_"AND_$=N$3F00_*IF VER CONNECTED_*08*C1500_^1_(SAN_$DISCNC_+DISCONNECT_008*C1500_^1*_]08*C1500_^1_(LDA-_#(ZERO),Q_D08*C1500_^1_(AND-_#ZROBIT+14_(CLEAR FL SET IN ORDER_$08*C1500_^1_(STA-_#(ZERO),Q_)TO AVOID CONCT OF OTHER VER08*C1500_^1_(JMP*_#ERREXT_F08*C1500_^1DISCNC_!EOR-_#SEVTNO,Q_)DISCONCT_208*C1500_^1_€€(STA-_#SEVTNO,Q_D08*C1500_^1ERREXT_!LDQ-_#SST+STEMP_C08*C1500_^1_(JMP_$ERRJ_H08*C1500_^1OK_%LDA-_#LUN,I_G08*C1500_^1_(RTJ*_#SELDSK_+DISK SELECTED?_,08*C1500_^1_(SAZ_$CHKOPR_+YES_708*C1500_^1_(JMP*_#DSKERR_F08*C1500_^1*_]08*C1500_^1*_]08*C1500_^1*_]08*C1500_^1SELDSK_!NUM_$0_K08*C1500_^1_(ALS_$4_^1_(AND-_#LPMASK+2_)CHECK THE LU TO BE SELECTED_^1*_]08*C1500_^1_(LDQ-_#SST+EXTSST_^1_(LD€€Q-_#DSKST,Q_^1_(LLS_$16_^1_(AND-_#ONEBIT+4,Q_^1_(JMP*_#(SELDSK)_D08*C1500_^1*_]_^1* CHECK IF OPERATOR NO SPECIFIED IN THE REQUEST EQUAL_^1* TO OPERATOR ON THE BATCH_^1CHKOPR_!LDA-_#SST+SLOCK_(SET ABT MODIFYING BIT._#08*C1500_^1_(EOR-_#ONEBIT+13_(LOCK SPILL._/08*C1500_^1_(STA-_#SST+SLOCK_C08*C1500_^1*_]08*C1500_^1_(LDA-_#LUN,I_G08*C1500_^1_(ALS_$4_K08*C1500_^1_(AND-_#LPMASK+2_D08€€*C1500_^1_(STA*_#LUN9_H08*C1500_^1*_]08*C1500_^1_(ENQ_$ATEMP_G08*C1500_^1_(ADQ-_#I_^1_(STQ*_#CORADS_^1_(LDA-_#FTOB,I_F08*C1500_^1_(ENQ_$91_/91'TH WORD OF FIRST SEC IS_^1_(RTJ-_#(CLCDWA)_)OPERATOR NUMBER_^1_(STA*_#DAS+1_^1_(STQ*_#DAS_^1_(RTJ-_#(REDDWA)_^1CORADS_!NUM_$0_^1DAS_$NUM_$0,0_^1_(NUM_$1_^1LUN9_#NUM_$0_^1*_]08*C1500_^1_(LDA-_#SST+SLOCK_(CLEAR ABT LOCK_,08*C1500_^1_(AND-_#ZRO€€BIT+13_C08*C1500_^1_(STA-_#SST+SLOCK_C08*C1500_^1*_]08*C1500_^1_(LDA-_#ATEMP,I_*OPERATOR NO IN BATCH_^1_(EOR-_#TOPR,I_."_!"_!" REQUEST_^1_(SAZ_$THW1_^1_(ENQ_$CD1_^1_(JMP*_#CLINDC_+INVALID OPERATOR NO._^1*_]_^1THW1_#LDA-_#TEMP,I_^1_(AND-_#LPMASK+10_^1_(TRA_$Q_^1_(QRS_$1_^1_(INQ_$8+1_^1_(RTJ-_#(CAM)_^1_(SAZ_$CORY_^1_(ENQ_$CF4_.CORE-FULL-CMD REJECTED._^1_(JMP*_#CLINDC_^1*_]_^1CORY_#ST€€Q-_#TRB,I_,SET UP BACKWARDS POINTER TO SUPERVI-_^1_(LDA-_#I_0SORY ATT._^1_(INA_$TRB_^1_(STA-_#(ZERO),Q_^1*_]_^1_(LDA-_#ABTINF,I_^1_(TRA_$Q_^1_(SUB-_#ONEBIT+13_(CHANGE MODE TO VEIRFY_^1_(SQM_$1_^1_(AND-_#LPMASK+13_(CHANGE MODE TO ENTRY_^1_(STA*_#WORD2_^1_(LDA-_#ABTIDX,I_D08*C1500_^1_(STA*_#WORD1_G08*C1500_^1RTRY1_"SET_$Q_^1_(RTJ-_#(SPILL)_^1WORD1_"NUM_$0_^1WORD2_"NUM_$0_^1_(NUM_$0_^€€1_(JMP*_#RTRY1_^1*_]08*C1500_^1_(LDA-_#SST+CLOCKS_^1_(STA-_#TCLK,I_^1_(ENA_$1_^1_(ENQ_$-TCLK_,WRITE START TIME OF CURRENT RUN_^1_(RTJ_$SUBR_^1_(ENA_$1_0MODIFY TERMINAL NO. IN ATT_^1_(SET_$Q_^1_(RTJ_$SUBR_^1_(LDA-_#(I)_^1_(AND-_#LPMASK+6_^1_(MUI-_#SST+IBL_^1_(TRA_$Q_0CLEAR INPUT BUFFER LENGTH_^1_(ADQ-_#SST+TIQ_^1_(CLR_$A_^1_(STA-_#(ZERO),Q_^1*_]_^1_(LDQ-_#AINT,I_+RELEASE INT BUFFER_€€^1_(RTJ-_#(RELFOR)_^1*_]_^1_(LDA-_#SW2,I_,MONITOR CHECK OVERRIDE_^1_(AND-_#ZROBIT+3_^1_(EOR-_#ONEBIT+3_^1_(STA-_#SW2,I_^1* TO AVOID DSKERR, CONSIDER THE BATCH_908*C1500_^1* AS SEV (IF ERR DURING READ)_A08*C1500_^1*_]08*C1500_^1_(CLR_$A_K08*C1500_^1_(STA-_#SW3,I_G08*C1500_^1_(STA-_#SEVTNO,I_D08*C1500_^1_(ENQ_$1_^1_(ENA_$5_0READ WORD 1-5_^1_(RTJ_$SUBR_^1*_]_^1*_!SKIP TRB BCKWRDS POIN€€TER_^1*_]_^1_(ENQ_$7_0READ WORDS 7-20_+08*C1500_^1_(ENA_$14_^1_(RTJ_$SUBR_^1_(ENQ_$22_^1_(ENA_$11_/READ WORDS 22-32_^1_(RTJ_$SUBR_^1_(ENQ_$93_J09*C1602_^1_(ENA_$1_0READ WORD 93 (RFA)_(09*C1602_^1_(RTJ_$SUBR_H09*C1602_^1_(LDA-_#BMODE,I_E08*C1500_^1_(ALS_$2_K08*C1500_^1_(SAM_$NOTV_H08*C1500_^1_(LDA-_#ABTINF,I_^1_(ALS_$6_^1_(AND-_#LPMASK+3_)FIND VERIFY OPTIONS ACCORDING TO_^1_(TRA_$Q_€€0ABT STATUS_^1_(LDA-_#SW2,I_^1_(AND-_#NZERO+3_^1_(EAQ_$A_^1_(STA-_#SW2,I_^1NOTV_#LDA-_#LUN,I_G08*C1500_^1_(SAM_$SEVIS_G08*C1500_^1_(JMP*_#CONA_-READ LU+ COUNTERS_)08*C1500_^1*_]08*C1500_^1*_]08*C1500_^1SEVIS_"ENQ_$89_/READ SEV INFORMATION_%08*C1500_^1_(ENA_$4_K08*C1500_^1_(RTJ_$SUBR_H08*C1500_^1_(LDA-_#SEVTNO,I_)CLEAR CONNECTED_+08*C1500_^1_(AND_$=N$C0FF_*TER NO_408*C1500_^1_(STA-_€€#SEVTNO,I_D08*C1500_^1_(LDA-_#BMODE,I_E08*C1500_^1_(ALS_$2_K08*C1500_^1_(SAM_$CONA_-ENTRY_508*C1500_^1_(LDA-_#SW3,I_G08*C1500_^1_(AND-_#ZROBIT+9_D08*C1500_^1_(EOR-_#ONEBIT+9_)SET NEEFL_108*C1500_^1_(STA-_#SW3,I_G08*C1500_^1_(ALS_$1_K08*C1500_^1_(SAM_$CONA_-ENTRY COMPLETED_+08*C1500_^1_(LDQ-_#TATTE,I_*ENT ATT ADDR_.08*C1500_^1_(LDA-_#(ZERO),Q_D08*C1500_^1_(AND-_#LPMASK+6_)TERNO OF E€€NT_.08*C1500_^1_(ALS_$8_K08*C1500_^1_(EOR-_#SEVTNO,I_)PLANT_508*C1500_^1_(STA-_#SEVTNO,I_)IN VER ATT_008*C1500_^1*_]08*C1500_^1CONA_#ENQ_$34_/READ LU+ COUNTERS_)08*C1500_^1_(ENA_$30_^1_(RTJ_$SUBR_^1_(LDA-_#RCNT,I_^1_(SAP_$4_4NOT AFTER FRZ_^1_(LDA-_#(I)_^1_(AND-_#ZROBIT+11_^1_(EOR-_#PFBA,I_+(IN PFBA,I WAS SAVED THE ERROR LOCK_^1_(STA-_#(I)_.WHEN FRZ EXECUTED)_^1_(CLR_$A_0MASK THE ER€€ROR FLAG,STORED BY_^1_(STA-_#PFBA,I_+SUPERVISOR FRZ_^1*_]_^1_(LDA-_#FMTNO,I_^1_(AND-_#LPMASK+13_^1_(TRA_$Q_^1_(SAZ_$NOFMT_^1_(CLR_$A_^1_(STA-_#FMTNO,I_^1_(RTJ-_#(GFCORE)_)GET FORMAT_^1*_]_^1* TURN ONE MONITOR CHECK OVERRIDE_^1*_]_^1_(LDA-_#SW2,I_^1_(AND-_#ZROBIT+3_^1_(EOR-_#ONEBIT+3_^1_(STA-_#SW2,I_^1*_]_^1NOFMT_"LDA-_#BMODE,I_^1_(ALS_$2_^1_(SAP_$JMP_.NOT ENTRY_^1_(LDA-_#DOCNO,I_^€€1_(AND-_#NZERO+8_^1_(SAN_$1_^1JMP_$JMP*_#NODOC_^1_(ALS_$9_^1_(LDQ-_#SST+EXTSST_^1_(LDQ-_#LDDDA,Q_^1_(LLS_$16_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#DA_^1_(STA*_#DA+1_^1_(LDA-_#I_^1_(INA_$ATEMP+1_^1_(STA*_#CORADR_^1*_]_^1*_]_^1_(RTJ-_#(REDDWA)_^1CORADR_!NUM_$0_^1DA_%NUM_$0_^1_(NUM_$0_^1_(NUM_$1_^1_(NUM_$0_^1*_]_^1_(LDA-_#ATEMP+1,I_^1_(ADD-_#ELDT,I_^1_(STA-_#ELDT,I_^1*_]_^1NODOC_"LDQ-_#TRB,I_^€€1*_]05*C1147_^1_(LDA-_#CURDA,I_^1_(STA-_#6,Q_^1_(LDA-_#CURDA+1,I_(IF INSERT CURDA IN ATT IS_^1*_BNEXT OF INSERTED RECORD IF IN_^1*_BBEGINNING OF RECORD.OTHERWISE IT IS_^1*_BTHE DA OF THE INSERTED RECORD._^1*_BTHE AINT,ASRCH ARE ALWAYS THE_^1*_BADDRESS OF THE RECORD AFTER THE_^1*_BINSERTED ONE._^1*_]05*C1147_^1THWON_"STA-_#5,Q_^1*_]_^1_(CLR_$A_^1_(RTJ-_#(DISP)_^1_(ADC_$SETDIS_^1_(RT€€J-_#(READN)_^1*_]_^1*_]_^1*_]_^1_(LDA-_#RCNT,I_+PRVTRB=CURDA IF_^1_(SAM_$CC_/AFTER FRZ_^1*_]_^1* IF THE ATT WAS WRITTEN BY CORKEY AFTER INSERTION OF A RECORD_^1* AFTER THE LAST_!OR DELETION OF THE LAST RECORD_^1*_!THEN_"PREVIOUS RECORD OF TRB SHOULD BE EQUAL TO CURRENT IN_^1*_!ATT CORKEY LEAVES FLAG IN THIS CASE, 15'TH BIT OF ASCNT_^1*_]_^1_(LDQ-_#ASCNT,I_^1_(SQM_$CC2€€_.END OF DATA FLAG_^1_(JMP*_#CHKNFM_+CHECK NFM_108*C1500_^1CC_%TCA_$A_^1*_]05*C1147_^1_(LDQ-_#AINT,I_^1_(SQM_$CC2_.CURATT=PRVTRB(SET IN FRZ) 04*C1086_^1CHKNFM_!LDQ-_#CMODE,I_*IF END OF DATA IN VERIFY_!08*C1500_^1_(QLS_$6_0SET CURATT=PRVTRB_)04*C1086_^1_(SQM_$TON1_-NOT VER_204*C1086_^1_(LDQ-_#SW2,I_G04*C1086_^1_(QLS_$4_K04*C1086_^1_(SQP_$TON1_0FORWARD MOTION_)04*C1086_^1CC2_$SAN_$€€TON1_-RCNT=0_^1_(LDA-_#ASCNT,I_*TURN OFF END OF DATA BIT_^1_(AND-_#LPMASK+15_^1_(STA-_#ASCNT,I_^1_(LDQ-_#TRB,I_^1_(LDA-_#CURDA,I_^1_(ALS_$8_^1_(STA-_#6,Q_^1_(LDA-_#CURDA+1,I_^1_(STA-_#4,Q_^1TON1_#LDA-_#RCNT,I_F05*C1147_^1_(SAP_$TON2_-NOT AFTER FRZ_-05*C1147_^1_(TCA_$A_K05*C1147_^1_(STA-_#RCNT,I_F05*C1147_^1_(LDA-_#AINT,I_+IF INSERT PUT ADDR OF THE RECORD_^1_(AND-_#ONEBIT+13_(RESTO€€RE FORMAT CHANGE_$05*C1223_^1_(STA-_#SST+STEMP_(BIT_705*C1223_^1_(LDQ-_#TRB,I_G05*C1223_^1_(LDA-_#3,Q_I05*C1223_^1_(AND-_#ZROBIT+13_C05*C1223_^1_(EOR-_#SST+STEMP_C05*C1223_^1_(STA-_#3,Q_I05*C1223_^1_(LDA-_#AINT,I_F05*C1223_^1_(AND-_#LPMASK+8_^1_(STA-_#CURDA,I_*FOLLOWING THE INSERTED ONE IN CURDA_^1_(LDA-_#ASRCH,I_^1_(STA-_#CURDA+1,I_^1TON2_#ENA_$4_^1_(STA-_#RFA,I_^1_(CLR_$A_^1_(STA€€-_#FLDN,I_F09*C1602_^1_(STA-_#AINT,I_^1_(STA-_#ASRCH,I_^1_(LDQ-_#PFBA,I_^1_(LDQ-_#(ZERO),Q_^1_(ADQ-_#RFA,I_^1_(STQ-_#SST+CFFA_^1_(LDA-_#RCNT,I_^1_(SAN_$1_^1_(JMP*_#BOR_^1_(TRA_$Q_^1*_]_^1UP_%LDA-_#(SST+CFFA)_^1_(ALS_$8_^1_(AND-_#LPMASK+7_^1_(INA_$1_^1_(STA-_#SST+STEMP+1_^1_(TCA_$A_^1_(AAQ_$A_^1_(SAN_$CHCKON_^1_(LDA-_#FCNT,I_^1_(AND-_#LPMASK+8_)CHECK IF WERE AT END OF FIELD WHEN_^1_€€(EOR-_#LPMASK+8_)FRZ WAS DONE_^1_(CLR_$Q_^1_(SAN_$FIRST_^1_(LDQ-_#SST+STEMP+1_^1_(JMP*_#MID_^1CHCKON_!SAM_$MID_^1_(TRA_$Q_^1FIRST_"LDA-_#(SST+CFFA)_^1_(AND-_#LPMASK+4_^1_(INA_$2_^1_(STA-_#SST+STEMP_^1_(ADD-_#SST+CFFA_^1_(STA-_#SST+CFFA_^1_(LDA-_#RFA,I_^1_(ADD-_#SST+STEMP_^1*_]09*C1602_^1_(STA-_#RFA,I_^1_(LDA-_#FLDN,I_F09*C1602_^1_(ADD-_#ONEBIT+9_D09*C1602_^1_(STA-_#FLDN,I_F09*C1602€€_^1_(SQZ_$MID_^1_(JMP*_#UP_^1*_]_^1MID_$LDA-_#FCNT,I_^1_(AND-_#NZERO+8_^1_(AAQ_$Q_^1_(STQ-_#FCNT,I_^1BOR_$LDA-_#FMTNO,I_^1_(SAZ_$2_^1_(RTJ+_#STTYPE_+SET DATA TYPE IN ATT_^1_(RTJ-_#(DISP)_^1_(ADC_%REGEN_^1_(LDA-_#SW2,I_^1_(AND_$=N$FEF7_*CLEAR MONITOR OVERRIDE AND 'LL' HAS_^1_(STA-_#SW2,I_,TO BE DISPLAYED_^1*_]_^1_(LDA-_#CMODE,I_^1_(ALS_$6_^1_(SAM_$KK8_.IF ENTRY OR READ_^1_(LDA-_#SW2€€,I_^1_(AND-_#LPMASK+3_)IF NO VERIFICATION_^1_(SAN_$1_0VER. OPT_204*C1086_^1_(JMP*_#KK9_I04*C1086_^1*_]_^1_(LDA-_#RCNT,I_+INCLUDES THE CASE OF 'CLR'_^1_(SAZ_$1_^1KK8_$JMP*_#REGUL_,NO CLR_^1_(LDA-_#SW2,I_G04*C1086_^1_(AND-_#ONEBIT+11_(NO FORWARD MOTION_)04*C1086_^1_(SAZ_$1_K04*C1086_^1_(JMP*_#REGUL_G04*C1086_^1*_]_^1* IN LAST ATT THAT WAS WRITTEN BEFORE THE POWER FAIL, THE FIELD_^1* €€COUNTER WILL POINT TO FIRST FIELD EVEN IF IT SHOULD NOT RE_^1* VERIFIED.ADDITIONAL CHECK THROUGH 'VERIFY' SHOULD BE MADE_^1*_]_^1_(LDQ-_#TRB,I_^1_(LDA-_#3,Q_^1_(AND-_#ONEBIT+13_(FC_^1_(SAZ_$4_^1_(LDA-_#SW1,I_,FIRST RECORD IN FORMAT_^1_(AND-_#ZROBIT+15_^1_(EOR-_#ONEBIT+15_^1_(STA-_#SW1,I_^1_(LDQ_$=XVMM1_+CHECK FIELD ENTRY IN VMM._^1_(JMP*_#ADRSS1_^1*_]_^1KK9_$LDA-_#SW1,I_,IF VERIFY €€CONDITIONS WERE_^1*_BCHANGED TO NON WHILE THE_^1*_BBATCH WAS_^1_(AND_$=N$1881_*FROZEN AND THERE IS NO SPECIAL_^1_(SAN_$REGUL_,KEY TO BE ENTERED:RUN OVER THE_^1_(LDA-_#SW2,I_,DATA TO REACH END OF DATA._^1_(AND_$=N$1800_*ERR OVR OR NFM_,08*C1500_^1_(SAZ_$2_^1*_]_^1REGUL_"LDQ-_#CLRSR_^1_(JMP*_#SOF_.AT THE END JMP TO DISPATCHER_^1_(LDA-_#FCNT,I_^1_(AND-_#LPMASK+8_^1_(TCA_$Q_^1_(LDA-_#(€€SST+CFFA)_^1_(ARS_$8_^1_(AND-_#LPMASK+7_^1_(INA_$1_^1_(AAQ_$A,Q_^1_(ADD-_#RCNT,I_^1_(STA-_#RCNT,I_^1_(ADQ-_#FCNT,I_^1_(STQ-_#FCNT,I_^1_(LDQ_$=XEORTST_)END OF RECORDS TEST IN VMM._^1ADRSS1_!LDA-_#SW1,I_^1_(AND-_#ZROBIT+5_)NO CONT OF SIGHT VERIFICATION_^1_(STA-_#SW1,I_^1SOF_$LDA-_#SW1,I_^1_(AND-_#ZROBIT+8_^1_(STA-_#SW1,I_^1_(LDA-_#SW2,I_G06*C1301_^1_(AND-_#ZROBIT+7_)RESET 'MSG' POINT€€ER TO BEG 06*C1301_^1_(STA-_#SW2,I_G06*C1301_^1_(EQU_$MSGP(78)_D06*C1301_^1_(LDA-_#MSGP,I_F06*C1301_^1_(AND-_#NZERO+4_E06*C1301_^1_(STA-_#MSGP,I_F06*C1301_^1_(STQ-_#ATEMP+4,I_^1_(RTJ-_#(EXDFUN)_^1_(LDQ-_#ATEMP+4,I_^1_(JMP-_#(ZERO),Q_)DISPATCHER,EORTST OR VMM1._^1* SUBROUTINE TO READ/WRITE DISK WORD ADDR FROM FIRST TRACK OF BATCH_^1* A = NUMBER OF WORDS TO READ_^1* Q=ADDR IN ATT WHE€€RE TO READ THE DATA_^1*_$IF Q <0 WRITE:START TIME OF CURRENT RUN_^1*_2OR TERMINAL NO. FIRST WORD IN ATT_^1*_]_^1SUBR_#0_'0_^1_(RTJ-_#(ENTSR)_^1_(STA*_#NWORDS_^1_(LDA*_#REDCON_^1_(STA*_#RW_^1_(TRQ_$A_^1_(SQP_$FDWA_^1_(RAO*_#RW_^1_(TCA_$A_^1_(CLR_$Q_^1_(SAZ_$1_0WRITE TERMINAL NO._^1_(ENQ_$93-96_^1FDWA_#INQ_$96_^1_(ADD-_#I_^1_(STA*_#CORE_^1_(LDA-_#FTOB,I_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#M€$SDSK_^1_(STA*_#LSDSK_^1_(LDA-_#LUN,I_^1_(ALS_$4_K08*C1500_^1_(AND-_#LPMASK+2_D08*C1500_^1_(STA*_#LU_^1_(RTJ+_#SETMOV_^1RW_%RTJ-_#(REDDWA)_^1CORE_#NUM_$0_^1MSDSK_"NUM_$0_^1LSDSK_"NUM_$0_^1NWORDS_!NUM_$0_^1LU_%NUM_$0_^1_(JMP-_#(EXTSR)_^1*_]_^1REDCON_!RTJ-_#(REDDWA)_^1_(EQU_$ETHW(*)_^1_(END_^__$PPST CSY/ P€1_%NAM PST_*DECK-ID S39 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* PRINT STATISTICS REPORT ANALYSIS MODULE_^1*_]_^1* PST,REPORT,START DATE,FINISH DATE,MODE_^1* PST FORMAT:_^1* REPORT = D- DAILY,O- OPERATORS,J-JOBS_^1* DATE = DDMM_^1* MODE = E-€€ENTRY,V- VERIFY OR SPACE FOR BOTH E AND V_^1*_]_^1_(EXT_$SETMOV,G1TRT,RELTRT,LOG1A,PRTMSG_^1_(EXT_$BD,DB_^1_(EXT_$SITRDA_+TAPE RECOVERY DISK AREA_^1* SST AND EST EQUATES:_^1_(EQU_$SST($47),TEMP1(20),TEMP2(21),TEMP3(22),TEMP4(23)_^1_(EQU_$ENTSR($91),EXTSR($92),CLRSR($93),TAPIO($9A)_^1_(EQU_$GETBIN($99),GETALP($9B),ENTPRG($9E),EXDFUN($9F)_^1_(EQU_$GETCOM($9C)_A05*C1158_^1_(EQU_$CAM($€€AE),WAIT($B0),RELFOR($AD),SV($B1),REJSUP($B2)_^1_(EQU_$CLCDWA($90),REDDWA($A9),WRTDWA($AA)_^1_(EQU_$REDSEC($A7),WRTSEC($A8),SUPRW($97)_^1*_]_^1* ATT EQUATES:_^1_(EQU_$JIDX(3),RIDX(4)_!JOB AND RECORD INDEX_^1_(EQU_$JDIR(5)_*JOBS DIRECTORY BUF._^1_(EQU_$INBUF(6)_)TAPE INPUT BUF._^1_(EQU_$OUTBUF(28)_'DISK OUTPUT BUF._^1_(EQU_$RECBUF(29)_'RECORD BUF._^1_(EQU_$YY1(30),YY2(31)_!START AND€€ END YEAR_^1_(EQU_$TRMNT(23),IRB(27)_^1_(EQU_$LUN(35),SUPCOM(36),ATEMP(73)_^1* COMM. AREA EQUATES:_^1_(EQU_$SRMOD(46)_(STATISITICS REPORT MODE_^1_(EQU_$DDMM1(47)_(START DAY AND MONTH (BCD)_^1_(EQU_$DDMM2(48)_(END DAY AND MONTH_^1_(EQU_$LCOUNT(49)_'LINES COUNTER_^1_(EQU_$PCOUNT(50)_'PAGES COUNTER_^1_(EQU_$NJOBS(51)_(NO. OF JOBS_^1_(EQU_$SPARE(52)_(SPARE_^1_(EQU_$DWA(55)_*DISK WORK A€€REA_^1_(EQU_$JDIRDA(DWA+7)_#JOBS DIRECTORY DISK AREA_^1* GENERAL EQUATES:_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23)_^1_(EQU_$ZROBIT($33)_^1_(EQU_$BR(8),MO(4),RECSIZ(16)_^1*_]_^1* STATISTICS RECORD EQUATES:_^1_(EQU_$BN(1),OPN(2),STIME(3),DATE(4)_^1_(EQU_$SEC(5),KEY(6),CORR(7),ERR(8),NR(9),YEAR(10)_^1_(EQU_$JNAME(13)_^1* ACCUMULATED RECORD EQUATES:_^1_(EQU_$SECNDS(0),ANR(2)€€,AKEY(4),AERR(6),ACORR(8)_^1*_]_^1HPSR_#VFD_$N1/1,N1/1,X14/EPSR-*_^1_(ADC_$1,0,0_^1_(ADC_$START1-HPSR_%ENTRY FROM SUP_^1_(ADC_$START2-HPSR_%ENTRY FROM PSR2 ON DAILY REPORT_^1_(ADC_$SVEXT-HPSR_'EXIT TO SV_^1_(ADC_$EREXT-HPSR_'EXIT TO REJSUP_^1*_]_^1START1_!LDA*_#HPSR+1_^1_(AND-_#LPMASK+6_)USER COUNT_^1_(INA_$-2_^1_(SAM_$2_^1_(ENA_$69_^1_(JMP-_#(REJSUP)_)FUNCTION BUSY_^1_(RTJ+_#SETMO€€V_^1_(CLR_$A_^1_(STA-_#INBUF,I_^1_(STA-_#OUTBUF,I_^1_(STA-_#JDIR,I_^1_(STA-_#RECBUF,I_^1_(STA-_#LUN,I_^1_(STA-_#JIDX,I_^1_(STA-_#RIDX,I_^1_(STA-_#YY1,I_^1_(STA-_#YY2,I_^1_(LDA-_#ONEBIT+15_^1_(STA-_#TRMNT,I_*SET TR BIT_^1_(ENA_$3_^1_(STA-_#TEMP1+SST_^1_(RTJ-_#(GETALP)_^1_(SQZ_$1_0COMMA_^1_(JMP*_#ERR1_^1_(RTJ-_#(GETALP)_^1_(ENQ_$0_^1_(INA_$-$44_-D_^1_(SAZ_$PARM1_^1_(ENQ_$1_^1_(INA_$$€€44-$4F_*O_^1_(SAZ_$PARM1_^1_(ENQ_$2_^1_(INA_$$4F-$4A_*J_^1_(SAZ_$PARM1_^1_(JMP*_#ERR1_^1PARM1_"STQ-_#SRMOD,I_*REPORT KIND_^1_(RTJ*_#COMMA_^1PARM2_"RTJ-_#(GETALP)_)START DATE_^1_(SQZ_$PARM3+1_^1_(SQP_$1_^1_(JMP*_#ERR1_H05*C1174_^1_(RTJ*_#DDMMYY_^1_(STA-_#DDMM1,I_^1_(STQ-_#YY1,I_^1PARM3_"RTJ*_#COMMA_^1_(RTJ-_#(GETALP)_)FINISH DATE_^1_(SQZ_$PARM4+1_^1_(SQP_$1_^1_(JMP*_#ERR1_H05*C1174_€€^1_(RTJ*_#DDMMYY_^1_(STA-_#DDMM2,I_^1_(STQ-_#YY2,I_^1PARM4_"RTJ*_#COMMA_^1_(RTJ-_#(GETALP)_)MODE_^1_(SQP_$1_^1_(JMP*_#ERR1_H05*C1158_^1_(LDQ-_#ONEBIT+3_^1_(INA_$-$56_-V_^1_(SAZ_$SETMOD_^1_(LDQ-_#ONEBIT+2_^1_(INA_$$56-$45_*E_^1_(SAZ_$SETMOD_^1*_]05*C1174_^1ERR1_#ENA_$3_^1_(JMP-_#(REJSUP)_)ILL. PARAMETER_^1SETMOD_!ADQ-_#SRMOD,I_^1_(STQ-_#SRMOD,I_^1_(RTJ-_#(GETALP)_D05*C1174_^1_(SQP_$€€1_K05*C1174_^1_(JMP*_#EOR_I05*C1174_^1_(INA_$-$20_H05*C1174_^1_(SAN_$JERR1_G05*C1174_^1_(RTJ-_#(GETCOM)_D05*C1174_^1_(SQM_$EOR_I05*C1174_^1JERR1_"JMP*_#ERR1_H05*C1174_^1EOR_$LDQ-_#SUPCOM+1,I_'CHECK IF PRINTER OR TTY_^1_(SQN_$2_^1_(ENA_$34_/CMD INVALID FROM THIS_$05*C1154_^1_(JMP-_#(REJSUP)_)STATION_305*C1154_^1_(ADQ_$=XLOG1A_^1_(LDQ-_#(ZERO),Q_)PHYSTB_^1_(LDA-_#8,Q_.STATUS REQUEST_€€^1_(ARS_$11_^1_(AND-_#LPMASK+3_^1_(INA_$-5_/PRINTER CLASS ?_^1_(SAZ_$3_0YES_^1_(LDA-_#SRMOD,I_*NO_^1_(EOR-_#ONEBIT+4_^1_(STA-_#SRMOD,I_^1_(JMP*_#BUFFRS_^1*_]_^1COMMA_"NUM_$0_4GET COMMA_^1_(RTJ-_#(GETALP)_^1_(SQP_$1_^1_(JMP*_#EOR_.EOR_^1_(SQZ_$RET99_G05*C1158_^1_(INA_$-$20_H05*C1158_^1_(SAZ_$1_K05*C1158_^1_(JMP*_#JERR_H05*C1158_^1_(RTJ-_#(GETCOM)_D05*C1158_^1_(SQP_$JERR_H05*C1158_^1€€_(JMP*_#EOR_I05*C1158_^1JERR_#JMP*_#ERR1_H05*C1158_^1RET99_"JMP*_#(COMMA)_E05*C1158_^1*_]_^1DDMMYY_!NUM_$0_0GET DATE_^1_(LDA-_#TEMP1+SST_^1_(INA_$-1_^1_(STA-_#TEMP1+SST_^1_(RTJ*_#BCD_^1_(ALS_$12_^1_(STA-_#ATEMP,I_^1_(RTJ*_#BCD_^1_(ALS_$8_^1_(EOR-_#ATEMP,I_^1_(STA-_#ATEMP,I_^1_(ALS_$8_^1_(SAN_$1_^1_(JMP*_#ERR1_-DAY=00_^1_(SUB_$=N$0032_^1_(SAM_$1_^1_(JMP*_#ERR1_-DAY\31_^1_(RTJ*_#BCD_€€^1_(ALS_$4_^1_(EOR-_#ATEMP,I_^1_(STA-_#ATEMP,I_^1_(RTJ*_#BCD_^1_(EOR-_#ATEMP,I_^1_(STA-_#ATEMP,I_^1_(AND-_#LPMASK+8_^1_(SAN_$1_^1_(JMP*_#ERR1_-MONTH=00_^1_(SUB_$=N$0013_^1_(SAM_$1_^1_(JMP*_#ERR1_-MONTH\12_^1_(RTJ-_#(GETALP)_^1_(SQZ_$1_^1_(SQP_$1_^1_(JMP*_#ERR1_^1_(ALS_$8_^1_(STA-_#ATEMP+1,I_^1_(RTJ-_#(GETALP)_^1_(SQZ_$1_^1_(SQP_$1_^1_(JMP*_#ERR1_^1_(EOR-_#ATEMP+1,I_^1_(STA-_#ATEMP+€€1,I_^1_(LDA-_#ATEMP,I_*DDMM_^1_(LDQ-_#ATEMP+1,I_(YEAR_^1_(JMP*_#(DDMMYY)_^1BCD_$NUM_$0_0GET BCD CHAR._^1_(RTJ-_#(GETALP)_^1_(SQZ_$1_^1_(SQP_$1_^1_(JMP*_#ERR1_^1_(INA_$-$30_^1_(TRA_$Q_^1_(SQP_$1_^1_(JMP*_#ERR1_^1_(INQ_$-10_^1_(SQM_$1_^1_(JMP*_#ERR1_^1_(JMP*_#(BCD)_^1*_]_^1BUFFRS_!LDQ_$=XRECBUF,I_^1_(ENA_$3+3+24_^1_(RTJ*_#GETBUF_+GET REC. BUF (FOR PSR2)_^1_(LDQ_$=XINBUF,I_^1_(LDA*_#I€€NSIZ_^1_(RTJ*_#GETBUF_+GET INPUT BUF._^1_(LDA-_#SRMOD,I_^1_(AND-_#LPMASK+2_^1_(SAN_$1_^1_(JMP*_#OPENTP_+DAILY REP._^1_(INA_$-2_^1_(SAN_$GETOB_^1_(LDQ_$=XJDIR,I_)JOBS REP._^1_(LDA*_#DIRSIZ_^1_(RTJ*_#GETBUF_+GET JOBS DIR. BUF._^1GETOB_"LDQ_$=XOUTBUF,I_^1_(LDA*_#OUTSIZ_^1_(RTJ*_#GETBUF_+GET ACCUMULATED REC.BUF_^1_(JMP*_#OPENTP_^1*_]_^1INSIZ_"ADC_$4+96_^1OUTSIZ_!ADC_$4+4*96_^1DIRSIZ_!A€€DC_$4+8*96_^1*_]_^1GETBUF_!NUM_$0_0GET BUFFER_^1_(RTJ-_#(ENTSR)_^1_(STA-_#ATEMP+1,I_(LENGTH_^1_(STQ-_#ATEMP+2,I_^1_(RTJ+_#SETMOV_^1_(ENQ_$-100_^1_(STQ-_#ATEMP,I_^1BUF1_#LDQ-_#ATEMP+1,I_^1_(RTJ-_#(CAM)_^1_(SAP_$BUF2_-O.K_^1_(RTJ-_#(WAIT)_^1_(RAO-_#ATEMP,I_^1_(LDA-_#ATEMP,I_^1_(SAP_$NOCORE_^1_(JMP*_#BUF1_^1BUF2_#LDA-_#ATEMP+2,I_^1_(STA-_#(ZERO),Q_)BACKWARD POINTER_^1_(TRQ_$A_^1_(LDQ-€€_#ATEMP+2,I_^1_(STA-_#(ZERO),Q_)FORWARD POINTER_^1_(JMP-_#(EXTSR)_^1NOCORE_!RTJ*_#RLSBUF_^1_(ENA_$11_^1_(JMP-_#(REJSUP)_^1*_]_^1RLSBUF_!NUM_$0_0RELEASE BUFFERS_^1_(LDQ-_#INBUF,I_^1_(SQZ_$1_^1_(RTJ-_#(RELFOR)_^1_(LDQ-_#OUTBUF,I_^1_(SQZ_$1_^1_(RTJ-_#(RELFOR)_^1_(LDQ-_#JDIR,I_^1_(SQZ_$1_^1_(RTJ-_#(RELFOR)_^1_(LDQ-_#RECBUF,I_^1_(SQZ_$1_^1_(RTJ-_#(RELFOR)_^1_(JMP*_#(RLSBUF)_^1*_]_^1OPEN€€TP_!ENQ_$MO_/OPEN TAPE_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$3000_,REWIND_^1_(SQP_$1_^1_(JMP*_#TIOER_^1_(ENQ_$BR_^1_(RTJ-_#(TAPIO)_*READ S.F HEADER_^1_(NUM_$0,16_^1_(SQP_$1_^1_(JMP*_#RONGTP_^1_(LDQ-_#IRB,I_^1_(LDA-_#4,Q_^1_(SUB_$=ADM_^1_(SAZ_$1_^1_(JMP*_#RONGTP_^1_(LDA-_#5,Q_^1_(SUB_$=APS_^1_(SAZ_$1_^1_(JMP*_#RONGTP_^1_(LDQ-_#INBUF,I_^1_(LDA*_#INSIZ_^1_(STA-_#3,Q_.INITIAL VALUE TO REL.REC.AD€€DR._^1SRCH_#RTJ_$GETREC_+SEARCH FIRST RECORD_^1_(SQP_$1_^1_(JMP*_#EOD1_^1_(LDA-_#YY1,I_,START DATE YEAR_^1_(SAN_$1_^1_(JMP*_#SETDAT_^1_(SUB-_#YEAR,Q_^1_(SAM_$2_^1_(SAZ_$1_^1_(JMP*_#SRCH_^1_(LDA-_#DDMM1,I_^1_(ALS_$8_^1_(SUB-_#DATE,Q_^1_(SAM_$2_^1_(SAZ_$1_^1_(JMP*_#SRCH_^1_(JMP*_#FIRST_^1SETDAT_!LDA-_#DATE,Q_+SET DATE IN DDMM1_^1_(ALS_$8_^1_(STA-_#DDMM1,I_^1_(JMP*_#FIRST_^1*_]_^1RONG€€TP_!RTJ*_#RLSBUF_+WRONG TAPE_^1_(ENA_$70_^1_(JMP-_#(REJSUP)_^1*_]_^1EOD1_#RTJ*_#RLSBUF_+END OF DATA_^1_(ENA_$85_^1_(JMP-_#(REJSUP)_^1*_]_^1TIOER_"ENA_$58_/TAPE I/O ERROR_^1_(JMP*_#FUNTRM+1_^1*_]_^1FUNTRM_!ENA_$39_/FUNCTION TERMINATED_^1_(RTJ+_#PRTMSG_^1EREXT_"RTJ+_#SETMOV_+ERROR EXIT_005*C1101_^1_(RTJ*_#RLSBUF_F05*C1101_^1_(RTJ*_#RLSTRK_^1_(ENA_$1_0SET USER COUNT TO 1_^1_(STA_$HPSR€€+1_^1_(SET_$A_^1_(JMP-_#(REJSUP)_^1*_]_^1SVEXT_"RTJ+_#SETMOV_^1_(RTJ*_#RLSBUF_+SV EXIT_^1_(RTJ*_#RLSTRK_^1_(ENQ_$MO_^1_(RTJ-_#(TAPIO)_*REWIND_^1_(NUM_$$3000_^1_(ENQ_$5_^1_(RTJ-_#(SUPRW)_*PAGE EJECT_^1_(NUM_$$2000_^1_(JMP-_#(SV)_^1*_]_^1FIRST_"LDA-_#DDMM1,I_*FIRST RECORD WAS FOUND_^1_(SAN_$3_^1_(LDA-_#DATE,Q_+SET START DATE_^1_(ALS_$8_^1_(STA-_#DDMM1,I_^1_(LDQ-_#OUTBUF,I_)CLEAR BUFF€€ERS_^1_(RTJ*_#CLRBUF_^1_(LDQ-_#JDIR,I_^1_(RTJ*_#CLRBUF_^1_(LDQ-_#RECBUF,I_^1_(RTJ*_#CLRBUF_^1_(LDA-_#SRMOD,I_^1_(AND-_#LPMASK+2_^1_(SAN_$GETDWA_^1_(RAO_$HPSR+1_+DAILY REPORT_^1_(JMP_$CHKLST_^1GETDWA_!CLR_$A_0GET DWA AND JDIR TRACKS_^1_(STA-_#PCOUNT,I_^1GTRK_#RTJ+_#G1TRT_^1_(SAN_$2_^1_(ENA_$51_/DISK FULL_^1_(JMP*_#FUNTRM+1_^1_(LDQ-_#PCOUNT,I_^1_(STA-_#DWA,B_^1_(RTJ*_#CLRTRK_+CLEAR T€€RACK_^1SAVTRT_!LDA_$=XDWA,I_*SAVE TRACK ADDRESS IN TAPE RECOVERY._^1_(STA*_#WRTRT+1_*DISK AREA,TO BE RELEASED BY'CLEAR'_^1_(LDA_$=XSITRDA_)AFTER POWER FAIL._^1_(ENQ_$5_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#WRTRT+2_^1_(STA*_#WRTRT+3_^1WRTRT_"RTJ-_#(WRTDWA)_^1_(NUM_$0_0C.A_^1_(NUM_$0,0_.D.A_^1_(NUM_$8_0N.W_^1_(NUM_$0_0D.N_^1_(LDA-_#PCOUNT,I_^1_(INA_$-7_^1_(SAP_$2_^1_(RAO-_#PCOUNT,I_^1_(JMP*_#€€GTRK_-GET NEXT TRACK_^1_(SAZ_$1_^1_(JMP-_#(EXTSR)_*EXIT FROM RLSTRK_^1_(LDQ-_#OUTBUF,I_)SET D.A IN BUFFERS WORD 3_^1_(LDA-_#DWA,I_^1_(STA-_#3,Q_^1_(LDQ-_#JDIR,I_^1_(SQZ_$2_^1_(LDA-_#JDIRDA,I_^1_(STA-_#3,Q_^1_(CLR_$A_^1_(STA-_#PCOUNT,I_^1_(JMP_$CHKLST_+EXIT FROM GETDWA_^1*_]_^1CLRBUF_!NUM_$0_0CLEAR BUF_^1_(SQN_$1_^1_(JMP*_#(CLRBUF)_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+11_(BUF.LENGTH_^1_(I€€NA_$-2_^1CLRA_#STA-_#TEMP1+SST_^1_(CLR_$A_^1_(STA-_#3,Q_^1_(INQ_$1_^1_(LDA-_#TEMP1+SST_^1_(INA_$-1_^1_(SAZ_$1_^1_(JMP*_#CLRA_^1_(JMP*_#(CLRBUF)_^1*_]_^1CLRTRK_!NUM_$0_0CLEAR TRACK_^1_(RTJ-_#(ENTSR)_^1_(STA-_#ATEMP,I_*TRACK ADDRESS_^1_(RTJ+_#SETMOV_^1_(CLR_$A_^1_(STA-_#ATEMP+1,I_(SECTORS COUNTER_^1TRKLOP_!LDA-_#ATEMP+1,I_^1_(INA_$-16_^1_(SAM_$1_^1_(JMP-_#(EXTSR)_^1_(INA_$16+4_^1_(ST€€A-_#ATEMP+1,I_^1_(LDQ-_#OUTBUF,I_^1_(ENA_$4_0NO.OF SECTORS_^1_(RTJ_$WRTDSK_^1_(JMP*_#TRKLOP_^1*_]_^1RLSTRK_!NUM_$0_0RELEASE DWA AND DIR TRACKS_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(CLR_$A_^1_(STA-_#PCOUNT,I_^1RLSLOP_!LDQ-_#PCOUNT,I_^1_(LDA-_#DWA,B_^1_(SAZ_$RLSEXT_^1_(RTJ+_#RELTRT_^1_(LDQ-_#PCOUNT,I_^1_(CLR_$A_^1_(STA-_#DWA,B_^1_(INQ_$-7_^1_(SQZ_$RLSEXT_^1_(RAO-_#PCOUNT,I_^1_(JMP*_€€#RLSLOP_^1RLSEXT_!LDQ-_#PCOUNT,I_^1_(SQN_$1_^1_(JMP-_#(EXTSR)_^1_(ENQ_$99_^1_(STQ-_#PCOUNT,I_^1_(JMP*_#SAVTRT_+CLEAR THE SAVED TRACKS ADDRESSES_^1*_]_^1GETREC_!NUM_$0_0GET NEXT RECORD_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1GETNXT_!LDQ-_#INBUF,I_^1_(RTJ*_#CLRIO_^1_(LDA-_#3,Q_.REL.REC.ADDR._^1_(INA_$RECSIZ_^1_(STA-_#3,Q_^1_(SUB_$INSIZ_^1_(SAP_$REDBLK_^1_(ADQ-_#3,Q_.Q=REC.ADDR._^1_(LDA-€€_#JNAME,Q_^1_(SAP_$1_^1_(JMP*_#GETNXT_+PADD RECORD_^1_(LDA-_#YY2,I_^1_(SAN_$GETEXT_^1_(LDA-_#DATE,Q_^1_(ALS_$8_^1_(STA-_#DDMM2,I_^1GETEXT_!JMP-_#(EXTSR)_^1REDBLK_!LDA-_#TRMNT,I_*READ TAPE BLOCK_^1_(ALS_$1_^1_(SAP_$2_^1_(JMP_$FUNTRM_^1_(LDQ-_#INBUF,I_^1_(RTJ*_#SETIO_^1_(ENA_$4-RECSIZ_^1_(STA-_#3,Q_^1_(INQ_$4_^1_(STQ*_#RDTAP1+1_^1_(STQ*_#RDTAP2+1_^1_(ENQ_$BR_^1RDTAP1_!RTJ-_#(TAPIO)_^€€1_(ADC_$0,96_^1CHKA_#AND_$=N$0A00_^1_(SAN_$CHKEOD_+TAPE MARK OR END TAPE_^1_(SQM_$1_^1_(JMP*_#GETNXT_^1_(JMP_$TIOER_^1CHKEOD_!AND-_#ONEBIT+9_^1_(SAZ_$2_0TAPE MARK_^1EODS_#SET_$Q_0END OF DATA SET_^1_(JMP-_#(EXTSR)_^1_(ENQ_$BR_^1RDTAP2_!RTJ-_#(TAPIO)_*READ NEXT FILE HEADER_^1_(ADC_$0,16_^1_(AND*_#CHKA+1_^1_(SAZ_$1_^1_(JMP*_#EODS_-TAPE MARK_^1_(JMP*_#REDBLK_+FILE HEADER_^1*_]_^1CLRIO_€€"NUM_$0_0CLEAR I/O BIT_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+15_^1_(STA-_#1,Q_^1_(JMP*_#(CLRIO)_^1SETIO_"NUM_$0_0SET I/O BIT_^1_(RTJ*_#CLRIO_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(JMP*_#(SETIO)_^1*_]_^1START2_!RTJ+_#SETMOV_+ENTRY FROM PSR2 WHEN DAILY REPORT_^1_(LDQ-_#RECBUF,I_^1_(INQ_$3_^1_(STQ-_#TEMP1+SST_^1_(ENQ_$3+12-1_+CLEAR DAILY ACCUMULATION AREA_^1_(CLR_$A_^1_(STA-_#(TEMP1+SST),Q_^1€€_(INQ_$-1_^1_(SQM_$1_^1_(JMP*_#*-3_^1_(JMP*_#DREP_-DAILY REPORT_^1NXTREC_!RTJ*_#GETREC_^1_(SQM_$EXIT_-END OF DATA SET_^1_(JMP*_#CHKLST_^1EXIT_#LDA-_#SRMOD,I_^1_(AND-_#LPMASK+2_^1_(SAN_$EXIT1_^1_(LDA_$HPSR+1_^1_(INA_$-1_^1_(STA_$HPSR+1_^1_(JMP*_#EXIT2_^1EXIT1_"LDQ-_#OUTBUF,I_^1_(ENA_$4_0N.S_^1_(RTJ_$REWRIT_+REWRITE OUTBUF_^1_(LDQ-_#JDIR,I_^1_(ENA_$8_0N.S_^1_(RTJ_$REWRIT_+REWRITE JDI€€R_^1EXIT2_"LDQ-_#INBUF,I_^1_(RTJ-_#(RELFOR)_^1_(RTJ-_#(EXDFUN)_^1_(CLR_$A_^1_(LDQ_$=N$0812_^1_(RTJ-_#(ENTPRG)_)CALL SECOND OVERLAY_^1*_]_^1CHKLST_!LDQ-_#INBUF,I_*CHECK IF LAST RECORD_^1_(ADQ-_#3,Q_^1_(LDA-_#YY2,I_^1_(SAN_$1_^1_(JMP*_#CHKMOD_^1_(SUB-_#YEAR,Q_^1_(SAP_$1_^1_(JMP*_#EXIT_-LAST RECORD_^1_(SAZ_$1_^1_(JMP*_#CHKMOD_^1_(LDA-_#DDMM2,I_^1_(ALS_$8_^1_(SUB-_#DATE,Q_^1_(SAP_$CHKM€€OD_^1_(JMP*_#EXIT_-LAST RECORD_^1CHKMOD_!LDA-_#(ZERO),Q_)COMPARE REPORT AND RECORD MODE_^1_(ALS_$3_^1_(AND-_#LPMASK+3_)MODE_^1_(INA_$-3_^1_(SAM_$ENTMOD_+ENTRY_504*C1087_^1*_] P2*L0004_^1*_'4 CARDS DELETED_GP2*L0004_^1*_] P2*L0004_^1*_]08*C1521_^1_(ENA_$2_K04*C1087_^1_(JMP*_#MODBIT_F04*C1087_^1ENTMOD_!CLR_$A_K04*C1087_^1_(STA-_#CORR,Q_+CLEAR VER.CORR. FIELD_^1_(ENA_$1_^1MODBIT_!STA-€€_#TEMP1+SST_^1_(LDA-_#SRMOD,I_^1_(ARS_$2_^1_(AND-_#LPMASK+2_^1_(SAZ_$SPLIT_^1_(EOR-_#TEMP1+SST_^1_(SAZ_$SPLIT_^1_(JMP*_#NXTREC_^1SPLIT_"LDA-_#SRMOD,I_^1_(AND-_#LPMASK+2_^1_(SAN_$1_^1_(JMP*_#DREP_-DAILY REPORT_^1_(INA_$-1_^1_(SAZ_$1_0OP. REPORT_^1_(JMP*_#JREP_-JOBS REPORT_^1_(LDA-_#OPN,Q_,OPERATOR NO._^1_(AND-_#LPMASK+12_^1_(RTJ+_#DB_^1_(TRA_$Q_^1OPREP_"RTJ*_#GETAR_,GET ACCUMULATED €€RECORD (Q=REC.INDEX)_^1_(RTJ_$ADDREC_+ADD INPUT RECORD TO OUTBUF(Q=ADDR.)_^1_(JMP*_#NXTREC_^1*_]_^1DREP_#LDQ-_#INBUF,I_*DAILY REP._^1_(ADQ-_#3,Q_.REC.ADDR_^1_(LDA-_#DATE,Q_^1_(STA-_#TEMP1+SST_^1_(LDA-_#YEAR,Q_^1_(STA-_#TEMP2+SST_^1_(LDQ-_#RECBUF,I_^1_(LDA-_#3,Q_.OLD DATE_^1_(SAN_$4_^1_(LDA-_#TEMP2+SST_^1_(STA-_#4,Q_.OLD YEAR_^1_(LDA-_#TEMP1+SST_^1_(STA-_#3,Q_^1_(EOR-_#TEMP1+SST_^1_€€(SAN_$NEWDAY_^1_(LDA-_#4,Q_^1_(EOR-_#TEMP2+SST_^1_(SAN_$NEWDAY_^1_(INQ_$6_^1_(RTJ_$ADDREC_+ADD INPUT RECORD TO RECBUF_^1_(JMP*_#NXTREC_^1NEWDAY_!RTJ-_#(EXDFUN)_^1_(CLR_$A_^1_(LDQ_$=N$0812_^1_(RTJ-_#(ENTPRG)_)CALL SECOND OVERLAY_^1*_]_^1JREP_#LDA-_#JIDX,I_+JOBS REPORT_^1_(AND-_#NZERO+8_^1_(STA-_#JIDX,I_+JDIR-BUF.FIRST INDEX_^1_(LDA-_#NJOBS,I_^1_(STA-_#ATEMP+4,I_(COUNTER_^1_(ENQ_$0_^€€1_(JMP*_#JOBLOP+1_^1JOBLOP_!ENQ_$1_^1_(ADQ-_#JIDX,I_^1_(TRQ_$A_^1_(SUB-_#NJOBS,I_^1_(SAN_$1_^1_(CLR_$Q_^1_(LDA-_#ATEMP+4,I_(SEARCH CURRENT JOB NAME IN JDIR_^1_(SAN_$1_^1_(JMP*_#NEWJOB_^1_(INA_$-1_^1_(STA-_#ATEMP+4,I_^1_(RTJ*_#GETJOB_+GET NEXT JOB NAME_^1_(STQ-_#TEMP1+SST_(NEXT JOB NAME ADDR._^1_(LDQ-_#INBUF,I_^1_(ADQ-_#3,Q_^1_(LDA-_#(TEMP1+SST)_^1_(EOR-_#JNAME,Q_^1_(SAN_$NXTJOB_^1_€€(RAO-_#TEMP1+SST_^1_(LDA-_#(TEMP1+SST)_^1_(EOR-_#JNAME+1,Q_^1_(SAN_$NXTJOB_^1_(RAO-_#TEMP1+SST_^1_(LDA-_#(TEMP1+SST)_^1_(EOR-_#JNAME+2,Q_^1_(SAN_$NXTJOB_^1OLDJOB_!LDQ-_#JIDX,I_+JIDX=CURRENT JOB INDEX_^1_(JMP*_#OPREP_^1NXTJOB_!JMP*_#JOBLOP_^1NEWJOB_!LDA-_#NJOBS,I_*NEW JOB INDEX_^1_(TRA_$Q_^1_(SUB-_#ONEBIT+9_)512_^1_(SAM_$1_^1_(JMP*_#TOOMNY_+TOO MANY JOBS_^1_(RAO-_#NJOBS,I_^1_(RTJ*_#€€GETJOB_+GET ADDRESS OF NEW JOB ENTRY_^1_(STQ-_#TEMP1+SST_^1_(LDQ-_#INBUF,I_^1_(ADQ-_#3,Q_^1_(LDA-_#JNAME,Q_*PUT NEW JOB NAME IN JDIR_^1_(STA-_#(TEMP1+SST)_^1_(RAO-_#TEMP1+SST_^1_(LDA-_#JNAME+1,Q_^1_(STA-_#(TEMP1+SST)_^1_(RAO-_#TEMP1+SST_^1_(LDA-_#JNAME+2,Q_^1_(STA-_#(TEMP1+SST)_^1_(JMP*_#OLDJOB_^1*_]_^1TOOMNY_!ENA_$18_/MAX.NO. OF JOBS EXCEEDED_!05*C1154_^1_(RTJ+_#PRTMSG_^1_(JMP_$ER€€EXT_^1*_]_^1GETAR_"NUM_$0_0GET ACCUMULATED RECORD_^1_(RTJ-_#(ENTSR)_^1_(LDA-_#RIDX,I_+PREVIOUS RECORD INDEX_^1_(AND-_#NZERO+5_*OUTBUF FIRST RECORD INDEX_^1_(STA-_#ATEMP+1,I_((THERE IS 32 RECORDS IN OUTBUF)_^1_(STQ-_#RIDX,I_+NEW RECORD INDEX_^1_(RTJ+_#SETMOV_^1_(LDA-_#RIDX,I_^1_(SUB-_#ATEMP+1,I_^1_(SAP_$1_^1_(JMP*_#REWRT1_^1_(INA_$-32_^1_(SAM_$1_^1_(JMP*_#REWRT1_^1RECADR_!LDA-_#RIDX€€,I_+COMPUTE REC.ADDR._^1_(SUB-_#ATEMP+1,I_^1_(MUI_$=N12_-12 WORDS PER RECORDS._^1_(INA_$4_^1_(TRA_$Q_^1_(ADQ-_#OUTBUF,I_)REC.ADDR._^1_(JMP-_#(EXTSR)_^1REWRT1_!LDQ-_#OUTBUF,I_^1_(ENA_$4_^1_(RTJ*_#REWRIT_+REWRIT OUTBUF (4 SECTORS)_^1READ1_"LDA-_#RIDX,I_^1_(AND-_#NZERO+5_^1_(STA-_#ATEMP+1,I_^1_(ARS_$3_0DWA SECTOR NO. (8 RECORDS/SECTOR)_^1_(STA-_#TEMP1+SST_^1_(ARS_$4_0DWA TRACK NO._^1_€€(TRA_$Q_^1_(LDA-_#TEMP1+SST_^1_(AND-_#LPMASK+4_^1_(ADD-_#DWA,B_,SEC.ADDR. OF NEXT OUTBUF SECTION_^1_(STA-_#ATEMP,I_*D.A_^1_(LDQ-_#OUTBUF,I_)C.A_^1_(STA-_#3,Q_^1_(ENA_$4_0N.S_^1_(RTJ*_#REDDSK_+READ 4 SECTORS INTO OUTBUF_^1_(JMP*_#RECADR_^1*_]_^1GETJOB_!NUM_$0_0GET JOB NAME FROM JOBS DIRECTORY_^1_(RTJ-_#(ENTSR)_^1_(LDA-_#JIDX,I_+PREVIOUS JOB INDEX_^1_(AND-_#NZERO+8_*JDIR-BUF. FIRST I€€NDEX X_^1_(STA-_#ATEMP+1,I_(THERE IS 256 ENTRIES IN JDIR BUF._^1_(STQ-_#JIDX,I_+NEW JOB INDEX_^1_(RTJ+_#SETMOV_^1_(LDA-_#JIDX,I_^1_(SUB-_#ATEMP+1,I_^1_(SAP_$1_^1_(JMP*_#REWRT2_^1_(SUB-_#ONEBIT+8_^1_(SAM_$1_^1_(JMP*_#REWRT2_^1JOBADR_!LDA-_#JIDX,I_+COMPUTE JOB ENTRY ADDRESS_^1_(SUB-_#ATEMP+1,I_^1_(MUI-_#LPMASK+2_)3 WORDS PER ENTRY._^1_(INA_$4_^1_(TRA_$Q_^1_(ADQ-_#JDIR,I_+JOB ENTRY A€€DDRESS_^1_(JMP-_#(EXTSR)_^1REWRT2_!LDQ-_#JDIR,I_^1_(ENA_$8_^1_(RTJ*_#REWRIT_+REWRITE JDIR (8 SECTORS)_^1READ2_"LDA-_#JIDX,I_^1_(AND-_#NZERO+8_^1_(STA-_#ATEMP+1,I_^1_(ARS_$5_0JDIR SECTOR NO. (32 ENTRIES/SECTOR)_^1_(ADD-_#JDIRDA,I_^1_(STA-_#ATEMP,I_*D.A_^1_(LDQ-_#JDIR,I_+C.A_^1_(STA-_#3,Q_^1_(ENA_$8_0N.S_^1_(RTJ*_#REDDSK_+READ 8 SECTORS INTO JDIR_^1_(JMP*_#JOBADR_^1*_]_^1REWRIT_!NUM_€€$0_0REWRITE OUTBUF OR JDIR_^1_(RTJ-_#(ENTSR)_^1_(STA*_#NS_/N.S_^1_(SQN_$1_^1_(JMP-_#(EXTSR)_^1_(LDA-_#3,Q_.D.A_^1_(STA-_#ATEMP,I_^1_(LDA-_#WRTSEC_^1_(JMP*_#REDWRT_^1*_]_^1WRTDSK_!NUM_$0_0WRITE SECTORS_^1_(RTJ-_#(ENTSR)_^1_(STA*_#NS_^1_(LDA-_#WRTSEC_^1_(JMP*_#REDWRT_^1REDDSK_!NUM_$0_0READ SECTORS_^1_(RTJ-_#(ENTSR)_^1_(STA*_#NS_^1_(LDA-_#REDSEC_^1REDWRT_!STA*_#WRTDSK_^1_(RTJ_$SETIO_^€€1_(INQ_$4_^1_(STQ*_#CA_^1_(LDA-_#ATEMP,I_^1_(STA*_#DA_^1_(ADD*_#NS_^1_(STA-_#ATEMP,I_*SAVE NEXT D.A_^1_(RTJ+_#SETMOV_^1_(RTJ*_#(WRTDSK)_^1CA_%NUM_$0_^1DA_%NUM_$0_^1NS_%NUM_$0_^1DN_%NUM_$0_^1_(LDQ*_#CA_^1_(INQ_$-4_^1_(RTJ_$CLRIO_^1_(JMP-_#(EXTSR)_^1*_]_^1ADDREC_!NUM_$0_0ADD INPUT RECORD TO BUFFER_^1_(STQ*_#ADDR2_,ACCUMULATED RECORD ADDR._^1_(LDQ-_#INBUF,I_^1_(ADQ-_#3,Q_^1_(STQ*_#ADD€€R1_,INPUT RECORD ADDR._^1_(LDA-_#SEC,Q_,ACCUMULATED TIME (SEC.)_^1_(LDQ*_#ADDR2_^1_(RTJ*_#ADD1_^1_(LDQ*_#ADDR1_^1_(LDA-_#NR,Q_-NO. OF RECORDS_^1_(LDQ*_#ADDR2_^1_(INQ_$ANR_^1_(RTJ*_#ADD1_^1_(LDQ*_#ADDR1_^1_(LDA-_#KEY,Q_,KEY STROKES_^1_(SAP_$KEYPOS_+IF KEY STROKS IS GREATER_!06*C1340_^1_(ADD-_#ONEBIT+15_(THAN 7FFF DIVIDE THE_%06*C1340_^1_(LDQ*_#ADDR2_,NUMBER INTO 2 POSITIVE_#06*C1340€€_^1_(INQ_$AKEY_-NUMBERS._206*C1340_^1_(RTJ*_#ADD1_H06*C1340_^1_(LDA-_#LPMASK+15_C06*C1340_^1KEYPOS_!LDQ*_#ADDR2_G06*C1340_^1_(INQ_$AKEY_^1_(RTJ*_#ADD1_^1_(LDQ*_#ADDR1_^1_(LDA-_#ERR,Q_,ERRONEOUS RECORDS_^1_(LDQ*_#ADDR2_^1_(INQ_$AERR_^1_(RTJ*_#ADD1_^1_(LDQ*_#ADDR1_^1_(LDA-_#CORR,Q_+VER. CORRECTIONS_^1_(LDQ*_#ADDR2_^1_(INQ_$ACORR_^1_(RTJ*_#ADD1_^1_(JMP*_#(ADDREC)_^1_(BZS_$ADDR1,ADDR2_€€^1*_]_^1ADD1_#NUM_$0_0ADD A TO 2 WORDS IN CORE_^1_(SOV_$0_^1_(ADD-_#1,Q_^1_(SNO_$2_^1_(RAO-_#(ZERO),Q_)M.S.B_^1_(AND-_#LPMASK+15_^1_(STA-_#1,Q_.L.S.B_^1_(SAP_$EXADD1_F05*C1140_^1_(LDA-_#(ZERO),Q_D05*C1140_^1_(SAZ_$EXADD1_F05*C1140_^1_(INA_$-1_J05*C1140_^1_(STA-_#(ZERO),Q_D05*C1140_^1_(LDA-_#1,Q_I05*C1140_^1_(ADD-_#LPMASK+15_C05*C1140_^1_(STA-_#1,Q_I05*C1140_^1EXADD1_!JMP*_#(ADD1)_F€,05*C1140_^1*_]_^1_(EQU_$EPSR(*)_^1_(END_^__ ,PEXPTAB CSY/ P€1_%NAM EXPTAB_'DECK-ID M20 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1** DISK RESIDENT TABLE WHICH DESCRIBES THE SUPERVISOR FUNCTIONS_^1** AND THEIR PARAMETERS_^1HEADER_!VFD_$N2/3,N3/0,X11/EETAB-*_^1_(NUM_$1_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$EXPTA€€B-HEADER_^1*_]_^1EXPTAB_!ADC_$ETON-TON_^1_(ADC_$ETOF-TOF_^1_(ADC_$EEJB-EJB_^1_(ADC_$EEFM-EFM_^1_(ADC_$ECFS-CFS_^1_(ADC_$EWBT-WBT_^1_(ADC_$EDBT-DBT_^1_(ADC_$EDMP-DMP_^1_(ADC_$ELOD-LOD_^1_(ADC_$EFRZ-FRZ_^1_(ADC_$ETHW-THW_^1_(ADC_$EHDR-HDR_^1_(ADC_$EPSS-PSS_^1_(ADC_$EPTS-PTS_^1_(ADC_$EPBS-PBS_^1_(ADC_$ETRC-TRC_^1_(ADC_$EDJB-DJB_^1_(ADC_$ECBS-CBS_^1_(ADC_$EECD-ECD_^1_(ADC_$ESOF-SOF_^1_€€(ADC_$EPBR-PBR_^1_(ADC_$ECIO-CIO_^1_(ADC_$ELPR-LPR_^1_(ADC_$EPFM-PFM_^1_(ADC_$EESH-ESH_^1_(ADC_$EPJB-PJB_^1_(ADC_$EEDC-EDC_^1_(ADC_$EDDC-DDC_^1_(ADC_$EPER-PER_^1_(ADC_$ECDS-CDS_^1_(ADC_$EPDC-PDC_^1_(ADC_$EMTC-MTC_^1_(ADC_$EEMT-EMT_^1_(ADC_$EDMT-DMT_^1_(ADC_$EPMT-PMT_^1_(ADC_$EMSG-MSG_^1_(ADC_$EDPR-DPR_^1_(ADC_$EPPR-PPR_^1_(ADC_$EPST-PST_^1_(ADC_$EEXP-XPL_^1_%ADC ECFM-CFM_J06*C1367€€_^1_(ADC_$EPFT-PFT_^1_(ADC_$EBAL-BAL_D07*C1400_^1_(ADC_$ETIP-TIP_D07*C1401_^1_$ADC_"EOCG-OCG_I07*C1402_^1_(EQU_$FLNGTB(*)_^1*_]_^1TON_"NUM 9_Q06*C1330_^1_(ALF_$*,TURN ON STATION *_^1*_]06*C1330_^1_(NUM_$15_^1_(ALF_$*,TON,1'ST STATION,LAST STATION *_^1_(EQU_$ETON(*)_^1*_]_^1TOF_$NUM_$8_K06*C1330_^1_(ALF_$*,TURN OFF STATION*_^1_(NUM_$15_^1_(ALF_$*,TOF,1'ST STATION,LAST STATION *_^1€€_(EQU_$ETOF(*)_^1*_]_^1EJB_$NUM_$5_^1_(ALF_$*,ENTER JOB *_^1_(NUM_$24_^1_(ALF_$*,EJB,STATUS,JOB NAME,MAG-TAPE FORMAT,VER-TYPE,EOB*_^1_(NUM_$12_^1_(ALF_$*,OWN-CODE,MAX REC LENGTH *_^1_(EQU_$EEJB(*)_^1*_]_^1EFM_$ADC_$EFM1-EFM-1_^1_(ALF_$*,ENTER FORMAT*_^1EFM1_#ADC_$EFM2-EFM1-1_^1_(ALF_$*,EFM,STATUS,FMT NO,REC LNG,F.REVER,RESEQ,* 07*C1417_^1EFM2_#ADC_$EFM3-EFM2-1_^1_%ALF *,AUTOSEQ,A€€UTOSEQ NO,SLS,EXTENSION*_/SLS_^1EFM3_#ADC_$EFM4-EFM3-1_^1_(ALF_$*,FIELD NAME,DATA TYPE,MAX CHAR'S,KEYING MODE,REC *_^1EFM4_#ADC_$EFM5-EFM4-1_^1_(ALF_$*,MODE,VER TYPE,AUTO FUNC,N.ZERO/BLANK TEST,AUTO*_^1EFM5_#ADC_$EFM6-EFM5-1_^1_(ALF_$*,ERR FLAG,RESEQ NO,FILL CHAR,OWN CODE NO,SP-TEST,*_^1EFM6_#ADC_$EFM7-EFM6-1_^1_(ALF_$*,FUNC1 COUNTER NO,FUNC2 COUNTER NO,LIMITS,*_^1EFM7_#ADC_$EEFM-E€€FM7-1_^1_(ALF_$*,LOW LIM SIGN UP LIM SIGN*_^1_(EQU_$EEFM(*)_^1*_]_^1CFS_$NUM_$10_^1_(ALF_$*,CHANGE FORMAT STATUS*_^1_(NUM_$10_^1_(ALF_$*,CFS,FORMAT NO,STATUS*_^1_(EQU_$ECFS(*)_^1*_]_^1WBT_$NUM_$11_^1_(ALF_$*,WRITE BATCHES TO TAPE *_^1WBT1_#ADC_$WBT2-WBT1-1_^1_(ALF_$*,WBT,JOB NAME,1'ST BATCH,LAST BATCH,*_^1WBT2_#ADC_$WBT21-WBT2-1_^1_(ALF_$*,UB=UNBALANCED BATCHES,ER=BATCHES WITH*_^1W€€BT21_"ADC_$WBT3-WBT21-1_^1_(ALF_"*,ERROR FLAGS,WR=BATCHES ALREADY WRITTEN*_^1WBT3_#ADC_$EWBT-WBT3-1_^1_(ALF_$*,STOP,NEW,MTF=MAG-TAP FMT NO.*_^1_(EQU_$EWBT(*)_^1*_]_^1DBT_$NUM_$12_^1_(ALF_$*,DELETE BATCHES FROM DISK*_^1_(NUM_$23_^1_(ALF_$*,DBT,JOB NAME,1'ST BATCH,LAST BATCH,ERASE PARAM*_^1_(EQU_$EDBT(*)_^1*_]_^1DMP_$NUM_$11_J06*C1330_^1_(ALF_#*,DUMP FROM DISK TO TAPE*_^1_(NUM_$13_^1€€_(ALF_$*,DMP,J,JOB NAME,BATCH MODES*_^1_(NUM_$13_^1_(ALF_$*,DMP,D,DISK NO,BATCH MODES *_^1_(NUM_$9_^1_(ALF_$*,DMP,S,ERASE PARAM *_^1_(NUM_$12_^1_(ALF_$*,DMP,F,1'ST FMT,LAST FMT *_^1_(EQU_$EDMP(*)_^1*_]_^1LOD_$NUM_$9_^1_(ALF_$*,LOAD TAPE TO DISK *_^1_(NUM_$23_^1_(ALF_$*,LOD,J,JOB NAME,1'ST BATCH,LAST BATCH,FILE NO, *_^1_(NUM_$6_^1_(ALF_$*,BATCH MODES *_^1_(NUM_$12_^1_(ALF_$*,LOD,F,1€€'ST FMT,LAST FMT *_^1_(EQU_$ELOD(*)_^1*_]_^1FRZ_$NUM_$7_^1_(ALF_$*,FREEZE BATCHES*_^1_(NUM_$15_^1_(ALF_$*,FRZ,1'ST STATION,LAST STATION *_^1_(EQU_$EFRZ(*)_^1*_]_^1THW_$NUM_$6_^1_(ALF_$*,THAW BATCHES*_^1_(NUM_$18_^1_(ALF_$*,THW,JOB NAME,BATCH,STATION,OPERATOR*_^1_(EQU_$ETHW(*)_^1*_]_^1HDR_$NUM_$9_^1_(ALF_$*,WRITE VOLUME LABEL*_^1_(NUM_$11_^1_(ALF_$*,HDR,JOB NAME,BLOCK NO *_^1_(EQU_$€€EHDR(*)_^1*_]_^1PSS_$NUM_$10_^1_(ALF_$*,PRINT SYSTEM STATUS *_^1PSS1_#ADC_$EPSS-PSS1-1_^1_(ALF_$*,PSS*_^1_(EQU_$EPSS(*)_^1*_]_^1PTS_$NUM_$10_J06*C1330_^1_(ALF_$*,PRINT STATION STATUS*_^1_(NUM_$15_^1_(ALF_$*,PTS,1'ST STATION,LAST STATION *_^1_(EQU_$EPTS(*)_^1*_]_^1PBS_$NUM_$9_^1_(ALF_$*,PRINT BATCH STATUS*_^1_(NUM_$6_^1_(ALF_$*,PBS,JOB NAME*_^1_(EQU_$EPBS(*)_^1*_]_^1TRC_$NUM_$11_^1_€€(ALF_$*,PERFORM TAPE RECOVERY *_^1_(NUM_$10_^1_(ALF_$*,TRC,NO OF RECOV AREA*_^1_(EQU_$ETRC(*)_^1*_]_^1DJB_$NUM_$5_^1_(ALF_$*,DELETE JOB*_^1_(NUM_$6_^1_(ALF_$*,DJB,JOB NAME*_^1_(EQU_$EDJB(*)_^1*_]_^1CBS_$ADC_$CBS1-CBS-1_^1_(ALF_$*,CHANGE BATCH STATUS*_^1CBS1_#ADC_$ECBS-CBS1-1_^1_(ALF_$*,CBS,JOB NAME,BATCH,STATUS,VER CONDITIONS*_^1_(EQU_$ECBS(*)_^1*_]_^1ECD_$NUM_$14_^1_(ALF_$*,ENTER €€CHECK DIGIT PARAMETERS*_^1_%NUM 16_P06*C1330_^1_(ALF_$*,ECD,SP TEST NO, MODULUS,WEIGHTS*_^1_(EQU_$EECD(*)_^1*_]_^1SOF_$NUM_$7_^1_(ALF_$*,SUPERVISOR OFF*_^1SOF1_#ADC_$ESOF-SOF1-1_^1_(ALF_$*,SOF*_^1_(EQU_$ESOF(*)_^1*_]_^1PBR_$NUM_$9_^1_(ALF_$*,PRINT BATCH REPORT*_^1_(NUM_$7_^1_(ALF_$*,PBR,J,JOB NAME*_^1_(NUM_$9_^1_(ALF_$*,PBR,O,OPERATOR NO *_^1_(EQU_$EPBR(*)_^1*_]_^1CIO_$NUM_$13_^1_€€(ALF_$*,CHANGE INPUT/OUTPUT UNITS *_^1_(NUM_$17_^1_(ALF_$*,CIO,I UNIT NO,L UNIT NO,P UNIT NO*_^1_(EQU_$ECIO(*)_^1*_]_^1LPR_$ADC_$LPR1-LPR-1_^1_(ALF_$*,LOAD PROGRAM*_^1LPR1_#ADC_$ELPR-LPR1-1_^1_(ALF_$*,LPR,PROG INDEX,FUNC TYPE,TAPE PROG TYPE*_^1_(EQU_$ELPR(*)_^1*_]_^1PFM_$ADC_$PFM1-PFM-1_^1_(ALF_$*,PRINT FORMAT*_^1PFM1_!ADC EPFM-PFM1-1_G06*C1330_^1_(ALF_$*,PFM,1'ST FMT,LAST FMT *_^€€1_(EQU_$EPFM(*)_^1*_]_^1ESH_$NUM_$6_^1_(ALF_$*,END OF SHIFT*_^1_(NUM_$4_^1_(ALF_$*,ESH,SQZ*_^1_(EQU_$EESH(*)_^1*_]_^1PJB_$NUM_$5_^1_(ALF_$*,PRINT JOB*_^1_(NUM_$6_^1_(ALF_$*,PJB,JOB NAME*_^1_(EQU_$EPJB(*)_^1*_]_^1EDC_$NUM_$7_^1_(ALF_$*,ENTER DOCUMENT*_^1_(NUM_$17_^1_(ALF_$*,EDC,DOC NO,F FMT NO,R NO OF RECS..*_^1_(EQU_$EEDC(*)_^1*_]_^1DDC_$ADC_$DDC1-DDC-1_^1_(ALF_$*,DELETE DOCUMENT *€€_^1DDC1_#ADC_$EDDC-DDC1-1_^1_(ALF_$*,DDC,DOC NO*_^1_(EQU_$EDDC(*)_^1*_]_^1PER_$NUM_$12_^1_(ALF_$*,PRINT ERRONEOUS RECORDS *_^1_(NUM_$22_^1_(ALF_$*,PER,JOB NAME,1'ST BATCH,LAST BATCH,PRINT ALL*_^1_(NUM_$5_^1_(ALF_$*,INDICATION*_^1_(EQU_$EPER(*)_^1*_]_^1CDS_$NUM_$9_^1_(ALF_$*,CHANGE DISK STATUS*_^1_%NUM 12_P06*C1330_^1_(ALF_$*,CDS,DISK NUMBER,STATUS *_^1_(EQU_$ECDS(*)_^1*_]_^1PDC_$N€€UM_$7_^1_(ALF_$*,PRINT DOCUMENT*_^1_(NUM_$8_^1_(ALF_$*,PDC,DOCUMENT NO *_^1_(EQU_$EPDC(*)_^1*_]_^1MTC_$NUM_$11_^1_(ALF_$*,MAGNETIC TAPE CONTROL *_^1_(NUM_$19_^1_(ALF_$*,MTC,MOTION OPTION,REPETITIONS/DENSITY*_^1_(EQU_$EMTC(*)_^1*_]_^1*_]_^1EMT_$NUM_$13_^1_(ALF_$*,ENTER MAGNETIC TAPE FORMAT*_^1_(NUM_$24_^1_(ALF_$*,EMT,STATUS,MTF NO,RECORDING MODE,RECORDING CODE,*_^1_(NUM_$24_^1_(ALF_€€$*,OVERPUNCH,BLOCKING MODE,BLOCK LENGTH,REC LENGTH *_^1_(NUM_$24_^1_(ALF_$*,PAD CHAR,MTF OWN-CODE,LABEL NO,LABEL PARAMS OPT,*_^1_(NUM_$8_^1_(ALF_$*,GROUPING FACTOR *_^1_(EQU_$EEMT(*)_^1*_]_^1DMT_$NUM_$14_^1_(ALF_$*,DELETE MAGNETIC TAPE FORMAT *_^1_(NUM_$5_^1_(ALF_$*,DMT,MTF NO*_^1_(EQU_$EDMT(*)_^1*_]_^1PMT_$NUM_$13_^1_(ALF_$*,PRINT MAGNETIC TAPE FORMAT*_^1_(NUM_$11_^1_(ALF_$*,PMT,1€€'ST MTF,LAST MTF *_^1_(EQU_$EPMT(*)_^1*_]_^1MSG_$NUM_$18_^1_(ALF_$*,SEND MESSAGE TO/FROM REMOTE STATION *_^1MSG1_#ADC_$MSG2-MSG1-1_^1_(ALF_$*,MSG 2 DIGIT STATION NO,TEXT(IF TTY)*_^1MSG2_#ADC_$EMSG-MSG2-1_A06*C1330_^1_(ALF_$*,MSG (IF STATION)*_^1_(EQU_$EMSG(*)_^1*_]_^1DPR_$NUM_$7_^1_(ALF_$*,DELETE PROGRAM*_^1_(NUM_$21_^1_(ALF_$*,DPR,PROGRAM INDEX,FUNC TYPE,TAPE PROG TYPE*_^1_(EQU_$E€€DPR(*)_^1*_]_^1PPR_$NUM_$11_^1_(ALF_$*,PRINT PROGRAM NUMBERS *_^1_(NUM_$14_^1_(ALF_$*,PPR,FUNC TYPE,TAPE PROG TYPE*_^1_(EQU_$EPPR(*)_^1PST_$ADC_$PST1-PST-1_^1_(ALF_$*,PRINT STATISTICS*_^1PST1_#ADC_$EPST-PST1-1_^1_(ALF_$*,PST,REPORT,START DATE,END DATE,MODE*_^1_(EQU_$EPST(*)_^1XPL_$ADC_$XPL1-XPL-1_^1_(ALF_$*,EXPLAIN SUPERVISOR COMMAND*_^1XPL1_#ADC_$EXPL1-XPL1-1_^1_(ALF_$*,XPL,COMMAN€€D*_^1_(EQU_$EXPL1(*)_^1_(EQU_$EEXP(*)_^1CFM_"ADC CFM1-CFM-1_H06*C1367_^1_%ALF *,COPY FORMAT*_D06*C1367_^1CFM1_!ADC ECFM-CFM1-1_G06*C1367_^1_%ALF *,CFM,FMT,NEW FMT*_@06*C1367_^1_%EQU ECFM(*)_K06*C1367_^1PFT_$ADC_$PFT1-PFT-1_^1_(ALF_$*,PRINT FORMAT*_^1PFT1_#NUM_$11_J06*C1330_^1_(ALF_$*,PFT,1'ST FMT,LAST FMT *_^1_(EQU_$EPFT(*)_^1BAL_$ADC_$BAL1-BAL-1_B07*C1400_^1_(ALF_$*,DOCUMENT €€BALANCE CHECK*_307*C1400_^1BAL1_#ADC_$EBAL-BAL1-1_A07*C1400_^1_(ALF_$*,BAL,JOB NAME,FIRST BATCH,LAST BATCH*_%07*C1400_^1_(EQU_$EBAL(*)_E07*C1400_^1TIP_$ADC_$TIP1-TIP-1_B07*C1401_^1_(ALF_$*,REINPUT OF DATA FROM TAPE*_007*C1401_^1TIP1_#ADC_$TIP2-TIP1-1_A07*C1401_^1_(ALF_$*,TIP,JOBNAME,FIRST BATCH,# OF BLOCKS,MTF #,*07*C1401_^1TIP2_#ADC_$TIP3-TIP2-1_A07*C1401_^1_(ALF_$*,_#STARTING POS€NITION ON RECORD*_)07*C1401_^1TIP3_#ADC_$ETIP-TIP3-1_A07*C1401_^1_(ALF_$*,FORMAT #,IDENTIFYING STRING*_.07*C1401_^1_(EQU_$ETIP(*)_E07*C1401_^1OCG_$ADC_$OCG1-OCG-1_B07*C1402_^1_(ALF_$*,OWNCOD GENERATOR*_907*C1402_^1OCG1_#ADC_$EOCG-OCG1-1_A07*C1402_^1_(ALF_$*,OCG*_F07*C1402_^1_(EQU_$EOCG(*)_E07*C1402_^1*_]_^1_(EQU_$EETAB(*)_^1_(END_^__NPTIP2 CSY/ P€1_%NAM TIP2_)DECK-ID M21 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1************************************************************_^1*_Y*_^1*_!SECOND OVERLAY OF TIP._@*_^1*_Y*_^1*_!FUNCTIONS PERFORMED:_B*_^1*_#1) LOCKS THE OVERLAY AGAINST INTERFER€€ING PROBLEMS._!*_^1*_#2) OPENS A NEW BATCH._?*_^1*_#3) READS A BLOCK OF DATA FROM THE TAPE._-*_^1*_#4) EXPANDS THAT DATA TO FULL-LENGTH RECORDS AND_$*_^1*_'WRITES THEM ON DISK, ACCORDING TO CYBERDATA_%*_^1*_'REQUIREMENTS._D*_^1*_#5) PERFORMS STEPS 3 AND 4 UNTIL THE BATCH IS FILLED *_^1*_'WITH THE DESIRED NUMBER OF BLOCKS (OR UNTIL END_!*_^1*_'OF FILE OCCURS.)_A*_^1*_Y*_^1*_#6) PER€€FORMS STEPS 2,3,4 AND 5 UNTIL THE END OF FILE *_^1*_'IS REACHED._F*_^1*_Y*_^1*_Y*_^1*_!THE PROGRAM CAN HANDLE THE FOLLOWING RECORDING MODES: *_^1*_"FIXED BLOCKED, VARIABLE BLOCKED, UNBLOCKED_+*_^1*_"VARIABLE SPANNED._D*_^1*_Y*_^1************************************************************_^1*_!THE SETQ MACRO_H*_^1*_Y*_^1*_"THE EXTENSION BUFFER (TRB) IS CONSIDERED TO CONTAIN_!*_^1€€*_!CHARACTERS (2 IN A WORD) BEGINNING WITH THE FIRST_$*_^1*_"WORD AFTER THE BACKWARDS POINTER. 'WR',I CONTAINS_#*_^1*_"THE NUMBER OF SOME CHARACTER AND THE MACRO SETS Q_#*_^1*_!TO POINT TO THE WORD CONTAINING THIS CHARACTER.'IN'_"*_^1*_"IS AN INCREMENT TO BE ADDED TO THE CONTENTS OF 'WR',I *_^1*_Y*_^1************************************************************_^1*_Y*_^1*_!THE FIX M€€ACRO_I*_^1*_Y*_^1*_!CALLS A SUBROUTINE TO SET BIT 15 IN WORD 1 OF THE_$*_^1*_"BUFFER 'BF'._I*_^1*_Y*_^1************************************************************_^1*_Y*_^1*_"THE FREE MACRO_G*_^1*_Y*_^1*_"CALLS A SUBROUTINE TO CLEAR BIT 15 IN WORD 1 OF THE_!*_^1*_"BUFFER 'BF'._I*_^1*_Y*_^1************************************************************_^1FIX_$MAC_$BF,NR_^1_(LDQ-_#'BF'€€,I_^1_(RTJ'NR' FIXBUF_^1_(EMC_^1FREE_#MAC_$BF,NR_^1_(LDQ-_#'BF',I_^1_(RTJ'NR' LETBUF_^1_(EMC_^1SETQ_#MAC_$WR,IN_^1_(LDQ-_#'WR',I_^1_(INQ_$1'IN'_^1_(QRS_$1_^1_(ADQ-_#TRB,I_^1_(EMC_^1_(EJT_^1_(ENT_$TP2_^1_(EXT_$SETMOV,LOG1A,G1TRT,DB,BD_^1_(EXT_$LINKTR,SETDIS,CCKEND_^1_(EXT_$PRTMSG,FRZATT_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22)_^1_(EQU_$ONEBIT($23),ZROBIT($33)_^1_(EQU_$MAXCNT(100),F€€READ(18)_^1_(EQU_$MOTION(4),WRITEF(3)_^1_(EQU_$CRTMOT(5)_(MOTION CODE FOR CRT_^1_(EQU_$FRZLEN(64)_'# OF WORDS OF ATT TO SAVE ON DISK_^1_(EQU_$SST($47)_^1_(EQU_$STEMP(20)_^1_(EQU_$DSKST(29)_^1_(EQU_$CLOCKS(17)_^1_(EQU_$ENTSR($91),RTNSR($98),REJSUP($B2)_^1_(EQU_$WAIT($B0),EXTSR($92),GFCORE($9D)_^1_(EQU_$TAPIO($9A),WRTDWA($AA),CLCDWA($90)_^1_(EQU_$RELFOR($AD),SPILL($A1),WRTATT($AC)_^1€€_(EQU_$REDDWA($A9),WRTSEC($A8),CAM($AE)_^1_(EQU_$EXDFUN($9F),SV($B1),SUPRW($97)_^1_(EQU_$DISPLY($A0)_^1_(EQU_$FTOB(1)_*FIRST TRACK OF BATCH_^1_(EQU_$JOBNDX(3)_(JOB'S INDEX IN LJD_^1_(EQU_$FLDCNT(4)_(CURRENT FIELD COUNTER_^1_(EQU_$TRB(6)_+TRB ADDRESS_^1_(EQU_$PFBA(7)_*POINTER TO FBA_^1_(EQU_$AVLTK(8)_)AVAILABLE WORDS IN CURRENT TRACK_^1_(EQU_$CURDA(9)_)CURRENT DISK ADDRESS M.S.B._^1€€_(EQU_$NEXTDA(11)_'NEXT FREE DISK ADDRESS_^1_(EQU_$SHIFTS(14)_'TEMPORQRY; SHIFTING COUNTER_^1_(EQU_$TRACKS(15)_'# OF TRACKS ALLOCATED TO BATCH_^1_(EQU_$CURTRK(17)_'CURRENT TRACK'S ADDRESS_^1_(EQU_$LASTDA(18)_'PREVIOUS DISK ADDRESS._^1_(EQU_$ABTIDX(22)_'ABT INDEX OF LAST BATCH_^1_(EQU_$CANCEL(23)_'CANCEL KEY FLAG_^1_(EQU_$BLKCNT(24)_'INPUT DATA BLOCK CURSOR_^1_(EQU_$TEMP2(26)_(TEMPO€€RARY_^1_(EQU_$AINT(27)_)ADDRESS OF INTERROGATE BUFFER_^1_(EQU_$VERREC(29)_'VERIFIABLE RECORDS_^1_(EQU_$RECRDS(32)_'# OF RECORDS IN BATCH_^1_(EQU_$BATCH(35)_(BATCH NUMBER (LAST)_^1_(EQU_$SVCA(36)_)SUPERVISOR COMM. AREA_^1_(EQU_$LISTLU(37)_^1_(EQU_$ATEMP(73)_(TEMPORARY STORAGE_^1_(EQU_$SP(SVCA+10)_^1_(EQU_$FLAGS(SP)_(BIT 15=1 IF DATA BLOCK EXHAUSTED_^1*_BBIT 14=1 IF CURRENT BATCH IS €€FULL_^1*_BBIT 13=1 IF DATA BLOCK OVERFLOW_^1*_BBIT 12=1 IF CURRENT INPUT CHARACTER_^1*_LIS '1C' ._^1*_BBIT 11=1 IF CURRENT BATCH IS OPEN_^1*_BBIT 10=1 IF CURRENT FIELD IS_^1*_KRIGHT JUSTIFIED_^1*_BBIT 9=1 IF VARIABLE RECORDING_^1*_BSPECIFIED IN MTF._^1*_BBIT 8=1 IF OVERPUNCH ON THAT FIELD._^1*_BBIT 7=1 IF SIGNED NUMERIC FIELD._^1_(EQU_$RECLEN(SP+1)_$ACTUAL RECORD'S LENGTH_^1_(EQU_$€€TRBCNT(SP+2)_$EXTENSION BUFFER CURSOR_^1_(EQU_$NWDATA(SP+3)_$POINTER TO CURRENT FIELD'S BEGINNING_^1_(EQU_$TABTOP(SP+4)_$POINTER TO TABLE OF FORMATS._^1_(EQU_$TABLEN(SP+5)_$TABLE OF FORMATS LENGTH_^1_(EQU_$FMT1(SP+6)_'SINGLE FORMAT (WHEN SPECIFIED)_^1_(EQU_$STRPOS(SP+7)_$STARTING POSITION-DYNAMIC IDENT._^1_(EQU_$TAPEIN(SP+8)_$POINTER TO INPUT DATA BLOCK_^1_(EQU_$BCOUNT(SP+9)_$BLOCK€€S PER BATCH (FIXED)_^1_(EQU_$MTF(SP+10)_^1_(EQU_$BCHBLK(SP+15)_## OF BLOCKS ALLREADY ASSIGNED_^1_(EQU_$FILCHR(SP+16)_#TEMPORARY; FILLING CHARACTER_^1_(EQU_$LSTHDR(SP+17)_#PREVIOUS FIELD'S HEADER INDEX_^1_(EQU_$TOPR(ATEMP)_^1_(EQU_$TSBCH(TOPR+1)_#START TIME OF BATCH_^1_(EQU_$TCLK(TOPR+2)_$START TIME FOR CURRENT RUN_^1_(EQU_$TACTME(TOPR+3)_"ACCUMULATED TIME FOR CURRENT RUN_^1_(EQU_$T€€EMP1(ATEMP+4)_^1_(EJT_^1HDR_$VFD_$N1/1,N1/1,X14/ENDTP2-*_^1_(NUM_$1,0,0_^1_(ADC_$TP2-HDR_^1*_]_^1TP2_$RTJ+_#SETMOV_^1_(RTJ*_#LOCK_-LOCK THAT FUNCTION_^1_(RTJ_$OPNBCH_+OPEN NEXT BATCH_^1NWBLK_"RTJ_$GETBLK_+READ NEXT BLOCK FROM TAPE_^1_(JMP*_#EXPAND_+FILL THE TRB WITH RECORDS_^1_(EJT_^1LOCK_#NUM_$0_^1_(RTJ-_#(ENTSR)_*SAVE RETURN ADDRESS._^1_(RTJ+_#SETMOV_^1EXTBUF_!LDA-_#RECLEN,I_)# O€€F CHARACTERS - 1_^1_(ARS_$1_^1_(INA_$1+5_.# OF WORDS+HEADER ON DTL_^1_(STA*_#ONEREC_^1_(LDA_$=X16*96_*WORD IN ONE TRACK_^1_(CLR_$Q_^1_(DVI*_#ONEREC_+A = # OF RECORDS IN 1 TRACK_^1_(CLR_$Q_^1_(MUI*_#ONEREC_^1_(INA_$3_0BUFFER'S HEADER_^1_(STA*_#CORE_^1*_]_^1ENOUGH_!LDQ*_#CORE_^1_(RTJ*_#TABCOR_+TRY TO GET CORE FOR AT LEAST_^1*_B2 RECORDS._^1_(JMP*_#COMEIN_+IF CORE OBTAINED_^1_(LDA*_#C€€ORE_^1_(SUB*_#ONEREC_+DECREASE CORE DEMAND._^1_(STA*_#CORE_^1_(INA_$-3_^1_(ARS_$1_^1_(SUB*_#ONEREC_+IS CORE GREATER THAN 1 RECORD?_^1_(SAP_$GREATR_^1_(RTJ*_#FREBUF_^1_(ENA_$11_/'MEMORY FULL - RETRY'_^1_(JMP-_#(REJSUP)_^1*_]_^1GREATR_!JMP*_#ENOUGH_^1COMEIN_!LDA*_#HDR+1_,USER COUNT_^1_(INA_$-2_^1_(SAM_$NOTBSY_^1_(LDA*_#MAXTRY_^1_(SAN_$LOCKED_+AND TRY AGAIN_^1*_]_^1_(ENA_$MAXCNT_+NO M€€ORE WAITING._^1_(STA*_#MAXTRY_+RESET WAIT COUNTER_^1_(RTJ*_#FREBUF_+FREE ALL BUFFERS_^1_(ENA_$69_/'FUNCTION BUSY'_^1_(JMP-_#(REJSUP)_^1LOCKED_!INA_$-1_^1_(STA*_#MAXTRY_+DECREMENT WAIT COUNTER._^1_(RTJ-_#(WAIT)_^1_(JMP*_#COMEIN_+TRY TO ENTER AGAIN THE FUNCTION._^1*_]_^1NOTBSY_!ENA_$MAXCNT_^1_(STA*_#MAXTRY_^1*_]_^1_(LDA-_#MTF+2,I_*SET RECORDING CODE IF DEFAULT_^1_(ALS_$4_^1_(AND-_#LP€€MASK+3_^1_(SAN_$RESET+1_^1*_]_^1_(ADQ_$=XLOG1A_*SYSTEM TABLES._^1_(LDQ-_#(ZERO),Q_^1_(LDA-_#8,Q_^1_(AND-_#ONEBIT+4_)SEVEN TRACK TAPE IF THAT BIT IS 0._^1_(LDQ-_#MTF+2,I_^1_(SAZ_$SEVEN_^1_(ADQ-_#ONEBIT+13_(EBCDIC CODE_^1_(JMP*_#RESET_^1*_]_^1SEVEN_"ADQ-_#ONEBIT+12_(BCD CODE._^1RESET_"STQ-_#MTF+2,I_^1_(LDA-_#AINT,I_+PRINT 'NEW BATCHES'_^1_(INA_$4_^1_(STA-_#SST+STEMP_^1_(ENQ_$6_0LENGT€€H OF MESSAGE_^1SND1_#INQ_$-1_^1_(LDA*_#MSG1,Q_^1_(STA-_#(SST+STEMP),Q_^1_(SQZ_$1_^1_(JMP*_#SND1_^1_(STQ-_#FLAGS,I_^1_(RTJ_$CURSOR_+SET CURSOR TO RIGHT POSITION_^1_(ENQ_$WRITEF_^1_(RTJ-_#(SUPRW)_^1_(ADC_$0_^1_(NUM_$6_^1_(LDA-_#ONEBIT+15_^1_(STA-_#CANCEL,I_)ALLOW CANCEL_^1_(JMP-_#(EXTSR)_^1*_]_^1MAXTRY_!NUM_$100_^1MSG1_#ALF_$*,NEW BATCHES:*_^1_(BSS_$CORE(1),ONEREC(1)_^1_(SPC_$10_^1TA€€BCOR_!NUM_$0_^1*_]_^1* OBTAIN CORE FOR THE EXTENSION BUFFER IF OBTAINED,_^1* RETURN TO 1'ST INSTRUCTION. IF NOT, TO THE 2'ND._^1*_]_^1_(RTJ-_#(ENTSR)_*SAVE RETURN ADDRESS_^1_(STQ-_#TEMP1,I_^1_(RTJ+_#SETMOV_^1_(LDA-_#LPMASK+15_^1_(INA_$-100_^1_(STA-_#TEMP2,I_*COUNTER FOR 100 RETRIES_^1TRYCOR_!LDQ-_#TEMP1,I_*TAKE LENGTH_^1_(RTJ-_#(CAM)_^1_(SAZ_$GOTCOR_^1_(RAO-_#TEMP2,I_^1_(SNO_$2_^€€1_(RTJ-_#(RTNSR)_^1_(JMP-_#1,Q_^1_(RTJ-_#(WAIT)_^1_(JMP*_#TRYCOR_^1*_]_^1GOTCOR_!STQ-_#TRB,I_,ADDRESS OF BUFFER_^1_(LDA-_#I_^1_(INA_$TRB_^1_(STA-_#(ZERO),Q_)BACKWARDS POINTER_^1_(JMP-_#(EXTSR)_^1_(EJT_^1EXPAND_!RTJ_$ONECHR_^1_(LDA-_#FLAGS,I_0CHECK IF NO MORE DATA_^1_(ALS_$2_^1_(SAP_$2_0FLAG 15 IS 0, BLOCK NOT EMPTY._^1_(RTJ_$GETBLK_^1_(RTJ_$FORMAT_+IDENTIFY THE FORMAT._^1HAVEIT_!LD€€Q-_#PFBA,I_^1_(LDQ-_#(ZERO),Q_)POINTER TO FORMAT_^1_(LDA-_#2,Q_^1_(ARS_$7_0MAX. NO OF WORDS_*08*C1503_^1_(AND-_#LPMASK+9_D08*C1503_^1_(INA_$1+5_.+ HEADER_208*C1503_^1*_]_^1_(STA-_#RECLEN,I_)SAVE IT_^1_(SUB-_#AVLTK,I_*ENOUGH ROOM ON THAT TRACK?_^1_(INA_$-1_^1_(SAM_$TRKOK_,YES._^1_(RTJ_$ONDISK_+NO. WRITE THAT BUFFER,UPDATE_^1_(RTJ_$NEWTRK_+POINTERS,GET A NEW TRACK._^1_(JMP*_#HAVEIT_^€€1*_]_^1TRKOK_"TCA_$A_^1_(INA_$-1_^1_(STA-_#AVLTK,I_*DECREASE # OF WORDS IN TRACK,_^1_(LDQ-_#TRB,I_,EXTENSION BUFFER'S LENGTH_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+11_^1_(SUB-_#RECLEN,I_^1_(ALS_$1_^1_(INA_$1_^1_(SUB-_#TRBCNT,I_^1_%SAZ 1_Q07*C1453_^1_(SAP_$EXTOK_,EXTENSION BUFFER WILL CONTAIN IT_^1*_]_^1_(RTJ_$ONDISK_+ELSE RENEW THAT BUFFER_^1EXTOK_"RTJ*_#SETHDR_+SET NEW RECORD'S HEADER_^1€€_(RTJ_$FILLIT_+EXPAND NEXT RECORD._^1_(JMP*_#EXPAND_^1_(EJT_^1FREBUF_!NUM_$0_^1*_]_^1* SUBROUTINE TO FREE THE BUFFERS: TRB-(EXTENSION AREA),_^1*_#TAPE INPUT AREA, TABLE OF FORMATS._^1*_]_^1_(LDQ-_#TAPEIN,I_)TAPE INPUT AREA._^1_(SQZ_$1_0FOR SAFETY_^1_(RTJ-_#(RELFOR)_^1_(LDQ-_#TRB,I_,EXTENSION AREA._^1_(SQZ_$1_^1_(RTJ-_#(RELFOR)_^1_(LDQ-_#TABTOP,I_)TABLE OF FORMATS._^1_(SQZ_$1_^1_(R€€TJ-_#(RELFOR)_^1_(LDQ-_#PFBA,I_+FREE LAST FORMAT_^1_(SQZ_$3_^1_(LDQ-_#(ZERO),Q_^1_(SQZ_$1_^1_(RTJ-_#(RELFOR)_^1_(CLR_$A_^1_(STA-_#TAPEIN,I_^1_(STA-_#TRB,I_^1_(STA-_#TABTOP,I_^1_(STA-_#PFBA,I_^1_(JMP*_#(FREBUF)_^1*_]_^1SETHDR_!NUM_$0_^1*_]_^1* SUBROUTINE TO CREATE RECORD'S HEADER,AS IT_^1*_!APPEARS ON DTL. ASSUMES TRBCNT % NWDATA_^1*_!TO POINT TO FIRST HALFWORD OF HEADER._^1*_!RECOR€€D LENGTH % FORMAT NUMBER ARE NOT SET_^1*_!BY THAT ROUTINE._^1*_]_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(LDQ-_#LSTHDR,I_)PREVIOUS RECORD'S HEADER INDEX._^1_(SQN_$1_0IF 0, THAT IS THE FIRST ONE._^1_(JMP*_#SAVHDR_^1*_]_^1_(INQ_$1_0FORWARDS LINKING OF PREVIOUS_^1_(QRS_$1_2RECORD._^1_(ADQ-_#TRB,I_^1_(LDA-_#CURDA+1,I_(L.S.B._^1_(STA-_#2,Q_^1_(LDA-_#3,Q_^1_(AND-_#NZERO+8_*CUT OLD M.S.B. (€€IF ANY)_^1_(EOR-_#CURDA,I_*INSERT NEW M.S.B._^1_(STA-_#3,Q_^1*_]_^1_(LDA-_#TRBCNT,I_)IS THE FIRST RECORD ALSO_^1_(SUB-_#LSTHDR,I_)THE LAST ONE ?_^1_(SAZ_$1_^1_(JMP*_#NOMOVE_+NO ._^1_(STQ*_#LSTCOR_+YES. MOVE LAST RECORD_^1_(LDA-_#(ZERO),Q_^1_(AND-_#LPMASK+9_^1_(INA_$5_^1_(TRA_$Q_0LENGTH OF RECORD_^1_(ADD*_#LSTCOR_^1_(STA*_#SETHDR_+NEW RECORD'S ADDRESS_^1MOVE1_"INQ_$-1_^1_(SQM_$MOVPN€€T_^1_(LDA*_#(LSTCOR),Q_^1_(STA*_#(SETHDR),Q_^1_(JMP*_#MOVE1_^1*_]_^1MOVPNT_!LDA*_#SETHDR_+UPDATE LSTHDR_^1_(SUB*_#LSTCOR_+RECORD'S LENGTH_^1_(ALS_$1_^1_(INA_$5_^1_(STA-_#LSTHDR,I_^1NOMOVE_!SETQ_#TRBCNT_+LINK BACKWARDS ACTUAL RECORD._^1_(LDA-_#LASTDA+1,I_'L.S.B._^1_(STA-_#1,Q_^1_(LDA-_#LASTDA,I_)M.S.B_^1_(ALS_$8_^1_(STA-_#3,Q_^1_(LDA-_#TRBCNT,I_^1_(INA_$-5_/FIRST RECORD IN BUFFER ?_€€^1_(SAZ_$FIRST1_^1_(JMP*_#SAVHDR_+NOT FIRST IN BUFFER_^1*_]_^1FIRST1_!FIX_$TRB_^1_(LDA-_#4,Q_.CHECK IF FIRST IN BATCH_^1_(SAP_$1_^1_(JMP*_#SAVHDR_^1*_]_^1_(STA*_#LSTLSB_+NOT FIRST IN BATCH._^1_(LDA-_#6,Q_.REWRITE LAST RECORD WITH CORRECT_^1_(ARS_$8_0FORWARD LINKING_^1_(AND-_#LPMASK+8_^1_(STA*_#LSTMSB_^1*_]_^1_(SETQ_#LSTHDR_^1_%INQ 1_QCYB353_^1_%STQ* LSTCOR_'CORE ADDRESS OF POINTER€€S IN LAST REC *CYB353_^1_%RAO* LSTLSB_'SET DISK ADDRESS TO POINTERS WORD_"*CYB353_^1_%ENA 3_,WRITE 3 WORDS ONLY_2*CYB353_^1_(STA*_#LSTLNG_+LENGTH OF LAST RECORD_^1_(LDA-_#BATCH,I_^1_(ARS_$12_^1_(STA*_#LSTLUN_+LOGICAL UNIT OF DISK._^1*_]_^1_(RTJ-_#(WRTDWA)_^1LSTCOR_!NUM_$0_^1LSTMSB_!NUM_$0_^1LSTLSB_!NUM_$0_^1LSTLNG_!NUM_$0_^1LSTLUN_!NUM_$0_^1*_]_^1SAVHDR_!FREE_#TRB_^1*_]_^1_(LDA-_#€€TRBCNT,I_)UPDATE POINTERS_^1_(STA-_#LSTHDR,I_)LAST HEADER GETS NEW HEADER'S INDEX_^1_(INA_$10_^1_(STA-_#TRBCNT,I_)POINTERS TO RECORD'S BEGINNING_^1_(STA-_#NWDATA,I_^1*_]_^1*_]_^1_(LDA-_#CURDA,I_*LAST DISK WORD ADDRESS IS UPDATED_^1_(STA-_#LASTDA,I_^1_(LDA-_#CURDA+1,I_^1_(STA-_#LASTDA+1,I_^1_(JMP-_#(EXTSR)_^1_(EJT_^1************************************************************_^1*_Y*€€_^1*_!GETBLK: SUBROUTINE TO FILL THE DATA BLOCK WITH INPUT_!*_^1*_*DATA FROM THE TAPE, UPDATE POINTERS % OPEN_#*_^1*_*THE NEW BATCH IF NECESSARY, CLOSE OLD BATCH_"*_^1*_*AND SO ON. CALLED EVERY TIME THE DATA BLOCK_"*_^1*_*IS EXHAUSTED._^1*_]_^1************************************************************_^1*_]_^1GETBLK_!NUM_$0_^1_(RTJ-_#(ENTSR)_*SAVE RETURN ADDRESS._^1_(RTJ+_#SETMOV€€_^1_(LDA-_#CANCEL,I_^1_(ALS_$1_^1_(SAP_$1_0WAS THE CANCEL KEY HIT ?_^1_(JMP*_#ENDIT_,YES._^1_(LDA-_#FLAGS,I_^1_(ALS_$2_^1_(SAM_$1_0IS DATA BLOCK EMPTY?_^1_(JMP-_#(EXTSR)_*NO. JUST RETURN._^1_(ALS_$15_^1_(STA*_#SVFLAG_^1_(SAP_$NOFUL1_+IS LAST BATCH FULL ?_^1_(RTJ_$CLOSEB_+CLOSE LAST BATCH._^1*_]_^1NOFUL1_!FIX_$TAPEIN_^1_(AND-_#LPMASK+11_^1_(INA_$-2_/BUFFER LENGTH (WORDS)_^1_(STA*_#T€€RBLEN_^1_(INQ_$3_0CORE ADDRESS OF FIRST WORD_^1_(STQ*_#DTABLK_^1*_]_^1_(LDA-_#MTF+2,I_^1_(ALS_$4_^1_(AND-_#LPMASK+3_)RECORDING CODE IN A._^1_(ENQ_$FREAD_^1_(RTJ-_#(TAPIO)_^1DTABLK_!NUM_$0_^1TRBLEN_!NUM_$0_^1*_]_^1_(AND_$=N$0A00_*END OF FILE OR END OF TAPE ?_^1_(SAZ_$2_^1ENDIT_"JMP_$OUT_.IF YES, RESUME EXECUTION._^1_(SQP_$SHORT_,SHOULD BE SHORT READ ,OR_^1_(ENQ_$MOTION_+ERROR IN I/O€€._^1_(RTJ-_#(TAPIO)_^1_(NUM_$$9002_,BACKSPACE 2 BLOCKS_^1_%RTJ CLOSEB_'CLOSE LAST BATCH_4*CYB338_^1_%RTJ FREBUF_L*CYB338_^1_(ENA_$58_/'TAPE I/O ERROR'_^1_(JMP-_#(REJSUP)_^1*_]_^1SHORT_"FREE_#TAPEIN_^1_(AND-_#LPMASK+11_^1_(AAQ_$Q_0LAST WORD IN BUFFER._^1_(LDQ-_#(ZERO),Q_)NEXT FREE WORD._^1_(SET_$A_^1_(STA-_#(ZERO),Q_)INSERT 'FF'._^1_(STA-_#1,Q_^1*_]_^1*_]_^1_(ENA_$5_^1_(STA-_#BLKC€€NT,I_)FIRST CHARACTER._^1_(STA*_#LSTREC_+POINTER TO RECORD'S BEGINNING_^1_(LDA-_#FLAGS,I_^1_(AND_$=N$4DFF_*UPDATE FLAGS_^1_(STA-_#FLAGS,I_^1*_]_^1_(CLR_$Q_^1_(LDA-_#MTF,I_^1_(LLS_$2_0Q= BLOCKING MODE_^1_(JMP*_#BLKMOD,Q_^1BLKMOD_!JMP*_#UNBLOK_^1_(JMP*_#VARBIN_^1_(JMP*_#VARDEC_^1_(JMP*_#FIXED0_^1*_]_^1_(EQU_$VARBIN(*)_(UPDATE FLAG 9_^1VARDEC_!LDA-_#FLAGS,I_^1_(EOR-_#ONEBIT+9_^1_(STA-€€_#FLAGS,I_^1_(ENA_$13_/UPDATE BLKCNT_^1_(STA-_#BLKCNT,I_^1*_]_^1_(EQU_$UNBLOK(*)_^1_(EQU_$FIXED0(*)_^1_(LDA*_#SVFLAG_^1_(SAP_$BLOCKS_^1_(RTJ_$OPNBCH_+YES. OPEN A NEW ONE_^1BLOCKS_!RAO-_#BCHBLK,I_^1*_]_^1_(LDA-_#BCOUNT,I_^1_(SAM_$ALFILE_+ALL THE FILE IS 1 BATCH._^1*_]_^1_(EOR-_#BCHBLK,I_)BCOUNT=BCHBLK?_^1_(SAZ_$EQUAL_^1ALFILE_!JMP-_#(EXTSR)_*NO. RETURN._^1*_]_^1EQUAL_"LDA-_#FLAGS,I_€€*THAT BATCH IS FULL. NEXT TIME_^1_(AND-_#ZROBIT+14_*GETBLK WILL BE CALLED, BATCH WILL_^1_(EOR-_#ONEBIT+14_*BE CLOSED._^1_(STA-_#FLAGS,I_^1_(JMP-_#(EXTSR)_^1_(BSS_$LSTREC(1)_^1_(EQU_$SVFLAG(GETBLK)_"SAVE THE FLAGS_^1_(EJT_^1ONDISK_!NUM_$0_^1*_]_^1* SUBROUTINE TO WRITE CURRENT EXTENSION BUFFER (TRB)_^1* ON THE DISK AND UPDATE THE POINTER AND COUNTERS._^1*_]_^1_(RTJ-_#(ENTSR)_^1_(RTJ€€+_#SETMOV_^1_(LDA-_#LSTHDR,I_)ONLY ONE RECORD IN BUFFER ?_^1_(INA_$-6_^1_(SAP_$NOTNLY_^1*_]_^1_(LDA-_#LASTDA,I_)SET PARAMETERS_^1_(STA*_#DSKMSB_1OF THE SINGLE RECORD_^1_(LDA-_#LASTDA+1,I_^1_(STA*_#DSKLSB_^1_(LDQ-_#TRB,I_^1_(LDA-_#3,Q_^1_(AND-_#LPMASK+9_)LENGTH OF THE ONLY RECORD_^1_(INA_$5_^1_(STA*_#DSKLNG_^1_(JMP*_#COMMON_^1NOTNLY_!LDQ-_#TRB,I_^1_(LDA-_#3,Q_.FIRST RECORD'S LENGTH.€€_^1_(AND-_#LPMASK+9_^1_(INQ_$3+5_^1_(AAQ_$Q_0NEXT RECORD'S HEADER._^1_(LDA-_#3,Q_.FIRST RECORD'S M.S.B._^1_(ARS_$8_^1_%AND- LPMASK+8_JLJL001_^1_(STA*_#DSKMSB_^1_(LDA-_#1,Q_.FIRST RECORD'S L.S.B._^1_(STA*_#DSKLSB_^1*_]_^1_(SETQ_#LSTHDR_+SET TOTAL LENGTH OF TRB._^1_(LDA-_#(ZERO),Q_^1_(AND-_#LPMASK+9_)LAST RECORD'S LENGTH_^1_(INA_$5_1+ ITS HEADER._^1_(AAQ_$A_^1_(SUB-_#TRB,I_,TRB ADDRE€€SS_^1_(INA_$-3_^1_(STA*_#DSKLNG_^1*_]_^1COMMON_!LDA-_#BATCH,I_^1_(ARS_$12_^1_(STA*_#DSKLUN_^1_(FIX_$TRB_^1_(INQ_$3_0FIRST WORD OF BUFFER_^1_(STQ*_#FRMCOR_^1*_]_^1_(RTJ-_#(WRTDWA)_^1FRMCOR_!NUM_$0_^1DSKMSB_!NUM_$0_^1DSKLSB_!NUM_$0_^1DSKLNG_!NUM_$0_^1DSKLUN_!NUM_$0_^1*_]_^1_(FREE_#TRB_^1_%SETQ TRBCNT,+8_#PLACE THE FORMAT NUMBER AND_)*CYB346_^1_%LDA- (ZERO),Q_$FORMAT CHANGE BIT,WHICH €€WERE_(*CYB346_^1_%STA* FMTSAV_'BUILT IN THE HEADES BEYOND_**CYB346_^1_%INQ -4_+THE DATA JUST WRITTEN, INTO_)*CYB346_^1_%LDA- (ZERO),Q_$THE BUFFERS FIRST HEADER_,*CYB346_^1_%LDQ- TRB,I_M*CYB346_^1_%STA- 3,Q_O*CYB346_^1_%LDA* FMTSAV_L*CYB346_^1_%STA- 7,Q_O*CYB346_^1_(ENA_$5_^1_(STA-_#TRBCNT,I_^1_(JMP-_#(EXTSR)_^1FMTSAV NUM 0_Q*CYB346_^1_(EJT_^1FIXBUF_!NUM_$0_^1*_]_^1* FIX THE BUFF€€ER WHOSE ADDRESS IS PASSED IN Q_^1*_]_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+15_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(JMP*_#(FIXBUF)_^1_(SPC_$5_^1LETBUF_!NUM_$0_^1*_]_^1* FREE THE BUFFER WHOSE ADDRESS IS PASSED IN Q_^1*_]_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+15_^1_(STA-_#1,Q_^1_(JMP*_#(LETBUF)_^1_(SPC_$10_^1BOUNDS_!NUM_$0_^1*_]_^1* SETS INDICES OF FIRST AND LAST CHARACTERS_^1* IN CURRENT FIELD€€._^1*_]_^1*_]_^1* NOW SET FLAGS 7 AND 8_^1*_]_^1_(RTJ-_#(ENTSR)_E07*C1461_^1_(RTJ+_#SETMOV_F07*C1461_^1_(LDA-_#FLAGS,I_^1_(AND-_#ZROBIT+8_^1_(AND-_#ZROBIT+7_^1_(STA-_#FLAGS,I_^1*_]_^1_(LDQ_$FLDBAS_^1_(LDA-_#1,Q_.DATA TYPE_^1_(ARS_$13_/WITH SIGN PROPAGATED_^1_(EOR-_#NZERO_^1_(SAN_$CNT1_-IF NOT SIGNED NUMERIC_^1*_]_^1_(LDA-_#FLAGS,I_*SIGNED NUMERIC_^1_(EOR-_$ONEBIT+7_^1_(STA-_#FLAGS€€,I_^1_(LDA-_#MTF+3,I_*IF OVERPUNCH SPECIFIED_^1_(ALS_$3_^1_(AND-_#LPMASK+2_^1_(SAZ_$CNT1_^1*_]_^1_(LDA-_#FLAGS,I_*OVERPUNCH ON THAT FIELD_^1_(EOR-_#ONEBIT+8_^1_(STA-_#FLAGS,I_^1CNT1_#LDA-_#(ZERO),Q_^1_(CLR_$Q_^1_(LLS_$8_0FIELD LENGTH IN Q_^1_(ARS_$12_/PREVIOUS FIELD LENGTH_^1_(AND-_#LPMASK+4_^1_(SAZ_$FIELD1_+FIRST FIELD IN RECORD._^1_(LDA_$TO1_^1_(INA_$1_^1_(STA-_#TRBCNT,I_^1*_]_^1€€FIELD1_!LDA-_#TRBCNT,I_^1_(STA_$FROM1_^1_(AAQ_$A_0LAST CHARACTER INDEX._^1_(STA_$TO1_^1_(INQ_$1_^1_(STQ-_#FLDCNT,I_)LENGTH OF THAT FIELD._^1*_]_^1*_]_^1_(LDA-_#FLAGS,I_^1_(ALS_$7_0OVERPUNCH HERE ?_^1_(SAP_$BIT9_-NO. CHECK IF VAR. RECORDING_^1_(INQ_$-1_/OVERPUNCH ON THAT FIELD_^1_(STQ-_#FLDCNT,I_^1BIT9_#ALS_$15_/CHECK IF VARIABLE RECORDING IN MTF_^1_(SAM_$GET1C_^1*_]_^1SETLST_!LDA_$€€(FLDBAS)_^1_(ARS_$8_^1_(AND-_#LPMASK+8_^1_(ADD-_#BLKCNT,I_^1_(LDQ-_#FLAGS,I_*CHECK IF OVERPUNCH HERE_^1_(QLS_$7_^1_(SQP_$1_^1_(INA_$-1_/OVERPUNCH ON THAT FIELD_^1_(STA_$LSTDTA_^1_(JMP*_#RSTBLK_^1*_]_^1GET1C_"CLR_$A_^1_(STA-_#FLDCNT,I_^1LOOK_#RTJ*_#ONECHR_^1_(LDA-_#FLAGS,I_^1_(SAP_$SEE1C_^1_(RTJ_$GETBLK_^1_(JMP*_#GET1C_^1*_]_^1SEE1C_"ALS_$2_^1_(SAP_$2_^1_(JMP_$CHKFLG_+IF 'FF' NOW .€€_^1_(ALS_$1_0NOT 'FF' NOW. CHECK FOR '1C'._^1_(SAM_$ITIS1C_^1_(RAO-_#BLKCNT,I_^1_(RAO-_#FLDCNT,I_^1_(JMP*_#LOOK_^1*_]_^1ITIS1C_!LDA-_#BLKCNT,I_^1_(INA_$-1_^1_(STA_$LSTDTA_^1*_]_^1RSTBLK_!LDA-_#TEMP1,I_^1_(STA-_#BLKCNT,I_^1_(JMP-_#(EXTSR)_E07*C1461_^1*_]_^1_(SPC_$5_^1ONECHR_!NUM_$0_^1*_]_^1* TAKE ONE CHARACTER FROM THE INPUT BUFFER._^1* BLKCNT IS THE CHARACTER'S NUMBER._^1*_]_^1_(€€LDA-_#FLAGS,I_^1_(AND-_#ZROBIT+12_^1_(AND-_#ZROBIT+13_^1_(STA-_#FLAGS,I_^1_(LDQ-_#BLKCNT,I_)SET WORD INDEX IN DATA BLOCK._^1_(INQ_$1_^1_(QRS_$1_^1_(ADQ-_#TAPEIN,I_^1_(LDA-_#(ZERO),Q_)TAKE THAT CHARACTER._^1_(LDQ-_#BLKCNT,I_^1_(QLS_$15_^1_(SQP_$1_0SEE WHICH HALF-BYTE NEEDED._^1_(ALS_$8_^1_(AND-_#LPMASK+8_)CHARACTER NOW IN RIGHT SIDE._^1*_]_^1_(EOR-_#LPMASK+8_)SEE IF 'FF' NOW._^1_(SA€€Z_$BLKOVR_^1_(EOR-_#LPMASK+8_)NO.RESTORE CHARACTER_^1_(INA_$-$1C_.FIELD SEPERATOR?_^1_(SAZ_$2_^1_(INA_$$1C_.NO._^1_(JMP*_#(ONECHR)_^1*_]_^1_(LDA-_#FLAGS,I_^1_(EOR-_#ONEBIT+12_^1_(STA-_#FLAGS,I_^1_(CLR_%A_^1_(JMP*_#(ONECHR)_)AND RETURN_^1*_]_^1BLKOVR_!LDA-_#FLAGS,I_^1_(EOR-_#ONEBIT+13_^1_(STA-_#FLAGS,I_^1_(CLR_%A_^1_(JMP*_#(ONECHR)_^1_(EJT_^1*****************************************€€*******************_^1*_]_^1*_"SUBROUTINE TO EXPAND INPUT DATA TO A FULL RECORD._#*_^1*_$ASSUMES PFBA,BLKCNT,TRBCNT TO BE UPDATED,_**_^1*_$NWDATA TO POINT TO RECORD'S BEGINNING IN TRB._%*_^1************************************************************_^1*_]_^1FILLIT_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1*_]_^1_(RTJ_$ONECHR_+IS FIRST CHARACTER 'FF'?_^1_(LDA-_#FLAGS,I_^1_(ALS_$€€2_^1_(SAP_$ISDATA_^1_(RTJ_$GETBLK_^1*_]_^1ISDATA_!LDQ-_#PFBA,I_^1_(LDQ-_#(ZERO),Q_^1_(INQ_$4_0SET POINTER TO FORMAT'S_^1_(STQ_$FLDBAS_.FIRST FIELD._^1*_]_^1_(SETQ_#LSTHDR_^1_(LDA-_#(ZERO),Q_^1_(AND-_#NZERO+9_*CUT OLD LENGTH (IF ANY)._^1_(ADD-_#RECLEN,I_^1_(INA_$-5_/AND ADD CURRENT RECORD'S LENGTH_^1_(STA-_$(ZERO),Q_^1*_]_^1_(AND-_#LPMASK+9_^1_(INA_$5_^1_(ADD*_#NEWREC_+DISPLACEMENT €€OF NEXT RECORD_^1_(STA*_#NEWREC_.IN DTL._^1_(TRA_$Q_^1_(LDA-_$CURTRK,I_^1_(RTJ-_$(CLCDWA)_^1_(STQ-_$CURDA,I_^1_(STA-_$CURDA+1,I_^1*_]_^1_(LDQ_%FLDBAS_)SEE IF AUTOSEQ. IN FORMAT_^1_(INQ_%-3_^1_(LDA-_$(ZERO),Q_^1_(AND-_$ONEBIT+13_^1_(SAZ_%FLDFIL_^1_(LDA-_$ONEBIT+11_(AS BIT._^1_(SETQ_#LSTHDR_^1_(EOR-_$(ZERO),Q_^1_(STA-_$(ZERO),Q_^1*_]_^1*_]_^1FLDFIL_!LDA-_#BLKCNT,I_^1_(STA-_#TEMP1,I_^€€1_(RTJ_%BOUNDS_^1_(RTJ_$ZEROS_,(IF ALPHANUMERIC) OR ZEROS._^1ALPHA_"RTJ_$NEEDED_+SEE IF THAT FIELD IS ON TAPE._^1_(RTJ_$SETRB_,SET TRBCNT ON FIELD_^1INPUT_"RTJ*_#ONECHR_+FILL THAT FIELD WITH DATA_^1_(SAN_$NOTFF_^1_(JMP_$CHKFLG_+IF 'FF' NOW OR '1C'_^1NOTFF_"RTJ_$PUSHIN_^1_(LDA-_#FLDCNT,I_^1_(INA_$-1_^1_(STA-_#FLDCNT,I_^1_(SAZ_$NWFLD_^1_(RAO-_#TRBCNT,I_^1_(RAO-_#BLKCNT,I_^1_(JMP*_#IN€€PUT_^1*_]_^1NWFLD_"LDQ-_#FLAGS,I_*CHECK IF SIGNED NUMERIC._^1_(QLS_$8_0CHECK BIT 7_^1_(SQM_$1_^1_(JMP*_#SETNEW_+NOT SIGNED NUMERIC_^1*_]_^1_(QLS_$15_/CHECK BIT 8._^1_(SQM_$1_^1_(JMP*_#SETNEW_+NO OVER-PUNCH._^1_(RTJ*_#ONECHR_+TAKE AGAIN LAST CHARACTER_^1*_]_^1_(INA_$-$40_^1_(SAP_$OVER_-NOT DIGIT NOW._^1_(INA_$$40-$30_^1_(SAM_$OVER_-OVERPUNCH_^1*_]_^1DOLR2B_!ENA_$$2B_.DIGIT SPECIFIED€€ NOW.INSERT'+'_^1_(RAO-_#TRBCNT,I_)LAST POSITION IN FIELD._^1SIGNIN_!RTJ_$PUSHIN_^1_(JMP*_#SETNEW_^1*_]_^1OVER_#SAP_$1_0ISOLATE DIGIT AND SIGN._^1_(INA_$-$10_^1_(INA_$$40-$7B_*RESTORE CHARACTER.CHECK FOR ZERO_^1*_]_^1_(SAN_$2_^1_(ENQ_$$40_.TAKE 0+_^1_(JMP*_#SELECT_^1*_]_^1_(INA_$$7B-$7D_^1_(SAN_$2_^1_(ENQ_$$3F_.TAKE 0-_^1_(JMP*_#SELECT_^1_(INA_$$7D_.RESTORE CHARACTER_^1_(TRA_$Q_^1S€€ELECT_!LDA*_#CONVRS,Q_)TAKE DIGIT AND SIGN_^1*_]_^1* IF THE LAST CHARACTER WAS NOT A LEGAL OVERPUNCH,_^1*_"AN ERRONEOUS FIELD WILL RESULT. IT CAN BE CORRECTED_^1*_#IN VERIFY OR READ MODE._^1*_]_^1_(STA*_#SAVDIG_+SAVE IT_^1_(ARS_$8_0TAKE CORRECT DIGIT_^1_(RTJ_$PUSHIN_^1_(RAO-_#TRBCNT,I_)INSERT SIGN IN LAST POSITION_^1_(LDA*_#SAVDIG_,OF FIELD_^1_(AND-_#LPMASK+8_^1_(JMP*_#SIGNIN_+INS€€ERT CORRECT SIGN._^1_(BSS_%SAVDIG(1),NEWREC(1)_^1_(EQU_$CONVRS(*-$3F)_^1_(ALF_$*,0-0+1+2+3+4+5+6+7+8+9+*_^1_(ALF_$*,1-2-3-4-5-6-7-8-9-*_^1SETNEW_!LDA*_#TO1_^1_(INA_$1_^1_(STA-_#TRBCNT,I_)CURSOR ON TRB._^1_(LDA_$LSTDTA_^1_(LDQ-_#FLAGS,I_^1_(QLS_$6_^1_(INA_$1_^1_(SQP_$1_0IF VARIABLE BLOCKING,_^1_(INA_$1_0THEN SKIP OVER THE '1C'._^1_(STA-_#BLKCNT,I_)NEXT FIELD ON BLOCK._^1*_]_^1_(LDA*€€_#(FLDBAS)_^1_(AND-_#LPMASK+4_^1_(SAZ_$LAST1_,LAST FIELD IN THAT FORMAT_^1_(INA_$2_^1_(ADD*_#FLDBAS_+NEXT ADDRESS._^1_(STA*_#FLDBAS_^1_(JMP*_#FLDFIL_^1*_]_^1LAST1_"LDQ*_#TO1_^1_(QLS_$15_^1_(SQP_$CHKBLK_+RECORD ENDED ON RIGHT SIDE._^1_(CLR_$A_^1_(RTJ_$PUSHIN_+LAST HALF-BYTE CLEARED_^1_(RAO-_#TRBCNT,I_^1CHKBLK_!LDA-_#BLKCNT,I_^1_(ALS_$15_/IS THERE AN EXTRA BLANK ON TAPE ?_^1_(SAM_$1_€€^1_(RAO-_#BLKCNT,I_)YES. NEW RECORD'S 1'ST WORD._^1_(RAO-_#RECRDS,I_(ONE MORE RECORD IN BATCH_^1_(LDQ-_#PFBA,I_^1_(LDQ-_#(ZERO),Q_(CHECK IF VERIFIABLE RECORD_^1_(LDA-_#3,Q_^1_(ALS_$1_^1_(SAP_$1_^1_(RAO-_#VERREC,I_^1_(RTJ_$ONECHR_+CHECK IF BLOCK EXHAUSTED._^1_(LDA-_#FLAGS,I_^1_(ALS_$2_0SEE IF BLOCK IS EMPTY_^1_(SAP_$SEEVAR_^1_(RTJ_$GETBLK_^1_(JMP*_#SETADR_^1*_]_^1*_]_^1SEEVAR_!LDA-_€€#FLAGS,I_^1_(ALS_$6_0CHECK IF VARIABLE BLOCKING_^1_(SAM_$VARY_^1*_]_^1_(LDA-_#MTF+2,I_*FIXED BLOCKING_^1_(AND-_#LPMASK+12_^1_(ADD_$LSTREC_+NEXT DATA RECORD_^1_(STA_$LSTREC_^1_(STA-_#BLKCNT,I_^1_(JMP*_#SETADR_^1*_]_^1VARY_#ENA_$4_^1_(ADD-_#BLKCNT,I_)SKIP NEXT RECORD'S LENGTH WORDS._^1_(STA-_#BLKCNT,I_^1*_]_^1SETADR_!JMP-_#(EXTSR)_^1_(BSS_$FLDBAS(1)_^1_(EJT_^1SETRB_"NUM_$0_^1*_]_^1* €€ SET TRBCNT TO ITS RIGHT POSITION ON THAT FIELD._^1*_]_^1_(LDA-_#FLAGS,I_^1_(AND-_#ONEBIT+10_(RIGHT ADJUSTED FIELD ?_^1_(SAN_$R1_^1*_]_^1_(LDA*_#FROM1_,LEFT ADJUSTED._^1_(STA-_#TRBCNT,I_^1_(JMP*_#(SETRB)_^1*_]_^1R1_%LDQ-_#FLAGS,I_^1_(QLS_$7_0OVERPUNCH ON THAT FIELD ?_^1_(ENA_$1_^1_(SQP_$1_^1_(CLR_$A_0OVERPUNCH. TRBCNT MOVES 1 LEFT._^1_(ADD*_#TO1_^1_(SUB-_#FLDCNT,I_^1_(STA-_#TRBCNT,€€I_^1_(JMP*_#(SETRB)_^1_(SPC_$5_^1NEEDED_!NUM_$0_^1*_]_^1* SUBROUTINE CHECKS IF CURRENT FIELD IS ACTUALLY ON TAPE,_^1* OR IT WAS SKIPPED AT OUTPUT TIME. IN THAT CASE, THE_^1*_!CORRESPONDING FIELD IS JUST FILLED WITH THE DEFAULT_^1* CHARACTER._^1*_]_^1_(LDA-_#FLDCNT,I_)IF NOTHING IN THE FIELD_^1_(SAZ_$NOTON_^1_(LDQ*_#FLDBAS_^1_(LDA-_#1,Q_.IF BIT 11 OF WORD 1 IN FORMAT IS ON_^1_(ALS€€_$4_0THAT FIELD WAS SKIPPED._^1_(SAM_$NOTON_^1_(RTJ_$ONECHR_+SEE IF '1C' IS FIRST CHARACTER._^1_(SAZ_$1_0IF YES,FIELD WAS OMMITED._^1_(JMP*_#(NEEDED)_)'FF' IS NOT POSSIBLE NOW._^1NOTON_"JMP_$NWFLD_^1FROM1_"NUM_$0_^1TO1_$NUM_$0_^1_(EJT_^1ZEROS_"NUM_$0_^1*_]_^1* FILL CURRENT FIELD WITH BLANKS OR ZEROES._^1*_!ASSUMES 'FROM1' AND 'TO1' ALLREADY SET,_^1*_!FLDBAS TO POINT TO CURRENT FIE€€LD IN FORMAT._^1*_]_^1_(RTJ*_#SETFIL_+DEFAULT CHARACTER_^1_(RTJ*_#FILLIN_^1_(LDQ*_#FLDBAS_^1_(LDA-_#1,Q_^1_(AND-_#ONEBIT+11_(CHECK IF IGNORED_^1_(SAZ_$NOIGNR_^1*_]_^1_(LDQ-_#FLAGS,I_^1_(ENA_$-1_^1_(QLS_$6_0IF FIXED RECORDING,BACKSPACE_^1_(SQP_$1_0ONLY 1 CHARACTER_^1_(ENA_$-2_^1_(ADD-_#BLKCNT,I_^1_(STA_$LSTDTA_^1_(JMP*_#(ZEROS)_^1*_]_^1NOIGNR_!LDA-_#FLAGS,I_^1_(AND-_#ZROBIT+10_(DEFA€€ULT:LEFT ADJUSTED FIELD_^1_(STA-_#FLAGS,I_^1*_]_^1_(LDQ*_#FLDBAS_^1_(LDA-_#1,Q_^1_(ALS_$3_^1_(AND-_#LPMASK+3_)TAKE DATA TYPE_^1_(INA_$-5_^1_(SAP_$NUMER1_+NUMERIC FIELD_^1*_]_^1_(LDA-_#1,Q_^1_(ARS_$2_^1_(AND-_#LPMASK+3_)CHECK AUTO FUNCTION IN ALPHA FIELD_^1_(INA_$-1_^1_(SAN_$SCAN_-NO AUTO FUNCTION. LEFT ADJUSTED_^1_(JMP*_#RGHTDJ_+AUTO FUNCTION. RIGHT ADJUSTED_^1*_]_^1NUMER1_!LDA-_#1€€,Q_^1_(ARS_$2_^1_(AND-_#LPMASK+3_)CHECK AUTO FUNCTION IN NUMERIC_^1_(INA_$-1_^1_(SAZ_$SCAN_-AUTO FUNCTION. LEFT ADJUSTED_^1*_]_^1RGHTDJ_!LDA-_#FLAGS,I_^1_(EOR-_#ONEBIT+10_^1_(STA-_#FLAGS,I_*SET BIT 10._^1*_]_^1SCAN_#LDQ*_#FLDBAS_^1_(LDA-_#1,Q_.IF VARIABLE RECORDING SPECIFIED_^1_(AND-_#ONEBIT+12_(IN FORMAT,NO NEED TO SCAN ._^1_(SAZ_$SETSCN_^1_(JMP*_#RSTBLC_^1*_]_^1SETSCN_!LDA-_#2,Q_€€.IF RESEQUENCING IN FORMAT_^1_(ALS_$1_0IS FILL CHAR. SPECIFIED_"07*C1454_^1_(SAM_$1_K07*C1454_^1_(JMP*_#RSTBLC_+NO FILL - RETURN_*07*C1454_^1_(ALS_$15_/ANALYZE FIELD_-07*C1454_^1_(SAP_$NORSQ_^1_(LDA-_#3,Q_.THEN TAKE RIGHT SIDE OF WORD 3._^1_(JMP*_#SETDIR_^1NORSQ_"LDA-_#3,Q_.ELSE TAKE THE LEFT SIDE_^1_(ARS_$8_^1SETDIR_!AND-_#LPMASK+8_^1_(STA-_#FILCHR,I_^1_(LDQ-_#FLAGS,I_*SET SCANNIN€€G DIRECTION_^1_(QLS_$5_0Q IS POSITIVE IF LEFT ADJUSTED FIELD_^1_(LDA-_#TEMP1,I_^1_(SQM_$1_^1_(LDA*_#LSTDTA_^1_(STA-_#BLKCNT,I_^1*_]_^1_(ENA_$1_^1_(SQM_$1_^1_(ENA_$-1_^1_(STA*_#MYINCR_^1*_]_^1*_]_^1SCANIT_!RTJ_$ONECHR_+TAKE THAT BYTE_^1*_BNOTE: TROUBLES CAN ARISE IF A FIELD_^1*_BIS SPANNED. BLOCK SHOULD CONTAIN_^1*_BONLY INTEGRAL FIELDS._^1_(EOR-_#FILCHR,I_^1_(SAN_$RSTBLC_+IF SCAN C€€OMPLETE_^1*_]_^1_(LDA-_#FLDCNT,I_^1_(INA_$-1_^1_(STA-_#FLDCNT,I_^1_(SAZ_$RSTBLC_+IF ONLY FILL CHARACTERS IN FIELD_^1*_]_^1_(LDA-_#BLKCNT,I_^1_(ADD*_#MYINCR_^1_(STA-_#BLKCNT,I_^1_(JMP*_#SCANIT_+SCAN ON._^1*_]_^1RSTBLC_!LDA-_#FLAGS,I_^1_(AND-_#ONEBIT+10_(RIGHT JUSTIFIED FIELD ?_^1_(SAN_$BACK_^1*_]_^1_(LDA-_#TEMP1,I_*LEFT ADJUSTED FIELD.START FROM_^1_(STA-_#BLKCNT,I_)BEGINNING._^1BACK€€_#JMP*_#(ZEROS)_^1_(SPC_$5_^1SETFIL_!NUM_$0_^1*_]_^1* SET DEFAULT CHARACTER IN CURRENT FIELD._^1*_]_^1_(LDQ*_#FLDBAS_^1_(LDA-_#BLKCNT,I_^1_(STA-_#TEMP2,I_^1_(LDA-_#1,Q_.DATA TYPE_^1_(ALS_$3_^1_(AND-_#LPMASK+3_^1_(INA_$-6_^1_(SAP_$1_^1_(JMP*_#NOTNUM_*NOT NUMERIC._^1*_]_^1_(LDA-_#1,Q_^1_(ALS_$4_0NUMERIC FIELD. IGNORED ?_^1_(SAP_$LOOKIN_+NOT IGNORED._^1_(ALS_$2_^1_(SAM_$1_0IGNORED+BL€€ANK IN NUMERIC FIELD_^1_(JMP*_#NUMRIC_+ELSE SELECT $30._^1_(JMP*_#NOTNUM_^1LOOKIN_!RTJ_$ONECHR_^1_(SAN_$1_^1_(JMP*_#NUMRIC_+IF ONLY FIELD SEPARATOR_^1_(INA_$-$20_-IS IT BLANK NOW ?_^1_(SAN_$NUMRIC_+NO. ASSUMED DIGIT._^1_(LDQ_$FLDBAS_+IF BLANK, LOOK AT LAST CHARACTER,_^1*_BBECAUSE BLANK CAN ALSO BE_^1*_ATHE FILLING CHARACTER AND DIGITS_^1*_BCAN FOLLOW._^1_(LDA-_#(ZERO),Q_^1_(ARS_$8_€€^1_(ADD-_#BLKCNT,I_^1_(LDQ-_#FLAGS,I_^1_(QLS_$7_^1_(SQP_$1_0SKIP IF NO OVERPUNCH_^1_(INA_$-1_^1_(STA-_#BLKCNT,I_)FULL-LENGTH FIELD ON TAPE_^1_(RTJ_$ONECHR_^1_(INA_$-$20_^1_(SAZ_$NOTNUM_^1*_]_^1NUMRIC_!ENA_$$30_^1_(JMP*_#SETIT_^1NOTNUM_!ENA_$$20_^1SETIT_"STA-_#FILCHR,I_^1_(LDA-_#TEMP2,I_*RESTORE BLKCNT_^1_(STA-_#BLKCNT,I_^1_(JMP*_#(SETFIL)_^1_(SPC_$5_^1FILLIN_!NUM_$0_^1*_]_^1* FILL €€CURRENT FIELD WITH THE DEFAULT CHARACTER._^1*_]_^1_(LDA-_#TRBCNT,I_^1_(STA-_#SHIFTS,I_)TEMPORARY SAVING_^1FILOOP_!LDA-_#FILCHR,I_^1_(RTJ*_#PUSHIN_^1_(LDA-_#TRBCNT,I_^1_(SUB_$TO1_^1_(SAP_$DONE_^1_(RAO-_#TRBCNT,I_^1_(JMP*_#FILOOP_^1*_]_^1DONE_#LDA-_#SHIFTS,I_^1_(STA-_#TRBCNT,I_^1_(JMP*_#(FILLIN)_^1_(BSS_$MYINCR(1),LSTDTA(1)_^1_(SPC_$10_^1PUSHIN_!NUM_$0_^1*_]_^1* INSERT THE CHARACTER€€ PASSED IN A AT THE 'TRBCNT' LOCATION_^1*_"IN TRB._^1*_]_^1_(SETQ_#TRBCNT_+TAKE WORD FROM TRB._^1_(STQ*_#PUSTMP_+SAVE ITS ADDRESS._^1_(ALS_$8_^1_(LDQ-_#TRBCNT,I_^1_(QLS_$15_^1_(SQP_$EVEN_^1_(LDQ*_#(PUSTMP)_^1_(LRS_$8_^1_(ALS_$8_^1_(JMP*_#PUSH_^1*_]_^1EVEN_#LDQ*_#(PUSTMP)_^1_(QLS_$8_^1_(LRS_$8_^1PUSH_#STA*_#(PUSTMP)_^1_(JMP*_#(PUSHIN)_^1*_]_^1_(BSS_$PUSTMP(1)_^1_(EJT_^1_(EJT_^1*****€€*******************************************************_^1*_Y*_^1*_"IDENTIFY FORMAT, BASED ON INPUT DATA. RETURNS_(*_^1*_%WITH FORMAT NUMBER IN Q, OR EXITS TO ERROR._'*_^1*_Y*_^1************************************************************_^1*_Y*_^1FORMAT_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(LDA-_#TABLEN,I_)SEE IF SINGLE FORMAT SPECIFIED._^1_(SAN_$MORE_^1*_]_^1_(LDQ-_#FMT1€€,I_+YES. TAKE IT AND RETURN._^1_(JMP*_#HEDR5_^1*_]_^1MORE_#RTJ_$ONECHR_^1_(LDA-_#FLAGS,I_^1_(ALS_$2_^1_(SAP_$MORE1_^1_(RTJ_$GETBLK_^1MORE1_"LDQ-_#BLKCNT,I_)COPY CURSOR ON DATA BLOCK._^1_(STQ-_#TEMP1,I_^1_(LDA-_#STRPOS,I_)IF FIXED LENGTH ON TAPE,_^1_(SAP_$1_0JUST SET THE COLUMN # AND IDENTIFY._^1_(JMP*_#FIXED_^1*_]_^1*_]_^1SEEFLD_!INA_$-1_^1_(SAN_$1_^1_(JMP*_#THAT1_,THAT FIELD IDENT€€IFIES FORMAT._^1_(STA*_#FIELDS_+# OF END-OF-FIELD MARKS TO PASS._^1*_]_^1SEEK_#RTJ_$ONECHR_+SKIP FIELDS_^1_(RAO-_#BLKCNT,I_^1_(LDQ-_#FLAGS,I_^1_(QLS_$2_0BLOCK OVERFLOW ?_^1_(SQP_$SEEK1_^1_(RTJ-_#(RTNSR)_^1_(JMP_$CHKFLG_+YES._^1SEEK1_"QLS_$1_^1_(SQM_$1_^1_(JMP*_#SEEK_-NO._^1*_]_^1_(LDA*_#FIELDS_+YES._^1_(JMP*_#SEEFLD_^1*_]_^1FIXED_"AND-_#LPMASK+15_(CUT SIGN BIT._^1_(INA_$-1_^1_(ADD-€€_#BLKCNT,I_^1_(STA-_#BLKCNT,I_)SET CURSOR TO RIGHT COLUMN._^1*_]_^1THAT1_"RTJ*_#SEARCH_+NOW BLKCNT POINTS TO STRING._^1_(JMP*_#NOSUCH_+GHOST STRING IF RETURNS HERE._^1_(LDA-_#TEMP1,I_^1_(STA-_#BLKCNT,I_)RESET DATA CURSOR._^1*_]_^1*_]_^1HEDR5_"TRQ_$A_^1_(SETQ_#TRBCNT,+8_(FORMAT NUMBER'S WORD_^1_(STA-_#(ZERO),Q_^1_(EOR*_$LSTFRM_,COMPARE WITH LAST FORMAT._^1_(SAZ_%CALLIT_,EQUAL_^1*_]_€€^1_(EOR*_$LSTFRM_,RESTORE CURRENT FORMAT_^1_(STA*_$LSTFRM_^1_(LDA-_#ONEBIT+13_^1CALLIT_!INQ_$-4_^1_(STA-_#(ZERO),Q_)WITH OR WITHOUT 'FC' BIT._^1_(LDA*_$LSTFRM_^1_(EOR-_#ONEBIT+15_^1_(TRA_$Q_^1_(RTJ-_#(GFCORE)_^1_(JMP-_#(EXTSR)_^1*_]_^1NOSUCH_!LDA-_#TEMP1,I_*CHECK IF ALL THE BLOCK IS PADDED_^1_(STA-_#BLKCNT,I_)FROM LAST RECORD ON._^1PADLOP_!RTJ_$ONECHR_^1_(RAO-_#BLKCNT,I_^1_(LDQ-_#F€€LAGS,I_^1_(QLS_$2_^1_(SQP_$SEEPAD_^1*_]_^1_(JMP_$OUT_.IF END OF BLOCK,ONLY PADDING CHAR._^1*_BWAS FOUND. THAT IS THE LAST BLOCK_^1SEEPAD_!EOR-_#MTF,I_,CHECK IF PADDING CHARACTER NOW._^1_(AND-_#LPMASK+8_^1_(SAN_$UNABLE_+IF NOT,LAST BLOCK HAD GHOST DATA_^1_(JMP*_#PADLOP_^1*_]_^1UNABLE_!ENA_$28_0ILLEGAL FORMAT_^1_(RTJ+_#PRTMSG_^1_(ENQ_$MOTION_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$9002_,BACKSPAC€€E 2 BLOCKS_^1_(JMP_$QUIT_^1_(BSS_%FIELDS(1),LSTFRM(1)_^1_(EJT_^1************************************************************_^1*_!THE 'SEARCH' SUBROUTINE._>*_^1*_Y*_^1*_!CALLING SEQUENCE:_E*_^1*_Y*_^1*_'RTJ_'SEARCH_@*_^1*_Y*_^1*_!THE TEXT IS UP TO 6 CHARACTERS._7*_^1*_!THE SUBROUTINE LOOKS IN THE FORMATS TABLE_-*_^1*_!FOR AN ENTRY CORRESPONDING TO THE GIVEN_/*_^1*_!TEXT OR ANY INIT€€IAL SUBSTRING OF IT. IF FOUND,_(*_^1*_!RETURNS TO THE SECOND INSTRUCTION AFTER THE_+*_^1*_!'RTJ' WITH Q=NUMBER OF CORRESPONDING FORMAT._**_^1*_!IF NOT FOUND IN TABLE,RETURNS TO FIRST INSTRUCTION_#*_^1*_!AFTER THE 'RTJ'. (IT CAN_"BE A JUMP INSTRUCTION_$*_^1*_!TO AN ERROR ROUTINE)._A*_^1*_Y*_^1************************************************************_^1*_]_^1SEARCH_!NUM_$0_^1_(LDQ€€-_#BLKCNT,I_^1_(STQ*_#TXTPNT_^1_(LDA-_#TABTOP,I_^1_(INA_$3_^1*_]_^1SRCH1_"STA*_#ENTRY_,POINTER TO CURRENT ENTRY_^1_(INA_$1_^1_(STA*_#TABNOW_+CURRENT WORD TO CHECK_^1_(LDQ*_#TXTPNT_^1_(STQ-_#BLKCNT,I_^1*_]_^1_(SUB-_#TABTOP,I_)SEE IF TABLE EXHAUSTED_^1_(SUB-_#TABLEN,I_^1_(INA_$-2_^1_(SAM_$SRCH5_^1*_]_^1SRCH2_"LDA*_#TXTPNT_+RESTORE TRBCNT_^1_(STA-_#BLKCNT,I_^1_(JMP*_#(SEARCH)_)NOT FOU€€ND._^1*_]_^1SRCH5_"LDA*_#(ENTRY)_*THAT ENTRY'S LENGTH_^1_(ALS_$3_^1_(AND-_#LPMASK+3_^1SRCH6_"STA*_#LENGTH_+SAVE IT_^1_(INA_$-1_^1_(SAP_$SRCH8_,LENGTH\ 0?_^1*_]_^1SRCH7_"LDA*_#(ENTRY)_*NO. THAT ENTRY IS OK._^1_(AND-_#LPMASK+13_(FORMAT NUMBER_^1_(TRA_$Q_0IN Q_^1_(SAZ_$1_K07*C1453_^1_(RAO*_#SEARCH_^1_(JMP*_#SRCH2_,RETURN_^1*_]_^1SRCH8_"RTJ_$ONECHR_^1_(ALS_$8_^1_(STA*_#SAVCHR_^1_(RAO-_€€#BLKCNT,I_^1_(RTJ_$ONECHR_^1_(EOR*_#SAVCHR_^1_(EOR*_#(TABNOW)_^1_(SAN_$SRCH9_^1*_]_^1_(RAO*_#TABNOW_+THEY ARE EQUAL_^1_(RAO-_#BLKCNT,I_^1_(LDA*_#LENGTH_^1_(INA_$-2_^1_(JMP*_#SRCH6_^1*_]_^1SRCH9_"LDQ*_#LENGTH_+IF LENGTH IS 1_^1_(INQ_$-1_^1_(SQN_%SRCH4_-ENTRY DOES NOT CORRESPOND._^1_(AND-_#NZERO+8_*CUT RIGHT SIDE._^1_(SAN_$1_^1_(JMP*_#SRCH7_,FOUND HERE._^1*_]_^1SRCH4_"LDA*_#(ENTRY)_*€€GO TO NEXT ENTRY;_^1_(ARS_$13_/LENGTH_^1_(AND-_#LPMASK+3_)ONLY 3 LOW BITS_^1_(INA_$3_0RIGHT DISPLACEMENT_^1_(ARS_$1_0/2_^1_(ADD*_#ENTRY_,+ BASE ADDRESS_^1_(JMP*_#SRCH1_^1_(BSS_$TXTPNT(1),ENTRY(1),TABNOW(1),LENGTH(1),SAVCHR(1)_^1_(EJT_^1************************************************************_^1*_Y*_^1*_"OPNBCH-SUBROUTINE TO OPEN A NEW BATCH,IF NEEDED._$*_^1*_#THE NEW BATCH NUMB€€ER IS SAVED AND PRINTED OUT_'*_^1*_#AT END OF WORK._E*_^1*_Y*_^1************************************************************_^1OPNBCH_!NUM_$0_^1_(RTJ-_#(ENTSR)_,SAVE RETURN ADDRESS_^1_(RTJ+_#SETMOV_^1_(ENA_$5_^1_(STA-_#TRBCNT,I_)BEGINNING OF EXTENSION AREA_^1_(CLR_$A_^1_(STA-_#FTOB,I_^1_(STA*_$LSTFRM_,FIRST FORMAT OF BATCH._^1_(ENA_$1_^1_(STA-_#TRACKS,I_^1*_]_^1_(LDQ-_#TRB,I_,TRB A€€DDRESS_^1_(LDA-_#ONEBIT+15_(FIRST RECORD OF BATCH_^1_(STA-_#4,Q_^1_(CLR_$A_^1_(STA-_#6,Q_.PREVIOUS RECOR'S ADDRESS_^1_(STA-_#RECRDS,I_+TOTAL # OF RECORDS IN BATCH_^1_(STA-_#VERREC,I_^1_(STA-_#BCHBLK,I_)BLOCKS OF CURRENT BATCH_^1*_]_^1_(LDQ-_#SST_.EST ADDRESS_^1_(LDA-_#DSKST,Q_*DISKS STATUS_^1_(STA-_#SST+STEMP_^1*_]_^1NXTDSK_!CLR_$Q_0START FROM BIT 9_^1LSTUSD_!LDA-_#SST+STEMP_^1_(AN€€D-_#ONEBIT+8,Q_'THAT DISK_^1_(SAN_$FNDLST_-WAS THE LAST ?_^1_(INQ_$1_0NO._^1_(JMP*_#LSTUSD_+TRY NEXT ONE._^1*_]_^1FNDLST_!INQ_$-3_^1_(SQN_$CNGLST_+IS IT THE SYSTEM DISK ?_^1_(LDA-_#SST+STEMP_(YES._^1_(EOR-_#ONEBIT+15_(CHANGE BIT 15 SO A BATCH WILL_^1_(STA-_#SST+STEMP_(BE ASSIGNED HERE ONCE EVERY 2_^1_(SAM_$1_0CYCLES._^1_(ENQ_$-1_^1_(INQ_$-3_^1*_]_^1CNGLST_!INQ_$4_^1_(LDA-_#SST+STEM€€P_^1_(AND_$=N$F0FF_^1_(EOR-_#ONEBIT+8,Q_'CHANGE LAST USED DISK_^1_(STA-_#SST+STEMP_^1_(AND-_#ONEBIT+4,Q_'SEE IF THAT DISK IS UP_^1_(SAZ_$ISFULL_+YES._^1*_]_^1ALLDSK_!LDQ-_#SST_.EST ADDRESS_^1_(LDA-_#DSKST,Q_^1_(EOR-_#SST+STEMP_(WHERE ALL DISKS CHECKED?_^1_(SAN_$2_^1_(JMP_$NODISK_+TERMINATE THE FUNCTION_^1_(JMP*_#NXTDSK_^1*_]_^1ISFULL_!LDA-_#SST+STEMP_(CHECK IF DISK IS FULL_^1_(AND-€€_#ONEBIT,Q_^1_%SAZ NFUL_OP0*H0004_^1_(JMP*_#ALLDSK_+YES_^1*_]_^1NFUL_!LDA- BATCH,I_LP0*H0004_^1_%AND- LPMASK+12_ILJL001_^1_%STA- BATCH,I_KLJL001_^1_%CLR A_QLJL001_^1_(LRS_$4_0NO. SET LOGICAL UNIT_^1_(EOR-_#BATCH,I_^1_(STA-_#BATCH,I_*INSERT IN ATT_^1*_]_^1_(LDQ-_#SST_.UPDATE DISK STATUS WORD_^1_(LDA-_#SST+STEMP_(IN EST_^1_(STA-_#DSKST,Q_^1*_]_^1_(RTJ_$G1TRT_^1_(SAN_$FRSTRK_+FIRST €€TRACK ACHIEVED_^1_(JMP_$NODISK_^1*_]_^1FRSTRK_!STA-_#FTOB,I_+SAVE ITS ADDRESS_^1_(LDA_#=X14*96_*FREE WORDS IN FIRST TRACK._^1_(STA-_#AVLTK,I_^1_(RTJ-_#(WRTATT)_)WRITE ATT ON DISK_^1_(LDA-_#FTOB,I_^1_(INA_$2_^1_(STA-_#CURTRK,I_)CURRENT TRACK'S BEGINNING ADDRESS_^1_(INA_$-2_^1_(EOR-_#ONEBIT_^1_(RTJ+_#LINKTR_^1_(LDA-_#SST+CLOCKS_^1_(STA-_#TCLK,I_+START TIME OF CURRENT RUN_^1_(CLR_$Q_^€€1_(STQ_$NEWREC_+DISPLACEMENT OF 1'ST RECORD IN DTL_^1_(STQ-_#TEMP1,I_*# OF RECORDS IN BATCH_^1_(STQ-_#TACTME,I_)ACCUMULATED TIME_^1_(DVI_$=N60_^1_(ADD-_#SST+CLOCKS_^1_(STA-_#TSBCH,I_*START TIME OF BATCH_^1_(LDA_$=N$999_+OPERATOR NUMBER_^1_(STA-_#TOPR,I_^1_(CLR_$Q_0WRITE DTL WORDS 91-95_^1_(RTJ_$ATT91_^1RETRY_"LDA-_#JOBNDX,I_)INSERT AN ENTRY IN ABT_^1_(ENQ_$$10_.ENTRY, VERIFY ACCORD€€ING TO FORMAT_^1_(LLS_$8_0JOB INDEX IN Q_^1_(STQ*_#WORD1A_^1_(LDA-_#BATCH,I_^1_(STA*_#WORD2A_+BATCH #_^1_(LDA-_#FTOB,I_^1_(STA*_#WORD3A_+FIRST TRACK._^1_(RTJ-_#(SPILL)_^1WORD1A_!NUM_$0_^1WORD2A_!NUM_$0_^1WORD3A_!NUM_$0_^1_(JMP*_#RETRY_^1*_]_^1_(STA-_#ABTIDX,I_^1SPACOK_!SAM_$1_^1_(JMP*_#NEW1_-A\0; ENTRY INSERTED_^1_(LDA-_#BATCH,I_*EXISTING ENTRY_^1_(AND-_#LPMASK+12_^1_(RTJ+_#DB_^1_(€€INA_$1_0INCREASE BATCH #._^1K1000_"SUB_$=N1000_+IS IT IN LIMITS?_^1_(SAM_$BTCHOK_^1_(JMP_$BCHOVR_+NO; BATCH # OVERFLOW._^1*_]_^1BTCHOK_!ADD*_#K1000+1_^1_(RTJ+_#BD_/BACK TO DECIMAL_^1_(TRA_$Q_^1_(LDA-_#BATCH,I_*TAKE LUN._^1_(AND-_#NZERO+12_^1_(EAQ_$A_0MERGE WITH BATCH #._^1_(STA-_#BATCH,I_^1_(JMP*_#RETRY_,GO AGAIN TO SPILL._^1*_]_^1*_]_^1NEW1_#LDA-_#BATCH,I_^1_(AND-_#LPMASK+12_^1_(C€€LR_$Q_/PREPARE FOR PRINTING._^1_(LLS_$8_^1_(QLS_$4_^1_(LLS_$4_^1_(ADQ_$=A00_^1_(STQ*_#MSG2_^1_(CLR_$Q_^1_(LLS_$12_^1_(ADQ_$=A0_^1_(STQ*_#MSG2+1_^1_(LDQ-_#AINT,I_^1_(INQ_$4_^1_(LDA*_#MSG2_^1_(STA-_#(ZERO),Q_^1_(LDA*_#MSG2+1_^1_(STA-_#1,Q_^1_(RTJ*_#CURSOR_^1_(ENQ_$WRITEF_^1_(RTJ-_#(SUPRW)_^1_(ADC_$0_^1_(NUM_$2_^1*_]_^1_(CLR_$A_^1_(STA-_#LSTHDR,I_^1*_]_^1_(LDA-_#FLAGS,I_^1_(AND-_#LPMA€€SK+10_(DATA BLOCK IS EMPTY._^1_(EOR-_#ONEBIT+13_^1_(EOR-_#ONEBIT+11_^1_(STA-_#FLAGS,I_*CURRENT BATCH IS OPEN_^1*_]_^1_(LDA-_#FTOB,I_+CALCULATE DTL ADDRESS_^1_(INA_$2_^1_(CLR_$Q_^1_(RTJ-_#(CLCDWA)_^1_(STQ-_#CURDA,I_*SAVE IT AS FIRST HEADER'S ADDRESS_^1_(STA-_#CURDA+1,I_^1*_]_^1_(JMP-_#(EXTSR)_*RETURN_^1MSG2_#ALF_$*,1234*_^1_)SPC_#10_^1CURSOR_!NUM_$0_^1*_]_^1* SET CURSOR ON CRT_^1*_€€]_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1* 1 CARD DELETED_N07*C1461_^1_(LDA-_#LISTLU,I_)IS LIST UNIT CRT ?_^1_(SAN_$NOTEND_,NO._^1*_]_^1_(RTJ-_#(DISPLY)_^1_(ADC_$SETDIS_^1_(RTJ+_#CCKEND_^1_(SAM_$NOTEND_^1*_]_^1_(ENQ_$CRTMOT_2END OF SCREEN NOW._^1_(RTJ-_#(SUPRW)_*CLEAR THE SCREEN._^1_(NUM_$$2000_^1NOTEND_!JMP-_#(EXTSR)_^1_(EJT_^1CLOSEB_!NUM_$0_^1*_]_^1* SUBROUTINE TO CLOSE CURRENT BA€€TCH._^1*_"USED WHEN BATCH IS FULL._^1*_]_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(LDA-_#FLAGS,I_^1_(AND-_#ONEBIT+11_(IS THAT BATCH OPEN ?_^1_(SAN_$1_K07*C1461_^1_(JMP*_#GOOUT_G07*C1461_^1_(LDA-_#RECRDS,I_)ANY RECORDS IN BATCH ?_^1_(SAN_$GOIN_^1REUPD_"LDA-_#ABTIDX,I_D07*C1461_^1_(STA*_#P1_/NO - DELETE ABT ENTRY_$07*C1461_^1_(SET_$Q_K07*C1461_^1_(RTJ-_#(SPILL)_*AND PRINT MESSAGE_)07*C1€€461_^1P1_%NUM_$0,0,0_G07*C1461_^1_(JMP*_#REUPD_,'PREVIOUS BATCH SKIPPED'_!07*C1461_^1_(ENA_$96_J07*C1461_^1_(RTJ+_#PRTMSG_F07*C1461_^1_(CLR_$A_0RELEASE THAT TRACK_^1_(RTJ+_#LINKTR_^1GOOUT_"JMP-_#(EXTSR)_^1*_]_^1GOIN_#SETQ_#LSTHDR_^1_(LDA-_#CURDA+1,I_(NEXT ADDRESS + LAST RECORD BIT_^1_(EOR-_#ONEBIT+15_^1_(STA-_#2,Q_^1_(LDA-_#CURDA,I_^1_(EOR-_#3,Q_^1_(STA-_#3,Q_^1*_]_^1_(RTJ_$ONDISK_€€+WRITE LAST DATA ON DISK._^1_(FIX_$TAPEIN_^1_(AND-_#LPMASK+11_C07*C1463_^1_(AAQ_$A_^1_(INA_$-FRZLEN_^1_(STA*_#POINT_,ATT IMMAGE ON BUFFER IS CLEARED_^1_(CLR_$A_^1_(ENQ_$FRZLEN-1_^1CLRLOP_!STA*_#(POINT),Q_^1_%SQZ TRNSFR_'STOP WHEN BEGINNING IS REACHED_%*CYB352_^1_(INQ_$-1_^1_(JMP*_#CLRLOP_^1*_]_^1TRNSFR_!LDQ*_#POINT_,NEW ATT BASE ADRESS_^1_(LDA-_#FTOB,I_^1_(STA-_#FTOB,Q_^1_(INA_$1_€€0FIRST TRACK, SECTOR 1_^1_(STA*_#SECTOR_^1*_]_^1_(LDA-_#JOBNDX,I_^1_(STA-_#JOBNDX,Q_^1*_]_^1_(LDA-_#AVLTK,I_^1_(STA-_#AVLTK,Q_^1*_]_^1_(LDA-_#LASTDA,I_^1_(STA-_#CURDA,Q_^1_(LDA-_#LASTDA+1,I_^1_(STA-_#CURDA+1,Q_^1*_]_^1_(LDA-_#CURDA,I_^1_(STA-_#NEXTDA,Q_^1_(LDA-_#CURDA+1,I_^1_(STA-_#NEXTDA+1,Q_^1*_]_^1_(LDA-_#ABTIDX,I_^1_(STA-_#ABTIDX,Q_^1*_]_^1_(LDA-_#VERREC,I_^1_(STA-_#VERREC,Q_^1€€*_]_^1_(LDA-_#RECRDS,I_^1_(STA-_#RECRDS,Q_^1*_]_^1_(LDA-_#BATCH,I_^1_(STA-_#BATCH,Q_^1_(ARS_$12_^1_(STA*_#LUNIT_^1_(STQ*_#MEMADR_^1_(ENQ_$-FRZLEN_^1_(STQ*_#WORDS_^1_(RTJ-_#(WRTSEC)_^1MEMADR_!NUM_$0_^1SECTOR_!NUM_$0_^1WORDS_"NUM_$0_^1LUNIT_"NUM_$0_^1*_]_^1_(FREE_#TAPEIN_^1_%LDQ* POINT_(RESTORE END-OF-BLOCK FLAG_+*CYB352_^1_%SET A_,IN CASE IT WAS DESTROYED_,*CYB352_^1_%STA- (ZERO),Q€€_$WHEN THE ATT PART OF THE_,*CYB352_^1_%STA- 1,Q_*INPUT BUFFER WAS CLEARED_,*CYB352_^1CHNGST_!LDA-_#ABTIDX,I_D07*C1461_^1_(STA*_#SETABT_^1_(LDA-_#JOBNDX,I_^1_(ARS_$8_^1_%AND- LPMASK+8_JLJL001_^1_(EOR_$=N$B000_*COMPLETED, VERIFY ACCORDING TO FORMA_^1_(STA*_#SETABT+1_^1_(SET_$Q_0UPDATE ABT/W1_-08*C1500_^1_(RTJ-_#(SPILL)_^1SETABT_!NUM_$0,0,0_^1_(JMP*_#CHNGST_^1*_]_^1_(ENQ_$1_/READ ATT€€ 91-95_^1_(RTJ*_#ATT91_^1_(LDA-_#RECRDS,I_^1_(STA-_#TEMP1,I_)TOTAL # OF RECORDS_^1_(LDA-_#SST+CLOCKS_%CURRENT TIME_^1_(SUB-_#TCLK,I_^1_(STA-_#TACTME,I_(ACCUMULATED TIME_^1_(CLR_$Q_/REWRITE ATT 91-95_^1_(RTJ*_#ATT91_^1_(JMP-_#(EXTSR)_*RETURN_^1_(BSS_$POINT(1)_^1_(EJT_^1ATT91_"NUM_$0_^1*_]_^1* READ OR WRITE ATT WORDS 91-95 ACCORDING TO Q._^1* Q=0 FOR WRITE,_"Q=1 FOR READ_^1*_]_^1_(€€RTJ-_#(ENTSR)_^1_(LDA*_#CN,Q_^1_(STA*_#FUN_^1_(RTJ+_#SETMOV_F07*C1461_^1_(LDA-_#FTOB,I_^1_(ENQ_$91_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#DSKADR_^1_(STA*_#DSKADR+1_^1_(LDA-_#I_^1_(INA_$TOPR_^1_(STA*_#CORADR_^1_(LDA-_#BATCH,I_^1_(ARS_$12_^1_(STA*_#LUN1_^1FUN_$RTJ-_#(WRTDWA)_^1CORADR_!NUM_%0_^1DSKADR_!NUM_$0,0_^1_(NUM_$5 WORDS_^1LUN1_#NUM_$0_^1_(JMP-_#(EXTSR)_^1CN_%RTJ-_#(WRTDWA)_^1_(RTJ-_#(RE€€DDWA)_^1_(SPC_$5_^1NEWTRK_!NUM_$0_^1*_]_^1* SUBROUTINE TO GET A NEW TRACK IF THE LAST ONE_^1*_!WAS FILLED WITH DATA. UPDATES CURTRK,AVLTK,_^1*_!CURDA,CURDA+1._^1*_]_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(LDA-_#TRACKS,I_^1_(INA_$-90_.IF 90 TRACKS ASSIGNED_$07*C1461_^1_(SAM_$LESS90_^1_(RTJ_$CLOSEB_+THEN OPEN A NEW BATCH_^1_(RTJ_$OPNBCH_^1_(RTJ-_#(RTNSR)_^1_(JMP_$EXPAND_^1LESS90_!RTJ€€+_#G1TRT_^1_(SAN_$GOTIT_-GOT A TRACK_/P2*L0005_^1_(RTJ_$CLOSEB_,ELSE CLOSE BATCH_*P2*L0005_^1_(JMP*_#NODISK_,BECAUSE NO TRACKS AVAIL._!P2*L0005_^1*_]_^1GOTIT_"STA-_#CURTRK,I_^1_(RTJ+_#LINKTR_^1_(CLR_$Q_^1_(STQ_$NEWREC_+DISPLACEMENT IN TRACK._^1_(LDA-_#CURTRK,I_^1_(RAO-_#TRACKS,I_^1_(RTJ-_#(CLCDWA)_^1_(STQ-_#CURDA,I_*UPDATE CURRENT DISK ADDRESS._^1_(STA-_#CURDA+1,I_^1*_]_^1_(LDA_#=X€€16*96_*AVAILABLE WORDS IN TRACK._^1_(STA-_#AVLTK,I_^1_(JMP-_#(EXTSR)_^1_(SPC_$5_^1* ERROR ROUTINE. ENTERED WHEN NO DISK IS AVAILABLE FOR_^1*_"OPENING A NEW BATCH OR FOR ADDING RECORDS TO AN_^1*_"OPENED BATCH._^1*_]_^1NODISK_!ENA_$51_3DISK FULL_^1_(RTJ+_#PRTMSG_^1_(JMP*_#OUT1_IP2*L0005_^1OUT_$RTJ_$CLOSEB_^1OUT1_!RTJ FREBUF_MP1*H0019_^1_(RTJ-_#(EXDFUN)_^1_(JMP-_#(SV)_^1*_]_^1_(SPC_€€$5_^1* ERROR ROUTINE. ENTERED WHEN # OF NEXT BATCH TO BE OPENED_^1*_"IS TOO GREAT._^1*_]_^1*_]_^1BCHOVR_!ENA_$4_1ILLEGAL BATCH NUMBER._^1_(RTJ+_#PRTMSG_^1_%JMP* OUT1_OP1*H0019_^1_(SPC_$5_^1_(EQU_$QUIT(OUT)_^1_(SPC_$5_^1* ERRORS ROUTINE. ENTERED FROM 'FORMAT' WHEN DATA BLOCK_^1*_"IS TOO SHORT (UNABLE TO FILL LAST RECORD)._^1*_]_^1*_]_^1CHKFLG_!ENA_$40_0LAST BLOCK IS TOO SHORT_^1_(€„RTJ+_#PRTMSG_^1_(ENQ_$MOTION_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$9002_,BACKSPACE 2 BLOCKS_^1_(JMP*_#OUT_^1_(EQU_$ENDTP2(*)_^1_(END_$TP2_^__ „PWRTFEX CSY/ P€1_%NAM WRTFEX_'DECK-ID M25 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* WRITE FORMAT WITH EXTENSION TO DISK_^1*_]_^1* DISK RESIDENT OVERLAY CALLD BY OCG PROGRAM_^1*_]_^1*_]_^1*_]_^1* THIS PROGRAM WILL CHECK EXISTENCE OF PREVIOUS FORMAT_^1*€€ WITH THE SAME NO. IF YES WILL CHECK CONSISTENCY AND WILL_^1* TRY TO WRITE OVER THE SAME DISK AREA. IF CURRENT FORMAT IS_^1* LONGER THEN THE OLD ONE OR IT IS A NEW FORMAT DISK SPACE_^1* ON THE CURRENT FORMATS TRACK WILL BE CHECKED._^1* IF NOT SUFFICIENT NEW TRACK WILL BE ASSIGNED AND THE_^1* NEW FORMAT WRITTEN AT THE END OF THE LIBRARY._^1* ALL POINTERS AND DIRECTORIES UPDATED ON D€€ISK AND CORE_^1* WHEN AVAILABLE._^1*_]_^1* THIS SUBROUTINE IS A LOCKED SUBROUTINE AND WILL SERVICE_^1* ONE OPERATION AT A TIME._^1*_]_^1* UPON RETURN COMPLETION CODE AT ATEMP_^1*_]_^1* IF CALLED BY ENTER FORMAT RETURN IS TO REJSUP IN CASE_^1* OF ANY ERRORS OCCURED OR TO SV IF FORMAT WAS WRITTEN._^1*_]_^1*_'=0_'NO ERRORS_^1*_'=1_'RECORD LENGTH ERROR_^1*_'=2_'FMT LINK TABLE FULL_^1*_€€'=3_'DISK FULL_^1*_]_^1_(EJT_^1*_]_^1* ATT EQUATES_^1*_]_^1_(EQU_$ATEMP(73)_^1_(EQU_$PFBA(07)_^1_(EQU_$FMTNO(13)_^1_(EQU_$PI(21)_^1_(EQU_$SUPCOM(36)_^1_(EQU_$FMTBAS(SUPCOM+10)_^1_(EQU_$CALRPI(SUPCOM+6)_^1_(EQU_$BUFF(SUPCOM+10)_^1_(EQU_$ENTRIS(SUPCOM+11)_^1_(EQU_$FLAG(SUPCOM+12)_^1_(EQU_$OCGTRK(SUPCOM+15)_^1_(EQU_$SAVE(SUPCOM+18)_^1_(EQU_$SAVTRK(SUPCOM+21)_^1_(EQU_$FMTLNG(SUPCOM+22)€€_^1_(EQU_$OCGP(SUPCOM+23)_^1_(EQU_$CURENT(SUPCOM+24)_^1_(EQU_$FLDNUM(SUPCOM+25)_^1*_]_^1* TRANSFER VECTOR EQUATES_^1*_]_^1_(EQU_$CLCDWA($90)_^1_(EQU_$EXTSR($92)_^1_(EQU_$GFCORE($9D)_^1_(EQU_$EXDFUN($9F)_^1_(EQU_$REDSEC($A7)_^1_(EQU_$WRTSEC($A8)_^1_(EQU_$REDWRD($A9)_^1_(EQU_$WRTWRD($AA)_^1_(EQU_$RELFOR($AD)_^1_(EQU_$WAIT($B0)_^1_(EQU_$SV($B1)_^1_(EQU_$REJSUP($B2)_^1_(EQU_$ENTPRG($9E€€)_^1_(EQU_%CAM($AE)_^1*_]_^1* OS EQUATES_^1*_]_^1_(EQU_$LPMASK($2),NZERO($12),ONEBIT($23),ZROBIT($33)_^1_(EQU_$SST($47)_^1_(EQU_$STEMP(20)_^1_(EQU_$ZERO($22)_^1*_]_^1_(EXT_$SIFLNK_^1_(EXT_$SILFD_^1_(EXT_$G1TRT_^1_(EXT_$RELTRT_^1*_]_^1_(EJT_^1*_]_^1WRTFEX_!VFD_$N1/1,N1/1,N3/0,X11/EWFX-*_^1_(VFD_$N10/20,N6/1_^1_(NUM_$0,0_^1_(ADC_$WFX-WRTFEX_^1_(ADC_$WFX1-WRTFEX_^1WFX_$CLR_$A_^1_(STA-€€_#FLAG,I_^1*_]_^1LOCKED_!LDA*_#LOCK_-CHECK IF FUNCTION BUSY_^1_(SAZ_$FREE_-SKIP IF FREE_^1_(RTJ-_#(WAIT)_+ELSE WAIT_^1_(JMP*_#LOCKED_^1*_]_^1LOCK_#NUM_$0_0BUSY/FREE FLAG_^1*_]_^1FREE_#RAO*_#LOCK_-LOCK FUNCTION._^1_(LDQ-_#SAVE,I_+FORMAT+EXTENSION SIZE_^1_%SPC 2_^1************* SLS ********_DSLS_^1_%LDA- PFBA,I_'ADD 1 MORE WORD TO LENGTH_+SLS_^1_%INQ 4_,FOR THE SLS BACKWARDS POINTE€€R._%SLS_^1************* SLS ********_DSLS_^1_%SPC 2_^1_(RTJ-_#(CAM)_,CORE REQUEST_^1_(SAZ_$COREOK_+CORE GIVEN_^1_(ENQ_$4_^1_(JMP_$ERROR_^1*_]_^1COREOK_!STQ-_#BUFF,I_+SET_^1_(LDA_$=XBUFF,I_)BACKWARDS_^1_(STA-_#(ZERO),Q_)POINTERS_^1_(LDA-_#1,Q_.BIT ON_^1_(AND-_#LPMASK+15_(FORMAT_^1_(EOR-_#ONEBIT+15_(SECTOR_^1_(STA-_#1,Q_.BUFFER_^1_(INQ_$3_^1_(STQ_$SECCA_^1_(RTJ_$CLCEXT_^1_(LDA-_#SAV€€E,I_^1_(LDQ-_#FLAG,I_^1_(SQZ_$NOTR_^1_(LDA-_#OCGP,I_^1_(ARS_$1_^1NOTR_#TCA_$A_^1_(STA_$SECS_^1_(CLR_$Q_0READ_^1_(LDA-_#OCGTRK,I_)FIRST_^1_(RTJ_$SECIO_,SECTOR_^1*_]_^1_(LDA-_#OCGTRK,I_^1_(RTJ+_#RELTRT_^1*_]_^1_(LDA-_#FLAG,I_+IF 2'ND ENTRY POINT FLAG_^1_(SAN_$MOVEXT_+SKIP TO MOVE EXTENSION_^1_(JMP*_#NOTREV_^1*_]_^1MOVEXT_!RTJ_$CLCEXT_^1_(LDA-_#ATEMP+1,I_(END OF FMT+EXT ADDRESS_^1_(SU€€B-_#ATEMP+2,I_(EXTENSION LENGTH_^1_(INA_$1_^1_(STA-_#SST+STEMP_(SOURCE ADDRESS_^1_(LDQ-_#BUFF,I_+CALCULATE_^1_(LDA-_#3,Q_.DEST_^1_(AND-_#LPMASK+11_(ADDRESS_^1_(STA-_#ATEMP+3,I_^1_(AAQ_$Q_^1_(INQ_$3_^1_(STQ-_#SST+STEMP+1_^1_(LDQ-_#ATEMP+2,I_(EXTENSION LENGTH_^1NXTEXT_!INQ_$-1_^1_(LDA-_#(SST+STEMP),Q_^1_(STA-_#(SST+STEMP+1),Q_^1_(SQZ_$NOTREV_^1_(JMP*_#NXTEXT_^1NOTREV_!LDQ-_#BUFF,I_+S€€ET FMT+EXT_^1_(LDA-_#SAVE,I_+LENGTH IN HEADER_^1_(STA*_#NFL_^1_%SPC 2_^1************* SLS ********_DSLS_^1_%LDQ- BUFF,I_'CALC._^1_%LDA- 3,Q_+LENGTH_^1_%AND- LPMASK+11_%OF_^1_%TCA A_/OWN_^1_%ADD- SAVE,I_,CODE._^1_%SPC 1_^1_%LDQ- $29,I_(IF SLS WAS_^1_%SQZ NOSLS_(SELECTED,_^1_%ADD- FLDNUM,I_$ADD NO. OF FIELDS._^1_%SPC 1_^1NOSLS LDQ- BUFF,I_'CALC_^1_%ADQ- SAVE,I_'THE ADR OF THE_^€€1_%INQ 3_,SLS B.P. LOCATION._^1_%SPC 1_^1_%INA 1_^1_%TCA A_^1_%STA- (ZERO),Q_$STORE SLS B.P._^1_%SPC 1_^1_%RAO- SAVE,I_'BUMP_^1_%RAO* NFL_*LENGTHS._^1_%SPC 1_^1_%LDQ- BUFF,I_^1************* SLS ********_DSLS_^1_%SPC 2_^1_(LDA-_#3,Q_^1_(AND-_#NZERO+12_^1_(EOR-_#SAVE,I_^1_(STA-_#3,Q_^1_(LDA-_#4,Q_^1_(ARS_$6_^1_(AND-_#LPMASK+10_^1_(STA*_#NRL_.( NEW RECORD LENGTH )_^1_(LDA*_#NFL€€_.CONVERT FORMAT LENGTH TO_^1_(INA_$95_/SECTORS._^1_(CLR_$Q_^1N96_$DVI_$=N96_^1_(STA*_#NFLS_-(NEW FORMAT LENGTH SECTORS)_^1_(LDQ-_#BUFF,I_+CHECK IF FORMAT ALREADY_^1_(LDA-_#5,Q_.EXISTS_^1_(AND-_#LPMASK+13_^1_(STA*_#FMTN_-SAVE FORMAT NO._^1_(ADD-_#ONEBIT+15_(ADD RETURN TO CALLER BIT_^1_(TRA_$Q_^1_(RTJ-_#(GFCORE)_)ADD SUPERVISOR BIT GET FORMAT_^1_(SAN_$RPLACE_+SKIP IF FORMAT EXISTS_^€€1_(JMP*_#NEWFMT_^1*_]_^1RPLACE_!LDQ-_#PFBA,I_+CHECK RECORD LENGTH,AND_^1_(LDQ-_#(ZERO),Q_)FORMAT STRING LENGTH._^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+11_^1_(STA*_#OFL_.(OLD FORMAT LENGTH)_^1_(LDA-_#2,Q_.RECORD LENGTH_^1_(ARS_$6_^1_(AND-_#LPMASK+10_^1_(SUB*_#NRL_^1_(SAZ_$RLOK_^1*_]_^1_(ENQ_$1_0RECORD LENGTH ERROR_^1_(JMP_%ERROR_^1*_]_^1RLOK_#LDA*_#OFL_^1_(INA_$95_^1_(CLR_$Q_^1_(DVI*_#N96+1€€_^1_(SUB*_#NFLS_^1_(SAP_$OVRWRT_+OVER WRITE THE PREVIOUS FORMAT_^1_(JMP*_#NEWFMT_+TREAT AS NEW FORMAT_^1*_]_^1OVRWRT_!LDQ*_#FMTN_-READ OLD FORMAT SLOT_^1_(QLS_$1_^1_(RTJ_%CONMMA_*CONVERT TO MM ADDRESS_^1_(ADC_$SILFD_^1_(ENQ_$0_0READ_^1_(RTJ_%RW2WRD_^1_(JMP*_#WFMT_-GO WRITE THE FORMAT.NO CHANGE_^1*_BIN FMTLNK TABLE._^1*_]_^1_(BZS_$FMTN,OFL,NFL,NRL,NFLS,TRK,PAVLS_^1*_]_^1NEWFMT_!ENQ_€€$0_0READ 2 WORDS HEADER OF THE_^1_(RTJ_%CONMMA_*FORMAT LINK TABLE_^1_(ADC_$SIFLNK_^1_(ENQ_$0_^1_(RTJ_%RW2WRD_^1*_]_^1_(LDA_%AVLSCT_*CHECK IF ENOUGH ROOM ON_^1_(SUB*_#NFLS_-CURRENT TRACK._^1_(SAM_$GETTRK_^1*_]_^1_(JMP*_#WRT1_-WRITE ON CURRENT TRACK_^1*_]_^1GETTRK_!RAO_%CURSLT_^1_(LDA_%CURSLT_^1_(SUB_$=X96*16-2_^1_(SAM_$GET1_^1*_]_^1_(ENQ_$2_0FMT LINK TABLE FULL_^1_(JMP_$ERROR_^1*_]_€€^1GET1_#ENA_$16_/SET FULL TRACK AVAILABLE_^1_(STA_%AVLSCT_^1*_]_^1_(RTJ+_#G1TRT_^1_(SAN_$GET2_^1*_]_^1_(ENQ_$3_0DISK FULL_^1_(JMP_$ERROR_^1*_]_^1GET2_#STA*_#TRK_.SAVE TRACK ADDR._^1_(ENQ_$1_0WRITE MODIFIED LINK TABLE_^1_(RTJ_$RW2WRD_^1_(LDQ_$CURSLT_^1_(RTJ_$CONMMA_^1_(ADC_$SIFLNK_+WRITE THE ASSIGNED TRACK_^1_(LDA*_#TRK_^1_(STA_$NEWTRK_^1_(ENQ_$1_^1_(RTJ_$RW2WRD_^1_(JMP*_#NEWFMT_^1W€€RT1_#LDQ_$AVLSCT_^1_(STQ*_#PAVLS_,PREVIOUS AVAILABLE SECTORS_^1_(STA_$AVLSCT_^1_(ENQ_$1_^1_(RTJ_$RW2WRD_^1*_]_^1_(LDQ_$CURSLT_^1_(RTJ_$CONMMA_+ADDR_^1_(ADC_$SIFLNK_^1_(ENQ_$0_0READ_^1_(RTJ_$RW2WRD_^1*_]_^1_(LDA_$SECTOR_+ADJUST BY OFFSET TO BEGINNING_^1_(INA_$16_/OF AVAILABLE AREA_^1_(SUB*_#PAVLS_^1_(STA_$SECTOR_^1_(LDQ*_#FMTN_^1_(QLS_$1_^1_(RTJ_$CONMMA_^1_(ADC_$SILFD_^1WFMT_#LDA*_#€€NFL_.FORMAT LENGTH_^1_(STA_$LENGTH_^1_(ENQ_$1_0MODIFY THE DLFD._^1_(RTJ_$RW2WRD_^1*_]_^1*_]_^1_(LDQ-_#BUFF,I_^1_(ADQ-_#SAVE,I_^1_(INQ_$3-2_^1_(LDA-_#(ZERO),Q_)CALCULATE ENTRIES_^1_(AAQ_$Q_0COUNT ADDRESS_^1_(LDA-_#(ZERO),Q_)GET IT_^1_(STA-_#ENTRIS,I_)AND SAVE_^1*_]_^1LOCATE INQ -1_+GET 1ST ENTRY ADDR_2SLS_^1_(STQ-_#CURENT,I_)SAVE IT_^1_(LDA-_#(ZERO),Q_)GET FIELD NO_^1_(SAP_$NOTALL_€€^1_(LDA-_#ENTRIS,I_^1_(JMP*_#PUTFN_^1NOTALL_!ALS_$8_0OF CURRENT_^1_(AND-_#LPMASK+8_)ENTRY_^1PUTFN_"STA-_$FLDNUM,I_(SAVE IT_^1_(LDQ-_#BUFF,I_^1ADVFLD_!INA_$-1_/IF POINTS ON THE FIELD_^1_(SAZ_$THISFD_+SKIP_^1_(STA-_#FLDNUM,I_^1_(LDA-_#6,Q_.ELSE GET FIELD_^1_(AND-_#LPMASK+4_)DEFINITION_^1_(SAZ_$TOEF_^1_(INA_$2_0COUNT_^1_(AAQ_$Q_0ADD IT TO THE POINTER_^1_(LDA-_#FLDNUM,I_)ADD LOOP_^1_(J€€MP*_#ADVFLD_+BACK_^1THISFD_!LDA-_#7,Q_.SET EXTENSION BIT_^1_(AND-_#ZROBIT+10_^1_(EOR-_#ONEBIT+10_(ON FIELD DEFINIT_^1_(STA-_#7,Q_^1_(LDA-_#ENTRIS,I_)IF ALL ENTRIES_^1_(INA_$-1_/SCANNED_^1TOEF_#SAZ_$ENTFIN_+SKIP_^1_(STA-_#ENTRIS,I_^1_(LDQ-_#CURENT,I_)LOOP BACK_^1_(LDA-_#(ZERO),Q_^1_(SAM_$ALLFDS_^1_(JMP*_#LOCATE_+TO NEXT_^1ALLFDS_!LDA-_#ENTRIS,I_^1_(JMP*_#PUTFN_^1*_]_^1ENTFIN_!LDA-_#€€FLAG,I_+IF 2ND ENTRY POINT_^1_(SAN_$UDVD_^1_(JMP*_#WRITE_^1UDVD_#LDA_$NFL_.CALCULATE_^1_(SUB_$OFL_.DIFFERENCES BETWEEN_^1_(ALS_$1_0OLD AND NEQ FORMATS_^1_(STA-_#ATEMP+3,I_(AND SAVE_^1_(LDQ-_#BUFF,I_+CALCULATE VARIABLE_^1_(ADQ-_#SAVE,I_+DIRECTORY_^1_%INQ -1_PSLS_^1_(LDA-_#2,Q_.LENGTH_^1_(INA_$2_0CALCULATE STARTING_^1_(AAQ_$A_0ADDRESS OF_^1_(STA-_#ATEMP+4,I_(VARIABLE DIRECTORY_^1*_]€€_^1NXTVD_"LDA-_#(ZERO),Q_)UPDATE_^1_(ADD-_#ATEMP+3,I_(DIRECTORY_^1_(STA-_#(ZERO),Q_)ENTRY_^1_(TRQ_$A_0IF ALL ENTRIES_^1_(EOR-_#ATEMP+4,I_(UPDATED_^1_(SAZ_$WRITE_,SKIP_^1_(INQ_$-1_/ELSE BACK TO THE_^1_(JMP*_#NXTVD_,NEXT ENTRY_^1WRITE_"LDQ-_#BUFF,I_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+15_(BUFFER I/O_^1_(EOR-_#ONEBIT+15_(BIT_^1_(STA-_#1,Q_^1_(INQ_$3_0ADDRESS_^1_(STQ*_#SECCA_^1_(LDA_$NFLS_^1€€_(STA*_#SECS_-COUNT_^1_(LDA*_#SECTOR_^1_(ENQ_$1_0WRITE FORMAT VIA_^1_(RTJ*_#SECIO_,SECIO SUBROUTINE_^1_(CLR_$Q_^1ERROR_"STQ-_#ATEMP,I_*OR SAVE ERROR INDEX._^1*_]_^1*_]03*C1049_^1_(LDQ-_#PFBA,I_+RELEASE PREVIOUS FORMAT_^1_(SQZ_$2_^1_(LDQ-_#(ZERO),Q_^1_(RTJ-_#(RELFOR)_^1*_]_^1_(RTJ-_#(EXDFUN)_)EXIT CURRENT FUNCTION._^1_(CLR_$A_0CLEAR LOCK_^1_(STA_$LOCK_^1_(STA-_#PFBA,I_^1_(STA-_#FMTN€€O,I_^1_(LDQ-_#CALRPI,I_^1_(SQZ_$NORTN_^1_(ENA_$1_0RETURN BACK TO CALLE_^1_(RTJ-_#(ENTPRG)_)2ND ENTRY PT OF LODFMT_^1NORTN_"LDQ-_#FMTBAS,I_^1_(RTJ-_#(RELFOR)_^1_(LDQ-_#ATEMP,I_^1_(SQN_$EROR1_^1*_]_^1_(JMP-_#(SV)_-NEXT FUNCTION_^1*_]_^1EROR1_"LRS_$1_^1_(LDQ*_#ERIDX,Q_^1_(SAM_$1_^1_(QLS_$8_^1_(TRQ_$A_^1_(AND-_#LPMASK+8_^1_(JMP-_#(REJSUP)_^1*_]_^1SECIO_"NUM_$0_^1_(STA*_#SECDA_,SET SECT€€OR DISK ADDR_^1_(LDA*_#RWSEL,Q_*SELECT SECTOR_^1_(STA*_#RDWRT_,READ/WRITE FUNCTION_^1RDWRT_"RTJ-_#(REDSEC)_^1SECCA_"ADC_$0_^1SECDA_"ADC_$0_^1SECS_#NUM_$1_^1_(NUM_$0_^1_(JMP*_#(SECIO)_^1*_]_^1RWSEL_"RTJ-_#(REDSEC)_^1_(RTJ-_#(WRTSEC)_^1*_]_^1CONMMA_!000_$000_.CONVERT TO MM WORD ADDR._^1_(LDA*_#(CONMMA)_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#MMAMSB_^1_(STA*_#MMALSB_^1_(RAO*_#CONMMA_^1_(JMP*_#(C€€ONMMA)_^1*_]_^1RW2WRD_!000_$000_.READ/WRITE 2 WORD OF PREVIOUSLY_^1_(LDA*_#FUN,Q_,SET MMA ADDR._^1_(STA*_#RW_^1RW_%RTJ-_#(WRTWRD)_^1_(ADC_$(SECTOR-*)_^1MMAMSB_!ADC_$0_^1MMALSB_!ADC_$0_^1_(NUM_$2_02 WORD_^1_(ADC_$0_0LU 0_^1_(JMP*_#(RW2WRD)_^1*_]_^1WRDS2_"ADC_$0_^1SECTOR_!EQU_$SECTOR(*-1)_^1AVLSCT_!EQU_$AVLSCT(*-1)_^1NEWTRK_!EQU_$NEWTRK(*-1)_^1*_]_^1_(ADC_$0_^1LENGTH_!EQU_$LENGTH(*-1€€)_^1CURSLT_!EQU_$CURSLT(*-1)_^1*_]_^1FUN_$RTJ-_#(REDWRD)_^1_(RTJ-_#(WRTWRD)_^1*_]_^1ERIDX_"VFD_$N8/00,N8/10_^1_(VFD_$N8/50,N8/51_^1_(VFD_$N8/11,N8/0_^1*_]_^1WFX1_#RTJ*_#CLCEXT_+CALCULATE EXTENSION LNGTH_^1_(LDA-_#OCGP,I_+GET NEW_^1_(ARS_$1_0FORMAT_^1_(ADD-_#ATEMP+2,I_(LENGTH_^1_(STA-_#SAVE,I_+AND SAVE_^1_(STA-_#FLAG,I_+SET 2'ND ENTRY POINT FLAG_^1_(LDQ-_#ATEMP+1,I_(CALCULATE_^1_(IN€€Q_$-1_/BEGINNING OF_^1_(ADQ-_#(ZERO),Q_)ENTRIES DIRECTOYR_^1_(LDA-_#1,Q_.IF NOT COMMON_^1_(SAP_$NOTCOM_+SKIP_^1_(LDA-_#FLDNUM,I_)ELSE UPDATE NO_^1_(STA-_#(ZERO),Q_)OF ENTRIES_^1NOTCOM_!JMP_$LOCKED_^1*_]_^1CLCEXT_!NUM_$0_^1_(LDQ-_#PFBA,I_+GET_^1_(LDQ-_#(ZERO),Q_)OLD_^1_(LDA-_#1,Q_.FORMAT_^1_(AND-_#LPMASK+11_(LENGTH_^1_%INA -1_+ATEMP SHOULD NOT CONTAIN SLS B.P._"SLS_^1_(STA-_#ATEMP,€xI_^1_(AAQ_$Q_0CALCULATE END OF FORMAT_^1_(STQ-_#ATEMP+1,I_(ADDRESS AND SAVE_^1_(ADQ-_#(ZERO),Q_)GET VARIAB. DIRECT. ADDR._^1_(LDA-_#(ZERO),Q_*GET BEGINNING OF_^1_(AND-_#LPMASK+13_(EXTENSION POINTER_^1_(ARS_$1_0CONVERT TO WORD COUNT_^1_(TCA_$A_0CALCULATE_^1_(ADD-_#ATEMP,I_*EXTENSION_^1_(INA_$1_^1_(STA-_#ATEMP+2,I_(LENGTH_^1_(JMP*_#(CLCEXT)_^1*_]_^1_(EQU_$EWFX(*)_^1_(END_^__ xPOCGEXC CSY/ P€1_%NAM OCGEXC_'DECK-ID M24 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* OCGEXC EQUATES:_^1*_]_^1*_]_^1****SST***_]_^1_(EQU_$SST($47)_^1_(EQU_$PRD(3)_^1_(EQU_$CATT(11)_^1_(EQU_$STEMP1(20),STEMP2(21),STEMP3(22),STEMP4(23)_^1*_]_^1****LOW CO€€RE***_^1_(EQU_$LPMASK(2),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$NZERO($12),TEN($46)_^1*_]_^1****TRANSFER VECTOR***_^1*_]_^1*_]_^1_(EQU_$ERROR($96)_^1_(EQU_$EXTSR($92)_^1_(EQU_$ENTPRG($9E)_^1_(EQU_$DISP($A0)_^1_(EXT_$SETDIS,CLRFLD,DLINE_^1_(EQU_$GTBY($AB)_^1_(EQU_$ENTSR($91)_^1*_]_^1* ATT EQUATES_^1*_]_^1_(EQU_$CMODE(2)_^1_(EQU_$TRB(6)_^1_(EQU_$PFBA(7)_^1_(EQU_$FMTNO(13)_^1_(EQ€€U_$FLDNO(14)_^1_(EQU_$BMOD(15)_^1_(EQU_$BRCNT(15)_^1_(EQU_$SW1(19)_^1_(EQU_$SW2(20)_^1_(EQU_$FUNIDX(21)_^1_(EQU_$AINT(27)_^1_(EQU_$RCDRD(31)_^1_(EQU_$RCD(32)_^1* TEMPORARIES_^1_(EQU_$ATEMP1(73)_^1_(EQU_$BASADR(74)_'OCG ASSEMBLY BASE ADDRESS_^1_(EQU_$CODE(75)_)FIRST BYTE OF COLMMAND_^1_(EQU_$VARI(76)_)SECOND BYTE OF COMMAND_^1_(EQU_$ATEMP5(77)_^1*_]_^1* DISPLACEMENT IN OCG PROGRAM_€€^1_(EQU_$DISOCG(87)_^1*_]_^1*_]_^1****EST***_]_^1*_]_^1_(EQU_$MAXOCD(4)_^1_(EQU_$MAXFMT(24)_^1_(EQU_$LOOKBF(43)_'LOOKUP BUFFER_^1*_]_^1****GENERAL EQUATES***_^1*_]_^1_(EQU_$FAD1($0819)_%WAIT CORE MIS 25_^1_(EQU_$LOOK($0818)_%WAIT CORE MIS 24_^1_(EQU_$MAXDIG(15)_'MAXIMUM # OF DIGITS_^1*_]_^1**ASCII VALUES_^1*_]_^1_(EQU_$BLANK($20),ZEROA($30)_^1_(EQU_$ASCIIA($41),ASCIIZ($5A)_^1_(EQU_€€$PLUS($2B),MINUS($2D)_^1*_]_^1*** ERROR CODES_^1*_]_^1_(EQU_$C8($22)_*OCG DATA TYPE ERROR_^1_(EQU_$C9($23)_*OCG INDEXING ERROR_^1*_]_^1*** EXTERNALS_^1*_]_^1_(EXT_$GETBUF_+GET INT BUF IN PIO._^1_(EXT_$FMTSCN_^1_(EXT_$GATE_-LOCK OF MONITOR_^1*_]_^1*_]_^1_(EXT_$CLCBAS,RELEXC_#IM MON_^1_(EXT_$GETCHR_^1_(EXT_$TRACHR,CMPCHR,STOR_(ENTRIES_^1_(EXT_$FLDPAR_+IN_^1_(EXT_$A,BYTE,MA,LENGTH,PAR€€LST_^1_(EXT_$TRAPAR_+OCGMON_^1_(EXT_$RELEX1_+RELEASE EXECUTOR_^1*_]_^1* EXTERNALS USED FOR LOOKUP.(IN OCGMON)_^1*_]_^1_(EXT_$PADR2,PADR3_%PRM LIST_^1_(EXT_$RELLBF_+RELEASE LOOKUP BUFFER_^1HDR_$VFD_$N2/3,N3/0,X11/EOCGEX-*_^1USPPRG_!VFD_$N10/10,N6/1_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$OCGEX1-HDR_'ENTERED IN END OF FIELD_^1_(ADC_$OCGEX2-HDR_'ENTERED AFTER I/O (LOOKUP)_^1_(ADC_$LOOKP1-HDR_'€€ENTERED AFTER LOOKUP_^1*_]_^1* TYPE 0 COMMANDS_^1*_]_^1TABTP0_!ADC_$GOTO-N1A_^1_(ADC_$EXIT-N1A_^1_(ADC_$ERRORR-N1A_^1_(ADC_$OWNCOD-N1A_^1_(ADC_$DISPLY-N1A_^1_(ADC_$DISPLY-N1A_^1_(NUM_$0_^1_(ADC_$COMPT-N1A_^1_(ADC_$COMPT-N1A_^1* TYPE 1 COMMANDS_^1*_]_^1*_]_^1TABTP1_!ADC_$COMPUT-N1A_^1_(ADC_$IF-N1A_^1_(ADC_$STRING-N1A_^1_(ADC_$LOOKUP-N1A_^1_(ADC_$LOOKUP-N1A_^1_(ADC_$FORMAT-N1A_^1*_]€€_^1*_]_^1OCGEX1_!RTJ+_#CLCBAS_^1*_]_^1*_!ON RETURN Q HOLDS THE BASE ADRESS OF THE OCG ASSEMBLY_^1*_]_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+11_(LENGTH_^1_(AAQ_$Q_0LAST WORD OF OCG-1_^1_(INQ_$-1_/ENTRIES POINTER_^1_%LDA- $4E,I_MSLS_^1_%AND- ONEBIT+13_ISLS_^1_%SAZ OC_+IF THIS IS FMT EXTENSION,_+SLS_^1_%INQ -1_+ADJ. FOR SLS B.P._3SLS_^1OC_#ADQ- (ZERO),Q_JSLS_^1_(STQ-_#SST+STEMP1_'BEG OF ENT€€RIES DIRECTORY_^1_(LDQ-_#(ZERO),Q_)NO. OF ENTRIES_^1NXTENT_!SQZ_$NOENT_^1_(RAO-_#SST+STEMP1_^1_(LDA-_#(SST+STEMP1)_^1_(SAM_$FOUND_,FIELD # =$FF.COMMON ENTRY_^1_(SUB-_#ONEBIT+8_^1_(ALS_$1_^1_(EOR-_#FLDNO,I_^1_(AND-_#NZERO+9_^1_(SAZ_$FOUND_^1_(INQ_$-1_^1_(JMP*_#NXTENT_^1*_]_^1* NO ENTRY IS SPECIFIED FOR THIS FIELD_^1*_]_^1NOENT_"JMP_$EXIT_^1FOUND_"LDA-_#(SST+STEMP1)_^1_(AND-_#LPMASK€€+8_)WHICH ENTRY OR LABEL_^1GOTO1_"RTJ_$GETV_-GET IN VER DIRECTORY_^1_(AND-_#LPMASK+12_(DISPLACEMENT IN OCGP_^1*_]_^1* DISPLACEMENT WITHIN OCG ASSEMBLY IS GIVEN IN BYTES_^1* AND STORED WITHIN THE ATT._^1*_]_^1INST1_"STA-_#DISOCG,I_^1_(JMP*_#INST_^1OCGEX2_!RTJ+_#CLCBAS_^1INST_#LDQ-_#DISOCG,I_^1_(LDA-_#BASADR,I_^1_(RTJ-_#(GTBY)_^1_(STA-_#CODE,I_+INSTRUCTION CODE_^1_(LDA-_#BASADR,I_^€€1_(LDQ-_#DISOCG,I_^1_(INQ_$1_^1_(RTJ-_#(GTBY)_^1_(STA-_#VARI,I_+VARIABLE INDEX_^1_(LDA-_#CODE,I_^1_(ALS_$8_^1_(TRA_$Q_^1_(ALS_$5_^1_(AND-_#LPMASK+4_)OP CODE_^1_(LLS_$16_^1_(INQ_$-1_/OP CODE -L_^1_(SAP_$TYPE0_^1TYPE1_"LDQ*_#TABTP1,Q_^1_(JMP*_#JMPE_^1TYPE0_"LDQ*_#TABTP0,Q_^1JMPE_#RTJ*_#N1A_^1N1A_$NUM_$0_^1_(ADQ*_#N1A_^1_(STQ*_#N1A_^1_(ALS_$8_^1_(AND-_#LPMASK+2_^1_(TRA_$Q_0TYPE_^1_(LD€€A-_#VARI,I_+INDEX_^1JMPE1_"JMP*_#(N1A)_^1*_]_^1GOTO_#JMP*_#GOTO1_^1*_]_^1LOOKUP_!RTJ_$GEVNUM_+GET FIELD NUMBER_^1_(SUB-_#ONEBIT+7_^1_(SAP_$ERR2_^1_(ADD-_#ONEBIT+7_^1_(STA*_#A111_^1_(JMP*_$*+2_^1A111_#NUM_$0_^1*_]_^1* THE RELATIVE BIT ON THE FUNCTION INDEX IS NOT SET._^1*_]_^1_(RTJ-_#(ENTSR)_^1_(LDA-_#FUNIDX,I_^1_(STA-_#ATEMP1,I_^1*_]_^1* OCGEXC TRANSFERS TO THE LOOKUP OVERLAY IN AT€€EMP1 THE_^1* FUNCTION INDEX THE FIELD # IS TRANSFERRED ON TOP OF_^1* STACK_]_^1*_]_^1_(RTJ+_#RELEX1_+RELEASE EXECUTOR_^1_(CLR_$A_^1_(LDQ_$=XLOOK_^1_(RTJ-_#(ENTPRG)_^1ERR2_#JMP*_#ERRC7_^1LOOKP1_!LDQ_$=XPADR2_*TRANSLATION FIELD_^1_(LDA-_#(ZERO),Q_^1_(LDQ-_#SST_^1_(ADD-_#LOOKBF,Q_^1_(STA*_#(LOOKP1+1)_^1_(LDQ_$=XPADR3_^1_(LDA-_#(ZERO),Q_^1_(ADD-_#TRB,I_^1_(STA-_#(ZERO),Q_^1_(TRQ_$A_^1_€€(LDQ*_#LOOKP1+1_^1_(RTJ_$TRAN_^1_(STA-_#ATEMP1,I_^1_(RTJ+_#RELLBF_^1_(LDA-_#ATEMP1,I_^1_(SAM_$1_^1_(JMP*_#OCGEX2_^1_(JMP*_#ERRC8_,DATA ERROR_^1*_]_^1COMPT_"RTJ_$GETVER_^1_(RTJ+_#TRAPAR_+TRANSFER PARAMETER LIST_^1_(ADC_$TLST-*_+OF THE CONVERTED LITERAL_^1_(STQ-_#ATEMP5,I_^1_(LDA-_#CODE,I_^1_(ALS_$12_^1_(SAM_$COMPTF_^1*_]_^1*******************A=CFN************************************€€****_^1*_]_^1COMPTC_!LDA-_#FLDNO,I_*CURRENT FIELD_^1_(ALS_$7_^1_(AND-_#LPMASK+7_^1_(INA_$1_^1COM1_#ENQ_$3_^1_(RTJ_$GETVER_+WILL CREATE ASCII STRING_^1*_BOUT OF THE BINARY VALUE_^1*_BWITHIN THE GETVER ROUTINE_^1*_]_^1*_]_^1* A PARAMETER LIST OF A. Q PARAMETER LIST OF B._^1_(LDA-_#ATEMP5,I_)A PRM LIST_^1_(RTJ_$TRAN_^1_(SAM_$ERRG_^1NXL_$ENA_$2_^1NXTINS_!ADD-_#DISOCG,I_^1_(JMP*_#INST1€€_^1ERRG_#JMP*_#ERRC8_,DATA ERROR_^1* TOTAL NUMBER OF FIELDS_^1* IF THE RECORD WAS ENTERED COMPLETELY 999._^1************************A=EFN***********************************_^1COMPTF_!RTJ*_#CHKMOD_+WHICH MODE_^1_(SAZ_$1_^1_(JMP*_#NREAD_^1_(LDA-_#BMOD,I_+IF READ_^1_(ALS_$2_^1_(SAP_$VERMD_^1*_]_^1_(LDA-_#RCD,I_,TOTAL IN ENTRY_^1_(SUB-_#RCDRD,I_*RECORD IN READ_^1_(SAN_$VERMD_^1* CALCU€€LATE NUMBER COMPLETED FIELDS._^1_(LDA-_#BRCNT,I_^1_(AND-_#LPMASK+12_^1_(EOR-_#ONEBIT+15_(COLUMN COUNTER_^1_(RTJ+_#FMTSCN_^1*_]_^1_(LDA-_#(ZERO),Q_)FIELD NUMBER_^1*_BNUMBER OF COMPLETED FIELDS._^1_(JMP*_#COM1_^1VERMD_"ENA_$127_^1_(JMP*_#COM1_^1NREAD_"SAM_$ENTMD_^1VERMD1_!LDA-_#SW2,I_^1_(AND-_#ONEBIT+1_^1_(SAN_$ENTMD_^1_(JMP*_#VERMD_^1ENTMD_"JMP*_#COMPTC_^1*$$$$$$$$$$$$$$$$$$$$ CHECK€€ STATIONS MODE$$$$$$$$$$$$$$$$$$$$$$$_^1*$$$$ A=0,<0,>0, READ,ENTRY AND INSERT,VERIFY_^1*_]_^1CHKMOD_!NUM_$0_^1_(LDA-_#CMODE,I_^1_(ALS_$7_^1_(SAP_$READMD_+READ_^1_(ALS_$15_^1_(JMP*_#CHKRET_^1READMD_!LDA-_#SW1,I_^1_(ALS_$3_^1_(SAM_$1_0INSERT_^1_(CLR_$A_^1CHKRET_!JMP*_#(CHKMOD)_^1*_]_^1*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$_^1ERRC8_"ENQ_$C8_^1_(JMP*_#SAVERR€€_^1ERRC7_"ENQ_$C9_/INDEXING ERROR_^1SAVERR_!LDA-_#CATT+SST_^1_(STA-_#I_^1_(STQ-_#VARI,I_^1_(JMP*_#ERRORR_^1****************************************************************_^1EXIT_#RTJ+_#RELEXC_^1*_]_^1_(JMP-_#(EXTSR)_^1****************************************************************_^1ERRORR_!RTJ+_#RELEXC_^1_(LDQ-_#VARI,I_+ERROR CODE_^1_(JMP-_#(ERROR)_^1*************************OWN€€COD*********************************_^1OWNCOD_!RTJ*_#GEVNUM_^1_(STA-_#CODE,I_+VALUE GREATER THEN 0_^1_(LDQ-_#SST_^1_(LDA-_#MAXOCD,Q_^1_(ALS_$8_^1_(AND-_#LPMASK+8_^1_(SUB-_#CODE,I_^1_(SAP_$LIT_^1ERR3_#JMP*_#ERRC7_^1LIT_$RTJ_$RELEXC_^1_(LDQ_$=N$7800_^1_(ADQ-_#CODE,I_^1_(CLR_$A_^1_(RTJ-_#(ENTPRG)_^1**********************DISPLY************************************_^1* DISPLY_]_^1*_]_^1*€€_]_^1*_]_^1* LOCK OCGMON_^1*_]_^1* Q HOLDS THE VARIABLE TYPE_^1DISPLY STQ- CODE,I_^1_(RAO+_#GATE_^1_(LDA_$HDR_.AVOID MOVING_^1_(EOR-_#ONEBIT+15_^1_(STA_$HDR_^1_(ENA_$48_^1_(RTJ+_#GETBUF_^1_(ENA_$1_^1_(RTJ-_#(DISP)_^1_(ADC_$SETDIS_^1_(RTJ-_#(DISP)_^1_(ADC_$CLRFLD_^1_(LDQ-_#CODE,I_^1_(LDA-_#VARI,I_+FETCH THE SPECIFIED VAR_^1_(RTJ_$GETVER_^1_(CLR_$A_^1_(STA-_#2,Q_.MODIFY TO CHAR TYPE€€._^1_(STA*_#TEMP1_^1_(LDA-_#ONEBIT+12_^1*_]_^1* THE INTERROGATE LINE IS TREATED AS FIELD TYPE_^1*_]_^1_(STA*_#TEMP2_^1_(LDA-_#3,Q_^1_(INA_$-48_^1_(SAM_$1_^1_(CLR_$A_^1_(INA_$48_^1_(STA-_#3,Q_^1_(STA*_#TEMP3_,LENGTH_^1_(STA-_#CODE,I_^1_(LDA-_#AINT,I_^1_(INA_$4_^1_(STA*_#TEMP0_^1_(RTJ_$ABSA_^1_(ADC_$TLST-*_+TRANSFER TO INTEROGATE_^1_(RTJ_$TRAN_^1_(LDA-_#CODE,I_^1_(LDQ*_#TEMP0_^1_(ADD€€-_#ONEBIT+13_(FROM INTERROGATE_^1_(RTJ-_#(DISP)_^1_(ADC_$DLINE_^1_(LDA_$HDR_.ENABLE MOVING_^1_(AND-_#ZROBIT+15_^1_(STA_$HDR_^1_(CLR_$A_^1_(STA+_#GATE_^1_(RTJ-_#(DISP)_+CHANGE MODE TO DATA_^1_(ADC_$SETDIS_^1*_BINCREASE DISPLACEMENT_^1_(RAO-_#DISOCG,I_)IN OCG ASSEMBLY_^1_(RAO-_#DISOCG,I_^1_(JMP_$OCGEX2_+THE BASE ADDRESS SHOULD BE_^1*_]_^1*_]_^1**********************FORMAT************€€*****************_^1*_]_^1FORMAT_!INQ_$-3_^1_(SQZ_$LIT1_-LITERAL_^1_(INQ_$3_^1_(RTJ*_#GEVNUM_^1_(JMP*_#CONT_^1LIT1_#LDQ-_#DISOCG,I_^1_(QRS_$1_^1_(INQ_$1_0NEXT WORD_^1_(ADQ-_#BASADR,I_^1_(LDA-_#(ZERO),Q_)FORMAT NUMBER_^1CONT_#STA-_#ATEMP1,I_)TRANSFER TO FAD 1_^1_(LDQ-_#SST_^1_(SUB-_#MAXFMT,Q_^1_(SAZ_$1_^1_(SAP_$ERR4_^1_(RTJ*_#CHKMOD_+WHICH MODE_^1_(SAM_$ENTM_-ENTRY OR INSERT_^1VER_$€€LDA-_#ATEMP1,I_)VERIFY AND READ_^1_(EOR-_#FMTNO,I_^1_(AND-_#LPMASK+13_^1_(SAN_$1_^1_(JMP*_#EXIT_^1ERR4_#JMP*_#ERRC7_^1*_]_^1*_]_^1*_]_^1ENTM_#RTJ+_#RELEXC_^1_(LDQ_$=XFAD1_+ATEMP1,I CONTAINS THE_^1_(CLR_$A_0VALUE_^1_(RTJ-_#(ENTPRG)_^1*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$_^1*_(A=INDEX VALUE. >0,_^1* ON ENTRANCE: Q=TYPE, A= VARIABLE INDEX_^1GEVNUM_!NUM_$0_^€€1_(INQ_$-3_^1_(SQZ_$RETG1_^1*_]_^1*_]_^1*_]_^1_(INQ_$3_^1_(RTJ*_#GETVER_+GET VARIABLE SEPCIFICATION_^1_(RTJ_$CONVRT_^1RETG1_"SAM_$ERRD_^1_(SAZ_$ERRD_^1RETGET_!JMP*_#(GEVNUM)_^1ERRD_#JMP*_#ERR4_-INDEXING ERROR_^1*_]_^1_(EQU_$TLST(*)_^1TEMP0_"NUM_$0_^1TEMP1_"NUM_$0_^1TEMP2_"NUM_$0_^1TEMP3_"NUM_$0_^1********************A=STRING(B,C,D) OR STRING(B,C,D)=A**********_^1*_]_^1STRING_!ENA_$€€2_0PARAMETER 3 (C)_^1_(RTJ_$GETOCG_^1*_]_^1*_!Q HOLDS THE TYPE OF VARIABLE C._^1* A HOLDS THE INDEX_^1*_]_^1_(RTJ*_#GEVNUM_^1_(STA*_#TEMP5_,FROM WHICH CHARACTER (C)_^1_(ENA_$3_0PARAMETER 4 (D)_^1_(RTJ_$GETOCG_^1_(RTJ*_#GEVNUM_^1_(STA*_#TEMP6_,LENGTH OF STRING (D)_^1_(RTJ_$GET2_-GET VARIABLES A AND B_^1_(LDA-_#CODE,I_^1_(ALS_$15_^1_(SAP_$SAMTYP_+STRING IS TRAN TO A_^1_(LDA-_#3,Q_.L€€ENGTH OF B_^1_(SUB*_#TEMP5_,BEGINNING CHAR_^1_(SAM_$ERRS1_^1_(SUB*_#TEMP6_,LENGTH_^1_(INA_$1_^1_(SAP_$TOA_.STRING WITHIN LIMITS_^1ERRS1_"JMP*_#ERRD_-INDEXING ERROR_^1TOA_$SAZ_$SAMTYP_+STRING END-_^1_(LDA-_#2,Q_.TYPE OF B_^1_(AND-_#NZERO+13_^1_(EOR-_#NZERO+13_^1_(SAN_$SAMTYP_+NOT SIGN NUMERIC_^1_(LDA-_#2,Q_^1_(AND-_#ZROBIT+13_(IF SIGN NUMERIC, IT BECOMES_^1*_BNUMERIC_^1_(STA-_#2,Q_^€€1SAMTYP_!LDA-_#1,Q_.BYTE ADDRESS_^1_(ADD*_#TEMP5_,+ FIRST CHAR_^1_(INA_$-1_^1_(STA-_#1,Q_.BYTE ADDRESS OF STRING_^1_(LDA*_#TEMP6_^1_(STA-_#3,Q_^1_(LDA-_#CODE,I_^1_(ALS_$15_^1_(SAM_$TOX_.A TO STRING_^1_(LDA-_#ATEMP5,I_)STRING TO A_^1_(JMP*_#TR_^1TOX_$TRQ_$A_^1_(LDQ-_#ATEMP5,I_^1TR_%RTJ_$TRAN_^1_(SAP_$2_^1ERC88_"JMP_$ERRC8_,DATA ERROR_^1NST_$ENA_$6_^1_(JMP_$NXTINS_^1*_]_^1TEMP5_"NUM_€€$0_^1TEMP6_"NUM_$0_^1*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$_^1*_]_^1* GET VARIABLE I SUBROUTINE. A HOLDS THE INDEX_^1*_]_^1GETV_#NUM_$0_^1_(INA_$-1_^1_(STA-_#SST+STEMP1_^1_(LDQ-_#BASADR,I_)OGC ASSEMBLY BASE ADDRESS_^1_(LDA-_#1,Q_.OGG ASSEMBLY LENGTH_^1_(AND-_#LPMASK+11_^1_(AAQ_$Q_0LAST WORD ADRESS_^1_%LDA- $4E,I_MSLS_^1_%AND- ONEBIT+13_ISLS_^1_%SAZ OC1_*€€IF THIS IS FMT EXTENSION,_+SLS_^1_%INQ -1_+ADJ. FOR SLS B.P._3SLS_^1OC1_"ADQ- (ZERO),Q_JSLS_^1_(ADQ-_#SST+STEMP1_^1_(LDA-_#(ZERO),Q_)I'TH VARIABLE_^1_(LDQ-_#1,Q_.VARIABLE_^1_(JMP*_#(GETV)_^1*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$_^1*_]_^1* INPUT PARAMETERS ARE Q=VARIABLE TYPE_^1*_6A= VARIABLE INDEX_^1*_]_^1*_]_^1* OUTPUT PARAMETERS IS ADDRESS OF PARAMETE€€R LIST._^1* IF Q=0 THEN F(N) F(A) DOES NOT EXIST_^1*_]_^1GETVER_!NUM_$0_^1_(STQ*_#TYPEC_^1_(SQZ_$1_0F(N)_^1_(JMP*_#NOBIN_^1*_]_^1* IF Q=0, THEN A REGISTER HOLDS THE FIELD #._^1FIELD_"RTJ+_#FLDPAR_^1_(SQN_$1_^1_(JMP*_#ERRS1_^1_(JMP*_#RET_^1*_]_^1* TYPE ARE:_^1* SIGN NUMERIC 111 NUMERIC=110 ALPHA=010 CHAR=000_^1* IF BIT 12 SET IT MEANS THE VARIABLE IS FIELD_^1NOBIN_"INQ_$-3_^1_(S€€QN_$1_^1_(JMP*_#LITRAL_^1_(RTJ*_#GETV_^1_(STA-_#SST+STEMP1_^1_(AND-_#LPMASK+12_(DISPLACEMENT OF I_^1_(TCA_$A_0-DIS I_^1_(LLS_$16_^1_(AND-_#LPMASK+12_(DISPLACEMENT OF I+1_^1_(AAQ_$A_0DIS I+1-DIS I_^1_(STA+_#LENGTH_^1_(TCQ_$Q_0DIS I_^1*_]_^1_(LDA-_#SST+STEMP1_^1_(AND-_#NZERO+14_)TYPE : 3-NUM , 0-CHAR_^1_(STA+_#MA_^1_(LRS_$1_^1_(ADQ-_#BASADR,I_^1CLCPRM_!ALS_$1_^1_(AND-_#LPMASK+1_^1CLC€€PR1_!STA+_#BYTE_-BYTE NUMBER_^1_(STQ+_#A_0ABSOLUTE ADDRESS_^1_(LDQ_$=XPARLST_^1_(LDA*_#TYPEC_^1_(INA_$-1_^1_(SAZ_$FA_/VARIABLE OF FIELD#_^1RET_$JMP*_#(GETVER)_^1FA_%RTJ*_#CONVRT_^1_(JMP*_#FIELD_^1*_]_^1*_]_^1* IF VARIABLE IS A LITERAL IT IS SAVED IN ITS ASCII VALUE_^1* WITHIN THE PROGRAM_^1*_]_^1LITRAL_!ALS_$8_^1_(SAP_$NUM1_-NUMERIC VARIABLE_^1_(AND-_#LPMASK+15_(ASCII CHARACTER_^€€1_(STA*_#SV1_^1_(ENA_$1_0LENGTH_^1*_BQ IS ZERO. TYPE._^1_(JMP*_#SVAD_^1NUM1_#ALS_$8_0Q IS ZERO_^1_(SAZ_$1_^1_(DVI-_#TEN_^1_(QLS_$8_^1_(ADQ_$=A0+_^1_(STQ*_#SV1+1_^1_(CLR_$Q_^1_(SAZ_$2_^1_(DVI-_#TEN_^1_(ALS_$8_^1_(ADD_$=A00,Q_^1_(STA*_#SV1_^1_(ENA_$4_0LENGTH_^1_(LDQ-_#NZERO+14_^1SVAD_#STA+_#LENGTH_+CHAR OR NUM_^1_(STQ+_#MA_^1*_]_^1_(RTJ_$ABSA_-ADDRESS_^1_(ADC_$SV1-*_^1_(TRA_$Q_0ADDRE€€SS OF STRING_^1_(CLR_$A_0BYTE COUNT_^1_(JMP*_#CLCPR1_^1SV1_$BZS_$SV1(2)_^1TYPEC_"NUM_$0_^1*.$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$_^1* CONVRT TO BINARY_^1* ON ENTRANCE Q POINTS TO PARAMETER LIST_^1* ON EXIT: A=VALUE. IF ERROR OCCURES, EXIT IS DONE THROUGH_^1* THE ERROR EXIT._^1CONVRT_!NUM_$0_0PRM LIST OF VARIABLE_^1_(STQ-_#I_^1_(CLR_$A_^1_(STA-_#SST+STEMP2_'€€CALCULATED VALUE_^1CHKDG_"LDA-_#(I)_^1_(LDQ-_#1,I_^1_(RTJ-_#(GTBY)_^1_(AND-_#LPMASK+7_^1_(TRA_$Q_^1_(LDA-_#SST+STEMP2_'VALUE_^1_(INQ_$-PLUS_^1_(SQZ_$FIND1_^1_(INQ_$PLUS-MINUS_^1_(SQN_$2_^1_(TCA_$A_0NEGATIVE_^1FIND1_"JMP*_#FINCON_^1_(INQ_$MINUS-BLANK_^1_(SQZ_$NXTCHR_+IGNORE BLANKS_^1_(INQ_$BLANK-$30_^1_(SQM_$ERRC1_^1_(INQ_$$30-$3A_^1_(SQM_$1_^1ERRC1_"JMP*_#ERRT_-DATA TYPE ERROR_^1_(€€INQ_$$A_^1_(STQ-_#SST+STEMP3_^1_(SAZ_$CON_^1_(MUI-_#TEN_^1_(SQN_$ERRC_^1_(SAM_$ERRC_^1CON_$ADD-_#SST+STEMP3_'+ DIGIT_^1_(SAM_$ERRC_^1_(STA-_#SST+STEMP2_^1NXTCHR_!LDQ-_#3,I_.LENGTH_^1_(INQ_$-1_^1_(SQZ_$FINCON_^1_(STQ-_#3,I_^1_(RAO-_#1,I_.BYTE COUNTER_^1_(JMP*_#CHKDG_^1ERRC_#JMP_$ERRC7_,INDEXING ERROR_^1FINCON_!LDQ-_#CATT+SST_^1_(STQ-_#I_^1_(JMP*_#(CONVRT)_^1*_]_^1*_!GET VARIABLE A,B€€_^1GET2_#NUM_$0_^1_(ENA_$0_0VARIABLE A_^1_(RTJ*_#GETOCG_^1_(RTJ*_#GETVER_^1_(RTJ+_#TRAPAR_+TRANSFER PARAMETER LIST_^1_(ADC_$TLST-*_^1_(STQ-_#ATEMP5,I_^1_(ENA_$1_0FROM WHICH VARIABLE (B)_^1_(RTJ*_#GETOCG_+OR TO WICH VARIABLE_^1_(RTJ_$GETVER_^1_(JMP*_#(GET2)_^1*_]_^1*_]_^1*_]_^1IF_%RTJ*_#GET2_^1_(STQ-_#SST+STEMP1_^1_(LDA-_#2,Q_^1_(SAM_$NUM12_,B NUMERIC_^1_(LDQ-_#ATEMP5,I_)PRM LST OF €€A_^1_(LDA-_#2,Q_.TYPE A_^1_(SAM_$NUM12_,A NUMERIC_^1_(TRQ_$A_0A PRM LST_^1_(LDQ-_#SST+STEMP1_'PRMLST OF B_^1_(RTJ+_#CMPCHR_+COMPARE STRINGS_^1_(JMP*_#CHECKR_^1NUM12_"LDA-_#ATEMP5,I_)PRMLST OF A_^1_(LDQ-_#SST+STEMP1_'B PRM LIST_^1_(RTJ_$CMPNUM_+COMPARE NUMERIC_^1CHECKR_!STA-_#SST+STEMP1_'RELATION_^1_(LDA-_#CODE,I_+FIRST BYTE OF COMMAND_^1_(AND-_#LPMASK+3_)WHICH RELATION_^1_(SUB-_#SS€€T+STEMP1_^1_(SAP_$1_^1_(TCA_$A_0ABSOLUTE VALUE_^1_(INA_$-2_^1_(SAM_$FILL_-0 OR 1_^1_(INA_$-3_/IF 5_^1_(SAZ_$FILL_^1_(ENA_$5_^1NXTI_#JMP_$NXTINS_+NXT INSTRUCTION_^1FILL_#ENA_$2_^1_(RTJ*_#GETOCG_+THE LABEL INDEX_^1_(JMP_$GOTO_^1GETOCG_!NUM_$0_^1_(STA-_#SST+STEMP2_'WHICH PARAMETER_^1_(EOR-_#LPMASK+2_^1_(TRA_$Q_^1_(LDA-_#VARI,I_+TYPES_^1ROL_$SQZ_$DG_^1_(ARS_$2_^1_(INQ_$-1_^1_(JMP*_#ROL€€_^1DG_%AND-_#LPMASK+2_)TYPE_^1_(LDQ-_#SST+STEMP2_^1_(STA-_#SST+STEMP2_^1_(ADQ-_#DISOCG,I_^1_(INQ_$2_^1_(LDA-_#BASADR,I_)PARAMETER INDEX_^1_(RTJ-_#(GTBY)_^1_(LDQ-_#SST+STEMP2_'TYPE_^1_(JMP*_#(GETOCG)_^1*_]_^1******************** COMPUTE A=B $ C ***************************_^1*_]_^1COMPUT_!RTJ*_#GET2_-GET A AND B_^1_(LDA-_#CODE,I_^1_(AND-_#LPMASK+3_^1_(SAN_$CEX_.NOT A=B_^1CGETA_"LDA-_€€#ATEMP5,I_)A PRM LIST_^1_(RTJ_$TRAN_^1_(SAM_$ERRT_^1_(ENA_$4_^1_(JMP*_#NXTI_^1CEX_$LDA_$TEMP2_^1_(SAM_$NUMD1_^1_(ALS_$1_^1_(SAP_$NUMD1_,NOT ALPHA FIELD_^1ERRT_#JMP_$ERRC8_^1NUMD1_"RTJ*_#ABSA_^1_(ADC_$AB-*_^1_(STA_$ADRB_^1_(INA_$-1_^1_(RTJ*_#TRARIT_+TRANSFER TO SYSTEM_^1_(ENA_$2_0GET C_^1_(RTJ*_#GETOCG_^1_(RTJ_$GETVER_^1*_]_^1_(RTJ*_#ABSA_^1_(ADC_$AC-*_^1_(STA_$ADRC_^1_(INA_$-1_^1_(€€RTJ*_#TRARIT_^1_(RTJ*_#ARIT_^1*_BIN Q PARAMETER LIST OF RESULT_^1_(RAO-_#DISOCG,I_)INCREASE BY ONE BYTE._^1_(JMP*_#CGETA_^1*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$_^1*_!CACULATE ABSOULTE ADDRESS_^1ABSA_#NUM_$0_^1_(LDA*_#(ABSA)_^1_(EOR-_#ONEBIT+15_^1_(ADD*_#ABSA_^1_(AND-_#LPMASK+15_^1_(RAO*_#ABSA_^1_(JMP*_#(ABSA)_^1*_]_^1TRLEN_"NUM_$0_^1TRND_#NUM_$0_^1TRARIT_€€!NUM_$0_^1_(STQ-_#I_0STRING PRM LST_^1_(STA-_#SST+STEMP4_'SYSTEM VARIABLE SIGN ADRESS_^1_(CLR_$A_^1_(STA*_#TRLEN_,LENGTH_^1_(STA*_#TRND_-NUMBER OF DIGITS_^1_(STA-_#(SST+STEMP4)_$+ SIGN_^1_(RTJ_$GETSGN_+GET SIGN OF B_^1_(SAP_$TRS1_-NOT MINUS_^1_(SET_$Q_^1_(AND-_#LPMASK+7_)ASCII CHAR_^1TRS_$STQ-_#(SST+STEMP4)_$STOR - SIGN_^1TRS1_#RAO-_#SST+STEMP4_^1TRB2_#SAN_$TRDIG_,DIGIT_^1TREND_"LD€€Q*_#TRND_-A=0_^1CLB_$STA-_#(SST+STEMP4)_$ZEROS_^1_(INQ_$-15_^1_(SQZ_$STLEN_^1_(INQ_$16_^1_(RAO-_#SST+STEMP4_^1_(JMP*_#CLB_^1STLEN_"ENQ_$-17_^1_(LDA*_#TRLEN_^1_(STA-_#(SST+STEMP4),Q_^1_(LDA-_#SST+CATT_^1_(STA-_#I_^1*_]_^1_(JMP*_#(TRARIT)_^1TRDIG_"RAO*_#TRND_-NUMBER OF DIGITS_^1_(LDQ*_#TRND_^1_(INA_$-$30_^1_(SAZ_$NXTDIG_+LEADING ZEROS WILL_^1_(SAM_$TRDERR_+BE IGNORED_^1_(INA_$$30-$3A€€_^1_(SAP_$TRDERR_^1_(INA_$$A_^1_(STQ*_#TRLEN_^1NXTDIG_!STA-_#(SST+STEMP4)_^1_(RAO-_#SST+STEMP4_^1_(INQ_$-16_^1_(SQZ_$TRDERR_^1_(ENA_$-BLANK_^1_(RTJ*_#IGBL_^1_(JMP*_#TRB2_^1TRDERR_!JMP_$ERRC8_,DATA TYPE ERROR_^1ARIT_#NUM_$0_^1_(LDA_$ALNGB_,LENGTH OF PAR B_^1_(STA-_#SST+STEMP2_^1_(LDA_$ALNGC_^1_(STA-_#SST+STEMP3_'LENGTH OF PAR C_^1_(RTJ*_#ABSA_^1_(ADC_$AA-*_^1_(STA_$ADRA_^1_(LDA-_#CO€€DE,I_^1_(AND-_#LPMASK+3_^1_(TRA_$Q_^1_(INQ_$-1_^1_(LDQ*_#ATAB,Q_^1_(RTJ*_#A11_^1A11_$NUM_$0_^1_(ADQ*_#A11_^1_(JMP-_#(ZERO),Q_^1ATAB_#ADC_$ADD-A11_^1_(ADC_$SUB-A11_^1_(ADC_$AMULT-A11_^1_(ADC_$ADIV-A11_^1***_]_^1*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$_^1*_]_^1* IGNOR BLANKS OR ZEROS._^1* INPUT PARAMETERS_^1*_!I POINTS TO PARAMETER LIST_^1* A BLANK OR ZERO(€€ASCII). IF A NEGATIVE BYTE_^1* COUNT DECREASED, ELSE INCREASED_^1*_]_^1* ON EXIT:_]_^1* A=0 ALL BLANKS OR ZEROS A#0. SIGNIFICANT CHAR_^1IGBL_#NUM_$0_^1_(ENQ_$1_^1_(SAP_$2_^1_(TCA_$A_^1_(ENQ_$-1_^1_(STA*_#ICHAR_^1_(STQ*_#ISTEP_^1INXTCB_!LDQ-_#I_^1_(RTJ+_#GETCHR_^1_(AND-_#LPMASK+7_^1_(SAZ_$IRETON_^1_(LDQ-_#1,I_^1_(ADQ*_#ISTEP_^1_(STQ-_#1,I_^1_(SUB*_#ICHAR_^1_(SAN_$IRETNB_^1_(JMP*_#IN€€XTCB_^1IRETNB_!ADD*_#ICHAR_^1IRETON_!JMP*_#(IGBL)_^1ICHAR_"NUM_$0_^1ISTEP_"NUM_$0_^1*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$_^1*_]_^1*_"COMPARE NUMERIC VARIABLES_^1*_!ON ENTRANCE Q = VARIABLE B PRMLST. A VARIABLE A PRMLST_^1*_!ON RETURN A=0,2,4 IF .EQ.GT.LT. B CORRESPONDINGLY_^1*_]_^1*_]_^1CMPNUM_!NUM_$0_^1_(STQ-_#SST+STEMP2_'B PRM LST_^1_(STA-_#SST+STEMP3_'€€A PRM LST_^1_(STA-_#I_^1_(RTJ*_#GETSGN_+GET SIGN OF A_^1_(STA*_#CHARA_,CHAR OF A_^1_(AND-_#NZERO+15_)SIGN_^1_(STA*_#SIGNA_^1_(EOR*_#CHARA_^1_(STA*_#CHARA_,ASCII CHAR_^1_(CLR_$A_0ASSUME EQUALITY_^1_(STA-_#SST+STEMP4_^1_(LDA-_#SST+STEMP2_'B_^1_(STA-_#I_^1_(RTJ*_#GETSGN_+GET SIGN OF B_^1_(EOR*_#SIGNA_^1_(SAP_$CAB_.SAME SIGN_^1_(EOR*_#SIGNA_^1_(SAP_$1_^1_(JMP*_#ABIG_-SIGNA+_^1_(JMP*_#B€€BIG_-SIGNA-_^1CAB_$SUB*_#CHARA_^1_(SAZ_$CONTAB+1_)CHARA =CHARB_^1_(EOR*_#SIGNA_,IF BOTH MINUS REVERSE THE RELATION_^1_(SAM_$ABIG1_^1_(ENA_$4_^1_(JMP*_#CONTAB_^1ABIG1_"ENA_$2_^1CONTAB_!STA-_#SST+STEMP4_^1*_]_^1_(LDA-_#SST+STEMP3_'A PARM LIST_^1_(STA-_#I_0CONTINUE TO CHECK_^1_(ENA_$-BLANK_+GET NEW CHAR A_^1_(RTJ*_#IGBL_^1_(STA*_#CHARA_^1_(SAZ_$NZA1_^1_(LDA-_#SST+STEMP2_'GET NEW CHAR €€B_^1_(STA-_#I_^1_(ENA_$-BLANK_^1_(RTJ*_#IGBL_^1_(SAZ_$CHKZB_^1_(JMP*_#CAB_^1NZA1_#JMP*_#NZA2_^1CHKZB_"LDA*_#CHARA_^1_(INA_$-ZEROA_^1_(SAN_$ABIG_^1_(LDA-_#SST+STEMP3_'A PRM LIST_^1_(STA-_#I_^1_(ENA_$-ZEROA_^1_(RTJ*_#IGBL_^1_(SAZ_$RETG10_^1ABIG_#ENA_$2_^1_(JMP*_#RETG_^1*_]_^1NZA2_#LDA-_#SST+STEMP2_'IGNORE LEADING_^1_(STA-_#I_0ZEROS OF B_^1_(ENA_$-ZEROA_^1_(RTJ*_#IGBL_^1_(SAZ_$RETG10_€€^1BBIG_#ENA_$4_0B>A_^1_(JMP*_#RETG_^1RETG10_!LDA-_#SST+STEMP4_^1RETG_#LDQ-_#CATT+SST_^1_(STQ-_#I_^1_(JMP*_#(CMPNUM)_^1CHARA_"NUM_$0_^1CHRB_#NUM_$0_^1SIGNA_"NUM_$0_^1*_!GET SIGN SUBROUTINE_^1*_!INPUT- I- ADDRESS OF PARAMETER LSIT_^1* OUTPUT- A=RIGHT MOST DIGIT OR CHAR IF PRECEDDED BY MINUS_^1*_*BIBIT 15 SET. IF ALL STRING IS BLANKS, ASCII ZERO IS_^1*_*RETURNED_^1GETSGN_!NUM_$0_^1_€€(LDA-_#1,I_^1_(ADD-_#3,I_^1_(INA_$-1_^1_(STA-_#1,I_^1_(ENA_$-BLANK_^1_(RTJ*_#IGBL_^1_(TRA_$Q_^1_(SAZ_$PL1_^1_(INQ_$-PLUS_^1_(SQZ_$PL1_^1_(INQ_$PLUS-MINUS_^1_(SQN_$RETGSN_^1_(LDQ-_#ONEBIT+15_^1PL1_$STQ*_#CHRB_^1_(SAZ_$ENTZR_^1_(ENA_$-BLANK_^1_(RTJ*_#IGBL_^1_(SAN_$1_^1ENTZR_"ENA_$$30_^1_(EOR*_#CHRB_^1RETGSN_!JMP*_#(GETSGN)_^1*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$€€$$$$$$_^1TRAN_#NUM_$0_^1_(STA-_#SST+STEMP2_'A PRMLST_^1_(STQ-_#I_0B PRMLST_^1_(TRA_$Q_^1_(LDA-_#2,Q_.TYPE A_^1_(ALS_$2_^1_(STA-_#SST+STEMP3_^1_(ALS_$1_^1_(SAP_$NTF_.NOT FIELD_^1_(AND-_#LPMASK+3_^1_(SAZ_$TCH_^1_(JMP*_#TFIELD_^1NTF_$LDA-_#2,Q_^1_(SAM_$1_0NUMERIC FIELD_^1TCH_$JMP*_#TCHAR_^1* A NUMERIC. BLANKS ARE IGNORED_^1TNUMER_!LDA-_#3,Q_.LENGTH OF A_^1_(ADD-_#1,Q_.BYTE NUMBER_^1_€€(INA_$-1_^1_(STA-_#1,Q_.END OF A_^1_(RTJ*_#GETSGN_+GET SIGN OF B_^1_(TRA_$Q_^1_(AND-_#LPMASK+7_^1_(STA*_#CHART_^1_(SQP_$2_^1_(ENA_$MINUS_^1_(JMP*_#ST3_^1_(LDQ-_#SST+STEMP3_'NUMERIC OR SIGNED NUMERI"_^1_(SQP_$ENTA_-UNSIGNED_^1_(ENA_$PLUS_-IF SIGNED,ENTER PLUS_^1ST3_$RTJ+_#STOR_^1_(SAZ_$ENDTRR_^1_(LDA-_#1,Q_^1_(INA_$-1_/BYTE COUNTER DECREASE BY 1_^1_(STA-_#1,Q_^1ENTA_#LDA*_#CHART_^1E€€NTA1_"SAZ_$ENDB_^1_(RTJ+_#STOR_^1ENDTRR_!SAZ_$ENDTR_^1_(LDA-_#1,Q_^1_(INA_$-1_^1_(STA-_#1,Q_^1NXTB1_"ENA_$-BLANK_+NEW CHAR B_^1_(RTJ_$IGBL_^1_(JMP*_#ENTA1_^1ENDB_#ENA_$ZEROA_^1_(RTJ+_#STOR_^1_(SAZ_$ENDTR_^1_(LDA-_#1,Q_^1_(INA_$-1_^1_(STA-_#1,Q_^1_(JMP*_#ENDB_^1ENDTR_"LDQ-_#CATT+SST_^1_(STQ-_#I_^1_(JMP*_#(TRAN)_^1* A IS STRING VARIABLE IF B NUMERIC LEADING ZEROS AND_^1* + SIGN ARE €€IGNORED_^1TCHAR_"LDA-_#2,I_^1_(SAP_$TRR_.B IS CHAR VARIABLE_^1* A IS STRING, B IS NUMERIC. LEADING ZEROS OF B ARE IGNORED._^1* + SIGN IS IGNORED_^1TBNUM_"ENA_$ZEROA_,IGNORE LEADING ZEROS_^1_(RTJ_$IGBL_^1_(SAZ_$TRR_.ALL ZEROS_^1_(RAO-_#3,I_.POS BEFORE_^1_(LDA-_#1,I_.NON ZERO CHAR_^1_(INA_$-1_^1_(STA-_#1,I_^1TRR_$RTJ+_#TRACHR_^1_(JMP*_#ENDTR_^1* IF THE VARIABLE IS FIELD A CHECK€€ IS DONE FOR THE_^1* VALID TYPE._^1_(EQU_$CHART(*)_^1TLENG_"NUM_$0_^1TFIELD_!LDQ-_#3,I_.LENGTH B_^1_(STQ*_#TLENG_^1_(INA_$-2_^1_(SAZ_$1_^1_(JMP*_#TNUM10_^1TCHKBT_!ENA_$BLANK_^1_(RTJ_$IGBL_^1_(SAZ_$TDN3_^1_(INA_$-ASCIIA_*ASCII VALUE OF A_^1_(SAM_$TBLA_^1_(INA_$ASCIIA-ASCIIZ-1_^1_(SAM_$TNXTA_^1TBLA_#JMP*_#DATERR_^1TNXTA_"JMP*_#TCHKBT_^1*_]_^1TDN3_#LDA*_#TLENG_,FIX PARAMETER LIST_^1_€€(STA-_#3,I_^1_(LDA-_#1,I_^1_(SUB-_#3,I_^1_(STA-_#1,I_^1_(JMP*_#TCHAR_,TRANSFER FROM LEFT TO RIGHT_^1TNUM10_!RTJ*_#GETSGN_+GET SIGN OF B_^1_(SAP_$TDIGC_,NOT MINUS_^1_(LDQ-_#SST+STEMP3_^1_(SQP_$DATERR_+NOT SIGNED_^1_(AND-_#LPMASK+7_)ASCII CHAR_^1TDIGC_"INA_$-$30_^1_(SAM_$DATERR_^1_(INA_$$30-$3A_^1_(SAP_$DATERR_^1TNXTDI_!ENA_$-BLANK_^1_(RTJ_$IGBL_^1TDN44_"SAZ_$TDN4_^1_(JMP*_#TDIGC_^1D€€ATERR_!SET_$A_^1_(JMP*_#ENDTR_^1TDN4_#LDA*_#TLENG_^1_(STA-_#3,I_^1_(RAO-_#1,I_^1_(LDQ-_#SST+STEMP2_^1_(JMP*_#TNUMER_^1************************_^1*_]_^1*_"ARITHMETIC_^1*_]_^1***************************_^1* ENTERING THE DIFFERENT SECTION_^1* ALNGB AND ALNGC ARI IN STEMP2 AND STEMP3_^1* ADRB,ADRC,ADRA ARE ADDRESSES OF AB,AC,AA_^1ADD_$LDQ-_#SST+STEMP3_'LENGTH C_^1_(TRQ_$A_^1_(SUB-_#SS€€T+STEMP2_'-LENGTH B_^1_(SAM_$3_0LENGTH B> LENGTH C_^1_(SQN_$1_^1_(JMP*_#ADDZ_^1_(STQ-_#SST+STEMP2_'C> B, C# 0_^1_(LDA*_#BSIGN_^1_(TRA_$Q_^1_(EOR*_#CSIGN_^1_(SAZ_$1_^1_(JMP*_#SUBM_^1_(ENA_$PLUS-$30_^1_(SQP_$1_^1_(ENA_$MINUS-$30_^1_(ENQ_$1_^1OK5_$STA*_#ASIGN_^1_(STQ-_#SST+STEMP1_'ADD OR SUBTRACT_^1_(CLR_$A_0FROM THE FIRST DIGIT_^1_(RTJ_$ADDSUB_^1*_]_^1* I,Q- MOST SIGNIFICANT NON ZER€€O DIGIT_^1* A- VALUE OF THIS DIGIT_^1_(SAN_$NZ3_^1ADDZ_#JMP*_#AZE_^1NZ3_$SAM_$1_^1_(JMP*_#CHKNZL_+RESULT>0_^1COMP10_!CLR_$A_0CLEAR OVERFLOW DIGIT_^1_(STA*_#AA,Q_^1_(TCQ_$Q_^1COMP11_!LDA*_#AA,B_^1_(SAN_$2_^1_(INQ_$1_^1_(JMP*_#COMP11_^1_(ENA_$10_^1COMP9_"SUB*_#AA,B_^1_(STA*_#AA,B_^1_(INQ_$1_^1_(SQZ_$2_^1_(ENA_$9_^1_(JMP*_#COMP9_^1_(JMP_$ADL1_^1CHKNZL_!INQ_$-15_.LAST NON ZERO DIGIT_€€^1_(SQN_$2_^1_(JMP_$AOVFL_^1_(CLR_$A_0CLR DIGIT FOLLOWING_^1_(STA*_#AA+1,I_+MOST SIGNIFICANT NON_^1_(JMP_$ADLNG1_+ZERO._^1*_]_^1SUBM_#SQP_$OK9_.B POSITIVE C NEGATIVE_^1_(LDA_$ADRB_^1_(LDQ_$ADRC_-CHANGE B AND C_^1_(STA_$ADRC_^1_(STQ_$ADRB_^1OK9_$ENA_$PLUS-$30_)ASSUME PLUS SIGN_^1_(ENQ_$-1_/SUBTRACT_^1_(JMP*_#OK5_^1*_]_^1SUB_$LDA*_#CSIGN_^1_(TCA_$A_^1_(STA*_#CSIGN_^1_(JMP*_#ADD_^1ALN€€GC_"NUM_$0_^1CSIGN_"NUM_$0_^1AC_%BZS_$AC(16)_^1ALNGA_"NUM_$0_^1ASIGN_"NUM_$0_^1AA_%BZS_$AA(16)_^1ALNGB_"NUM_$0_^1BSIGN_"NUM_$0_^1AB_%BZS_$AB(16)_^1*_]_^1*_]_^1CLRAA_"NUM_$0_0CLEAR RESULTS AREA_^1_(CLR_$A_^1CLR11_"STA*_#AA,Q_^1_(SQZ_$2_^1_(INQ_$-1_^1_(JMP*_#CLR11_^1_(JMP*_#(CLRAA)_^1AMULT_"LDA-_#SST+STEMP2_'LENGTH B_^1_(SAZ_$AZE_^1_(LDQ-_#SST+STEMP3_'LENGTH C_^1_(SQZ_$AZE_^1_(AAQ_$A€€,Q_^1_(STA-_#SST+STEMP4_'LENGTH A(A=B*C)_^1_(INA_$-16_^1_(SAZ_$AL_/LENGTH A=16_^1_(SAM_$AL1_.LENGHT A<16_^1_(JMP*_#AOVFL_,OVERFLOW_^1AZE_$JMP*_#AZER_^1AL_%INQ_$-1_/CLEAR RESULTS AREA._^1AL1_$RTJ*_#CLRAA_,16 WORDS AT MOST_^1*_]_^1* Q IS 0. INDEX OF MULTIPLIERS_^1_(STQ-_#I_0AB INDEX_^1ACON1_"STQ-_#SST+STEMP1_(AC INDEX_^1_(LDA*_#AC,Q_-DIGIT OF MULTIPLIER_^1_(SAZ_$AM2_^1ACONT_"LDA*_#€€AB,I_^1_(SAZ_$AM1_^1_(MUI*_#AC,Q_^1_(LDQ-_#SST+STEMP1_^1_(ADD*_#AA,B_^1_(STA*_#AA,B_^1AM1_$RAO-_#I_0INDEX OF B_^1_(LDA-_#I_^1_(SUB-_#SST+STEMP2_'LENGTH B_^1_(SAZ_$1_^1_(JMP*_#ACONT_^1AM2_$STA-_#I_0I=0_^1_(INQ_$1_^1_(TRQ_$A_^1_(SUB-_#SST+STEMP3_'LENGTH C_^1_(SAZ_$1_^1_(JMP*_#ACON1_^1*_]_^1* EDIT TO DECIMAL DIGITS. I=0_^1*_]_^1_(LDA*_#AA,I_^1ACON2_"SAZ_$AZ9_^1_(CLR_$Q_^1_(DVI-_#TEN_^€€1_(STQ*_#AA,I_^1AZ9_$RAO-_#I_^1_(LDQ-_#I_^1_(TCQ_$Q_^1_(ADQ-_#SST+STEMP4_'LENGTH A_^1_(INQ_$-1_^1_(SQZ_$ACKOV_^1_(ADD*_#AA,I_^1_(JMP*_#ACON2_^1*_]_^1*_]_^1ACKOV_"LDQ-_#I_^1_(INQ_$-MAXDIG_*-15_^1_(SQM_$ADLNGA_+LESS THEN 15_^1_(SAZ_$ADLNGA_^1_(JMP*_#AOVFL_^1*_]_^1AZER_#CLR_$A_^1_(STA*_#BSIGN_^1_(STA*_#CSIGN_,RESULT IS +0_^1_(JMP*_#*+2_^1AONE_#ENA_$1_^1_(CLR_$Q_^1_(STQ-_#I_^1ADLNGA_!S€€TA*_#AA,I_^1*_]_^1ACSIN_"ENQ_$PLUS-$30_^1_(LDA*_#BSIGN_,SIGN B_^1_(EOR*_#CSIGN_,SIGN C_^1_(SAZ_$1_^1ADL1_#ENQ_$MINUS-$30_^1_(STQ*_#ASIGN_,SIGN A_^1ADLNG1_!LDA*_#AA,I_^1_(SAZ_$1_0LAST DIGIT IS ZERO_^1_(ENA_$1_^1FIXLEN_!ADD-_#I_^1_(INA_$1_0THE SIGN ALSO_^1FIXLN1_!STA*_#PLNG_^1_(AND-_#LPMASK+1_^1_(STA*_#PBYTE_^1*_]_^1*_]_^1*_]_^1ACON33_!ENQ_$7_0PACK AS ASCII STRING_^1_(CLR_$A_^1_(STA-€€_#I_0IN PARAMETER B AREA_^1ACON3_"LDA*_#AA-1,I_^1_(INA_$$30_^1_(AND-_#LPMASK+8_^1_(ALS_$8_^1_(EOR*_#AA,I_^1_(INA_$$30_^1_(ALS_$8_^1_(STA*_#AB,Q_^1_(LDA-_#I_^1_(INA_$2_^1_(STA-_#I_^1_(SUB*_#PLNG_-LENGTH OF RESULT_^1_(SAP_$RETAR_^1_(INQ_$-1_^1_(JMP*_#ACON3_^1*_]_^1RETAR_"RTJ_$ABSA_^1_(ADC_$AB-*_^1_(AAQ_$Q_^1_(STQ*_#PADR_^1_(RTJ_$ABSA_^1_(ADC_$PLST-*_^1_(TRA_$Q_^1_(LDA-_#SST+CATT_^1_(€€STA-_#I_^1_(JMP_$(ARIT)_^1AOVFL_"JMP_$ERRC8_,DATA TYPE ERROR_^1ADIV_#LDA-_#SST+STEMP2_'LENGTH B_^1_(LDQ-_#SST+STEMP3_'LENGTH C_^1_(SQN_$1_^1_(JMP*_#AOVFL_,X/O_^1_(SAZ_$DIV2_-O/X_^1_(SUB-_#SST+STEMP3_^1_(SAP_$1_^1DIV2_#JMP*_#AZER_^1_(STA-_#SST+STEMP4_'LENGTH A-1_^1_(STA*_#PLNG_-LENGTH A-1_^1_(SAN_$SHIF_^1*_]_^1NOSIFT_!ENQ_$-1_/CALCULATE B-C_^1_(STQ-_#SST+STEMP1_^1* A=O_]_^1_(RTJ_$AD€€DSUB_^1_(SAP_$1_0B>C_^1_(JMP*_#AZER_^1C5C21_"SAN_$C5C2_^1_(JMP*_#AONE_-B=C_^1SHIF_#STA-_#I_0SHIFT C, Q=LENGTH C_^1DSIFT_"INQ_$-1_^1_(LDA_$(ADRC),Q_^1_(STA_$(ADRC),B_^1_(SQZ_$C5C2_^1_(JMP*_#DSIFT_^1C5C2_#LDA_$ADRB_-PUT RESULT OF SUBTRACTION_^1_(STA_$ADRA_-TO BE PARAMETER_^1_(LDQ-_#SST+STEMP4_'LENGTH A-1_^1_(STQ-_#I_^1_(INQ_$1_^1_(RTJ_$CLRAA_,CLEAR RESULTS AREA_^1* Q IS ZERO_^1_(STQ€€_$BP,I_-FIRST DIGIT IN MULTIPEL_^1_(STQ_$BPP,I_^1APB_$CLR_$Q_^1_(LDA*_#(ADRC),I_)AC DIGIT_^1_(ALS_$1_0X2_^1_(ADD*_#BP,I_^1_(DVI-_#TEN_^1_(STQ*_#BP,I_^1_(STA*_#BP+1,I_^1_(TRQ_$A_^1_(ALS_$1_0ACX2_^1_(ADD*_#(ADRC),I_^1_(ADD_$BPP,I_^1_(CLR_$Q_^1_(DVI-_#TEN_^1_(STQ_$BPP,I_,REMAINDER_^1_(STA_$BPP+1,I_^1_(LDA-_#I_^1_(SUB-_#SST+STEMP2_'LENGTH B_^1_(SAZ_$DIG2_^1_(RAO-_#I_^1_(JMP*_#APB_^1_(E€€QU_$PLST(*)_^1_(EQU_$DFLAG2(*)_^1PADR_#ADC_$0_^1_(EQU_$DFLAG1(*)_^1PBYTE_"NUM_$0_^1PTYPE_"NUM_$$C000_^1PLNG_#NUM_$0_^1* BINARY SEARCH OF THE VALUE OF THE DIGIT_^1DIG2_#CLR_$A_^1_(STA*_#DFLAG1_^1_(ENA_$5_^1_(STA*_#DIG_^1_(ENQ_$-1_^1_(STQ-_#SST+STEMP1_'ADD/SUB INDICATOR_^1_(ENQ_$2_^1DBR_$STQ*_#DFLAG2_+WHICH MULTIPLE_^1_(LDQ_$DTAB1,Q_^1_(STQ*_#DTAB_^1_(RTJ_$ABSA_^1DTAB_#ADC_$0_^1_(STA€€*_#ADRC_^1DBR1_#LDA*_#PLNG_-FROM WHICH DIGIT TO_^1_(RTJ*_#ADDSUB_+ADD._^1_(SAN_$2_^1_(STA-_#SST+STEMP1_'NO NEXT MOVE_^1_(JMP*_#ADIG10_+RESULT IS ZERO_^1_(LDQ*_#DFLAG2_^1_(SQN_$1_^1_(INQ_$1_0IF 0 1 SHOULD BE ADDED_^1_(SAP_$S11_^1_(ENA_$1_0NEXT MOVE,ADD_^1_(TCQ_$Q_^1_(JMP*_#*+2_^1S11_$ENA_$-1_^1_(ADQ*_#DIG_^1_(STQ*_#DIG_^1_(STA-_#SST+STEMP1_'ADD/SUB NEXT_^1_(LDQ*_#DFLAG2_+LENGTH OF P€€ASS_^1_(INQ_$-1_^1_(SQM_$D26_^1_(ADD*_#DFLAG1_^1_(STA*_#DFLAG1_^1_(JMP*_#DBR_^1D26_$LDQ*_#DFLAG1_^1_(SQZ_$ADIG10_+B<5C,B>3C,OR B>5C,B<7C_^1_(EAQ_$Q_^1_(SQM_$ADIG10_+B<5C,B<3C,B>C,B>5C,B>7C,<8C_^1_(CLR_$A_^1_(STA*_#DFLAG1_^1_(JMP*_#DBR1_^1ADIG10_!LDQ-_#SST+STEMP1_^1_(LDA*_#DIG_.NEXT MOVE_^1_(SQP_$1_^1_(INA_$-1_/IF ADD_^1_(LDQ-_#SST+STEMP4_^1_(STA_$AA,Q_^1_(SQN_$1_^1_(JMP*_#DIVFIN_+A€€LL DIGITS HAS BEEN DECIDED_^1_(LDQ-_#SST+STEMP1_^1_(SQZ_$NOADD_,NO REMAINDER_^1_(SQM_$NOADD_,NEXT MOVE SUBTRACTION_^1_(LDA*_#PLNG_^1_(RTJ*_#ADDSUB_^1NOADD_"LDA-_#SST+STEMP2_'LENGTH B_^1_(SUB-_#I_0FIRST NON ZERO(OUTPUT ADDSUB)_^1_(INA_$-2_/OVF DIG AND LAST DOES NOT_^1_(SAP_$1_0COUNT_^1_(CLR_$A_^1_(INA_$1_^1_(LDQ-_#I_^1_(STA-_#I_^1_(TCA_$A_^1_(ADD-_#SST+STEMP4_^1_(STA-_#SST+STEMP4_^1€€_(SAP_$DSIF2_^1DIVFIN_!LDA*_#PLNG_^1_(STA-_#I_^1_(JMP_$ACSIN_^1DSIF2_"LDA*_#(ADRB),Q_)SHIFT B. FROM FIRST NON_^1_(STA*_#(ADRB),B_)ZERO ON._^1_(INQ_$-1_^1_(SQM_$1_^1_(JMP*_#DSIF2_^1_(JMP*_#DIG2_^1ADRC_#ADC_$0_^1ADRB_#ADC_$0_^1ADRA_#ADC_$0_^1BP_%BZS_$BP(17)_^1BPP_$BZS_$BPP(17)_^1DIG_$NUM_$0_^1*_]_^1* THE ADD/SUBTRACT SUBROUTINE,ADDS OR SUBTRACT THE VARIABLES_^1* WHOSE ADDRESSES ARE €€GIVEN IN ADRB,ADRC FROM THE I'TH DIGIT_^1* (GIVEN IN A) IF SST+STEMP1 IS NEGATIVE, SUBTRACTION IS_^1* PERFORMED. THE VARIABLE SST+STEMP2 IS THE MAXIMUM LENGTH_^1* BETWEEN THE TWO._^1*_]_^1*_]_^1* IF THE RESULT IS ALL ZEROS A IS ZERO. Q=A_^1* IF A#0, I CONTAINS THE INDEX OF THE FIRST NON ZERO._^1* DIGIT._]_^1* A CAN BE NEGATIVE OR POSITIVE._^1ADDSUB_!NUM_$0_^1_(STA-_#I_^1_(STA*€€_#TEMPA_^1_(CLR_$A_^1*_]_^1ANDIG_"LDQ-_#SST+STEMP1_^1_(ADD*_#(ADRB),I_^1_(SQM_$2_^1_(ADD*_#(ADRC),I_^1_(JMP*_#*+2_^1_(SUB*_#(ADRC),I_^1_(LDQ-_#I_^1_(TCQ_$Q_^1_(ADQ-_#SST+STEMP2_^1_(SQZ_$LSTD_^1_(LDQ-_#SST+STEMP1_^1_(SAM_$A113_^1_(INA_$-10_^1_(SAP_$A12_^1_(CLR_$Q_^1A113_#INA_$10_^1A12_$STA*_#(ADRA),I_^1_(TRQ_$A_^1_(RAO-_#I_^1_(JMP*_#ANDIG_^1LSTD_#STA*_#(ADRA),I_)OVERFLOW DIGIT_^1_(L€TDA-_#I_^1_(SUB*_#TEMPA_^1_(TRA_$Q_^1_(LDA*_#TEMPA_^1_(STA-_#I_^1ACZER_"LDA*_#(ADRA),B_^1_(SAN_$ARET_^1_(SQZ_$ARET_^1_(INQ_$-1_^1_(JMP*_#ACZER_^1*_]_^1ARET_#ADQ-_#I_0FIRST NON ZERO DIGIT_^1_(STQ-_#I_^1_(JMP*_#(ADDSUB)_)OVF DIGIT OR OTHER_^1DTAB1_"ADC_$AC-DTAB_^1_(ADC_$BP-DTAB_^1_(ADC_$BPP-DTAB_^1TEMPA_"NUM_$0_^1_(EQU_$EOCGEX(*)_^1_(END_^__TPMIPCYB CSY/ P€1_%NAM MIPCYB_'DECK-ID B07 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_%SPC 1_^1*_]_^1*_$MANUAL INTERRUPT RESPONSE HANDLER FOR INPUTS_^1*_$OTHER THAN * BUT ONLY CONCERNING CYBERDATA_^1*_$SMALL SYSTEMS DEPARTMENT_^1*_$CONTROL DATA HOLLAND_^1_%SP€€C 2_^1*_$INPUT_-FUNCTION_^1****************************************************************_^1*_$VL_0ACTIVATES CYBERDATA STARTUP ROUTINE_^1*_$VLTP_.ACTIVATES CYBDAT. TERM. TYPE CHANGE ROUTINES_^1*_$VLBG_.ACTIV. CYBDATA STARTUP/BACKGROUND OPERATION CO_^1*_$VLOS_.SETS/CLEARS FLAG FOR CYBDATA STARTUP AT NEXT A_^1*_$VLST_.LIST CORE ALLOC. WITH CURR. VLOS/VLBG SETTINGS_^1*_$TP_0TAPE - €€TO - PRINT PROGRAM_,P2*L0009_^1_%SPC 3_^1****************************************************************_^1*_*E X T E R N A L S_A*_^1****************************************************************_^1_%SPC 1_^1_%EXT VLSTRT_'CYBERDATA STARTUP_^1_%EXT VLTYPE_'SET TERMINAL TYPE_^1_%EXT VLBGOP_'SET BACKGROUND CORE SIZE_^1_%EXT VLOSOP_'SET CYBERDATA ACTIVATION FLAG_^1_%EXT VLSTT€€S_'LIST CORE SETUP_^1_%EXT VLOS_)CYBERDATA ACTIVATION FLAG_^1_%EXT MIBVL_(CYBERDATA ACTIVE FLAG_^1_%EXT MIBX_)MANUAL INTERRUPT BUSY FLAG_^1_%EXT TTP_*TAPE TO PRINT_8P2*L0009_^1_%EXT MIINP_(MI INPUT BUFFER (SYSDAT)_-P2*L0009_^1_%SPC 1_^1****************************************************************_^1*_*E Q U A T E S_E*_^1*****************************************************€€***********_^1_%SPC 1_^1_%EQU ADISP($EA)_"ADDRESS OF DISPATCHER_^1_%EQU AMONI($F4)_"ADDRESS OF MONITOR_^1_%EQU LPMASK($2)_^1_%EQU SIX($44)_$CELL CONTAINING SIX_^1_%EQU ZERO($22)_#CELL CONTAINING ZERO_^1_%EJT_]_^1MIPCYB STQ* INPBUF_'SAVE INPUT BUFFER ADDRESS_^1_%ENA 0_^1_%STA- I_^1_%STA* ISAVE_^1*_]_^1*_$PICK-UP FIRST TWO CHAR FROM INPUT_^1*_]_^1REPEAT LDQ* INPBUF_^1_%LDA- (Z€€ERO),Q_$FIRST TWO CHARACTERS_^1_%SUB* FUNCTN,I_$DO THEY MATCH_^1_%SAZ CHAR2_(YES_^1_%JMP* NEXT_)NO_^1*_]_^1CHAR2 LDA* FUNCTN+1,I_"IS THIS TWO CHARACTER COMMAND?_^1_%SUB =A_^1_%SAN NOT2_)NO, GO CHECK_^1_%LDA- I_,YES_^1_%STA* FOUND2_^1_%JMP* NEXT_^1*_]_^1NOT2_!LDA* FUNCTN+1,I_"DO ALL FOUR CHARACTERS MATCH?_^1_%SUB- 1,Q_^1_%SAN NEXT_)NO_^1*_]_^1FOUND LDA* FUNCTN+2,I_"YES,PROCESS€€ THE REQUEST_^1_%INA -1_^1_%STA* JMP+1_^1JMP_"JMP ERROR_^1*_]_^1NEXT_!RAO* ISAVE_^1_%LDA* ISAVE_^1_%MUI- SIX_*SET UP FOR NEXT GROUP_^1_%STA- I_^1_%SUB* MAX_*ARE WE THROUGH_^1_%SAP FINI_)YES_^1_%JMP* REPEAT_'NO,TRY AGAIN_^1_%EJT_]_^1FINI_!LDQ* INPBUF_^1_%LDA* FOUND2_'SEE IF 2 CHARACTER MATCH FOUND_^1_%SAM FOUT_)NO_^1_%STA- I_,SETUP MATCH INDEX_^1_%JMP* FOUND_(PROCESS INPUT_^1*_]€€_^1FOUT_!JMP* ERROR_(ILLEGAL REQUEST_^1*_]_^1FOUND2 NUM -1_^1INPBUF NUM 0_^1ISAVE NUM 0_^1*_]_^1*_$MAKE SYSTEM DIRECTORY SCHEDULAR CALL IF PROGRAM SUPPLIED_^1*_]_^1GETIND LDQ* FUNCTN+4,I_"GET ORDINAL INDEX_^1_%LDA* ORDTBL,Q_$GET ORDINAL_^1_%EOR- LPMASK+15_#IS IT PATCHED_^1_%SAN GET1_)YES_^1_%JMP* ERROR_^1*_]_^1GET1_!LDA ORDTBL,Q_$GET ORDINAL_^1_%STA* PROG_)STORE INTO SCHEDULA€€R CALL_^1_%TRA Q_^1_%ADQ- $EB_^1_%LDA- 4,Q_*HAS THE ORDINAL BEEN LOADED_^1_%SAN GET2_)YES_^1_%EJT_]_^1GETERR JMP* ERROR_^1GET2_!LDA* FUNCTN+3,I_^1_%STA* CALL_)SET THE LEVEL OF THE PROGRAM_^1_%LDQ* FUNCTN+5,I_"OBTAIN THE PARAMETER TO PASS_^1SCHDRP RTJ- (AMONI)_%SCHEDULE REQUESTED PROGRAM_^1CALL_!NUM $5204_^1PROG_!ADC 0_^1_%JMP* CYBDON_^1*_]_^1ERROR LDA =XMSG1-REF_"TO PRINT - M€€I INPUT ERROR -_^1_%STA* MSGLOC_^1_%RTJ- (AMONI)_^1REF_"NUM $D33_^1_%ADC CYBDON-REF_^1_%ADC 0_^1_%ADC $18FC_^1_%ADC 7_^1MSGLOC ADC 0_^1_%JMP- (ADISP)_^1*_]_^1CYBDON ENA 0_^1_%STA+ MIBX_)CLEAR BUSY FLAG IN MAIN INT PROGRAM_^1_%RTJ- (AMONI)_%RELEASE CORE AND EXIT_^1LIST_!NUM $1901_^1_%ADC (MIPCYB-LIST)_^1*_]_^1MSG1_!ALF *,MI INPUT ERROR*_^1*_]_^1VLSTR LDA VLOS_)STARTUP LE€€GAL IF NOT INHIBITED_^1_%SAM VLREJ_(AND NOT ACTIVE_^1_%LDA MIBVL_(CYBERDATA ACTIVE FLAG_^1_%SAN VLREJ_^1_%JMP GETIND_^1VLREJ JMP* ERROR_^1_%EJT_]_^1FUNCTN ALF 2,VL_)CYBERDATA STARTUP_^1_%ADC VLSTR-JMP_^1_%NUM $2406_^1_%NUM 0_^1_%NUM 0_^1*_]_^1_%ALF 2,VLTP_'CYBERDATA TERMINAL TYPE CHANGES_^1_%ADC GETIND-JMP_^1_%NUM $2406_^1_%NUM 1_^1_%NUM 0_^1*_]_^1_%ALF 2,VLBG_'CYBE€€RDATA+BACKGROUND OPERATION CONTROL_^1_%ADC GETIND-JMP_^1_%NUM $2406_^1_%NUM 2_^1_%NUM 0_^1*_]_^1_%ALF 2,VLOS_'CYBERDATA STARTUP CONTROL_^1_%ADC GETIND-JMP_^1_%NUM $2406_^1_%NUM 3_^1_%NUM 0_^1*_]_^1_%ALF 2,VLST_'CYBERDATA STARTUP STATUS_^1_%ADC GETIND-JMP_^1_%NUM $2406_^1_%NUM 4_^1_%NUM 0_^1*_]_^1*_$TAPE TO PRINT_KP2*L0009_^1_%ALF 2,TP_OP2*L0009_^1_%ADC GETIND-JMP_IP€€2*L0009_^1_%NUM $2403_NP2*L0009_^1_%NUM 5_RP2*L0009_^1_%NUM 0_RP2*L0009_^1*_]_^1*_$TAPE TO PRINT (NEW BUFFER SIZE)_9P2*L0009_^1_%ALF 2,TP,B_MP2*L0009_^1_%ADC GETIND-JMP_IP2*L0009_^1_%NUM $2403_NP2*L0009_^1_%NUM 5_RP2*L0009_^1_%ADC MIINP_NP2*L0009_^1MAX_"ADC *-FUNCTN_^1*_]_^1ORDTBL ADC VLSTRT_'0 ORDINAL TABLE FOR MNEMONICS_^1_%ADC VLTYPE_'1_^1_%ADC VLBGOP_'2_^1_%ADC VL€TOSOP_'3_^1_%ADC VLSTTS_'4_^1_%ADC TTP_*5_DP2*L0009_^1_%SPC 2_^1_%END MIPCYB_^__ TPVLOSOP CSY/ P€1_%NAM VLOSOP_'DECK-ID B05 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* VALIDATA COMMAND TO SELECT START UP CONDITION_^1*_]_^1* CALLING: MI_^1*_)VLOS_^1*_]_^1* REQUEST PARAMETERS:_^1*_]_^1*_'MODE_^1*_]_^1* WHERE MODE = A "STD" FOR STANDRD€€ START UP. VALIDATA AREA 5_^1*_7IN ALLOCATABLE WILL BE SYSTEM CONSTANT_^1*_]_^1*_.B "NONE" VALIDATA DISACTIVATED_^1*_]_^1*_.C "BCKG" BACKGROUND REQUESTED WILL BE LEFT AS_^1*_8UNPROTECTED_^1*_]_^1* NOTE :_]_^1*_'CHANGES WILL TAKE PLACE AT NEXT START UP._^1*_]_^1_%EXT VLOS_^1_%EQU LPMASK($2)_^1_%EQU DISPCH($EA)_^1_%EJT_]_^1_%NUM $C8FE_(LDA* *-1 GET RELEASE ADDR_^1_%STA* REL+2_^1*€€_]_^1VLOS1 SET A_^1_%STA* IN_^1_%STA* IN+1_^1*_]_^1_%FWRITE_!$FC,CMP1-*+1,MES1-*+5,5,A,5,6,I,X_^1_%JMP- (DISPCH)_^1*_]_^1CMP1_!FREAD_"$FD,CMP2-*+1,IN-*+5,2,A,5,6,I,X_^1_%JMP- (DISPCH)_^1*_]_^1CMP2_!SQP VLOS2_(CHECK FOR ERRORS._^1_%JMP* ERROR2_^1*_]_^1VLOS2 ENA 0_^1_%STA- I_^1*_]_^1VLOS3 ENQ 1_,CHECK FOR LEGAL MODES._^1VLOS4 LDA* IN,Q_^1_%SUB* MODEB+1,B_^1_%SAN TRYNXT_^1_%S€€QZ VLOS6_^1_%INQ -1_^1_%JMP* VLOS4_^1*_]_^1TRYNXT LDA- I_^1_%INA 3_^1_%STA- I_^1_%INA -3-3-3_^1_%SAZ VLOS5_^1_%JMP* VLOS3_^1*_]_^1VLOS5 JMP* ERROR1_'ERROR_^1*_]_^1VLOS6 LDA* MODEB,I_^1_%STA* VLOSC_^1*_]_^1_%ENQ 4_^1_%LDA- ($E9),Q_%CORE IMAGE START SECTOR_^1_%MUI =N96_^1_%ADD =XVLOS_^1_%SAP VLOS6A_'SKIP IF ADDRESS NOT ABOVE 32K_^1_%AND- LPMASK+15_#CLEAR BIT 15 OF LSB_^1_%€€ENQ 1_^1_%STQ MMM_*BUMP MSB_^1VLOS6A EQU VLOS6A(*)_^1_%STA* MM1_^1_%RTJ- ($F4)_^1WRITE NUM $0556_^1_%ADC CMP3-WRITE_^1_%NUM 0,$8C2_^1_%NUM 1_^1_%ADC VLOSC-WRITE_^1*_]_^1MMM_"NUM 0_,MSB_^1MM1_"ADC 0_^1*_]_^1_%JMP- (DISPCH)_^1*_]_^1CMP3_!SQP VLOS7_^1_%JMP* ERROR2_^1VLOS7 FWRITE $FC,REL-*+1,MES2-*+5,6,A,5,6,I,X_^1_%JMP- (DISPCH)_^1*_]_^1REL_"RELEAS 0,1_^1*_]_^1MES1_!ALF 4€€, VLOS IN_^1_%NUM $0D0A_^1MES2_!ALF 5, VLOS OUT_^1_%NUM $0D0A_^1IN_#BZS IN(2)_^1ER1_"ALF 6, DATA ERROR_^1ER2_"ALF 6, I/O ERROR_^1*_]_^1MODEB NUM 0_^1_%ALF 1,ST_)STD= 0_^1_%NUM $44FF_^1*_]_^1_%NUM -1_^1_%ALF 2,NONE_'NONE=-1_^1*_]_^1_%NUM 1_^1_%ALF 2,BCKG_'BCKG=1_^1*_]_^1VLOSC NUM 0_^1*_]_^1ERROR1 LDA =XER1-P1-1_^1_%JMP* P0_^1*_]_^1ERROR2 LDA =XER2-P1-1_^1P0_#STA* P€N1+6_^1P1_#FWRITE_!$FC,VLOS1-*+1,0,6,A,5,6,I,X_^1_%JMP- (DISPCH)_^1_%END_]_^__ NPVLBGOP CSY/ P€1_%NAM VLBGOP_'DECK-ID B04 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* VALIDATA COMMAND TO MODIFY AMOUNT BACKGROUND CORE AND_^1* ITS OPERATION MODE. CHANGE WILL TAKE PLACE AT NEXT START UP._^1*_]_^1* CALLING: MI_^1*_)VLBG_^1*_]_^1* REQUES€€T PARAMETERS:_^1*_(CORE,MODE_^1*_]_^1* WHERE 1. CORE = AMOUNT OF REQUESTED BACKGROUND CORE._^1*_'2. MODE = 2A. MUST"I.E.BACKGROUND SPECIFIED MUST BE_^1*_4OPERATIONAL_^1*_12B."NONE" BACKGROUND NOT REQUESTED AT ALL_^1*_]_^1*_12C."RQST" I.E BACKGROUND SPECIFIED IS_^1*_5REQUESTED AND WILL BE OPERATIONAL ONLY IF_^1*_5POSSIBLE_^1*_]_^1* EXAMPLE 0400,MUST_^1*_]_^1_%EXT BGCORE_^1_%EQU M€€INBG($400)_!MINIMUM BACKGROUND_^1_%EQU DISPCH($EA)_^1_%EQU LPMASK($2)_^1_%EJT_]_^1_%NUM $C8FE_(LDA* *-1 GET RELEASE ADDR_^1_%STA* REL+2_(AND SAVE IN RELEAS REQUEST_^1VLBG1 ENQ 4_,CLEAR INPUT BUFFER_^1_%SET A_^1VLBG1A STA* IN,Q_^1_%SQZ VLBG1B_^1_%INQ -1_^1_%JMP* VLBG1A_^1VLBG1B FWRITE_!$FC,CMP1-*+1,MES1-*+5,5,A,5,6,I,X_^1_%JMP- (DISPCH)_^1*_]_^1CMP1_!FREAD_"$FD,CMP2-*+1,IN-*€€+5,5,A,5,6,I,X_^1_%JMP- (DISPCH)_^1*_]_^1CMP2_!SQP VLBG2_(CHECK FOR READ ERRORS._^1_%JMP* ERROR2_^1*_]_^1VLBG2 RTJ* ASCHEX_'CONVERT AMMOUNT OF REQUESTED CORE_^1_%SUB =XMINBG_%CHECK IF BIG ENOUGH._^1_%SAP VLBG2A_'SKIP IF O.K._^1_%JMP* ERROR1_'ELSE ERROR._^1VLBG2A RTJ* CMODE_(GET MODE_^1*_]_^1_%ENQ 4_^1_%LDA- ($E9),Q_%CORE IMAGE START SECTOR_^1_%MUI =N96_^1_%ADD =XBGCORE_^1_%S€€AP VLBG2B_'SKIP IF ADDRESS NOT ABOVE 32K_^1_%AND- LPMASK+15_#CLEAR BIT 15 OF LSB_^1_%ENQ 1_^1_%STQ* MMM_*BUMP MSB_^1VLBG2B EQU VLBG2B(*)_^1_%STA* MM1_^1_%RTJ- ($F4)_^1WRITE NUM $0556_^1_%ADC CMP3-WRITE_^1_%NUM 0,$8C2_^1_%NUM 2_^1_%ADC CORE-WRITE_^1*_]_^1MMM_"NUM 0_,MSB_^1MM1_"ADC 0_^1_%JMP- (DISPCH)_^1*_]_^1CMP3_!SQP VLBG4_(CHECK FOR I/O ERRORS_^1_%JMP* ERROR2_^1*_]_^1V€€LBG4 FWRITE $FC,REL-*+1,MOUT-*+5,6,A,5,6,I,X_^1_%JMP- (DISPCH)_^1REL_"RELEAS 0,1_^1*_]_^1CORE_!NUM 0_^1MODE_!NUM 0_^1*_]_^1IN_#BZS IN(5)_(INPUT BUFFER_^1*_]_^1*_]_^1ERROR1 LDA =XER1-P1-1_^1_%JMP* P0_^1*_]_^1ERROR2 LDA =XER2-P1-1_^1P0_#STA* P1+6_^1P1_#FWRITE_!$FC,VLBG1-*+1,0,6,A,5,6,I,X_^1_%JMP- (DISPCH)_^1*_]_^1_%EJT_]_^1*_]_^1ASCHEX NOP 0_,ASCII TO HEX CONVERTION (1 WORD)_€€^1_%CLR A_^1_%STA* CORE_^1_%LDA* IN_^1_%ARS 8_^1_%RTJ* ASCHX_(CONVERT 1 HEX DIGIT_^1_%LDA* IN_^1_%RTJ* ASCHX_^1_%LDA* IN+1_^1_%ARS 8_^1_%RTJ* ASCHX_^1_%LDA* IN+1_^1_%RTJ* ASCHX_^1_%JMP* (ASCHEX)_$BACK TO CALLER_^1*_]_^1ASCHX NOP 0_,CONVERT ONE HEX DIGIT_^1_%AND- LPMASK+7_^1_%INA -$30_^1_%SAM ASCER_^1_%TRA Q_,TRANSFER DIGIT TO Q_^1_%INA -$A_^1_%SAM ASCHXE_'DIGIT IN Q REG._€€^1_%INA -$41+$30+$A_^1_%SAM ASCER_^1_%INQ -$41+$30+$A_!ADJUST Q_^1_%INA -$6_^1_%SAM ASCHXE_^1*_]_^1ASCER JMP* ERROR1_'ERROR_^1*_]_^1ASCHXE LDA* CORE_)ADD IN CURRENT DIGIT_^1_%ALS 4_^1_%AAQ A_^1_%STA* CORE_^1_%JMP* (ASCHX)_%BACK TO CALLER_^1*_]_^1CMODE NOP 0_,GET MODE_^1_%ENA 0_^1_%STA- I_^1CMODE1 ENQ 2_^1CMODE2 LDA* IN+2,Q_^1_%SUB* MODEB+1,B_^1_%SAN TRYNXT_^1_%SQZ CMO€€DEX_^1_%INQ -1_^1_%JMP* CMODE2_^1*_]_^1TRYNXT LDA- I_,TRY NEXT VALUE_^1_%INA 4_^1_%STA- I_^1_%INA -4-4-4_'CHECK FOR LAST VALUE_^1_%SAZ 1_^1_%JMP* CMODE1_^1_%JMP* ERROR1_^1*_]_^1CMODEX LDA* MODEB,I_^1_%STA* MODE_^1_%JMP* (CMODE)_^1*_]_^1MODEB NUM 1_^1_%ALF 2,,MUS_'MUST=1_^1_%NUM $54FF_^1*_]_^1_%NUM 0_^1_%ALF 2,,RQS_'RQST=0_^1_%NUM $54FF_^1*_]_^1_%NUM -1_^1_%ALF 2,,NON_'€²NONE=-1_^1_%NUM $45FF_^1*_]_^1MOUT_!ALF 5, VLBG OUT_^1_%NUM $0D0A_^1MES1_!ALF 4, VLBG IN_^1_%NUM $0D0A_^1*_]_^1ER1_"ALF 6, DATA ERROR_^1ER2_"ALF 6, I/O ERROR_^1_%END_]_^__²PVLSTTS CSY/ P€1_%NAM VLSTTS_'DECK-ID B06 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* VALIDATA START UP STATUS REPORT_^1*_]_^1* CALLING:_]_^1*_'MI_^1*_'VLST_^1*_]_^1* REPORT PRINTED AS FOLLOWES._^1*_]_^1*_]_^1*_"AREA LEFT FOR SYSTEM USE XXXX_^1*_"REQUES€€TED BACKGROUND XXXX_^1*_"VALIDATA ACTIVATION XXXX (STD /NONE/BCKG)_^1*_"BACKGROUND ACTIVATION XXXX (NONE/MUST/RQST)_^1*_]_^1*_]_^1*_!VLOS BCKG V700 BCKG_^1*_!ACTV ACTV CORE CORE_^1*_]_^1*_!STD_!NONE XXX1 0000_^1*_(MUST XXX2 XXX3_^1*_(RQST DYNM UNDF_^1*_]_^1*_!NONE ---- 0000 XXX5_^1*_]_^1*_!BCKG NONE XXX1 0000_^1*_(MUST XXX6 XXX4_^1*_(RQST DYNM UNDF_^1*_]_^1* W€€HERE :_]_^1*_'XXX1 = TOTAL AVILABLE CORE_^1*_'XXX2 = STANDRD AREA 5 SIZE_^1*_'XXX3 = BACKGROUND AREA WITH XXX2 FOR VALIDATA_^1*_'XXX4 = REQUEST AMOUNT OF BACK GROUND CORE_^1*_'XXX5 = MAX AVAILABLE CORE FOR BACKGROUND_^1*_'XXX6 = MAX V700 CORE WHEN XXX4 BACKGROUND OPERATIVE._^1*_]_^1_(EJT_^1_%EXT LFTOVR,BGCORE,VLOS,VLBCKG,TOTAVL,VLA5S_^1_$EXT N1,N2,N4,N5,N6,N7,N8,N9,N10,N11,N12,N€€13,N14,N15_#07*C1412_^1_%EXT PSIZV4_L07*C1412_^1_(EXT_$AREAC,END0V4_@06*C1320_^1*_]_^1_%EQU LPMASK(2)_^1*_]_^1_%EJT_]_^1*_]_^1_%NUM $C8FE_(LDA* *-1 GET RELEASE ADDR._^1_%STA* REL+2_^1*_]_^1_%LDA+ LFTOVR_'AREA ALWAYS LEFT FOR SYSTEM USE(ODEBUG_^1_%RTJ* HEXASC_'SYSCOP EXTC)_^1_%RTJ* STORE_^1_%ADC LO-*_^1_%LDA+ BGCORE_'BACKGROUND CORE_^1_%RTJ* HEXASC_^1_%RTJ* STORE_^1_%ADC BG-*_^€€1_%RTJ* STORE_^1_%ADC XXX4-*_^1_%LDA+ VLOS_)VALIDAT ACTIVATION_^1_%SAM PST3_)NONE. SKIP (ALREADY IN BUFFER)_^1_%SAZ PST1_^1_%LDA =ABC_3BCKG_^1_%LDQ =AKG_^1_%JMP* PST2_^1PST1_!LDA =AST_^1_%LDQ =AD_^1PST2_!RTJ* STORE_^1_%ADC OS-*_^1PST3_!LDA+ VLBCKG_'BACKGROUND ACTIVATION_^1_%SAM PST6_)NONE._^1_%SAZ PST4_^1_%LDA =AMU_^1_%LDQ =AST_^1_%JMP* PST5_^1PST4_!LDA =ARQ_^1_%LDQ =€€AST_^1PST5_!RTJ* STORE_^1_%ADC BG1-*_^1PST6_!LDA+ TOTAVL_'TOTAL AVAILABLE CORE_^1_%RTJ* HEXASC_^1_%RTJ* STORE_^1_%ADC XXX1-*_^1_%RTJ* STORE_^1_%ADC XXX1A-*_^1_%LDA+ VLA5S_(STD AREA 5 SIZE_^1_%RTJ* HEXASC_^1_%RTJ* STORE_^1_%ADC XXX2-*_^1_%ENQ 14_+SUM ALLOCATED CORE LENGTH_^1_%ENA 2_,MAX SYSTEM CORE -_^1PST7_!STA- I_,(SUM OF ALLOCATABLE)- RESTRT_^1_%LDA* ALCLGH,Q_^1_%SAZ PST8_€€^1_%INA 2_^1PST8_!ADD- I_Q08*C1524_^1_%SQZ PST9_N08*C1524_^1_%INQ -1_^1_%JMP* PST7_^1PST9_!TCA A_^1_%ADD =XEND0V4_J07*C1412_^1_%SUB =XAREAC_^1_%INA -2_^1_%AND- LPMASK+15_^1_%STA* MBG_*MAX BACKGROUND CORE_^1_%RTJ* HEXASC_^1_%RTJ* STORE_^1_%ADC XXX5-*_^1_%LDA* MBG_^1_%SUB+ BGCORE_^1_%RTJ* HEXASC_^1_%RTJ* STORE_^1_%ADC XXX6-*_^1_%LDA* MBG_^1_%SUB+ VLA5S_^1_%RTJ* HEXASC_^1_%RT€€J* STORE_^1_%ADC XXX3-*_^1*_]_^1_%FWRITE $FC,REL-*+1,STS-*+5,ESTS-STS,A,5,6,I,X_^1_%JMP- ($EA)_^1*_]_^1REL_"RELEAS 0,1_^1*_]_^1MBG_"NUM 0_^1_%EJT_]_^1*_]_^1STORE 000 000_*STORE PARAMETER SUBROUTINE_^1_%STA* SA_+SAVE A REG_^1_%LDA* STORE_(GET ABS ADDR OF PARAMETER._^1_%ADD* (STORE)_^1_%STA- I_^1_%LDA* SA_^1_%STA- (I)_^1_%STQ- 1,I_^1_%RAO* STORE_^1_%JMP* (STORE)_%BACK TO CALLER_^€€1*_]_^1SA_#NUM 0_^1*_]_^1_%SPC 3_^1*_]_^1*_]_^1HEXASC 0_"0_,HEX TO ASCII_^1_%ENQ 3_^1RPT_"STA* WRD_^1_%AND- LPMASK+4_$CONVERT LOWER 4 BITS_^1_%INA -$A_^1_%SAM LT10_)LESS THEN 10_^1_%INA $7_^1LT10_!INA $3A_^1_%SQZ DONE_^1_%STA* W3-1,Q_^1_%INQ -1_^1_%LDA* WRD_^1_%ARS 4_^1_%JMP* RPT_^1DONE_!ALS 8_^1_%ADD* W3_^1_%LDQ* W2_^1_%QLS 8_^1_%ADQ* W1_^1_%JMP* (HEXASC)_^1*_]_^1_%BZS€€ WRD_^1*_8STORAGE FOR X000 NOT NEEDED_^1W3_#0_"0_,STORAGE FOR 0X00_^1W2_#0_"0_,STORAGE FOR 00X0_^1W1_#0_"0_,STORAGE FOR 000X_^1_%EJT_]_^1*_]_^1* ALLOCATABLE CORE AREA'S LENGTH_^1*_]_^1ALCLGH ADC N1_*AREA 1 LENGTH_^1_%ADC N2_*AREA 2 LENGTH_^1_%ADC PSIZV4_'AREA 3 LENGTH_707*C1412_^1_%ADC N4_*AREA 4 LENGTH_^1_%ADC N5_*AREA 5 LENGTH_^1_%ADC N6_*AREA 6 LENGTH_^1_%ADC N7_*AR€€EA 7 LENGTH_^1_%ADC N8_*AREA 8 LENGTH_^1_%ADC N9_*AREA 9 LENGTH_^1_%ADC N10_)AREA 10 LENGTH_^1_%ADC N11_)AREA 11 LENGTH_^1_%ADC N12_)AREA 12 LENGTH_^1_%ADC N13_)AREA 13 LENGTH_^1_%ADC N14_)AREA 14 LENGTH_^1_%ADC N15_)AREA 15 LENGTH_^1*_]_^1_%EJT_]_^1*_]_^1* STATUS MESSAGE._^1*_]_^1STS_"ALF *, AREA LEFT FOR SYSTEM USE *_^1LO_#ALF 2,_5"LEFTOVR"_^1_%NUM $0DFF_^1_%ALF *,€€ REQUESTED BACKGROUND *_^1BG_#ALF 2,_5"BGCORE"_^1_%NUM $0DFF_^1_%ALF *, CYBERDATA ACTIVATION *_904*C1067_^1OS_#ALF 2,NONE_1"VLOS"_^1_%NUM $0DFF_^1_%ALF *, BACKGROUND ACTIVATION *_^1BG1_"ALF 2,NONE_1"VLBCKG"_^1_%NUM $0D0A_^1_(ALF_$*, VLOS BCKG CYBD BCKG*_106*C1320_^1_%NUM $0DFF_^1_%ALF *, ACTV ACTV CORE CORE*_^1_%NUM $0D0A_^1_%ALF *, STD_!NONE *_^1XXX1_!ALF_.*€€,_$0000*_^1_%NUM $0DFF_^1_%ALF *,_'MUST *_^1XXX2_!ALF_/*,_$*_^1XXX3_!ALF_5*,_"*_^1_%NUM $0DFF_^1_%ALF *,_'RQST DYNM UNDF*_^1_%NUM $0D0A_^1_%ALF *, NONE ---- 0000 *_^1XXX5_!ALF_4*,_"*_^1_%NUM $0D0A_^1_%ALF *, BCKG NONE *_^1XXX1A ALF_/*,_$0000*_^1_%NUM $0DFF_^1_%ALF *,_'MUST *_^1XXX6_!ALF_/*,_$*_^1XXX4_!ALF_5*,_"*_^1_%NUM $0DFF_^1_%ALF *,_'RQST DYNM UNDF*_^1€0*_]_^1_%NUM $0D0A_^1_%EQU ESTS(*)_^1_(END_^__ 0PMONITR CSY/ P€1_%NAM MONITR_'DECK-ID A33 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(ENT_$MONITR_^1_(ENT_$MONDMP_^1*_]06*C1332_^1_(EXT_$MIBVL_^1_%ENT TRACE_^1_%EQU SST($47)_^1_%EQU FRB(6)_^1_%EQU FRBPT(8)_^1_%EQU ATTS(10)_^1_%EQU SW1(19)_^1_(EQU_$SW2(2€€0)_^1_%EQU TRB(6)_^1_%EQU NZERO($12)_^1_%EQU LPMASK(2)_^1_%EQU ONEBIT($23)_^1_%EQU TEN($46)_^1_(EQU_$CATT(11)_^1_(EQU_$ATTL(19)_^1_(EQU_$TIQ(15)_^1_(EQU_$CMODE(2),RCNT(4),AINT(27),PFBA(7)_^1_(EQU_$ZERO($22)_^1_(EQU_$FTOB(1),JIDX(3),AVLTK(8),BMOD(15)_^1_(EQU_$RCD(32),MAXREC(38),PI(21),RCDRD(31)_)06*C1320_^1_(EQU_$WES(30),ATOPT(33)_^1_(EQU_$RCDER(30)_C05*C1127_^1_(EQU_$ZROBIT($3€€3)_A06*C1332_^1_(EQU_$ASRCHB(16),LUND(25),TRTA(11)_006*C1332_^1_(EQU_$ASRCH(27)_C06*C1332_^1_(EQU_$EWES(7)_E06*C1332_^1_(EXT_$LOG1A_G06*C1332_^1_%EJT_]_^1*_]_^1*_]_^1* ENTERING MONITOR_^1_%EQU TIMEM(16),TIMES(17)_^1*_]_^1*_'1. FOR TESTING PURPOSE_^1*_]_^1*_0RTJ MONITR_%(Q REG.GT.0)_^1*_]_^1*_'2. FOR ERROR REPORTING_^1*_]_^1*_0RTJ MONITR_%Q=$8000+ERROR NO._^1*_]_^1*_BA= ERROR REL€€EATED INFORMATION_^1*_]_^1* IN CASE OF ERROR THE MONITOR WILL PRINT 1 LINE MESSAGE (SEE "MONDMP")_^1* AND THEN STOP FOR FURTHER CORE DUMPS.(SEE "COR DMP")_^1*_]_^1* AFTER ALL DUMPS PERFORMED_^1* MONITOR STOPS IN CASE OF ERROR WITH_^1*_$Q = XXYY WHERE XX = TERM NO_^1*_4YY = ERROR TYPE_^1*_]_^1*_%A = ERROR RELEVANT INFORMATION_^1*_]_^1*_]_^1*_]_^1*_]_^1*_$ERR A REG_(NATURE OF ERROR_€€7ACTION_^1*_]_^1*_]_^1*_%0_0TRACE AND DUMP ONLY_^1*_$1_"TRBADDR_%DISK ADDR LOOP_8CLEAR P_^1*_8( TERMINAL ACCESSING DISK LEFT LOCKED )_^1*_]_^1*_$2_1STACK FULL_LIMITS (INCLUSIVE)_^1*_1TO ERROR ROUTINE IF NOT._^1*_]_^1********_]_^1*_'NON-ZERO TEST_^1*_]_^1*_*ENTRY - RTJ NZT_^1*_]_^1*_)NO PARAMETERS- FIELD INFORMATION IN THE_^1*_0ATT_^1*_]_^1*_)EXIT - TO THE CALLER IF NON-ZERO FIELD_^1*_1TO ERROR ROUTINE IF ZERO FIELD_^1*_]_^1********_]_^1*_]_^1********_]_^1_(EJT_^1*_]_^1********_]_^1*_]_^1*_'ADD/SUB BCD NUMBERS RO€€UTINE_^1*_]_^1********_]_^1*_]_^1SUB_$0_'0_^1_(RTJ*_#MOVE_-GET PARAMETERS_^1_(LDA*_#BB_^1_(CLR_$Q_0CHANGE SIGN OF SECOND NUMBER_^1_(LLS_$4_^1_(TCQ_$Q_^1_(LRS_$4_^1_(STA*_#BB_^1_(LDA*_#SUB_^1_(STA*_#ADD_^1_(JMP*_#ADD1_^1*_]_^1ADD_$0_'0_^1_(RTJ*_#MOVE_^1ADD1_#CLR_$A_^1_(STA*_#AA-1_-CLEAR SIGN EXTNETION_^1_(STA*_#BB-1_^1_(LDA-_#I_^1_(STA*_#ADDRR_,SAVE RESULT ADDRESS_^1_(LDA*_#AA_^1_(S€€AP_$ADD2_^1_(LDQ_$=XAA_^1_(RTJ*_#TENCMP_+10' COMPLEMENT IF NEGATIVE_^1ADD2_#LDA*_#BB_^1_(SAP_$ADD3_^1_(LDQ_$=XBB_^1_(RTJ*_#TENCMP_^1ADD3_#ENA_$4_0ADD TWO 5 WORDS NUMBER AA+BB TO RR_^1_(STA-_#I_^1_(ENQ_$3_0DIGITS IN A WORD COUNT_^1_(STQ*_#COUNT_^1ADD5_#LDA*_#AA-1,I_+GET CURRENT LOW ORDER DIGITS._^1_(ALS_$12_/SET FOR NEXT ADDITION._^1_(STA*_#AA-1,I_^1_(ALS_$4_^1_(AND-_#LPMASK+4_^1_(S€€TA*_#TEMP1_^1_(LDA*_#BB-1,I_^1_(ALS_$12_^1_(STA*_#BB-1,I_^1_(ALS_$4_^1_(AND-_#LPMASK+4_^1_(ADD*_#TEMP1_,ADD TWO DIGIT._^1_(INA_$6_0ADD BCD CORRECTION._^1_(TRA_$Q_^1_(QRS_$4_0Q= TENS DIGIT OF RESULT I.E IF ZERO_^1_(STQ*_#FLAG_-NO CORRECTION NEEDED_^1_(SQN_$1_^1_(INA_$-6_/SUBSTRACT REDUNDENT CORRECTION_^1_(AND-_#LPMASK+4_^1_(TRA_$Q_0ADD RESULT DIGIT TO RR_^1_(LDA*_#RR-1,I_^1_(LRS_$4_€€^1_(STA*_#RR-1,I_^1_(LDQ*_#COUNT_,CHECK FOR END OF WORD_^1_(INQ_$-1_^1_(STQ*_#COUNT_^1_(SQP_$ADD7_^1_(ENQ_$3_0IF END OF WORD SET FOR NEXT WORD_^1_(STQ*_#COUNT_.AND CHECK_^1_(LDA-_#I_;FOR END_^1_(INA_$-1_@OF ADDITION_^1_(STA-_#I_^1_(SAM_$ADD9_-5 WORDS ALREADY ADDED_^1*_]_^1ADD7_#LDA*_#FLAG_-CHECK FOR CARRY CORRECTION_^1_(SAZ_$ADD8_^1_(RAO*_#BB-1,I_^1*_]_^1ADD8_#JMP*_#ADD5_-AND ADD N€€EXT DIGIT_^1*_]_^1ADD9_#LDA*_#RR-1_-ALAIGN RESULT SIGN_^1_(CLR_$Q_0SIGN =0_^1_(SAP_$ADD13_^1_(LDQ_$=XRR_^1_(RTJ*_#TENCMP_+10'S COMPLEMENT IF NEGATIVE_^1_(SET_$Q_0SIGN =F_^1ADD13_"LDA*_#RR_^1_(ALS_$4_^1_(LRS_$4_^1_(STA*_#RR_^1_(LDA*_#ADDRR_,CHECK RESULT FLAG_^1_(SAN_$1_^1_(JMP*_#ADD11_,NO MOVE REQUESTED_^1*_]_^1_(INA_$4_^1_(STA*_#ADDRR_^1_(LDA_$=XRR+4_^1_(STA-_#I_^1_(ENQ_$-4_^1ADD12€€_"LDA-_#(ZERO),B_^1_(STA*_#(ADDRR),Q_^1_(INQ_$1_^1_(SQZ_$ADD11_^1_(JMP*_#ADD12_^1*_]_^1ADD11_"LDA-_#SST+CATT_)RESTORE I REG._^1_(STA-_#I_^1_(LDQ_$=XRR_^1_(JMP*_#(ADD)_^1_(EJT_^1*_]_^1_(BZS_$SAVEA,SAVEQ,COUNT,X999A,ADDRR_^1_(BZS_$TEMP1_^1_(EQU_$FLAG(TEMP1)_^1X9999_"NUM_$$9999_^1*_]_^1_(NUM_$0_^1AA_%BZS_$AA(4)_^1*_]_^1_(NUM_$0_^1BB_%BZS_$BB(4)_^1*_]_^1_(NUM_$0_^1RR_%BZS_$RR(4)_^1*_]_€€^1_(EJT_^1*_]_^1MOVE_#000_$000_^1_(STA*_#SAVEA_,SAVE SECOND PARAMETER ADDRESS_^1_(LDA-_#(ZERO),Q_*MOVE FIRST ONE (ADDRESS IN Q)_^1_(STA*_#AA_/TO AA_^1_(LDA-_#1,Q_^1_(STA*_#AA+1_^1_(LDA-_#2,Q_^1_(STA*_#AA+2_^1_(LDA-_#3,Q_^1_(STA*_#AA+3_^1_(LDQ*_#SAVEA_-MOVE SECOND ONE (ADDRESS IN SAVEA)_^1_(LDA-_#(ZERO),Q_*TO BB_^1_(STA*_#BB_^1_(LDA-_#1,Q_^1_(STA*_#BB+1_^1_(LDA-_#2,Q_^1_(STA*_#BB+2_€€^1_(LDA-_#3,Q_^1_(STA*_#BB+3_^1_(JMP*_#(MOVE)_^1*_]_^1_(EJT_^1*_]_^1TENCMP_!000_$000_.Q= NUMBER TO BE COMPLEMENTED ADDRESS_^1_(LDA-_#(ZERO),Q_)CLEAR SIGN_^1_(AND-_#LPMASK+12_^1_(STA-_#(ZERO),Q_^1_(STQ*_#SAVEQ_,NUMBER ADDRESS_^1_(LDA_$=N$999A_^1_(STA*_#X999A_^1_(ENQ_$3_^1*_]_^1TENC0_"STQ*_#COUNT_,ALLIGN FOR LOW ORDER NON ZERO DIGIT_^1_(LDQ*_#(SAVEQ),Q_^1_(SQZ_$TENC2_,ALL 4 DIGITS ZE€€ROS.CHECK NEXT WORD_^1TENC1_"CLR_$A_^1_(LRS_$4_^1_(SAN_$TENC3_^1_(LDA*_#X999A_,LOW ORDER DIGITS STILL ZERO.SHIFT_^1_(ALS_$4_0'999A' ONE LEFT POSITION_^1_(AND-_#NZERO+4_^1_(STA*_#X999A_^1_(JMP*_#TENC1_^1*_]_^1TENC2_"LDQ*_#COUNT_,CHECK NEXT WORD._^1_(INQ_$-1_^1_(SQM_$TENC4_,EXIT. NUMBER EQUAL ZERO._^1_(JMP*_#TENC0_^1*_]_^1TENC3_"LDQ*_#COUNT_^1_(LDA*_#X999A_^1*_]_^1TENC5_"SUB*_#(SAVEQ€€),Q_^1_(STA*_#(SAVEQ),Q_^1_(LDA*_#X9999_^1_(SQM_$TENC4_^1_(INQ_$-1_^1_(JMP*_#TENC5_^1*_]_^1TENC4_"JMP*_#(TENCMP)_^1*_]_^1_(EJT_^1*_]_^1********_]_^1*_]_^1*_'DECIMAL TO BINARY CONVERSION_^1*_]_^1********_]_^1*_]_^1DB_%000_$000_^1_(STA-_#SST+STEMP_(SAVE DECIMAL NO._^1_(CLR_$Q_^1_(ENA_$-4_^1_(STA-_#SST+STEMP+1_^1DB1_$LDA-_#SST+STEMP_^1_(ALS_$4_^1_(STA-_#SST+STEMP_^1_(AND-_#LPMASK+4_^1€€_(QLS_$1_^1_(STQ-_#SST+STEMP+2_^1_(QLS_$2_^1_(ADQ-_#SST+STEMP+2_^1_(AAQ_$Q_^1_(RAO-_#SST+STEMP+1_^1_(LDA-_#SST+STEMP+1_^1_(SAZ_$1_^1_(JMP*_#DB1_^1_(TRQ_$A_^1_(JMP*_#(DB)_^1*_]_^1_(EJT_^1*_]_^1********_]_^1*_]_^1*_'BINARY TO DECIMAL CONVERSION_^1*_]_^1********_]_^1*_]_^1BD_%000_$000_^1_(CLR_$Q_^1_(STQ-_#SST+STEMP_^1_(ENQ_$4_^1_(STQ-_#SST+STEMP+1_^1*_]_^1BD1_$CLR_$Q_^1_(DVI-_#TEN_^1_€€(QLS_$12_^1_(ADQ-_#SST+STEMP_^1_(QLS_$12_^1_(STQ-_#SST+STEMP_^1_(LDQ-_#SST+STEMP+1_^1_(INQ_$-1_^1_(SQZ_$BD2_^1_(STQ-_#SST+STEMP+1_^1_(JMP*_#BD1_^1*_]_^1BD2_$LDA-_#SST+STEMP_^1_(ALS_$4_^1_(JMP*_#(BD)_^1*_]_^1_(EJT_^1*_]_^1********_]_^1*_]_^1*_'PACK ASCII STRING TO BCD NUMBER_^1*_]_^1********_]_^1*_]_^1PACK_#000_$000_^1_(CLR_$A_0CLEAR_^1_(STA*_#PN_3PACKED_^1_(STA*_#PN+1_6NUMBER_^1_(S€€TA*_#PN+2_;BUFFER_^1_(STA*_#PN+3_?(4 WORDS)_^1*_]_^1_(LDA-_#FCNT,I_+GET FIELD COUNT_^1_(AND-_#LPMASK+8_^1_(TCA_$Q,A_^1_(ADD-_#RCNT,I_+ADJUST RECORD COUNT TO BEGINING_^1_(STA-_#RCNT,I_+OF FIELD_^1_(STQ*_#LOPCNT_^1*_]_^1PACK1_"RTJ-_#(GBYTE)_*GET CHARACTER FROM RECORD_^1_(RAO-_#RCNT,I_^1_(INA_$-$2B_-CHECK FOR PLUS_^1_(SAN_$PACK2_^1_(JMP*_#PSIGN_^1PACK2_"INA_$-$2D+$2B_)CHECK FOR MINUS_€€^1_(SAN_$PACK3_^1_(LDA-_#NZERO+12_^1_(JMP*_#PSIGN_^1*_]_^1PACK3_"INA_$-$30+$2D_)A= BCD VALUE OF THE CHARACTER_^1_(SAP_$1_K06*C1317_^1_(CLR_$A_K06*C1317_^1_(ALS_$12_/SHIFT PACKED NUMBER ONE POSITION_^1_(LDQ*_#PN+3_-AND ADD LEAST SIGNIFICANT DIGIT_^1_(LLS_$4_^1_(STQ*_#PN+3_^1_(ALS_$12_^1_(LDQ*_#PN+2_^1_(LLS_$4_^1_(STQ*_#PN+2_^1_(ALS_$12_^1_(LDQ*_#PN+1_^1_(LLS_$4_^1_(STQ*_#PN+1_^1_(AL€€S_$12_^1_(LDQ*_#PN_^1_(LLS_$4_^1_(STQ*_#PN_^1*_]_^1_(RAO*_#LOPCNT_^1_(LDA*_#LOPCNT_^1_(SAZ_$PAKEXT_^1*_]_^1_(JMP*_#PACK1_,GET NEXT CHARACTER_^1*_]_^1PAKEXT_!LDQ_$=XPN_^1_(JMP*_#(PACK)_^1*_]_^1PSIGN_"TRA_$Q_^1_(LDA*_#PN_^1_(AND-_#LPMASK+12_^1_(EAQ_$A_^1_(STA*_#PN_^1_(JMP*_#PAKEXT_^1*_]_^1_(BZS_$PN(4),LOPCNT_^1*_]_^1_(EJT_^1*_]_^1********_]_^1*_]_^1*_'UNPACK BCD NUMBER TO ASCII STRIN€€G_^1*_]_^1********_]_^1*_]_^1UNP_$000_$000_^1_(STA*_#UPADDR_+CLEAR AND RESTORE SIGN_^1_(LDA*_#(UPADDR)_^1_(AND-_#NZERO+12_^1_(STA-_#SST+STEMP_^1_(EOR*_#(UPADDR)_^1_(STA*_#(UPADDR)_^1_(ENQ_$1_^1_(STQ-_#I_^1_(LDA*_#(UPADDR),Q_^1_(LDQ*_#(UPADDR)_^1_(LLS_$4_^1_(STQ*_#PN_^1_(TRA_$Q_^1_(QLS_$12_^1_(RAO-_#I_^1_(LDA*_#(UPADDR),I_^1_(LLS_$4_^1_(STQ*_#PN+1_^1_(TRA_$Q_^1_(QLS_$12_^1_(RAO-_#I_€€^1_(LDA*_#(UPADDR),I_^1_(LLS_$4_^1_(STQ*_#PN+2_^1_(STA*_#PN+3_^1*_]_^1_(CLR_$A_^1_(STA-_#I_^1_(RTJ*_#UPASCI_+CONVERT TO ASCII_^1_(RTJ*_#UPASCI_^1_(RTJ*_#UPASCI_^1_(RTJ*_#UPASCI_^1*_]_^1_(LDA-_#SST+CATT_^1_(STA-_#I_^1_(LDA-_#SST+STEMP_^1_(EOR*_#(UPADDR)_)RESTORE SIGN OF ORIGINAL NUMBER_^1_(STA*_#(UPADDR)_^1_(ENQ_$$2B-$30_*DIFFERENCE OF ZERO AND PLUS_^1_(SAP_$1_^1_(ENQ_$$2D-$30_*DIFF€€ERENCE OF ZERO AND MINUS_^1_(ADQ*_#UPN+7_^1_(STQ*_#UPN+7_^1_(LDQ_$=XUPN_^1_(JMP*_#(UNP)_^1*_]_^1_(BZS_$UPN(8),UPADDR_^1*_]_^1_(EJT_^1*_]_^1UPASCI_!000_$000_^1_(LDQ-_#I_^1_(QRS_$1_^1_(LDA*_#PN,Q_^1_(CLR_$Q_^1_(LLS_$4_^1_(QLS_$4_^1_(LLS_$4_^1UPA1_#ADQ_$=A00_^1_(STQ*_#UPN,I_^1_(RAO-_#I_^1_(CLR_$Q_^1_(LLS_$4_^1_(QLS_$4_^1_(LLS_$4_^1_(ADQ*_#UPA1+1_^1_(STQ*_#UPN,I_^1_(RAO-_#I_^1_(JMP*_#(€€UPASCI)_^1*_]_^1_(EJT_^1*_]_^1********_]_^1*_]_^1*_'LOWER AND UPPER LIMITS_^1*_]_^1********_]_^1*_]_^1LUL_$000_$000_^1_(ENQ_$-8_^1_(CLR_$A_^1LUL1_#STA*_#LL+8,Q_+CLEAR LIMITS AREA._^1_(INQ_$1_^1_(SQZ_$1_^1_(JMP*_#LUL1_^1_(ENQ_$10_^1_(RTJ_$FMTPAR_+GET LIMIT PARAMETERS_^1_(INQ_$1_^1_(STQ*_#LMTPNT_+SAVE LIMIT POINTER_^1_(STA*_#LMTTYP_+SAVE LIMIT TYPE (INCLUSIVE/EXCLUSIVE_^1_(ARS_$3_^1_€€(AND-_#LPMASK+3_^1_(TRA_$Q_^1_(ADD*_#LMTPNT_+POINTS TO END OF CURRENT LIMIT IN_^1_(STA*_#LMTPNT_+FORMAT_^1_(LDA_$=XLL+4_^1_(RTJ*_#EXPAND_+EXPAND LOWER LIMIT_^1*_]_^1_(LDA*_#LMTTYP_^1_(AND-_#LPMASK+3_^1_(TRA_$Q_^1_(ADD*_#LMTPNT_^1_(STA*_#LMTPNT_^1_(LDA_$=XUL+4_^1_(RTJ*_#EXPAND_+EXPAND UPPER LIMIT._^1*_]_^1_(RTJ_$PACK_^1_(STQ-_#SST+STEMP+3_%PACKED FIELD ADDR._^1_(CLR_$A_^1_(STA-_#I_^€€1_(LDA_$=XLL_-NUMBER MINUS LOWER LIMIT_^1_(RTJ_$SUB_^1_(LDA-_#(ZERO),Q_)CHECK RESULT SIGN_^1_(SAM_$OUTLMT_^1_(LDA-_#SST+STEMP+3_^1_(CLR_$Q_^1_(STQ-_#I_0UPPER LIMIT MINUS NUMBER_^1_(LDQ_$=XUL_^1_(RTJ_$SUB_^1_(LDA-_#(ZERO),Q_^1_(SAM_$OUTLMT_^1*_]_^1_(LDA*_#LMTTYP_+CHECK FOR INCLUSIVE LIMIT TEST_^1_(ALS_$8_^1_(SAM_$LULERR_^1*_]_^1_(JMP*_#(LUL)_,NUMBER WITHIN LIMITS_^1*_]_^1OUTLMT_!LDA€€*_#LMTTYP_+CHECK FOR EXCLUSIVE LIMIT CHECK_^1_(ALS_$8_^1_(SAP_$LULERR_^1_(JMP*_#(LUL)_^1*_]_^1LULERR_!ENQ_$3_0CHECK F_306*C1317_^1_(LDA-_#(SST+STEMP+3),Q_!FIELD = ZERO_.06*C1317_^1_(SAN_$TOERR8_F06*C1317_^1_(SQN_$NXTLW_G06*C1317_^1_(JMP*_#(LUL)_G06*C1317_^1NXTLW_"INQ_$-1_J06*C1317_^1_(JMP*_#LULERR+1_D06*C1317_^1TOERR8_!ENQ_$8_K06*C1317_^1_(JMP-_#(ERROR)_^1*_]_^1_(BZS_$LMTPNT,BUFPNT€€,LL(4),UL(4)_^1_(BZS_$LMTTYP_^1*_]_^1EXPAND_!000_$000_.LIMITS EXPANTION SUBROUTINE_^1_(STA*_#BUFPNT_+EXPANDED LIMIT ADDRESS._^1_(SQN_$1_^1_(JMP*_#(EXPAND)_)ZERO LIMIT._^1_(TCQ_$Q_^1_(STQ-_#SST+STEMP_^1EXP1_#LDA*_#(LMTPNT),Q_^1_(STA*_#(BUFPNT),Q_^1_(INQ_$1_^1_(SQZ_$1_^1_(JMP*_#EXP1_^1_(LDQ-_#SST+STEMP_^1_(INQ_$4_^1_(SQZ_$EXP2_^1_(INQ_$-4_^1_(LDA*_#(LMTPNT),Q_'MOVE SIGN TO CORRECT PO€€SITION_^1_(AND-_#NZERO+12_^1_(STA-_#SST+STEMP_^1_(EOR*_#(LMTPNT),Q_^1_(STA*_#(BUFPNT),Q_^1_(ENQ_$-4_^1_(LDA-_#SST+STEMP_^1_(STA*_#(BUFPNT),Q_^1EXP2_#JMP*_#(EXPAND)_^1*_]_^1_(EJT_^1*_]_^1********_]_^1*_]_^1*_'NON-ZERO TEST_^1*_]_^1********_]_^1*_]_^1NZT_$000_$000_^1_(LDA-_#RCNT,I_+SAVE RECORD COUNT_^1_(STA-_#SST+STEMP_^1_(LDA-_#FCNT,I_^1_(AND-_#LPMASK+8_^1_(TCA_$Q,A_^1_(ADD-_#RCNT,I€€_+CHANGE RECORD COUNT TO BEGINNING_^1_(STA-_#RCNT,I_+OF FIELD_^1_(STQ-_#SST+STEMP+1_%LOOP CONTROL_^1_(LDA-_#FDTP,I_+IF FIELD TYPE SIGNED NUMERIC_^1_(ALS_$3_0DO NOT CHECK SIGN._^1_(AND-_#LPMASK+3_^1_(EOR-_#LPMASK+3_^1_(SAN_$1_^1_(RAO-_#SST+STEMP+1_^1*_]_^1NZT1_#RTJ-_#(GBYTE)_^1_(RAO-_#RCNT,I_^1_(LDQ-_#FDTP,I_+CHECK FOR NON ZERO/NON BLANK CHECK_^1_(LLS_$16_/ACCORDING TO DATA TYPE ONL€€Y_^1_(ALS_$3_^1_(AND-_#LPMASK+3_)PURE NUMERIC IS CHECKEC FOR ZERO._^1_(INA_$-6_^1_(SAM_$1_^1_(INQ_$-$10_-$20 BLANK, $30 = ZERO_^1_(INQ_$-$20_^1_(SQN_$NZTEXT_^1*_]_^1_(RAO-_#SST+STEMP+1_^1_(LDA-_#SST+STEMP+1_^1_(SAZ_$1_^1_(JMP*_#NZT1_^1_(LDA-_#SST+STEMP_^1_(STA-_#RCNT,I_^1_(ENQ_$$C_/NON ZERO ERROR._^1_(JMP-_#(ERROR)_^1*_]_^1NZTEXT_!LDA-_#SST+STEMP_(BACK TO CALLER_^1_(STA-_#RCNT,I_^1€_(JMP*_#(NZT)_^1_(END_^__ PBORENT CSY/ P€1_%NAM BORENT_'DECK-ID A44 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* THIS ROUTINE IS ENTERED WHEN THE FIRST CHARACTER OF A RECORD IS_^1*_]_^1* DEPRESSED. IT IS CALLED BY IDKCH IF A CHARACTER IS ENTERED,ELSE_^1*_]_^1* BY THE FUNCTION US€€ED TO BEGIN THE RECORD ( SKIP,REL,DUP,SPACE)_^1*_]_^1* IT PERFORMS THE FOLLOWING OPERATIONS :_^1*_]_^1*_,1. GETS NEW TRACK IF REQUIRED, AND CALCULATES_^1*_]_^1*_/NEW DISK ADDRESSES_^1*_]_^1*_,2. BUILDS TRB HEADER FOR THE RECORD_^1*_]_^1*_,3. ENTERS AUTOSEQUENCE NUMBER_^1*_]_^1* THE CLOSED SUBROUTINE LINKTR IS PART OF THIS PROGRAM. IT UPDATES_^1*_]_^1* THE TRACK TABLE FOR THE BATCH,€€ AND WRITES IT BACK TO THE 1ST SECTOR_^1*_]_^1_(EJT_^1_(ENT_$BORENT_^1_(EXT_$SETBOF,DBOF_^1_(EXT_$G1TRT,BD_^1_(EXT_$AUTO_^1_(EXT_$BOFFE_^1_(EXT_$DCOL_^1_(ENT_$LINKTR_^1_(EXT_$RELTRT_^1_(EXT_$STTYPE_^1***_]_^1*_]_^1_(EQU_$READP($A5),REWRIT($A4),CLCDWA($90),REDSEC($A7)_^1_(EQU_$ENTSR($91),EXTSR($92),ERROR($96),WRTSEC($A8)_^1_(EQU_$READN($A6)_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ON€€EBIT($23)_^1_(EQU_$ZROBIT($33),TEN($46),CURDA(9),FMTNO(13)_^1_(EQU_$CMODE(2),FCNT(3),RCNT(4),ASCNT(5),ATRB(6),AVLTK(8)_^1_(EQU_$FRBA(7),SW1(19),SW2(20),NXTDA(11)_+09*C1602_^1_(EQU_$FLDN(14),RFA(93)_<09*C1602_^1_(EQU_$SST($47),CFFA(12),RCD(32)_^1_(EQU_$ATEMP(73)_^1_(EQU_$SW3(89)_E08*C1500_^1_(EQU_$PFBA(7),BMOD(15),BMDA(17),STRTRY($AF)_^1_(EQU_$FTOB(1),LUN(35),DISPLY($A0)_^1_(EQU_$CA€€M($AE),ERRF3($16)_^1_(EQU_$ERRF7($1F)_^1_(EQU_$REDDWA($A9),WRTDWA($AA)_506*C1326_^1_(EQU_$WAIT($B0)_^1*_]_^1*_]_^1BORENT_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(LDQ-_#PFBA,I_^1_(LDQ-_#(ZERO),Q_^1_(LDA-_#2,Q_^1_(ARS_$7_1EXTRACT RECORD LENGTH_^1_(AND-_#LPMASK+9_^1_(INA_$1_1IN WORDS_^1_(STA-_#ATEMP+2,I_)START BUILDING TRB HEADER_^1_(INA_$4_^1_(SUB-_#AVLTK,I_+ENOUGH ROOM ON THIS TRACK_^1_(SAP_$G€€ETTRK_+NO-GET NEW TRACK_*08*C1500_^1_(LDA-_#BMOD,I_F08*C1500_^1_(ALS_$2_K08*C1500_^1_(SAP_$TONOTR_F08*C1500_^1_(LDA-_#SW2,I_,ENTRY MODE_008*C1500_^1_(AND-_#ONEBIT+5_D08*C1500_^1_(SAZ_$TONOTR_F08*C1500_^1_(LDA-_#ONEBIT+15_(AND AFTER 'CLR'_+08*C1500_^1_(STA-_#ATEMP+1,I_C08*C1500_^1_(JMP*_#UPDNXT_,UPDATE NXTDA OF PRV REC_!08*C1500_^1TONOTR_!JMP*_#NOTRK_G08*C1500_^1*_]_^1* GET ANOTHER €€TRACK % UPDATE RELEVANT DISK ADDRESSES_^1*_]_^1GETTRK_!RTJ_$G1TRT_G08*C1500_^1_(SAN_$2_^1_(ENQ_$ERRF3_^1_(JMP-_#(ERROR)_+DISK FULL_^1_(RTJ_$LINKTR_,STORE NEW TRACK NUMBER_^1_(LDA-_#ATEMP+1,I_^1_(CLR_$Q_^1_(STQ-_#ATEMP+1,I_C08*C1500_^1_(RTJ-_#(CLCDWA)_*CONVERT SECTOR TO WORD ADDRESS_^1_(STQ-_#NXTDA,I_^1_(STA-_#NXTDA+1,I_)AND STORE IN ATT_^1*_]_^1* CHECK FOR INSERT - MUST UPDATE NDA €€OF LAST ENTRY RECORD_^1*_]_^1*_]06*C1326_^1_(LDA-_#BMOD,I_F06*C1326_^1_(ALS_$2_K06*C1326_^1_(SAM_$1_K06*C1326_^1_(JMP*_#VERIFY_F06*C1326_^1UPDNXT_!ENQ_$CURDA_G08*C1500_^1_(LDA-_#SW1,I_G06*C1326_^1_(AND-_#ONEBIT+12_C06*C1326_^1_(SAZ_$NOINS_G06*C1326_^1_(LDA-_#SW2,I_,IF INSERT.SET THERE IS AN 06*C1326_^1_(AND-_#ZROBIT+9_)INSERTED RECORD AFTER THE 06*C1326_^1_(EOR-_#ONEBIT+9_)LAST_6€€06*C1326_^1_(STA-_#SW2,I_G06*C1326_^1_(ENQ_$BMDA_H06*C1326_^1*_]06*C1326_^1NOINS_"LDA*_#READ_H06*C1326_^1_(ADQ-_#ATEMP+1,I_C08*C1500_^1_(STQ-_#ATEMP+1,I_C06*C1326_^1_(RTJ*_#SUBR_H06*C1326_^1_(LDA-_#ATEMP+4,I_(UPDATE NEXT D.A OF THE LAST06*C1326_^1_(AND-_#NZERO+8_*ENTERED RECORD TO POINT_"06*C1326_^1_(EOR-_#NXTDA,I_*TO THE NEW TRACK_*06*C1326_^1_(STA-_#ATEMP+4,I_C06*C1326_^1_(LDA-_#€€NXTDA+1,I_C06*C1326_^1_(STA-_#ATEMP+3,I_C06*C1326_^1_(LDA*_#WRITE_G06*C1326_^1_(LDQ-_#ATEMP+1,I_C06*C1326_^1_(RTJ*_#SUBR_H06*C1326_^1_(LDA-_#ATEMP+1,I_C08*C1500_^1_(SAP_$1_K08*C1500_^1_(JMP*_#NOTRK_G08*C1500_^1_(JMP*_#VERIFY_F06*C1326_^1*_]06*C1326_^1READ_#RTJ-_#(REDDWA)_D06*C1326_^1WRITE_"RTJ-_#(WRTDWA)_D06*C1326_^1*_]06*C1326_^1SUBR_#NUM_$0_0SUBROUTINE TO READ/WRITE_!06*C1326_^1_€€(RTJ-_#(ENTSR)_*NEXT D.A (2 WORDS) OF_$06*C1326_^1_(STA*_#FUN_.LAST ENTERED RECORD_'06*C1326_^1_(LDA-_#LPMASK+8_D08*C1500_^1_(LAQ_$Q_K08*C1500_^1_(LDA-_#(ZERO),B_)THE ADDR OF THE LAST_%06*C1326_^1_(AND-_#LPMASK+8_)RECORD IS SAVED_+06*C1326_^1_(LDQ-_#1,B_.IN ENTRY-IN CURDA_)06*C1326_^1_(LLS_$16_/IN INSERT-IN BMDA_)06*C1326_^1_(INA_$2_K06*C1326_^1_(SAP_$2_K06*C1326_^1_(AND-_#LPMASK+1€€5_C06*C1326_^1_(INQ_$1_K06*C1326_^1_(STQ*_#DA_J06*C1326_^1_(STA*_#DA+1_H06*C1326_^1_(LDA-_#I_K06*C1326_^1_(INA_$ATEMP+3_E06*C1326_^1_(STA*_#CA_J06*C1326_^1_(LDA-_#LUN,I_G06*C1326_^1_(ALS_$4_K06*C1326_^1_(AND-_#LPMASK+2_D06*C1326_^1_(STA*_#LU_J06*C1326_^1*_]06*C1326_^1FUN_$NUM_$0_K06*C1326_^1CA_%NUM_$0_K06*C1326_^1DA_%NUM_$0_K06*C1326_^1_(NUM_$0_K06*C1326_^1_(NUM_$2_K06*C1326_^1LU_%€€NUM_$0_K06*C1326_^1*_]06*C1326_^1_(JMP-_#(EXTSR)_E06*C1326_^1VERIFY_!LDA_$=N$600_,SET AVAILABLE TRACK SPACE TO_^1_(STA-_#AVLTK,I_+MAXIMUM_^1*_]_^1* COMMON PORTION OF ROUTINE IF NEW TRACK NEEDED OR NOT_^1*_]_^1NOTRK_"LDA-_#BMOD,I_F08*C1500_^1_(ALS_$2_K08*C1500_^1_(SAP_$3_K08*C1500_^1_(LDA-_#SW2,I_,IF ENTRY-CLEAR BIT WHICH_!08*C1500_^1_(AND-_#ZROBIT+5_,INDICATES BORENT TO_#08*C1500_^€€1_(STA-_#SW2,I_/UPDATE NXTDA OF PRV REC 08*C1500_^1*_]08*C1500_^1_(LDA-_#SW1,I_,CLEAR BOR BIT_-08*C1500_^1_(AND-_#ZROBIT+2_^1_(STA-_#SW1,I_^1_(LDQ-_#ATRB,I_^1_(LDA-_#RCD,I_^1_(SAZ_$SECOND_^1NOT1ST_!LDA-_#SW1,I_^1_(AND-_#ONEBIT+12_^1_(SAZ_$1_^1_(JMP*_#SECOND_^1_(LDA-_#CURDA+1,I_^1_(STA-_#4,Q_/PUT CURRENT D.A. FROM ATT INTO_^1_(LDA-_#CURDA,I_+PREVIOUS IN TRB (DONE IN EORENT_^1_(ALS_$€€8_1BUT OVERWRITTEN IF NEW TRACK_^1_(STA-_#6,Q_/NEEDED)._^1*_]_^1SECOND_!LDA-_#6,Q_^1_(AND-_#NZERO+8_+CALCULATE ADDRESS OF RECORD_^1_(ADD-_#NXTDA,I_^1_(STA-_#6,Q_/FOLLOWING THIS ONE AND STORE_^1_(LDA-_#NXTDA+1,I_^1_(ADD-_#ATEMP+2,I_)IN TRB HEADER WORDS 5%6_^1_(INA_$5_^1_(SAP_$2_^1_(RAO-_#6,Q_^1_(AND-_#LPMASK+15_^1_(STA-_#5,Q_^1_(LDA-_#CMODE,I_^1_(AND-_#ZROBIT+14_)CLEAR IDK BIT_^1_(S€€TA-_#CMODE,I_^1*_]_^1* BUILD REMAINDER OF TRB HEADER_^1*_]_^1_(LDA-_#FMTNO,I_^1_(AND-_#LPMASK+13_)STORE FORMAT NO. IN TRB HEADER_^1_(STA-_#7,Q_^1_(ENA_$4_^1_(STA-_#RFA,I_^1_(LDA-_#FLDN,I_F09*C1602_^1_(AND-_#LPMASK+9_D09*C1602_^1_(STA-_#FLDN,I_F09*C1602_^1_(LDQ-_#PFBA,I_^1_(LDQ-_#(ZERO),Q_^1_(LDA-_#1,Q_/EXTRACT AUTOSEQUENCING BIT AND_^1_(AND-_#ONEBIT+13_^1_(SAN_$1_^1_(JMP*_#RESEQP_^€€1_(ARS_$2_^1_(EOR-_#ATEMP+2,I_^1_(STA-_#ATEMP+2,I_^1*_]_^1* AUTOSEQUENCING SECTION_^1*_]_^1_(LDA-_#SW1,I_^1_(AND-_#ONEBIT+12_^1_(SAZ_$NOTPSU_,IF INSERT SET AUTOSEQUENCING_^1_(LDA_$=N$3939_^1_(STA-_#ATEMP+3,I_^1_(STA-_#ATEMP+4,I_)NUMBER TO 9999_^1_(JMP*_#STOREA_^1NOTPSU_!RAO-_#ASCNT,I_+UPDATE AUTOSEQUENCING COUNT_^1_(LDA-_#ASCNT,I_^1_(RTJ_$BD_^1_(SAN_$1_^1_(STA-_#ASCNT,I_^1_(CLR_$Q_€€^1_(LLS_$4_1CONVERT AUTOSEQUENCING NUMBER_^1_(QLS_$4_^1_(LLS_$4_1TO ASCII AND STORE IN FIRST TWO_^1_(ADQ*_#THIRTY_^1_(STQ-_#ATEMP+3,I_)DATA WORDS OF TRB_^1_(CLR_$Q_^1_(LLS_$4_^1_(QLS_$4_^1_(LLS_$4_^1_(ADQ*_#THIRTY_^1_(STQ-_#ATEMP+4,I_^1STOREA_!LDQ-_#ATRB,I_^1_(LDA-_#ATEMP+3,I_^1_(STA-_#8,Q_^1_(LDA-_#ATEMP+4,I_^1_(STA-_#9,Q_^1NOT1_#RTJ_$BOFFE_^1_(ENA_$4_^1_(STA-_#RCNT,I_^1_(RTJ-_#(D€€ISPLY)_^1_(ADC_$DCOL_^1*_]_^1RESEQP_!LDA-_#ATEMP+2,I_JB_^1_(LDQ-_#SW1,I_^1_(QLS_$3_1INSERT ?_^1_(SQP_$S_^1_(LDQ-_#ATRB,I_,YES, TAKE FORMAT CHANGE BIT_^1_(LDQ-_#3,Q_^1_(QLS_$2_1FROM THE TRB_^1_(SQP_$1_^1_(EOR-_#ONEBIT+13_^1_(JMP*_#STRHDR_^1S_'LDQ-_#SW1,I_^1_(SQP_$STRHDR_F05*C1150_^1DOC_$EOR-_#ONEBIT+13_(FIRST IN DOCUMENT ?_^1_(QLS_$1_^1_(SQP_$STRHDR_^1_(QLS_$4_1NO-UNDER DOCUMENT CON€€TROL_^1_(SQM_$STRHDR_^1ADDBIT_!EOR-_#ONEBIT+10_(YES-ADD BIT TO HEADER_^1STRHDR_!LDQ-_#ATRB,I_^1_(STA-_#3,Q_^1*_]_^1_(RTJ_$STTYPE_+SET SET CORRECT DATA TYPE IN ATT_^1_(RTJ_$AUTO_^1_(JMP-_#(EXTSR)_^1THIRTY_!NUM_$$3030_^1*_]_^1* PROGRAM TO ADD NEW TRACK TO ASSIGN TRACK TABLE IN FIRST TWO SECTORS_^1*_]_^1* OF BATCH . IF 90 TRACKS HAVE ALREADY BEEN ASSIGNED, SEND ERROR F3_^1*_]_^1* CALL€€ING SEQUENCE : RTJ LINKTR A=NEW TRACK ADDRESS AS SECTOR NO._^1*_]_^1*_]_^1LINKTR_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(STA-_#ATEMP+1,I_)SAVE TRACK NUMBER_^1START_"ENQ_$99_01 SECTOR +HDR_^1_(RTJ-_#(CAM)_^1_(SAZ_$COREIN_^1_(RTJ-_#(WAIT)_^1_(JMP*_#START_^1*_]_^1COREIN_!LDA-_#1,Q_/CORE FOUND -NSET I/O BIT_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(INQ_$3_^1_(STQ-_#ATEMP+3,I_^1_(LDA-_#ATEMP+1,I_)IF €€CALLED BY BATCH START UP_^1_(AND-_#ONEBIT_F05*C1120_^1_(SAZ_$3_K05*C1120_^1_(LDA-_#ATEMP+1,I_C05*C1120_^1_(AND-_#ZROBIT_F05*C1120_^1_(JMP*_#SETIT2_^1_(STQ*_#BUFFIN_,READ TKT FROM SECTOR 0 OF_^1_(LDA-_#LUN,I_^1_(ARS_$12_01'ST TRACK IN BATCH_^1_(AND-_#LPMASK+2_D08*C1500_^1_(STA*_#RLUN_^1_(LDA-_#FTOB,I_^1_(STA*_#RDFTOB_^1***_]_^1_(RTJ-_#(REDSEC)_^1BUFFIN_!NUM_$0_^1RDFTOB_!NUM_$0_^1_(N€€UM_$1_^1RLUN_#NUM_$0_^1*_]_^1_(LDQ-_#ATEMP+3,I_)LOOK FOR EMPTY SLOT_^1_(LDA-_#ATEMP+1,I_^1_(SAN_$GETNXT_^1RELEAS_!LDA-_#(ZERO),Q_)RELEASE TRACKS_^1_(STQ-_#ATEMP+4,I_)PRESERVE Q_^1_(SAN_$1_^1_(JMP*_#EXIT_-ALL TRACKS RELEASED_^1_(RTJ_$RELTRT_^1_(LDQ-_#ATEMP+4,I_^1_(INQ_$1_^1_(JMP*_#RELEAS_^1GETNXT_!LDA-_#(ZERO),Q_^1_(SAZ_$TEST90_^1_(INQ_$1_^1_(JMP*_#GETNXT_^1TEST90_!TRQ_$A_1IF ALL 90€€ TRACKS ASSIGNED,_^1_(SUB-_#ATEMP+3,I_^1_(INA_$-90_/RELEASE TRACK % BUFFER, THEN_^1_(SAZ_$1_K08*C1500_^1_(JMP*_#SETIT_G08*C1500_^1_(LDA-_#ATEMP+1,I_(ERROR (BATCH FULL)_(08*C1500_^1_(RTJ_$RELTRT_^1_(LDQ-_#ATEMP+3,I_^1_(CLR_$A_^1_(INQ_$-3_J06*C1320_^1_(STA-_#2,Q_I06*C1320_^1_(LDA-_#SW3,I_G08*C1500_^1_(SAP_$TOERR_G08*C1500_^1_(LDA-_#CMODE,I_*IF SEV MODE_/08*C1500_^1_(AND-_#ONEBIT+9_D0€€8*C1500_^1_(SAN_$TOERR_G08*C1500_^1_(SET_$A_2% CMODE=VERIFY_*08*C1500_^1_(JMP-_#(EXTSR)_*THEN-RETURN TO COPY PROG. 08*C1500_^1TOERR_"ENQ_$ERRF7_G08*C1500_^1_(JMP-_#(ERROR)_^1*_]_^1SETIT_"LDA-_#ATEMP+1,I_)STORE NEW TRACK IN TKT_^1*_]_^1SETIT2_!STA-_#(ZERO),Q_*CLEAR NEXT SLOT % WRITE BACK TO_^1_(CLR_$A_^1_(STA-_#1,Q_/DISK_^1_(LDQ-_#ATEMP+3,I_^1_(STQ*_#BUFOUT_^1_(LDA-_#FTOB,I_^1_(STA€L*_#WTFTOB_^1_(LDA-_#LUN,I_^1_(ARS_$12_^1_(AND-_#LPMASK+2_D08*C1500_^1_(STA*_#WLUN_^1***_]_^1_(RTJ-_#(WRTSEC)_^1BUFOUT_!NUM_$0_^1WTFTOB_!NUM_$0_^1_(NUM_$1_^1WLUN_#NUM_$0_^1*_]_^1* RELEASE BUFFER AND RETURN TO CALLER_^1*_]_^1EXIT_#LDQ-_#ATEMP+3,I_^1_(CLR_$A_^1_(INQ_$-3_J06*C1320_^1_(STA-_#2,Q_I06*C1320_^1_(JMP-_#(EXTSR)_^1_(END_^__ LPCAM CSY/ P€1_%NAM CAM_*DECK-ID A52 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(ENT_$CAM,MMM_^1_(ENT_$RPRD_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$MINCOR($800)_^1_(EQU_$SST($47)_^1_(EQU_$FRPP(8),FRPUL(7),FRPLL(6)_^1_(EQU_$C€€LOCKS(17),PRDA(3),SLOCK(1)_^1_(EQU_$STEMP(20),STEMP1(21),STEMP2(22),STEMP3(23)_^1_(EQU_$PFBA(7),RFA(93),CFFA(12)_409*C1602_^1_(EQU_$ENTSR($91),EXTSR($92)_^1_(EQU_$MONITR($8C)_^1CAM_$NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(STQ*_#LENGTH_+SAVE REQUIRED LENGTH_^1_(CLR_$A_^1_(STA*_#FLAG_-SET 'FIRST PASS' FLAG TO ZERO_^1_(LDA-_#SST+FRPP_^1_(STA-_#SST+STEMP_^1_(ADD_$=XMINCOR_)IF THERE IS ENOUGH CORE€€ ABOVE THE_^1_(SUB-_#SST+FRPUL_(MINIMUM LIMIT, LOCATE IT._^1_(SAP_$CAM01_^1_(JMP*_#OK_^1*_]_^1CAM01_"LDQ-_#SST+FRPLL_^1CAM02_"CLR_$A_^1_(STA-_#SST+STEMP1_'SET THE LENGTH OF AVAILABLE BLOCKS=0_^1_(STQ-_#SST+STEMP_(AND SAVE THE ADDR OF THE FIRST BLOCK_^1TRY_$TRQ_$A_^1_(EOR-_#SST+FRPP_)DID YOU SCAN TO THE POINTER_^1_(SAN_$CAM05_,NO.TRY NEXT AREA_^1_(LDA-_#SST+FRPUL_^1_(SUB-_#SST+FRPP_€€)IF YOU COMBINE THE RELEASED AREA_^1_(ADD-_#SST+STEMP1_'AND THE AREA ABOVE THE POINTER,_^1_(SUB*_#LENGTH_+IS IT LONG ENOUGH?_^1_(SAP_$1_^1_(JMP*_#NXTPAS_+NO._^1_(JMP*_#OK_^1CAM05_"LDA-_#2,Q_^1_(AND-_#LPMASK+6_^1_(SAN_$CAM03_,USER COUNT NOT = 0 I.E CURRENT AREA_^1_(LDA-_#1,Q_.CAN'T BE RELEASED_^1_(AND-_#ONEBIT+14_(IF USER COUNT IS =0 AND THE RELEASE_^1_(SAN_$1_0OF THE AREA IS TIME D€€EPENDED_^1_(JMP*_#RLS_^1_(LDA-_#4,Q_.CHECK IF TIME IS OVER_^1_(SUB-_#SST+CLOCKS_^1_(SAM_$ON_^1CAM03_"JMP*_#NORLS_,IF TIME IS NOT OVER DON'T RELEASE_^1ON_%RTJ*_#RPRD_^1RLS_$LDA-_#1,Q_.TAKE THE RELEASED AREA_^1_(AND-_#LPMASK+11_^1_(INA_$1_^1_(AAQ_$Q_^1_(ADD-_#SST+STEMP1_^1_(STA-_#SST+STEMP1_^1_(SUB*_#LENGTH_+IS IT LARGE ENOUGH?_^1_(SAM_$CAM04_,NO_^1_(SAZ_$OK_/IF THE AREA BEYOND THE R€€EQUESTED_^1_(INA_$-3_/IN NOT ENOUGH TO BUILD A DUMMY-_^1_(SAP_$OK_/HEADER THE WHOLE AREA IS NOT USED_^1CAM04_"JMP*_#TRY_^1OK_%LDQ-_#SST+STEMP_^1_(LDA*_#LENGTH_+BUILD THE HEADER FOR THE REQUESTED_^1_(INA_$-1_/AREA:_^1_(STA-_#1,Q_.SET THE LENGTH_^1_(ENA_$1_^1_(STA-_#2,Q_.SET USER COUNT TO 1_^1_(CLR_$A_0CLEAR THE BACKWARDS PT_#06*C1300_^1_(STA-_#(ZERO),Q_D06*C1300_^1_(LDA-_#SST+STEMP_€€^1_(ADD*_#LENGTH_^1_(SUB-_#SST+FRPP_^1_(SAM_$CAM06_,IF PART OF THE AREA IS BEYOND THE_^1_(ADD-_#SST+FRPP_)POINTER,UPDATE IT TO POINT TO THE_^1_(STA-_#SST+FRPP_)AREA_^1_(JMP*_#OUT_^1*_]_^1CAM06_"LDA-_#SST+STEMP1_^1_(SUB*_#LENGTH_^1_(SAZ_$OUT_^1_(STA-_#SST+STEMP1_(LENGTH TO BE RELEASED_^1_(ADQ*_#LENGTH_+Q=ADDR WHERE FROM TO RELEASE_^1_(RTJ*_#RLSCOR_^1OUT_$LDQ-_#PFBA,I_+IF THE FORMAT €€WAS MOVED RESTORE_^1_(LDQ-_#(ZERO),Q_)NEW CFFA_^1_(ADQ-_#RFA,I_G09*C1602_^1_(STQ-_#SST+CFFA_^1_(LDQ-_#SST+STEMP_^1_(CLR_$A_^1MONT_#RTJ-_#(MONITR)_^1_(JMP-_#(EXTSR)_^1*_]_^1NORLS_"LDA-_#1,Q_.STEP UP TO NEXT SECTION_^1_(AND-_#LPMASK+11_^1_(INA_$1_^1_(AAQ_$Q_^1_(JMP*_#CAM02_^1*_]_^1RPRD_#NUM_$0_^1_(STQ*_#LOCAL_,SAVE THE ADDR OF THE AREA TO BE_^1_(LDA-_#1,Q_/RELEASED_^1_(AND-_#LPMASK+1€€4_^1_(STA-_#1,Q_^1_(LDA-_#3,Q_^1_(LDQ-_#(ZERO),Q_^1_(STA-_#(ZERO),Q_)PUT DISK ADDR INTO PRD TABLE_^1_(TRQ_$A_^1_(SUB-_#SST+PRDA_^1_(SUB-_#(SST+PRDA)_^1_(CLR_$Q_^1_(DVI-_#ONEBIT+4_)TURN OFF BIT TO SIGNIFY THAT PROGRAM_^1_(LDQ-_#ZROBIT,Q_^1_(STQ-_#SST+STEMP3_'IS NOT ANY MORE IS CORE._^1_(TRA_$Q_^1_(INQ_$8_0THE 'BIT CONTROL BLOCKS'STARTS IN TH_^1_(LDA-_#(SST+PRDA),Q_$9TH WORD_^1_(AND-€€_#SST+STEMP3_^1_(STA-_#(SST+PRDA),Q_^1_(LDQ*_#LOCAL_^1_(JMP*_#(RPRD)_^1LENGTH_!NUM_$0_0REQUIRED LENGTH_^1LOCAL_"NUM_$0_0TEMPORARY LOCATION_^1FLAG_#NUM_$0_0SIGNALS WHICH TIME IS THE CORE SCANE_^1*_]_^1NXTPAS_!LDQ-_#SST+FRPLL_(SCAN THE CORE FROM LOWER LIMIT._^1NXT02_"STQ-_#SST+STEMP_(IF PREVIOUS SECTION IN CORE CAN'T_^1_(CLR_$A_0BE MOVED CLEAR'FREE AREA'COUNT._^1_(STA-_#SST+STEMP1_^1€€*_]_^1NXT05_"TRQ_$A_^1_(EOR-_#SST+FRPP_)IF THE CORE WAS SCANED TO THE_^1_(SAN_$NXT01_,POINTER AND THE AREA THAT CAN BE_^1_(LDA-_#SST+FRPUL_(FREED UP+THE AREA ABOVE THE POINTER_^1_(SUB-_#SST+FRPP_)IS NOT LARGE ENOUGH;_^1_(ADD-_#SST+STEMP1_'IF IT IS THE FIRST TIME TRY TO GET_^1_(SUB*_#LENGTH_+CORE BY RELEASING TIME DEPENDED_^1_(SAM_$1_0AREAS EVEN IF TIME IS NOT OVER YET._^1_(JMP*_#MO€€VE_-IF IT IS THE SECOND TIME EXIT_^1_(LDA*_#FLAG_-WITH 'A' NEGATIVE._^1_(SAN_$NXTOUT_^1_(RAO*_#FLAG_^1_(JMP*_#NXTPAS_^1NXTOUT_!SET_$A_^1_(LDQ*_#LENGTH_^1_(JMP*_#MONT_^1*_]_^1NXT01_"LDA-_#1,Q_^1_(AND-_#LPMASK+11_^1_(INA_$1_^1_(STA-_#SST+STEMP2_^1_(LDA-_#2,Q_^1_(AND-_#LPMASK+6_)IF USER COUNT NOT =0_^1_(SAZ_$NXT03_,AND I/O BIT IS SET:THIS SECTION_^1_(LDA-_#1,Q_.CAN'T BE MOVED_^1_(ADQ-€€_#SST+STEMP2_^1_(SAP_$1_^1_(JMP*_#NXT02_^1_(JMP*_#NXT05_^1NXT03_"LDA*_#FLAG_-WHEN USER COUNT =0;_^1_(SAZ_$2_0IF IT IS THE FIRST TIME TO SCAN THE_^1_(ADQ-_#SST+STEMP2_'CORE AND IT IS A TIME DEPENDED AREA_^1_(JMP*_#NXT04_,THIS SECTION WILL BE MOVED_^1_(LDA-_#1,Q_.BUT IF IT IS THE SECOND TIME TO SCAN_^1_(ADQ-_#SST+STEMP2_'THE CORE THIS AREA CAN BE RELEASED_^1_(ALS_$1_^1_(SAM_$NXT06_^1€€*_]_^1NXT04_"LDA-_#SST+STEMP2_^1_(ADD-_#SST+STEMP1_^1_(STA-_#SST+STEMP1_^1_(SUB*_#LENGTH_+DID YOU FIND A BIG ENOUGH AREA FOR_^1_(SAM_$NXT06_,CURRENT REQUEST_^1_(SAZ_$MOVE_-NOT YET_^1_(INA_$-3_^1_(SAP_$MOVE_^1NXT06_"JMP*_#NXT05_^1MOVE_#LDA*_#FLAG_^1_(SAN_$1_^1_(JMP*_#NXT09_^1_(LDQ-_#SST+STEMP_^1UP_%LDA-_#1,Q_^1_(AND-_#LPMASK+11_^1_(INA_$1_^1_(STA-_#SST+STEMP2_^1_(LDA-_#2,Q_^1_(AND-_€€#LPMASK+6_^1_(SAN_$NXT08_^1_(LDA-_#1,Q_^1_(AND-_#ONEBIT+14_^1_(SAZ_$1_^1_(RTJ*_#RPRD_-RELEASE THE AREA EVEN TIME IS NOT_^1_(LDA-_#SST+STEMP1_'OVER_^1_(SUB-_#SST+STEMP2_^1_(STA-_#SST+STEMP1_^1_(SAZ_$NXT09_^1NXT08_"ADQ-_#SST+STEMP2_^1_(JMP*_#UP_^1*_]_^1NXT09_"RTJ*_#MMM1_^1_(JMP_$OK_^1_(EJT_^1* PROGRAM TO BUILD DUMMY HEADERS IN ORDER TO RELEASE AN AREA IN FRP_^1* ON ENTRY:_^1* Q=ADDR €€WHERE FROM TO RELEASE_^1* SST+STEMP1 = LENGTH OF AREA TO BE RELEASED_^1RLSCOR_!NUM_$0_^1RCOR03_!CLR_$A_^1_(STA-_#2,Q_.CLEAR USER COUNT_^1_(LDA-_#SST+STEMP1_^1_(INA_$-1_^1_(STA-_#1,Q_^1_(AND-_#NZERO+11_)IS ONE HEADER ENOUGH?_^1_(SAN_$RCOR01_+SKIP IF NOT ENOUGH._^1_(LDA-_#SST+SLOCK_^1_(AND-_#ZROBIT+14_(SET 'STORAGE MOVE' BIT_^1_(EOR-_#ONEBIT+14_^1_(STA-_#SST+SLOCK_^1_(JMP*_#(RLSCOR)_€€^1RCOR01_!LDA-_#1,Q_^1_(SUB_$=N$802_+IS THE REMAINDER BIG ENOUGH FOR_^1_(SAM_$RCOR04_+ANOTHER HEADER_^1_(INA_$3_0YES_^1_(STA-_#SST+STEMP1_^1_(LDA-_#LPMASK+11_(SET LENGTH TO THE MAX._^1RCOR02_!STA-_#1,Q_^1_(INQ_$1_^1_(AAQ_$Q_^1_(JMP*_#RCOR03_^1RCOR04_!INA_$2+3_.DIVIDE THE LENGTH INTO 2 PARTS_^1_(STA-_#SST+STEMP1_'SO YOU CAN BUILD 2 HEADERS._^1_(LDA_$=N$7FD_^1_(JMP*_#RCOR02_^1_(EJT_^€€1MMM_$NUM_$0_^1_(CLR_$A_^1_(STA*_#INDC_^1_(LDA-_#SST+FRPLL_(PUT THE LOWER LIMIT TO BE START_^1_(STA-_#SST+STEMP_(SCAN ADDR_^1_(SET_$A_^1_(STA_$FLAG_-SET FLAG TO BE NEGATIVE_^1_(RTJ*_#MMM1_^1_(LDA*_#FREBAS_+IF AREA WAS SCANED TO THE END_^1_(EOR-_#SST+FRPP_)UPDATE FRP POINTER_^1_(SAN_$SOF_.CLEAR SM (STORAGE MOVE) BIT_^1_(LDA-_#SST+STEMP_^1_(STA-_#SST+FRPP_^1_(LDA*_#INDC_^1_(SAN_$SOF_€€^1_(LDA-_#SST+SLOCK_^1_(AND-_#ZROBIT+14_^1_(STA-_#SST+SLOCK_^1SOF_$CLR_$Q_^1_(RTJ-_#(MONITR)_^1_(JMP*_#(MMM)_,EXIT_^1*_]_^1INDC_#NUM_$0_0IF NEGATIVE INDICATES THAT A FREE AR_^1*_0WAS SKIPPED OVER WHILE TRYING TO MOVE A BLOCK_^1*_0I.E 'SM' BIT HAS NOT TO BE CLEARED WHEN REACHING_^1*_0TO THE END OF THE BUFFER_^1_(SPC_$5_^1MMM1_#NUM_$0_^1_(LDA-_#SST+STEMP_^1_(STA*_#FREBAS_^1MMM3_#CLR_€€$A_^1_(STA-_#SST+STEMP1_'PUT LENGTH OF FREE AREA TO ZERO_^1_(LDA*_#FREBAS_^1_(STA-_#SST+STEMP_^1MMM6_#LDA*_#FREBAS_+IF AREA TO BE CHECKED IS EQUAL TO_^1_(SUB-_#SST+FRPP_)FRP POINTER EXIT_^1_(SAN_$GETNXT_^1_(JMP*_#(MMM1)_^1GETNXT_!LDQ*_#FREBAS_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+11_^1_(INA_$1_^1_(STA-_#SST+STEMP2_'SAVE LENGTH OF AREA_^1_(AAQ_$A_^1_(STA*_#FREBAS_+ADDR OF NEXT SECTION._^1_€€(LDA-_#2,Q_^1_(AND-_#LPMASK+6_^1_(SAN_$JMPM_^1_(LDA-_#1,Q_^1_(ALS_$1_^1_(SAP_$NOJMP_^1_(LDA-_#SST+STEMP1_^1_(SAZ_$JMPM_^1_(JMP*_#MOVBLK_^1JMPM_#JMP*_#MMM2_^1NOJMP_"LDA-_#SST+STEMP2_^1_(ADD-_#SST+STEMP1_^1_(STA-_#SST+STEMP1_^1_(LDQ_$FLAG_-IF IT WAS A CALL FROM CAM CHECK_^1_(SQM_$MMM7_-TO SEE IF AREA IS LARGE ENOUGH_^1_(SUB_$LENGTH_^1_(SAM_$MMM7_^1_(SAZ_$EXIT_^1_(INA_$-3_^1_(SAP_$EXI€€T_^1MMM7_#JMP*_#MMM6_-IF LARGE ENOUGH-EXIT_^1EXIT_#JMP*_#(MMM1)_^1*_]_^1*_]_^1MMM2_#LDA-_#SST+STEMP1_^1_(SAZ_$MMM4_-IF THERE IS NO FREE AREA ABOVE THIS_^1_(LDA-_#1,Q_.SECTION OR CURRENT AREA CAN'T BE_^1_(SAP_$MOVBLK_+MOVED UPDATE POINTERS AND CONTINUE_^1_(LDQ-_#SST+STEMP_(TO SCAN THE AREA_^1_(STA*_#INDC_-INDICATOR TO KEEP THE 'SM' BIT ON_^1_(RTJ*_#RLSCOR_+BUILD A DUMMY HEADER FOR T€€HE FREED_^1MMM4_#JMP*_#MMM3_-AREA_^1*_]_^1MOVBLK_!STQ-_#SST+STEMP3_^1_(LDQ-_#(ZERO),Q_)CHANGE POINTER TO MOVED AREA_^1_(LDA-_#(ZERO),Q_)BY LENGTH OF FREE AREA._^1_(SUB-_#SST+STEMP1_^1_(STA-_#(ZERO),Q_^1_(ADD-_#SST+STEMP2_^1_(STA*_#LOCAL1_^1_(LDA-_#SST+STEMP3_^1_(ADD-_#SST+STEMP2_^1_(STA-_#SST+STEMP3_^1_(LDQ-_#SST+STEMP2_^1_(TCQ_$Q_^1MMM5_#LDA-_#(SST+STEMP3),Q_"MOVE THE BLOCK UPWARD€(S_^1_(STA*_#(LOCAL1),Q_^1_(INQ_$1_^1_(SQZ_$1_^1_(JMP*_#MMM5_^1_(LDA-_#SST+STEMP_(ADD LENGTH TO ADDR OF FREE AREA_^1_(ADD-_#SST+STEMP2_^1_(STA-_#SST+STEMP_^1_(LDA_$FLAG_^1_(SAM_$1_^1_(JMP*_#MMM6_^1_(LDQ*_#LOCAL1_^1_(RTJ*_#RLSCOR_^1_(JMP*_#(MMM1)_^1FREBAS_!NUM_$0_^1LOCAL1_!NUM_$0_^1*_]_^1_(END_^__(PCDVTST CSY/ P€1_%NAM CDVTST_'DECK-ID A62 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1************************************************************************_^1* .CHECK DIGIT VALIDATION:_^1*_'CALLED BY:_S*_^1*_$'VALDTE' TO PERFORM EOF CHECK DIGIT VALIDATION_^€€1*_$ON ENTRY A= CDV NO. -1_^1*_$THE SYSTEM PROVIDES 4 CDV TESTS WHERE THE MODULUS ARE:_^1*_"1.= MOD7 2. MOD9 3.=MOD10 4.=MOD11_^1*_$AND A STANDARD ROUTINE TO PERFORM ANY CDV TEST_^1*_]_^1*_$THE METHOD FOR MOD9 ,MOD11 AND THE STANDARD ROUTINE IS:_^1*_"1) TO MULTIPLY EACH DIGIT-EXCEPT THE RIGHT MOST WHITCH_^1*_$IS THE CHECK DIGIT -BY ITS CHECKING FACTOR._^1*_"2) TO ADD THE PRODUCTS_^€€1*_"3) TO DIVIDE THE TOTAL BY THE MODULO_^1*_"4) THE REMAINDER HAS TO BE THE DIFFERENCE BETWEEN_^1*_$THE MODULO AND THE CHECK DIGIT_^1*_]_^1*_"1) THE METHOD FOR MOD7 IS:_^1* TO DIVIDE THE WHOLE NUMBER-EXCEPT THE RIGHTMOST_^1*_#DIGIT WHICH IS THE CHECK DIGIT-BY THE MODULO_^1*_"2) THE REMAINDER HAS TO BE EQUEL TO THE CHECK DIGIT_^1*_]_^1*_]_^1*_$THE METHOD FOR MOD10 IS:_^1*1) TO MULT€€IPLY EACH DIGIT-EXCEPT THE RIGHTMOST WHICH IS THE CHECK_^1*_!DIGIT BY ITS CHECKING FACTOR_^1*_"2) TO ADD ALL THE INDIVIDUAL DIGITS OF THE RESULTS OF EACH_^1*_$MULTIPLICATION_^1*_"3) TO DIVIDE THE TOTAL BY THE MODULO_^1*_"4) THE REMAINDER HAS TO BE THE DIFFERENCE BETWEEN THE MODULO_^1*_$AND THE CHECK DIGIT_^1*_]_^1*_$THE STANDARD WEIGHT AND MODULUS ARE:_^1*_]_^1*_$FOR CDV NO 1_^1*_$€€MODULO =7 WEIGHT =NOT SIGNIFICANT_^1*_]_^1*_$FOR CDV NO 2_^1*_$MODULO=9_!WEIGHT FOR ALL DIGITS=1._^1*_]_^1*_$FOR CDV NO 3_^1*_$MODULO=10_!WEIGHTS STARTING FROM UNITS DIGIT:_^1*_12,1,2,1,2,1, ETC._^1*_$FOR CDV NO 4_^1*_$MODULO=11 WEIGHT STARTING FROM UNOTS DIGIT RUN IN THE FOLLOWING_^1*_$CYCLE 2,3,4,5,6,7,2,3, ETC._^1*_]_^1* NOTE: THE MODULO AND THE WEIGHTS CAN BE REPLACED BY OTHE€€R NUMBERS_^1_(EJT_^1************************************************************************_^1*_]_'*_^1_(EQU_$SST($47)_^1_(EQU_$LPMASK($2),NZERO($12),ONEBIT($23),ZROBIT($33)_^1_(EQU_$ATTB(10),CATT(11)_^1_(EQU_$TEN($46)_^1_(EQU_$CFFA(12)_^1_(EQU_$GBYTE($94)_^1_(EQU_$ACWT(2)_^1_(EQU_$CDVWDA(21)_^1_(EQU_$FCNT(3),RCNT(4)_^1_(EQU_$ATRB(6)_^1_(EQU_$STEMP1(21)_^1_(EQU_$ERROR($96)_^1_(ENT€€_$CDVNUM_^1CDVNUM_!0_'0_^1_(STA*_#INDEX_^1_(ALS_$2_0EACH ENTRY IN CWT:4 WORDS._^1_(STA-_#SST+STEMP1_^1_(ENQ_$ACWT_.FIND ADDRESS OF CWT IN 2ND WORD OF_^1_(LDA-_#(SST),Q_*ESST._^1_(ADD-_#SST+STEMP1_(CORRESPONDING ENTRY:CWT BASE AD.+_^1_(STA*_#ENTCWT_+4*INDEX._^1CONT_#LDA-_#FCNT,I_+CHARACTER COUNT IN CURRENT FIELD._^1_(AND-_#LPMASK+8_)00FF_^1_(TRA_$Q_^1_(INQ_$-1_/CHECK FIELD TO BE LON€€GER THAN 1 CHAR_^1_(SQN_$1_^1_(JMP*_#ERR_^1_(TCA_$A_2TRANFORM TO CHECK FOR OVERFLOW._^1_(AND-_#LPMASK+15_(7FFF_^1_(STA*_#COUNT_^1_(STA*_#FDCNT_^1_(STA*_#FDCNT1_^1_(LDQ-_#RCNT,I_+CHAR.COUNT IN CURRENT RECORD._^1_(LRS_$1_12 CH/WORD. SO DVI BY 2._^1_(SAM_$CAVA_-FIND LAST DATA WORD FOR CURRENT REC._^1_(INQ_$-1_/IN TRB._^1CAVA_#ADQ-_#ATRB,I_^1_(INQ_$8_0LENGTH OF HEADER IN TRB:8 WORDS._^€€1_(STQ*_#DATAD_,ADDRESS OF LAST DATA WORD IN DATAD._^1_(CLR_$Q_^1_(STQ-_#I_^1_(ENQ_$-1_/Q WILL COUNT NO.OF CHAR. IN WORD._^1_(SAM_$CAIRA_,IF A<0:CH.NO.ODD:LAST CH.IS IN UPPER_^1LOOP1_"ENQ_$-2_/HALF OF THE WORD._^1CAIRA_"SOV_$0_0CLEAR OVERFLOW BIT._^1LOOP2_"RAO*_#COUNT_^1_(SNO_$1_^1_(JMP*_#SOF_^1_(LDA*_#(DATAD)_*TAKE LAST WORD OF DATA._^1_(INQ_$1_^1_(SQN_$1_0CHECK WHETHER CH.IS IN L€€EFT OR RIGHT_^1_(ARS_$8_0PART._!CHAR.IS IN LEFTMOST PART._^1_(AND-_#LPMASK+4_)000F_^1_(STA*_#BUF+16,I_)STORE INF INTO BUF_^1_(RAO-_#I_0DIGITS WILL BE FOUND INTO RIGHT PART_^1_(SQZ_$1_0OF BUF, FROM LEAST SIGNIFICANT UP._^1_(JMP*_#CAIRA_,GO SCAN NEXT CHAR. IN WORD_^1_(ENA_$-1_^1_(ADD*_#DATAD_,CALCULATE ADD.OF FORMER DATA WORD_^1_(STA*_#DATAD_,INTO DATAD_^1_(JMP*_#LOOP1_^1SOF_$CLR_$A_€€^1_(STA*_#COUNT_^1_(STA-_#I_0I: INDEX IN BUF_^1TRUC_#ENA_$-3_^1_(AND-_#LPMASK+15_(7FFF_^1_(STA*_#DATAD_,INITIALIZE COUNTER OF 4 DIGITS/WORD._^1_(LDQ*_#COUNT_,WORD COUNT OF THE WEIGHTS._^1_(LDA*_#(ENTCWT),Q_^1MERDE_"CLR_$Q_^1_(LLS_$4_0SPLIT THE NUMBERS INTO 1 DIGIT/WORD._^1_(STQ*_#BUF,I_^1_(RAO-_#I_^1_(SOV_$0_^1_(RAO*_#FDCNT_^1_(SOV_$DOOP_^1_(RAO*_#DATAD_^1_(SOV_$1_^1_(JMP*_#MERDE_^€€1_(RAO*_#COUNT_^1_(JMP*_#TRUC_^1DOOP_#CLR_$A_^1_(STA*_#FDCNT_^1_(STA-_#I_^1_(LDA*_#INDEX_,CHECK WITCH METHOD IS TO BE SELECTED_^1_(SAN_$1_^1_(JMP*_#SEV_^1_(RAO*_#FDCNT1_^1_(INA_$-2_^1_(SAN_$1_^1_(JMP*_#DIX1_^1_(SOV_$0_^1OP1_$RAO*_#FDCNT1_+NOW:MULTIPLY EACH DIGIT WITH CORR._^1_(SOV_$OP2_/WEIGHT._^1_(LDA*_#BUF+1,I_*ADD PRODUCTS INTO FDCNT_^1_(MUI*_#BUF+17,I_^1_(ADD*_#FDCNT_^1_(STA*_#€€FDCNT_^1_(RAO-_#I_^1_(JMP*_#OP1_^1ENTCWT_!NUM_$0_^1*_]_^1OP2_$LDQ*_#BUF_^1_(SQZ_$ERR_^1CHECK_"CLR_$Q_^1_(DVI*_#BUF_^1_(ADQ*_#BUF+16_^1_(SQZ_$EXIT_^1_(TCQ_$Q_^1_(ADQ*_#BUF_^1EXIT_#SQN_$ERR_^1_(LDA-_#SST+CATT_^1_(STA-_#I_^1_(JMP*_#(CDVNUM)_^1ERR_$ENQ_$$A_/CHECK DIGIT ERROR._^1_(LDA-_#SST+CATT_^1_(STA-_#I_^1_(JMP-_#(ERROR)_^1INDEX_"NUM_$0_^1_(BZS_$BUF(32)_^1COUNT_"NUM_$0_^1DATAD_"NUM_€€$0_^1FDCNT1_!NUM_$0_^1FDCNT_"NUM_$0_^1SEV_$LDQ-_#SST+CATT_^1_(LDA-_#FCNT,Q_^1_(AND-_#LPMASK+8_^1_(INA_$-1_^1_(STA-_#I_0I=INDEX IN BUF TO THE DIGIT_^1_(CLR_$Q_0TO BE DIVIDED_^1LOOPI_"TRQ_$A_^1_(MUI-_#TEN_^1_(ADD*_#BUF+16,I_^1_(CLR_$Q_0DIVIDE EACH DIGIT STARTING FROM THE_^1_(DVI*_#BUF_.LEFTMOST BY THE MODULO_^1_(LDA-_#I_^1_(INA_$-1_^1_(STA-_#I_^1_(SAZ_$1_^1_(JMP*_#LOOPI_^1_(LDA*_#BUF€t+16_^1_(EAQ_$Q_^1_(JMP*_#EXIT_^1*_]_^1DIX1_#SOV_$0_^1_(RAO*_#FDCNT1_^1_(SOV_$DIX3_^1_(LDA*_#BUF+17,I_^1_(MUI*_#BUF+1,I_*MULTIPLY DIGIT BY ITS WEIGHT_^1UP_%DVI-_#TEN_.FIND INDIVIDUAL DIGITS_^1_(ADQ*_#FDCNT_,ADD INDIVIDUAL DIGITS TO FDCNT_^1_(STQ*_#FDCNT_^1_(SAZ_$DIX2_^1_(CLR_$Q_^1_(JMP*_#UP_^1DIX2_#RAO-_#I_^1_(JMP*_#DIX1_^1DIX3_#LDA*_#FDCNT_^1_(JMP*_#CHECK_^1_%END_]_^__ tPCON029 CSY/ P€1_%NAM CON029_'DECK-ID A48 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(ENT_$CON029_^1_(ENT_$CONADD_^1* ON ENTRY ATEMP CONTAINS THE CODE ENTERED_^1* THIS LOCATION (ATEMP) MUST REMAIN THE CODE ENTERED_^1* ON EXIT CURCH IN ATT CONTAINS THE CHAR A€€FTER CONVERTION_^1*_)Q=0 WHEN THE KEY ENTERED IS A FUNCTION_^1*_)Q NOT =0 WHEN THE KEY ENTERED IS A CHAR_^1_(EQU_$NZERO($12),ONEBIT($23)_^1_(EQU_%LPMASK(2)_^1_(EQU_$ATTTMP(73)_^1_(EQU_$DT(13),CURCH(2)_^1_(EQU_$CMODE(2)_^1_(EQU_$RES($67),DSPKEY($73)_^1_(EQU_$DISPCH($EA)_^1_(EQU_$CPP($1A)_^1_(EQU_$ERROR($96)_^1*_]_^1*_]_^1CON029_!NUM_$0_^1*_]_^1_(EQU_$CONADD(CON029)_^1*_]_^1_(LDA-_#(€€I)_^1_(AND-_#ONEBIT+11_^1_(SAZ_$C02901_^1_(LDA-_#ATTTMP,I_^1_(INA_$-RES_-IF ERROR LOCK IGNORE ALL THE_^1_(SAZ_$C02901_+CHARACTERS EXCEPT 'RESET AND DISPLAY_^1_(INA_$RES-DSPKEY_^1_(SAZ_$C02901_^1_(JMP-_#(DISPCH)_^1*_]_^1C02901_!LDQ-_#ATTTMP,I_^1_(INQ_$-$17_^1_(SQP_$C02902_^1_(LDA-_#CMODE,I_^1_(SAM_$JUMP_^1_(AND_$=N$F00_^1_(SAN_$1_^1JUMP_#JMP*_#FUN_^1_(ENQ_$CPP_.IF PARITY ERROR-DISPL€€AY 'PP'_^1_(JMP-_#(ERROR)_^1C02902_!LDA-_#DT,I_^1_(SQN_$C02904_^1_(ENQ_$$2E_.._^1_(SAP_$1_^1_(INQ_$$3C-$2E_*<_^1_(JMP*_#COMMON_^1C02904_!INQ_$-1_^1_(SQN_$C02903_^1_(ENQ_$$25_.%_^1_(SAM_$1_^1_(INQ_$$2C-$25_^1_(JMP*_#COMMON_^1C02903_!INQ_$-2_^1_(SQP_$NOSPCL_^1_(INQ_$$2C+2_^1_(JMP*_#HYPHEN_^1*_]_^1NOSPCL_!INQ_$-$21+$1A_^1_(SQM_$FUN_^1_(INQ_$-$60+$21_^1_(SQM_$PURCHR_^1FUN_$CLR_$Q_0Q=0S€€IGNALS KEY ENTERED IS A FUNCTION_^1_(JMP*_#COMMON_^1*_]_^1PURCHR_!LDQ-_#ATTTMP,I_^1HYPHEN_!SAP_$COMMON_+IF DATA TYPE =NUMERIC GET THE OPPOSI_^1_(INQ_$-$21_-SHIFT._^1_(LDQ*_#MTA,Q_,Q NOT = 0;_^1*_BINDICATES KEY IS A CHAR_^1COMMON_!LDA-_#CURCH,I_^1_(AND-_#NZERO+8_^1_(SQN_$1_^1_(EOR-_#ATTTMP,I_^1_(EAQ_$A_0PUT CHAR INTO CURRENT CHAR IN ATT_^1_(STA-_#CURCH,I_^1_(AND-_#LPMASK+8_)THE FOLL€€OWING CODES ARE NOT USED_^1_(INA_$-$1E_-ON A 029 KEYBOARD BUT ONLY ON A TTY._^1_(SAZ_$IGNORE_^1_(INA_$$1E-$1F_^1_(SAZ_$IGNORE_^1_(INA_$-$60+$1F_^1_(SAM_$BACK_^1_(INA_$$60-$65_^1_(SAM_$IGNORE_^1_(INA_$$65-$6B_^1_(SAZ_$IGNORE_^1_(INA_$$6B-$6C_^1_(SAZ_$IGNORE_^1_(INA_$$6C-$66_^1_(SAN_$BACK_^1_(LDA-_#(I)_^1_(AND-_#ONEBIT+9_^1_(SAN_$BACK_^1IGNORE_!JMP-_#(DISPCH)_^1*_]_^1BACK_#JMP*_#(CON€€029)_^1*_]_^1*_]_^1* SPACE IS A FUNCTION_^1MTA_$NUM_$$42_.B_^1I22_$NUM_$$43_.C_^1I23_$NUM_$$40_.@_^1I24_$NUM_$$2A_.*_^1I25_$NUM_$$2C_.,_^1I26_$NUM_$$50_.P_^1I27_$NUM_$$48_.H_^1I28_$NUM_$$4E_.N_^1I29_$NUM_$$45_.E_^1I2A_$NUM_$$24_.$_^1I2B_$NUM_$$51_.Q_^1I2C_$NUM_$$38_.8_^1I2D_$NUM_$$2D_.-_^1I2E_$NUM_$$39_.9_^1I2F_$NUM_$$30_.0_^1I30_$NUM_$$2F_./_^1I31_$NUM_$$55_.U_^1I32_$NUM_$$49_.I_^€€1I33_$NUM_$$4F_.O_^1I34_$NUM_$$4A_.J_^1I35_$NUM_$$4B_.K_^1I36_$NUM_$$4C_.L_^1I37_$NUM_$$4D_.M_^1I38_$NUM_$$2C_.,_^1I39_$NUM_$$2E_.._^1I3A_$NUM_$$44_.D_^1I3B_$NUM_$$46_.F_^1I3C_$NUM_$$2E_.._^1I3D_$NUM_$$56_.V_^1I3E_$NUM_$$53_.S_^1I3F_$NUM_$$58_.X_^1I40_$NUM_$$23_.#_^1I41_$NUM_$$41_.A_^1I42_$NUM_$$21_.]_^1I43_$NUM_$$22_."_^1I44_$NUM_$$3A_.:_^1I45_$NUM_$$29_.)_^1I46_$NUM_$$3B_.;_^1I47€€_$NUM_$$5B_.^_^1I48_$NUM_$$27_.'_^1I49_$NUM_$$32_.2_^1I4A_$NUM_$$34_.4_^1I4B_$NUM_$$35_.5_^1I4C_$NUM_$$36_.6_^1I4D_$NUM_$$37_.7_^1I4E_$NUM_$$28_.(_^1I4F_$NUM_$$33_.3_^1I50_$NUM_$$26_.%_^1I51_$NUM_$$2B_.+_^1I52_$NUM_$$5D_.[_^1I53_$NUM_$$3E_.\_^1I54_$NUM_$$5C_.>_^1I55_$NUM_$$31_.1_^1I56_$NUM_$$3D_.=_^1I57_$NUM_$$5F_.-_^1I58_$NUM_$$3F_.?_^1I59_$NUM_$$5E_.!_^1I5A_$NUM_$$5A_.Z_^1I5B_$NU€hM_$$47_.G_^1I5C_$NUM_$$54_.T_^1I5D_$NUM_$$52_.R_^1I5E_$NUM_$$59_.Y_^1I5F_$NUM_$$57_.W_^1*_]_^1_(END_^__ hPCONTTY CSY/ P€1_%NAM CONTTY_'DECK-ID A64 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(ENT_$CONTTY,CONTTN_^1* ON ENTRY ATEMP,I CAONTAINS THE CODE ENTERED_^1* THIS LOCATION (ATEMP) MUST REMAIN THE CODE ENTERED_^1* ON EXIT CURCH,I CONTAINS THE CHAR AFTER CONVERT€€ION_^1*_'Q= 0 WHEN THE KEY ENTERED IS A FUNCTION_^1*_'Q NOT=0 WHEN THE KEY ENTERED IS A CHAR_^1*_]_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$SST($47),STEMP(20)_^1_(EQU_$ATEMP(73)_^1_(EQU_$CMODE(2),CURCH(2)_^1_(EQU_$DISPCH($EA)_^1_(EQU_$ERROR($96)_^1_(EQU_$CPP($1A)_^1_(EQU_$RES($67),DSPKEY($73)_^1*_]_^1CONTTY_!NUM_$0_^1*_]_^1*_]_^1*_]_^1_(EQU_$CONTTN(C€€ONTTY)_^1*_]_^1*_]_^1*_]_^1_(ENQ_$$0067_^1_(LDA-_#(I)_^1_(AND-_#ONEBIT+9_^1_(SAZ_$2_^1_(LDQ_$=N$6667_^1_(STQ_$I6667_^1_(LDQ-_#ATEMP,I_^1_(INQ_$-$16_^1_(SQM_$NOCON_^1_(CLR_$A_^1_(LRS_$1_^1_(EOR*_#MTA,Q_^1_(SAM_$1_^1_(ALS_$8_^1_(AND-_#LPMASK+7_^1_(SAN_$1_^1_(JMP-_#(DISPCH)_^1_(STA-_#SST+STEMP_^1NOCON_"LDA-_#(I)_^1_(AND-_#ONEBIT+11_^1_(SQP_$CTTY2_^1_(SAZ_$1_0IF ERR LOCK DON'T DISPLAY €€PARITY_^1_(JMP-_#(DISPCH)_)ERROR_^1_(LDA-_#CMODE,I_^1_(SAM_$JUMP_^1_(AND_$=N$F00_^1_(SAZ_$JUMP_^1_(ENQ_$CPP_^1_(JMP-_#(ERROR)_^1JUMP_#CLR_$A_^1_(STA-_#SST+STEMP_^1CTTY2_"SAZ_$CTTY3_^1_(LDA-_#SST+STEMP_^1_(INA_$-RES_^1_(SAZ_$CTTY3_^1_(INA_$RES-DSPKEY_^1_(SAZ_$CTTY3_^1_(JMP-_#(DISPCH)_^1CTTY3_"LDA-_#CURCH,I_^1_(AND-_#NZERO+8_^1_(EOR-_#SST+STEMP_^1_(STA-_#CURCH,I_^1_(AND-_#LPMASK+8_^1€€_(TRA_$Q_^1_(INA_$-$21_^1_(SAM_$FUN_^1_(INA_$$21-$60_^1_(SAM_$1_^1FUN_$CLR_$Q_^1_(JMP*_#(CONTTY)_^1MTA_$NUM_$$0025_,(16-NOT USED),_!%_^1I1819_"NUM_$$232A_,# , *_^1I1A1B_"NUM_$$365D_,6, [_^1I1C1D_"NUM_$$3726_,7, %_^1I1E1F_"NUM_$$3121_,1, ]_^1I2021_"NUM_$$203C_., <_^1I2223_"NUM_$$4340_,C, @_^1I2425_"NUM_$$2433_,$ , 3_^1I2627_"NUM_$$5022_,D , "_^1I2829_"NUM_$$3D45_,= , E_^1I2A2B_"NUM_€€$$3451_,4 , Q_^1I2C2D_"NUM_$$2C38_,, , -_^1I2E2F_"NUM_$$2E39_,. , 9_^1I3031_"NUM_$$285C_,( , >_^1I3233_"NUM_$$494F_,I , 0_^1I3435_"NUM_$$3B4B_,; , K_^1I3637_"NUM_$$4C5B_,L, ^_^1I3839_"NUM_$$3A2E_,: , ._^1I3A3B_"NUM_$$4446_,D , F_^1I3C3D_"NUM_$$353E_,5 , \_^1I3E3F_"NUM_$$5358_,S , X_^1I4041_"NUM_$$3241_,2 , A_^1I4243_"NUM_$$4243_,B , C_^1I4445_"NUM_$$4445_,D , E_^1I4647_"NUM_$$4647_€€,F , G_^1I4849_"NUM_$$4849_,H, I_^1I4A4B_"NUM_$$4A4B_,J , K_^1I4C4D_"NUM_$$4C4D_,L , M_^1I4E4F_"NUM_$$4E4F_,N , O_^1I5051_"NUM_$$5051_,P , Q_^1I5253_"NUM_$$5253_,R , S_^1I5455_"NUM_$$5455_,T , U_^1I5657_"NUM_$$5657_,V , W_^1I5859_"NUM_$$5859_,X , Y_^1I5A5B_"NUM_$$5A27_,Z , '_^1I5C5D_"NUM_$$5452_,T , R_^1I5E5F_"NUM_$$2B57_,+ , W_^1I6061_"NUM_$$2F3F_,/ , ?_^1I6263_"NUM_$$1C6F_,DUP ,R€€EL_^1I6465_"NUM_$$1A65_,BSC ,ESB_^1I6667_"NUM_$$0067_,(66-IS USED ONLY ON CONTTN), RESET_^1I6869_"NUM_$$6869_,SKIP, BSR_^1I6A6B_"NUM_$$6A6D_,BOR, FMT BCK_^1I6C6D_"NUM_$$6E29_,FMT ADV , )_^1I6E6F_"NUM_$$302D_,0 , -_^1I7071_"NUM_$$7071_,DOC BCK, DOC ADV_^1I7273_"NUM_$$7273_,BSF, DISP_^1I7475_"NUM_$$7475_,REP FLD, CONT_^1I7677_"NUM_$$7677_,CANCEL, MLDS_^1I7879_"NUM_$$7879_,INS, DEL_^1€lI7A7B_"NUM_$$7A7B_,ERR OVR, FSL_^1I7C7D_"NUM_$$7C7D_,COR, RETURN_^1I7E7F_"NUM_$$7E7F_,READ, INT_^1_(END_^__ lPCONCAN CSY/ P€1_%NAM CONCAN_'DECK-ID A59 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* CHECK FOR CONT/CANCEL REPLY AT END OF DISPLAY_^1*_]_^1* ENTERED RTJ CONCAN_^1*_]_^1* EXIT TO CALLER WITH_^1*_]_^1*_)A = 0 CONTINUE_^1*_)A \ 0 CANCEL_^1_(ENT_$CONCAN_€€^1_(EQU_$AINT(27)_^1_(EQU_$CONT($75)_^1_(EQU_$GETSTR($A2)_^1_(EQU_$LPMASK($2)_^1_(EQU_$TRMNT(23)_^1_(EQU_$EXTSR($92)_^1_(EQU_$ENTSR($91)_^1_(EJT_^1*_]_^1CONCAN_!NOP_$0_^1_(RTJ-_#(ENTSR)_^1CCRPT_"ENA_$1_0READ ONE CHAR_^1_(RTJ-_#(GETSTR)_^1_(LDQ-_#AINT,I_+CHECK FOR "CONT"_^1_(LDA-_#4,Q_^1_(ALS_$8_^1_(AND-_#LPMASK+8_^1_(INA_$-CONT_^1_(SAZ_$CCEXIT_^1*_]_^1_(LDA-_#2,Q_.CHECK FOR CANCEL €ήCODE_^1_(ALS_$8_^1_(AND-_#LPMASK+8_^1_(INA_$-1_^1_(SAZ_$CCEXT1_^1*_]_^1_(LDA-_#TRMNT,I_*OR CANCEL BIT_^1_(ALS_$1_^1_(SAM_$CCEXT1_^1*_]_^1_(JMP*_#CCRPT_,ELSE REPEAT_^1*_]_^1CCEXT1_!ENA_$1_^1CCEXIT_!JMP-_#(EXTSR)_^1_(END_^__ήPDAM CSY/ P€1_%NAM DAM_*DECK-ID A53 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* DISK ALLOCATION MODULE._^1*_]_^1* CALLING SEQUENCE AND EXIT PARAMETERS_^1*_]_^1* 1._]_^1*_!ENTRY_]_^1*_'RTJ_$G1TRT_,GET ONE TRACK_^1*_'NO PARAMETERS_^1*_!EXIT_]_^1*_'A = €€ASSIGNED TRACK ADDRESS IN SECTOR FORM_^1*_'A = 0 NO TRACK AVAILABLE_^1*_]_^1* 2._]_^1*_!ENTRY_]_^1*_'RTJ_$RELTRT_+RELEASE ONE TRACK_^1*_'A = TRACK TO BE RELEASED IN SECTOR FORM_^1*_]_^1_(SPC_$3_^1*_]_^1* WARNING AND STATUS MESSAGES_^1*_]_^1* 1. DISK X BACK UNDER 70%_^1*_]_^1* 2. DISK X BACK UNDER 90%_^1*_]_^1* 3. OVER 80% DISK X USED_^1*_]_^1* 4. DISK X FULL_^1*_]_^1*_]_^1* NOTE : €€X IS DISK NUMBER (1 TO 4)_^1_(EJT_^1_(ENT_$G1TRT,RELTRT_^1_(EXT_$SIBSEC_^1_(EXT_$ABSADD_F06*C1320_^1*_]_^1* TRANSFER VECTOR EQUATES_^1_(EQU_$ENTSR($91),EXTSR($92)_^1_(EQU_$RTNSR($98)_^1_(EQU_$WRTSEC($A8)_^1_(EQU_$CLCDWA($90),WRTDWA($AA)_506*C1300_^1* MSOS EQUATES_^1_(EQU_$TEN($46),SIXTEN($27)_^1_(EQU_$NZERO($12),LPMASK(2),ONEBIT($23),ZROBIT($33)_^1_(EQU_$EXTBL($E9)_'EXTENDED SYSTEM€€ TABLE_$06*C1300_^1* ATT'S EQUATES_^1_(EQU_$LUN(35),ATEMP(73)_^1* SST'S EQUATES_^1_(EQU_$SST($47)_^1* EST'S EQUATES_^1_(EQU_$TRT1DA(17),TRT1(11),LUND1(25),DSKST(29)_^1_(EJT_^1G1TRT_"0_'0_^1_(RTJ-_#(ENTSR)_*SAVE ENTRY_^1_(RTJ*_#SETLU_,SET UP CURRENT DISK PARAMETERS_^1_(ENQ_$1_^1*_]_^1CKCYL_"LDA*_#(TRTADR),Q_'GET 'CYL' ASSIGN BITS_^1_(EOR-_#NZERO_,AND CHECK FOR FULL_^1_(SAN_$GOT1_^1_€€(LDA*_#MNCYL_,FULL. CYL. CHECK FOR DISK FULL._^1_(INA_$-1_^1_(STA*_#MNCYL_^1_(SAN_$TRYNXT_^1*_]_^1_(JMP*_#FULDSK_+ALL CYLS CHECKED. DISK FULL_^1*_]_^1TRYNXT_!INQ_$1_0GO CHECK NEXT CYL._^1_(JMP*_#CKCYL_^1*_]_^1GOT1_#STQ*_#CYLNUM_+SAVE CYL NUMBER_^1_(CLR_$Q_^1_(STQ*_#TRKNUM_^1_(TRA_$Q_^1*_]_^1CKTRAK_!LRS_$1_0CHECK TRACK ASSIGN BIT_^1_(SAM_$FREE_-GOT FREE TRACK_^1_(RAO*_#TRKNUM_+NO. T€€RY NEXT TRACK_^1_(JMP*_#CKTRAK_^1*_]_^1FREE_#LDQ*_#TRKNUM_^1_(LDA-_#ONEBIT,Q_^1_(LDQ*_#CYLNUM_^1_(EOR*_#(TRTADR),Q_'MARK TRACK AS USED_^1_(STA*_#(TRTADR),Q_'AND_^1_(RAO*_#(TRTADR)_)COUNT NO.OF ASSIGNED TRACKS_^1*_]_^1_(LDQ*_#DISK_-CHECK CAPACITY SITUATION_^1_(LDA*_#FLAG80,Q_^1_(SAN_$CALSEC_+CALCULATE SECTOR ADDRESS_^1_(LDA*_#(TRTADR)_)NO. DID WE PASS_^1_(SUB*_#PRCN80_+OVER 80% RIGH€€T NOW._^1_(SAM_$CALSEC_^1*_]_^1*_]_^1OVER80_!RAO*_#FLAG80,Q_)SET 80% WARNING PRINTED_^1*_]_^1_(FWRITE_!$FC,,M80,EM80-M80,A,5,5,I,,1_006*C1320_^1*_]_^1CALSEC_!LDA*_#CYLNUM_+CALCULATE SECTOR ADDRESS OF ASSIGNED_^1_(INA_$-1_/TRACK._^1_(ALS_$4_016 TRACKS/CYL_^1_(ADD*_#TRKNUM_^1_(ALS_$4_016 SECTORS/TRACK_^1_(ADD*_#BASSEC_+ADD OFFSET TO BASE._^1*_]_^1WRTTRT_!STA-_#ATEMP+1,I_(WRITE MODIFI€€ED TRT TO DISK._^1_(ENQ_$DSKST_,RESTORE DISKS STATUS_^1_(LDA-_#(SST),Q_^1_(AND-_#NZERO+4_^1_(EOR*_#DSKSTS_^1_(STA-_#(SST),Q_^1***_]_^1_(RTJ-_#(WRTSEC)_^1TRTADR_!NUM_$0_^1TRTDA_"NUM_$0_^1WORDS_"NUM_$0_^1TRTLU_"NUM_$0_^1*_]_^1_(LDA-_#ATEMP+1,I_^1_(JMP-_#(EXTSR)_*BACK TO CALLER_^1*_]_^1FULDSK_!LDQ*_#DISK_-CHECK IF FULL MESSAGE ALREADY_^1_(LDA-_#ONEBIT,Q_)PRINTED,AND FULL BIT SET._^1_(€€AND*_#DSKSTS_^1_(SAN_$FULEXT_^1*_]_^1_(LDA-_#ONEBIT,Q_)SET DISK FULL BIT AND PRINT_^1_(ENQ_$DSKST_,MESSAGE._^1_(EOR-_#(SST),Q_^1_(STA-_#(SST),Q_^1*_]_^1_(FWRITE_!$FC,,M100,EM100-M100,A,5,5,I,,1_-06*C1320_^1*_]_^1FULEXT_!CLR_$A_0SET DISK FULL INDICATION._^1_(JMP-_#(EXTSR)_*BACK TO CALLER._^1*_]_^1_(EJT_^1*_]_^1* DISK PARAMETERS_^1*_]_^1DISK_#0_'0_^1BASSEC_!0_'0_^1DSKSTS_!0_'0_^1MNCY€€L_"0_'0_^1PRCN70_!0_'0_^1PRCN80_!0_'0_^1PRCN90_!0_'0_^1CYLNUM_!0_'0_^1TRKNUM_!0_'0_^1*_]_^1FLAG80_!BZS_$FLAG80(4)_^1*_]_^1BASE1_"ADC_$SIBSEC_^1BAS234_!ADC_$10_^1_(EJT_^1SETLU_"0_'0_0SET UP CURRENT DISK PARAMETERS_^1_(LDA-_#LUN,I_^1_(ALS_$2_^1_(CLR_$Q_^1_(LLS_$2_^1_(STQ*_#DISK_-DISK UNIT_^1_(LRS_$1_^1_(LDQ-_#(SST),Q_^1_(SAM_$1_^1_(QLS_$8_^1_(TRQ_$A_^1_(AND-_#LPMASK+8_^1_(TCA_$Q_^1_(€€STQ*_#WORDS_,TRT LENGTH_^1_(INA_$-1_^1_(STA*_#MNCYL_^1_(MUI_$=X16*7_^1_(DVI-_#TEN_^1_(STA*_#PRCN70_+70% OF DISK CAPACITY_^1_(LDA*_#MNCYL_^1_(MUI_$=X16*8_^1_(DVI-_#TEN_^1_(STA*_#PRCN80_+80% OF DISK CAPACITY_^1_(LDA*_#MNCYL_^1_(MUI_$=X16*9_^1_(DVI-_#TEN_^1_(STA*_#PRCN90_+90% OF DISK CAPACITY_^1_(ENQ_$TRT1DA_^1_(ADQ*_#DISK_^1_(LDA-_#(SST),Q_^1_(STA*_#TRTDA_,DISK ADDRESS_^1_(INQ_$TRT1-€€TRT1DA_^1_(LDA-_#(SST),Q_^1_(STA*_#TRTADR_+CORE ADDRESS_^1_(LDQ*_#DISK_^1_(LDA*_#BAS234_^1_(SQN_$1_^1_(LDA*_#BASE1_^1_(INA_$15_^1_(AND-_#NZERO+4_^1_(STA*_#BASSEC_+BASE SECTOR_^1_(ADQ_$=A 1_^1_(STQ*_#DSKN1_,PRINT OUT DISK NO._^1_(STQ*_#DSKN2_^1_(STQ*_#DSKN3_^1_(ENQ_$DSKST_^1_(LDA-_#(SST),Q_^1_(AND-_#LPMASK+4_^1_(STA*_#DSKSTS_+DISK STATUS_^1_(JMP*_#(SETLU)_^1*_]_^1_(EJT_^1RELTRT_!0_'€€0_^1_(RTJ-_#(ENTSR)_*SAVE ENTRY_^1_(STA*_#TRKNUM_+SAVE TRACK ADDRESS_^1_(RTJ*_#SETLU_,SET UP CURRENT DISK PARAMETERS_^1_(ENQ_$EBADTK-BADTRK-1_!CHECK IF TRACK BEING_%06*C1300_^1LOOP_#LDA*_#BADTRK,Q_)RELEASED IS LOGGED_(06*C1300_^1_(EOR*_#TRKNUM_+AS BAD_406*C1300_^1_(EOR*_#DISK_H06*C1300_^1_(AND-_#ZROBIT+3_D06*C1300_^1_(SAZ_$YEP_I06*C1300_^1_(SQZ_$NOPE_H06*C1300_^1_(INQ_$-1_J06*C1300€€_^1_(JMP*_#LOOP_H06*C1300_^1YEP_$LDA*_#BADTRK,Q_)SET RELEASE BIT_+06*C1300_^1_(AND-_#ZROBIT+3_D06*C1300_^1_(EOR-_#ONEBIT+3_D06*C1300_^1_(STA*_#BADTRK,Q_D06*C1300_^1_(JMP_$CLRDSK_F06*C1300_^1NOPE_#LDA*_#TRKNUM_F06*C1300_^1_(SUB*_#BASSEC_^1_(CLR_$Q_^1_(LRS_$4_0DIVIDE BY SECTORS/TRACK_^1_(DVI-_#SIXTEN_+DIVIDE BY TRACKS/CYLINDER_^1_(INA_$1_^1_(STA*_#CYLNUM_^1_(LDA-_#ZROBIT,Q_^1_(LDQ*_#€€CYLNUM_^1_(AND*_#(TRTADR),Q_'CLEAR ASSIGN BIT_^1_(STA*_#(TRTADR),Q_^1_(LDA*_#(TRTADR)_)DECREMENT NO. OF USED TRACKS._^1_(INA_$-1_^1_(STA*_#(TRTADR)_^1*_]_^1_(LDQ*_#DISK_-CHECK CAPACITY STATUS._^1_(LDA*_#DSKSTS_^1_(AND-_#ONEBIT,Q_^1_(SAZ_$CKU70_,NOT FULL CHECK IF UNDR 70%_^1CKU90_"LDA_$(TRTADR)_D06*C1300_^1_(SUB*_#PRCN90_^1_(SAP_$GOWRIT_+NO CHANGE WRITE TRT._^1*_]_^1_(LDA*_#DSKSTS_+€€UNDER 90% RELEASE FULL BIT_^1_(EOR-_#ONEBIT,Q_^1_(STA*_#DSKSTS_^1_(LDA_$=A90_^1_(JMP*_#PUNDER_+SET UP MESSAGE AND PRINT_^1*_]_^1CKU70_"LDA*_#FLAG80,Q_^1_(SAN_$IFU70_^1*_]_^1GOWRIT_!JMP*_#WRIT_-NO CHANGE. WRITE TRT._^1*_]_^1IFU70_"LDA_$(TRTADR)_^1_(SUB*_#PRCN70_^1_(SAP_$WRIT_^1*_]_^1_(CLR_$A_0UNDER 70%.RELEASE OVER 80% PRINT_^1_(STA*_#FLAG80,Q_)FLAG_^1_(LDA_$=A70_^1PUNDER_!STA*_#PU7€€090_^1_(FWRITE_!$FC,,M70,EM70-M70,A,5,5,I,,1_006*C1320_^1*_]_^1WRIT_#JMP_$WRTTRT_+WRITE MODIFIED TRT TO DISK._^1_(EJT_^1* DAM MESSAGES_^1*_]_^1M70_$ALF_$*,DISK*_^1DSKN1_"ALF_$1,_^1_(ALF_$*, LESS THAN *_^1PU7090_!ALF_$1,_^1_(ALF_$1,%_^1_(ALF_$*, UTILIZED*_^1_(EQU_$EM70(*)_^1*_]_^1M80_$ALF_$*, DISK *_^1DSKN2_"ALF_$1,_^1_(ALF_$*, MORE THAN 80% UTILIZED*_^1_(EQU_$EM80(*)_^1*_]_^1M100€€_#ALF_$*,DISK*_^1DSKN3_"ALF_$1,_^1_(ALF_$*, FULL*_^1_(EQU_$EM100(*)_^1*_]_^1**_\06*C1300_^1* BAD TRACK TABLE_M06*C1300_^1**_\06*C1300_^1_(ENT_$BADTRK_F06*C1300_^1_(BZS_$BADTRK(64)_B06*C1300_^1_(EQU_$EBADTK(*)_C06*C1300_^1CLRDSK_!ADQ_$=XBADTRK_D06*C1300_^1_(STQ*_#CORBAD_F06*C1300_^1_(LDQ-_#EXTBL_G06*C1300_^1_(LDA-_#4,Q_I06*C1300_^1_(LDQ*_#CORBAD_F06*C1300_^1_(RTJ-_#(CLCDWA)_D06*C130€N0_^1_(STQ*_#BADDA1_F06*C1300_^1_(STA*_#BADDA2_F06*C1300_^1_(RTJ+_#ABSADD_+ABS ADR FOR SUPRW._(06*C1300_^1_(RTJ-_#(WRTDWA)_D06*C1300_^1CORBAD_!NUM_$0_K06*C1300_^1BADDA1_!NUM_$0_K06*C1300_^1BADDA2_!NUM_$0_K06*C1300_^1_(NUM_$1_01 WORD_406*C1300_^1_(NUM_$0_0SYSTEM LOGICAL UNIT_%06*C1300_^1_(JMP-_#(EXTSR)_*AND EXIT_206*C1300_^1_(END_^__NPCCHARS CSY/ P€1_%NAM CCHARS_'DECK-ID A14 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1** DISPLAY CURRENT CHARACTER - CRT **_^1_(ENT_$CCHAR_^1_(ENT_$CCAROL_^1**_]_^1*_]_^1* CURRENT CHARACTER IN ATT(CURR CHAR) IS DISPLAYED_^1* IN DATA AREA OR IN INTERROGATE LINE €€AT NEXT POSITION_^1*_]_^1*_]_^1_(EQU_$SST($47),TEMP(20),MODE(2),ZERO($22)_^1_(EQU_$ENDSR($8E),EXDSR($8F),RQ(65)_^1_(EQU_$CDATA($8D)_^1*_]_^1CCHAR_"NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(LDA_$=XMODE,I_)SET ATT (2) ADDR AS PARA ZERO_^1_(STA*_#P2_^1_(RTJ-_#(CDATA)_^1P1_%NUM_$$8801_,MODIF=1: BYTE=1: CHARS=1_^1P2_%NUM_$0_^1*_]_^1_(JMP-_#(EXDSR)_^1*_]_^1*_]_^1*_]_^1* DISPLAY CURRENT CHARACTER AND €ˆCOLUMN NO *_^1*_]_^1_(EXT*_#CCOL_^1*_]_^1CCAROL_!NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(RTJ_$CCOL_^1_(RTJ*_#CCHAR_^1_(JMP-_#(EXDSR)_^1_%END_]_^__ ˆPCENDS CSY/ P€1_%NAM CENDS_(DECK-ID A15 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1**_]_^1* END-OF-FIELD ENTRY/VERIFY - CRT *_^1*_]_^1*_]_^1*_]_^1* CALLED BEFORE ATT HAS BEEN UPDATED NEXT FILED_^1*_]_^1* PROGRAM SETS SCREEN ADDR IN TOPT TO NEXT LINE-1_^1*_]_^€€1*_]_^1_(ENT_$CEOF_^1_(ENT_$CBOF_^1_(ENT_$CEOREV_^1_(ENT_$TUTMOD_^1_(EXT_$FIRSTF_^1_(EXT_$CARLIN_^1_(EXT_$UPDAT_^1_(EXT_$NAMFLD_^1_(EXT_$CHDR_^1_(EXT_$CCOL_^1_(EXT_$CFNDTY,CCLRAL,CFDNO_^1_(EXT_$CPAGE_^1_(EQU_$SST($47),TOPT(33),FFA(12),FLDN(14),RQ(65)_^1_(EQU_$FMTNO(13)_^1_(EQU_$TEN($46),ONEBIT($23)_^1_(EQU_$SW1(19),AINT(27),ATT(11)_^1_(EXT_$GETBUF,GFNAME,CLINE,CDIS_^1_(EQU_$ENDSR($€€8E),EXDSR($8F)_^1_(EQU_$ENTSR($91),RTNSR($98),MODE(2)_^1_(EQU_%STEMP(20),C(1)_^1_(EQU_$BMOD(15)_^1_(EQU_$CURSRD(3)_^1_(EQU_$TEMP(20)_^1_(EQU_$AVAIL(SST+TEMP+1)_^1_(EQU_$ZERO($22),LPMASK(2)_^1**_]_^1CEOF_#NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(LDQ-_#TOPT,I_^1_(LDA-_#CURSRD,Q_)GET CURRENT SCREEN POSITION IN DATA_^1* CALCULATE SCREEN ADDRESS OF NEXT LINE: STORE AS NEW CURR SCREEN POSN_^1_(CLR_$€€Q_^1CARS_#DVI+_#CARLIN_+SCREEN ADDR/ CHARS PER LINE_^1_(INA_$1_0+1_^1_(MUI*_#(CARS+1)_^1_(LDQ-_#TOPT,I_^1_(INA_$-1_^1_(STA-_#CURSRD,Q_)NEW SCREEN ADDR_^1_(JMP-_#(EXDSR)_^1***_]_^1_(EJT_^1* DISPLAY BEGINNING-OF-FIELD CRT *_^1* THIS ROUTINE IS PERFORMED AFTER THE ATT HAS BEEN UPDATED_^1* FOR THE NEW FIELD._^1*_]_^1* IT RESETS THE SCREEN ADDRESS BACK TO THE BEGINNING OF THE_^1* CURREN€€T LINE-1 IN CASE ANY DATA (SUCH AS A FORMAT NO) HAS BEEN_^1* ENTERED_]_^1*_]_^1* IT CALCUALTES THE NUMBER OF SCREEN LOCATIONS AVAILABLE_^1* IF INSUFFICIENT FOR FIELD TO BE DISPLAYED CLEARS SCREEN_^1* REGENERATES HEADER AND WRITES FIELD NO AT BEGINNING OF NEXT LINE._^1*_]_^1* IF SUFFICIENT DISPLAYS FIELD NO AND DATA TYPE ONLY IN HEADER_^1* AND WRITES FIELD NO AT BEGINNING OF NEXT LI€€NE_^1*_]_^1*_]_^1CBOF_#NUM_$0_^1_(RTJ-_#(ENDSR)_^1* RESET CURSOR TO BEGINNING OF FLAG_^1_(LDQ-_#TOPT,I_^1_(LDA-_#CURSRD,Q_^1_(INA_$1_0IN CASE O DATA ENTERED_^1_(CLR_$Q_^1_(DVI*_#(CARS+1)_^1_(MUI*_#(CARS+1)_^1_(LDQ-_#TOPT,I_^1_(INA_$-1_^1_(STA-_#CURSRD,Q_^1* CALCULATES NO OF AVAILABLE POSITIONS ON SCREEN_^1_(LDA-_#SW1,I_,DON'T DISPLAY FLD NO IF FMT_^1_(AND-_#ONEBIT+3_)NEEDED NEXT_^€€1_(SAZ_$1_^1_(JMP*_#CBFEX_^1_(LDA+_#UPDAT_^1_(SUB-_#CURSRD,Q_^1_(SUB+_#NAMFLD_^1_(INA_$-2_^1_(STA-_#AVAIL_^1* COMPARE AVAILABLE POSITIONS AGAINST FIELD LENGTH_^1_(LDA-_#(SST+FFA)_(EXTRACT FIELD LENGTH FROM FORMAT_^1_(ARS_$8_^1_(AND-_#LPMASK+7_^1_(SUB-_#AVAIL_,SUBTRACT AVAILABLE POSITIONS_^1_(SAZ_$CBOF1_^1_(SAM_$CBOF1_,SKIP SPACE AVAILABLE_^1* INSUFFICIENT SPACE ON SCREEN_^1_(RTJ_$(€€CLL)_,CLEAR SCREEN_^1_(RTJ_%(CHD)_+DISPLAY HEADER_^1_(JMP*_#CBOF2_^1* SPACE AVAILABLE_^1CBOF1_"RTJ_$CFNDTY_+DISPLAY FIELD NO_^1*_]_^1* CHECK WHETHER TUTORIAL MODE REQUIRED_^1*_]_^1_(EQU_$TUT(4)_^1CBOF2_"RTJ*_#TUTMOD_+DO TUTORIAL DISPLAY IF REQUIRED_^1_(LDA-_#FLDN,I_+EXTRACT FIELD NO FROM ATT_^1_(ALS_$7_^1_(AND-_#LPMASK+7_^1_(STA-_#RQ,I_-PASS AS PARAM_^1*_]_^1_(RTJ_$CFDNO_,DISPLAY A€€T BEGINNING OF LINE_^1CBFEX_"LDQ-_#TOPT,I_+ADVANCE CURRENT SCREEN POSITION_^1_(LDA-_#CURSRD,Q_)IN DATA AREA BY 2_^1_(INA_$2_0TO CLEAR ERROR FLAG LOCKS_^1_(STA-_#CURSRD,Q_^1*_]_^1_(JMP-_#(EXDSR)_^1*_]_^1CLL_$ADC_$CCLRAL_^1CHD_$ADC_$CHDR_^1**_]_^1* TUTORIAL MODE_^1**_]_^1TUTMOD_!0_'0_^1_(RTJ-_#(ENDSR)_^1_(LDA-_#SW1,I_^1_(AND-_#ONEBIT+TUT_^1_(SAZ_$3_^1_(LDA-_#FMTNO,I_*DON'T DO TUTMOD €€IF FMT = 0_^1_(AND-_#LPMASK+13_^1_(SAN_%1_^1_(JMP-_#(EXDSR)_^1CBF21_"LDA-_#SST+STEMP_(SAVE EXIT_^1_(STA-_#RQ+C,I_^1_(LDA_$=N$2020_^1_(STA_%NAME_,AREA WITH BLANKS_^1_(STA_%NAME+1_^1_(STA_%NAME+2_^1*_]_^1_(ENA_$44_/GET A MESSAGE BUFFER_^1_(RTJ+_#GETBUF_^1*_]_^1_(LDA-_#RQ+C,I_+RESTORE EXIT_^1_(STA-_#SST+STEMP_^1_(LDA-_#SST+FFA_*SAVE CURRENT FFA, IN CASE THIS IS_^1_(STA*_#*+2_.FIRST FI€€ELD_^1_(JMP*_#*+2_^1_(NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(LDA-_#FLDN,I_+GET NUMBER OF CURRENT FIELD_^1_(ALS_$7_^1_(AND-_#LPMASK+7_^1_(STA*_#CBOF_-SAVE TEMP_^1_(SAN_$CBF218_^1**_]_^1* FIRST FIELD-TEST TO SEE EHICH IS THE 1ST FIELD TO BE ENTERED **_^1**_]_^1_(LDA-_#MODE,I_^1_(AND_$=N$F00_^1_(SUB_$=N$300_^1_(SAZ_$CBF211_+CALC NEXT FIELD IF PURE ENTRY_^1_(LDA-_#MODE,I_^1_(AND-_#ONEBIT+13_(CHE€€CK FOR PSEUDO-ENTRY_^1_(SAZ_$CBF211_^1_(LDA-_#SW1,I_,YES, P.E._^1_(AND-_#ONEBIT+12_(CHECK FOR INSERT_^1_(SAZ_$CBF218_^1CBF211_!RTJ_$FIRSTF_+ADV CFFA TO NEXT INPUT FLD_^1_(STA*_#CBOF_-A= FLD NO OF NEXT FLD IN_^1CBF218_!RTJ+_#GFNAME_+LOCATE NAME OF FIELD_^1_(SAZ_$CBF22_,NAME PRESENT?_^1_(JMP*_#CBF24_,YES:_^1*_]_^1CBF22_"LDA*_#CBOF_-NO NAME: USE NUMBER_^1_(INA_$1_^1_(CLR_$Q_0CONVERT T€€O ASCII DECIMAL_^1_(DVI-_#TEN_^1_(INA_$-10_.CHECK FOR HUNDREDS DIGIT_^1_(STA*_#CBOF_-SAVE RESULT TEMP_^1_(SAP_$CBF221_^1_(INA_$10_^1CBF221_!ALS_$8_^1_(ADD_$=N$3030,Q_(STORE TENS % UNITS_^1_(STA*_#NAME+2_^1*_]_^1_(LDA_$CBOF_-HUNDRED_^1_(SAM_$CBF222_+NO: SKIP_^1_(LDA_$=N$2031_*YES: CAN ONLY BE 1 HUNDRED_^1_(STA*_#NAME+1_^1CBF222_!JMP*_#CBF26_,GO CHECK KEY/CHK_*04*C1090_^1* ON EXIT FR€€OM GFNAME Q=NAME ADDR: A=NO OF WORDS IN NAME_^1CBF24_"LLS_$16_/COUNT TO Q_^1_(STA-_#I_0ADDR TO I_^1_(INQ_$-1_^1CBF25_"LDA-_#(ZERO),B_)GET WORD OF NAME_^1_(STA*_#NAME,Q_+MOVE TO LOCAL MESSAGE_^1_(INQ_$-1_/UNTIL COUNT NEGATIVE_^1_(SQM_$CBF26_^1_(JMP*_#CBF25_^1*_]_^1CBF26_"LDA-_#SST+ATT_*RESTORE I_^1_(STA-_#I_^1* CHECK FOR SIGHT VERIFICATION_^1_(CLR_$Q_^1_(LDA-_#SW1,I_^1_(AND-_#ONEBIT€€+5_^1_(SAZ_$CBF263_^1_(ENQ_$2_0NOT P.E. EITHER. THEREFORE, VERIFY_^1CBF263_!LDA*_#KEYVER,Q_^1_(STA*_#TEXT_^1_(LDA*_#KEYVER+1,Q_^1_(STA*_#TEXT+1_^1*_]_^1*_]_^1CHARS_"LDA-_#(SST+FFA)_(GET MAX NO OF CHARS IN FIELD_^1_(ALS_$8_^1_(AND-_#LPMASK+7_)CONVERT_^1_(INA_$1_^1_(CLR_$Q_0%_^1_(DVI-_#TEN_^1_(ALS_$8_^1_(ADD_$=N$3030,Q_^1_(STA*_#NO_/STORE_^1*_]_^1_(LDQ-_#SST+FFA_*GET KEYING MODE_^1_(€€LDA-_#1,Q_^1_(AND-_#ONEBIT+5_^1_(ARS_$4_0*2_^1_(TRA_$Q_0AS INDEX_^1_(LDA*_#F,Q_^1_(STA*_#KMD_.MOVE TO LINE_^1_(LDA*_#F+1,Q_^1_(STA*_#KMD+1_^1*_]_^1_(LDQ-_#SST+FFA_^1_(LDQ-_#1,Q_.GET DATA-TYPE_^1_(QLS_$4_0*2_^1_(ENA_$$E_^1_(LAQ_$Q_0AS INDEX_^1_(LDA*_#DTY,Q_^1_(STA*_#DTYPE_^1_(LDA*_#DTY+1,Q_^1_(STA*_#DTYPE+1_^1*_]_^1_(RTJ-_#(RTNSR)_*RECOVER AND RESTORE FFA_^1_(STQ-_#SST+FFA_^1_(LDA-_€€#AINT,I_+MOVE LINE FOR DISPLAY TO_^1_(INA_$3_0INTERROGATE BUFFER_^1_(STA-_#SST+TEMP+1_^1_(ENQ_$21_^1CBF27_"LDA*_#TEXT,Q_^1_(STA-_#(SST+TEMP+1),Q_^1_(INQ_$-1_^1_(SQM_$CBF271_^1_(JMP*_#CBF27_^1*_]_^1CBF271_!ENA_$1_0CHANGE SCREEN DEFINITION_^1_(STA-_#RQ,I_-TO INTERROGATE LINE_^1_(RTJ*_#(CDS)_^1_(LDA_$=N$202C_*SET UP DISPLAY LINE PARAMETERS_^1_(STA-_#RQ,I_-TRB BIT+CHAR COUNT_^1_(LDA-_#€€SST+TEMP+1_^1_(STA-_#RQ+1,I_^1_(RTJ+_#CLINE_,DISPLAY LINE_^1_(ENA_$0_0RESTORE SCREEN DEFINITION_^1_(STA-_#RQ,I_^1_(RTJ*_#(CDS)_^1_(JMP-_#(EXDSR)_^1*_]_^1***_]_^1*_'ALF_$*,KEY FIELD FFFFFF WITH 99 FIX ALP CHARACTERS*_^1TEXT_#ALF_$*,KEY FIELD *_^1NAME_#ALF_$*,_%WITH *_^1NO_%ALF_$*,99*_^1KMD_$ALF_$*, FIX*_^1DTYPE_"ALF_$*, ALP*_^1_(ALF_$*, CHARACTERS*_^1F_'ALF_$*, FIX*_^1_(ALF_$*, VAR*€€_^1DTY_$ALF_$*, LOW*_^1_(ALF_$*,_"*_^1_(ALF_$*, ALP*_^1_(ALF_$*,_"*_^1_(ALF_$*, UPP*_^1_(ALF_$*,_"*_^1_(ALF_$*, NUM*_^1_(ALF_$*, SNU*_^1KEYVER_!ALF_$*,KEY *_^1_(ALF_$*,CHK *_^1*_]_^1CDS_$ADC_$CDIS_^1_(EJT_^1* DISPLAY END-OF-RECORD ENTRY /VERIFY - CRT *_^1*_]_^1* CLEARS SCREEN REGENERATES HEADER_^1*_]_^1*_]_^1CEOREV_!NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(CLR_$A_K08*C1514_^1_(STA-_#RQ,I_^1_(R€dTJ+_#CPAGE_^1_(RTJ_$TUTMOD_+PERFORM TUTORIAL DISPLAY, IF REQ'D_^1_(JMP-_#(EXDSR)_^1*_]_^1_%END_]_^__dPCLEARS CSY/ P€1_%NAM CLEARS_'DECK-ID A20 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* CLEAR FIELD ON DISPLAY IN DATA OR INTERROGATE AREA_^1*_]_^1* THE FIELD IS CLEARED AND CURSOR RESET TO BEGINNING OF FIELD_^1*_]_^1*_]_^1* A=FIELD COUNT BEFORE RESET. (IN READ€€ FIELD COUNT IS ONE LESS THAN_^1*_<(NUMBER OF CHARS ENTERED.)_^1* Q=NO OF CHARS TO CLEAR_^1*_]_^1*_]_^1_(ENT_$CCLRAL_^1_(ENT_$CCLRFD_^1_(EXT_$CARLIN_^1_(EXT_$FREEBK_^1_(EQU_$CURSRD(3),CURSRI(4)_^1_(EQU_$ZERO($22),NZERO($12)_^1_(EXT_$LOWDAT,INTLIN_^1_(EXT_$CFDNO_^1_(EQU_$COL(2)_^1_(EQU_$TOPSTR(13),BLOKS(14)_^1_(EQU_$PARAM(8),FLDST(15),SST($47),CFFA(12)_^1_(EQU_$LPMASK(2),ONEBIT($23)€€_^1_(EQU_$ENDSR($8E),EXDSR($8F),CDATA($8D)_^1_(EQU_$TOPT(33)_^1_(EQU_$MODE(2)_^1_(EQU_$RQ(65)_^1_(EQU_%FLDNO(14)_^1_(EQU_$BLOKL(8)_(ALD BLOCK LENGTH_^1_(EQU_$BLOKF(3)_(LOG 2 OF BLOKL_^1*_]_^1*_]_^1CCLRFD_!NUM_$0_^1_(RTJ-_#(ENDSR)_^1*_]_^1_(LDQ-_#TOPT,I_+ISOLATE DATA/INTERROGATE BIT_^1_(LDA-_#BLOKS,Q_^1_(AND-_#ONEBIT+12_^1_(SAN_$CLR0_^1_(JMP*_#CLR1_^1* INTERROGATE AREA_^1CLR0_#LDA*_€€#(ILN)_,SET FINAL CURSOR TO BEG OF INTER LIN_^1CLR01_"STA*_#C1_/MOVE CURSOR TO LINE TO BE CLEARED_^1_(STA*_$C2_^1*_]_^1_(RTJ-_#(CDATA)_*DISPLAY_^1_(NUM_%$E001_+M=1:PARAS=3:R=0:COUNT=1_^1_(ADC_$CLRLIN_^1_(NUM_$0_0I/O BIT ADDR=ZERO_^1C1_%NUM_$0_0CURSOR 1_^1C2_%NUM_%0_^1*_]_^1_(JMP-_#(EXDSR)_^1*_]_^1CLRLIN_!NUM_$$1800_,CLEAR LINE CODE IS $18_^1*_]_^1*_]_^1* IF RQ,I IS NEG B/SP TO BEG €€OF DATA AREA IN LINE_^1*_]_^1*_]_^1CLR1_#LDA-_#CURSRD,Q_^1_(LDQ-_#RQ,I_^1_(SQP_$CLR10_^1_(CLR_$Q_0RQ,I NEGATIVE: CLEAR CURRENT LINE_^1_(INA_$1_K01*C1008_^1CARS_#DVI+_#CARLIN_+FINAL CURSOR IS AT BEG. OF LINE_^1_(MUI*_#(CARS+1)_^1_(INA_$-1_^1_(JMP*_#CLR01_^1*_]_^1CLR10_"LDQ-_#TOPT,I_^1_(LDA-_#FLDST,Q_^1_(STA*_#CCLRFD_+SAVE ADDR OF LIST IN FIELD_^1_(CLR_$Q_^1_(DVI*_#(CARS+1)_^1_(MUI*_€€#(CARS+1)_^1_(INA_$-1_^1_(STA*_#C22_.SAVE ADDR OF 1'ST LINE FIELD_^1_(LDQ-_#SST+CFFA_^1_(LDA-_#(ZERO),Q_^1_(ARS_$8_0CALCULATE ADDRESS OF LAST LINE_^1_(AND-_#LPMASK+7_)IN FIELD ,BASED ON FIELD LGTH_^1_(INA_$1_0IN FORMAT_^1_(ADD*_#CCLRFD_^1_(CLR_$Q_^1_(DVI*_#(CARS+1)_^1_(MUI*_#(CARS+1)_^1_(INA_$-1_^1CLR12_"STA*_#C21_^1_(RTJ-_#(CDATA)_*SEND A CLEAR CODE_^1_(NUM_%$E001_+M=1:PARAS=3:R=0€€:COUNT=1_^1_(ADC_$CLRLIN_+CLEAR CODE ADDRESS_^1_(NUM_$0_^1C21_$NUM_$0_0START ADDRESS OF CURSOR_^1C22_$NUM_%0_^1*_]_^1_(LDQ-_#TOPT,I_^1_(LDA-_#PARAM+4,Q_^1_(STA*_#C22_^1_(SUB-_#PARAM+3,Q_(IF LAST ADDR SENT WAS 1'ST LINE_^1_(SAZ_$CLR15_,IN FIELD EXIT_^1_(LDA-_#PARAM+3,Q_^1_(SUB*_#(CARS+1)_^1_(JMP*_#CLR12_^1*_]_^1CLR15_"LDA-_#FLDNO,I_*YES: NOW DISPLAY FIELD NO._^1_(ALS_$7_^1_(AND-_#LP€€MASK+7_^1_(STA-_#RQ,I_^1_(RTJ+_#CFDNO_^1_(LDQ-_#TOPT,I_^1_(LDA-_#CURSRD,Q_)ADVANCE CURSOR PAST ERROR FLAG_^1_(INA_$2_0POSITIONS_^1_(STA-_#CURSRD,Q_^1_(JMP-_#(EXDSR)_^1_(EJT_^1* CLEAR SCREEN - CRT *_^1*_]_^1* CLEARS SCREEN AND RESETS SCREEN POINTERS_^1*_]_^1*_]_^1CCLRAL_!NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(LDQ-_#TOPT,I_^1* RESET SCREEN ADDRESS IN DATA AREA TO 1ST DATA LINE-1_^1_(LDA*_#(LWD€€)_^1_(STA-_#CURSRD,Q_^1* RESET SCREEN ADDRESS IN INTERROGATE AREA TO INTERROGATE LINE-1_^1_(LDA*_#(ILN)_^1_(STA-_#CURSRI,Q_^1_(IIN_$0_^1* CHECK IF THERE IS A DISPLAY STRING TO BE RELEASED_^1_(LDA-_#TOPSTR,Q_)STRING?_^1_(SAN_$KCLR1_^1_(JMP*_#KCLR2_,NO: JUMP_^1* STRING PRESENT_^1KCLR1_"AND-_#NZERO+BLOKF_^1_(TRA_$Q_0KEEP THE 1'ST BLOCK_^1KCLR11_!LDQ- BLOKL-1,Q_^1_(SQZ_$KCLR12_+YES-SKI€€P OUT_^1* RELEASE BLOCK WHOSE ADDR IS IN Q_^1_(LDA*_#(FBK)_,STORE LINKAGE TO NEXT FREE BLOCK_^1_(STA-_#(ZERO),Q_)IN BLOCK(0)_^1_(STQ*_#(FBK)_,STORE BLOCK ADDR AS NEXT FREE BLOCK_^1_(JMP*_#KCLR11_+RELEASE NEXT BLOCK_^1* ALL BLOCKS BUT 1 RELEASED: SET BLOCKS OCCUPIED TO 1,ADR IN BLOCK TO 0_^1KCLR12_!LDQ-_#TOPT,I_^1_(LDA-_#TOPSTR,Q_)GET ADDR OF 1ST BLOCK-_+B_^1_(AND-_#NZERO+BLOKF_HB_^€€1_(STA*_#CCLRAL_MB_^1_(STA-_#TOPSTR,Q_)TOP OF STRING PTS TO 1ST_)B_^1_(CLR_$A_0WS IN BLOCK_6B_^1_(ENQ_$BLOKL-1_LB_^1KCLR15_!STA*_#(CCLRAL),Q_'CLEAR REST OF BLOCK: AT LEAST_#B_^1_(SQZ_$2_01 NULL CHARACTER WILL BE SENT_#B_^1_(INQ_$-1_/(IN CASE LAST CODE WAS 1ST HALF_!B_^1_(JMP*_#KCLR15_+OF AN ADDRESS)_3B_^1_(LDQ-_#TOPT,I_MB_^1_(LDA-_#BLOKS,Q_^1_(AND_$=N$7FF0_^1_(INA_$1_0BLOCK COUNT S€ET TO 1_^1_(STA-_#BLOKS,Q_^1* CLEAR DISPLAY_^1KCLR2_"SET_$A_^1_(STA-_#COL,Q_^1_(RTJ-_#(CDATA)_^1REQ_$NUM_$$1919_,19= CLEAR SCREEN_*06*C1301_^1_(NUM_$-1_/TERMINATOR_^1* FILLERS USED AS ADCS_^1LWD_$ADC_$LOWDAT_^1ILN_$ADC_$INTLIN_^1FBK_$ADC_$FREEBK_^1*_]_^1_(JMP-_#(EXDSR)_^1_(END_^__ PCMISC1 CSY/ P€1_%NAM CMISC1_'DECK-ID A10 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(ENT_$ENDSR_^1_(ENT_$EXDSR_^1_(ENT_$CDIS_^1_(ENT_$CLOK_^1* SET DATA DEFINITION BITS IN TOPT_^1*_]_^1* 00=DATA: 01=INTERROGATE: 10=IDLE_^1*_]_^1* BITS ARE TRANSFERRED IN LS OF€€ A WHICH IS SAVED INN ATT (RQ)_^1*_]_^1_(EQU_$RQ(65)_^1_(EQU_$TEMP(20),ZERO($22)_^1_(EQU_$TOPT(33),SST($47),TOPCRT(4)_^1_(EQU_$EXTSR($92)_^1_(EQU_$BLOKS(14)_^1*_]_^1CDIS_#NUM_$0_^1_(LDQ-_#TOPT,I_^1_(LDA-_#BLOKS,Q_^1_(AND_$=N$CFFF_^1_(STA-_#BLOKS,Q_^1_(LDA-_#RQ,I_^1_(ALS_$12_^1_(ADD-_#BLOKS,Q_^1_(STA-_#BLOKS,Q_^1_(JMP*_#(CDIS)_^1_(EJT_^1* DISPLAY LOCK CODE-CRT *_^1*_]_^1CLOK_#NUM_$0€€_^1_(LDQ-_#TOPT,I_^1_(IIN_$0_^1_(LDA-_#BLOKS,Q_*IF LOCK O/P IN PROGRESS_^1_(AND_$=N$70_^1_(SAN_$CLOKEX_+EXIT_^1*_]_^1_(LDA-_#(ZERO),Q_)TOPT THREADED_^1_(SAN_$CLOK0_,YES: SKIP THREADING_^1_(LDA-_#SST+TOPCRT_^1_(STA-_#(ZERO),Q_)NO: THREAD_^1_(STQ-_#SST+TOPCRT_^1_(ENA_$$50_.SET LOCK IN PROGRESS_^1_(JMP*_#CLOK1_^1*_]_^1CLOK0_"ENA_$$70_.I/O IN PROGRESS: SET LOCK REQD FLAG_^1CLOK1_"EOR-_€€#BLOKS,Q_^1_(STA-_#BLOKS,Q_^1CLOKEX_!EIN_$0_^1_(JMP-_#(EXTSR)_^1_(EJT_^1** ENTER SUBROUTINE FOR DISPLAY ROUTINES **_^1*_]_^1* USES PIO AREA AS STACK_^1*_'FIRST WORD OF STACK IS TOP-OF-STACK POINTER_^1*_'HOWEVER THIS IS UPDATED ONLY WHEN EXITING TO RETRY_^1*_'OTHERWISE SST+TEMP CONTAINS TOP-OF-STACK_^1*_]_^1***A AND Q MAY BE PASSED IN ATT(RQ),(RQ+1)***_^1*_]_^1ENDSR_"NUM_$0_^1_(RAO€€-_#SST+TEMP_^1_(LDA-_#SST+TEMP_)CHECK FOR_^1_(SUB_$=XRQ+7,I_)STACK O/FLOW_^1_(SAM_$1_^1_(NUM_$$18FF_^1_(ENQ_$-2_^1_(LDA*_#(ENDSR),Q_^1_(STA-_#(SST+TEMP)_^1_(JMP*_#(ENDSR)_^1** EXIT SUBROUTINE FOR DISPLAY ROUTINES_^1*_]_^1*_]_^1EXDSR_"LDQ-_#(SST+TEMP)_^1_(LDA-_#SST+TEMP_^1_(INA_$-1_^1_(STA-_#SST+TEMP_^1_(JMP-_#(ZERO),Q_^1_(EJT_^1******************************************************€€******************_^1* DIRECT CALL TO CDATA-_^1*_'RQ,I CONTAINS ADDR OF 5 WORD BLOCK_^1************************************************************************_^1_(EQU_$CDATA($8D)_^1_(ENT_$CDIR_^1*_]_^1CDIR_#NUM_$0_^1_(RTJ*_#ENDSR_^1_(LDQ-_#RQ,I_-TRANSFER 5 WORDS TO CDATA CALL_^1_(STQ*_#CDIR_^1_(ENQ_$4_^1CDIR1_"LDA*_#(CDIR),Q_^1_(STA*_#PARAM,Q_^1_(SQZ_$2_05 WORDS TRANSFERRED_^1_(IN€XQ_$-1_^1_(JMP*_#CDIR1_^1_(RTJ-_#(CDATA)_^1_(BZS_$PARAM(5)_^1_(JMP*_#EXDSR_^1_%END_]_^__ XPCPAGE CSY/ P€1_%NAM CPAGE_(DECK-ID A17 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* DISPLAY PAGE OF RECORD ON CRT *_^1*_]_^1* ON ENTRY A (IN RQ(I) CONTAINS FIELD AT WHICH DISPLAY IS TO START_^1*_]_^1*_]_^1_(ENT_$CPAGE_^1_(EXT_$CCLRAL,CHDR,CWFLD,CFLD_^1_(EXT_€€$GETPL,CFDNO,FMTSCN_^1_(EXT_$CARLIN,LOWDAT_^1_(EXT_$NAMFLD_^1_(EXT_$CSTVER_F04*C1090_^1_(EXT_$CONCSR_^1_(EQU_$ENDSR($8E),EXDSR($8F),CDATA($8D)_^1_(EQU_$RQ(65),IOADDR(64),TOPT(33)_^1_(EQU_$ATRB(6)_^1_(EQU_$SW1(19),RCD(32),RCDRD(31)_^1_(EQU_$SW2(20)_^1_(EQU_$FLDN(14),MODE(2),SST($47),TEMP(20)_^1_(EQU_$NZERO($12),ONEBIT($23),LPMASK(2),ZERO($22)_^1_(EQU_$CURDA(9),BMDA(17),FCNT(3),BRCNT€€(15)_^1_(EQU_$BMOD(15)_^1_(EQU_$FLDST(15)_^1_(EQU_$TEMP1(SST+TEMP+1)_^1_(EQU_$CURSRD(3)_^1* FMTSCN O/P EQUATES_^1_(EQU_$CN(1),TRBFAD(3),FLDLNG(4),FN1(5)_^1* CN=COLUMN NO: TRBFAD=CORE ADDR OF FIELD: FLDLNG=FIELD LENGTH:_^1* FN1=ADDR OF FIELD IN FORMAT_^1*_]_^1*_]_^1CPAGE_"NUM_$0_^1_(RTJ-_#(ENDSR)_^1* MOVE FIELD NO TO IOADDR(I)_^1_(LDA-_#RQ,I_^1_(STA-_#IOADDR,I_^1* CLEAR SCREEN_^1_(R€€TJ_$CCLRAL_^1* REGENERATE HEADER_^1_(RTJ_$CHDR_^1* CHECK WHETHER DISPLAYING IN READ OR NOT_^1CP1_$LDA-_#MODE,I_^1KF00_#AND_$=N$0F00_^1_(SUB-_#ONEBIT+9_^1_(SAN_$TONOTR_+NOT READ_^1_(LDA-_#SW1,I_^1_(AND-_#ONEBIT+12_(INSERT?_^1_(SAZ_$CPREAD_^1TONOTR_!JMP*_#NOTRD_,YES: TREAT AS NOT READ_^1*_]_^1CPREAD_!LDQ-_#ATRB,I_^1_(LDA-_#6,Q_.CHECK FOR END OF DATA CONDITION_^1_(ALS_$8_^1_(AND-_#LPM€€ASK+7_^1_(EOR-_#CURDA,I_^1_(SAN_$JUMP_^1_(LDA-_#4,Q_^1_(EOR-_#CURDA+1,I_^1_(SAN_$1_^1_(JMP*_#CP41_-DISPLAY FIELD NAME ONLY_^1JUMP_#LDA-_#BMOD,I_^1_(ALS_$2_^1_(SAP_$CP2_^1_(LDA-_#RCD,I_,IF ON LAST RECORD IN ENTRY_^1_(SUB-_#RCDRD,I_*DISPLAY ONLY DATA ENTERED_^1_(SAN_$CP2_^1*_]_^1CPRD1_"LDA-_#IOADDR,I_)ELSE: CURR RECORD IS LAST_^1_(RTJ*_#(FSN)_,AND PARTIAL: GET FMT INFO FOR FIELD_^1* €€CHECK FOR END-OF-DATA_^1_(LDA-_#CN,Q_-GET COLUMN NO_!AT BEG OF THIS_^1_(TCA_$Q_^1_(LDA-_#BRCNT,I_*IF=BASIC MODE RECORD COUNT_^1_(AND-_#LPMASK+12_^1_(AAQ_$A_^1_(SAN_$CP2_^1_(JMP*_#CP4_.PAGE DISPLAY FINISHED_^1* NOT EOD: CHECK FOR END-OF-SCREEN_^1CP2_$LDA-_#IOADDR,I_^1_(RTJ*_#(GPL)_,GET SCREEN ADDR OF FIELD_^1*_]_^1_(LDA-_#1,Q_^1_(LDQ-_#TOPT,I_^1_(SUB-_#CURSRD,Q_^1_(SAP_$CP21_^1_(JMP€€*_#CP3_.NEW PAGE: DISPLAY COMPLETED_^1* SAME SCREEN PAGE CONTINUE DISPLAY_^1CP21_#RTJ*_#(WFD)_,DISPLAY WHOLE FIELD_^1* READ MODE: IF LAST FIELD OF RECORD DISPLAYED: DISPLAY COMPLETED_^1_(LDA-_#IOADDR,I_)GET FIELD INFO_^1_(RTJ*_#(FSN)_^1_(LDQ-_#FN1,Q_,LAST FIELD?_^1_(LDA-_#(ZERO),Q_^1_(AND-_#LPMASK+4_^1_(SAZ_$CP3_.YES_^1* STEP UP TO NEXT FIELD FOR DISPLAY_^1CP22_#RAO-_#IOADDR,I_^1_(€€JMP*_#CPREAD_^1**_]_^1* DISPLAY COMPLETED: SET CURSOR TO CURR FIELD IN ATT_^1**_]_^1CP3_$LDA-_#FLDN,I_^1_(ALS_$7_^1_(AND-_#LPMASK+7_^1_(RTJ*_#(GPL)_,GET SCREEN ADDR OF CURR FIELD_^1*_]_^1_(LDA-_#1,Q_^1_(ADD+_#NAMFLD_^1_(INA_$3_02 FOR POS Q 1 FOR READ MODE_^1_(LDQ-_#TOPT,I_^1_(STA-_#FLDST,Q_*SAVE ADDR OF BEG OF FLD_^1_(TRA_$Q_^1_(LDA-_#FCNT,I_+MODIFY BY CURR FIELD COUNT_^1_(AND-_#LP€€MASK+8_^1_(AAQ_$A_^1_(LDQ-_#TOPT,I_^1CP31_#STA-_#CURSRD,Q_)STORE AS CURR SCREEN POSITION_^1_(RTJ_$CONCSR_+CONVERT CURSOR_^1_(STA*_#REQ_^1* O/P CURSOR TO REQD LOCN_^1_(RTJ-_#(CDATA)_^1REQ_$NUM_$0_^1_(NUM_$-1_^1* 3 FILLERS USED FOR PROGRAM ADDRESSES_^1GPL_$ADC_$GETPL_^1CFD_$ADC_$CFDNO_^1FSN_$ADC_$FMTSCN_^1*_]_^1_(JMP-_#(EXDSR)_^1*_]_^1* DISPLAY PAGE NOT IN READ MODED TERMINATE AFTER €€CURRENT FIELD_^1* IN ATT HAS BEEN DISPLAYED_^1NOTRD_"LDA-_#FLDN,I_+GET CURRENT FIELD IN ATT_^1_(ALS_$7_^1_(AND-_#LPMASK+7_^1_(SAZ_$CP41_-IF FIELD ZERO DONT ADVANCE LINE_^1_(SUB-_#IOADDR,I_)CURR=FIELD ABOUT TO BE DISPLAYED?_^1_(SAZ_$CP4_.YES: SPECIAL PARTIAL FIELD DISPLAY_^1*_]_^1_(RTJ*_#(WFD)_,NO: DISPLAY WHOLE FIELD_^1_(RAO-_#IOADDR,I_)INCREMENT NO OF FIELD FOR DISPLAY_^1_(JMP*_#N€€OTRD_,LOOP BACK TO DISPLAY NEXT_^1*_]_^1* DISPLAY OF TERMINATTING FIELD_^1CP4_$LDQ-_#TOPT,I_+GET SCREEN ADDR OF FIELD_^1_(LDA-_#CURSRD,Q_^1_(CLR_$Q_^1CARS_#DVI_$CARLIN_^1_(INA_$1_^1_(MUI*_#(CARS+1)_^1_(LDQ-_#TOPT,I_^1_(INA_$-1_^1_(STA-_#CURSRD,Q_^1* WRITE FIELD NO AT BEGINNING OF FIELD-LINE_^1CP41_#LDA-_#SW1,I_,IF FMSEL/DOC REQ'D, DON'T_^1_(AND-_#ONEBIT+3_)DISPLAY FIELD NO._^1_(SAN€€_$3_^1_(LDA-_#IOADDR,I_^1_(STA-_#RQ,I_^1_(RTJ*_#(CFD)_,WRITE FIELD NO_^1_%LDA- SW1,I_M06*C1375_^1_%ALS 3_Q06*C1375_^1_%SAM EN_P06*C1375_^1_%LDA- MODE,I_L06*C1375_^1_%AND- ONEBIT+8_J06*C1375_^1_%SAN EN_P06*C1375_^1_%JMP* CP3_O06*C1375_^1EN_#LDA- FCNT,I_L06*C1375_^1_%AND- LPMASK+8_J06*C1375_^1_%SAN CP42_N06*C1375_^1_(LDA-_#SW1,I_,CHECK FOR SIGHT VER_'04*C1090_^1_(AND-_#ONEBIT+5_D€€04*C1090_^1_(SAN_$CP42_-YES-SKIP_204*C1090_^1_(LDQ-_#TOPT,I_+INCREMENT CURR SCREEN POSN_^1_(LDA-_#CURSRD,Q_)TO CLEAR ERROR FLAGS POSN_^1_(INA_$2_^1_(JMP*_#CP31_^1*_]_^1* DISPLAY FINAL DATA FIELD_^1CP42_#LDA-_#SW1,I_G04*C1090_^1_(AND-_#ONEBIT+5_)SIGHT VERIFY?_-04*C1090_^1_(SAZ_$CP4205_+NO-NORMAL FIELD_+04*C1090_^1_(RTJ+_#CSTVER_+YES-DISPLAY AND EXIT_%04*C1090_^1_(JMP-_#(EXDSR)_E04*C€€1090_^1CP4205_!LDA-_#IOADDR,I_D04*C1090_^1_(INA_$0_K01*C1010_^1_(RTJ*_#(FSN)_^1* SET UP CFLD PARAMETERS_^1_(LDA-_#TRBFAD,Q_)GET FIELD ADDR_^1_(STA-_#RQ+1,I_^1_(LDQ-_#FLDLNG,Q_)GET BYTE INDICATOR_^1_(LDA-_#FCNT,I_^1_(AND-_#LPMASK+8_)SET ON CHARS TO BE DISPLAYED_^1_(SQP_$CP421_^1_(EOR-_#ONEBIT+15_^1CP421_"STA-_#RQ,I_^1_(RTJ_$CFLD_-DISPLAY DATA FIELD_^1*_]_^1_(JMP-_#(EXDSR)_^1*_]_^1WF€D_$ADC_$CWFLD_^1_%END_]_^__ PCREGEN CSY/ P€1_%NAM CREGEN_'DECK-ID A09 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* REGENERATE SCREEN DISPLAY - CRT *_^1_(ENT_$CREGEN_^1_(EXT_$CDIS,CCLRAL,CCLRFD,GETPL,CPAGE_^1_(EXT_$TUTMOD_^1_(EXT_$CONCSR_^1_(EQU_$ENDSR($8E),EXDSR($8F),CDATA($8D)_^1_(EQU_$€€CURSRD(3)_^1_(EQU_$TOPT(33),RQ(65)_^1_(EQU_$MODE(2),BLOKS(14)_^1_(EQU_$ONEBIT($23),LPMASK(2),ZERO($22)_^1_(EQU_$FLDN(14)_^1*_]_^1CREGEN_!NUM_$0_^1_(RTJ-_#(ENDSR)_^1*_]_^1_(LDA-_#MODE,I_^1_(AND_$=N$0F00_^1_(SAN_$CRG1_^1* TERMINAL IDLE_^1_(RTJ_$CCLRAL_^1_(ENA_$2_^1SETBIT_!STA-_#RQ,I_^1_(RTJ*_#(CDS)_^1_(JMP-_#(EXDSR)_^1* INTERROGATE SCREEN_^1CRG1_#LDQ-_#TOPT,I_^1_(LDA-_#BLOKS,Q_^1_(AN€€D_$=N$3000_^1_(SUB-_#ONEBIT+12_^1_(SAZ_$1_^1_(JMP*_#CRG2_^1_(RTJ_$CCLRFD_^1CRG15_"LDA-_#MODE,I_+CHK IF AID DISPLAY REQ'D_^1RDMSK_"AND_$=N$3100_^1_%SAZ 3_Q06*C1372_^1_(RTJ_$TUTMOD_^1_%ENA 1_Q06*C1372_^1_(LDQ-_#TOPT,I_^1_%ADD- CURSRD,Q_J06*C1372_^1_(RTJ+_#CONCSR_^1_(STA*_#PAR1_^1_(RTJ-_#(CDATA)_^1PAR1_#NUM_$0,-0,0,0,0_^1_(ENA_$0_^1_(JMP*_#SETBIT_^1* DATA SCREEN_^1CRG2_#LDA-_#FLDN,I€ž_^1_(ALS_$7_^1_(AND-_#LPMASK+7_^1_(RTJ+_#GETPL_^1_(LDA-_#(ZERO),Q_^1_(STA-_#RQ,I_^1_(RTJ_$CPAGE_^1_(LDA-_#MODE,I_^1_(JMP*_#CRG15_^1CDS_$ADC_$CDIS_^1_(END_^__ žPFIELDS CSY/ P€1_%NAM FIELDS_'DECK-ID A16 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* DISPLAY FIELD OF RECORD -CRT *_^1*_]_^1* FIELD ADDR IN Q_^1* BYTE INDIC AND COUNT IN A_^1*_]_^1* A AND Q AS IN ALL DISPLAY ROUTINES ARE PASSED IN RQ(1),RQ+1(I)_^1*_]_^1_(ENT€€_$CWFLD_^1_(ENT_$CFLD_^1_(EXT_$CFDNO_^1_(EXT*_#CONCSR_^1_(EQU_$CURSRD(3)_^1_(EQU_$IOADDR(64)_^1_(EQU_$PARAS(8)_^1_(EQU_$ENDSR($8E),EXDSR($8F),CDATA($8D)_^1_(EQU_$MODE(2),RQ(65),C(1),TOPT(33),ATRB(6)_^1_(EQU_$NZERO($12),FCNT(3)_^1_(EQU_$ONEBIT($23)_^1_(EQU_$ZERO($22)_^1*_]_^1CFLD_#NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(LDA-_#MODE,I_+READ MODE?_^1_(AND_$=N$3100_^1_(SAN_$CFLD11_+NO: SKIP ERROR €€FLAG CHECK_^1* READ MODE: CHECK FOR ERROR FLAG_^1_(LDQ-_#RQ+C,I_^1_(LDQ-_#(ZERO),Q_)GET 1'ST CHAR IN FIELD_^1_(LDA-_#RQ,I_-EITHER IN 8M.S. OR IN 8L.S._^1_(SAP_$CFLD1_^1_(QLS_$8_^1CFLD1_"SQM_$CFLD12_+IF NEGATIVE ERROR FLAGGED_^1CFLD11_!LDQ-_#TOPT,I_^1_(LDA-_#RQ,I_-NOT FLAGGED_^1_(STA-_#PARAS+3,Q_(MOVE A AND Q_^1_(LDA-_#RQ+1,I_+TO SAME LOCNS_^1_(STA-_#PARAS+4,Q_(AS IF FLAGGED_^1_(JMP€€*_#CFLD2_^1* FLAGGED_]_^1CFLD12_!LDQ-_#TOPT,I_^1_(LDA-_#CURSRD,Q_)GET CURRENT SCREEN ADDR_^1_(INA_$1_0INCREMENT BY 1_^1_(RTJ_$CONCSR_+CONVERT TO O/P FORMAT_^1_(STA*_#REQ_.STORE IN CDATA PARAM_^1_(LDA-_#RQ,I_-SAVE FIELD ADDR IN_^1_(STA*_#DATA+2_+RQ(1),RQ+1(I)_^1_(LDA-_#RQ+C,I_+AS CDATA USES THESE WORDS_^1_(STA*_#DATA+3_^1*_]_^1_(RTJ-_#(CDATA)_^1REQ_$NUM_$0_0SCREEN ADDR_^1DATA_#ALF_$€€1,**_-**_^1_(NUM_$-1_/TERMINATOR_^1_(NUM_$0_0A SAVED IN TOPT FOR RE-ENTRANCY_^1_(NUM_$0_0Q_^1* SET CURRENT SCREEN ADDR TO BEGINNING OF FIELD DATA_^1CFLD2_"LDQ-_#TOPT,I_^1_(LDA-_#CURSRD,Q_^1_(INA_$2_^1_(STA-_#CURSRD,Q_^1* SET UP CDATA CALL_^1_(LDA-_#PARAS+3,Q_(GET BYTE+NO OF CHARS_^1_(SAP_$CFLD21_^1_(EOR_$=N$8800_*MOVE BYTE1 TO BIT 11_^1CFLD21_!ADD_$=N$A000_*SET M: EXTRA PARAS=1: R=€€0_^1_(STA*_#REQ1_^1_(LDA-_#MODE,I_+IS THE CURRENT STATUS PSEUDO-ENTRY?_^1_(AND-_#ONEBIT+13_^1_(SAZ_$CFLD3_,NO: NORMAL CONDITION_^1_(LDA-_#FLDNO,I_*YES: IS THIS THE CURRENT FIELD?_^1_(ALS_$7_^1_(AND-_#LPMASK+7_^1_(EOR-_#IOADDR,I_^1_(INA_$0_K01*C1011_^1_(SAN_$CFLD3_,NO: NORMAL CONDITION_^1_(LDA*_#REQ1_-YES: DISPLAY ONLY THAT PORTION_^1_(AND-_#NZERO+11_)OF THE FIELD ALREADY ENTERRED_^€€1_(STA*_#REQ1_OA_^1_(LDA-_#FCNT,I_^1_(AND-_#LPMASK+8_^1_(ADD*_#REQ1_OA_^1_(STA*_#REQ1_^1*_]_^1CFLD3_"LDA-_#PARAS+4,Q_(SET UP FIELD ADDR_^1_(STA*_#FLDADR_^1_(LDA-_#ATRB,I_^1_(INA_$1_^1_(STA*_#IOBADR_+I/O BIT ADDR_^1*_]_^1_(RTJ-_#(CDATA)_^1REQ1_#NUM_$0_0MPRB+NO OF CHARS_^1FLDADR_!NUM_$0_0FIELD ADDR_^1IOBADR_!NUM_$0_0IOBIT ADDR_^1*_BSCREEN ADDR IMPLICIT_^1*_]_^1_(JMP-_#(EXDSR)_^1_(EJT€€_^1* DISPLAY WHOLE FIELD. FIELD NO AT BEGINNING OF LINE,AND FIELD ITSELF_^1*_]_^1** HEADER DISPLAY NOT UPDATED **_^1*_]_^1* FIELD NO IS TO BE FOUND IN ATT IOADDR_^1*_]_^1_(EXT_$CARLIN_^1_(EXT*_#FMTSCN_^1*_]_^1CWFLD_"NUM_$0_^1_(RTJ-_#(ENDSR)_^1* CALCULATE SCREEN ADDR OF NEXT LINE_^1_(LDQ-_#TOPT,I_^1_(LDA-_#CURSRD,Q_^1_(CLR_$Q_^1CARS_#DVI+_#CARLIN_^1_(INA_$1_^1_(MUI*_#(CARS+1)_^1_(IN€€A_$-1_^1_(LDQ-_#TOPT,I_^1_(STA-_#CURSRD,Q_)UPDATE TO NEW LINE-1_^1* WRITE FIELD NUMBER AT BEGINNING OF LINE_^1_(LDA-_#IOADDR,I_^1_(INA_$0_^1_(STA-_#RQ,I_-PASS PARAM IN A_^1_(RTJ_$CFDNO_^1* GET ADDR AND LENGTH OF REQUIRED FIELD_^1_(LDA-_#IOADDR,I_)ON ENTRY FIELD NO IN A_^1_(INA_$0_K01*C1011_^1_(RTJ_$FMTSCN_+ON EXIT Q=ADDR OF PARAM LIST_^1_(LDA-_#4,Q_.PICK UP NO OF CHARS+BYTE_^1_(STA€€-_#RQ,I_-PASS PARAM IN A_^1_(LDQ-_#3,Q_.AND DATA ADDR_^1_(STQ-_#RQ+1,I_+PASS PARAM INQ_^1* WRITE FIELD DATA_^1_(RTJ*_#CFLD_^1*_]_^1_(JMP-_#(EXDSR)_^1_(EJT_^1************************************************************************_^1* DISPLAY A FIELD FOR SIGHT VERIFICATION-_^1* IF RE-VERIFICATION, THE FIELD IS NOT REDISPLAYED_^1*******************************************************€€*****************_^1_(EQU_$CMODE(2),FLDNO(14),SST($47),CFFA(12),LPMASK(2)_^1_(EQU_$FLDST(15)_JA_^1_(ENT_$CSTVER_^1*_]_^1CSTVER_!NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(LDA-_#CMODE,I_*IF PSEUDO-VERIFY, DON'T REDISPLAY_^1_(AND-_#ONEBIT+12_^1_(SAN_$PVER_^1_(LDQ-_#TOPT,I_^1_(LDA-_#FLDST,Q_*ADJ CURSOR TO END OF FLD NO04*C1090_^1_(INA_$-3_J04*C1090_^1_(STA-_#CURSRD,Q_^1_(LDA-_#FLDNO,I_*ISOLATE FIEL€€D NO._^1_(ALS_$7_^1_(AND-_#LPMASK+7_^1_(STA-_#IOADDR,I_^1_(RTJ_$FMTSCN_+LOCATE CURRENT FIELD PARAMETERS_^1_(LDA-_#4,Q_^1_(STA-_#RQ,I_-SET UP FOR A CALL TO CLFLD_^1_(LDQ-_#3,Q_^1_(STQ-_#RQ+1,I_^1_(RTJ*_#CFLD_^1PVER_#LDQ-_#TOPT,I_F01*C1011_^1_(LDA-_#FCNT,I_+CHECK THAT FCNT NOT ZERO_!01*C1011_^1_(AND-_#LPMASK+8_D01*C1011_^1_(ADD-_#FLDST,Q_E01*C1011_^1_(INA_$-1_0BEFORE FIELD_4A_^1_(STA€„-_#CURSRD,Q_^1_(RTJ_$CONCSR_+REDISPLAY CURSOR_^1_(STA*_#PAR1_^1_(RTJ-_#(CDATA)_^1PAR1_#NUM_$0,-0,0,0,0_^1_(JMP-_#(EXDSR)_^1_(END_^__„PGETPL CSY/ P€1_%NAM GETPL_(DECK-ID A08 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(ENT_$GETPL_^1* GET PAGE AND LINE OF FIELD AND FIELD FOLLOWING ON SCREEN *_^1*_]_^1* ON ENTRY NO OF FIELD SOUGHT IN A_^1*_]_^1* ON EXIT Q CONTAINS ADDR OF A 4-WORD BLOCK AS BE€€LOW:-_^1*_]_^1*_'1_'PAGE OF FIELD SOUGHT EXPRESSED AS FIELD NO_^1*_'2_'LOCATION OF FIELD WITHIN PAGE EXPRESSED AS SCREEN ADDR_^1*_'3_'PAGE OF SOUGHT FIELD+1 : IF NEG SOUGHT FIELD IS LAST_^1*_'4_'LOCATION OF FIELD WITHIN PAGE_^1*_]_^1*_]_^1_(EXT_$CARLIN,LOWDAT,UPDAT_^1_(EXT_$NAMFLD_^1_(EQU_$SST($47),TEMP(20)_^1_(EQU_$FMTPTR(SST+TEMP+1),REQFLD(SST+TEMP+2),CURFLD(REQFLD+1)_^1_(EQU_$FB€€A(7)_^1_(EQU_$LPMASK(2),ZERO($22)_^1*_]_^1*_]_^1GETPL_"NUM_$0_^1_(STA-_#REQFLD_+SAVE. REQD FIELD NO_^1_(LDQ-_#FBA,I_,INITIALISE POINTER TO FORMAT_^1_(LDA-_#(ZERO),Q_^1_(INA_$4_^1_(STA-_#FMTPTR_^1*_]_^1_(ENA_$0_0INITIALISE PAGES WITH FIELD NO=ZERO_^1_(STA*_#PAGE2_^1_(STA-_#CURFLD_^1LOW_$LDA+_#LOWDAT_+INITIALISE SCREEN ADDRESS_^1_(STA*_#LOCN2_^1*_]_^1GPL0_#LDA-_#(FMTPTR)_)GET CURRENT€€ FORMAT FIELD LENGTH_^1_(AND-_#LPMASK+4_^1_(STA*_#LENGTH_^1*_]_^1_(LDA-_#(FMTPTR)_)CALCULATE NO OF SCREEN LOCATIONS_^1_(ALS_$8_0REQD FOR FIELD_^1_(AND-_#LPMASK+7_)CHARS IN FIELD_^1_(INA_$2_0+ ERROR FLAG LOCNS_^1_(ADD+_#NAMFLD_++FIELD NAME AT BEG OF LINE_^1_(CLR_$Q_^1CARS_#DVI+_#CARLIN_^1_(INA_$1_^1_(MUI*_#(CARS+1)_^1_(TRA_$Q_0SAVE IN Q_^1_(ADD*_#LOCN2_^1D_'SUB_$UPDAT_^1_(SAM_$GPL01€€_^1_(SAZ_$GPL01_^1_(JMP*_#NEWPAG_+NEW PAGE_^1* SAME SCREEN PAGE_^1GPL01_"LDA-_#CURFLD_+CURR FIELD GREATER THAN REQ_^1_(SUB-_#REQFLD_^1_(SAZ_$GPL02_^1_(SAM_$GPL02_^1GPLEX_"LDQ_$=XPAGE1_*EXIT_^1_(JMP*_#(GETPL)_^1GPL02_"LDA*_#PAGE2_,MOVE FIELD+1 INFO_^1_(STA*_#PAGE1_^1_(LDA*_#LOCN2_,TO FIELD INFO_^1_(STA*_#LOCN1_^1_(ADQ*_#LOCN2_0UPDATE SCREEN ADDR_^1_(STQ*_#LOCN2_^1_(LDA*_#LENGTH_+CUR€€R FIELD=LAST?_^1_(SAN_$TONEXT_^1_(SET_$A_0YES: SET LAST FIELD INDIC_^1_(STA*_#PAGE2_^1_(JMP*_#GPLEX_,AND EXIT_^1* STEP UP TO NEXT FIELD_^1TONEXT_!RAO-_#CURFLD_+INCREMENT CURRENT FIELD NO_^1_(ADD-_#FMTPTR_+INCREMENT FORMAT POINTER_^1_(INA_$2_^1_(STA-_#FMTPTR_^1_(JMP*_#GPL0_^1* NEW SCREEN PAGE_^1NEWPAG_!LDQ*_#(LOW+1)_*SET SCREEN ADDR TO FIRST LINE_^1_(STQ*_#LOCN2_^1_(LDA-_#CURFLD_+PA€€GE TO CURR FIELD NO_^1_(STA*_#PAGE2_^1*_]_^1_(SUB-_#REQFLD_+IF CURR GREATER THAN REQUESTED_^1_(SAZ_$BACK_^1_(SAM_$BACK_^1_(JMP*_#GPLEX_,EXIT_^1BACK_#JMP*_#GPL0_^1*_]_^1*_]_^1LENGTH_!NUM_$0_0FORMAT FIELD LENGTH-2_^1PAGE1_"NUM_$0_0PAGE OF FIELD SOUGHT_^1LOCN1_"NUM_$0_0LOCATION WITHIN PAGE_^1PAGE2_"NUM_$0_0PAGE OF FIELD +1_^1LOCN2_"NUM_$0_0LOCATION WITHIN PAGE OF FIELD+1_^1*_]_^1_(END€_^__ PHDRALP CSY/ P€1_%NAM HDRALP_'DECK-ID A13 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* DISPLAY MODE - CRT *_^1*_]_^1*_]_^1* MODE CODE IS PICKED UP FROM ATT AND CONVERTED TO ASCII DISPLAY CODE_^1*_]_^1_(ENT_$CMOD_^1_(ENT_$CJOB_^1_(ENT_$CERR_^1_(ENT_$CMLDS_^1_(E€€XT_$MODADR_^1_(EXT_$MDPADR_^1_(EXT*_#CONCSR_^1_(EXT_$SVADR_^1_(ENT_$CSUP_^1_(EQU_$ENDSR($8E),EXDSR($8F),CDATA($8D)_^1_(EQU_$CURSRD(3)_^1_(EQU_$MODE(2)_^1_(EQU_$SW1(19)_^1_(EQU_$ONEBIT($23)_^1_(EQU_$LPMASK(2)_^1*_]_^1CMOD_#NUM_$0_^1_(RTJ-_#(ENDSR)_^1* ISOLATE MODE IN ATT_^1_(LDA-_#MODE,I_^1_(ALS_$8_^1_(AND-_#LPMASK+3_^1_(TRA_$Q_^1* INDEX INTO MODE-TABLE_^1_(LDA*_#MODTAB-1,Q_^1_(STA*€€_#DATA_^1_(ENA_$-1_/SET BLOCK TERMINATOR_^1_(STA*_#DATA+1_^1* SET SCREEN ADDRESS_^1_(LDA_$=XMODADR_^1* COMMON EXIT: CONVERT SCREEN ADDR FROM STORED TO O/P FORMAT_^1COMEX_"RTJ_$CONCSR_^1_(STA*_#REQ_^1JOBEX_"RTJ-_#(CDATA)_LA_^1REQ_$NUM_$0_0SCREEN ADDRESS_^1_(BZS_$DATA(4)_^1*_]_^1_(JMP-_#(EXDSR)_^1*_]_^1* MODES TABLE: BYTE ZERO ASCII CHAR: BYTE ONE FILLER_^1*_]_^1MODTABL NUM_$$5680_,€€VERIFY_^1_(NUM_$$5280_,READ_^1_(NUM_$$4580_,ENTRY_^1_(EJT_^1* DISPLAY ALPHANUMERIC JOB-NAME - CRT *_^1*_]_^1* 6-CHAR JOB NAME IS PICKED UP FROM TOPT_^1*_]_^1*_]_^1_(EXT_$JOBADR_^1_(EXT_$MODADR_^1_(EQU_$JOB(5)_^1_(EQU_$TOPT(33)_^1*_]_^1CJOB_#NUM_$0_^1_(RTJ-_#(ENDSR)_^1* MOVE JOB-NAME FROM TOPT TO DATA BLOCK_^1_(LDQ-_#TOPT,I_^1_(LDA-_#JOB,Q_^1_(STA*_#REQ_PA_^1_(LDA-_#JOB+1,Q_LA_^1_(S€€TA*_#DATA_OA_^1_(LDA-_#JOB+2,Q_LA_^1_(STA*_#DATA+1_MA_^1_(SET_$A_RA_^1_(STA*_#DATA+2_MA_^1_(JMP*_#JOBEX_NA_^1_(EJT_^1* DISPLAY ERROR CODE ON CRT *_^1*_]_^1* REQUIRED ERROR CODE INDEX IN RQ+2,I_^1_(EXT*_#EPM_^1_(EXT_$ERRADR_^1_(EQU_$RQ(65)_^1_(EQU_$ECODE(34)_^1_(EQU_$NZERO($12)_^1_(EQU_$BLOKS(14)_^1*_]_^1CERR_#NUM_$0_^1_(RTJ-_#(ENDSR)_^1*_]_^1_(LDQ-_#TOPT,I_+CHECK IF SYSTEM LOCK ('€€LL') IS_^1_(LDA-_#BLOKS,Q_*WAITING TO BE DISPLAYED_^1LLMSK_"AND_$=N$70_^1_(EOR*_#LLMSK+1_*IF NOT, OR IF DISPLAY IS IN_^1_(SAN_$3_0PROGRESS, CONTINUE_^1_(LDA-_#BLOKS,Q_^1_(SUB*_#LLMSK+1_*IF YES, CLEAR THE OVERFLOW DISPLAY_^1_(STA-_#BLOKS,Q_*FIELD_^1*_]_^1_(LDQ-_#RQ+1,I_+GET ERROR INDEX_^1_(LDA_$EPM,Q_,GET ERROR CHARS_^1_(STA*_#DATA_^1_(LDA_$=N$0780_*GET BELL_^1_(STA*_#DATA+1_^1_(ENA€€_$-1_/SET BLOCK TERMINATOR_^1_(STA*_#DATA+2_^1_(SQN_$CERR1_^1_(LDQ-_#TOPT,I_^1_(LDA-_#CURSRD,Q_)CLEAR ERROR-SEND DATA CURSOR_^1_(RTJ_$CONCSR_^1_(STA*_#DATA+1_^1_(LDA-_#MODE,I_^1_(AND_$=N$3100_^1_(SAZ_$1_^1_(RAO*_#DATA+1_^1* CONVERT SCREEN ADDRESS O/P FORMAT_^1CERR1_"LDA_$=XERRADR_^1_(JMP*_#COMEX_^1_(EJT_^1*_]_^1* DISPLAY MULTI-LEVAL SKIP/DUP_^1*_]_^1* FOR MULTI-LEVEL SKIP/DUP M IS €€DISPLAYED_^1* OTHERWISE BLANK_^1*_]_^1* PARAMETER IS TAKEN FROM ATT(SWITCH1,BIT6)_^1*_]_^1* IF ZERO AUTO: OTHERWISE MANUAL_^1*_]_^1*_]_^1_(EXT_$TUTMOD_^1_(EQU_$RCNT(4)_^1_(EQU_$CURCH(2)_^1_(EQU_$MLDSCH($77)_^1*_]_^1_(EXT_$MDPADR_^1CMLDS_"NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(LDA-_#CURCH,I_*IF CURRENT CHAR IS NOT MLD/S,_^1_(AND-_#LPMASK+8_)DON'T DO TUTORIAL DISPLY_^1_(INA_$-MLDSCH_^1_(SAN_$N€€TUT_^1_(LDA-_#RCNT,I_+AND AT BEG OF RCD_^1_(SAZ_$NTUT_^1_(RTJ_$TUTMOD_^1NTUT_#LDA-_#SW1,I_^1_(AND-_#ONEBIT+6_^1_(LDQ_$=N$2080_*IF ZERO AUTO_^1_(SAZ_$CMLD1_^1_(LDQ_$=N$4D80_*NON-ZERO MANUAL_^1CMLD1_"STQ*_#DATA_^1_(LDQ-_#TOPT,I_+REDISPLAY CURSOR_^1_(LDA-_#CURSRD,Q_^1_(INA_$1_RA_^1_(RTJ_$CONCSR_^1_(STA*_#DATA+1_^1_(ENA_$-1_^1_(STA*_#DATA+2_^1_(LDA_$=XMDPADR_)GET SCREEN-ADDR_^1_(JMP*_#€€COMEX_,GO TO COMMON EXIT_^1_(EJT_^1*_]_^1* DISPLAY -SV- ON CRT_^1*_]_^1* POSITION IN HDR LINE IS AN EXTERNAL_^1*_]_^1_(EXT_$INTLIN_^1*_]_^1CSUP_#NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(LDA_$=A-S_-MOVE '-SV' TO DATA_^1_(STA*_#DATA_^1_(LDA_$=AV-_^1_(STA*_#DATA+1_^1_(LDA+_#INTLIN_+SET CURSOR TO INT LINE_^1_(INA_$1_^1_(RTJ_$CONCSR_^1_(STA*_#DATA+2_^1_(ENA_$-1_/SET BLOCK TERMINATOR_^1_(STA*_#DATA+€63_^1_(LDA_$=XSVADR_^1_(JMP*_#COMEX_^1*_]_^1_%END_]_^__6PHDRNOS CSY/ P€1_%NAM HDRNOS_'DECK-ID A12 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1** DISPLAY HEADER NUMBERS - CRT **_^1*_]_^1* THIS PROGRAM DEALS WITH THE DISPLAY OF NUMERIC FIELDS ON SCREEN HEADER_^1* (AND ELSEWHERE)_^1*_]_^1* IT CONTAINS ENTRY POINTS FOR €€THE FOLLOWING DISPLAY FUNCTIONS_^1*_]_^1*_'FORMAT #_^1*_'RECORD #_^1*_'FIELD # AND DATA TYPE_^1*_'BATCH #_^1*_'DOCUMENT #_^1*_'COLUMN #_^1*_'FIELD # AT BEGINNING OF LINE_^1*_'HEADER_^1*_]_^1* THE DISPLAY OF ALL THESE FIELDS IS SIMILAR. ALL ARE FIXED/LENGTH_^1* EXCEPT FOR THE COLUMN NO._^1*_'THE COLUMN NUMBER HAS A VARIABLE LENGTH DISPLAY._^1*_]_^1* ITS DISPLAY IS LIMITED TO THOSE C€€HARACTERS FOLLOWING AND_^1* INCLUDING THE MOST SIGNIFICANT DIGIT WHICH HAS CHANGED_^1* SINCE LAST DISPLAY._^1*_]_^1*_]_^1_(ENT_$CFNDTY_^1_(ENT_$CFMT,CRCNT,CBAX,CDOC,CCOL_^1_(ENT_$CHDR_^1_(ENT_$CFDNO_^1_(EXT*_#CONCSR_^1_(EXT_$CMLDS_^1_(EXT_$BD_^1_(EXT_$GFNAME_+GET FIELD NAME_,08*C1514_^1*_]_^1* TEMPORARY STORAGE IN SST IS USED AS FOLLOWS:-_^1*_]_^1* SST+TEMP_'STACK POINTER (AS IN AL€€L CRT DISPLAY RTNS)_^1* SST+TEMP+1_%NUMBER TO BE DISPLAYED (BCD)_^1* SST+TEMP+2_$COLUMN NO PREVIOUSLY DISPLAYED(BCD)/TEMP_^1* SST+TEMP+3_$LOOP CONTROL COUNT_^1*_]_^1*_]_^1_(EQU_$SST($47)_^1_(EQU_$ENDSR($8E),EXDSR($8F),CDATA($8D)_^1_(EQU_%TOPT(33),TEMP(20)_^1_(EQU_$SA(SST+TEMP+1),SQ(SST+TEMP+2),COUNT(SST+TEMP+3)_^1_(EQU_$TMP(SST+TEMP+2)_^1_(EQU_$ONEBIT($23),NZERO($12),LPMASK(2)_^1_(€€EQU_$RQ(65),C(1)_^1*_]_^1***_]_^1* CRT SYSTEM PARAMETERS_^1*_]_^1*_]_^1_(ENT_$JOBADR,BAXADR,MODADR,DOCADR,FMTADR,RECADR,DTYADR_^1_(ENT_$FLDADR,COLADR,ERRADR_^1_(ENT_$MDPADR_^1_(ENT_$SVADR_^1*_]_^1* SCREEN ADDRESSES_^1*_]_^1***_]_^1_(EQU_$SVADR(0)_)SUPERVISOR_^1_(EQU_$JOBADR(0)_(JOB-NAME_^1_(EQU_$BAXADR(7)_(BATCH NO_^1_(EQU_$MODADR(11)_'MODE_^1_(EQU_$DOCADR(13)_'DOCUMENT NO_^1_(EQU_€€$FMTADR(17)_'FORMAT NO_^1_(EQU_$RECADR(22)_'RECORD NO_^1_(EQU_$FLDADR(27)_'FIELD NO_^1_(EQU_$DTYADR(29)_'DATA TYPE_^1_(EQU_$COLADR(33)_'COLUMN NO_^1_(EQU_$ERRADR(38)_^1_(EQU_$MDPADR(46)_'M/DUP_^1_(EJT_^1***_]_^1_(EJT_^1* DISPLAY FORMAT NO - CRT_^1*_]_^1_(EQU_$FMTNO(13)_^1*_]_^1CFMT_#NUM_$0_^1_(RTJ-_#(ENDSR)_^1* SET UP SCREEN ADDR_^1_(ENA_$FMTADR_^1_(STA*_#REQ_^1* GET BINARY VALUE F€€OR DISPLAY_^1_(LDA-_#FMTNO,I_^1_(AND-_#LPMASK+13_^1_(SAN_$KOUNT4_+CONTINUE IF FORMAT NO NOT ZERO_^1_(JMP_$CDOC0_,OTHERWISE DISPLAY BLANKS_^1* SET UP DIGIT COUNT_^1KOUNT4_!ENQ_$-4_^1SETKT_"STQ*_#POINTR_+SAVE IN LOCAL TEMP BECAUSE OF BD_^1* SAVE STACK POINTER BEFORE GOING TO BD_^1_(LDQ-_#SST+TEMP_^1_(STQ-_#RQ+C,I_^1* CONVERT VALUE FROM BINARY TO BCD_^1_(RTJ_$BD_^1* SAVE BCD VALUE IN €€SA_^1_(STA-_#SA_^1* RESTORE STACK POINTER_^1_(LDA-_#RQ+C,I_^1_(STA-_#SST+TEMP_^1* IF LESS THAN 4 DIGITS ROTATE TO BRING 1ST DIGIT TO 4 MS_^1_(LDQ*_#POINTR_+4 DIGITS?_^1_(STQ-_#COUNT_^1_(INQ_$4_^1_(SQZ_$CEKCOL_+NO SKIP_^1_(LDA-_#SA_/YES: ROTATE BCD VALUE_^1ROTATE_!ALS_$4_^1_(STA-_#SA_^1* CHECK FOR COLUMN NO DISPLAY_^1CEKCOL_!LDQ-_#TOPT,I_+GET ADDR OF COLUMN NO AND_^1_(INQ_$COL_.FIE€€LD TYPE TOPT_^1_(STQ*_#TOPCOL_^1*_]_^1_(LDQ*_#FLAGS_,COLUMN NO FLAG ON ?_^1_(SQM_$COLO_-NO: GO TO COL3_^1_(JMP*_#COL3_^1* COLUMN NO SPECIAL PROCESSING: SAVE OLD COLUMN NO IN SQ_^1COLO_#LDA*_#(TOPCOL)_^1_(STA-_#SQ_^1* UPDATE COLUMN NO IN TOPT_^1_(LDA-_#SA_^1_(STA*_#(TOPCOL)_^1* COMPARE BCD DIGIT IN 4 M.S. OLD AGAINST BCD DIGIT OF NEW_^1COL1_#LDA-_#SQ_/GET BCD_^1COL11_"AND-_#NZERO+12€€_^1_(TRA_$Q_^1_(LDA-_#SA_^1_(AND-_#NZERO+12_^1_(EAQ_$A_^1_(SAN_$COL3_-CHANGE OF DIGIT: EXIT FROM COMPARISO_^1*_BLOOP. DISPLAY REMAINING DIGITS_^1_(RAO-_#COUNT_,NO CHANGE: INCREMENT LOOP COUNT_^1_(LDA-_#COUNT_,FINISHED?_^1_(SAN_$COL2_-NO: COMPARE NEXT CHAR_^1_(STA*_#FLAGS_^1_(JMP-_#(EXDSR)_*YES: NOTHING FOR DISPLAY_^1* NO DISPLAY OF CHAR CHECKED. STEP TO NEXT_^1COL2_#RAO*_#REQ_.INCR€€EMENT SCREEN ADDRESS_^1_(LDA-_#SA_/ROTATE 4-BITS LEFT_^1_(ALS_$4_0TO BRING_^1_(STA-_#SA_/NEXT DIGIT TO 4 M.S._^1_(LDA-_#SQ_^1_(ALS_$4_^1_(STA-_#SQ_^1_(JMP*_#COL11_^1* INITIALISE TO STORE REMAINNING CHARS IN CDATA DATA BLOCK_^1COL3_#CLR_$Q_0SET BYTE INDIC=ZERO_^1_(LDA_$=XREQ+1_*SET DATA BLOCK STORAGE POINTER_^1_(STA*_#POINTR_^1* ISOLATE NEXT BCD CHAR_^1COL30_"LDA-_#SA_^1COL301_!ALS_€€$4_^1_(STA-_#SA_^1_(AND-_#LPMASK+4_^1* CHECK IN WHICH HALF OF WORD IN DATA BLOCK TO STORE_^1_(SQM_$BYTE1_^1* BYTE ZERO_^1_(ALS_$8_^1_(ADD_$=N$3080_*CONVERT TO ASCII: SET 8 L.S. FILLER_^1COL302_!STA*_#(POINTR)_)STORE IN 8M.S._^1* FLIP BYTE INDICATOR_^1COL31_"TCQ_$Q_^1* CHECK FOR END OF FUNCTION_^1_(RAO-_#COUNT_^1_(LDA-_#COUNT_^1_(SAZ_$COL4_-COUNT- ZERO FINISHED_^1* NOT FINISHED ROTA€€TE TO GET NEXT CHAR_^1_(JMP*_#COL30_^1* BYTE ONE_]_^1BYTE1_"STA-_#TMP_.SAVE CHAR IN 4L.S._^1_(LDA*_#(POINTR)_)GET DATA WORD_^1_(INA_$-$50_-CONVERT TO ASCII_^1_(ADD-_#TMP_.ADD CHAR FOR O/P_^1_(STA*_#(POINTR)_^1_(RAO*_#POINTR_+STEP UP TO NEXT WORD IN DATA BLOCK_^1_(JMP*_#COL31_^1* FINISHED: CHECK FOR DATA-TYPE TO BE O/P_^1COL4_#LDA*_#FLAGS_^1_(ALS_$1_^1_(SAP_$COL41A_+NO DATA-TYPE_^1*€€ EXTRACT DATA-TYPE FOR DISPLAY FROM TABLE_^1COL41_"LDA-_#FDTP,I_^1_(AND-_#NZERO+13_^1_(TRA_$Q_^1_(QLS_$3_^1_(LDQ*_#DTYTAB,Q_^1_(JMP*_#COL414_^1* CHECK FOR SLASH TO BE O/P_^1COL41A_!ALS_$1_^1_(SAM_$COL41C_^1COL41B_!JMP*_#COL42_,NO: SET UP COMPLETED_^1COL414_!LDA*_#(POINTR)_^1_(INA_$-$60_-CHANGE PREV CHAR FM FILLER TO BLANK_^1_(STA*_#(POINTR)_^1_(RAO*_#POINTR_+INCREMENT POINTER_^1_(S€€TQ*_#(POINTR)_)STORE A/N_^1_(JMP*_#COL421_^1_(SPC_$1_K08*C1514_^1*_]08*C1514_^1*_!CONVERT THE FILLER CHAR TO A SPACE. ADD 2 MORE SPACES AND 08*C1514_^1*_(FINALLY A SLASH._D08*C1514_^1*_]08*C1514_^1_(SPC_$1_K08*C1514_^1COL41C_!LDA*_#(POINTR)_^1_(INA_$-$80+$20_)FILLER TO SPACE_+08*C1514_^1_(STA*_#(POINTR)_^1_(RAO*_#POINTR_F08*C1514_^1_(LDA_$=A_/THE 2 SPACES..._+08*C1514_^1_(STA*_#(P€€OINTR)_D08*C1514_^1_(RAO*_#POINTR_F08*C1514_^1_(LDA_$=N$2F80_*THE SLASH + FILLER_(08*C1514_^1_(STA*_#(POINTR)_D08*C1514_^1_(JMP*_#COL423_F08*C1514_^1_(SPC_$1_K08*C1514_^1* CLEAR NEXT WORD TO MARK END-OF-DATA BLOCK_^1COL42_"SQP_$COL422_^1COL421_!RAO*_#POINTR_+IF ON BYTE1 INCREMENT POINTER_^1COL422_!SET_$A_^1_(STA*_#(POINTR)_)NEG MARKS END OF BLOCK_^1COL423_!CLR_$A_^1_(STA*_#FLAGS_,C€€LEAR FLAGS_^1* DISPLAY_]_^1REQ1_#BSS_$REQ1(0)_E08*C1514_^1_(LDA*_#REQ_.CONVERT CURSOR TO O/P FORMAT_^1_(RTJ_$CONCSR_^1_(STA*_#REQ_^1_(RTJ-_#(CDATA)_^1REQ_$NUM_$0_05-WORD DATA BLOCK_^1_(BZS_$DATA(4)_^1_(JMP-_#(EXDSR)_^1POINTR_!NUM_$0_0DATA BLOCK POINTER_^1TOPCOL_!NUM_$0_0ADDR OF COLUMN NO IN TOPT_^1***_]_^1* DATA-TYPE TABLE_^1DTYTAB_!NUM_$$4C80_,0 LOWER_^1_(NUM_$$5A80_,1 ----_^1_(NU€€M_$$4180_,2 ALPHA_^1_(NUM_$$5A80_,3 ---_^1_(NUM_$$5580_,4 UPPER_^1_(NUM_$$5A80_,5 ----_^1_(NUM_$$4E80_,6 NUMERIC_^1_(NUM_$$5380_,7 SIGNED_^1_(EJT_^1***_]_^1* DISPLAY RECORD COUNT *_^1*_]_^1_(EQU_$MODE(2),SW1(19),RCDRD(31)_^1_(EQU_$RCD(32)_^1CRCNT_"NUM_$0_^1_(RTJ-_#(ENDSR)_^1* SET UP SCREEN ADDRESS_^1_(ENA_$RECADR_^1_(STA*_#REQ_^1* GET RECORD COUNT_^1_(LDA-_#MODE,I_+READ MODE?_^1_(A€€ND*_#KXF00+1_^1_(EOR-_#ONEBIT+9_^1_(SAN_$CRCNT1_^1_(LDA-_#RCDRD,I_*YES: GET READ RECORD COUNT_^1_(JMP*_#K4_^1CRCNT1_!LDA-_#RCD,I_,NO: GET NORMAL RECORD COUNT_^1K4_%INA_$1_^1_(JMP_$KOUNT4_^1*_]_^1***_]_^1* DISPLAY COLUMN NO_^1*_]_^1_(EQU_$RCNT(4),COL(2)_^1*_]_^1FLAGS_"NUM_$0_0B15=COL:B14=DATA/TYPE:B13=SLASH_^1*_]_^1CCOL_#NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(LDA-_#ONEBIT+15_(SET COLUMN NO FL€€AG_^1_(STA*_#FLAGS_^1_(ENQ_$COLADR_+SET SCREEN ADDR_^1_(STQ*_#REQ_^1_(LDA-_#RCNT,I_+GET COLUMN NO_^1_(JMP*_#K4_^1*_]_^1***_]_^1***_]_^1* DISPLAY FIELD NO AND DATA TYPE_^1*_]_^1_(EQU_$FLDN(14),FDTP(13)_^1*_]_^1CFNDTY_!NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(ENA_$FLDADR_+SET SCREEN ADDR_^1_(STA*_#REQ_^1_(LDA-_#ONEBIT+14_(SET DATA/TYPE FLAG_^1_(STA*_#FLAGS_^1_(LDA-_#FLDN,I_+GET FIELD NO_^1_(ALS_€€$7_^1_(AND-_#LPMASK+7_^1INCR1_"INA_$1_0DISPLAY FIELDS FROM 1 NOT ZERO_^1KOUNT3_!ENQ_$-3_/SET DIGIT COUNT=3_^1_(JMP_$SETKT_^1*_]_^1***_]_^1*_]_^1***_]_^1* DISPLAY DOCUMENT NO_^1*_]_^1*_]_^1_(EQU_$DOCNO(17)_^1*_]_^1CDOC_#NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(ENA_$DOCADR_+SET SCREEN ADDR_^1_(STA*_#REQ_^1*_]_^1_(LDA-_#SW1,I_,FORMAT/SEL CONTROL?_^1_(AND-_#ONEBIT+10_^1_(SAN_$CDOC0_,YES: DISPLAY B€€LANKS_^1_(LDA-_#MODE,I_+OR NOT ENTRY MODE?_^1KXF00_"AND_$=N$0F00_^1_(EOR_$=N$0300_^1_(SAZ_$CDOC1_^1CDOC0_"LDA_$=N$2020_*YES: BLANK DOCUMENT NO_^1_(STA*_#DATA_^1_(STA*_#DATA+1_^1_(SET_$A_^1_(STA*_#DATA+2_^1_(JMP*_#COL423_^1*_]_^1CDOC1_"LDA-_#DOCNO,I_*NO: DISPLAY DOCUMENT NO_^1*_]_^1_(ALS_$8_^1_(AND-_#LPMASK+8_^1_(JMP*_#KOUNT3_+SET DIGIT COUNT=3_^1*_]_^1***_]_^1***_]_^1* DISPLAY BATC€€H NO_^1*_]_^1*_]_^1_(EQU_$BATCH(35)_^1*_]_^1CBAX_#NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(ENA_$BAXADR_+SET SCREEN ADDR_^1_(STA*_#REQ_^1_(LDA-_#BATCH,I_*GET BCD BATCH NO_^1_(AND-_#LPMASK+12_^1_(ENQ_$-3_/SET DIGIT COUNT=3_^1_(STQ-_#COUNT_^1_(JMP_$ROTATE_^1*_]_^1***_]_^1***_]_^1* CFDNO - DISPLAY FIELD NUMBER AT BEGINNING OF LINE_^1* FIELD NO IS PASSED IN RQ,I_^1*_]_^1_(SPC_$1_K08*C1514_^1*_'DISP€€LAY THE FIELD NAME AS -AAAAAA/- AND LEAVE THE_#08*C1514_^1*_'CURSOR ON THE SLASH. IF THERE IS NO FIELD NAME, USE_!08*C1514_^1*_'THE FIELD NUMBER, PADDED WITH SPACES (004_"/)._#08*C1514_^1_(SPC_$1_K08*C1514_^1_(EQU_$CURSRD(3)_^1_(EQU_$FLDST(15)_^1FIELDL_!EQU_$FIELDL(7)_(LENGTH OF A FIELD NAME_#08*C1514_^1*_]_^1CFDNO_"NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(LDQ-_#TOPT,I_^1* SET SCREEN ADDR FRO€€M CURRENT CURSOR VALUE_^1_(LDA-_#CURSRD,Q_^1_(INA_$1_0CURSOR=STORE LOCN-1._^1_(STA*_#REQ_^1_(INA_$FIELDL_+FIELD NAME LENGTH_)08*C1514_^1_(STA-_#CURSRD,Q_)END OF FIELD NO_^1_(INA_$3_$POSITION AT 1ST CHAR OF FIELD_(08*C1514_^1_(STA-_#FLDST,Q_*SAVE START ADDR OF FIELD_^1*_]08*C1514_^1_(LDA-_#RQ,I_-GET FIELD NO_^1*_]08*C1514_^1_(RTJ+_#GFNAME_+GET FIELD NAME_,08*C1514_^1_(SAN_$CFDNO1_+I€€F FIELD NAME AVAILABLE_"08*C1514_^1_(LDA-_#ONEBIT+13_C08*C1514_^1_(STA*_#FLAGS_,SET SLASH FLAG_,08*C1514_^1_(LDA-_#RQ,I_-A= FIELD NUMBER_+08*C1514_^1_(JMP*_#INCR1_^1_(SPC_$1_K08*C1514_^1CFDNO1_!BSS_$CFDNO1(0)_C08*C1514_^1_(SPC_$1_K08*C1514_^1*_]08*C1514_^1*_'MOVE THE FIELD NAME(PADDED WITH SPACES) AND A SLASH_!08*C1514_^1*_'TO THE*CDATA* PARAM AREA, AND THEN OUTPUT IT._(08*C1514_^1€€*_]08*C1514_^1*_'Q % FIELD NAME. A= NUMBER OF WORDS IN NAME_+08*C1514_^1*_]08*C1514_^1_(SPC_$1_K08*C1514_^1ATT_$EQU_$ATT(11)_*% CURRENT -ATT-_+08*C1514_^1Z_'EQU_$Z($22)_F08*C1514_^1_(SPC_$1_K08*C1514_^1_(LLS_$16_/Q = NO. WORDS_-08*C1514_^1_(STA-_#I_0I % FIELD NAME_,08*C1514_^1_(LDA_$=N$2F80_*SLASH + FILLER_,08*C1514_^1_(STA*_#REQ+4_G08*C1514_^1_(LDA_$=A_/INITIALIZE TO SPACES..._"08€€*C1514_^1_(STA*_#REQ+1_G08*C1514_^1_(STA*_#REQ+2_G08*C1514_^1_(STA*_#REQ+3_G08*C1514_^1_(INQ_$-1_/DECR WORD COUNT_+08*C1514_^1_(SPC_$1_K08*C1514_^1CFDNO2_!BSS_$CFDNO2(0)_(MOVE LOOP_108*C1514_^1_(LDA-_#(Z),B_,BASE ADDR + WORD COUNT_#08*C1514_^1_(STA*_#REQ+1,Q_*MOVE THE WORD_-08*C1514_^1_(INQ_$-1_J08*C1514_^1_(SQM_$CFDNO3_+IF DONE..._008*C1514_^1_(JMP*_#CFDNO2_F08*C1514_^1_(SPC_$1_K0€€8*C1514_^1CFDNO3_!BSS_$CFDNO3(0)_C08*C1514_^1_(LDA-_#SST+ATT_E08*C1514_^1_(STA-_#I_0RESTORE -ATT- ADDRESS_$08*C1514_^1_(JMP*_#REQ1_-TAKE IT AWAY, *CDATA*_$08*C1514_^1***_]_^1***_]_^1* CHDR - REGENERATE HEADER DISPLAY ON CRT *_^1*_]_^1_(EXT*_#CJOB_^1_(EXT*_#CMOD_^1_(EXT*_#CERR_^1_(EQU_$ECODE(34)_^1*_]_^1CHDR_#NUM_$0_^1_(RTJ-_#(ENDSR)_^1*_]_^1_(RTJ_$CJOB_-JOB NAME_^1_(RTJ*_#CBAX_-BAT€2CH NO_^1_(RTJ_$CMOD_-MODE_^1_(RTJ*_#CDOC_-DOCUMENT NO_^1_(RTJ_$CFMT_-FORMAT NO_^1_(RTJ*_#CRCNT_,NO OF RECORDS_^1_(RTJ_$CFNDTY_+FIELD NO - DATA TYPE_^1_(RTJ*_#CCOL_-COLUMN NO_^1*_]_^1_(LDA-_#ECODE,I_^1_(AND-_#LPMASK+8_^1_(STA-_#RQ+1,I_^1_(RTJ_$CERR_^1_(RTJ_$CMLDS_,M/DUP_^1_(JMP-_#(EXDSR)_^1*_]_^1_(END_^__ 2PMISKEY CSY/ P€1_%NAM MISKEY_'DECK-ID A11 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(ENT_$CBSCEV_^1_(ENT_$CSKUP_^1* DISPLAY BSC ENTRY/VERIFY MODES ON CRT *_^1*_]_^1_(EXT_$CONCSR,CCOL_^1_(EQU_$ENDSR($8E),EXDSR($8F),CDATA($8D)_^1_(EQU_$TOPT(33)_^1_(EQU_$SW1(19€€)_^1_(EQU_$RQ(65),ATRB(6)_^1_(EQU_$LPMASK(2),ONEBIT($23)_^1_(EQU_$SST($47),CURSRD(3),TEMP(20),BLOKS(14)_^1*_]_^1CBSCEV_!NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(LDQ-_#TOPT,I_+SELECT DATA/INTERROGATE AREA_^1_(LDA-_#BLOKS,Q_^1_(ALS_$4_^1_(AND-_#LPMASK+1_^1_(STA-_#SST+TEMP+3_^1_(AAQ_$Q_^1_(LDA-_#CURSRD,Q_)DECREMENT CORRECT SCREEN POINTER_^1_(INA_$-1_/BY 1_^1_(STA-_#CURSRD,Q_)CONVERT_^1_(INA_$1_^1€€_(RTJ*_#(CSR)_,TO O/P FORMAT_^1_(STA*_#CURSR1_+INITIAL CURSOR_^1_(STA*_#CURSR2_+FINAL CURSOR_^1_(LDA-_#SST+TEMP+3_'IF DATA AREA_^1_(SAN_$BSCDRV_^1_(LDA-_#(I)_.AND NOT SUPERVISOR_(07*C1406_^1_(AND-_#ONEBIT+7_D07*C1406_^1_(SAN_$BSCDRV_F07*C1406_^1_(RTJ_$CCOL_-DISPLAY COLUMN NO ALSO_^1BSCDRV_!RTJ-_#(CDATA)_LA_^1CURSR1_!NUM_$0_^1_(NUM_$$2080_^1CURSR2_!NUM_$0_^1_(NUM_$-0_/TERMINATOR_^1C€€SR_$ADC_$CONCSR_+FILLER_^1_(JMP-_#(EXDSR)_^1*_]_^1_(EJT_^1* DISPLAY MANUAL SKIP/DUP IN ENTRY MODE - CRT *_^1*_]_^1* ON ENTRY Q=DATA ADDR_^1*_)A=BYTE + COUNT_^1*_]_^1* A AND Q IN RQ AND RQ+1(I) AS IN ALL DISPLAY FUNS_^1*_]_^1*_]_^1*_]_^1*_]_^1*_]_^1CSKUP_"NUM_$0_^1_(RTJ-_#(ENDSR)_^1* MOVE DATA ADDR TO CDATA PARAM 1_^1_(LDA-_#RQ+1,I_^1_(STA*_#PAR1_^1* SET UP REQUEST DEFINITION PARAM €€ZERO_^1_(LDA-_#RQ,I_-ISOLATE COUNT_^1_(AND-_#LPMASK+8_^1_(TRA_$Q_^1_(LDA-_#RQ,I_-SHIFT BYTE INDIC_^1_(ARS_$4_0FROM BIT IS TO 11_^1_(AND-_#ONEBIT+11_^1_(ADD_$=N$A000_*SET M AND EXTRA PARAMS=1_^1_(AAQ_$A_^1_(STA*_#REQ_^1*_]_^1* SET UP IOBIT ADDR_^1_(LDA-_#ATRB,I_^1_(INA_$1_^1_(STA*_#PAR2_^1_(RTJ-_#(CDATA)_^1REQ_$NUM_$0_0REQUEST DEFINITION_^1PAR1_#NUM_$0_0DATA ADDRESS_^1PAR2_#NUM_$0_0€*IOBIT ADDR_^1_(JMP-_#(EXDSR)_^1_%END_]_^__*PRDMODS CSY/ P€1_%NAM RDMODS_'DECK-ID A19 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* CRT DISPLAY READ MODULES *_^1*_'BSR,REL,READ,BOR,BSF,SKP,BSC,SPACE_^1*_]_^1_(ENT_$CBSRRR,CBORKY,CBSCR,CSPACE,CBSF,CSKPR_^1_(EXT_$GETPL,CPAGE,CONCSR,CCOL_^1_(EXT_$NAMFL€€D_^1_(EXT_$CFNDTY_^1_(EXT_$LOWDAT_^1_(EQU_$ENDSR($8E),EXDSR($8F),CDATA($8D)_^1_(EQU_$LPMASK(2),ZERO($22),NZERO($12)_^1_(EQU_$FLDN(14),FCNT(3)_^1_(EQU_$RQ(65),TOPT(33)_^1_(EQU_$CURSRD(3)_^1_(EQU_$FLDST(15)_^1* BSR/REL/READ ALL DISPLAY CURRENT SCREEN PAGE_^1CBSRRR_!NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(RTJ*_#FINDFD_+LOCATE PAGE OF CURR FIELD_^1_(JMP*_#PAGE_-DISPLAY PAGE_^1*_]_^1* BOR KEY: ON €€ENTRY RQ(I) CONTAINS FIELD NO PRIOR TO BOR KEY DEPRESSION_^1*_]_^1CBORKY_!NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(LDA-_#RQ,I_-LOCATE FIELD BEFORE BOR_^1_(RTJ*_#(GPL)_^1_(LDA-_#(ZERO),Q_)ON PAGE STARTING WITH FIELD 1?_^1_(SAZ_$CBOR1_^1CBOR0_"ENA_$0_0NO: DISPLAY PAGE STARTING WITH_^1_(JMP*_#PAGE1_,FIELD 1_^1CBOR1_"RTJ*_#FINDFD_+YES: GET SCREEN ADDR OF CURR FIELD_^1_(JMP*_#CURSOR_+O/P AS CURSOR_€€^1*_]_^1* BSF KEY_]_^1*_]_^1CBSF_#NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(RTJ*_#FINDFD_+LOCATE CURRENT PAGE_^1*_]_^1_(LDA-_#2,Q_.LAST OF RECORD ?_^1_(SAP_$CBSF1_^1_(JMP*_#PAGE_-YES: DISPLAY CURR SCREEN PAGE_^1*_]_^1CBSF1_"LDA-_#3,Q_.NEXT FIELD START_^1CBSF11_!SUB+_#LOWDAT_+ON TOPT OF PAGE_^1_(SAN_$CURSOR_+NO: DISPLAY CURSOR_^1*_]_^1PAGE_#LDA-_#(ZERO),Q_)YES: DISPLAY CURRENT SCREEN PAGE_^1PAGE€€1_"STA-_#RQ,I_-PASS PARAM IN A_^1_(RTJ*_#(CPG)_^1_(JMP-_#(EXDSR)_^1*_]_^1CURSOR_!LDA-_#1,Q_.SAME SCREEN PAGE: DISPLAY CURSOR_^1_(INA_$3_*2 FOR ERR FLAG + 1 TO ADV TO 1ST CHAR_^1_(ADD+_#NAMFLD_+N FOR FIELD NAME_^1_(LDQ-_#TOPT,I_^1_(STA-_#FLDST,Q_^1CRSR1_"STA-_#CURSRD,Q_^1_(RTJ_$CCOL_-DISPLAY COLUMN NO_^1_(RTJ_$CFNDTY_+DISPLAY FIELD NO AND DATA TYPE_^1_(LDQ-_#TOPT,I_MA_^1_(LDA-_#CURS€€RD,Q_KA_^1_(RTJ*_#(CSR)_,CONVERT CURSOR TO O/P FMT_(A_^1_(STA*_#REQ_PA_^1_(RTJ-_#(CDATA)_^1REQ_$NUM_$0_0CURSOR_^1*_]_^1_(NUM_$-0_/DELIMITER_^1* FILLERS USED FOR PROGRAM ADDRESSES_^1GPL_$ADC_$GETPL_^1CSR_$ADC_$CONCSR_^1CPG_$ADC_$CPAGE_^1*_]_^1_(JMP-_#(EXDSR)_^1*_]_^1* SKIP KEY_]_^1*_]_^1CSKPR_"NUM_$0_^1_(RTJ-_#(ENDSR)_^1CSKP0_"RTJ*_#FINDFD_+LOCATE SCREEN LOCATION OF CURR FIELD_^1_(L€€DA-_#1,Q_^1_(JMP*_#CBSF11_+CHECK FOR NEW SCREEN PAGE_^1*_]_^1* BSC KEY_]_^1*_]_^1CBSCR_"NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(LDQ-_#TOPT,I_^1_(LDA-_#CURSRD,Q_)DECREMENT CURRENT SCREEN ADDR BY 1_^1_(INA_$-1_^1_(JMP*_#CRSR1_,O/P CURSOR_^1*_]_^1* SPACE KEY_^1*_]_^1CSPACE_!NUM_$0_^1_(RTJ-_#(ENDSR)_^1_(LDA-_#FCNT,I_+BOF?_^1_(AND-_#LPMASK+8_^1_(SAZ_$CSP1_^1_(LDQ-_#TOPT,I_+NO: INCREMENT CURRENT SC€REEN POSN_^1_(LDA-_#CURSRD,Q_)IN DATA BY 1_^1_(INA_$1_^1_(JMP*_#CRSR1_,O/P CURSOR_^1*_]_^1CSP1_#JMP*_#CSKP0_,BOF: TREAT AS SKIP_^1* LOCATE CURRENT FIELD SUBROUTINE_^1FINDFD_!NUM_$0_^1_(LDA-_#FLDN,I_^1_(ALS_$7_^1_(AND-_#LPMASK+7_^1_(RTJ*_#(GPL)_^1_(JMP*_#(FINDFD)_^1*_]_^1_(END_^__PEMM CSY/ P€1_%NAM EMM_*DECK-ID A38 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1*_'1. DISPLAYS AND STORES THE CURRENT CHARACTER_^1*_'2. IF AT EOF,PERFORMS VALIDATION(INTERNAL SUBR. VALDTE)_^1*_'3. IF AT EOR EXITS TO EORENT_^1*_'4. SETS UP NEW FIELD PAR€€AMETERS(INTERNAL SUBRS.BOFFE,AUTO)_^1*_]_^1_(EJT_^1*_]_^1_(ENT_$EMM,BOFFE,SETBOF,AUTO,VALDTE,COUNT_^1_(ENT_$TSTREC_,USED FROM VMM AFTER FORCED REVERIF._^1_(ENT_$EMMSKP_MB_^1_(ENT_$EMM1_.USED FROM SKIPKY % DUPKEY_^1_(ENT_$EMM2_.USED FROM ERRKEY_^1_(ENT_$TSTODD_,ENTERED FROM RELKEY_^1_(ENT_$EMM5_-USED BY MLDSKY_^1_(ENT_$EMM1S_G05*C1177_^1*_]_^1_(ENT_$STTYPE_^1_(EQU_$MODE(2),FCNT(3),R€€CNT(4),BMOD(15),ATMP(73)_"09*C1602_^1_(EQU_$FLDN(14),RFA(93)_<09*C1602_^1_(EQU_$SWITCH(78)_'OWC/EXT BIT_/07*C1402_^1*_]07*C1402_^1_(EQU_$KEYDPR(26),CURCH(2),DT(13),ECODE(34)_^1_(EQU_$RCD(32),RCDRD(31)_^1_(EQU_$ATRB(6)_+CALLED BY FMSEL,DOCSEL_^1_(EQU_$SST($47),FFA(12)_^1_(EQU_$STEMP(20)_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$SBYTE($95),DISPLY($A0),E€€NTSR($91),EXTSR($92)_^1_(EQU_$CLRSR($93),ENTPRG($9E)_^1_(EQU_$ERROR($96),GBYTE($94)_^1_(EQU_$SW1(19),SW2(20),ATEMP(73)_^1_(EQU_$REP3(2)_E06*C1321_^1_(EQU_$ERRA2(2)_^1_%EQU BTEMP(95),CFFA(12),PFBA(7),LUN(35)_3RV001_^1_%EQU CAM($AE),WAIT($B0),REDDWA($A9)_8RV001_^1_%EXT CALCDS_PRV001_^1_(EXT_$DCAROL,CLRFLD,RVFVER,EORENT,DCOL,DEOF_^1_(EXT_$STJLNG,LUL,NZT_^1_(EXT_$DBOF_^1_(EXT_$DBSCE€€V,DUPIT,SKIPIT_^1_(EXT_$PACK,SUB,ADD_^1_(EXT_$FMTPAR_^1_(EXT_$CHKVRY_MA_^1_(EXT_$OCGMON_F07*C1402_^1_%EXT CHEKFF_PRV001_^1EMM_$RTJ-_#(SBYTE)_+STORE CHARACTER IN TRB_^1_(RAO-_#FCNT,I_^1_(RAO-_#RCNT,I_,UPDATE POINTER % STATISTICS_^1_(RTJ-_#(DISPLY)_*DISPLAY CHARACTER % COLUMN NO._^1_(ADC_$DCAROL_^1_(LDA-_#FCNT,I_,IF FMT MAX. - FCNT =-VE_^1_(AND-_#LPMASK+8_^1_(TCA_$Q_^1_(LDA-_#(SST+F€€FA)_)CHECK FOR EOF_^1_(ARS_$8_^1_(AND-_#LPMASK+7_^1_(AAQ_$A_^1_(SAM_$1_^1_(JMP-_#(CLRSR)_+NOT EOF -EXIT_^1* CHECK IF SIGNED FIELD WITHOUT SIGN_AB_^1EMM1S_"LDQ-_#SST+FFA_E05*C1177_^1_(LDA-_#1,Q_PB_^1_(AND-_#ONEBIT+13_)SIGNED FIELD ?_2B_^1_(SAZ_$BOUNDS_MB_^1_(LDA-_#CURCH,I_+YES - IF LAST CHARACTER ENTERED B_^1_(AND-_#LPMASK+8_KB_^1_(INA_$-$2B_5NOT SIGN,DISPLAY THEN_#B_^1_(SAZ_$BOUND€€S_MB_^1_(INA_$$2B-$2D_2EXIT TO ERROR_,B_^1_(SAN_$1_RB_^1BOUNDS_!JMP*_#EMMSK1_MB_^1_(LDA-_#FCNT,I_,DECREMENT RECORD AND FIELD_%B_^1_(INA_$-1_QB_^1_(STA-_#FCNT,I_-CHARACTER COUNTS_/B_^1_(LDA-_#RCNT,I_MB_^1_(INA_$-1_QB_^1_(STA-_#RCNT,I_MB_^1_(LDA-_#CURCH,I_+PRESERVE CURRENT CHARACTER FOR_!B_^1_(STA-_#ATEMP+1,I_JB_^1_(RTJ-_#(DISPLY)_*DISPLAY LATER_3B_^1_(ADC_$DBSCEV_MB_^1_(LDA-_#SW2,I_€€G05*C1177_^1_(AND-_#ZROBIT+4_D05*C1177_^1_(EOR-_#ONEBIT+4_D05*C1177_^1_(STA-_#SW2,I_G05*C1177_^1_(LDA-_#ATEMP+1,I_JB_^1_(STA-_#CURCH,I_LB_^1_(ENQ_$ERRA2_NB_^1_(JMP-_#(ERROR)_LB_^1*_]_%B_^1EMMSK1_!LDA-_#1,Q_PB_^1_(AND-_#ONEBIT+8_*IF FIELD BOUNDARY CHECKING_%B_^1_(SAZ_$EMM1_OB_^1EMMSKP_!LDA-_#SW1,I_,REQUIRED SET IGNORE SKIP_)B_^1_(AND-_#ZROBIT+9_KB_^1_(EOR-_#ONEBIT+9_KB_^1_(STA-_#SW1€€,I_-AND IDK._8B_^1_(LDA-_#MODE,I_MB_^1_(AND-_#ZROBIT+14_JB_^1_(EOR-_#ONEBIT+14_JB_^1_(STA-_#MODE,I_MB_^1_(JMP-_#(CLRSR)_LB_^1EMM1_#RTJ*_#VALDTE_,PERFORM VALIDATION_^1*_]_^1EMM2_#LDA-_#SW1,I_G06*C1304_^1_(AND-_#ONEBIT+12_^1_(SAN_$1_1IS VERIFIABLE, SET PSEUDO VERIFY_^1_(JMP*_#EMM3_^1_(LDA-_#BMOD,I_,AND EXIT TO VMM (ENTRY PT. RVFVER)_^1_(ALS_$2_^1_(SAM_$JTREC_^1_(LDA-_#RCD,I_-IF PAST €€CURRENT VERIFY POSITION_^1_(SUB-_#RCDRD,I_^1_(SAM_$JTREC_-NO REVERIFICATION_^1_(LDQ-_#RCNT,I_MA_^1_(STQ-_#ATEMP+1,I_JA_^1_(LDA-_#FCNT,I_MA_^1_(AND-_#LPMASK+8_KA_^1_(TCA_$A_RA_^1_(AAQ_$A_RA_^1_(STA-_#RCNT,I_MA_^1_(RTJ+_#CHKVRY_MA_^1_(LDQ-_#ATEMP+1,I_JA_^1_(STQ-_#RCNT,I_MA_^1_(SAP_$1_RA_^1JTREC_"JMP*_#TSTREC_^1_(LDA-_#MODE,I_,SET PSEUDO VERIFY BIT_^1_(AND-_#ZROBIT+12_^1_(EOR-_#ONEBIT€€+12_^1_(STA-_#MODE,I_^1_(JMP_$RVFVER_^1*_]_^1EMM3_#LDA-_#MODE,I_^1_(AND-_#ONEBIT+13_^1_(SAZ_$TSTREC_^1PSEUDO_!LDA-_#MODE,I_,PSEUDO ENTRY_^1_(AND_$=N$9FFF_^1_(EOR-_#ONEBIT+14_)CLEAR PE BIT,SET IDK_^1_(STA-_#MODE,I_^1_(LDA-_#SW1,I_/AND_^1_(EOR-_#ONEBIT+11_^1_(STA-_#SW1,I_-COR NEEDED NEXT_^1_%RTJ- (DISPLY)_J06*C1370_^1_%ADC DCOL_N06*C1370_^1_(JMP-_#(CLRSR)_^1*_]_^1TSTREC_!LDA-_#(SST+€€FFA)_^1_(AND-_#LPMASK+4_^1_(SAZ_$TSTODD_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DEOF_^1_(RTJ_$BOFFE_^1EMM5_#RTJ_$AUTO_^1_(JMP-_#(CLRSR)_^1TSTODD_!LDA-_#RCNT,I_^1_(AND-_#ONEBIT_,IF ODD NUMBER OF CHARACTERS_^1_(SAZ_$EMM4_^1_(LDA-_#CURCH,I_+SET LAST+1 TO BINARY ZERO_^1_(AND-_#NZERO+8_^1_(STA-_#CURCH,I_^1_(RTJ-_#(SBYTE)_^1EMM4_#LDA-_#SW2,I_G06*C1304_^1_(AND-_#ZROBIT+4_D06*C1304_^1_(STA-_#SW2,I_G06€€*C1304_^1_(LDA-_#SW1,I_G06*C1304_^1_(AND-_#ONEBIT+12_^1_(SAZ_$1_^1_(JMP*_#PSEUDO_^1_(JMP_$EORENT_^1_(EJT_^1*_]_^1* VALDTE IS A CLOSED SUBROUTINE WHICH PERFORMS EOF VALIDATION_^1*_]_^1* IN ALL MODES. NO PARAMETERS ARE REQUIRED_^1*_]_^1VALDTE_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1NOSIGN_!LDA-_#SW2,I_^1*_]06*C1332_^1_(AND-_#ZROBIT+13_)CLEAR REVALIDATION FLAG_^1_(STA-_#SW2,I_^1* SETTING THE BIT€€ IS NOT REQUIRED ANY MORE_305*C1222_^1TSTNZ_"LDQ-_#SST+FFA_^1_(LDA-_#1,Q_^1_(AND-_#ONEBIT+6_^1_(SAZ_$TSTLL_^1_(RTJ_$NZT_/PERFORM CHARACTER PRESENT CHECK_^1TSTLL_"ENQ_$10_^1_(RTJ_$FMTPAR_^1_(SAM_$TSTST_^1_(RTJ_$LUL_/DO LIMIT CHECK_^1TSTST_"ENQ_$12_^1_(RTJ_$FMTPAR_^1_(SAM_$TSTEXT_+SEE IF EXTENSION_*07*C1402_^1_(TRA_$Q_^1_(LDA_$STJLNG,Q_^1_(EOR-_#LPMASK+15_)EXIT TO DUMMY_^1_(SAN_$2_^1€€_(ENQ_$$9_/UNPATCHED SPECIAL_^1_(JMP-_#(ERROR)_*TEST ERROR_^1_(TRQ_$A_^1_(INA_$-1_^1_(LDQ_$STJLNG,Q_^1_(RTJ-_#(ZERO),Q_^1TSTEXT_!LDA-_#SWITCH,I_)CLEAR EXT,OWNCOD_*07*C1402_^1_(AND-_#ZROBIT+13_(BIT_707*C1402_^1_(STA-_#SWITCH,I_D07*C1402_^1_(LDQ-_#SST+FFA_E07*C1402_^1_(LDA-_#1,Q_I07*C1402_^1_(AND-_#ONEBIT+10_(EXTENSION BIT_-07*C1402_^1_(SAZ_$TSTOC_G07*C1402_^1_(LDA-_#SWITCH,I_D07*C14€€02_^1_(EOR-_#ONEBIT+13_(EXTENSION IS EXECUTED_$07*C1402_^1_(STA-_#SWITCH,I_D07*C1402_^1_(JMP*_#*+2_.SAVE RETURN ADDRESS_'07*C1402_^1_(ADC_$TSTOC_,EXIT IS DONE THROUGH_%07*C1402_^1_(RTJ-_#(ENTSR)_*EXIT STACK_007*C1402_^1_(CLR_$A_0EXECUTE POINT_-07*C1402_^1_(JMP+_#OCGMON_F07*C1402_^1TSTOC_"ENQ_$13_^1_(RTJ_$FMTPAR_^1_(SAM_$TSTCNT_^1_(LDQ_$=N$7C00_+LOAD OWN CODE % EXECUTE IT_^1_(AAQ_$Q€€_^1_(CLR_$A_^1_(RTJ-_#(ENTPRG)_^1*_]_^1TSTCNT_!ENQ_$11_^1_(RTJ_$FMTPAR_^1_(SAM_$NALBEL_F06*C1321_^1_(ALS_$8_^1_(RTJ*_#COUNT_^1NALBEL_!LDA-_#RCNT,I_+IF THE FIELD WAS MARKED_"06*C1321_^1_(STA-_#ATEMP+1,I_(AS AN ERRONEOUS ONE BAD AND06*C1321_^1_(LDA-_#FCNT,I_+NOW IT PASSE THE VALID TEST06*C1321_^1_(AND-_#LPMASK+8_)GO TO FLAGS(ENTRY POINT IN 06*C1321_^1_(TCA_$A_0REPKEY)TO CLEAR THE FLA€€G_!06*C1321_^1_(ADD-_#RCNT,I_F06*C1321_^1_(STA-_#RCNT,I_F06*C1321_^1_(RTJ-_#(GBYTE)_E06*C1321_^1_(QLS_$8_K06*C1321_^1_(LDA-_#ATEMP+1,I_C06*C1321_^1_(STA-_#RCNT,I_F06*C1321_^1_(SQP_$EXITV_G06*C1321_^1_(LDQ_$=N$1874_E06*C1321_^1_(ENA_$REP3_H06*C1321_^1_(RTJ-_#(ENTPRG)_D06*C1321_^1EXITV_"JMP-_#(EXTSR)_^1*_]_^1* COUNT IS A CLOSED SUBROUTINE WHICH ADDS/SUBTRACTS THE CONTENTS OF_^1*_]_^1€€* THE CURRENT FIELD TO THE COUNTER SPECIFIED IT IS CALLED BY DELETE_^1*_]_^1* ON ENTRY A CONTAINS THE COUNTER OPERATIONS(BITS 15-8)_'05*C1149_^1*_]05*C1149_^1****_Z05*C1149_^1*_!NOTE:_U05*C1149_^1****_#COUNT IS NOT ALLOWED TO USE ATEMP+2,I_005*C1149_^1****_?(EORVR USES IT)_+05*C1149_^1*_]_^1COUNT_"NUM_$0_^1_(STA-_#ATEMP+1,I_)SAVE A % Q_^1_(RTJ_$PACK_.PACK FIELD_^1_(STQ-_#ATEMP+3,I_€€^1*_]07*C1400_^1* ADJUST DOCUMENT COUNTERS CONTROL BITS TO COUNTERS NUMBERS 07*C1400_^1* BIT 4 CONTROL FIRST CNT, BIT 0-SECOND CNT._107*C1400_^1*_]07*C1400_^1_(LDQ-_#SST+FFA_*CURRENT FIELD ADR_)07*C1400_^1_(LDA-_#2,Q_.SWITCH WORD_/07*C1400_^1_(AND-_#LPMASK+2_)DOCUMENT CNT CNTRL BIT_#07*C1400_^1_(CLR_$Q_K07*C1400_^1_(DVI-_#ONEBIT+1_D07*C1400_^1_(ALS_$4_0FIRST CNT_107*C1400_^1_(A€€AQ_$A_0+ SECOND_207*C1400_^1_(ADD-_#ATEMP+1,I_C07*C1400_^1_(STA-_#ATEMP+1,I_C07*C1400_^1COUNT2_!LDA-_#ATEMP+1,I_^1_(STA-_#SST+STEMP_(SAVE ADD/SUB INDICATOR IN Q_^1_(ALS_$4_^1_(STA-_#ATEMP+1,I_)EXTRACT COUNTER NO._^1*_]07*C1400_^1*_!IF COUNTER SPECIFIED IS DOCUMENT COUNTER, DO NOTHING_%07*C1400_^1*_]07*C1400_^1_(AND-_#ONEBIT+8_D07*C1400_^1_(SAZ_$3_K07*C1400_^1_(EOR-_#ATEMP+1,I_C07*C€€1400_^1_(STA-_#ATEMP+1,I_C07*C1400_^1_(JMP*_#CHECK_,DOC CNT. IGNORE IT_(07*C1400_^1_(LDA-_#ATEMP+1,I_C07*C1400_^1_(AND-_#LPMASK+3_^1_(SAN_%1_^1_(JMP*_$CHECK_+ZERO - TEST FOR LAST_^1_(INA_$-1_^1_(ALS_$2_1CALCULATE ADDRESS OF_^1_(ADD-_#I_^1_(INA_$36_0REQUIRED COUNTER_^1_(LDQ-_#ATEMP+3,I_^1_(STA-_#I_^1_(TRQ_$A_^1_(LDQ-_#SST+STEMP_^1_(SQM_$SUBTR_-SUBTRACT REQUESTED_^1_(LDQ-_#I_^1_(RTJ_€€$ADD_^1_(JMP*_#CHECK_^1SUBTR_"LDQ-_#I_^1_(RTJ_$SUB_^1CHECK_"LDA-_#ATEMP+1,I_)EXTRACT 2ND OP._^1_(AND-_#NZERO+12_^1_(SAZ_$OUT_^1_(JMP*_#COUNT2_^1*_]_^1OUT_$JMP*_#(COUNT)_^1_(EJT_^1*_]_^1* BOFFE UPDATES FFA % RFA,INCREASES FIELD NO.,AND PUTS THE DATA TYPE_^1*_]_^1* IN THE ATT_^1*_]_^1BOFFE_"NUM_$0_^1_(LDA-_#(SST+FFA)_^1_(AND-_#LPMASK+4_*UPDATE FFA % RFA_^1_(INA_$2_^1_(TRA_$Q_^1_(ADQ-€€_#SST+FFA_^1_(STQ-_#SST+FFA_^1_(ADD-_#RFA,I_^1*_]09*C1602_^1_(STA-_#RFA,I_^1_(LDA-_#FLDN,I_F09*C1602_^1_(ADD-_#ONEBIT+9_D09*C1602_^1_(STA-_#FLDN,I_F09*C1602_^1_(RTJ*_#STTYPE_,STORE DATA TYPE IN ATT_^1_(JMP*_#(BOFFE)_^1*_]_^1* SETBOFS SETS THE DATATYPE IN ATT,AND DISPLAYS FIELD NO.% DATATYPE_^1*_]_^1SETBOF_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ*_#STTYPE_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DBOF_^€€1_(JMP-_#(EXTSR)_^1*_]_^1STTYPE_!NUM_$0_0SUBROUTINE TO EXTRACT_^1_(LDQ-_#SST+FFA_^1_(LDA-_#1,Q_/DATA TYPE FROM FORMAT % PUT_^1_(AND-_#NZERO+13_^1_(TRA_$Q_1INTO ATT_^1_(LDA-_#DT,I_^1_(AND-_#LPMASK+13_^1_(EAQ_$A_^1_(STA-_#DT,I_^1_(JMP*_#(STTYPE)_^1*_]_^1_(EJT_^1*_]_^1* AUTO PERFORMS AUTOMATIC SKIP% DUP IF MULTI-LEVEL DUP/SKIP(SW1B6)_^1*_]_^1* IS NOT SET,AND THE AUTODUP IS NOT IN 1ST €€RECORD OF FMT OR INSERT_^1*_]_^1* SUCCESSUVE FIELDS MAY BE PROCESSED. DUP % SKIP ARE CALLED FROM DISK_^1*_]_^1AUTO_#NUM_$0_^1_(RTJ-_#(ENTSR)_^1*_]05*C1150_^1_(SET_$A_1INTERNAL FLAG FOR DECIDING WHETHER_^1_(STA-_#ECODE,I_+TO DISPLAY COLUMN NUMBER_^1_%STA- BTEMP,I_%SET READ NEEDED FOR F-DUP FIELDS_(RV001_^1NXTFLD_!LDQ-_#SST+FFA_^1_(LDA-_#FCNT,I_^1_(AND-_#NZERO+8_+CLEAR FIELD COUNT_^1€€_(STA-_#FCNT,I_^1_(LDA-_#1,Q_^1_(ARS_$2_^1_%AND- LPMASK+3_$GET AUTOFUNCT BITS_6RV001_^1_(INA_$-2_^1_(SAP_$1_^1_(JMP*_#EXIT1_-NOT AN AUTOFIELD_^1_(LDQ-_#SW1,I_,IF MLDS IS ON,ON AN AUTO_!05*C1150_^1_(QLS_$9_0DUP FIELD;SET:_,05*C1150_^1_(SAZ_$DUP_.'FC' (W3,B13 IN TRB HEADER)05*C1150_^1_%INA -1_+CHECK FOR AUTOSKIP_6RV001_^1_%SAN DUP_*SKIP IF NOT_=RV001_^1_(SQP_$1_0IN ENTRY MODE._,05*€€C1150_^1_(JMP*_#EXIT2_,'AC'(W3,B12 IN TRB HDR)_"05*C1257_^1_(JMP*_#SKIP_-IN INSERT_105*C1150_^1DUP_$LDA-_#SW1,I_G05*C1222_^1_(ALS_$3_K05*C1222_^1_(SQP_$DUP1A_G05*C1222_^1_(SAM_$INSERT_F05*C1222_^1_(LDQ-_#ATRB,I_F05*C1150_^1_(LDA-_#3,Q_I05*C1150_^1_(AND-_#ZROBIT+13_C05*C1150_^1_(EOR-_#ONEBIT+13_C05*C1150_^1_%STA- 3,Q_SRV001_^1_%RTJ+ CHEKFF_'CHECK IF F-F AUTODUP_4RV001_^1_%SAZ COM+1€€_(NO - EXIT2 IF MAN + F-F SET AC ALSO_"RV001_^1INSERT_!LDQ-_#ATRB,I_F05*C1150_^1_(LDA-_#3,Q_I05*C1150_^1_(AND-_#ZROBIT+12_C05*C1150_^1_(EOR-_#ONEBIT+12_C05*C1150_^1COM_$STA-_#3,Q_I05*C1150_^1_(JMP*_#EXIT2_G05*C1257_^1*_]05*C1150_^1DUP1A_"SAM_$DUP1_H05*C1222_^1_(LDA-_#SW1,I_G05*C1222_^1_%SAM CKFF_RRV001_^1_%JMP* DUP1B_QRV001_^1CKFF_!RTJ+ CHEKFF_'CHECK FOR F F DUP_7RV001_^1_%SAZ €€1_,SKIP IF NOT_=RV001_^1_%SAP DUPFF_(FORMAT CHANGE + F-F AUTODUP_-RV001_^1_(JMP*_#EXIT1_G05*C1222_^1DUP1_#LDQ-_#ATRB,I_+IF F.C. IS SET DO NOT_$05*C1163_^1_(LDA-_#3,Q_.PERFORM THE AUTO DUP_%05*C1163_^1_(AND-_#ONEBIT+13_C05*C1163_^1_%SAZ DUP1B_9(WAS SAZ 1)_,RV001_^1_%RTJ+ CHEKFF_PRV001_^1_%SAZ 1_,AUTODUP D_?RV001_^1_%SAP 1_,AUTODUP F_?RV001_^1_%JMP* EXIT1_,AUTODUP D, OR F + FROB_€€.RV001_^1DUPFF RTJ* FFAUTO_PRV001_^1_%SAZ DUP1B_(SKIP IF DATA CHECK ONLY_1RV001_^1_%JMP* CNTCHK_'DATA CHECKED AND DUPED_2RV001_^1DUP1B_"RTJ-_#(GBYTE)_E05*C1222_^1_(QLS_$8_1IF AUTODUP WITH ERROR FLAG_^1_(SQP_$NOERR_^1_(LDQ-_#ATRB,I_,SET BIT IN HEADER_^1_(LDA-_#3,Q_^1_(AND-_#ZROBIT+15_^1_(EOR-_#ONEBIT+15_^1_(STA-_$3,Q_^1NOERR_"RTJ_$DUPIT_^1CNTCHK EQU CNTCHK(*)_MRV001_^1_(ENQ_$11_^€€1_(RTJ+_#FMTPAR_,PERFORM COUNTER OPERATIONS_^1_(SAM_$CONT_^1_(ALS_$8_6IF SPECIFIED_^1_(RTJ_$COUNT_G07*C1400_^1_(JMP*_#CONT_^1SKIP_#LDA-_#CURCH,I_^1_(AND-_#NZERO+8_+CLEAR CURRENT CHARACTER_^1_(STA-_#CURCH,I_^1_(RTJ_$SKIPIT_^1CONT_#CLR_$A_^1_(STA-_#ECODE,I_^1_(LDA-_#(SST+FFA)_^1_(AND-_#LPMASK+4_*AT END OF RECORD?_^1_(SAN_$ON_^1_%RTJ* RELREC_'CHECK IF PREV RECORD NEEDS RELEASING_#RV00€€1_^1_(LDA-_#SW2,I_G06*C1345_^1_(AND-_#ZROBIT+6_D06*C1345_^1_(STA-_#SW2,I_G06*C1345_^1_(RTJ-_#(DISPLY)_D05*C1222_^1_(ADC_$DCOL_H05*C1222_^1_(JMP_$TSTODD_,YES EXIT TO EMM_^1ON_#RTJ BOFFE_(UPDATE POINTERS_9RV001_^1_(JMP*_#NXTFLD_^1*_]_^1EXIT1 LDA- SW2,I_(WAS RELEASE USED ?_3P0*H0009_^1_%AND- ONEBIT+6_KP0*H0009_^1_%SAZ EXIT11_MP0*H0009_^1_%CLR A_,YES, CLEAR ECODE_5P0*H0009_^1_%STA-€€ ECODE,I_LP0*H0009_^1_%RTJ* STTYPE_'EXIT WITHOUT DISPLAY_1P0*H0009_^1_%JMP- (EXTSR)_LP0*H0009_^1EXIT11 LDA- ECODE,I_LP0*H0009_^1_(SAN_$EXIT2_-NUMBER ALSO_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DCOL_^1EXIT2_"CLR_$A_^1_(STA-_#ECODE,I_^1EXIT3 RTJ SETBOF_MP0*H0009_^1*_]06*C1332_^1_%RTJ* RELREC_PRV001_^1_(JMP-_#(EXTSR)_^1*_]_"RV001_^1RELREC NUM 0_URV001_^1_%LDQ- BTEMP,I_ORV001_^1_%SQM XIT1_RRV€€001_^1_%CLR A_URV001_^1_%STA- 2,Q_*RELEASE PREVIOUS RECORD BUFF_,RV001_^1_%STA- BTEMP,I_ORV001_^1XIT1_!JMP* (RELREC)_NRV001_^1* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *RV001_^1*_]_"RV001_^1*_$KNOWNS UPON ENTRY TO THIS ROUTINE........_2RV001_^1*_*FORMAT HAS CHANGED AND F-F AUTODUP SELECTED_+RV001_^1*_*NOT FIRST RECORD OF BATCH_=RV001_^1*_*AT BEGINNING OF FI€€ELD TO BE DUPED (NEVER IN MIDDLE)_"RV001_^1*_*MLDS (MANUAL DUP/SKIP) KEY NOT SET_4RV001_^1*_]_"RV001_^1* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *RV001_^1FFAUTO NUM 0_URV001_^1_%LDA- BTEMP,I_%CHECK IF READ OF PREVIOUS RECORD NEEDED RV001_^1_%SAP NOREAD_'NO_FRV001_^1_%RTJ* READ1_(YES_ERV001_^1_%JMP* CONTU_QRV001_^1NOREAD LDA- BTEMP,I_%RESTORE ATEMP+2_9RV00€€1_^1_%STA- ATEMP+2,I_MRV001_^1CONTU LDA- (SST+CFFA)_"GET LENGTH OF CURRENT FIELD_-RV001_^1_%ARS 8_URV001_^1_%AND- LPMASK+7_NRV001_^1_%INA 1_URV001_^1_%STA- ATEMP+3,I_#SAVE IN BTEMP_;RV001_^1_%LDQ- ATEMP+2,I_#CHECK_CRV001_^1_%LDA- 3,Q_/IF_ARV001_^1_%AND- LPMASK+9_.PREVIOUS_7RV001_^1_%LDQ- ATEMP+3,I_2RECORD_4RV001_^1_%ADQ- RCNT,I_RV001_^1_%SQP RIGHT_QRV001_^1_%RAO- SST+STEMP+1_KRV001_^1_%JMP* STRIP_QRV001_^1RIGHT €€ALS 8_URV001_^1STRIP AND- LPMASK+7_NRV001_^1_%RAO- ATEMP+4,I_MRV001_^1_%LDQ- SST+STEMP_MRV001_^1_%INQ -1_TRV001_^1_%STQ- SST+STEMP_MRV001_^1_%JMP* (NXTCHR)_$EXIT RTNE_?RV001_^1*_]_"RV001_^1DTP_"RTJ* NXTCHR_PRV001_^1DTP1_!LDQ- DT,I_)GET DATA TYPE_;RV001_^1_%QLS 1_URV001_^1_%SQP TOOUT_QRV001_^1_%LDQ- DT,I_RRV001_^1_%SQM NUMRIC_PRV001_^1_%INA -$20_)CHECK FOR BLANK_9RV001_^1_%SA€€Z TOOUT_QRV001_^1_%INA -$41+$20_NRV001_^1_%SAM TOERR_QRV001_^1_%INA -$5B+$41_NRV001_^1_%SAM TOOUT_QRV001_^1TOERR JMP* ERR_SRV001_^1TOOUT JMP* CHKOUT_PRV001_^1NUMRIC QLS 2_,CHECK FOR UNSIGNED NUMERIC_.RV001_^1_%SQP UNS_SRV001_^1_%LDQ- SST+STEMP_#CHECK IF LAST CHAR IN FIELD_-RV001_^1_%SQN UNS_SRV001_^1_%INA -$2B_)CHECK FOR PLUS_:RV001_^1_%SAZ CHKOUT_PRV001_^1_%INA -$2D+$€€2B_$CHECK FOR MINUS_9RV001_^1_%SAZ CHKOUT_PRV001_^1_%JMP* ERR_SRV001_^1UNS_"INA -$30_)CHECK FOR 0-9_;RV001_^1_%SAM TOER_RRV001_^1_%INA -10_SRV001_^1_%SAM CHKOUT_PRV001_^1TOER JMP*_!ERR_SRV001_^1CHKOUT LDA- SST+STEMP_#CHECK IF LAST CHARACTER CHECKED_)RV001_^1_%SAZ SETADD_PRV001_^1_%JMP* DTP_*CONTINUE CHECKING_7RV001_^1*_]_"RV001_^1SETADD LDA- SW1,I_(CHECK IF INSERTED RECORD_0R€€V001_^1_%AND- ONEBIT+12_MRV001_^1_%SAN CPYDTA_'COPY ALSO IF INSERT_5RV001_^1_%JMP* (FFAUTO)_$ELSE EXIT_?RV001_^1*_]_"RV001_^1CPYDTA LDA- MODE,I_'SAVE CURR MODE_:RV001_^1_%AND- NZERO+8_ORV001_^1_%STA- ATEMP+1,I_MRV001_^1_%LDA- RCNT,I_'SET START ADDR OF REQUESTED_-RV001_^1_%ARS 1_3DATA_=RV001_^1_%ADD- ATEMP+2,I_MRV001_^1_%INA 5_URV001_^1_%STA- ATEMP+2,I_MRV001_^1_%JMP* LOOP1_QRV00€€1_^1*_]_"RV001_^1ERR_"RTJ+ CALCDS_PRV001_^1_%LDQ- ATRB,I_'DUE TO DATA OR LENGTH ERROR_-RV001_^1_%LDA- 3,Q_*WITH PREVIOUS RECORD, THIS F-DUP FIELD_!RV001_^1_%AND- ZROBIT+12_#MAY BE KEYED MANUALLY, AND IF SO, MUST_!RV001_^1_%EOR- ONEBIT+12_#BE VERIFIED ALSO - SET AC BIT IN TRB HEADRV001_^1_%STA- 3,Q_SRV001_^1_%RTJ* RELREC_'RELEASE RECORD_:RV001_^1_%LDA- CURCH,I_ORV001_^1_%AND- NZERO+€€8_ORV001_^1_%INA $20_*PUT BLANK IN CUR CHAR_3RV001_^1_%STA- CURCH,I_ORV001_^1_%LDA- ECODE,I_ORV001_^1_%SAN XIT2_RRV001_^1_%RTJ- (DISPLY)_NRV001_^1_%ADC DCOL_RRV001_^1XIT2_!CLR A_URV001_^1_%STA- ECODE,I_ORV001_^1_%RTJ SETBOF_PRV001_^1_%ENQ 1_,DATA TYPE OR LENGTH ERROR_/RV001_^1_%JMP- (ERROR)_ORV001_^1*_]_"RV001_^1READ1 NUM 0_,READ PREVIOUS RECORD_4RV001_^1_%RTJ- (ENTSR)_ORV0€€01_^1GET1_!LDQ- PFBA,I_'GET RECORD LENGTH_7RV001_^1_%LDQ- (ZERO),Q_NRV001_^1_%LDA- 2,Q_SRV001_^1_%ARS 6_URV001_^1_%AND- LPMASK+10_#A = RECORD LENGTH -1_4RV001_^1_%INA 13_+ADD 1 + 10 FOR HEADER + 2 FOR ODD LNGTH RV001_^1_%ARS 1_,CONVERT TO WORD_9RV001_^1_%STA* LENGTH_PRV001_^1_%TRA Q_URV001_^1_%INQ 3_,FOR FRP HEADER_:RV001_^1_%RTJ- (CAM)_QRV001_^1_%SAZ GOT_SRV001_^1_%RTJ- (WA€€IT)_'WAIT UNTIL CORE AVAILABLE_/RV001_^1_%JMP* GET1_RRV001_^1GOT_"LDA- 1,Q_SRV001_^1_%EOR- ONEBIT+15_#SET NO MOVE ALLOWED BIT_1RV001_^1_%STA- 1,Q_SRV001_^1_%STQ- ATEMP+2,I_#SAVE ADDRESS FOR LATER RELEASE_*RV001_^1_%STQ- BTEMP,I_%AND TO RESTORE ATEMP+2_2RV001_^1_%INQ 3_URV001_^1_%STQ* CORADD_PRV001_^1_%LDQ- ATRB,I_PRV001_^1_%LDA- 6,Q_SRV001_^1_%ALS 8_URV001_^1_%AND- LPMASK+8_NRV00€€1_^1_%STA* MOST_)DISK_DRV001_^1_%LDA- 4,Q_1ADDRESS OF_6RV001_^1_%STA* LEAST_4PREVIOUS RECORD_-RV001_^1_%LDA- LUN,I_QRV001_^1_%ALS 4_URV001_^1_%AND- LPMASK+2_NRV001_^1_%STA* LU_TRV001_^1*_]_"RV001_^1_%RTJ- (REDDWA)_$READ PREVIOUS RECORD_4RV001_^1CORADD NUM 0_URV001_^1MOST_!NUM 0_URV001_^1LEAST NUM 0_URV001_^1LENGTH NUM 0_URV001_^1LU_#NUM 0_URV001_^1*_]_"RV001_^1_%JMP- (EXTSR€€)_ORV001_^1*_]_"RV001_^1LOOP1 RTJ* LOOPY_QRV001_^1NEXT_!RTJ- (SBYTE)_ORV001_^1_%RAO- RCNT,I_PRV001_^1_%RAO- FCNT,I_PRV001_^1_%LDA- ATEMP+3,I_MRV001_^1_%INA -1_TRV001_^1_%STA- ATEMP+3,I_MRV001_^1_%SAZ END_SRV001_^1_%JMP* LOOP1_QRV001_^1END_"LDA- ATEMP+1,I_MRV001_^1_%STA- MODE,I_'RESTORE MODE_RV003_^1_(AND-_#NZERO+8_^1_(INA_$PLUS_^1_(STA-_#CURCH,I_+STORE + IN TRB % UPDATE_^1STORE_"RTJ-_#(SBYTE)_^1_(RAO-_#FCNT,I_,FIELD COUNT % RECORD COUNT_^1_(RAO-_#RCNT,I_^1_(LDA-_#FCNT,I_,IF AT BEGINNING OF FIELD, SIGN_^1_(AND-_#LPMASK+8_D05*C1250_^1_(INA_$-1_1IS NOT DISPLAYED_^1_(SAZ_$2_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DCAROL_^1NOSIGN_!€€LDA-_#(SST+CFFA)_(NOW AT EOF?_^1_(ALS_$8_^1_(INA_$1_^1_(EOR-_#FCNT,I_^1_(AND-_#LPMASK+7_^1_(SAN_$1_^1_(JMP-_#(EXTSR)_+YES- EXIT TO CALLER_^1*_]_^1*_]_^1_(LDA-_#FDTP,I_,STORE ASCII SPACE OR ZERO_^1_(SAP_$ALPHA_^1_(ALS_$1_1IN ATTEMP+1 ACCORDING TO DATA TYPE_^1_(SAP_$ALPHA_^1*_]06*C1317_^1_(LDQ-_#SST+CFFA_)CHECK IF BLANKS IN_(06*C1317_^1_(LDA-_#1,Q_.NUMERIC FIELD SPECIFIED_"06*C1317_^€€1_(AND-_#ONEBIT+9_D06*C1317_^1_(SAZ_$NUMRIC_F06*C1317_^1_(LDA-_#FCNT,I_+AT BEGINNING OF FIELD_$06*C1317_^1_(AND-_#LPMASK+8_D06*C1317_^1_(SAZ_$ALPHA_G06*C1317_^1NUMRIC_!ENA_$$30_I06*C1317_^1_(JMP*_#TEST_^1ALPHA_"ENA_$$20_/CHECK AUTOMATIC FUNCTIONS_^1TEST_#STA-_#ATEMP+1,I_)*************************_^1_(LDQ-_#SST+CFFA_D05*C1283_^1_(LDA-_#1,Q_^1_(ARS_$2_1IF RIGHT ZERO FILL IS SET IN_^1€€_(AND-_#LPMASK+2_^1_(INA_$-1_0FORMAT THEN:_^1_(LDQ-_#ATEMP+1,I_^1_(INQ_$-$20_-** NUMERIC =RZ FILL **_^1_(SAZ_$ALPHA1_+*_:*_^1_(SQZ_$FILLUP_+**ALPHA_!= LEFT BLANK FILL**_^1_(JMP_$LEFTZ_^1ALPHA1_!SQN_$FILLUP_^1_(JMP_$LEFTZ_^1*_]_^1FILLUP_!LDA-_#CURCH,I_+STORE FILL CHARACTER_^1_(AND-_#NZERO+8_^1_(EOR-_#ATEMP+1,I_)IN CURCH SLOT IN ATT_^1_(STA-_#CURCH,I_^1_(LDA-_#FDTP,I_F06*C1317_^1_(AL€€S_$1_K06*C1317_^1_(SAP_$LOOPON_F06*C1317_^1_(RTJ_$CALCDS_,STORE PARAMETER FOR DISPLAY_^1LOOPON_!LDA-_#(SST+FFA)_^1_(ARS_$8_1FILL WITH ZERO OR BLANK_^1_(INA_$1_^1_(EOR-_#FCNT,I_,UP TO END OF FIELD_^1_(AND-_#LPMASK+7_^1_(SAZ_$EXIT_^1_(RTJ-_#(SBYTE)_^1_(RAO-_#FCNT,I_^1_(RAO-_#RCNT,I_^1_(JMP*_#LOOPON_^1*_]_^1EXIT_#JMP-_#(EXTSR)_^1*_]_^1* READ MODE SECTION_^1*_]_^1READ_#LDA-_#FCNT,I_,IF€€ AT BEGINNING OF FIELD_^1_(AND-_#LPMASK+8_^1_(TCA_$Q_1TEST FOR END OF DATA_^1_(SAZ_$1_^1_(JMP*_#NOTBEG_^1_(LDA-_#BRCNT,I_^1_(ALS_$2_1IF IN VERIFY MODE SKIP PAST VERIFY_^1_(SAM_$ENT1_^1_(LDQ-_#ATRB,I_^1_(LDA-_#4,Q_^1_(EOR-_#CURDA+1,I_^1_(SAN_$ON_^1_(LDA-_#6,Q_^1_(ALS_$8_^1_(EOR-_#CURDA,I_^1_(AND-_#LPMASK+8_D05*C1160_^1ON_%CLR_$Q_^1_(JMP*_#CHERR_^1ENT1_#ARS_$2_^1_(AND-_#LPMASK+12_^1_€€(SUB-_#RCNT,I_^1NTBEG1_!SAN_$NOTBEG_^1_(LDA-_#RCDRD,I_^1_(SUB-_#RCD,I_^1CHERR_"SAN_$NOTBEG_^1_(ENQ_$ERRB2_-END OF DATA - ERROR EXIT_^1_(JMP-_#(ERROR)_^1*_]_^1NOTBEG_!LDA-_#(SST+CFFA)_(MOVE POINTERS TO END OF FIELD_^1_(ALS_$8_^1_(AND-_#LPMASK+7_*AND EXIT_^1_(INA_$1_^1_(AAQ_$A,Q_^1_(ADD-_#RCNT,I_^1_(STA-_#RCNT,I_^1_(ADQ-_#FCNT,I_^1_(STQ-_#FCNT,I_^1_(JMP-_#(EXTSR)_^1*_]_^1*_]_^1* VERI€€FY MODE SECTION_^1*_]_^1VERIFY_!LDA-_#FDTP,I_^1_(ENQ_$$20_/SET UP MATCH ACCORDING TO FIELD_^1_(SAP_$STOREQ_^1_(ALS_$1_1DATA TYPE_^1_(SAP_$STOREQ_+IF NUMERIC FIELD AND_%06*C1317_^1*_]06*C1317_^1_(LDQ-_#SST+CFFA_D06*C1317_^1_(LDA-_#1,Q_I06*C1317_^1_(AND-_#ONEBIT+9_D06*C1317_^1_(ENQ_$$20_I06*C1317_^1_(SAZ_$INQ10_G06*C1317_^1_(LDA-_#FCNT,I_F06*C1317_^1_(AND-_#LPMASK+8_D06*C1317_^1_(SAZ€€_$STOREQ_F06*C1317_^1INQ10_"INQ_$$10_I06*C1317_^1STOREQ_!STQ-_#ATEMP+1,I_^1_(RTJ_$CALCDS_F04*C1085_^1_(CLR_$A_^1_(STA-_#ATEMP+2,I_^1_(STA-_#MISCH,I_^1_(LDA-_#CMODE,I_E06*C1319_^1_(AND-_#ZROBIT+14_C06*C1319_^1_(STA-_#CMODE,I_E06*C1319_^1_(LDQ-_#SST+CFFA_D05*C1153_^1_(LDA-_#1,Q_I05*C1153_^1_(AND-_#ONEBIT+5_D05*C1153_^1_(SAZ_$FIXED_G05*C1153_^1_(LDA-_#SW2,I_-HAS NON-ZERO CHARACTER ALR€€EADY_^1_(SAM_$1_3BEEN ENTERED?_^1_(JMP*_#TSTLOP_^1*_]05*C1153_^1_(LDA-_#1,Q_^1_(ARS_$2_=LEFT BLANK FILL_^1_(AND-_#LPMASK+3_D05*C1221_^1_(LDQ-_#ATEMP+1,I_5LAST CHAR. OF SIGNED_^1_(INQ_$-$30_JFIELD_^1_(INA_$-1_^1_(SQN_$LBF_^1_(SAZ_$TSTLOP_^1FIXED_"LDA-_#FDTP,I_F05*C1153_^1_(AND-_#ONEBIT+13_JB_^1_(SAZ_$ERF_PB_^1_(RTJ-_#(GBYTE)_*SKIP KEY IS ILLEGAL IF_#04*C1085_^1_(INA_$-$30_-THERE ARE€€ MORE CHAR TO BE 04*C1085_^1_(SAP_$ERF_.ENTERED_304*C1085_^1_(JMP*_#PLUS1_G04*C1085_^1LBF_$SAN_%TSTLOP_^1ERF_$JMP_$ERRORF_^1*_]_^1TSTLOP_!LDA-_#(SST+FFA)_)CALCULATE NO. OF CHARACTERS_^1_(ALS_$8_^1_(AND-_#LPMASK+7_*STILL TO BE ENTERED IN THIS FIELD_^1_(TCA_$Q_^1_(LDA-_#FCNT,I_^1_(AND-_#LPMASK+8_^1_(AAQ_$A_^1_%SAP 1_URV003_^1_%JMP* TSL1_RRV003_^1_(SAZ_$4_^1_(LDA-_#SW1,I_^1_(AND-_#Z€€ROBIT+9_^1_(STA-_#SW1,I_^1_(JMP-_#(EXTSR)_+NO MORE - EXIT_^1_(LDA-_#FDTP,I_^1_(AND-_#ONEBIT+13_)IF SIGNED FIELD LOOK FOR PLUS_^1_(SAZ_$TSL1_^1_%LDA- ATEMP+1,I_#UNLESS BLANKS WERE BEING CHECKED_(RV003_^1_%INA -$20_RRV003_^1_%SAZ TSL1_)IF SO MAKE LAST CHECK FOR BLANK_)RV003_^1PLUS1_"ENQ_$PLUS_^1_(LDA-_#CURCH,I_LB_^1_(AND-_#NZERO+8_LB_^1_(AAQ_$A_RB_^1_(STA-_#CURCH,I_LB_^1_(STQ-_#ATE€€MP+1,I_JB_^1TSL1_#RTJ-_#(GBYTE)_+GET CHARACTER FORM TRB_^1_(SUB-_#ATEMP+1,I_^1_(SAN_$1_^1_(JMP*_#INCRF_^1_(LDA-_#SW1,I_-IS CONT BIT SET ?_(05*C1122_^1_(AND-_#ONEBIT+5_D05*C1122_^1_(SAN_$NEW_I06*C1317_^1_(LDA-_#ATEMP+1,I_C06*C1317_^1_(INA_$-$20_H06*C1317_^1_(SAN_$KEY1_H06*C1317_^1_(LDA-_#FDTP,I_F06*C1317_^1_(SAP_$KEY1_H06*C1317_^1_(ALS_$1_K06*C1317_^1_(SAM_$1_K06*C1317_^1KEY1_#JMP*_€€#KEY_I06*C1317_^1_(JMP*_#ERF_I06*C1317_^1NEW_$LDA-_#MODE,I_F06*C1317_^1*_]06*C1319_^1_(EOR-_#ONEBIT+14_/MOVE BACK TO START 05*C1122_^1_(STA-_#MODE,I_F05*C1122_^1_(LDA-_#FCNT,I_2OF FIELD AND SEND_!05*C1122_^1_(AND-_#LPMASK+8_D05*C1122_^1_(TCA_$Q_7FUNCTION ERROR._#05*C1122_^1_(ADQ-_#RCNT,I_F05*C1122_^1_(STQ-_#RCNT,I_F05*C1122_^1_(LDA-_#FCNT,I_F05*C1122_^1_(AND-_#NZERO+8_E05*C1122_^1€€_(STA-_#FCNT,I_F05*C1122_^1*_]06*C1345_^1_(JMP*_#ERF_I05*C1122_^1KEY_$LDA-_#MODE,I_F05*C1122_^1_(AND-_#NZERO+8_E06*C1319_^1_(EOR-_#ATEMP+1,I_(TURN ON IDK_^1_(EOR-_#ONEBIT+14_(DISPLAY THE CHAR WHICH WERE OK_^1_(STA-_#MODE,I_^1_(LDA-_#ATEMP+1,I_^1_(STA-_#MISCH,I_^1_(LDA-_#ATEMP+2,I_)SET UP DISPLAY PARAMETERS_^1_(SAZ_$OUT_^1_(LDA-_#ATEMP+4,I_(SET BYTE INDICATOR_(05*C1099_^1_(AND-_#ONE€€BIT+15_C05*C1099_^1_(EOR-_#ATEMP+2,I_C05*C1099_^1_(LDQ-_#ATEMP+3,I_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DSKUP_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DCOL_^1_(LDA-_#SW2,I_G05*C1153_^1_(AND-_#ZROBIT+5_)SET SKIP NEEDED AT EOF_#05*C1221_^1_(EOR-_#ONEBIT+5_D05*C1221_^1_(STA-_#SW2,I_G04*C1085_^1OUT_$ENQ_$ERRA5_G05*C1153_^1_(JMP-_#(ERROR)_^1*_]_^1INCRF_"RAO-_#FCNT,I_,UPDATE FIELD AND RECORD CHARACTER_^1_(RAO€€-_#RCNT,I_,COUNTS_^1_(RAO-_#ATEMP+2,I_^1_(JMP*_#TSTLOP_^1*_]_^1* LEFT ZERO FILL ROUTINE_^1*_]_^1LEFTZ_"LDA-_#FCNT,I_,IF AT BEGINNING OF FIELD_^1_(AND-_#LPMASK+8_^1_(SAN_$2_2USE RIGHT FILL CODE_^1_(JMP_$FILLUP_^1_(INA_$-1_^1_(TCA_$A_^1_(LDQ-_#LPMASK+15_^1_(AAQ_$Q_^1_(STQ-_#SST+STEMP+1_'FIELD COUNT IN OVERFLOW FORM_^1_(LDQ-_#RCNT,I_^1_(AAQ_$Q_^1_(STQ-_#ATEMP+3,I_)RECORD COUNT AT BOF_€€^1_(LDA-_#(SST+FFA)_^1_(ARS_$8_^1_(AND-_#LPMASK+7_^1_(AAQ_$A_^1_(STA-_#SST+STEMP+2_'RECORD AT EOF_^1_(STA-_#SST+STEMP+3_^1_(LDA-_#RCNT,I_^1_(INA_$-1_^1_(STA-_#RCNT,I_^1_(LDA-_#MODE,I_,PRESERVE WORD2 OF ATT_^1_(STA-_#ATEMP+2,I_^1MOVLOP_!RTJ-_#(GBYTE)_^1_(STA-_#MODE,I_,MOVE CHARACTERS TO THE RIGHT_^1_(LDA-_#RCNT,I_^1_(LDQ-_#SST+STEMP+3_'UPDATING SST+STEMP+3 (COUNT FROM_^1_(INQ_$-1_^1€€_(STQ-_#RCNT,I_,THE RIGHT) AND RCNT,I (COUNT FROM_^1_(STA-_#SST+STEMP+3_^1_(RTJ-_#(SBYTE)_+CURRENT POSITION)_^1_(SOV_$0_^1_(RAO-_#SST+STEMP+1_'INCREMENT SST+STEMP+1 UNTIL_^1_(SOV_$CONT_^1_(LDA-_#RCNT,I_,OVERFLOW OCCURS AT WHICH TIME ALL_^1_(LDQ-_#SST+STEMP+3_^1_(INQ_$-1_0ENTERED CHARACTERS HAVE BEEN_^1_(STQ-_#RCNT,I_^1_(STA-_#SST+STEMP+3_'SHIFTED._^1_(JMP*_#MOVLOP_^1CONT_#LDQ-_#ATE€€MP+1,I_)LOAD FILL CHARACTER INTO WORD 2_^1_(STQ-_#MODE,I_^1UP_%LDQ-_#RCNT,I_,OF ATT FOR SBYTE._^1_(INQ_$-1_0STORE FILLER INTO ATT UNTIL_^1_(STQ-_#RCNT,I_^1_(RTJ-_#(SBYTE)_+RCNT=SST+STEMP+4 (RCNT AT BEGINNING_^1_(RAO-_#FCNT,I_^1_(LDA-_#RCNT,I_,OF FIELD)_^1_(INA_$1_^1_(SUB-_#ATEMP+3,I_^1_(SAZ_$ENDLFZ_^1_(JMP*_#UP_^1*_]_^1ENDLFZ_!LDA-_#ATEMP+2,I_)RESTORE WORDS 2 % 4 OF ATT_^1_(STA-_#M€€ODE,I_^1_(LDA-_#SST+STEMP+2_'AND EXIT TO CALLER_^1_(STA-_#RCNT,I_^1_(JMP-_#(EXTSR)_^1*_]_^1*_]_^1* THIS SUBROUTINE CALCULATES THE CURRENT TRB ADDRESS_^1*_]_^1* AND THE NO. OF CHARS. STILL TO BE ENTERED IN THE CURRENT FIELD_^1*_]_^1* IT RETURNS IN Q % A THE PARAMETERS FOR DISPLAY DUP % SKIP_^1*_]_^1CALCDS_!NUM_$0_^1_(LDQ-_#RCNT,I_^1_(CLR_$A_1CALCULATE CURRENT TRB ADDRESS_^1_(LRS_$1€€_^1_(ADQ-_#ATRB,I_^1_(INQ_$8_1STORING IN SST+STEMP, WHICH BYTE_^1_(STQ-_#SST+STEMP_^1_(STA-_#SST+STEMP+1_'INDICATOR IN SST+STEMP+1_^1_(LDA-_#FCNT,I_^1_(AND-_#LPMASK+8_*CALCUALTE NO. OF CHARACTERS_^1_(TCA_$Q_^1_(LDA-_#(SST+FFA)_)LEFT IN FIELD % ADD SST+STEMP+1_^1_(ARS_$8_^1_(AND-_#LPMASK+7_*LOAD Q AND RETURN TO CALLER_^1_(INA_$1_^1_(AAQ_$A_^1_(ADD-_#SST+STEMP+1_^1_(LDQ-_#SST+STEMP_^€€1_(STQ-_#ATEMP+3,I_^1_(STA-_#ATEMP+4,I_)AND STORE FOR DUPKEY_^1_(JMP*_#(CALCDS)_^1*_]_^1*_]_^1* THE UPDATE ROUTINE FOR DUPLICATING AS CALLED BY DUPKEY AND AUTO_^1*_]_^1* NOW APPEARS AS A CLOSED SUBROUTINE WITHIN SKPDUP_^1*_]_^1DUPIT_"NUM_$0_^1_(RTJ*_#CALCDS_,EXTRACT PARAMETERS FOR DISPLAY_^1_(LDA-_#FCNT,I_^1_(AND-_#LPMASK+8_*UPDATE RECORD AND FIELD CHARACTER_^1_(TCA_$Q_^1_(LDA-_#€€(SST+CFFA)_(COUNTS TO END OF FIELD_^1_(ARS_$8_^1_(AND-_#LPMASK+7_)AND EXIT_^1_(INA_$1_^1_(AAQ_$A,Q_^1_(ADQ-_#RCNT,I_^1_(STQ-_#RCNT,I_^1_(ADD-_#FCNT,I_^1_(STA-_#FCNT,I_^1_(JMP*_#(DUPIT)_^1*_]_^1* CORE RESIDENT PART OF RELKEY NOW APPEARS IN SKDUP_^1*_]_^1RELIT_"RTJ_$SKIPIT_,PERFORM SKIP ON CURRENT FIELD_^1VALID_"LDA-_#SW2,I_,SET RELKEY BIT_,06*C1345_^1_(AND-_#ZROBIT+6_D06*C1345_^1_(E€€OR-_#ONEBIT+6_D06*C1345_^1_(STA-_#SW2,I_G06*C1345_^1_(LDA-_#MODE,I_F06*C1345_^1_(AND-_#ONEBIT+9_^1_(SAZ_$TSTEOR_^1*_]06*C1345_^1VALID1_!RTJ+_#VALDTE_^1TSTEOR_!LDA-_#SW1,I_^1_(AND-_#ZROBIT+5_D06*C1345_^1_(STA-_#SW1,I_^1_(LDA-_#SW2,I_,CLR 1ST NON-ZERO FLAG_$01*C1000_^1_(AND-_#LPMASK+15_C01*C1000_^1_(STA-_#SW2,I_G01*C1000_^1_(LDA-_#(SST+CFFA)_^1_(AND-_#LPMASK+4_^1_(SAN_$1_^1_(JMP*_#EN€€DREC_,YES_^1_(RTJ+_#BOFFE_^1_(LDA-_#BMOD,I_,IF BASIC MODE ENTRY, CALL AUTO_^1_(ALS_$2_^1_(SAP_$1_^1_(JMP*_#ENTRY1_^1_(RTJ+_#CHKVRY_,IS FIELD VERIFIABLE ?_^1_(SAM_$NOTV_^1_(SAN_$NOTSGT_F05*C1122_^1_(LDA-_#SW1,I_-SIGHT VERIFY FIELD:_%05*C1122_^1_(EOR-_#ONEBIT+5_D05*C1122_^1_(STA-_#SW1,I_.SET CONT FLAG_+05*C1122_^1NOTSGT_!LDA-_#FCNT,I_F06*C1345_^1_(AND-_$NZERO+8_^1_(STA-_$FCNT,I_^1_(J€€MP*_#RELIT_^1NOTV_#LDA-_#(SST+CFFA)_^1_(ARS_$8_^1_(AND-_#LPMASK+7_*% CHECK EOR AGAIN_^1_(INA_$1_^1_(ADD-_#RCNT,I_^1_(STA-_#RCNT,I_^1_(JMP*_#TSTEOR_^1ENTRY1_!RTJ+_#AUTO_H06*C1345_^1JUMPS_"JMP*_#RELIT_^1*_]_^1ENDREC_!LDA-_#SW2,I_,CLEAR 'RELKEY' BIT_(06*C1345_^1_(AND-_#ZROBIT+6_D06*C1345_^1_(STA-_#SW2,I_G06*C1345_^1_(LDA-_#MODE,I_F06*C1345_^1_(AND-_#ONEBIT+9_*GO TO EOR DEPENDENT ON MO€ΞDE_^1_(SAN_$2_^1_(JMP+_#EORTST_^1_(JMP+_#TSTODD_^1*_]_^1* EOBIT - CORE RESIDENT PORTION FOR CALLING EOBOC % RETURNONG_^1*_]_^1EOBIT_"RTJ-_#(ENTPRG)_^1_(LDQ_$=N$2803_^1_(ENA_$1_^1_(RTJ-_#(ENTPRG)_^1_(END_^__ΞPSPILL CSY/ SPI P€1_%NAM SPILL_(DECK-ID A35 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* ABT HANDLING ROUTINE*_^1* THE PROGRAM PERFORMS THREE FUNCTIONS_^1* A_$Q=0_$GET AN ABT ENTRY_^1* B_"Q= -0_#UPDATE ABT ENTRY(ONLY 1ST WORD)_.08*C1500_^1*_(-1_4(1ST % 2ND WORDS)€€_,08*C1500_^1* C_$Q= +_#INSERT ABT ENTRY_^1*_]_^1* ALL CALLS ARE FOLLOWED BY A 3-WORD PARAMETER AREA USED TO_^1* PASS INFO TO THE RTN AND TO RECEIVE INFO FROM THE RTN_^1*_]_^1*_]_^1*_'* CALLING SEQUENCE *_^1*_]_^1* ***** I MUST BE SET TO CURRENT ATT ADDRESS ON ENTRY TO SPILL *******_^1*_]_^1*_]_^1* FUN A PA WORD 1 IS JOB NO_^1*_%PA WORD 2 IS BATCH NO. (IF=FFF THEN FUN A IS CHECK I€€F JOB ACTIVE_^1*_.IF B15=1 - FIND SPECIFIC MODE:_008*C1500_^1*_7B14=0 FIND -ENTRY;EFRZ;WAIT-MODES_#08*C1500_^1*_7B14=1 FIND-VERIFY;VFRZ-MODES_)08*C1500_^1*_'PARA WORD 3 NOT SIGNIFICANT_^1*_]_^1* FUN B PARA WORD 1 IS ENTRY ADDR IN ATT(22) FORMAT_^1*_'PARA WORD 2 IS UPDATE VALUE WHICH REPLACES 1ST WORD OF ENTRY_^1*_'PARA WORD 3:NOT SIGNIFICANT IF Q=-0_208*C1500_^1*_-UPDATES 2ND WORD€€ OF ENTRY IF Q=-1_.08*C1500_^1*_]_^1* FUN C THE 3 PARA WORDS CONTAIN THE ENTRY TO BE INSERTED_^1*_]_^1*_]_^1*_'* VALUES RETURNED *_^1*_]_^1* A_$A= 0_#ERROR. REQUESTED ENTRY NOT FOUND_^1*_'A= +_#ADDR OF REQUESTED ENTRY IN ATT(22) FORMAT_^1*_+*** ENTRY RETURNED IN 3 PARA WORDS ***_+08*C1500_^1** COMMENTS **_P08*C1500_^1*_*IF A=0, THEN Q= ADDR OF NEXT HIGHEST BATCH OF_$08*C1500_^1*_;€€JOB IN ABT OR_308*C1500_^1*_6Q=-0 IF THERE IS NO GREATER BATCH_$08*C1500_^1*_;FOR REQUESTED JOB._/08*C1500_^1*_*IF SPECIFIC SEARCH WAS REQUESTED AND ENTRY FOUND_!08*C1500_^1*_*BUT IT IS NOT SEV-, RESULT WILL BE :_.08*C1500_^1*_*A=0_O08*C1500_^1*_*Q=ADDR OF THIS ENTRY._=08*C1500_^1*_]_^1* B_$NO INFO RETURNED_^1*_]_^1* C_$A= 0_#ERROR NO SPACE AVAILABLE FOR INSERTION_^1*_'A= -_#ERROR€€. ENTRY TO BE INSERTED ALREADY PRESENT IN ABT_^1*_0(THE PREVIOUS ENTRY IS TO BE FOUND IN CALLER'S PARAMS)_^1*_,IF INSERTED ENTRY CONTAINS SEV BIT,SPILL CANT_"08*C1500_^1*_>EXIT WITH A=-_108*C1500_^1**_%A= +_#ADDR WHERE ENTRY INSERTED IN ATT(22) FORMAT_^1*_]_^1**NOT RUN-ANYWHERE CODE**_^1*_]_^1*_]_^1*_]_^1*_]_^1*_]_^1*_]_^1*_]_^1_(EJT_^1_(ENT_$SPILL_^1_(ENT_$SPILSR_F08*C1500_^1_(EXT€€_$SISPLE_^1_(EXT_$SIABTW_^1_(EXT_$SIABTS_^1_(EQU_$STRTRY($AF)_^1_(EQU_$ENTSR($91),RTNSR($98)_^1_(EQU_$SPIL(23)_^1_(EQU_$ADISP($EA),KX0800($2E),KX2000($30),KXBFFF($41)_^1_(EQU_$KXFF00($1A),KXFF($A)_^1_(EQU_$ZERO($22)_^1_(EQU_$SST($47),ATT(11),SLOCK(1)_308*C1500_^1_(EQU_$LPMASK($2)_^1_(EQU_$ABTADR(22)_^1_(EQU_$ONEBIT($23)_^1_(EQU_$NZERO($12)_^1_(BZS_$SPLOCK_+SPILL LOCK_^1_(EQU_$FLOCK€€(SPLOCK)_^1_(EJT_^1SPILL_"NUM_$0_^1* TEST IF THIS FUNCTION IS LOCKED_^1_(LDA*_#FLOCK_,LOCKED?_^1_(SAN_$3_K08*C1500_^1_(LDA-_#SST+SLOCK_(OR-SPILL LOCK BY ABT BIT_!08*C1500_^1_(AND-_#ONEBIT+13_+IN SST?_008*C1500_^1_(SAZ_$ABTOK_G08*C1500_^1_(LDA*_#SPILL_,YES: PASS RETRY ADDR TO STRTRY_^1_(INA_$3_^1_(JMP-_#(STRTRY)_^1* FUNCTION UNLOCKED. SO LOCK AND USE_^1ABTOK_"SET_$A_^1_(STA*_#FLOCK_€€,LOCK_^1_(STA_$NXTB_-INIT. VALUE_^1_(LDA-_#ONEBIT+14_^1_(STA_$DISTB_,INIT. VALUE_^1_(LDA*_#SPILL_,AND SAVE_^1_(STA*_#RETURN_+RETURN ADDRESS_^1_(STA*_#X_^1_(JMP*_#*+2_^1X_'NUM_$0_^1_(RTJ-_#(ENTSR)_*SAVE RETURN ADDR IN STACK_^1*_]_^1_(STQ*_#SPILL_,SAVE Q_^1_(LDQ-_#SST_.GET_^1_(LDA-_#ABTADR,Q_^1_(STA_$ABTCOR_+ABT CORE ADDR_^1_(LDA-_#SPIL,Q_^1_(STA_$SPDBAS_+SPILL TABLE BASE D.A_^1_(LDQ€€*_#SPILL_,RESTORE Q_^1* SELECT REQUIRED FUNCTION_^1_(SQZ_$GETABT-*-1_'ZERO=GET ABT_^1_(SQM_$1_0NEG=UPDATE ABT_^1_(JMP*_#INSABT_+POS=INSERT ABT_^1_(JMP*_#UPDABT_^1_(EJT_^1** FUN_!A **_^1* GET ABT ENTRY_^1**_]_^1GETABT_!RTJ_$GETENT_+GET ENTRY_^1_(ADC_$RETURN_F06*C1320_^1_(CLR_$Q_0FLAG FOR TRNASFERING PARAMETERS TO_^1_(STQ*_#FLOCK_,CALLER_^1_(SAZ_$SPILL3-*-1_'IF A ZERO NOT FOUND_^1* I€€F FOUND CONVERT ADDRESS TO ATT(22) FORMAT_^1SPILL2_!LDA_$(ABTCOR)_(GET SEC IN CYL_-08*C1500_^1_(SUB_$SPDBAS_F08*C1500_^1_(ALS_$8_^1_%ADD_(INDEX_,ADD INDEX_^1SPILL3_!STA*_#OPCODE_+STORE AS ROUTINE'S EXIT CODE_^1* UNLOCK THIS FUNCTION_^1_(LDA-_#SST+ATT_*RESTOTE I_^1_(STA-_#I_^1_(RTJ-_#(RTNSR)_*GET CALLER ADDR_^1_(INQ_$4_^1_(STQ*_#FTIB_-RETURN ADDR._^1_(LDA*_#FLOCK_^1_(SAN_$NOTRNS_^1_€€(INQ_$-4_^1_(LDA_$TABENT_+TRANSFER ENTRY TO CALLER_^1_(STA-_#(ZERO),Q_^1_(LDA_$TABENT+1_^1_(STA-_#1,Q_^1_(LDA_$TABENT+2_^1_(STA-_#2,Q_^1NOTRNS_!CLR_$A_^1_(STA*_#FLOCK_^1*_#EXIT WITH RESULT OF SEARCH IN 'A'_^1_(LDA*_#OPCODE_+SET EXIT CODE IN 'A'_^1_(LDQ_$NXTB_-NEXT BATCH NO. (ONLY FOR FUNC.A)_^1_(JMP*_#(FTIB)_^1*_]_^1_(BZS_$OPCODE,OPCOD1,ENTADR_808*C1500_^1_(BZS_$FTIB,RETURN_^1_(EJT€€_^1** FUN B **_^1* UPDATE ABT ENTRY FUNCTION_^1**_]_^1UPDABT_!TRQ_$A_K08*C1500_^1_(LDQ*_#RETURN_F08*C1500_^1_(TCA_$A_K08*C1500_^1_(SAZ_$UPDONE_+Q=-0 UPDATE 1 WORD_(08*C1500_^1UPDTWO_!LDA-_#2,Q_.Q=-1 UPDATE 2 WORDS_'08*C1500_^1UPDONE_!STA*_#OPCOD1_F08*C1500_^1_(LDA-_#(ZERO),Q_)GET 1ST PARA-UPDATE ADDR IN_^1_(AND-_#KXFF_-ATT(22) FORMAT_^1_(STA*_#ENTADR_^1_(ALS_$1_^1_(ADD*_#ENTADR_+IN€€DEX *3+BASE ADDR=ENTRY ADDR_^1_(ADD*_#ABTCOR_^1_(STA*_#ENTADR_^1_(LDA-_#1,Q_.GET UPDATE PARAMETER_^1_(STA*_#OPCODE_+SAVE TEMPORARILY_^1_(LDA*_#(RETURN)_)GET SEC IN CYL_^1_(ARS_$8_0PUT IN 'A'_^1_(AND-_#LPMASK+8_^1_(TRA_$Q_0SAVE_^1_(ADD*_#SPDBAS_+GENERATE ABSOLUTE SECTOR ADDR_^1_(SUB*_#(ABTCOR)_)CHECK IF SAME AS CURRENT ASECTOR_^1_(SAZ_$UPD2_-YES: DONT READ IN ABT_^1_(TRQ_$A_0NO: RES€€ET A WITH SECTOR IN CYLINDER_^1_(ENQ_$0_0SET Q=ZERO FOR READ_^1_(RTJ*_#ABTIO_,READ REQUIRED SPILL TABLE_^1* DO THE UPDATE_^1UPD2_#ENQ_$2_0ENTRY ADD._^1_(LDA*_#(ENTADR),Q_'BATCH-TRACK-ADD ENTRY ADD._^1_(AND-_#NZERO+3_*CLEAR LAST THREE BITS_^1_(STA*_#(ENTADR),Q_^1_(LDA*_#OPCODE_+UPDATE PARAMETER_^1_(ALS_$3_^1_(AND-_#LPMASK+3_)NEW MODE_^1_(INA_$-7_^1_(SAN_$UPD21_^1_(LDA*_#(ENTADR)_^1_€€(ALS_$3_^1_(AND-_#LPMASK+3_)OLD MODE_^1_(EOR*_#(ENTADR),Q_^1_(STA*_#(ENTADR),Q_^1UPD21_"LDA*_#OPCOD1_F08*C1500_^1_(SAZ_$UPD1ST_+IF OPCOD1=0 UPDATE 1 WORD 08*C1500_^1_(ENQ_$1_K08*C1500_^1_(STA*_#(ENTADR),Q_'UPDATE 2ND ENTRY WORD_$08*C1500_^1UPD1ST_!LDA*_#OPCODE_+UPDATE 1ST ENTRY WORD_$08*C1500_^1_(STA*_#(ENTADR)_)STORE IN ENTRY_^1_(SAN_$UPD41_,IF UPDATE VALUE ZERO FUN IS DELETE_^1_€€(LDQ*_#ABTCOR_^1_(LDA-_#1,Q_.DECREMENT NO OF ENTRIES_^1_(INA_$-1_/IN_^1_(STA-_#1,Q_.ABT BY 1_^1UPD22_"SAN_$UPD41_^1* THIS ABT EMPTY. CHECK IF LAST AND CAN BE DELETED_^1UPD3_#LDA-_#2,Q_^1_(SAP_$UPD41_^1* THIS ABT LAST. CHECK IF ALSO FIRST_^1UPD4_#LDA-_#(ZERO),Q_^1_(SUB*_#SPDBAS_^1_(SAN_$UPD5_^1UPD41_"JMP*_#INSAB3_^1* LAST AND NOT FIRST. READ PREVIOUS ABT TO CHECK FOR POSSIBLE DELETI€€ON_^1UPD5_#LDA*_#(ABTCOR)_^1_(SUB*_#SPDBAS_^1_(SUB*_#SECS_^1_(ENQ_$0_^1_(RTJ*_#ABTIO_^1_(LDQ*_#ABTCOR_^1_(LDA-_#ONEBIT+15_^1_(STA-_#2,Q_^1_(LDA-_#1,Q_.GET NO OF ENTRIES_^1_(JMP*_#UPD22_,GO CHECK FOR ZERO_^1_(EJT_^1** FUN C **_^1* INSERT AN ENTRY IN ABT FUNCTION_^1**_]_^1INSABT_!LDQ*_#RETURN_^1_(LDA*_#(RETURN)_^1_(STA*_#OPCODE_^1_(LDA-_#1,Q_^1_(STA*_#ENTADR_^1_(LDQ-_#2,Q_I08*C1500_^€€1_(STQ*_#FTIB_H08*C1500_^1_(SAM_$INSAB1_+IF INSERTION OF A SEV-ENTRY08*C1500_^1*_:THEN-DONT CHECK IF EXIST EQUAL ENTR08*C1500_^1_(RTJ*_#GETENT_^1_(ADC_$RETURN_F06*C1320_^1_(SAZ_$INSAB1_^1_(SET_$A_0YES: SET NEG EXIT CODE TO_^1_(JMP*_#SPILL3_+INDICATE THIS_^1* SEARCH FOR AN EMPTY SLOT IN ABT_^1INSAB1_!LDA*_#(ABTCOR)_)IF FIRST ABT IN CORE_^1_(SUB*_#SPDBAS_^1_(SAZ_$INSB11_+SKIP_^1_(CLR€€_$A,Q_.ELSE_^1_(RTJ*_#ABTIO_,READ IT DOWN_^1*_]_^1INSB11_!RTJ*_#GETENT_+SEARCH FOR EMPTY SLOT_^1_(ADC_$TWOTWO_F06*C1320_^1_(SAN_$INSAB2-*-1_^1_(JMP*_#SPILL3_+IF NONE ERROR EXIT_^1INSAB2_!LDA*_#OPCODE_+STORE ENTRY PARAMETERS_^1_(STA-_#(I)_.IN ABT (ADDRESS IN I)_^1_(LDA*_#ENTADR_^1_(STA-_#1,I_^1_(LDA*_#FTIB_^1_(STA-_#2,I_^1* INCREASE NO OF ENTRIES IN THIS ABT_^1_(LDQ*_#ABTCOR_^1_(RAO€€-_#1,Q_^1INSAB3_!ENQ_$1_0WRITE AWAY CURRENT ABT_^1_(LDA*_#(ABTCOR)_^1_(SUB*_#SPDBAS_^1_(RTJ*_#ABTIO_^1_(JMP_$SPILL2_F08*C1500_^1TWOTWO_!ADC_$ZERO_H06*C1320_^1_(EJT_^1* SET UP READ/WRITE ABT CALL_^1*_]_^1* PARAMETER: A=SECTOR NO IN ABT CYLINDER_^1*_]_^1* IF Q=ZERO READ - IF Q=1 WRITE_^1*_]_^1_(EQU_$REDSEC($A7)_^1_(EQU_$RPINCR(SST+13)_^1*_]_^1_(BZS_$ABTCOR,SPDBAS_^1*_]_^1*_]_^1ABTIO_€€"NUM_$0_^1_(ADD*_#SPDBAS_^1_(STA*_#SECTOR_^1_(LDA*_#ABTCOR_+ABT IS I/O BUFFER_^1_(STA*_#COREAD_^1_(LDQ-_#REDSEC,Q_)GET READ/WRITE ADDRESS_^1_(LDA-_#SST+ATT_*CURR ATT ADDR TO I_^1_(STA-_#I_^1_(RAO-_#RPINCR_^1_(RTJ-_#(ZERO),Q_)PERFORM READ/WRITE_^1COREAD_!NUM_$0_0CORE ADDR_^1SECTOR_!NUM_$0_0DISK ADDR_^1SECS_#ADC_$SIABTS_+NO OF SECTORS_^1LUN_$NUM_$0_1LUN_^1_(JMP*_#(ABTIO)_^1*_]_^1_(EJ€€T_^1* GET ENTRY SUBROUTINE_^1*_]_^1* PARAMETER: ADDR OF SPILL'S PARAMETER LIST_^1* IF THE ENTRY SOUGHT IS NON-ZERO IT IS MOVED TO USER,S AREA_^1* ON EXIT ADDR OF ENTRY IS IN A AND I._^1*_]_^1_(BZS_$JJJ,ORIG,SECCYL,INDEX_^1_(BZS_$LFLAG_^1_(EQU_$KX0FFF($E)_^1_(BZS_$TEMP(1)_^1GETENT_!NUM_$0_^1_(LDQ*_#(GETENT)_D06*C1320_^1_(LDA-_#(ZERO),Q_D06*C1320_^1_(STA*_#TEMP_^1_(LDA*_#(TEMP)_+GET €€JOB NO_^1_(AND-_#LPMASK+8_^1_(STA*_#JJJ_^1_(ENQ_$1_^1_(LDA*_#(TEMP),Q_^1_(AND_$=N$CFFF_*SEV PARMS+BATCH NO._'08*C1500_^1_(STA*_#BBBSEV_F08*C1500_^1_(AND-_#KXFFF_^1_(STA*_#BBB_/+ BATCH NO._^1_(RTJ*_#SCAB_-SCAN CORE ABT_^1_(SAZ_$GETEN4-*-1_'EXIT IF DOUND WITH ADDR IN 'A' + 'I'_^1GETEN1_!LDA-_#I_0EXIT WITH ENTRY ADDR IN 'I' % 'A'_^1GETEN3_!RAO*_#GETENT_^1_(JMP*_#(GETENT)_^1* INITIALIS€€E SPILL TABLES SCAN_^1GETEN4_!LDA*_#(ABTCOR)_)SAVE SECTOR-IN-CYL_^1_(SUB*_#SPDBAS_^1_(STA*_#ORIG_-OF CURRENT ABT_^1_(ENQ_$2_0SET LAST TABLE FLAG_^1_(LDA*_#(ABTCOR),Q_'FOR CURRENT TABLE_^1_(STA*_#LFLAG_^1_(ENA_$0_0SET SECTOR IN CYL=ZERO_^1GENT41_!STA*_#SECCYL_^1_(EJT_^1*_]_^1* READ + SCAN LOOP_^1*_]_^1* IF NEXT SECTOR TO BE READ IS ONE WHICH WAS ORIGINALLY IN CORE_^1_(SUB*_#ORIG_^1€€_(SAZ_$GETN43_^1GETN4A_!LDA*_#SECCYL_+GET SECTOR NO._^1_(ENQ_$0_^1_(RTJ*_#ABTIO_,READ AN ABT_^1GENT42_!RTJ*_#SCAB_-SCAN ABT FOR THEM_^1_(SAZ_$GETEN6-*-1_^1_(JMP*_#GETEN1_+IF FOUND EXIT FROM LOOP_^1GETN43_!LDA*_#LFLAG_,CHECK IF ORIG. TABLE WAS LAST TABLE._^1_(SAP_$GETN6A_+IF NOT GET NEXT TABLE_^1_(LDA*_#JJJ_.IF LAST AND JOB NOT ZERO ENTRY NOT_^1_(SAN_$GETN61_+LOCATED._^1_(JMP*_#GETN€€4A_+ELSE READ ORIG TABLE._^1GETEN6_!LDQ*_#ABTCOR_+CHECK IF ALREADY_^1_(LDA-_#2,Q_^1_(SAM_$GETN60_+ON LAST ABT_^1GETN6A_!LDA*_#SECCYL_+NO: STEP UP TO READ NEXT ABT_^1_(ADD*_#SECS_^1_(JMP*_#GENT41_^1* TRY TO GET NEW SPILL TABLE IF SPACE FOR INSERTION SOUGHT_^1GETN60_!LDA*_#JJJ_.IF JOB NO=ZERO_^1_(SAZ_$GETN62_+TRY TO GET NEW SPILL TABLE_^1GETN61_!CLR_$A_0ELSE GIVE UP_^1_(JMP*_#GETEN3_€€+AND EXIT_^1GETN62_!LDA*_#(ABTCOR)_)SAVE DISK ADDR OF CURR ABT_^1_(ADD*_#SECS_^1_(ADD*_#SECS_.CALCULATE END OF NEXT ABT AND_^1_(INA_$-1_^1_(SUB_$=XSISPLE_)ENSURE LESS THAN END OF SPILL CYL_^1_(SAM_$GETN63_^1_(JMP*_#GETN61_+AT END: GIVE UP AND EXIT_^1*_]_^1* SET CURRENT ABT AS NOT LAST AND WRITE AWAY_^1GETN63_!ENA_$0_^1_(STA-_#2,Q_^1_(LDA*_#(ABTCOR)_^1_(SUB*_#SPDBAS_^1_(ENQ_$1_^1_(R€€TJ*_#ABTIO_^1* GENERATE NEW SPILL TABLE_^1_(LDQ*_#ABTCOR_^1_(STQ-_#I_^1_(LDA-_#(ZERO),Q_)SET UP SECTOR ADDR OF NEW SPILL_^1_(ADD*_#SECS_-TABLE_^1_(STA-_#(ZERO),Q_^1_(ENA_$0_0SET NO OF ENTRIES=ZERO_^1_(STA-_#1,Q_^1_(LDA-_#ONEBIT+15_(SET LAST ABT INDICATOR_^1_(STA-_#2,Q_^1* CLEAR ABT BAR 3 FIRST WORDS_^1_(LDQ*_#LENGTH+1_)GET NO OF WORDS IN AB3_^1_(INQ_$-3_^1_(ENA_$0_0SET A=ZERO_^1CLR€€_$STA-_#2,B_.CLEAR FROM I+2+Q_^1_(INQ_$-1_^1_(SQZ_$CLROUT_^1_(JMP*_#CLR_^1*_]_^1CLROUT_!JMP*_#GENT42_+WHEN FINISHED SCAN ABT AS USUAL_^1_(BZS_$BBB,BBBSEV_B08*C1500_^1_(BZS_$NXTB,DISTB_'NEXT BATCH NO. AND BATCH DISTANCE_^1_(BZS_$TABENT(3)_^1_(EJT_^1* SCAN ABT*_^1*_]_^1* PARAMETERS: NONE.JOB NO IN JJJ: BATCH NO IN BBB_^1* OUTPUT IN 'A'. ADDRESS OF SOUGHT ENTRY OR IF ZERO ENTRY NOT FO€€UND_^1*_]_^1* IF THE ENTRY SOUGHT HAS BEEN FOUND THEN ITS INDEX VALUE IS LEFT IN IND_^1*_]_^1_(EQU_$MINUS1($33),KXFFF($E)_^1SCAB_#NUM_$0_^1_(ENQ_$0_0INITIALISE INDEX=ZERO_^1_(STQ*_#INDEX_^1_(LDQ*_#ABTCOR_^1_(STQ-_#I_^1LENGTH_!LDQ_$=XSIABTW_)PLACE ABT MAX WORD COUNT IN Q_^1_(JMP*_#SCAB4_,SKIP 3 HEADER WORDS_^1* SCAN ABT LOOP COUNT_^1SCAB2_"LDA-_#(ZERO),I_)GET JOB NO FROM ABT_^1_(AND€€-_#LPMASK+8_^1_(SUB*_#JJJ_.SUBTRACT REQUIRED JOB NO_^1_(SAZ_$SCAB3-*-1_(IF SAME COMPARE BATCH NOS_^1_(JMP*_#SCAB4_,ELSE TRY NEXT ENTRY_^1SCAB3_"ADD*_#JJJ_.IF JOB NO DONT COMPARE BATCHES_^1_(SAZ_$SCAB37_^1_(LDA*_#BBB_.IF BATCH NO IS FFF THEN FUNCTION IS_^1_(EOR-_#KXFFF_,TO CHECK IF JOB ACTIVE I.E. IF THERE_^1_(SAN_$1_0ARE ANY BATCHES FOR THE JOB._^1SCAB37_!JMP*_#SCAB31_^1_(LDA-_#1,I€€_^1_(AND-_#KXFFF_^1_(SUB*_#BBB_^1_(SAN_$ON_^1_(LDA*_$BBBSEV_(SPECIFIC SEV ENTRY_*08*C1500_^1_(SAP_$SCABOK_+NO-_708*C1500_^1_(LDA-_#I_0YES-CHECK ACTUAL ENTRY_#08*C1500_^1_(RTJ*_#SPILSR_/BY SPILSR_-08*C1500_^1_(NUM_$0_3(ENTRY ADDR IN A)_%08*C1500_^1_(EOR*_#BBBSEV_+IS ENTRY IS REQUESTED ENTRY08*C1500_^1_(SAN_$SCAB38_+NO(DONT SAVE DISTANCE HERE)08*C1500_^1_(STA*_#DISTB_G08*C1500_^1_(LD€€A-_#1,I_I08*C1500_^1_(SAP_$SCAB36_F08*C1500_^1SCABOK_!CLR_$Q_0FOUND ENTRY_/08*C1500_^1_(JMP*_#SCAB36_^1ON_%SAM_$SCAB38_^1_(SUB*_#DISTB_,IF BATCH NO. G.T BBB_^1_(SAM_$1_0AND BATCH NO. - BBB L.T DISTB_^1SCAB38_!JMP*_#SCAB4_^1_(ADD*_#DISTB_,THEN UPDATE NEXTB AND DISTB_^1_(STA*_#DISTB_^1SCAB36_!LDA-_#(I)_^1_(STA*_#TABENT_^1_(LDA-_#1,I_^1_(STA*_#TABENT+1_^1_(LDA-_#2,I_^1_(STA*_#TABENT+2€€_^1_(SQZ_$SCAB31_^1_(LDA_$(ABTCOR)_^1_(SUB_$SPDBAS_^1_(ALS_$8_^1_(ADD_$INDEX_^1_(STA*_#NXTB_^1_(JMP*_#SCAB4_^1SCAB31_!LDA-_#I_0EXIT WITH ENTRY ADDR IN A_^1_(JMP*_#(SCAB)_^1SCAB1_"CLR_$A_0ENTRY NOT FOUND: EXIT WITH A ZERO_^1_(JMP*_#(SCAB)_^1* STEP UP TO NEXT ABT ENTRY_^1SCAB4_"INQ_$-3_/DECREMENT ABT WORD COUNT_^1_(RAO_$INDEX_,INCREMENT INDEX_^1_(SQN_$SCAB5-*-1_(IF ZERO_^1_(JMP*_#SCA€€B1_,GO TO ERROR EXIT_^1SCAB5_"LDA-_#I_0ELSE STEP TO NEXT ENTRY_^1_(INA_$3_^1_(STA-_#I_^1_(JMP*_#SCAB2_^1_(EJT_R08*C1500_^1* SPILSR - SUBROUTINE WHICH CHECKS A GIVEN ABT ENTRY AND EXITS 08*C1500_^1*_$WITH A WORD WHICH CAN BE THE 2ND PARAMETER WORD FOR_#08*C1500_^1*_%SEARCH A SPECIFIC ABT ENTRY OF A SEV BATCH_,08*C1500_^1*_]08*C1500_^1*_$CALLING SEQUENCE:_#RTJ+ SPILSR_508*C1500_^1*_€€;ADC *-ENTADR_408*C1500_^1*_%WHERE *-ENTADR IS THE DISTANCE BETWEEN ADC AND THE ABT 08*C1500_^1*_%ENTRY TO BE ANALYSED._A08*C1500_^1*_%IF ENTADR IS PHYSICALLY AFTER THE RTJ,_008*C1500_^1*_%SPECIFY THE ADC AS FOLLOWS:_;08*C1500_^1*_;ADC (*-ENTADR)_308*C1500_^1*_(IF ADC =0000 THE ACTUAL ENTRY ADDR(NOT DISPLACEMENT) 08*C1500_^1*_%MUST BE IN A REGISTER WHEN ENTERING SPILSR._+08*C1500_€€^1*_$EXIT: A CONTAINS_!B15=0 IF MODE=COMP;WRIT_-08*C1500_^1*_;=1 ELSE_:08*C1500_^1*_8B14=0 IF MODE=ENTR;WAIT;EFRZ_'08*C1500_^1*_;=1 IF MODE=VERI;VFRZ(EVEN IF MAIN)08*C1500_^1*_8B11-B0 = BATCH NO (BCD)_-08*C1500_^1***************************************************************08*C1500_^1SPILSR_!NUM_$0_K08*C1500_^1_(STQ*_#SRSAV_,SAVE Q_408*C1500_^1* ******************* FIND ENTRY AD€€DRESS_608*C1500_^1_(TRA_$Q_K08*C1500_^1_(LDA*_#(SPILSR)_)LOAD PARAMETER_,08*C1500_^1_(SAZ_$SRQOK_,ENTRY ADDR-WAS GIVEN IN A 08*C1500_^1_(LDA*_#SPILSR_F08*C1500_^1_(SUB*_#(SPILSR)_)CALCULATE ENTRY ADDR_%08*C1500_^1_(TRA_$Q_0(=BASE -DISPL)_,08*C1500_^1* ******************* CHECK ENTRY MODE_808*C1500_^1SRQOK_"LDA-_#(ZERO),Q_D08*C1500_^1_(ALS_$3_K08*C1500_^1_(AND-_#LPMASK+3_D08*C1500_€€^1_(INA_$-7_J08*C1500_^1_(SAN_$SRCHKA_F08*C1500_^1_(LDA-_#2,Q_.MAINTENANCE_/08*C1500_^1_(AND-_#LPMASK+3_D08*C1500_^1_(INA_$-7_J08*C1500_^1SRCHKA_!STA*_#SRSAV1_F08*C1500_^1_(LDA-_#1,Q_I08*C1500_^1_(AND-_#LPMASK+12_C08*C1500_^1_(LDQ*_#SRSAV1_(***PREPARE EXIT PARAMETER_#08*C1500_^1_(INQ_$7-3_I08*C1500_^1_(SQM_$SRENT_,ENTR;WAIT;EFRZ_,08*C1500_^1_(INQ_$3-5_I08*C1500_^1_(SQM_$SRVER_,VERI€ ;VFRZ_108*C1500_^1_(JMP*_#SREXIT_+NOT ENTRY % NOT VERIFY_#08*C1500_^1SRVER_"EOR-_#ONEBIT+14_C08*C1500_^1SRENT_"EOR-_#ONEBIT+15_C08*C1500_^1SREXIT_!LDQ*_#SRSAV_G08*C1500_^1_(RAO*_#SPILSR_F08*C1500_^1_(JMP*_#(SPILSR)_D08*C1500_^1_(BZS_$SRSAV,SRSAV1_@08*C1500_^1_(END_^__ PSTJ CSY/ P€1_%NAM STJ_*DECK-ID A61 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* SPECIAL TEST JUMP TABLE_^1_(EXT_$CDVNUM_^1_(ENT_$STJLNG_^1*_]_^1STJLNG_!VFD_$X8/ECDV-STJLNG,X8/ESTJ-STJLNG-1_^1ST01_#ADC_$CDVNUM_+MOD=7_^1ST02_#ADC_$CDVNUM_+MOD=9_^1ST03_#ADC_$€€CDVNUM_+MOD=10_^1ST04_#ADC_$CDVNUM_+MOD=11_^1_(EQU_$ECDV(*)_^1*_]_^1* INSERT SPECIAL TEST ENTRY POINTS HERE IN THE WAY SHOWN BELOW_^1*_]_^1*_'ADC_$SPTXX_-SPECIAL TEST XX ENTRY POINT NAME_^1*_'EXT_$SPTXX_^1*_]_^1* BINARIES OF THE SPECIAL TEST SHOULD BE INSERTED AT THE END OF THE_^1*_]_^1* VALIDATA PROCESSING SECTION TOOTHER WITH THE NEWLY ASSEMBLED_^1*_]_^1* VERSION OF THIS PROGRAM.€€_^1*_]_^1ST05_#ADC_$SPT05_^1_(EXT_$SPT05_^1ST06_#ADC_$SPT06_^1_(EXT_$SPT06_^1ST07_#ADC_$SPT07_^1_(EXT_$SPT07_^1ST08_#ADC_$SPT08_^1_(EXT_$SPT08_^1ST09_#ADC_$SPT09_^1_(EXT_$SPT09_^1ST10_#ADC_$SPT10_^1_(EXT_$SPT10_^1ST11_#ADC_$SPT11_^1_(EXT_$SPT11_^1ST12_#ADC_$SPT12_^1_(EXT_$SPT12_^1ST13_#ADC_$SPT13_^1_(EXT_$SPT13_^1ST14_#ADC_$SPT14_^1_(EXT_$SPT14_^1ST15_#ADC_$SPT15_^1_(EXT_$SPT15_^1*€D_]_^1* ADD NEW TESTS IN SEQUENCE_^1*_]_^1_(EQU_$ESTJ(*)_^1_(END_^__ DPSUPER CSY/ P€1_%NAM SUPER_(DECK-ID A36 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_!SUPER IS THE DISPATCHING PROGRAM FOR SUPERVISOR FUNCTIONS_^1*_!THERE ARE 2 ENTRY POINTS- SV AND REJSUP_^1*_]_^1*_!SV-CALLED FROM MINT(I IS SET TO ATT O),SV CHECKS_^1*_!IF €€THE SUPERVISOR IS ALREADY OPERATING(F OR PF LOCKED)._^1*_!IF THE SUPERVISOR IS LOCKED, A MSG IS PRINTED AND THE PGM EXITS._^1*_!OTHERWISE, -SV- IS PRINTED, AN INPUT BUFFER IS ALLOCATED IF_^1*_!REQUIRED, AND A SUPERVISOR CMD IS INPUT. IF THERE WERE NO INPUT_^1*_!ERRORS, CONTROL IS PASSED TO DSKSUP, WHERE THE COMMAND IS CHECKED._^1*_!SV IS ALSO USED AS A RETURN POINT FOR ALL SUPERVIS€€OR FUNCTIONS,SO_^1*_!BEFORE JUMPING TO SV, F AND PF LOCKS MUST BE CLEARED._^1*_]_^1*_]_^1*_!REJSUP-PRINTS ERROR MESSAGES FOR SUPERVISOR FUNCTIONS.WHEN TAKING_^1*_!AN ERROR EXIT, SUP FUNCTIONS JUMP TO REJSUP WITH A=MSG INDEX._^1*_!IF A= -0, NO MESSAGE IS PRINTED. LOCKS ARE CLEARED AND THE PGM_^1*_!JUMPS TO SV._^1*_]_^1*_!BOTH REJSUP AND SV CALL EXDFUN FOR THE SUPERVISOR FUNCTIONS._€€^1*_]_^1*_!FROM THE POINT OF VIEW OF SUPER ANY TERMINAL CAN BE A SUPERVISOR._^1*_!TERMINAL 0 IS HANDLED AS A SPECIAL CASE_^1*_]_^1_(EJT_^1*** ATT EQUATES***_^1*_]_^1_(EQU_$FUNIDX(21),TRMNT(23),AINT(27),SUPIN(36)_^1_(EQU_$SUPLST(37),STDIN(39),STDLST(40),DELAYC(46),SVTMP1(46)_^1_(EQU_$RQ(65),THREAD(2)_^1*_]_^1*** SST,TRANSFER VECTORS_^1*_]_^1_(EQU_$SST($47),ATTB(10)_^1_(EQU_$STEMP(20€€)_^1_(EQU_$STACKL(8),ENTR(79)_:06*C1320_^1_(EQU_$CLCDWA($90),SUPRW($97),ENTPRG($9E),EXDFUN($9F)_^1_(EQU_$DISPLY($A0),RELFOR($AD)_^1_(EQU_$REDDWA($A9),CAM($AE),WAIT($B0),DISPCH($EA)_^1_(EQU_$ENTSR($91),EXTSR($92)_^1*_]_^1***GENERAL EQUATES_^1*_]_^1_(EQU_$RP(5),CP(5)_%REQUEST,COMPLETION PRIORITIES_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23)_^1_(EQU_$FR(2),FW(3)_^1_(EQU_$EDPGM€€(3)_)WD IN PHYSTAB W/ADDR OF ERR PGM_^1_(EQU_$DELAYS(300)_%LGTH OF TIMEOUT_+03*C1043_^1_(EQU_$LMSG(16)_)NO. OF WDS IN AN ERROR MSG_^1*_]_^1*_]_^1_(ENT_$SV,REJSUP_^1_(ENT_$PRTMSG_^1_(ENT_$SUPTHD_+THREAD OF READ REQUEST_#06*C1300_^1*_]_^1_(EXT_$SETDIS,GETBUF_^1_(EXT_$CSRATE,LOG1A,SIREJM_^1_(EXT_$CLRFLD_^1_(EXT_$DSUP_^1_(EXT_$ABSADD_F06*C1320_^1*_]_^1_(EJT_^1SV_%LDA-_#(I)_.(I POINTS T€€O SUP ATT)_^1_(AND_$=N$6000_*F AND PF LOCKS_^1_(SAZ_$SVOK_^1SVBUSY_!FWRITE_!$FC,,SVMSG,5,A,RP,CP,I,,1_306*C1320_^1_(JMP-_#(DISPCH)_)-SV-BUSY--EXIT_^1*_]_^1*_]_^1SVOK_#LDA-_#FUNIDX,I_^1_(AND-_#LPMASK+15_(IF THE FUNCTION INDEX IS NON-ZERO,_^1_(SAZ_$1_^1_(RTJ-_#(EXDFUN)_)CLEAR THE DISK FUNCTION_^1*_]06*C1369_^1_(CLR_$A_^1_(ENQ_$-STACKL+1_^1LOOP_#STA-_#ENTR+STACKL-1,B_!CLEAR ENT/EXT ST€€ACK_^1_(SQZ_$2_^1_(INQ_$1_^1_(JMP*_#LOOP_^1_(RTJ-_#(WAIT)_+GET SUPERVISOR IN SYNCH_^1*_]_^1*_]_^1***INPUT A COMMAND***_^1*_]_^1TCHK_#ENA_$80_^1_(RTJ_$GETBUF_,ALLOCATE INT BUFFER_^1_(LDQ-_#AINT,I_^1_(ENA_$1_0CLEARS COMPLETION CODE_^1_(STA-_#2,Q_^1_(LDA-_#(I)_/GET CURRENT TERMINAL NUMBER_^1_(AND-_#LPMASK+6_^1_(SAZ_$RTTY_^1_(JMP*_#RVLTRM_+IF TERM NO. NOT ZERO,READ W/SUPRW_^1*_]_^1*_!*€€**TERMINAL 0***_^1*_]_^1*_]_^1**GET AREA FOR INPUT BUFFER_^1*_]_^1RTTY_#ENQ_$FW_^1_(RTJ+_#ABSADD_F06*C1320_^1_(RTJ-_#(SUPRW)_^1_(ADC_$SVMSG_,WRITE -SV-MSG_^1_(NUM_$3_^1_(RTJ_$SETIO_^1_%LDA- TRMNT,I_K06*C1369_^1_%AND- LPMASK+14_I06*C1369_^1_%STA- TRMNT,I_K06*C1369_^1_(LDA-_#SUPIN,I_*SETUP FREAD-_^1_(ADD-_#ONEBIT+12_,INSERT SUPERVISOR LOGICAL_^1_(STA*_#LUWD_6INPUT UNIT_^1_(LDA-_#AINT€€,I_/INSERT ADDRESS OF DATA PORTION_^1_(INA_$4_9OF INTERROGATE BUFFER_^1_(STA*_#ADBUF_^1_(LDA-_#(I)_.SET FUNCTION LOCK_^1_(EOR-_#ONEBIT+14_^1_(STA-_#(I)_^1_(SET_$A_0SET SUPERVISOR THREAD DURING READ_^1_(STA-_#RQ+THREAD,I_^1_(RTJ-_#($F4)_^1_(VFD_$X4/4,X4/8,X4/RP,X4/CP_706*C1320_^1_(NUM_$0_0NO COMPLETION ADDRESS_^1SUPTHD_!NUM_$0_K06*C1300_^1LUWD_#ADC_$0_^1NWDS_#NUM_$40_^1ADBUF_"ADC_$0€€_^1*_]_^1_(LDA-_#SUPIN,I_*IF SUPIN=STD INPUT COMMENTS DEVICE,_^1_(SUB-_#$FD_.SETUP TO START COUNTDOWN OF DELAYC_^1_(SAZ_$DEL_^1_(ENA_$-1_/SET UP LONGEST COUNTDOWN IF UNIT_^1_(JMP*_#STORIT_+NOT TTY_^1*_]_^1* IF THE STANDARD INPUT COMMENTS DEVICE IS BEING USED_^1* THE SUPERVISOR IS GIVEN "DELAYS" SECONDS TO COMPLETE_^1* COMMAND ENTRY.IF A COMMAND IS NOT ENTERED IN THE GIVEN_^1* T€€IME, THE INPUT DEVICE IS RELEASED._^1*_]_^1* NOTE: THE INPUT COMMENTS DEVICE SHOULD HAVE A DUMMY ALTERNATE._^1*_]_^1DEL_$LDA_$=XDELAYS_^1_(MUI_$=XCSRATE_^1STORIT_!STA-_#DELAYC,I_)= DELAY IN SEC X INTERRUPT/SEC_^1*_]_^1DELAYL_!LDA*_#SUPTHD_+CHECK FOR THD WORD =0_$06*C1300_^1_(SAN_$1_^1_(JMP*_#CA1_.THD=0:READ COMPLETED_^1_(LDA-_#DELAYC,I_)THD NOT 0; DECREMENT DELAYC_^1_(INA_$-1_/IF €€NON-ZERO, JUMP TO WAIT TO_^1_(STA-_#DELAYC,I_)SHEDULE RETRY_^1_(SAZ_$TMOVER_^1_(RTJ-_#(WAIT)_^1_(JMP*_#DELAYL_^1*_]_^1*_]_^1TMOVER_!LDQ-_#AINT,I_^1_(RTJ-_#(RELFOR)_*RELEASE INT BUFFER_^1_(LDA-_#(I)_^1_(AND*_#FPFMSK+1_^1_(STA-_#(I)_^1_(CLR_$A_0CLEAR THREAD WORD IN ATT_^1_(STA-_#RQ+THREAD,I_^1_(LDQ-_#STDLST,I_)RESTORE LOGICAL UNITS_^1_(STQ-_#SUPLST,I_^1_(LDQ-_#STDIN,I_^1_(STQ-_#SUPIN€€,I_*DISPLAY TIMED OUT BEFORE COMPLETE_^1_(LDQ+_#LOG1A,Q_*CMD WAS ENTERED. SCHEDULE DIAGNOSTIC_^1_(LDA-_#(ZERO),Q_)TIMER FOR SUPIN,I (ALT UNIT WILL BE_^1_(STA*_#SCH1_-SCHEDULED, KILLING THE CURRENT_^1_(LDA-_#EDPGM,Q_*READ REQUEST)_^1_(STA*_#SCH2_^1*_]_^1_(RTJ-_#($F4)_^1SCH1_#NUM_$0_^1SCH2_#NUM_$0_^1_(JMP-_#(DISPCH)_^1*_]_^1***COMPLETION OF FREAD_^1*_]_^1*_]_^1*CHECK FOR ERRORS_^1CA1€€_$CLR_$A_^1_(STA-_#RQ+THREAD,I_^1_(LDA*_#LUWD_-ERR BIT SET?_^1_(SAM_$INPER_^1_(STA-_#SVTMP1,I_)NO ERR-SAVE FLAGS FOR DISK RES PART_^1_(JMP*_#COMEXT_+GO ON TO DISK RESIDENT ROUTINE_^1*_]_^1INPER_"LDA-_#STDIN,I_*RESTORE INPUT,LIST UNITS TO STD_^1_(STA-_#SUPIN,I_*VALUES_^1_(LDA-_#STDLST,I_^1_(STA-_#SUPLST,I_^1_(ENQ_$FW_/PRINT ERROR MESSAGE_^1_(RTJ+_#ABSADD_F06*C1320_^1_(RTJ-_#(SUPRW)_€€^1_(ADC_$INERR_^1_(NUM_$8_^1CLRLCK_!LDA-_#(I)_^1FPFMSK_!AND_$=N$9FFF_*CLEAR F,PF LOCK_^1_(STA-_#(I)_^1_(JMP*_#SV_/RETURN TO START_^1*_]_^1*_]_^1*_!***TERMINAL NOT ZERO***_^1*_]_^1RVLTRM_!ENA_$1_0SET MODE TO INTERROGATE_^1_(RTJ-_#(DISPLY)_^1_(ADC_$SETDIS_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DSUP_^1_%LDA- TRMNT,I_K06*C1369_^1_%AND- LPMASK+14_I06*C1369_^1_%STA- TRMNT,I_K06*C1369_^1_(ENQ_$FR_^1€€_(RTJ-_#(SUPRW)_^1_(ADC_$0_0READ INTO INTERROGATE BUFFER_^1_(NUM_$24_^1*_]_^1*CHK IF READ WAS OK_^1*_]_^1_(SQP_"RDOK_^1_(JMP*_#INPER_^1RDOK_#STQ-_#SVTMP1,I_^1_(LDQ-_#AINT,I_^1_(LDA-_#2,Q_^1_(AND-_#NZERO+8_*ISOLATE TERMINATION INDICATOR_^1_(SAZ_$COMEXT_+TERMINATION CHAR WAS RELEASE_^1_(SUB-_#ONEBIT+8_)CHECK FOR CANCEL_^1_(SAZ_$1_^1_(JMP*_#INPER_,CANCEL,UNDERFLOW,OVERFLOW_^1_(RTJ-_#(€€DISPLY)_)CANCEL KEY-CLEAR DISPLAY AND EXIT_^1_(ADC_$CLRFLD_^1_(JMP_$SV_^1*_]_^1***LOAD DISK RESIDENT PORTION_^1*_]_^1COMEXT_!LDQ_$=N$0207_*7 MIS. IF NO CORE,ERROR_"06*C1310_^1_(CLR_$A_^1_(RTJ-_#(ENTPRG)_^1*_]_^1***ERROR RETURN-A CONTAINS MSG CODE_^1*_]_^1REJSUP_!STA-_#SVTMP1,I_^1_(LDQ-_#STDIN,I_*RESTORE STD SUPERVISOR UNITS_^1_(STQ-_#SUPIN,I_^1_(LDQ-_#STDLST,I_^1_(STQ-_#SUPLST,I_^1€€_(SAP_$1_^1_(JMP*_#CLRLCK_+A WAS FFFF - NO MSG_^1_(LDA-_#FUNIDX,I_)WAS THERE A FUNCTION TO CLEAR?_^1_(AND-_#LPMASK+15_^1_(SAZ_$1_^1_(RTJ-_#(EXDFUN)_)RELEASE THE LAST FUNCTION_^1_(LDA-_#SVTMP1,I_^1_(RTJ*_#PRTMSG_^1_(JMP*_#CLRLCK_^1*_]_^1PRTMSG_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(STA-_#SST+STEMP_^1_(ENA_$LMSG_^1_(MUI-_#SST+STEMP_^1_(TRA_$Q_^1_(LDA_$=XSIREJM_)SIREJM=SECTOR ADDR OF MSG TABLE€€_^1_(RTJ-_#(CLCDWA)_)CALCULATE DISK WD ADDR_^1_(STQ*_#DWD1_-SAVE DISK WD ADDR_^1_(STA*_#DWD2_^1_(ENA_$80_^1_(RTJ_$GETBUF_+ALLOCATE INPUT BUFF_^1_(INQ_$4_^1_(STQ*_#BUFADR_^1_(RTJ*_#SETIO_^1***_]_^1_(RTJ-_#(REDDWA)_^1BUFADR_!NUM_$0_0BUFFER ADDR_^1DWD1_#NUM_$0_0DISK WD ADDR_^1DWD2_#NUM_$0_^1NWDR_#ADC_$LMSG_-MSG LENGTH_^1_(NUM_$0_0SYS LOGICAL UNIT_^1_(RTJ*_#CLIO_^1*_]_^1***WRITE ERROR €€MESSAGE***_^1*_]_^1_(ENQ_$FW_^1_(RTJ-_#(SUPRW)_^1_(NUM_$0_^1_(ADC_$LMSG_^1_(JMP-_#(EXTSR)_^1*_]_^1*_]_^1CLIO_#NUM_$0_0CLEAR INT BUF I/O BIT_^1_(LDQ-_#AINT,I_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+15_^1_(STA-_#1,Q_^1_(JMP*_#(CLIO)_^1*_]_^1SETIO_"NUM_$0_0SET INT BUF I/O BIT_^1_(RTJ*_#CLIO_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(JMP*_#(SETIO)_^1*_]_^1SVMSG_"ALF_$5, -SV- BUSY_^1INERR_"ALF_$8, SV€ INPUT ERROR_^1_(END_^__PVLINT CSY/ P€1_%NAM VLINT_(DECK-ID A29 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(ENT_$VLINT_^1_(ENT_$CRTFLG_+FLAG FOR CRITICAL AREA_#07*C1413_^1_(ENT_$L5FLAG_+FLAGS VL2CRT AT LEVEL 5_"07*C1413_^1_(ENT_$INT50_,NORMAL RETURN FROM VL2CRT 07*C1413_^1*_'THIS €€IS THE PROCESSOR OF THE VALIDATA INTERRUPT-SCHEDULES_^1*_'TIMINT GOES TO INPUT ROUTINE ONCE EVERY 4 INTERRUPTS,AND GOES_^1*_$EVENTUALLY (THREAD NE $FFFF ) TO VL2CRT._0P1*H0017_^1_%EXT MIBVL_(NO TIMINT TERMINALS_2P0*H0008_^1_%EXT CSRATE,VLINP,MPC,VL2CRT_0(TERMINAL 0)_^1_(RTJ-_#($F4)_,OTHERWHISE SCHEDULE MPC_^1_(ADC_$$5200+5_*ON PRIORITY 5_-06*C1320_^1_(ADC_$MPC_^1_(SQM_$INT60_,CHECK WHETHER SCHEDULING IS OK_^1_(LDA-_#ONEBIT+12_(IF YES, SET MPC BIT_^1_(EOR-_#SST+SLOCK_(IN SLOCK_^1_(STA-_#SST+SLOCK_^1INT60_"JMP-_#(DISP)_+EXIT_^1RJMX_#NOP_$0_^1_(JMP*_#INT12_^1_(END_^__>PVMM CSY/ P€1_%NAM VMM_*DECK-ID A39 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* VMM PROCESSES CHARACTERS ENTERED IN VERIFY MODE_^1* THE PROGRAM EXITS TO CLRSR OR EORVR IF AT EOF AND NO VERIFIABLE_^1* FIELD LEFT IN CURRENT RECORD._^1* IF A MISMATCH OCCURS €€SET CHAR IN 1,I SET IDK AND EXIT TO ERROR_^1* ATEMP IS USED BUT NOT NEEDED OUTSIDE VMM_^1* ATT24 IS USED AS A SWITCH TO INDICATE WHETHER DEOREV IS NEEDED_^1_(ENT_$VMM,VMM1,RVFVER_^1_(ENT_$VMM2_H01*C1002_^1_(ENT_$NOVAL_,ENTRY FROM ERRKEY,CORKEY_!07*C1402_^1_(ENT_$EORTST_^1_(ENT_$GETNZ_G05*C1221_^1_(ENT_$ENDOF1,SETBEG,MATCH_^1_(ENT_$CHKVRY_^1_(EXT_$EORVR,VALDTE,BOFFE,TSTREC,FMTPAR_^€€1_(EXT_$DCAROL,DEOF,DBOF,DEOREV,DBSF,DSPFLD_^1_(EXT_$REGEN_G03*C1041_^1_(EXT_$DCOL_^1_(EXT_$CLRFLD_^1_(EXT_$EMMSKP_MB_^1_(EXT_%CALCDS_E06*C1355_^1_(EXT_%DSKUP_F06*C1355_^1_(EXT_$OCGMON_F07*C1402_^1_(EXT_$FMTPAR_F07*C1402_^1_%EXT CHEKFF_PRV001_^1_(EQU_$CMODE(2),FCNT(3),RCNT(4),MISCH(5),ATRB(6),CURCH(2)_^1_(EQU_$SW3VER(25)_B08*C1500_^1_(EQU_$FDTP(13),ERR2(2)_CB_^1_(EQU_$SW1(19),SW2(€€20),ATEMP(73),RCD(32)_^1_(EQU_$SW3(89)_E08*C1500_^1_(EQU_$SWITC(78)_(OWNCOD/EXT BIT_,07*C1402_^1_(EQU_$SST($47),CFFA(12),ERR5(5)_^1_(EQU_$STEMP(20)_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$ERROR($96),CLRSR($93),DISPLY($A0),GBYTE($94)_^1_(EQU_$ENTSR($91)_B07*C1402_^1_(EQU_$ENTPRG($9E)_A07*C1402_^1_(EQU_$WRTATT($AC)_A01*C1002_^1_(EQU_$SWITCH(24),COUNT(€€36)_^1VMM_$LDA-_#CURCH,I_LB_^1_(AND-_#LPMASK+8_*SAVE CURRENT CHARACTER_^1_(STA-_#ATEMP,I_^1_(LDQ-_#SW2,I_-FIRST NON-ZERO OFF ?_^1_(SQP_$GETNZ_-YES_^1_(JMP*_#TEST_^1GETNZ_"CLR_%A_J06*C1355_^1_(STA*_$FLAG_G06*C1355_^1_(RTJ+_$CALCDS_E06*C1355_^1_(LDQ-_$SST+CFFA_C06*C1355_^1_(LDA-_#1,Q_^1_(TRA_$Q_^1_(AND-_#ONEBIT+5_^1_(SAN_$1_^1_(JMP*_#TEST_^1_(TRQ_$A_^1_(ARS 2_^1_(AND-_#LPMASK+3_D05*C€€1221_^1_(INA_$-1_^1_(SQP_$ALPH_^1_(QLS_$1_^1_(SQP_$ALPH_^1_(SAZ_$SET_^1_(ENQ_$$30_^1_(JMP*_#STORE_^1ALPH_#SAZ_$1_^1SET_$JMP*_#TEST_^1_(ENQ_$$20_^1STORE_"STQ-_#SST+STEMP_^1_(LDA-_#ATEMP,I_^1_(SUB-_#SST+STEMP_^1_(SAN_$NONZ_^1_(JMP*_#TEST_^1NONZ_#LDA-_#SW2,I_G05*C1221_^1_(AND-_#ZROBIT+15_C05*C1221_^1_(EOR-_#ONEBIT+15_(SET FNZ FLAG IF NON-ZERO_!05*C1221_^1_(STA-_#SW2,I_/CHARACTER ENTER€€ED_%05*C1221_^1_(RTJ-_#(GBYTE)_E05*C1221_^1_(SUB-_#SST+STEMP_^1_(SAZ_%NEX_H06*C1355_^1UPDIS LDA* FLAG_N06*C1355_^1_%SAZ JMP_O06*C1355_^1_%LDQ- ATEMP+3,I_I06*C1355_^1_(LDA-_$ATEMP+4,I_B06*C1355_^1_(AND-_$ONEBIT+15_B06*C1355_^1_(EOR*_$FLAG_G06*C1355_^1_(RTJ-_$(DISPLY)_(DISPLAY LEADING ZEROS/BLNKS06*C1355_^1_(ADC_%DSKUP_F06*C1355_^1_(RTJ-_#(DISPLY)_D06*C1355_^1_(ADC_$DCOL_H06*C1355_€€^1JMP_$JMP*_$TEST_G06*C1355_^1*_]06*C1355_^1FLAG_#NUM_%0_J06*C1355_^1*_]06*C1355_^1NEX_$LDA-_$SW2,I_F06*C1355_^1*_]05*C1221_^1_(AND-_#ZROBIT+5_)SET SKIP NEEDED AT EOF FLAG05*C1221_^1_(EOR-_#ONEBIT+5_D05*C1221_^1_(STA-_#SW2,I_^1*_]06*C1355_^1EOFTST_!LDA-_#(SST+CFFA)_IB_^1_(ALS_$8_^1_(AND-_#LPMASK+7_*CHECK FOR EOF_^1_(TCA_$Q_^1_(INQ_$0_^1_(LDA-_#FCNT,I_^1_(AND-_#LPMASK+8_^1_(AAQ_$A_^€€1_(SAP_$MISS1_,AT EOF - MISMATCH OCCURRED 05*C1221_^1_(RAO*_#FLAG_H06*C1355_^1_(RAO-_#FCNT,I_^1_(RAO-_#RCNT,I_,UPDATE POINTERS % CHECK NEXT CHAR_^1_(JMP*_#NONZ_@FOR NON-ZERO_^1*_]_^1TEST_#RTJ-_#(GBYTE)_+GET ENTRY MODE CHARACTER % COMPARE_^1_(SUB-_#ATEMP,I_^1_(SAN_%MISS_NB_^1_(JMP*_$MATCH_MB_^1MISS1_"LDA-_#SW2,I_G05*C1221_^1_(AND-_#LPMASK+15_C05*C1221_^1_(STA-_#SW2,I_G05*C1221_^1_(J€€MP*_#UPDIS_G06*C1355_^1MISS_#LDQ-_#FDTP,I_MB_^1_(ADD-_#ATEMP,I_E06*C1317_^1_(SQP_$UN_/IF IN ENTRY THIS FIELD WAS 06*C1317_^1_(QLS_$1_K06*C1317_^1_(SQP_$UN_/BLANK FILLED, EXIT WITH_"06*C1317_^1_(QLS_$1_K06*C1317_^1_(SQM_$OLD_.INVALID CHARACTER ERROR_"06*C1317_^1_(INA_$-$20_H06*C1317_^1_(SAZ_$ENQ_I06*C1317_^1UN_%JMP*_#UNSIGN_F06*C1317_^1OLD_$INA_#-$30_I06*C1317_^1_(LDQ-_#ATEMP,I_*IF €€THE ENTERED CHAR AND_"04*C1085_^1_(INQ_$-$30_-THE CORRESPONDING ONE IN_!04*C1085_^1_(SQP_$3_0THE TRB ARE BOTH SIGNS OR 04*C1085_^1_(SAM_$UNSIGN_+DIGITS EXIT TO MISMATCH_"04*C1085_^1ENQ_$ENQ_$3_K06*C1317_^1_(JMP-_#(ERROR)_*OR 'SIGN MISSING'_)04*C1085_^1_(SAP_$UNSIGN_6NOT MISMATCH ._(B_^1_(ENQ_$ERR2_OB_^1_(JMP-_#(ERROR)_LB_^1UNSIGN_!LDA-_#ATEMP,I_+MISMATCH :_6B_^1_(STA-_#MISCH,I_2SE€€T IDK_^1_(LDA-_#CMODE,I_8EXIT TO ERROR_^1_(AND-_#ZROBIT+14_^1_(EOR-_#ONEBIT+14_^1_(STA-_#CMODE,I_^1_(ENQ_$ERR5_^1_(JMP-_#(ERROR)_^1*_]_^1MATCH_"RAO-_#FCNT,I_,UPDATE POINTERS_^1_(RAO-_#RCNT,I_^1_(RTJ-_#(DISPLY)_*DISPLAY CHAR. % COLUMN NUMBER_^1_(ADC_$DCAROL_^1EOFVER_!LDA-_#(SST+CFFA)_^1_(ALS_$8_1TEST FOR END OF FIELD_^1_(AND-_#LPMASK+7_^1_(INA_$1_^1_(TCA_$Q_^1_(LDA-_#FCNT,I_^1_(AND-€€_#LPMASK+8_^1_(AAQ_$A_^1_(SAZ_$BNDCHK_MB_^1_(JMP-_#(CLRSR)_+AT END OF FIELD NON_^1BNDCHK_!LDA-_#FDTP,I_^1_(AND-_#ONEBIT+13_^1_(SAN_$3_K05*C1221_^1_(LDA-_#SW2,I_^1_(AND-_#ONEBIT+5_D05*C1221_^1_(SAN_$SETIGN_F05*C1221_^1_(LDQ-_#SST+CFFA_KB_^1_(LDA-_#1,Q_/FORCED SKIP AT EOF ?_,B_^1_(ALS_$7_RB_^1_(SAP_$ENDOF1_MB_^1_(LDQ-_#ATEMP,I_+YES - WAS SIGN ENTERED ?_(B_^1_(INQ_$-$2B_OB_^1_(SQZ_$MA€€YBE_NB_^1_(INQ_$$2B-$2D_LB_^1_(SQN_$SETIGN_MB_^1MAYBE_"ALS_$3_1YES - FIXED KEYING ?_,B_^1_(SAM_$ENDOF1_MB_^1SETIGN_!JMP+_#EMMSKP_,SET IDK % SKIP THROUGH EMM_%B_^1*_]_^1* END OF FIELD - VERIFY MODE_^1*_]_^1*_#CHECKS FOR FORCEDD REVERIFICATION FLAG AND IF NON SETS POINTERS_^1*_$BACK TO BEGINNING OF FIELD._^1*_]_^1*_#CHECKS FOR REVALIDATION, AND IF ON CALLS VALDTE_^1*_]_^1*_#SETS UP N€€EXT VERIFY FIELD ACCORDING TO ATT SWITCH WORDS_^1*_]_^1ENDOF1_!LDA-_#SW2,I_-IF REVALIDATE FLAG SET_^1_(ALS_$2_5CALL VALDTE_^1_(SAP_$1_K07*C1402_^1_(JMP*_#VAL_.REVALIDATE BIT_,07*C1402_^1_(LDA-_#SW3VER,I_D08*C1500_^1_(AND-_#ONEBIT+13_(INTER ERROR_/07*C1402_^1_(SAN_$1_K07*C1402_^1_(JMP*_#NOVAL_G07*C1402_^1*_]07*C1402_^1* FIELD OF INTER FIELD ERROR FLAGED RECORD_407*C1402_^1*_]07*C140€€2_^1*_]07*C1402_^1_(LDA-_#SWITC,I_*CLEAR EXTENSION_+07*C1402_^1_(AND-_#ZROBIT+13_(OWN COD BIT_/07*C1402_^1_(STA-_#SWITC,I_E07*C1402_^1_(LDQ-_#SST+CFFA_D07*C1402_^1_(LDA-_#1,Q_I07*C1402_^1_(AND-_#ONEBIT+10_C07*C1402_^1_(SAZ_$TSTOC_G07*C1402_^1_(LDA-_#SWITC,I_*SET EXTENSION BIT_)07*C1402_^1_(EOR-_#ONEBIT+13_C07*C1402_^1_(STA-_#SWITC,I_E07*C1402_^1_(JMP*_#*+2_I07*C1402_^1_(ADC_$TSTOC_€€G07*C1402_^1_(RTJ-_#(ENTSR)_E07*C1402_^1_(CLR_$A_K07*C1402_^1_(JMP+_#OCGMON_F07*C1402_^1TSTOC_"ENQ_$13_/OWN COD_307*C1402_^1_(RTJ_$FMTPAR_F07*C1402_^1_(SAM_$NOVAL_G07*C1402_^1_(LDQ_$=N$7C00_E07*C1402_^1_(AAQ_$Q_K07*C1402_^1_(CLR_$A_K07*C1402_^1_(RTJ-_#(ENTPRG)_D07*C1402_^1_(JMP*_#NOVAL_^1VAL_$RTJ_$VALDTE_F07*C1402_^1NOVAL_"LDA-_#SW2,I_-IF REVERIFICATION FLAG SET_^1_(AND-_#ONEBIT+14€€_^1_(SAZ_$NORVRY_^1RVFVER_!LDA-_#SW2,I_-CLEAR IT,AND SET POINTERS BACK_^1_(AND-_#ZROBIT+14_^1_(STA-_#SW2,I_-TO BOF_^1_(RTJ*_#SETBEG_^1_(CLR_$A_K05*C1148_^1_(STA-_#ATEMP+1,I_C05*C1148_^1_%RTJ CHKVRY_MP0*H0010_^1_(SAN_$1_^1_(JMP*_#SIGHT_^1_(RTJ-_#(DISPLY)_^1_(ADC_$CLRFLD_^1_(RTJ-_$(DISPLY)_^1_(ADC_$DCOL_^1_(JMP*_#SETFLD_^1*_]_^1NORVRY_!LDA-_#CMODE,I_+PSEUDO VERIFY ?_^1_(AND-_#ONEBIT€€+12_^1_(SAZ_$TST1_^1_(LDQ-_#SW1,I_-YES - CHANGE MODE TO:_^1_(QLS_$3_^1_(LDA-_#CMODE,I_,1.READ IF REPLACE FIELD_^1_(AND-_#ZROBIT+12_^1_(STA-_#CMODE,I_^1_(SQP_$2_^1_(JMP_$TSTREC_,EXIT TO EMM TO TEST FOR EOR_^1_(RTJ*_#SETBEG_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DBSF_.SET POINTERS TO BEGINNING OF FIELD_^1_(JMP-_#(CLRSR)_+DISPLAY % EXIT_^1TST1_#RTJ-_#(DISPLY)_^1_(ADC_$DEOF_^1EORTST_!LDA-_#(SST+C€€FFA)_^1_(AND-_#LPMASK+4_^1_(SAN_$NOEOR_^1VEREOR_!RAO-_#RCD,I_^1*_]05*C1106_^1_(SET_$A_^1_(STA-_#SWITCH,I_^1_(JMP_$EORVR_^1*_]_^1* SET UP NEXT VERIFY FIELD , DEPENDING ON CONDITIONS IN ATT_^1*_]_^1* IF NEXT IS SIGHT VERIFY, DISPLAY AND SET IDK_^1*_]_^1NOEOR_"RTJ_$BOFFE_-ADVANCE POINTERS TO NEXT FIELD_^1VMM1_#LDA-_#FCNT,I_^1_(AND-_#NZERO+8_+CLEAR FIELD COUNT_^1_(STA-_#FCNT,I_^1VMM2_#€€LDA-_#FCNT,I_F01*C1002_^1_(AND-_#LPMASK+8_D01*C1002_^1_(STA-_#ATEMP+1,I_C01*C1002_^1_(RTJ*_#CHKVRY_^1_%SAP VMM04_NP0*H0010_^1_%JMP* GONEXT_MP0*H0010_^1VMM04 SAZ GOS_*SIGHT_@P0*H0010_^1_%INA -4_+TEST D-VERIFY OPTION_1P0*H0010_^1_%SAZ DSPV_)YES_BP0*H0010_^1_%JMP* SETFLD_MP0*H0010_^1GOS_"JMP* SIGHT_NP0*H0010_^1*_] P0*H0010_^1DSPV_!LDA- SWITCH,I_$REGENERATE ?_9P0*H0010_^1_%SAZ NO€€RN_OP0*H0010_^1_%RTJ- (DISPLY)_KP0*H0010_^1_%ADC REGEN_NP0*H0010_^1NORN_!RTJ- (DISPLY)_KP0*H0010_^1_%ADC DBOF_OP0*H0010_^1_%RTJ- (DISPLY)_KP0*H0010_^1_%ADC DSPFLD_MP0*H0010_^1_%RTJ- (DISPLY)_KP0*H0010_^1_%ADC DEOF_OP0*H0010_^1_%ENA 0_RP0*H0010_^1_%STA- SWITCH,I_KP0*H0010_^1GONEXT_!LDA-_#SW2,I_,CLEAR REVALIDATION FLAG_"06*C1321_^1_(AND-_#ZROBIT+13_C06*C1321_^1_(STA-_#SW2,I_G06*€€C1321_^1_(LDA-_#(SST+CFFA)_B06*C1321_^1_(ALS_$8_1NO._^1_(AND-_#LPMASK+7_^1_(INA_$1_1UPDATE POINTERS TO EOF_^1_(ADD-_#RCNT,I_^1_(SUB-_#ATEMP+1,I_C01*C1002_^1_(STA-_#RCNT,I_,CLEAR FIELD COUNT % CHECK EOR_^1_(JMP*_#EORTST_^1SETFLD_!LDA-_#SW2,I_^1_(AND_$=N$7FDF_*CLEAR FNZ AND SKIP NEEDED 05*C1221_^1_(LDQ-_#ATEMP+1,I_C05*C1221_^1_(SQZ_$1_0FLAGS_505*C1221_^1_(EOR-_#ONEBIT+15_C05*C1221_^€€1_(STA-_#SW2,I_^1_(LDA-_#SWITCH,I_*IS REGEN NEEDED ?_^1_(SAZ_$ON_^1_(RTJ-_#(DISPLY)_)YES_^1_(ADC_$REGEN_G03*C1041_^1_(CLR_$A_1CLEAR SWITCH_^1_(STA-_#SWITCH,I_^1_(JMP*_#END_I01*C1002_^1ON_%RTJ-_#(DISPLY)_*DISPLAY BOF % EXIT_^1_(ADC_$DBOF_^1_(RTJ-_#(DISPLY)_)DISPLAY COLUMN NUMBER_$06*C1323_^1_(ADC_$DCOL_H06*C1323_^1_(JMP*_#END_^1SIGHT_"LDA-_#CMODE,I_+SIGHT VERIFY :_^1_(AND-_#ZROBIT+1€€4_(SET IDK_^1_(EOR-_#ONEBIT+14_^1_(STA-_#CMODE,I_^1_(LDA-_#SW1,I_^1_(EOR-_#ONEBIT+5_*SET CONT BIT_^1_(STA-_#SW1,I_^1_(LDA-_#SWITCH,I_8CHECK FOR REGEN_^1_(SAZ_$NORGEN_^1_(RTJ-_#(DISPLY)_^1_(ADC_$REGEN_G04*C1090_^1_(JMP*_#FIELD_G01*C1002_^1NORGEN_!RTJ-_#(DISPLY)_^1_(ADC_$DBOF_^1_(RTJ-_#(DISPLY)_D04*C1090_^1_(ADC_$DSPFLD_^1FIELD_"CLR_$A_K04*C1090_^1_(STA-_#SWITCH,I_^1END_$LDA-_#SW1,I_€€^1_(AND-_#ONEBIT+9_*IF IGNORE FIRST SKIP ON_^1_(SAZ_$END1_^1_(LDA-_#CMODE,I_-SET IDK_^1_(AND-_#ZROBIT+14_^1_(EOR-_#ONEBIT+14_^1_(STA-_#CMODE,I_^1END1_#JMP-_#(CLRSR)_^1*_]_^1* SUBROUTINE TO REPOSITION TO BEGINNING OF FIELD_^1*_]_^1SETBEG_!NUM_$0_^1_(LDA-_#(SST+CFFA)_^1_(ARS_$8_^1_(AND-_#LPMASK+7_^1_(INA_$1_^1_(TCA_$A_^1_(ADD-_#RCNT,I_^1_(STA-_#RCNT,I_^1_(LDA-_#FCNT,I_^1_(AND-_#NZERO€€+8_^1_(STA-_#FCNT,I_^1_(JMP*_#(SETBEG)_^1*_]_^1* SUBROUTINE- TO CHECK IF CURRENT FIELD IS VERIFIABLE_^1*_]_^1*_$ON EXIT_!A -VE_!= NO VERIFY_^1*_]07*C1403_^1*_'A = 0_"SIGHT VERIFY (FORMAT OR ERRONEOUS)_*07*C1403_^1*_'A = 1_"KEY_!VERIFY (FORMAT OR ERRONEOUS)_*07*C1403_^1*_]07*C1403_^1*_/A = 3_%UNBALANCE COUNTER FIELD_^1*_]_^1CHKVRY_!NUM_$0_^1_(LDA-_#SW2,I_^1_(AND-_#ONEBIT+2_^1_(SAZ€€_$FLG1_^1_(LDQ-_#SST+CFFA_*YES - IS THIS FIELD VERIFIABLE ?_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+2_^1FLG1_!SAN 1_,VERIFY ?_=P0*H0011_^1_%JMP* FLGTST_MP0*H0011_^1_(LDQ-_#1,Q_/IF THIS FIELD IS AUTODUP OR_^1_(QLS_$12_^1_(SQP_$ONVERY_,AUTOSKIP , AND IT IS NOT FIRST_^1_%QLS 1_RP0*H0011_^1_%SQP 1_,SKIP FIELD ?_9P0*H0011_^1_%JMP* SKIPF_(YES_BP0*H0011_^1_%RTJ+ CHEKFF_PRV001_^1_%SAM ONVERY_'€€SKIP IF F-F AND FROB_4RV001_^1_(LDQ-_#ATRB,I_F05*C1222_^1_(LDQ-_#3,Q_I05*C1222_^1_(QLS_$2_K05*C1222_^1_%SAN 1_,SKIP IF FF AND NOT FROB_1RV001_^1_(SQM_$ONVERY_F05*C1222_^1_(QLS_$1_K05*C1222_^1_%SQM ONVERY_MP0*H0010_^1_%JMP* FLGTST_MP0*H0010_^1ONVERY JMP* SETVOP_PRV001_^1FLGTST_!LDA-_#SW2,I_^1_(AND-_#ONEBIT+1_)VERIFICATION OF ERROR FLAGGED_^1_(SAN_$1_K07*C1402_^1_(JMP*_#BALTST_F07*€€C1402_^1_(LDA-_#RCNT,I_F01*C1002_^1_(SUB-_#ATEMP+1,I_C01*C1002_^1_(STA-_#RCNT,I_F01*C1002_^1_(RTJ-_#(GBYTE)_*YES - IS THIS FIELD_^1_(LDA-_#RCNT,I_F01*C1002_^1_(ADD-_#ATEMP+1,I_C01*C1002_^1_(STA-_#RCNT,I_F01*C1002_^1_(QLS_$8_BFLAGGED ?_^1_%SQM SETVOP_MP0*H0011_^1_%JMP* INTTST_'NOT ERRONEOUS FIELD_207*C1402_^1SETVOP LDQ- SST+CFFA_NRV001_^1_(LDA-_#1,Q_I07*C1403_^1_%AND- LPMASK+2_$MAS€€K VERIFY TYPE_5P0*H0010_^1ONVRY1 TRA Q_,DISPLAY VERIFY ?_5P0*H0010_^1_%INQ -3_QP0*H0010_^1_%SQZ DISV_OP0*H0010_^1_(AND-_#ONEBIT_F07*C1403_^1_(JMP*_#(CHKVRY)_^1DISV_!ENA 4_RP0*H0010_^1_%JMP* (CHKVRY)_KP0*H0010_^1*_] P0*H0010_^1SKIPF LDA- RCNT,I_MP0*H0011_^1_%STA* TSTRCC_'SAVE RCNT_P0*H0011_^1_%STA- RCNT,I_MP0*H0011_^1_%JMP* FLGTST_MP0*H0011_^1SKP04 RAO- RCNT,I_'NO LOOP ON_;P0*H0011_^1_%JMP* TSSPLP_MP0*H0011_^1JESV_!LDA* TSTRCC_MP0*H0011_^1_%STA- RCNT,I_'RESTORE_>P0*H0011_^1_%LDQ- SST+CFFA_KP0*H0011_^1_%LDA- 1,Q_PP0*H0011_^1_%AND- LPMASK+2_KP0*H0011_^1_%JMP* ONVRY1_'GET OUT_>P0*H0011_^1*_] P0*H0011_^1TSTRCC NUM 0_RP0*H0€€011_^1LSTRC NUM 0_RP0*H0011_^1*_] P0*H0011_^1INTTST_!LDA-_#SW3VER,I_)VERIFY INTR RELATION_%08*C1500_^1_(AND-_#ONEBIT+13_(ERROR._407*C1402_^1_(SAZ_$BALTST_F07*C1402_^1_(CLR_$A_0SIGHT VERIFY_.07*C1402_^1_(JMP*_#(CHKVRY)_D07*C1402_^1*_]_^1BALTST_!LDQ-_#SST+CFFA_D07*C1400_^1_(LDA-_#2,Q_I07*C1400_^1_(AND-_#LPMASK+2_)KEEP DOC.BAL_.07*C1400_^1_(STA-_#ATEMP+2,I_(INDICATON_107*C1400_^1_(L€€DA-_#SW2,I_G07*C1400_^1_(AND-_#ONEBIT_,VERIFICATION OF UNBALANCED_^1_(SAN_$CHECK_=COUNTER FIELDS ?_^1*_]07*C1400_^1* CHECK IF VERIFY ACCORDING UNBALANCE DOCUMENT NEEDED_(07*C1400_^1*_]07*C1400_^1CHEKUD_!LDA-_#SW3VER,I_D08*C1500_^1_(ALS_$1_0RECORD OF UNBAL DOC_'07*C1400_^1_(SAP_$SETA_H07*C1400_^1_(LDA-_#ATEMP+2,I_C07*C1400_^1_(SAZ_$SETA_-NO DOC COUNTERS ON FLD_#07*C1400_^1_%ENA 3_€€RP0*H0010_^1_(JMP*_#(CHKVRY)_D07*C1400_^1SETA_#SET_$A_K07*C1400_^1_(JMP*_#(CHKVRY)_^1CHECK_"ENQ_$11_0GET COUNTER WORD FROM FORMAT_^1_(RTJ+_#FMTPAR_^1_(SAP_$1_K07*C1400_^1_(JMP*_#(CHKVRY)_*NO COUNTERS ON THIS FIELD_^1_(LDQ-_#SW3,I_,SEV SWITCH_008*C1500_^1_(SQP_$1_K08*C1500_^1_(JMP*_#OUT_.SEV, VERIFY EVEN IF_'08*C1500_^1*_BCOUNTER IS BALANCED_'08*C1500_^1*_]07*C1400_^1_(STA-_#ATEMP,I€€_^1_(LDA-_#ATEMP+2,I_C07*C1400_^1_(AND-_#ONEBIT_F07*C1400_^1_(SAZ_$1_K07*C1400_^1_(JMP*_#CHECK1_F07*C1400_^1LOOP_#LDA-_#ATEMP,I_E07*C1400_^1_(AND-_#LPMASK+3_*EXTRACT COUNTER NUMBER_^1_(SAZ_$CHECK1_F01*C1002_^1_(INA_$-1_^1_(ALS_$2_^1_(TRA_$Q_1BUILD INDEX IN Q_^1_(LDA-_#COUNT,B_^1_(SAN_$OUT_/IF COUNTER NOT ZERO_^1_(LDA-_#COUNT+1,B_^1_(SAN_$OUT_/GO TO SET FIELD_^1_(LDA-_#COUNT+2,B_^1_€T(SAN_$OUT_^1_(LDA-_#COUNT+3,B_^1_(SAZ_$CHECK1_^1OUT_$ENA_$3_^1_%JMP (CHKVRY)_KP0*H0011_^1CHECK1_!LDA-_#ATEMP,I_^1_(SAZ_$CHKUD_G07*C1400_^1_(ARS_$4_K07*C1400_^1_(STA-_#ATEMP,I_*KEEP LEFT CNT_-07*C1400_^1_(LDA-_#ATEMP+2,I_C07*C1400_^1_(AND-_#ONEBIT+1_D07*C1400_^1_(SAN_$1_K07*C1400_^1_(JMP*_#LOOP_^1CHKUD_"JMP*_#CHEKUD_F07*C1400_^1_(END_^__ TPAID CSY/ P€1_%NAM AID_*DECK-ID I13 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* ROUTINE TO CONTROL TUTORIAL MODE THROUGH SW1B4_^1*_]_^1_(EQU_$GETCOM($9C),CLRSR($93),ERROR($96)_^1_(EQU_$SW1(19),ONEBIT($23),ERRE1($12)_^1_(EQU_$ZROBIT($33)_^1_(EQU_$SST(€€$47),STEMP(20)_^1_(EXT_$REGEN_^1_(EQU_$DISPLY($A0)_^1HDR_$VFD_$N5/$18,X11/EPMT-*_^1_(NUM_$1,0,0_^1_(ADC_$PMT-HDR_^1*_]_^1PMT_$ENA_$3_^1_(STA-_#SST+STEMP_^1_(RTJ-_#(GETCOM)_^1_(SQM_$OK_^1_(LDA-_$SW1,I_^1_(AND-_$ZROBIT+8_^1_(EOR-_$ONEBIT+8_(TURN ON REGEN BIT_^1_(STA-_$SW1,I_^1_(ENQ_$ERRE1_^1_(JMP-_#(ERROR)_^1*_]_^1OK_%LDA-_#SW1,I_^1_(EOR-_#ONEBIT+4_^1_(STA-_#SW1,I_^1_(RTJ-_#(DISPLY)_€>^1_(ADC_$REGEN_^1_(JMP-_#(CLRSR)_^1_(EQU_$EPMT(*)_^1_(END_^__ >PBORKEY CSY/ P€1_%NAM BORKEY_'DECK-ID K09 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* THIS ROUTINE PROCESSES THE BOR KEY_^1*_]_^1* IF VALID IT EXECUTES BSR STARTING FROM ITS SECOND ENTRY POINT BSR2_^1*_]_^1_(EQU_$MODE(2)_^1_(EQU_$RCNT(4)_^1_(EQU_$ERROR(€€$96),CLRSR($93),DISPLY($A0)_^1_(EQU_$FCNT(3),RFA(93),PFBA(7)_509*C1602_^1_(EQU_$FLDN(14),ATEMP(73),LPMASK($2)_/05*C1277_^1_(EQU_$SST($47),CFFA(12),NZERO($12),ZERO($22)_^1_(EXT_$DBORKY,STTYPE_^1HDR_$VFD_$N5/$18,X11/EBOR-*_^1_(NUM_$1,0,0_^1_(ADC_$BORKEY-HDR_^1BORKEY_!LDA-_#MODE,I_^1_(AND_$=N$3100_+PURE READ ?_^1_(SAZ_$2_^1_(ENQ_$$4_^1_(JMP-_#(ERROR)_+NO - ILLEGAL FUNCTION_^1*_]_^1_(L€€DA-_#RCNT,I_^1_(SAN_$1_1IF RCNT = 0 EXIT_^1_(JMP-_#(CLRSR)_^1_(LDA-_#FCNT,I_^1_(AND-_#NZERO+8_^1_(STA-_#FCNT,I_^1_(CLR_$A_^1_(STA-_#RCNT,I_^1_(LDA-_#FLDN,I_+SAVE FIELD NO._,05*C1277_^1_(ALS_$7_K05*C1277_^1_(AND-_#LPMASK+7_D05*C1277_^1_(STA-_#ATEMP,I_E05*C1277_^1_(LDA-_#FLDN,I_F09*C1602_^1_(AND-_#LPMASK+9_D09*C1602_^1_(STA-_#FLDN,I_F09*C1602_^1_(ENA_$4_^1_(STA-_#RFA,I_^1_(LDQ-_#PFB€ΘA,I_^1_(LDQ-_#(ZERO),Q_^1_(AAQ_$A_^1_(STA-_#SST+CFFA_^1_(RTJ+_#STTYPE_^1_(LDA-_#ATEMP,I_*PASS FIELD NO. IN A_'05*C1277_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DBORKY_^1_(JMP-_#(CLRSR)_^1_(EQU_$EBOR(*)_^1_(END_^__ΘPBSC CSY/ P€1_%NAM BSC_*DECK-ID K01 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* THIS ROUTINE PROCESSES BSC KEY IN ALL MODES_^1*_]_^1* IT POSITIONS ALL POINTERS ONE CHARACTER BACK , AND REDISPLAYS_^1*_]_^1_(ENT_$BSCKEY_^1_(EXT_$DBSCEV,DBSCR,SETMOV_^1_€€(EXT_$REGEN,STTYPE_@06*C1304_^1_%EXT CHEKFF_PRV001_^1_(EQU_$CURCH(2)_D06*C1317_^1_(EQU_$MODE(2),FCNT(3),RCNT(4),AUSQ(5),MISCH(5)_#06*C1304_^1_(EQU_$ATRB(6),PFBA(7),SW1(19),SW2(20)_-06*C1304_^1_(EQU_$NDA(11)_E06*C1304_^1_(EQU_$ATEMP(73)_C06*C1304_^1_(EQU_$FLAG(ATEMP)_A06*C1304_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$SST($47),CFFA(12),FLDN(14),RFA(93€€)_*09*C1602_^1_(EQU_$DISPLY($A0),CLRSR($93),ERROR($96)_^1_(EQU_$GBYTE($94),SBYTE($95)_706*C1317_^1_(EQU_$ENTPRG($9E),EXDFUN($9F),READP($A5)_*06*C1304_^1_(EQU_$WRTATT($AC)_A06*C1304_^1_(EQU_$REWRIT($A4)_A06*C1304_^1_(EQU_$ENTSR($91),EXTSR($92)_706*C1304_^1HDR_$VFD_$N5/$18,X11/BSCEND-*_^1_(NUM_$$281_H06*C1304_^1_(NUM_$0,0_^1_(ADC_$BSCKEY-HDR_^1_(ADC_$BSC2-HDR_D06*C1304_^1*_]_^1BSCKEY€€_!RTJ+_#SETMOV_^1_(LDA-_#RCNT,I_+IF RECORD COUNT=0_)06*C1304_^1_(SAN_$1_K06*C1304_^1_(JMP*_#ERR_6BSC IS ILLEGAL_#06*C1304_^1*_]06*C1304_^1BSCHK_"LDA-_#FCNT,I_+IS FIELD COUNT=0_*06*C1304_^1_(AND-_#LPMASK+8_^1_(SAZ_$1_K06*C1304_^1_(JMP*_#BSCOK_G06*C1304_^1*_]06*C1304_^1_(STA-_#FLAG,I_F06*C1304_^1_(LDA-_#MODE,I_+YES,SO ILLEGAL IN VER MODE 06*C1304_^1_(ALS_$3_3AND IN PSEUDO VERIFY_"06*€€C1304_^1_(SAM_$ERR_I06*C1304_^1_(AND-_#ONEBIT+12_C06*C1304_^1_(SAZ_$ERR_I06*C1304_^1*_]06*C1304_^1_(LDA-_#SW1,I_,CHECK FOR PSEUDO ENTRY_#06*C1304_^1_(ALS_$3_K06*C1304_^1_(SAM_$JP_J06*C1304_^1*_]06*C1304_^1_(LDA-_#MODE,I_F06*C1304_^1_(ALS_$2_0RPLFLD ILLEGAL_,06*C1304_^1_(SAP_$JP0_I06*C1304_^1*_]06*C1304_^1ERR_$ENQ_$$4_^1_(JMP-_#(ERROR)_^1*_]06*C1304_^1JP0_$ALS_$5_K06*C1304_^1_(SAP_$€€JP1_.NOT ENTRY (READ)_*06*C1304_^1JP_%STA-_#FLAG,I_F06*C1304_^1JP1_$JMP*_#GPR_I06*C1304_^1*_]06*C1304_^1BSCOK_"LDA-_#SW1,I_,CLEAR SKIP MUST BE NEXT_"06*C1304_^1_(AND-_#ONEBIT+9_D06*C1304_^1_(SAZ_$BACKSP_F06*C1304_^1_(LDA-_#SW1,I_G06*C1304_^1_(AND-_#ZROBIT+9_D06*C1304_^1_(STA-_#SW1,I_G06*C1304_^1_(LDA-_#MODE,I_F06*C1304_^1_(AND-_#ZROBIT+14_C06*C1304_^1_(STA-_#MODE,I_F06*C1304_^1BACK€€SP_!LDA-_#FCNT,I_+DECREMENT_106*C1304_^1_(INA_$-1_6FIELD CHARACTER COUNT_^1_(STA-_#FCNT,I_EBY 1_^1_(LDA-_#RCNT,I_+DECREMENT_^1_(INA_$-1_6RECORD CHARACTER COUNT_^1_(STA-_#RCNT,I_FBY 1_^1_(SAZ_$3_K06*C1304_^1_(RTJ_$DUPY_H06*C1304_^1_(JMP*_#DSPLY_G06*C1304_^1*_]_^1_(LDA-_#MODE,I_+BEG OF RECORD CONDITION-_^1_(AND_$=N$F00_-IF ENTRY MODE_^1_(SUB-_#ONEBIT+9_/OR_^1_(SAP_%1_J06*C1304_^1_(JM€€P*_#DSPLY_G06*C1304_^1_(SAN_$SETBOR_-THEN_^1_(LDA-_#SW1,I_1SET BEG OF RCD BIT_^1_(AND-_#ONEBIT+12_-AND_^1_(SAZ_$JMPDSP_F06*C1304_^1SETBOR_!RTJ*_#BOREC_G06*C1304_^1JMPDSP_!JMP*_#DSPLY_G06*C1304_^1*_]06*C1304_^1*_"IF BEG OF RECORD SET IDK FIRST IN RECORD AND UPDATE NDA. 06*C1304_^1*_]06*C1304_^1BOREC_"NUM_$0_K06*C1304_^1_(RTJ-_#(ENTSR)_E06*C1304_^1_(RTJ+_#SETMOV_F06*C1304_^1_(LDA-_#€€SW1,I_G06*C1304_^1_(EOR-_#ONEBIT+2_^1_(STA-_#SW1,I_^1_(LDA-_#MODE,I_^1_(AND-_#ZROBIT+14_^1_(EOR-_#ONEBIT+14_^1_(STA-_#MODE,I_^1*_]_^1_(LDQ-_#ATRB,I_+IF NOT FIRST IN BATCH_$06*C1304_^1_(LDA-_#4,Q_.READ PREVIOUS RECORD_%06*C1304_^1_(SAM_$EXIT11_F06*C1304_^1_(LDA-_#SW1,I_G06*C1304_^1_(ALS_$3_K06*C1304_^1_(SAM_$EXIT11_F06*C1304_^1_(LDA-_#SW2,I_,INSERTED RECORD_+06*C1304_^1_(AND-_#ONEBI€€T+9_D06*C1304_^1_(SAN_$2_K06*C1304_^1_(RTJ-_#(READP)_E06*C1304_^1EXIT11_!JMP*_#EXIT12_F06*C1304_^1_(LDA-_#5,Q_.UPDATE NEXT AVAILABLE_$06*C1304_^1_(STA-_#NDA+1,I_*AFTER INSERTED_,06*C1304_^1_(LDA-_#6,Q_I06*C1304_^1_(AND-_#LPMASK+8_D06*C1304_^1_(STA-_#NDA,I_G06*C1304_^1_(RTJ-_#(READP)_E06*C1304_^1_(LDQ-_#ATRB,I_+UPDATE NEXT OF_,06*C1304_^1_(LDA-_#6,Q_.PREVIOUS TO BE_,06*C1304_^1_(AND€€-_#NZERO+8_*AFTER INSERTED_,06*C1304_^1_(EOR-_#NDA,I_G06*C1304_^1_(STA-_#6,Q_I06*C1304_^1_(LDA-_#NDA+1,I_E06*C1304_^1_(STA-_#5,Q_I06*C1304_^1_(RTJ-_#(REWRIT)_D06*C1304_^1_(LDA-_#SW2,I_G06*C1304_^1_(AND-_#ZROBIT+9_D06*C1304_^1_(STA-_#SW2,I_G06*C1304_^1_(RTJ-_#(WRTATT)_D06*C1304_^1EXIT12_!JMP-_#(EXTSR)_E06*C1304_^1DSPLY_"LDA-_#FCNT,I_F06*C1304_^1_%AND- LPMASK+8_$ISOLATE FCNT_8SWD7700€€2_^1_(SAN_$NOTV_-NOT BEG OF FIELD_*06*C1304_^1_(LDA-_#MODE,I_F06*C1304_^1_(ALS_$3_K06*C1304_^1_(SAM_$VERI_H06*C1304_^1_(AND-_#ONEBIT+12_C06*C1304_^1_(SAN_$NOTV_H06*C1304_^1VERI_#LDA-_#SW2,I_,VERIFY OR PV._-06*C1304_^1_%AND =N$3FDF_%CLEAR FNZ, RVF + SKIP IN EOF BITS_"SWD77002_^1_(STA-_#SW2,I_G06*C1304_^1NOTV_#LDA-_#MODE,I_F06*C1304_^1_(AND_$=N$3100_+CHECK MODE TO PICK CORRECT_^1_(S€€AZ_$READ_H06*C1304_^1_(LDA-_#SW1,I_,IF BSC IN SIGHT VERIFY DO NOT_^1_(AND-_#ONEBIT+5_^1_(SAZ_$NOTRD_,CLEAR THE CHARACTER_^1READ_#RTJ-_#(DISPLY)_+CALL TO DISPLY_*06*C1304_^1_(ADC_$DBSCR_^1_(JMP-_#(CLRSR)_^1NOTRD_"RTJ-_#(DISPLY)_^1_(ADC_$DBSCEV_^1_(JMP-_#(CLRSR)_^1*_]06*C1304_^1GPR_$LDA-_#(SST+CFFA)_'UPDATE CURRENT AND_(06*C1304_^1_(ARS_$4_0RELATIVE FORMAT FIELD ADD. 06*C1304_^1_(AND€€-_#LPMASK+4_D06*C1304_^1_(INA_$2_K06*C1304_^1_(TCA_$A,Q_I06*C1304_^1_(ADQ-_#SST+CFFA_D06*C1304_^1_(STQ-_#SST+CFFA_D06*C1304_^1_(ADD-_#RFA,I_G06*C1304_^1*_]09*C1602_^1_(STA-_#RFA,I_G06*C1304_^1_(LDA-_#FLDN,I_F09*C1602_^1_(SUB-_#ONEBIT+9_D09*C1602_^1_(STA-_#FLDN,I_F09*C1602_^1_(LDA-_#(SST+CFFA)_'UPDATE FCNT._.06*C1304_^1_(ARS_$8_K06*C1304_^1_(AND-_#LPMASK+7_D06*C1304_^1_(EOR-_#FCNT,I€€_F06*C1304_^1_(STA-_#FCNT,I_F06*C1304_^1_(LDA-_#RCNT,I_+UPDATE RCNT._.06*C1304_^1_(INA_$-1_J06*C1304_^1_(STA-_#RCNT,I_F06*C1304_^1*_]06*C1304_^1_(LDQ-_#FLAG,I_+IF READ , GO TO DISPLY_#06*C1304_^1_(SQN_$PRVFLD_+-READ_506*C1304_^1_(JMP_$EXIT1_G06*C1304_^1*_]06*C1304_^1PRVFLD_!LDA-_#(SST+CFFA)_'FIRST FIELD IN FORMAT?_#06*C1304_^1_(ARS_$4_K06*C1304_^1_(AND-_#LPMASK+4_D06*C1304_^1_(SAN_€€$ON_/NO_806*C1304_^1*_]06*C1304_^1_(LDQ-_#PFBA,I_+AUTOSEQUENCING SPECIFIED? 06*C1304_^1_(LDQ-_#(ZERO),Q_D06*C1304_^1_(LDA-_#1,Q_I06*C1304_^1_(AND-_#ONEBIT+13_C06*C1304_^1_(SAZ_$ON_/NO_806*C1304_^1_%JMP BOR_SRV001_^1*_]06*C1304_^1ON_%LDQ-_#SST+CFFA_D07*C1415_^1_(LDA-_#1,Q_I06*C1304_^1_(ARS_$2_K06*C1304_^1_%AND- LPMASK+3_NRV001_^1_(INA_$-2_J06*C1304_^1_(SAM_$JLAST_,N,R,L_507*C1415_€€^1_(LDQ-_#SW1,I_,AUTO FIELDS ENTERED_'07*C1415_^1_(QLS_$9_0MANUALLY ?_007*C1415_^1_(SAZ_$DUPTST_F07*C1415_^1_%INA -1_TRV001_^1_%SAZ 1_URV001_^1_%JMP* DUPTST_PRV001_^1_(SQP_$1_K07*C1415_^1JLAST_"JMP*_#TOLAST_+IF SKIP EXIT TO SKIP1 OR_!07*C1415_^1_(JMP*_#SKIP1_,LAST1_507*C1415_^1DUPTST_!LDA-_#SW1,I_G07*C1415_^1_%SAM 1_,1ST REC. IN FORMAT_6RV001_^1_%JMP* NOT1ST_PRV001_^1_%RTJ+ CHEK€€FF_'SEE IF F F_>RV001_^1_%SAN 1_URV001_^1_%JMP* TOLAST_'ZERO = NOT F F_:RV001_^1_%SAP 1_URV001_^1_%JMP* TOLAST_'F F AND FROB_;RV001_^1NOT1ST EQU NOT1ST(*)_MRV001_^1_%LDQ- SW1,I_(CHECK IF MANUAL_9RV001_^1_%QLS 9_,DUP/SKIP SET_RV001_^1_%INA -$10_)HEADER_BRV001_^1_%SAN PSED1_(OF_FRV001_^1GOTDUP EQU GOTDUP(*)_#THE_ERV001_^1_(LDA-_#SW1,I_,NEXT RECORD_/05*C1222_^1_(AND-_#ONEBIT+6_D05*C1222_^1_(SAN_€€$PSED1_G05*C1222_^1_(LDA-_#BMOD,I_F05*C1222_^1_(ALS_$2_K05*C1222_^1_(SAP_$VER_I05*C1222_^1_(LDA-_#RCD,I_G05*C1222_^1_(EOR-_#RCDRD,I_E05*C1222_^1_(SAZ_$PSED1_G05*C1222_^1VER_$LDQ-_#ATRB,I_F05*C1222_^1_(LDA-_#5,Q_I05*C1222_^1_(SAP_$1_K05*C1222_^1PSED1_"JMP*_#PSED1A_F05*C1222_^1_(STA*_#DA+1_H05*C1222_^1_(LDA-_#6,Q_I05*C1222_^1_(AND-_#LPMASK+8_D05*C1222_^1_(STA*_#DA_J05*C1222_^1_(LDA-_€€#I_K05*C1222_^1_(INA_$ATEMP_G05*C1222_^1_(STA*_#CORE_H05*C1222_^1_(LDA-_#LUNIT,I_E05*C1222_^1_(ALS_$4_K05*C1222_^1_(AND-_#LPMASK+2_D05*C1222_^1_(STA*_#LUL_I05*C1222_^1_(STA-_#ATEMP+1,I_C05*C1222_^1_(RTJ-_#(REDDWA)_D05*C1222_^1CORE_#NUM_$0_K05*C1222_^1DA_%NUM_$0_K05*C1222_^1_(NUM_$0_K05*C1222_^1_(NUM_$1_K05*C1222_^1LUL_$NUM_$0_K05*C1222_^1_(LDA-_#ATEMP,I_E05*C1222_^1_(AND-_#ZROBIT+1€€3_C05*C1222_^1_(EOR-_#ONEBIT+13_C05*C1222_^1_(STA-_#ATEMP,I_E05*C1222_^1_%RTJ+ CHEKFF_'SEE IF F-F AUTODUP_6RV001_^1_%SAZ DUP_*NO_FRV001_^1_%LDA- ATEMP,I_%F-F AUTODUP_!SET AC BIT_0RV001_^1_%AND- ZROBIT+12_#ALSO IN TRB HEADER_6RV001_^1_%EOR- ONEBIT+12_#OF NEXT RECORD_:RV001_^1_%STA- ATEMP,I_ORV001_^1DUP_"EQU DUP(*)_PRV001_^1*_]05*C1222_^1_(LDA-_#RQ+S,I_F05*C1222_^1_(STA*_#COREW_G05€€*C1222_^1_(LDA-_#RQ+MMA,I_D05*C1222_^1_(STA*_#DAW_I05*C1222_^1_(LDA-_#RQ+MMA+1,I_B05*C1222_^1_(STA*_#DAW+1_G05*C1222_^1_(LDA-_#ATEMP+1,I_C05*C1222_^1_(STA*_#LULW_H05*C1222_^1_(RTJ-_#(WRTDWA)_D05*C1222_^1COREW_"NUM_$0_K05*C1222_^1DAW_$NUM_$0_K05*C1222_^1_(NUM_$0_K05*C1222_^1_(NUM_$1_K05*C1222_^1LULW_#NUM_$0_K05*C1222_^1*_]05*C1222_^1PSED1A_!LDA-_#BMOD,I_F05*C1222_^1_(AND-_#ONEBIT+13€€_^1_(SAZ_$1_^1_(JMP*_#RPLACE_^1_(LDA-_#RCD,I_-IN READ PAST CURRENT_,A_^1_(SUB-_#RCDRD,I_+VERIFY POINT ?_1A_^1_(SAM_$RP1_PA_^1_(SAN_$CHKV_OA_^1_(LDA-_#BRCNT,I_LA_^1_(AND-_#LPMASK+12_JA_^1_(SUB-_#RCNT,I_MA_^1_(SAP_$1_RA_^1RP1_$JMP*_#RPLACE_,YES - NO REVERIFICATION_)A_^1CHKV_#LDA-_#FCNT,I_+CHECK IF VERIFICATION_$06*C1356_^1_(AND-_#LPMASK+8_+NEEDED_9A_^1_(STA-_#ATEMP+1,I_C06*C1356_^1_€€(RTJ+_#CHKVRY_MA_^1*_]06*C1356_^1_(SAP_$1_K06*C1356_^1_(JMP*_#RPLACE_F06*C1356_^1_(RTJ*_#REVERY_,YES - IS FRV REQUIRED ?_^1_(SAZ_$RPLACE_^1_(LDA-_#CMODE,I_+YES - CHANGE MODE FROM PSEUDO ENTRY_^1_(AND-_#ZROBIT+13_^1_(EOR-_#ONEBIT+12_/TO SPEUDO VERIFY._^1_(STA-_#CMODE,I_^1_(LDA-_#SW1,I_3CLEAR COR, SET REWRITE_^1_(AND_$=N$D7BF_E06*C1356_^1_(EOR-_#ONEBIT+13_^1_(STA-_#SW1,I_3EXIT TO VMM€€_^1_(RTJ-_#(DISPLY)_)CLEAR 'M' FROM DISPLAY_#06*C1356_^1_(ADC_$DMLDS_G06*C1356_^1_(RTJ-_$(EXDFUN)_C05*C1107_^1_(JMP+_#RVFVER_^1*_]_^1RPLACE_!LDA-_#SW1,I_^1_(AND_$=N$D7FF_E06*C1356_^1_(EOR-_#ONEBIT+13_^1_(STA-_#SW1,I_^1_(LDA-_#CMODE,I_^1_(AND-_#ONEBIT+8_^1_(SAZ_$READEX_^1_(RTJ*_#REVERY_,CHECK FOR FRV_^1_(LDA-_#CMODE,I_^1_(AND-_#ZROBIT+12_)CLEAR PSEUDO ENTRY_^1_(STA-_#CMODE,I_^1_(RTJ€€-_$(EXDFUN)_C05*C1107_^1_(JMP_$NOVAL_,EXIT TO VMM_/07*C1402_^1*_]_^1READEX_!LDQ-_#SST+CFFA_*CHECK FOR AUTODUP_^1_(LDA-_#1,Q_^1_%AND =N$1C_QRV001_^1_(INA_$-8_0IF YES SET BIT IN RECORD HEADER FOR_^1_(SAZ_$1_0IF MLDS WAS PRESSED_'05*C1150_^1_%INA -$10_)CHECK IF F-F AUTODUP_4RV001_^1_%SAZ 1_,YES_ERV001_^1_(JMP*_#DISPIT_+DURING REP FLD,SET 'AC' BIT05*C1150_^1_(LDA-_#SW1,I_,ELSE,SET '€€FC' BIT_)05*C1150_^1_(AND-_#ONEBIT+6_D05*C1150_^1_(SAZ_$NOMLDS_F05*C1150_^1_(LDA-_#SW1,I_G05*C1150_^1_(AND-_#ZROBIT+6_D05*C1150_^1_(STA-_#SW1,I_G05*C1150_^1_(RTJ-_#(DISPLY)_D05*C1150_^1_(ADC_$DMLDS_G05*C1150_^1_(LDQ-_#ATRB,I_F05*C1150_^1_(LDA-_#3,Q_I05*C1150_^1_(AND-_#ZROBIT+12_C05*C1150_^1_(EOR-_#ONEBIT+12_C05*C1150_^1_(JMP*_#MLDS1_G05*C1150_^1NOMLDS_!LDQ-_#ATRB,I_F05*C1150_^1_(LD€€A-_#3,Q_I05*C1150_^1_(AND-_#ZROBIT+13_C05*C1150_^1_(EOR-_#ONEBIT+13_C05*C1150_^1MLDS1_"STA-_#3,Q_I05*C1150_^1*_]05*C1222_^1DISPIT_!RTJ+_#SETBEG_,SET POINTERS BACK TO BOF_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DBSF_.DISPLAY % EXIT_^1_(JMP-_#(CLRSR)_^1*_]_^1REVERY_!NUM_$0_^1_(LDA-_#SW1,I_,THIS SUBROUTINE WILL SET_!06*C1356_^1_(ALS_$3_0SW2, B10 ONLY IN VERIFY MOD06*C1356_^1_(SAP_$1_0AND IN READ €€WHEN MLDS_$06*C1356_^1_(JMP*_#NSPBIT_+WAS SET AND THE CHANGE_#06*C1356_^1_(LDA-_#CMODE,I_*IS DONE FOR THE RECORD_#06*C1356_^1_(AND-_#ONEBIT+8_)IN BASIC MODE_-06*C1356_^1_(SAN_$ON_J06*C1356_^1_(LDA-_#SW1,I_G06*C1356_^1_(AND-_#ONEBIT+6_D06*C1356_^1_(SAZ_$NSPBIT_F06*C1356_^1TSTDUP_!LDA-_#RCD,I_^1_(SUB-_#RCDRD,I_^1_(SAN_$NSPBIT_^1ON_%LDQ-_#SST+CFFA_^1_(LDA-_#1,Q_^1_%AND =N$001C_%GET A€€UTOFUNCTION BITS_3RV001_^1_(INA_$-8_^1_%SAZ 2_,SKIP IF AUTO DUP_8RV001_^1_%INA -$10_)CHECK IF F-F AUTO DUP_3RV001_^1_(SAN_$NSPBIT_^1_(LDA-_#SW2,I_^1_(AND-_#ZROBIT+10_^1_(EOR-_#ONEBIT+10_^1_(STA-_#SW2,I_^1NSPBIT_!LDQ-_#PFBA,I_^1_(LDQ-_#(ZERO),Q_*SET FORCED REVERIFICATION BIT_^1_(LDA-_#3,Q_^1_(AND-_#ONEBIT+13_)AS REQUIRED (SW2B14)_^1_(SAZ_$NOFRV_^1_(LDA-_#SW2,I_^1_(AND-_#ZROBIT+14_€€^1_(EOR-_#ONEBIT+14_^1_(STA-_#SW2,I_^1NOFRV_"JMP*_#(REVERY)_^1*_]_^1* INSERT % DELETE TO BE ADDED HERE_^1*_]_^1* COR AFTER DELETE_^1*_]_^1* BACK SPACE RECORD TO BEGINNING: REVERSE COUNTERS_^1*_]_^1* IF LAST RECORD WRITTEN IN THIS BATCH, RELEASE AREA_^1*_!THEN IN READ MODE :_^1*_6READ PREVIOUS RECORD_^1*_6CHANGE BASIC INFORMATION TO THIS RECORD_^1* IN VERIFY :_^1* IF FIRST IN BATCH€€. CLEAR BIT AND SET IT IN NEXT_^1*_]_^1*_'CHANGE DISK ADDRESS LINKAGES_^1*_'IF CURRENT MODE IS READ, DISPLAY FIRST FIELD_^1*_'IF VERIFY, GO TO EORVR_^1*_]_^1DLTCR_"LDA-_#SW1,I_^1_(AND_$=N$F5BD_+CLEAR COR DELETE,CONT % IGNORE 1'ST_^1_(STA-_#SW1,I_.SKIP FLAGS_^1_(LDA-_#BMOD,I_^1_(STA-_#ATEMP+4,I_)AREA RELASE INDICATOR_^1_(ALS_$2_^1_(SAM_$1_^1_(JMP*_#DELVER_^1_(RTJ_$AVAIL_^1_(LDA-_#BM€€DA,I_^1_(AND-_#LPMASK+8_*ARE WE DELETING THE LAST LOGICAL_^1_(EOR-_#CURDA,I_^1_(SAN_$3_CRECORD?_^1_(LDA-_#BMDA+1,I_^1_(EOR-_#CURDA+1,I_^1_(SAZ_$SWHERE_,YES_^1_(LDA-_#SW2,I_^1_(AND-_#ONEBIT+9_*HAS AREA BEEN RELEASED ?_^1_(SAZ_$2_^1_(CLR_$A_^1_(STA-_#ATEMP+4,I_)YES - SET FLAG_^1_(JMP*_#DELVER_^1SWHERE_!RTJ_$BSRCD_^1_(LDQ-_#ATRB,I_^1_(LDA-_#3,Q_^1MASK1_"AND_$=N$2400_+TRANSFER DOC % F€€MT CHANGES_^1_(TRA_$Q_^1_(SAZ_$NODOC1_^1_(LDA-_#SW1,I_-FROM TRB TO SW1._^1_(AND-_#LPMASK+14_^1_(EOR-_#ONEBIT+15_^1_(QLS_$5_^1_(SQP_$1_^1_(EOR-_#ONEBIT+14_^1_(STA-_#SW1,I_^1NODOC1_!RTJ-_#(READP)_+READ PREVIOUS_^1_(LDQ-_#ATRB,I_^1_(LDA-_#NDA+1,I_+UPDATE NEXT TO POINT TO NEXT_^1_(STA-_#5,Q_.AVAILABLE_^1_(LDA-_#6,Q_^1_(AND-_#NZERO+8_^1_(EOR-_#NDA,I_^1_(STA-_#6,Q_^1NEWLBL_!LDA-_#BMDA,I_€€^1_(AND-_#NZERO+8_,CHANGE BASIC MODE DISK ADDRESSES_^1_(EOR-_#CURDA,I_^1_(STA-_#BMDA,I_^1_(LDA-_#CURDA+1,I_^1_(STA-_#BMDA+1,I_^1_(LDQ-_#ATRB,I_^1_(LDA-_#7,Q_/STORE THIS RECORD 'S FORMAT IN_^1_(AND-_#LPMASK+13_^1_(STA-_#BFMTNO,I_?BASIC FMT NO._^1_(RTJ-_#(REWRIT)_^1NEW1_#LDA-_#5,I_.TURN ON END OF DATA BIT_"03*C1048_^1_(EOR-_#ONEBIT+15_C03*C1048_^1_(STA-_#5,I_I03*C1048_^1_(RTJ-_#(WRTA€€TT)_D03*C1048_^1_(LDA-_#5,I_I03*C1048_^1_(AND-_#ZROBIT+15_(TURN THE BIT OFF_)03*C1048_^1_(STA-_#5,I_I03*C1048_^1_(RTJ-_#(EXDFUN)_^1_(LDA-_#SW3,I_,IF SEV(LAST RECORD)_'08*C1500_^1_(SAP_$NEW1EX_F08*C1500_^1_(LDA-_#CMODE,I_,AND NOT READ MODE_'08*C1500_^1_(AND-_#ONEBIT+8_D08*C1500_^1_(SAZ_$NEW1EX_F08*C1500_^1_(JMP_$EORVR_/THEN CALL COPY-VIA EORVR08*C1500_^1NEW1EX_!JMP_$SETNFM_+ELSE-SE€€T NFM BIT_*08*C1500_^1*_]_^1DELVER_!RTJ_$BSRCD_,BACKSPACE_108*C1500_^1_(LDQ-_#ATRB,I_,SAVE RELEVANT INFORMATION:_^1_(LDA-_#3,Q_^1_(AND_$=N$6400_*UNBAL DOCUMENT_,07*C1400_^1_(STA-_#ATEMP,I_+DOC % FMT CHANGE_^1_(LDA-_#6,Q_^1_(STA-_#ATEMP+1,I_)M.S.B. PREVIOUS % NEXT_^1_(LDA-_#5,Q_^1_(STA-_#ATEMP+2,I_)L.S.B NEXT_^1_(LDA-_#4,Q_^1_(STA-_#ATEMP+3,I_)L.S.B PREVIOUS_^1*-****_!**************€€** CHECK IF SEV_808*C1500_^1_(LDA-_#SW3,I_G08*C1500_^1_(SAM_$1_K08*C1500_^1_(JMP*_#CHK1ST_F08*C1500_^1*_]08*C1500_^1_(LDA-_#5,Q_.CHECK IF SEV/LAST RECORD_!08*C1500_^1_(SAM_$1_K08*C1500_^1_(JMP*_#CHK1ST_F08*C1500_^1*-****_=IF SEV/LR-SAVE FC IN SW3/B808*C1500_^1_(LDA-_#3,Q_I08*C1500_^1_(AND-_#ONEBIT+13_C08*C1500_^1_(SAZ_$NOTFC_G08*C1500_^1_(LDA-_#SW3,I_G08*C1500_^1_(AND-_#ZROBIT+8_D0€€8*C1500_^1_(EOR-_#ONEBIT+8_D08*C1500_^1_(STA-_#SW3,I_G08*C1500_^1*-****_=CHECK IF ALSO FIRST RECORD 08*C1500_^1NOTFC_"LDA-_#4,Q_I08*C1500_^1_(SAM_$1_K08*C1500_^1_(JMP*_#NOT1ST_F08*C1500_^1*-** IF DELETED RECORD IS FR % LR (IN SEV)-PREPARE ATT AS WHEN 08*C1500_^1*-** EXITING SEV FUNCTION-AND JMP TO EORVR TO COPY MORE RECS. 08*C1500_^1_(LDA_$=N1344_F08*C1500_^1_(STA-_#AVLTK,I_*AVLTK€€=14*96_/08*C1500_^1_(LDA-_#FTOB,I_F08*C1500_^1_(INA_$2_K08*C1500_^1_(CLR_$Q_K08*C1500_^1_(RTJ-_#(CLCDWA)_D08*C1500_^1_(STQ-_#NDA,I_,NDA=FTOB+2 SECTORS_(08*C1500_^1_(STA-_#NDA+1,I_E08*C1500_^1_(RTJ-_#(WRTATT)_D08*C1500_^1_(RTJ-_#(EXDFUN)_)RELEASE CORKEY_,08*C1500_^1_(JMP_$EORVR_,JUMP TO EORVR TO CALL COPY 08*C1500_^1CHK1ST_!LDA-_#4,Q_I08*C1500_^1_(SAP_$NOT1ST_^1_(LDA-_#6,Q_0IF ATT F€€IRST IN BATCH_^1_(ALS_$8_^1_(STA-_#6,Q_0SET NEXT D.A. IN PREVIOUS FOR USE_^1_(LDA-_#5,Q_^1_(STA-_#4,Q_0BY VERIFY ,WBT ETC._^1_(JMP*_#FRCD_^1NOT1ST_!RTJ_$AVAIL_^1_(RTJ-_#(READP)_^1_(LDQ-_#ATRB,I_,UPDATE PREVIOUS TO JUMP OVER_^1_(LDA-_#6,Q_/DELETED RECORD_+08*C1500_^1_(AND-_#NZERO+8_E08*C1500_^1_(STA-_#SST+STEMP_*UPDATE NEXT M.S.B_'08*C1500_^1_(LDA-_#ATEMP+1,I_C08*C1500_^1_(AND-_#LPM€€ASK+8_D08*C1500_^1_(EOR-_#SST+STEMP_C08*C1500_^1_(STA-_#6,Q_I08*C1500_^1*_]08*C1500_^1_(LDA-_#ATEMP+2,I_*UPDATE NEXT L.S.B_'08*C1500_^1_(STA-_#5,Q_/DELETED_^1_(SAP_$FRCD_H08*C1500_^1_(LDA-_#SW2,I_^1_(AND-_#ONEBIT+11_^1_(SAZ_$1_^1_(JMP*_#NEWLBL_^1CHK_$JMP*_$CHECKM_^1NOTEND_!LDA-_#6,Q_^1_(AND-_#NZERO+8_+UPDATE M.S.B OF NEXT D.A._^1_(STA-_#SST+STEMP_^1_(LDA-_#ATEMP+1,I_^1_(AND-_#LPMAS€€K+8_^1_(EOR-_#SST+STEMP_^1_(STA-_#6,Q_^1FRCD_#RTJ-_#(REWRIT)_^1_(LDA-_#ATEMP+4,I_^1_(SAN_$PLUS14_^1_(LDA-_#BMDA,I_,UPDATE DISK ADDRESS OF LAST_^1_(LDQ-_#ATRB,I_^1_(STA-_#6,Q_/BASIC MODE RECORD TO POINT TO_^1_(LDA-_#BMDA+1,I_^1_(STA-_#5,Q_/ACTUAL NEXT FREE AREA_^1_(RTJ-_#(READN)_^1_(LDQ-_#ATRB,I_,RELEASES BY THE CURRENT DELETE_^1_(LDA-_#NDA+1,I_^1_(STA-_#5,Q_^1_(LDA-_#6,Q_^1_(AND-_#€€NZERO+8_^1_(EOR-_#NDA,I_^1_(STA-_#6,Q_^1_(RTJ-_#(REWRIT)_^1PLUS14_!LDA-_#ATEMP+1,I_^1_(LDQ-_#ATRB,I_^1_(STA-_#6,Q_^1_(LDA-_#ATEMP+2,I_^1_(STA-_#5,Q_^1_(RTJ-_#(READN)_+UPDATE RECORD AFTER THE DELETED_^1_(LDQ-_#ATRB,I_^1_(LDA-_#ATEMP+3,I_^1_(STA-_#4,Q_^1_(LDA-_#6,Q_^1_(AND-_#LPMASK+8_^1_(STA-_#SST+STEMP_^1_(LDA-_#ATEMP+1,I_^1_(AND-_#NZERO+8_^1_(EOR-_#SST+STEMP_^1_(STA-_#6,Q_/ADD IN F€€ORMAT CHANGE AND FIRST IN_^1_(LDA-_#ATEMP,I_^1_(TCA_$A_1DOCUMENT INDICATORS_^1_(AND-_#3,Q_^1_(EOR-_#ATEMP,I_^1_(STA-_#3,Q_^1CHECKM_!RTJ-_#(REWRIT)_^1_(LDA-_#ATEMP+2,I_^1_(SAP_$2_K08*C1500_^1_(JMP_$NEW1_H08*C1500_^1_(LDA-_#CMODE,I_^1_(AND-_#ONEBIT+9_^1_(SAN_$EXIT1_^1_(STA-_#RCNT,I_^1_(RTJ-_#(WRTATT)_D05*C1107_^1_(SET_$A_K05*C1107_^1_(STA-_#SWITCH,I_D05*C1107_^1_(STA-_#ATEMP+2,I_C05*€€C1107_^1_(LDQ-_#ATRB,I_F05*C1107_^1_(LDA-_#4,Q_I05*C1107_^1_(SAP_$3_K05*C1107_^1_(RTJ-_#(EXDFUN)_D05*C1107_^1_(JMP+_#EORVRC_F05*C1107_^1_(RTJ-_#(READP)_E05*C1107_^1_(RTJ-_#(EXDFUN)_D05*C1107_^1_(JMP+_#EORVR1_F05*C1107_^1*_]_^1EXIT1_"LDQ-_#ATRB,I_^1_(LDA-_#7,Q_^1_(AND-_#LPMASK+13_^1_(TRA_$Q_^1_(RTJ-_#(GFCORE)_^1_(RTJ-_#(WRTATT)_^1_(RTJ-_#(EXDFUN)_^1_(ENA_$1_^1_(LDQ_$=N$1869_*EXIT TO€€ BSR (2'ND ENTRY POINT)_^1_(RTJ-_#(ENTPRG)_)FOR DISPLAY_^1*_]_^1* BSRCD: MOVES TO END OF RECORD. THEN CALLS GETPFD TO PERFORM COUNTERS_^1*_]_^1*_'ALSO UPDATES RCD,RCDRD,NO. OF VERIFY RECORDS % FLAGGED RECORDS_^1*_]_^1BSRCD_"NUM_$0_^1_(LDQ-_#PFBA,I_^1_(LDQ-_#(ZERO),Q_*MOVE TO END OF RECORD_^1_(LDA-_#RFA,I_^1*_]09*C1602_^1_(AAQ_$Q_^1BSR1_#LDA-_#(ZERO),Q_^1_(ARS_$8_^1_(AND-_#LPMASK+7_€€^1_(INA_$1_^1_(ADD-_#RCNT,I_^1_(STA-_#RCNT,I_^1_(LDA-_#(ZERO),Q_^1_(AND-_#LPMASK+4_^1_(SAZ_$BSR2_^1_(INA_$2_^1_(AAQ_$Q_^1_(ADD-_#RFA,I_^1_(STA-_#RFA,I_^1_(JMP*_#BSR1_^1*_]_^1BSR2_#STQ-_#SST+CFFA_^1*_]_^1_(LDA-_#(ZERO),Q_^1_(ALS_$8_1SET UP TO POINT AT END OF LAST_^1_(AND-_#LPMASK+7_^1_(INA_$1_1FIELD_^1_(STA-_#ATEMP,I_^1_(LDA-_#FCNT,I_^1_(AND-_#NZERO+8_^1_(ADD-_#ATEMP,I_^1_(STA-_#FCN€€T,I_^1_(ENQ_$11_^1_(RTJ+_#FMTPAR_,COUNTER OPERATIONS ?_^1_(SAM_$NOCNT_^1_(ALS_$8_1YES - SUBSTRACT CURRENT FIELD_^1_(EOR_$=N$8800_^1_(RTJ+_#COUNT_-FROM RELEVANT COUNTER(S)_^1NOCNT_"LDA-_#RCNT,I_^1_(SUB-_#ATEMP,I_+AT BEGINNING OF RECORD ?_^1_(STA-_#RCNT,I_^1_(SAZ_$NOWBOR_,YES_^1_(LDQ-_#SST+CFFA_^1_(LDA-_#(ZERO),Q_*NO - BACK UP TO PREVIOUS FIELD_^1_(ARS_$4_^1_(AND-_#LPMASK+4_*AND CONT€€INUE_^1_(INA_$2_^1_(TCA_$A_^1_(AAQ_$Q_^1_(JMP*_#BSR2_^1NOWBOR_!LDA-_#FCNT,I_^1_(AND-_#NZERO+8_^1_(STA-_#FCNT,I_^1_(ENA_$4_^1_(STA-_#RFA,I_-SET RFA TO 4_^1_(LDA-_#FLDN,I_F09*C1602_^1_(AND-_#LPMASK+9_D09*C1602_^1_(STA-_#FLDN,I_F09*C1602_^1_(LDA-_#CMODE,I_^1_(AND-_#ONEBIT+8_^1_(SAZ_$READ_^1_(LDA-_#SW2,I_^1_(AND-_#ONEBIT+11_^1_(SAN_$READ1_G05*C1127_^1_(JMP*_#EBSR_^1READ_#LDA-_#RCDRD,I_€€*IF THE DELETION IS OF A_"05*C1127_^1_(SUB-_#RCD,I_,RECORD ENTERED COMPLETLY_!05*C1127_^1_(SAP_$READ2_,AND IT IS AN ERRONIOUS ONE.05*C1127_^1READ1_"LDQ-_#ATRB,I_+DECREMENT NO OF ERRONIOUS 05*C1127_^1_(LDA-_#3,Q_.RECORDS_305*C1127_^1_(SAP_$READ2_G05*C1127_^1_(LDA-_#RCDER,I_E05*C1127_^1_(INA_$-1_J05*C1127_^1_(STA-_#RCDER,I_E05*C1127_^1READ2_"LDA-_#BMOD,I_F05*C1127_^1_(ALS_$2_^1_(SAM€€_$ENTBAS_,IF PAST VERIFY,NO DECREMENTS_^1_(LDA-_#RCD,I_^1_(SUB-_#RCDRD,I_^1_(SAM_$EBSR_^1_(JMP*_#EBSR1_^1ENTBAS_!LDQ-_#PFBA,I_+IN BASIC MODE ENTRY_^1_(LDQ-_#(ZERO),Q_2UPDATE THE NUMBER_^1_(LDA-_#3,Q_0OF VERIFIABLE RECORDS_^1_(AND-_#ONEBIT+14_,IF REQUIRED_^1_(SAZ_$EBSR1_^1_(LDA-_#VRCD,I_^1_(INA_$-1_^1_(STA-_#VRCD,I_^1EBSR1_"LDA-_#RCD,I_^1_(INA_$-1_^1_(STA-_#RCD,I_^1EBSR_#JMP*_#(BSRC€€D)_E05*C1127_^1*_]_^1* AVAIL- CHECKS FOR FREE AREA % RELEASES IT IF POSSIBLE_^1*_]_^1AVAIL_"NUM_$0_^1_(LDQ-_#ATRB,I_^1_(LDA-_#3,Q_^1_(AND-_#LPMASK+10_)EXTRACT RECORD LENGTH_^1_(INA_$5_^1_(TRA_$Q_^1_(ADD-_#CURDA+1,I_)IS THIS THE LAST RECORD_^1_(EOR-_#NDA+1,I_^1_(SAZ_$AVL_^1_(AND-_#ZROBIT+15_)ENTERED ?_^1_(SAN_$ON1_^1_(ENA_$1_^1AVL_$ADD-_#CURDA,I_^1_(EOR-_#NDA,I_-NO - EXIT_^1_(SAN_$O€€N1_^1_(ADQ-_#AVLTK,I_+YES - NEW TRACK ?_^1_(TRQ_$A_^1_(SUB_$=N$601_^1_(SAM_$1_^1ON1_$JMP*_#(AVAIL)_+YES-EXIT_^1*_]_^1_(STQ-_#AVLTK,I_+UPDATE AVAULABLE TRACK SPACE_^1_(LDA-_#SW2,I_^1_(AND-_#ZROBIT+9_*SET SWITCH FOR DISK ADDRESS_^1_(EOR-_#ONEBIT+9_AUPDATING_^1_(STA-_#SW2,I_^1_(LDA-_#CURDA,I_+PUT NDA BACK TO CURDA_^1_(STA-_#NDA,I_^1_(LDA-_#CURDA+1,I_^1_(STA-_#NDA+1,I_^1_(JMP*_#(AVAIL)€€_^1*_]_^1* COR AT END OF INSERTED RECORD_^1* INCREASE NO OF RECORDS IN BATCH AND IN READ.(RCDRD,I % RCD,I)_^1* IF BASIC MODE ENTRY: TURN ON;THERE IS AN INSERTED RECORD AFTER THE LAS_^1*_5IF THE RECORD IS VERIFIABLE INCREASE VRCD,I_^1* IF IT WAS INSERT AT EOD (RECORD COUNT=NO OF RECORDS IN READ, AND NFM_^1*_!BIT IS SET)CHANGE BASIC INFORMATION TO POINT TO THE INSERTED RECORD._^1* UP€€DATE DISK ADDRESSES OF PREVIOUS AND OF NEXT RECORDS_^1*_$IF THE FORMAT WAS CHANGED FOR THE INSERTED RECORD_^1*_$TURN ON THE 'FORMAT CHANGE' BIT FOR NEXT RECORD(SO THE_^1*_$AUTO DUP FIELDS OF THE NEXT RECORD WILL BE VERIFIED.)_^1*_$DISPLAY THE RECORD FOLLOWING THE INSERTED ONE_^1* EXIT TO CLRSR_^1INSCR_"LDA-_#SW1,I_^1_(AND_$=N$E7BF_*RESET COR/INS AND CONT_^1_(STA-_#SW1,I_^1*_]_^1_(L€€DA-_#BMOD,I_^1_(ALS_$2_^1_(SAP_$INS1_^1_(LDA-_#SW2,I_^1_(AND-_#ZROBIT+9_^1_(EOR-_#ONEBIT+9_^1_(STA-_#SW2,I_^1_(LDQ-_#PFBA,I_+IF CURRENT RECORD IS VERIFIABLE_^1_(LDQ-_#(ZERO),Q_)INCREASE 'NO.OF VERIFIBLE_^1_(LDA-_#3,Q_.RECORDS IN BATCH'_^1_(AND-_#ONEBIT+14_^1_(SAZ_$INS1_^1_(RAO-_#VRCD,I_^1INS1_#LDQ-_#ATRB,I_^1_(LDA-_#6,Q_^1_(AND-_#LPMASK+8_^1_(STA-_#ATEMP,I_^1_(LDA-_#5,Q_.KEEP NEXT €€ADDR FROM TRB_^1_(STA-_#ATEMP+1,I_(IN ATEMP,+1_^1_(LDA-_#CURDA,I_^1_(STA-_#ATEMP+2,I_^1_(LDA-_#CURDA+1,I_^1_(STA-_#ATEMP+3,I_^1_(LDA-_#3,Q_^1_(AND-_#ONEBIT+13_^1_(STA-_#ATEMP+4,I_^1*_]_^1_(LDA-_#RCDRD,I_^1_(SUB-_#RCD,I_^1_(SAM_$INS21_^1_(SAN_$INS2_^1_(LDA-_#SW2,I_^1_(AND-_#ONEBIT+11_^1_(SAZ_$INS21_^1*_]_^1_(LDA-_#NDA,I_,YES_^1_(STA-_#BMDA,I_+CHANGE BASIC MODE INFORMATION_^1_(LDA-_#€€NDA+1,I_*WITH THE NEW DATA._^1_(STA-_#BMDA+1,I_^1_(LDA-_#FMTNO,I_^1_(AND-_#LPMASK+13_^1_(STA-_#BFMTNO,I_^1*_]_^1INS21_"RAO-_#RCD,I_^1_(LDA-_#3,Q_I05*C1127_^1_(SAP_$1_K05*C1127_^1_(RAO-_#RCDER,I_*INCREASE NO OF ERRONIOUS_!05*C1127_^1INS2_#RAO-_#RCDRD,I_^1_(LDA-_#6,Q_^1_(AND-_#NZERO+8_*SET NDA OF THE INSERTED_^1_(EOR-_#CURDA,I_*RECORD_^1_(STA-_#6,Q_^1_(LDA-_#CURDA+1,I_^1_(STA-_#5,Q_^€€1_(EOR-_#4,Q_^1_(SAZ_$1_K08*C1500_^1_(JMP*_#INS3_H08*C1500_^1_(LDA-_#6,Q_^1_(ALS_$8_^1_(EOR-_#6,Q_.IF INSERT AFTER THE LAST_^1_(SAN_$INS3_-SET LAST RECORD FLAG._^1_(LDA-_#ONEBIT+15_^1_(STA-_#5,Q_^1_(EOR-_#ATEMP+4,I_^1_(STA-_#ATEMP+4,I_^1_(LDA-_#SW3,I_,CHECK IF SEV_.08*C1500_^1_(SAP_$INS3_H08*C1500_^1* IF INSERT AFTER LAST,DURING SEV- SET SW3/B9 (NEFL) TO_'08*C1500_^1* INDICATE THAT€€ TRB/N DOES NOT HAVE THE LINK ADDR TO THE 1ST_!08*C1500_^1* RECORD TO BE COPIED FROM ENTRY BATCH_808*C1500_^1_(AND-_#ZROBIT+9_D08*C1500_^1_(EOR-_#ONEBIT+9_D08*C1500_^1* IF SEV AND INSERT AFTER THE LAST-SAVE FORMAT CHANGE BIT_$08*C1500_^1_(LDQ-_#ATEMP+4,I_2IF REQUIRES_$08*C1500_^1_(QLS_$2_K08*C1500_^1_(SQP_$2_0IS FC IN INSERTED?_(08*C1500_^1_(AND-_#ZROBIT+8_)YES-SAVE IT IN SW3/B8 IN€€_!08*C1500_^1_(EOR-_#ONEBIT+8_*ORDER TO TRANSFER IT TO_!08*C1500_^1_(STA-_#SW3,I_-NEXT COPIED RECORD_'08*C1500_^1* WRITE THE INSERTED RECORD_C08*C1500_^1INS3_#RTJ-_#(WRITEC)_^1_(LDA-_#AVLTK,I_^1_(SUB-_#RCSIZE,I_)UPDATE AVAILABLE NO OF_^1_(STA-_#AVLTK,I_*WORDS IN TRACK_^1_(LDQ-_#ATRB,I_^1_(LDA-_#4,Q_^1_(SAM_$INS4_-IF IT IS NOT INSERT_^1_(RTJ-_#(READP)_*BEFORE FIRST RECORD IN_^1_(LDQ€€-_#ATRB,I_+BATCH UPDATE NDA OF_^1_(LDA-_#6,Q_.PREVIOUS RECORD TO POINT_^1_(AND-_#NZERO+8_*TO THE INSERTED RECORD._^1_(EOR-_#NDA,I_^1_(STA-_#6,Q_^1_(LDA-_#NDA+1,I_^1_(STA-_#5,Q_^1_(RTJ-_#(REWRIT)_^1*_]_^1INS4_#LDA-_#ATEMP+4,I_^1_(SAP_$INS41_^1_(RTJ-_#(READN)_*PUT CURDA INTO PREVIOUS_^1_(LDA-_#CURDA,I_*AS AT NFM._^1_(ALS_$8_^1_(LDQ-_#ATRB,I_^1_(STA-_#6,Q_^1_(LDA-_#CURDA+1,I_^1_(STA-_€€#4,Q_^1_(JMP*_#INS5_^1INS41_"LDA-_#BMOD,I_^1_(ALS_$2_^1_(SAP_$INS7_^1_(LDQ-_#ATRB,I_^1_(LDA-_#BMDA,I_+IF ENTRY MODE:_^1_(STA-_#6,Q_.CHANGE NEXT DISK ADDR OF_^1_(LDA-_#BMDA+1,I_)LAST RECORD TO POINT AFTER_^1_(STA-_#5,Q_.THE INSERTED RECORD_^1_(RTJ-_#(READN)_^1_(LDQ-_#ATRB,I_^1_(LDA-_#6,Q_^1_(AND-_#NZERO+8_^1_(EOR-_#ATEMP,I_^1_(STA-_#6,Q_^1_(LDA-_#ATEMP+1,I_^1_(STA-_#5,Q_^1_(RTJ-_#(R€€EWRIT)_^1*_]_^1INS7_#LDQ-_#ATRB,I_^1_(LDA-_#ATEMP+2,I_^1_(STA-_#6,Q_^1_(LDA-_#ATEMP+3,I_^1_(STA-_#5,Q_^1_(RTJ-_#(READN)_^1_(LDQ-_#ATRB,I_^1_(LDA-_#6,Q_.UPDATE PREVIOUS DISK ADDR_^1_(ALS_$8_0OF THE RECORD FOLLOWING_^1_(AND-_#NZERO+8_*THE INSERTED ONE_^1_(EOR-_#NDA,I_^1_(ALS_$8_^1_(STA-_#6,Q_^1_(LDA-_#NDA+1,I_^1_(STA-_#4,Q_^1_(LDA-_#ATEMP+4,I_^1_(AND-_#ONEBIT+13_^1_(SAZ_$INS8_^1_(LDA€€-_#3,Q_.IF THE FORMAT WAS CHANGED_^1_(AND-_#ZROBIT+13_(FOR THE INSERTED RECORD_^1_(EOR-_#ONEBIT+13_(THE AUTO DUP FIELDS IN THE_^1_(STA-_#3,Q_.NEXT RECORD HAVE TO BE_^1INS8_#RTJ-_#(REWRIT)_)VERIFIED._^1*_]_^1INS5_#LDA-_#ATEMP,I_*PUT FREE DISK ADDR_^1_(STA-_#NDA,I_,INTO NEXT IN ATT_^1_(LDA-_#ATEMP+1,I_^1_(STA-_#NDA+1,I_^1_(LDA-_#FCNT,I_^1_(AND-_#NZERO+8_^1_(STA-_#FCNT,I_+SET POINTERS€€ TO BEGINNING_^1_(CLR_$A_0OF RECORD_^1_(STA-_#RCNT,I_^1_(ENA_$4_^1_(STA-_#RFA,I_^1_(LDA-_#FLDN,I_F09*C1602_^1_(AND-_#LPMASK+9_D09*C1602_^1_(STA-_#FLDN,I_F09*C1602_^1_+LDQ- ATRB,I_^1_%LDA- 7,Q_^1_(AND-_#LPMASK+13_^1_(TRA_$Q_0EXTRACT NEW FORMAT_^1_(EOR-_#FMTNO,I_^1_(AND-_#LPMASK+13_(IF REQUIRED_^1_(SAZ_$1_^1_(RTJ-_#(GFCORE)_^1_(RTJ+_#STTYPE_^1_(LDA-_#ATEMP+4,I_C03*C1048_^1_(SAP_$3_0N€XOT END OF DATA_)03*C1048_^1_(LDA-_#5,I_.TURN ON END OF DATA BIT_"03*C1048_^1_(EOR-_#ONEBIT+15_C03*C1048_^1_(STA-_#5,I_I03*C1048_^1_(RTJ-_#(WRTATT)_^1_(LDA-_#5,I_I03*C1048_^1_(AND-_#ZROBIT+15_(TURN THE BIT OFF_)03*C1048_^1_(STA-_#5,I_I03*C1048_^1_(RTJ-_#(DISPLY)_)DISPLAY RECORD_^1_(ADC_$REGEN_^1_(JMP-_#(CLRSR)_^1_(EQU_$ENDCOR(*)_^1_(END_^__XPDELETE CSY/ DEL P€1_%NAM DELETE_'DECK-ID K22 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* ROUTINE TO PROCESS THE DELETE KEY IN THE FOLLOWING CIRCUMSTANCES_^1*_"1. IN ENTRY MODE - IF AT BEGINNING OF RECORD - ERROR A4_^1*_7MOVE TO START OF RECORD,REVERSE COUNTERS.€€_^1*_7IF AUTO.SEQ IS SPECIFIED REDUCE 1 FROM 5,I_^1*_%PERFORM REGEN FOR DISPLAY_^1*_7PUT IDK + FIRST CHAR OF RECORD_^1*_7IF PREVIOUS DISK ADDR=0 EXIT_^1*_7IF SW2,B9 IS ON DELETE DISK AREA OF CURRENT_^1*_7RECORD BY CHANGING NEXT DISK ADDR OF PREVIOUS_^1*_7RECORD TO POINT TO THE AREA AFTER THE INSERTED_^1*_7RECORDS.TURN OFF SW2,B9_^1*_]_^1*_]_^1* NOTE:_]_^1*_]_^1*_$IN ANY OTHER MODE €€DELETE VALID ONLY AT END OF FIELD_^1*_"2. IN PURE READ OR VERIFY:_^1*_7IF COR/DEL IS ALREADY ON - ERROR A4_^1*_7IF THIS IS ONLY RECORD IN BATCH - ERROR A4_^1*_2SET IDK,DEL/COR,COR NEEDED NEXT._^1*_2(MORE CHACKS WILL BE DONE IN COR/DEL)_^1*_"3. IN PSEUDO ENTRY:_^1*_%IF IN REPLACE FIELD - ERROR A4_^1*_]_^1*_2IN AN INSERTED RECORD:_^1*_2MOVE TO START OF RECORD,REVERSE COUNTERS._^1*_2T€€URN OFF SPARE BITS._^1*_2PUT CURDA FROM ATT INTO PREVIOUS IN TRB_^1*_2READP,CLEAR DISPLAY_^1*_2IF IT WAS AN INSERTED RECORD AFTER THE LAST,DISPLAY_^1*_2LAST FORMAT FROM TRB._^1*_2OTHERWISE DISPLAY FIRST FIELD VIA BSRKEY_^1_(EXT_$COUNT,DEOREV,DBSREL,FMTPAR_^1_(EXT_$STTYPE_^1_(EQU_$SST($47),CFFA(12)_^1_(EQU_$ATTLNG(19),ATTB(10)_908*C1500_^1_(EQU_$LPMASK(2),ONEBIT($23),ZROBIT($33),ZER€€O($22),NZERO($12)_^1_(EQU_$CMODE(2),FCNT(3),RCNT(4),ATRB(6),PFBA(7)_#09*C1602_^1_(EQU_$FLDN(14),RFA(93)_<09*C1602_^1_(EQU_$BMOD(15)_^1_(EQU_$FMTNO(13),RCD(32),RCDER(30),RCDRD(31),ATEMP(73)_^1_(EQU_$SW1(19),SW2(20),AUSQ(5),CURDA(9),BMDA(17),NDA(11)_^1_(EQU_$SW3(89),RCOPY(90),SEVTNO(91),RCDCKP(90)_$08*C1500_^1_(EXT_$SETNFM_^1_(EQU_$EXDFUN($9F)_^1_(EQU_$BRCNT(15)_^1_(EQU_$ERROR($96),D€€ISPLY($A0),CLRSR($93)_^1_(EQU_$WRTATT($AC)_A06*C1354_^1_(EQU_$READP($A5),GFCORE($9D),REWRIT($A4),READN($A6)_^1*_]_^1HDR_$VFD_$N5/$18,X11/EDEL-*_^1_(NUM_$1,0,0_^1_(ADC_$DELKEY-HDR_^1*_]_^1DELKEY_!LDA-_#CMODE,I_^1MSK_$AND_$=N$0F00_*CHECK MODE;_^1_(SUB_$=N$0300_^1_(SAN_$NOENT_^1_(LDA-_#RCNT,I_+IN PURE ENTRY IF AT BEGINING OF_^1_(SAZ_$ERR_.RECORD-ERROR._^1_(JMP*_#ENTRY_^1* DELETE IS AC€€CEPTED ONLY AT BEGINING OF FIELD._^1*_]_^1NOENT_"LDA-_#FCNT,I_^1_(AND-_#LPMASK+8_^1_(SAZ_$LB_^1_(LDA-_#SW1,I_^1_(AND_$=N$1800_^1_(EOR*_#*-1_^1_(SAZ_$PEO_^1ERR_$ENQ_$4_^1_(JMP-_#(ERROR)_^1LB_%LDA-_#SW1,I_^1_(AND-_#ONEBIT+12_(IS IT A DELETION OF AN INSERTED_^1_(SAZ_$1_0RECORD?_^1PEO_$JMP*_#PSDENT_+YES._^1_(LDA-_#CMODE,I_*IF REPLACE FIELD IN READ OR VERIFY-_^1_(AND_$=N$3000_+OR PSEUDO€€ VERIFY - ERROR_^1_(SAN_$ERR12_^1_(LDA-_#SW1,I_^1_(AND-_#ONEBIT+1_*COR/DLT ALREADY SET - ERROR_^1_(SAZ_$1_^1ERR12_"JMP*_#ERR_^1_(LDQ-_#ATRB,I_^1_(LDA-_#4,Q_/IF PREVIOUS = CURRENT_^1_(EOR-_#CURDA+1,I_^1_(SAN_$NOTE_^1_(LDA-_#6,Q_^1_(ALS_$8_^1_(AND-_#LPMASK+8_*NOT ALLOWED_^1_(EOR-_#CURDA,I_^1_(SAN_$NOTE_^1_(JMP*_#ERR_^1NOTE_#LDA-_#BMOD,I_^1_(AND-_#ONEBIT+13_^1_(SAZ_$VER_^1_(LDA-_#SW3,€€I_,IF SEV % BMOD=ENTRY -ERROR 08*C1500_^1_(SAM_$ERR12A_F08*C1500_^1_(LDA-_#RCD,I_^1_(INA_$-1_^1_(SAN_$VER_^1_(LDA-_#BRCNT,I_^1_(AND-_#LPMASK+12_^1_(SAN_$VER_I08*C1500_^1ERR12A_!JMP*_#ERR_I08*C1500_^1VER_$LDQ-_#ATRB,I_^1_(LDA-_#4,Q_^1_(SAP_$2_0CHECK IF 1 REC IN BATCH_"08*C1500_^1_(LDA-_#5,Q_^1_(SAM_$1_K08*C1500_^1_(JMP*_#SET_.MORE THAN 1 RECORD_(08*C1500_^1***_/*** DESIRE TO DEL THE€€ ONLY RECORD IN BATCH 08*C1500_^1_(LDA-_#SW3,I_,CHECK IF SEV_.08*C1500_^1_(SAP_$ERR13_,NO-ERROR_208*C1500_^1_(LDA-_#CMODE,I_*YES-CHECK IF PURE VERIFY_!08*C1500_^1_(AND-_#ONEBIT+9_D08*C1500_^1_(SAN_$ERR13_0NO-ERROR_.08*C1500_^1* IF SEV % PURE VERIFY (WHEN ONLY 1 RECORD IN BATCH)-_)08*C1500_^1*_,-PERMIT DELETE ONLY IF THERE ARE RECORDS_(08*C1500_^1*_-TO BE COPIED IN THE ENTRY BATCH_€€008*C1500_^1_(LDA-_#SW3,I_,CHECK IF ENT/EOB_*08*C1500_^1_(AND-_#ONEBIT+14_C08*C1500_^1_(SAZ_$NOTEOB_F08*C1500_^1_(LDA-_#RCOPY,I_*YES-CHECK IF EXIST RECORDS 08*C1500_^1_(SAN_$SET_2TO BE COPIED,IF YES -OK08*C1500_^1ERR13_"JMP*_#ERR_2IF NOT-ERROR_*08*C1500_^1*_]08*C1500_^1NOTEOB_!LDA-_#SEVTNO,I_)NOT -EOB_208*C1500_^1_(ARS_$8_4GET RCDCKP FROM ENT/ATT08*C1500_^1_(AND-_#LPMASK+6_D08*C150€€0_^1_(MUI-_#SST+ATTLNG_B08*C1500_^1_(ADD-_#SST+ATTB_D08*C1500_^1_(TRA_$Q_K08*C1500_^1*_]08*C1500_^1_(LDA-_#RCDCKP,Q_-CALCULATE =RCDCKP-RCOPY08*C1500_^1*_F(=RCORDS TO BE COPIED) 08*C1500_^1_(SUB-_#RCOPY,I_E08*C1500_^1_(SAZ_$ERR1_1IF=0-ERROR,ELSE -OK_"08*C1500_^1SET_$LDA-_#RCD,I_^1_(SUB-_#RCDRD,I_^1_(LDQ-_#CMODE,I_^1_(QLS_$7_1IN VERIFY ALLOWED_^1_(SQM_$2_^1_(SAN_$1_^1ERR1_#JMP*_#ERR_€€^1_(LDA-_#CMODE,I_^1_(AND-_#ZROBIT+14_^1_(EOR-_#ONEBIT+14_^1_(STA-_#CMODE,I_*IDK_^1_(LDA-_#SW1,I_^1_(AND-_#ZROBIT+5_^1_(EOR_$=N$0802_*TURN ON COR/DEL,AND COR NEEDED NEXT._^1_(STA-_#SW1,I_^1_(JMP-_#(CLRSR)_^1PSDENT_!LDA-_#CMODE,I_+IF PSEUDO VERIFY DURING INSERT_^1_(AND-_#ONEBIT+12_^1_(SAZ_$NORVRF_^1_(LDA-_#(SST+CFFA)_'IF FORCED REVERIFICATION IS ON_^1_(ALS_$8_0STEP TO THE END OF THE€€ FIELD._^1_(AND-_#LPMASK+7_^1_(ADD-_#RCNT,I_^1_(STA-_#RCNT,I_^1_(RAO-_#RCNT,I_^1_(LDA-_#(SST+CFFA)_^1_(AND-_#LPMASK+4_^1_(SAZ_$NORVRF_^1_(INA_$2_^1_(ADD-_#RFA,I_^1_(STA-_#RFA,I_^1NORVRF_!LDA-_#CMODE,I_*CHENGE MODE TO READ._^1_(AND-_#ZROBIT+12_^1_(STA-_#CMODE,I_^1ENTRY_"LDA-_#FCNT,I_^1_(AND-_#LPMASK+8_^1_(TCA_$Q_^1_(LDA-_#SW1,I_^1_(AND-_#ONEBIT+12_^1_(SAZ_$2_^1_(LDQ-_#RCNT,I_^1_(JMP€€*_#*+3_^1_(ADQ-_#RCNT,I_^1_(STQ-_#RCNT,I_^1_(SQZ_$1_^1_(RTJ*_#GETPFD_^1_(LDA-_#FCNT,I_^1_(AND-_#NZERO+8_^1_(STA-_#FCNT,I_^1_(ENA_$4_^1_(STA-_#RFA,I_^1_(LDA-_#FLDN,I_F09*C1602_^1_(AND-_#LPMASK+9_D09*C1602_^1_(STA-_#FLDN,I_F09*C1602_^1*_]05*C1127_^1_(LDA-_#SW1,I_^1_(AND-_#ONEBIT+12_^1_(SAZ_$GOENT_^1_(JMP*_#DELINS_^1GOENT_"LDQ-_#PFBA,I_^1_(LDQ-_#(ZERO),Q_*IF AUTOSEQUENCING SPECIFIED_^€€1_(LDA-_#1,Q_^1_(AND-_#ONEBIT+13_)DECREMENT AUTO SEQUENCE COUNT BY 1_^1_(SAZ_$NOSEQ_^1_(LDA-_#AUSQ,I_^1_(SAN_$2_^1_(LDA_$=N10000_^1_(INA_$-1_^1_(STA-_#AUSQ,I_^1NOSEQ_"LDA-_#CMODE,I_^1_(EOR-_#ONEBIT+14_^1_(STA-_#CMODE,I_*PUT IDK_^1_(LDA-_#SW1,I_,AND FIRST CHARACTER PER RECORD._^1_(EOR-_#ONEBIT+2_^1_(STA-_#SW1,I_^1_(LDQ-_#ATRB,I_^1_(LDA-_#4,Q_/IF AT 1'ST RECORD - EXIT_^1_(SAP_$1_^1_(€€JMP*_#JMPOUT_^1_(LDA-_#SW2,I_,IF THERE IS AN INSERTED RECORD_^1_(AND-_#ONEBIT+9_)AFTER THE PARTIAL RECORD_!05*C1098_^1_(SAN_$2_0UPDATE NEXT D.A. OF_'05*C1098_^1_(RTJ-_#(READP)_*PREVIOUS RECORD TO POINT_!05*C1098_^1_(JMP*_#NOMORE_+AFTER THE INSERTED ONE_#05*C1098_^1_(LDA-_#5,Q_I05*C1098_^1_(STA-_#NDA+1,I_E05*C1098_^1_(LDA-_#6,Q_I05*C1098_^1_(AND-_#LPMASK+8_D05*C1098_^1_(STA-_#NDA,I_€€G05*C1098_^1_(RTJ-_#(READP)_E05*C1098_^1_(LDQ-_#ATRB,I_F05*C1098_^1_(LDA-_#6,Q_I05*C1098_^1_(AND-_#NZERO+8_E05*C1098_^1_(EOR-_#NDA,I_G05*C1098_^1_(STA-_#6,Q_I05*C1098_^1_(LDA-_#NDA+1,I_E05*C1098_^1_(STA-_#5,Q_I05*C1098_^1_(RTJ-_#(REWRIT)_D05*C1098_^1_(LDA-_#SW2,I_G05*C1098_^1_(AND-_#ZROBIT+9_^1_(STA-_#SW2,I_^1_(RTJ-_#(WRTATT)_D06*C1354_^1*_]05*C1098_^1NOMORE_!LDQ-_#ATRB,I_^1_(LDQ-_€€#7,Q_^1_(LDA-_#LPMASK+13_)IF PREVIOUS RECORD HAD DIFFERENT_^1_(LAQ_$Q_^1_(AND-_#FMTNO,I_+FORMAT_^1_(EAQ_$A_^1_(SAZ_$EXIT_^1JMPOUT_!LDA-_#SW1,I_^1_(AND-_#LPMASK+15_(TURN ON FIRST RECORD PER FORMAT_^1_(EOR-_#ONEBIT+15_(AS NECESSARY._^1_(STA-_#SW1,I_^1EXIT_#LDA-_#SW2,I_G06*C1304_^1_(AND-_#ZROBIT+4_D06*C1304_^1_(STA-_#SW2,I_G06*C1304_^1_(RTJ-_#(DISPLY)_D06*C1304_^1_(ADC_$DEOREV_^1_(JMP€€-_#(CLRSR)_^1*_]_^1*_]_^1*_]_^1DELINS_!LDA-_#SW1,I_,TURN OFF;_^1_(AND_$=N$C59B_*REWRITE INSERT,COR,CONT_"05*C1222_^1_(STA-_#SW1,I_,IGNORE 1ST SKIP FS,FIRST CHAR IN-_^1_(LDA-_#SW2,I_,-RECORD_^1_(AND-_#LPMASK+15_)FIRST NON-ZERO_^1_(STA-_#SW2,I_,IN READ MODE_^1_(LDA-_#ONEBIT+9_^1_(STA-_#CMODE,I_^1_(LDQ-_#ATRB,I_^1_(LDA-_#4,Q_^1_(EOR-_#CURDA+1,I_^1_(SAN_$DELIN1_^1_(LDA-_#6,Q_^1_(ALS_$8€€_^1_(EOR-_#CURDA,I_^1_(AND-_#LPMASK+8_KB_^1_(SAN_$DELIN1_^1_(RTJ-_#(EXDFUN)_^1_(JMP+_#SETNFM_^1DELIN1_!LDA-_#CURDA,I_^1_(STA-_#6,Q_^1_(LDA-_#CURDA+1,I_^1_(STA-_#5,Q_^1_(RTJ-_#(READN)_^1_(LDQ-_#ATRB,I_,IF DIFFERENT FORMAT, GET NEW_^1_(LDA-_#7,Q_^1_(AND-_#LPMASK+13_^1_(TRA_$Q_^1_(RTJ-_#(GFCORE)_*IF AT EOD IN VERIFY_^1_(RTJ+_#STTYPE_^1NOTEND_!RTJ-_#(DISPLY)_^1_(ADC_$DBSREL_^1_(JMP-_#(€€CLRSR)_^1*_]_^1* GET PREVIOUS INFORMATION_^1* PERFORM REVERSE COUNTER OPERATION AS NECESSARY._^1*_]_^1GETPFD_!NUM_$0_^1_(LDQ-_#PFBA,I_^1_(LDQ-_#(ZERO),Q_^1_(LDA-_#2,Q_^1_(ARS_$6_^1_(AND-_#LPMASK+10_C06*C1304_^1_(INA_$1_^1_(EOR-_#RCNT,I_^1_(SAN_$3_K09*C1602_^1_(LDA-_#RFA,I_^1*_]09*C1602_^1_(AAQ_$Q_^1_(JMP*_#LAST_^1_(LDA-_#RFA,I_,INFORMATION_^1*_]09*C1602_^1_(AAQ_$Q_0STORING IT IN PR€€EVNO_^1_%STQ-_%SST+CFFA_^1GOPREV_!LDQ-_#SST+CFFA_^1_(LDA-_#(ZERO),Q_^1_(ARS_$4_^1_(AND-_#LPMASK+4_)FIELD FORMAT_^1_(INA_$2_^1_(TCA_$A_^1_(AAQ_$Q_^1_(STQ-_#SST+CFFA_^1LAST_#LDA-_#(ZERO),Q_^1_(ALS_$8_0EXTRACT FIELD LENGTH_^1_(AND-_#LPMASK+7_^1_(INA_$1_^1_(STA-_#ATEMP+2,I_^1_(LDA-_#FCNT,I_^1_(AND-_#NZERO+8_^1_(ADD-_#ATEMP+2,I_^1_(STA-_#FCNT,I_^1_(ENQ_$11_0COUNTERS ON THIS FIELD ?_^1_(€.RTJ+_#FMTPAR_^1_(SAM_$NOCNT_^1_(ALS_$8_^1_(EOR_$=N$8800_^1_(RTJ+_#COUNT_^1NOCNT_"LDA-_#RCNT,I_^1_(SUB-_#ATEMP+2,I_^1_(STA-_#RCNT,I_^1_(SAZ_$NOWBOR_+BOR REACHED_^1_(JMP*_#GOPREV_+GET PREVIOUS FIELD_^1NOWBOR_!LDA-_#FCNT,I_^1_(AND-_#NZERO+8_^1_(STA-_#FCNT,I_^1_(JMP*_#(GETPFD)_^1_(EQU_$EDEL(*)_^1_(END_^__.PDER CSY/ P€1_%NAM DER_*DECK-ID I11 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* IT IS AN INTERROGATE FUNCTION TO DISPLAY THE ERROR MESSAGE ACCORDING_^1* TO THE CODE WHITCH IS USUALLY DISPLAYED WHEN AN ERROR OCCURES._^1*_]_^1* THE COMMAND TO ENTER IS;€€DER,XX_^1*_'WHERE XX IS THE CODE_^1*_]_^1_(EXT_$SETMOV,ERRTL,EPM,SIERRM,DLINE_^1_(EXT_$GETBUF,SIBMSG,SETDIS,CLRALL,DLINE,REGEN_$06*C1301_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$SST($47)_^1_(EQU_$STEMP(20)_^1_(EQU_$AINT(27),SW1(19)_^1_(EQU_$MSGP(78)_D06*C1301_^1*_]06*C1301_^1_(EQU_$ATEMP(73)_C06*C1301_^1_(EQU_$CE2($13)_^1_(EQU_$GETSTR($A2)_A06*C1301_€€^1_(EQU_$REDSEC($A7)_A06*C1301_^1_(EQU_$RES($67)_D06*C1301_^1_(EQU_$GETALP($9B),ERROR($96),CLCDWA($90),REDDWA($A9)_^1_(EQU_$DISP($A0),CLRSR($93)_^1HDR_$VFD_$N2/3,N3/0,X11/EDER-*_^1_(NUM_$1,0,0_^1_(ADC_$DER-HDR_^1DER_$RTJ_$SETMOV_^1_(ENA_$3_^1_(STA-_#SST+STEMP_^1_(LDA-_#SW1,I_^1_(AND-_#ZROBIT+8_^1_(EOR-_#ONEBIT+8_^1_(STA-_#SW1,I_^1_(RTJ-_#(GETALP)_)CHECK IF DER IS FOLLOWED BY A COMM€€A_^1_(SAN_$ERR_^1*_]_^1_(RTJ-_#(GETALP)_)GET FIRST CHAR OF CODE_^1_(SQM_$ERR_^1_(SAZ_$ERR_^1_(ALS_$8_^1_(STA*_#LOCAL_^1_(RTJ-_#(GETALP)_)GET SECOND CHAR OF CODE_^1_(SQM_$ERR_^1_(SAZ_$ERR_^1_(EOR*_#LOCAL_^1_(STA*_#LOCAL_^1_(RTJ-_#(GETALP)_)CHECK EOR FOLLOWING THE CODE_^1_(SQP_$ERR_^1_(SAP_$OK_^1*_]_^1ERR_$ENQ_$CE2_.ILLEGAL PARAMETER_^1_(JMP-_#(ERROR)_^1*_]_^1OK_%LDQ_$=XERRTL_^1LOOP_€€#INQ_$-1_^1_(SQN_$1_^1_(JMP*_#ERR_^1_(LDA+_#EPM,Q_,GET INDEX TO ERRM TABLE_^1_(EOR*_#LOCAL_^1_(SAZ_$FOUND_^1_(JMP*_#LOOP_^1*_]_^1FOUND_"TRQ_$A_^1_(INA_$-$20_H06*C1301_^1_(SAN_$CONT_-'MSG' NOT REQUIRED_(06*C1301_^1_(LDA-_#MSGP,I_F06*C1301_^1_(AND-_#LPMASK+4_D06*C1301_^1_(SAN_$1_0SKIP IF THERE ARE MESSAGES 06*C1301_^1CONT_#JMP*_#NOMSG_,FOR THE STATION_+06*C1301_^1_(LDA_$=N192_G06*C13€€01_^1_(RTJ+_#GETBUF_+GET AREA FOR A SECTOR_$06*C1301_^1_(LDQ-_#AINT,I_F06*C1301_^1_(LDA-_#1,Q_I06*C1301_^1_(EOR-_#ONEBIT+15_(SET I/O BIT_/06*C1301_^1_(STA-_#1,Q_I06*C1301_^1_(INQ_$4_K06*C1301_^1_'STQ*_$CORA_H06*C1301_^1_(LDA-_#(I)_I06*C1301_^1_(AND-_#LPMASK+6_D06*C1301_^1_(ADD_$=XSIBMSG_D06*C1301_^1_'STA*_$SECDA_G06*C1301_^1*_]06*C1301_^1_(RTJ-_#(REDSEC)_)READ SECTOR FROM DISK_$06*€€C1301_^1CORA_"ADC_%0_K06*C1301_^1SECDA_!ADC_%0_K06*C1301_^1_(NUM_$1_K06*C1301_^1_(NUM_$0_K06*C1301_^1*_]06*C1301_^1_(LDQ-_#AINT,I_F06*C1301_^1_(LDA-_#1,Q_I06*C1301_^1_(AND-_#LPMASK+15_(CLEAR I/O BIT_-06*C1301_^1_(STA-_#1,Q_I06*C1301_^1*_]06*C1301_^1_(LDA-_#MSGP,I_F06*C1301_^1_(AND-_#LPMASK+4_D06*C1301_^1_(STA-_#ATEMP,I_E06*C1301_^1*_]06*C1301_^1_(AND-_#ONEBIT+3_D06*C1301_^1_(SAZ_$N€€OOF_-SKIP IF NO OVER-FLOW_%06*C1301_^1_(LDA-_#ATEMP,I_E06*C1301_^1_(AND-_#LPMASK+3_D06*C1301_^1_(ENQ_$8_K06*C1301_^1_(STQ-_#ATEMP,I_*ATEMP= NO OF MESSAGES_$06*C1301_^1NOOF_#STA-_#ATEMP+1,I_(ATEMP+1=INDEX ON DISK_$06*C1301_^1_(LDA-_#MSGP,I_F06*C1301_^1_(AND-_#NZERO+4_E06*C1301_^1_(STA-_#MSGP,I_F06*C1301_^1_(ENA_$0_K06*C1301_^1_(RTJ-_#(DISP)_F06*C1301_^1_(ADC_$SETDIS_+SET DISPLAY FOR€€ DATA_%06*C1301_^1_(RTJ-_#(DISP)_F06*C1301_^1_(ADC_$CLRALL_+CLEAR SCREEN_.06*C1301_^1*_]06*C1301_^1LOPMSG_!LDA-_#ATEMP+1,I_(SET UP PARAMETER FOR DISPLY06*C1301_^1_(MUI_$=N12_H06*C1301_^1_(TRA_$Q_K06*C1301_^1_(ADQ-_#AINT,I_F06*C1301_^1_(INQ_$4_K06*C1301_^1_(LDA-_#ONEBIT+13_C06*C1301_^1_(INA_$24_J06*C1301_^1_(RTJ-_#(DISP)_F06*C1301_^1_(ADC_$DLINE_,DISPLAY LINE_.06*C1301_^1_(LDA-_#ATE€€MP,I_E06*C1301_^1_(INA_$-1_/DECREMENT 'NO OF MSG TO_"06*C1301_^1_(STA-_#ATEMP,I_*BE DISPLAYED_.06*C1301_^1_(SAZ_$OUTMSG_F06*C1301_^1_(LDA-_#ATEMP+1,I_C06*C1301_^1_(INA_$1_0INCREASE MESSAGE ADDR_$06*C1301_^1_(STA-_#ATEMP+1,I_C06*C1301_^1_(INA_$-8_/CHECK FOR CYCLIC MESSAGES 06*C1301_^1_(SAN_$1_K06*C1301_^1_(STA-_#ATEMP+1,I_C06*C1301_^1_(JMP*_#LOPMSG_+DISPLAY NEXT LINE_)06*C1301_^1OU€€TMSG_!ENA_$1_K06*C1301_^1_(RTJ-_#(GETSTR)_)GET EITHER 'CANCEL'_'06*C1301_^1_(LDQ-_#AINT,I_+OR 'RESET' CHAR_+06*C1301_^1_(LDA-_#2,Q_I06*C1301_^1_(ARS_$8_K06*C1301_^1_(INA_$-1_J06*C1301_^1_(SAZ_$EXTMSG_F06*C1301_^1_(LDA-_#4,Q_I06*C1301_^1_(ARS_$8_K06*C1301_^1_(AND-_#LPMASK+8_D06*C1301_^1_(INA_$-RES_H06*C1301_^1_(SAZ_$EXTMSG_F06*C1301_^1_(JMP*_#OUTMSG_F06*C1301_^1*_]06*C1301_^1EXTMSG_€€!RTJ-_#(DISP)_F06*C1301_^1_(ADC_$REGEN_G06*C1301_^1_(LDA-_#SW1,I_G06*C1301_^1_(AND-_#ZROBIT+8_D06*C1301_^1_(STA-_#SW1,I_G06*C1301_^1_(JMP-_#(CLRSR)_E06*C1301_^1*_]06*C1301_^1NOMSG_"TRQ_$A_K06*C1301_^1_(INA_$-1_^1_(MUI_$=N12_^1_(TRA_$Q_^1_(LDA_$=XSIERRM_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#DA_^1_(STA*_#DA+1_^1_(LDQ-_#AINT,I_^1_(LDA-_#1,Q_^1_(EOR-_#ONEBIT+15_(SET I/O BIT ON INTERROGATE BUFFE€€R_^1_(STA-_#1,Q_^1_(INQ_$4_^1_(STQ*_#CORADD_^1_(RTJ-_#(REDDWA)_^1CORADD_!0_'0_^1DA_%0_'0_^1_(0_'0_^1_(NUM_$12_/READ DOWN 12 WORDS_^1_(NUM_$0_^1*_]_^1LOCAL_!EQU_%LOCAL(CORADD)_^1*_]_^1_(LDQ-_#AINT,I_+DISPLAY THE MESSAGE IN INTERROGATE_^1_(INQ_$4_0BUFFER_^1_(ENA_$24_^1_(RTJ-_#(DISP)_^1_(ADC_$DLINE_^1*_]_^1_(LDA-_#SW1,I_,SET RESET MUST BE NEXT AND RESET_^1_(EOR-_#ONEBIT+7_^1_(STA-_#SW€21,I_^1_(JMP-_#(CLRSR)_^1_(EQU_$EDER(*)_^1_(END_^__2PDMP2 CSY/ P€1_%NAM DMP2_)DECK-ID M09 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1*DMP SECOND OVERLAY_^1*_]_^1_(EXT_$SETMOV,BD,DB,GETLJD,MOVREC,PRTMSG_^1_(EXT_$ADAYTO,AMONTO_^1_(EXT_$SPILSR_+IN SPILL CLC SEV MODE_$08*C1500_^1_(EQU_$ENTSR($91),EXTSR($92)€€,SUPRW($97),RTNSR($98)_^1_(EQU_$TAPIO($9A),EXDFUN($9F),SPIL($A1),REDSEC($A7)_^1_(EQU_$WRTSEC($A8),RELFOR($AD),CAM($AE),WAIT($B0)_^1_(EQU_$SV($B1),REJSUP($B2)_^1* SST EQUATES_^1_(EQU_$SST($47),TEMP1(20),TEMP2(21),RPF(13)_^1_(EQU_$SFDA(5),ESSF(6),RCSSF(7),DSKST(29)_^1* ATT EQUATES_^1_(EQU_$FTOB(1),JIDX(3),TRB(6),ABTIDX(22),TRMNT(23)_^1_(EQU_$IRB(27),BATCH(35),MTCA(46),ATEMP(73)_^1* C€€OM.AREA EQUATES_^1_(EQU_$DT(MTCA)_)DUMP TYPE_^1_(EQU_$NO(MTCA+1)_'DISK NO. OR JOB INDEX_^1_(EQU_$BMODE(MTCA+2)_#BATCH MODE (FROM THE COMMAND)_^1_(EQU_$FILEN(MTCA+3)_#FILE NO._^1_(EQU_$COUNTR(MTCA+4)_"S.F RECORDS COUNTER_^1_(EQU_$NXTDA(MTCA+5)_#NEXT DISK ADDR._^1_(EQU_$NOSEC(MTCA+6)_#SECTOR COUNTER_^1_(EQU_$NOTRK(MTCA+7)_#TRACK COUNTER_^1_(EQU_$BN(MTCA+8)_'BATCH NO_^1_(EQU_$JN(MTCA+€€9)_'JOB NAME_^1_(EQU_$DTEMP(MTCA+12)_"TEMPORARY_^1_(EQU_$SEVBCH(MTCA+13)_!SEV BATCH SPILL PAR._%08*C1500_^1_(EQU_$SAVE1(MTCA+14)_>08*C1500_^1_(EQU_$SAVE2(MTCA+15)_>08*C1500_^1_(EQU_$SAVE3(MTCA+16)_>08*C1500_^1* GENERAL EQUATES_^1_(EQU_$BLOCK(4)_)BUF. LEBGTH,IN SECTORS._^1_(EQU_$FR(2),FW(3),MO(4),BW(9)_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23)_^1_(EQU_$ZROBIT($33),D($44)_^€€1*_]_^1HDMP2_"VFD_$N1/1,N1/1,X14/EDMP2-*_^1_(ADC_$1,0,0,DMP2-HDMP2_^1*_]_^1DMP2_#RTJ+_#SETMOV_^1_(LDA-_#DT,I_^1_(TCA_$A_^1_(SAZ_$SFGATE_^1_(LDQ_$=XBLOCK*96+91+3_"DMP,J AND DMP,D BUF.LENGTH_^1_(JMP*_#GETRB_^1SFGATE_!LDA_$=N0_.DMP,S GATE_^1_(SAZ_$STOPEN_^1_(RTJ-_#(WAIT)_^1_(RTJ_$TERMIN_+CHECK TERMINATE BIT_^1_(JMP*_#SFGATE_^1STOPEN_!RAO*_#SFGATE+1_^1_(ENQ_$96+3_-DMP,S BUF.LENGTH_^1G€€ETRB_"STQ-_#ATEMP,I_*GET TRB BUF._^1_(ENA_$-100_^1_(STA-_#ATEMP+1,I_^1GETRB1_!LDQ-_#ATEMP,I_^1_(RTJ-_#(CAM)_^1_(SAP_$GETRB2_^1_(RTJ-_#(WAIT)_^1_(RAO-_#ATEMP+1,I_^1_(LDA-_#ATEMP+1,I_^1_(SAP_$1_^1_(JMP*_#GETRB1_^1_(RTJ_$RELEAS_+OPEN SFGATE IF DMP,S._^1_(ENA_$11_^1_(JMP-_#(REJSUP)_)CAM FAILLED_^1GETRB2_!STQ-_#TRB,I_^1_(LDA_$=XTRB,I_^1_(STA-_#(ZERO),Q_^1* SET DATE IN HEADERS_^1_(LDA+_#€€AMONTO_^1_(STA_$DATE1_^1_(STA_$DATE2_^1_(LDA+_#ADAYTO_^1_(STA_$DATE1+1_^1_(STA_$DATE2+1_^1* PRINT DUMP STARTED_^1_(LDA-_#FILEN,I_^1_(INA_$1_^1_(RTJ+_#BD_^1_(CLR_$Q_^1_(LLS_$4_^1_(QLS_$4_^1_(LLS_$4_^1_(ADQ_$=N$2030_^1_(STQ_$MSG1A_^1_(CLR_$Q_^1_(LLS_$4_^1_(QLS_$4_^1_(LLS_$4_^1_(ADQ_$=N$3030_^1_(STQ_$MSG1A+1_^1_(RTJ_$WRITE_^1_(ADC_$MSG1-*_+DUMP STARTED,FILE XXXX_^1_(ADC_$EMSG1-MSG1_^1€€*_]_^1_(LDA-_#DT,I_^1_(TCA_$A_^1_(SAZ_$DMPST_^1_(JMP_$DMPBCH_^1DMPST_"LDQ-_#SST_^1_(LDA-_#SFDA,Q_+S.F DISK ADDRESS_^1_(STA-_#NXTDA,I_^1_(STA*_#WRITES+2_^1_(SUB-_#ESSF,Q_+END OF S.F_^1_(INA_$-1_^1_(STA-_#NOSEC,I_*-NO. OF SECTORS IN S.F_^1_(RAO-_#FILEN,I_*FILE NO._^1_(LDA-_#FILEN,I_^1_(STA_$DATE1+2_^1_(LDA-_#RCSSF,Q_E03*C1053_^1_(SAN_$OPENSF_F03*C1053_^1_(RTJ_$WRITE_G03*C1053_^1_(ADC€€_$MSG2-*_F03*C1053_^1_(ADC_$EMSG2-MSG2_B03*C1053_^1_(JMP_$REJEXT_F03*C1053_^1OPENSF_!LDQ-_#IRB,I_G03*C1053_^1_(INQ_$4_^1_(STQ*_#TO1_^1_(RTJ+_#MOVREC_^1FROM1_"ADC_$(STFHDR-*)_^1TO1_$ADC_$0_^1_(NUM_$16_^1_(CLR_$A_K05*C1272_^1_(STA-_#BATCH,I_*CLEAR L.U._005*C1272_^1* WRITE S.F HEADER FROM IRB_^1_(ENQ_$BW_^1_(RTJ-_#(TAPIO)_^1_(ADC_$0,16_^1_(RTJ*_#CHECK1_^1* READ S.F_]_^1REDSF1_!LDA-_#N€€OSEC,I_*LAST SECTOR ?_^1_(SAM_$1_0NO_^1_(JMP*_#PRIOUP_^1_(RAO-_#NOSEC,I_^1REDSF2_!LDQ-_#TRB,I_^1_(RTJ_$SETIOB_F05*C1172_^1_(INQ_$3_0Q=C.A_^1_(LDA-_#NXTDA,I_*A=D.A_^1_(RTJ_$READ_-READ 1 SECTOR_^1_(NUM_$1_^1_(RTJ*_#TERMIN_F05*C1096_^1_(LDQ-_#TRB,I_^1_(INQ_$3_^1_(STQ*_#WRITSF+2_^1*_]03*C1053_^1* CHECK IF LAST RECORD WAS READ_^1_(ENA_$0_^1_(STA-_#DTEMP,I_^1*_]03*C1053_^1SRCHES_!LDA-_#D€€TEMP,I_*SEARCH ES_^1_(INA_$-6_^1_(SAM_$NXTREC_^1_(RAO-_#NXTDA,I_^1_(LDA-_#COUNTR,I_^1_(INA_$6_^1_(STA-_#COUNTR,I_D04*C1033_^1WRITSF_!ENQ_$BW_/WRITE STATISTICS BLOCK_#04*C1063_^1_(RTJ-_#(TAPIO)_E04*C1063_^1_(ADC_$0_K04*C1063_^1_(NUM_$96_J04*C1063_^1_(RTJ*_#CHECK1_F04*C1063_^1_(LDA-_#DTEMP,I_E04*C1063_^1_(INA_$-6_J04*C1063_^1_(SAM_$1_K04*C1063_^1_(JMP*_#REDSF1_F04*C1063_^1_(JMP*_#END€€SF1_F04*C1063_^1NXTREC_!LDA-_#(ZERO),Q_D03*C1053_^1* ONE CARD HAS BEEN DELETED_C05*C1128_^1_(SAZ_$ENDSF_G03*C1053_^1_(RAO-_#DTEMP,I_^1_(INQ_$16_^1_(JMP*_#SRCHES_^1*_]_^1ENDSF_"ENA_$6_0PADD LAST BLOCK WITH $FF_!04*C1063_^1_(SUB-_#DTEMP,I_E04*C1063_^1_(ALS_$4_K04*C1063_^1_(STA-_#TEMP1+SST_C04*C1063_^1_(AAQ_$Q_K04*C1063_^1PADLOP_!LDA-_#TEMP1+SST_C04*C1063_^1_(INA_$-1_J04*C1063_^1_(STA€€-_#TEMP1+SST_C04*C1063_^1_(SAP_$1_K04*C1063_^1_(JMP*_#WRITSF_F04*C1063_^1_(INQ_$-1_J04*C1063_^1_(SET_$A_K04*C1063_^1_(STA-_#(ZERO),Q_D04*C1063_^1_(JMP*_#PADLOP_F04*C1063_^1ENDSF1_!ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$2200_,WRITE 2 T.M._^1_(RTJ*_#CHECK1_^1_(LDA-_#BMODE,I_^1_(INA_$-D_/DELETE OPTION ?_^1_(SAZ_$1_0YES_^1_(JMP*_#COMPL1_+NO_^1_(LDQ-_#SST_^1_(LDA-_#RCSSF,Q_^1_(SUB-_#COUNTR€€,I_^1_(SUB-_#DTEMP,I_^1_(SAZ_$PRIOUP_+NO MORE RECORDS_^1_(ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$1110_G02*C1031_^1_(RTJ*_#CHECK1_^1_(JMP*_#REDSF2_+READ AGAIN_004*C1063_^1PRIOUP_!RAO-_#RPF+SST_*INCREASE RQ. PRIORITY_^1_(CLR_$A_^1_(STA-_#RCSSF,Q_^1_(LDQ-_#TRB,I_^1_(INQ_$3_^1_(STQ*_#WRITES+1_D02*C1031_^1_(CLR_$A_K05*C1128_^1_(STA-_#(ZERO),Q_^1WRITES_!RTJ-_#(WRTSEC)_)WRITE ES ON BEGINNING€€ OF ES_^1_(NUM_$0_0C.A_^1_(NUM_$0_0D.A_^1_(NUM_$1_^1_(NUM_$0_^1_(JMP*_#COMPL1_^1*_]_^1CHECK1_!NUM_$0_0CHECK TAPE I/O ERROR_^1_(ALS_$6_^1_(SAM_$EOT1_H03*C1053_^1_(ALS_$10_^1_(SQM_$TIOER1_+TAPE I/O ERROR_^1_(JMP*_#(CHECK1)_^1*_]_^1TIOER1_!ENA_$58_^1_(RTJ+_#PRTMSG_^1_(JMP*_#ERREXT_^1*_]_^1EOT1_#ENA_$59_^1_(RTJ+_#PRTMSG_^1_(JMP*_#ERREXT_^1*_]_^1COMPL1_!ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(NUM€€_$$2240_,REWIND UNLOAD_^1COMPL2_!RTJ*_#RELEAS_^1_(JMP-_#(SV)_^1*_]_^1TERMIN_!NUM_$0_^1_(LDA-_#TRMNT,I_*CHECK TERMINATE BIT_^1_(ALS_$1_^1_(SAM_$1_^1_(JMP*_#(TERMIN)_)RETURN_^1_(ENA_$39_/TERMINATE_^1_(RTJ+_#PRTMSG_^1_(JMP*_#ERREXT_^1*_]_^1RELEAS_!NUM_$0_^1_(LDQ-_#TRB,I_^1_(SAZ_$1_^1_(RTJ-_#(RELFOR)_)RELEASE TRB_^1_(LDA-_#DT,I_^1_(TCA_$A_^1_(SAN_$RELOUT_^1_(STA_$SFGATE+1_)OPEN DMP,S_^€€1RELOUT_!JMP*_#(RELEAS)_^1*_]_^1ERREXT_!ENQ_$MO_J03*C1053_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$6220_,SKIP FILE BACK AND WRITE 2 T.M_^1REJEXT_!RTJ*_#RELEAS_F03*C1053_^1_(SET_$A_^1_(JMP-_#(REJSUP)_^1*_]_^1* WRITE MESSAGE ROUTINE_^1WRITE_"NUM_$0_^1_(LDA*_#(WRITE)_^1_(EOR-_#ONEBIT+15_^1_(ADD*_#WRITE_^1_(AND-_#LPMASK+15_^1_(STA*_#FROM2_^1_(LDQ*_#WRITE_^1_(LDA-_#1,Q_^1_(STA*_#NW2A_^1_(STA*_#NW2B_€€^1_(INQ_$2_^1_(STQ*_#RTRNAD_^1_(LDQ-_#IRB,I_^1_(INQ_$4_^1_(STQ*_#TO2_^1_(JMP*_#RTRNAD+1_^1RTRNAD_!ADC_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(RTJ+_#MOVREC_^1FROM2_"ADC_$0_^1TO2_$ADC_$0_^1NW2A_#ADC_$0_^1_(ENQ_$FW_^1_(RTJ-_#(SUPRW)_^1_(ADC_$0_^1NW2B_#ADC_$0_^1_(JMP-_#(EXTSR)_^1*_]_^1STFHDR_!ALF_$*,DMPS*_*S.F HEADER_^1DATE1_"ALF_$*,MMDD00*_^1_(NUM_$0,0,0_G03*C1053_^1_(NUM_$0,0,0,0,0€€,0,0,0_^1*_]_^1MSG1_#ALF_$*,DUMP STARTED,FILE *_^1MSG1A_"ALF_$*,0000*_^1_(EQU_$EMSG1(*)_^1*_]_^1MSG2_#ALF_$*,STATISTICS FILE EMPTY*_403*C1053_^1_(EQU_$EMSG2(*)_D03*C1053_^1*_]03*C1053_^1MSG6_#ALF_$*,END OF TAPE *_^1_(ALF_$*,- PUT NEW TAPE AND TYPE CU. *_^1_(EQU_$EMSG6(*)_^1*_]_^1MSG7_#ALF_$*, BBB JJJJJJ*_^1_(EQU_$EMSG7(*)_^1*_]_^1MSG8_#ALF_$*, BBB JJJJJJ REJECTED; *_^1MSG81_"ALF€€_$*,DISK X DESELECTED*_^1_(EQU_$EMSG8(*)_^1MSG9_#ALF_$*, BBB JJJJJJ REJECTED; BATCH IN MAINTENANCE MODE*_^1_(EQU_$EMSG9(*)_^1DMPBCH_!LDA-_#DT,I_^1_(INA_$-1_^1_(SAZ_$2_0DUMP ONE JOB_^1_(ENA_$1_^1_(JMP*_#*+2_^1_(LDA-_#NO,I_^1_(ALS_$8_^1STJIDX_!STA-_#JIDX,I_^1GETJOB_!ENQ_$2_^1_(RTJ+_#GETLJD_^1JNAME_"ALF_$*,123456*_^1_(NUM_$0_^1_(NUM_$0_^1_(JMP*_#GETJOB_+RETRY_^1_(LDA-_#JIDX,I_^1_(AL€€S_$8_^1_(STA-_#JIDX,I_^1_(SQN_$1_^1_(JMP*_#NXTJOB_^1_(ENA_$0_^1_(STA-_#BN,I_^1_(LDA*_#JNAME_,SAVE JOB NAME_^1_(STA-_#JN,I_^1_(LDA*_#JNAME+1_^1_(STA-_#JN+1,I_^1_(LDA*_#JNAME+2_^1_(STA-_#JN+2,I_^1NXTBCH_!RTJ_$TERMIN_+CHECK TERMINATE BIT_^1_(LDQ-_#TRB,I_^1_(RTJ_$CLRIOB_+GIVE TRB CHANCE TO MOVE_^1_(LDA-_#BN,I_-BATCH NO._^1_(SUB_$=N1000_^1_(SAM_$1_^1_(JMP*_#NXTJOB_^1_(LDA-_#BN,I_^1_(RTJ€€+_#BD_^1_(STA_$SPIL2_^1_(LDA-_#JIDX,I_^1_(AND-_#LPMASK+8_^1_(STA_$SPIL1_^1_(ENQ_$0_^1_(RTJ_$SPILRT_+GET ABT ENTRY_-08*C1500_^1_(SAZ_$1_^1_(JMP*_#SAVABT_^1_(TRQ_$A_^1_(SQM_$NXTJOB_^1_(JMP*_#SAVABT_^1NXTJOB_!LDA-_#DT,I_^1_(INA_$-1_^1_(SAZ_$LSTJOB_^1_(LDA-_#JIDX,I_^1_(AND-_#LPMASK+8_^1_(INA_$1_^1_(CLR_$Q_^1_(LLS_$8_^1_(SQN_$LSTJOB_^1_(JMP*_#STJIDX_^1LSTJOB_!ENQ_$MO_^1_(RTJ-_#(TAPIO)_^€€1_%ADC $2000_(WRITE FINAL TAPE MARK_/*CYB342_^1_(JMP_$COMPL2_^1*_]_^1DOWN_#ADQ_$=N$2031_*DISK NO_305*C1102_^1_(STQ*_#MSG81+2_^1_(RTJ*_#SETMSG_^1_(ADC_$(MSG8-*)_^1_(RTJ_$WRITE_^1_(ADC_$MSG8-*_^1_(ADC_$EMSG8-MSG8_^1_(JMP*_#NXTBCH_^1BUSY_#RTJ*_#SETMSG_^1_(ADC_$(MSG9-*)_^1_(RTJ_$WRITE_^1_(ADC_$MSG9-*_^1_(ADC_$EMSG9-MSG9_^1_(JMP*_#NXTBCH_^1SETMSG_!NUM_$0_0PUT BATCH NO. AND JOB NAM IN M€€SG._^1_(LDA-_#BATCH,I_^1_(AND-_#LPMASK+12_^1_(ENQ_$$20_^1_(LLS_$8_^1_(INQ_$$30_^1_(STQ-_#TEMP1+SST_^1_(CLR_$Q_^1_(LLS_$4_^1_(QLS_$4_^1_(LLS_$4_^1_(ADQ_$=N$3030_^1_(STQ-_#TEMP2+SST_^1_(LDA*_#(SETMSG)_^1_(ADD*_#SETMSG_^1_(AND-_#LPMASK+15_^1_(TRA_$Q_^1_(LDA-_#TEMP2+SST_^1_(STA-_#1,Q_^1_(LDA-_#TEMP1+SST_^1_(STA-_#(ZERO),Q_^1_(LDA-_#JN,I_^1_(STA-_#3,Q_^1_(LDA-_#JN+1,I_^1_(STA-_#4,Q_^1_(€€LDA-_#JN+2,I_^1_(STA-_#5,Q_^1_(LDQ*_#SETMSG_^1_(JMP-_#1,Q_^1*_]_^1SAVABT_!STA-_#ABTIDX,I_)SAVE ABT ENTRY IN ATT_^1_(LDA_$SPIL1_G08*C1500_^1_(STA-_#JIDX,I_^1_(LDA_$SPIL3_G08*C1500_^1*_]08*C1500_^1_(STA-_#FTOB,I_^1_(LDA_$SPIL2_G08*C1500_^1_(AND-_#LPMASK+15_(CLEAR SEV BIT_-08*C1500_^1_(STA-_#BATCH,I_^1_(AND-_#LPMASK+12_^1_(RTJ+_#DB_^1_(INA_$1_0NEXT BATCH#_^1_(STA-_#BN,I_^1_(LDA*_#SPIL€€2_G08*C1500_^1_(SAP_$CONREG_+NOT SEV_308*C1500_^1_(JMP_$SEV_I08*C1500_^1*_]08*C1500_^1* CHECK BATCH MODE_^1CONREG_!LDA-_#JIDX,I_F08*C1500_^1_(ALS_$3_^1_(AND-_#LPMASK+3_)MODE_^1_(TRA_$Q_^1_(INQ_$-7_^1_(SQN_$2_K08*C1500_^1_(LDA-_#FTOB,I_+MODE=M_408*C1500_^1_(LDA*_#SPIL3_,MODE=M_^1_(AND-_#LPMASK+3_^1_(ENQ_$1_^1_(INA_$-2_^1_(SAZ_$CHKMOD_+ENTRY FROZEN_^1_(INA_$2-4_^1_(SAZ_$CHKMOD_+VERIF€€Y FROZEN_^1_%ENQ 2_Q06*C1378_^1_(INA_$4-1_^1_(SAZ_$CHKMOD_,ENTRY COMPLETED_^1*_]06*C1378_^1_(INA_$1-5_^1_(SAZ_$CHKMOD_+COMPLETED_^1_(ENQ_$4_^1_(INA_$5-6_^1_(SAZ_$CHKMOD_+WRITTEN_^1_(JMP_$NXTBCH_F08*C1500_^1CHKMOD_!LDA-_#FTOB,I_F08*C1500_^1_(AND-_#NZERO+3_E08*C1500_^1_(STA-_#FTOB,I_F08*C1500_^1_(LDA-_#BMODE,I_*COMMAND BATCHES MODES_$08*C1500_^1_(SAZ_%PATCH_^1_(LAQ_%Q_^1_(SQN_%PATCH€€_^1_(JMP_%NXTBCH_^1PATCH_"LDA-_$DT,I_-DMP,D ?_^1_(SAP_$CHKDST_+NO_^1_(LDA-_#BATCH,I_*YES_^1_(ARS_$12_/DISK NO._^1_(SUB-_#NO,I_^1_(SAZ_$STARTB_^1_(JMP_$NXTBCH_+NOT SAME DISK NO._^1CHKDST_!LDQ-_#SST_.CHECK DISK STATUS_^1_(LDA-_#DSKST,Q_^1_(ARS_$4_^1_(LDQ-_#BATCH,I_^1_(QRS_$12_/DISK NO._^1_(AND-_#ONEBIT,Q_^1_(SAZ_$STARTB_^1_(JMP*_#DOWN_-DISK DOWN_^1STARTB_!LDA-_#JIDX,I_F08*C1500_^1_(A€€LS_$3_^1_(AND-_#LPMASK+3_^1_(INA_$-7_^1_(SAN_$1_^1_(JMP*_#BUSY_-MODE=M_^1_(LDA-_#ABTIDX,I_)SET BATCH MODE TO BUSY_^1_(STA*_#SPIL1_^1_(LDA-_#JIDX,I_^1_(AND-_#LPMASK+13_^1_(EOR_$=N$E000_^1_(STA*_#SPIL2_^1_(SET_$Q_0MODIFY 1 WORD_-08*C1500_^1_(RTJ*_#SPILRT_+THROUGH SPILL_-08*C1500_^1_(RTJ*_#SETMSG_^1_(ADC_$(MSG7-*)_^1_(RTJ_$WRITE_,WRITE:BBB STARTED_^1_(ADC_$MSG7-*_^1_(ADC_$EMSG7-MSG7_^€€1_(RAO-_#FILEN,I_*WRITE BATCH HEADER_^1_(LDA-_#FILEN,I_^1_(STA*_#DATE2+2_^1_(LDA-_#JN,I_^1_(STA*_#JOBNAM_^1_(LDA-_#JN+1,I_^1_(STA*_#JOBNAM+1_^1_(LDA-_#JN+2,I_^1_(STA*_#JOBNAM+2_^1_(LDA-_#JIDX,I_^1_(STA*_#ABTENT_^1_(LDA-_#BATCH,I_^1_(STA*_#ABTENT+1_^1_(LDA-_#FTOB,I_^1_(STA*_#ABTENT+2_^1_(LDA-_#IRB,I_^1_(INA_$4_^1_(STA*_#TO3_^1_(RTJ+_#MOVREC_^1FROM3_"ADC_$(BATHDR-*)_^1TO3_$ADC_$0_^1_€€(NUM_$16_^1_(ENQ_$BW_^1_(RTJ-_#(TAPIO)_^1_(ADC_$0,16_^1_(RTJ_$CHECK2_+CHECK TAPE ERROR_*08*C1500_^1_(JMP*_#READ1_,READ TRACKS TABLE SECTOR_^1*_]_^1SPILRT_!NUM_$0_K08*C1500_^1_(RTJ-_#(ENTSR)_^1_(STQ-_#DTEMP,I_*SAVE Q_^1_(RTJ+_#SETMOV_^1* SAVE FOR REENTRANCY_I08*C1500_^1_(LDA*_#SPIL1_G08*C1500_^1_(STA-_#SAVE1,I_E08*C1500_^1_(LDA*_#SPIL2_G08*C1500_^1_(STA-_#SAVE2,I_E08*C1500_^1_(LDA*_€€#SPIL3_G08*C1500_^1_(STA-_#SAVE3,I_E08*C1500_^1SPILOP_!LDA-_#SAVE1,I_E08*C1500_^1_(STA*_#SPIL1_G08*C1500_^1_(LDA-_#SAVE2,I_E08*C1500_^1_(STA*_#SPIL2_G08*C1500_^1_(LDA-_#SAVE3,I_E08*C1500_^1_(STA*_#SPIL3_G08*C1500_^1*_]08*C1500_^1_(LDQ-_#DTEMP,I_E08*C1500_^1_(RTJ-_#(SPIL)_^1SPIL1_"NUM_$0_^1SPIL2_"NUM_$0_^1SPIL3_"NUM_$0_^1_(JMP*_#SPILOP_^1_(JMP-_#(EXTSR)_^1*_]_^1BATHDR_!ALF_$*,DMPB*_€€^1DATE2_"ALF_$*,MMDD00*_^1JOBNAM_!ALF_$*,123456*_^1ABTENT_!NUM_$0,0,0,0,0,0,0,0_^1*_]_^1CLRIOB_!NUM_$0_0CLEAR I/O BIT_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+15_^1_(STA-_#1,Q_^1_(JMP*_#(CLRIOB)_^1SETIOB_!NUM_$0_0SET I/O BIT_^1_(RTJ*_#CLRIOB_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(JMP*_#(SETIOB)_^1*_]_^1READ_#NUM_$0_0READ SECTORS_^1_(RTJ-_#(ENTSR)_^1_(STQ*_#CA1_.C.A_^1_(STA*_#DA1_.D.A_^1_(RTJ+€€_#SETMOV_^1_(LDA*_#(READ)_^1_(STA*_#NOS_.NO. OF SECTORS_^1_(LDA-_#BATCH,I_^1_(ARS_$12_^1_(AND-_#LPMASK+2_)DISK NO._^1_(STA*_#DNO_^1_(RTJ-_#(REDSEC)_^1CA1_$NUM_$0_^1DA1_$NUM_$0_^1NOS_$NUM_$0_^1DNO_$NUM_$0_^1_(RTJ-_#(RTNSR)_^1*_]05*C1096_^1_(JMP-_#1,Q_.RETURN_^1*_]_^1READ1_"LDQ-_#TRB,I_,READ FIRST SECTOR OF THE BATCH_^1_(RTJ*_#SETIOB_^1_(INQ_$3_^1_(LDA-_#FTOB,I_^1_(RTJ*_#READ_^1_(ADC€€_$1_^1_(CLR_$A_^1_(STA-_#NOTRK,I_^1_(STA-_#NOSEC,I_^1READ2_"LDA-_#NOSEC,I_^1_(INA_$-16_^1_(SAM_$READ2A_^1_(CLR_$A_^1_(STA-_#NOSEC,I_^1_(RAO-_#NOTRK,I_^1READ2A_!LDQ-_#TRB,I_^1_(ADQ-_#NOTRK,I_^1_(LDA-_#3,Q_.TRACK ADD._^1_(SAN_$1_^1_(JMP*_#ENDBCH_^1_(ADD-_#NOSEC,I_*NEXT SEC. ADD._^1_(LDQ-_#TRB,I_^1_(INQ_$3+91_-CORE ADD._^1_(RTJ*_#READ_^1_(ADC_$BLOCK_,NO OF SECTORS IN THE BUF._^1_(LDA-€€_#NOSEC,I_^1_(INA_$BLOCK_^1_(STA-_#NOSEC,I_^1_(LDA-_#TRB,I_^1_(INA_$3+91_^1_(STA*_#WRITEB+2_^1WRITEB_!ENQ_$BW_^1_(RTJ-_#(TAPIO)_^1_(ADC_$0_^1_(ADC_$BLOCK*96_^1_(RTJ*_#CHECK2_^1_(JMP*_#READ2_^1ENDBCH_!ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(ADC_$$2000_,WRITE T.M_^1_(RTJ*_#CHECK2_^1*_$6 CARDS DELETED_H*CYB342_^1_(RTJ*_#ABTUPD_^1_(JMP_$NXTBCH_^1*_]_^1ABTUPD_!NUM_$0_0UPDATE BATCH MODE IN ABT_^1_€€(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(LDA-_#ABTIDX,I_^1_(STA*_#SPIL1_^1_(LDA-_#JIDX,I_^1_(STA*_#SPIL2_^1_(SET_$Q_0MODIFY 1 WORD_-08*C1500_^1_(RTJ_$SPILRT_+THROUGH SPILL_-08*C1500_^1_(JMP-_#(EXTSR)_^1*_]_^1* IF SEV:VER/SEV NOT DMPED.VER/ SEV SHOULD BE FROZEN ._'08*C1500_^1*_]08*C1500_^1SEV_$RTJ+_#SPILSR_+CLC SEV MODE_.08*C1500_^1_(ADC_$*-SPIL1_E08*C1500_^1_(SAM_$OKSEV_,SEV LEGAL MODE€€_,08*C1500_^1_(JMP*_#NXTB1_,NEXT BATCH_008*C1500_^1OKSEV_"EOR-_#ONEBIT+14_(SECOND COPY_/08*C1500_^1_(AND_$=N$CFFF_E08*C1500_^1_(STA-_#SEVBCH,I_D08*C1500_^1*_]08*C1500_^1*_]08*C1500_^1SEVTRY_!LDA-_#JIDX,I_+GET SECOND COPY_+08*C1500_^1_(AND-_#LPMASK+8_D08*C1500_^1_(STA*_#SEVPR1_F08*C1500_^1_(LDA-_#SEVBCH,I_D08*C1500_^1_(STA*_#SEVPR2_F08*C1500_^1_(CLR_$Q_K08*C1500_^1_(RTJ-_#(SPIL)_F08€€*C1500_^1SEVPR1_!NUM_$0_K08*C1500_^1SEVPR2_!NUM_$0_K08*C1500_^1SEVPR3_!NUM_$0_K08*C1500_^1_(JMP*_#SEVTRY_F08*C1500_^1_(SAN_$SEVFND_F08*C1500_^1_(JMP*_#ENT1_-NO SECOND. DMP THE ONLY BCH08*C1500_^1*_]08*C1500_^1*_]08*C1500_^1SEVFND_!STA-_#SST+TEMP1_(SAVE ABTIDX_/08*C1500_^1_(LDA-_#JIDX,I_+ASSUM VER IS ABT 1_(08*C1500_^1_(LDQ-_#SEVBCH,I_D08*C1500_^1_(QLS_$1_K08*C1500_^1_(SQP_$1_K08*C1€€500_^1_(LDA*_#SEVPR1_+VER IS ABT 2_.08*C1500_^1_(AND-_#NZERO+13_D08*C1500_^1_(EOR-_#ONEBIT+15_(VFRZ?_508*C1500_^1_(SAZ_$OKVER_,YES_708*C1500_^1NXTB1_"JMP_$NXTBCH_F08*C1500_^1OKVER_"SQM_$ENT1_-FIRST COPY IS ENT_)08*C1500_^1*_]08*C1500_^1_(LDA-_#SST+TEMP1_(UPDATE ABTIDX IN ATT_%08*C1500_^1_(STA-_#ABTIDX,I_)+SPIL1,SPIL2,SPIL3_(08*C1500_^1_(LDA*_#SEVPR1_F08*C1500_^1_(STA-_#JIDX,I_F08*C€€1500_^1_(LDA*_#SEVPR2_F08*C1500_^1_(AND-_#LPMASK+15_C08*C1500_^1_(STA-_#BATCH,I_E08*C1500_^1_(LDA*_#SEVPR3_F08*C1500_^1_(STA-_#FTOB,I_F08*C1500_^1_(LDA*_#SEVPR2_F08*C1500_^1_(STA_$SPIL2_G08*C1500_^1_(LDA*_#SEVPR3_F08*C1500_^1_(STA_$SPIL3_G08*C1500_^1ENT1_#JMP_$CONREG_F08*C1500_^1CHECK2_!NUM_$0_^1_(ALS_$6_^1_(SAM_$EOT2_-END OF TAPE_^1_(ALS_$10_^1_(SQM_$TIOER2_+TAPE I/O ERROR_^1_(JMP€€*_#(CHECK2)_^1TIOER2_!RTJ*_#ABTUPD_^1_(JMP_$TIOER1_^1EOT2_#RTJ*_#ABTUPD_^1_(ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(ADC_$$1620_,BACKSPACE RECORD AND FILE_^1_(CLR_$A_^1_(RTJ*_#CHECK2_^1_(LDQ-_#IRB,I_^1_(LDA_$=AEO_^1_(STA-_#4,Q_^1_(LDA_$=AV1_^1_(STA-_#5,Q_^1_(INQ_$4_^1_(STQ*_#WRTEOV+2_^1WRTEOV_!ENQ_$BW_/WRITE END OF VOLUME_^1_(RTJ-_#(TAPIO)_^1_(ADC_$0_^1_(ADC_$16_^1_(CLR_$A_^1_(STA-_#FILEN,I_^€€1_(RTJ*_#CHECK2_^1READCU_!RTJ_$WRITE_^1_(ADC_$MSG6-*_+END OF TAPE - PUT NEW TAPE_^1_(ADC_$EMSG6-MSG6_(AND TYPE CU._^1_(ENQ_$FR_^1_(RTJ-_#(SUPRW)_*READ 2 CHAR_^1_(ADC_$0,2_^1_(LDQ-_#IRB,I_^1_(LDA-_#4,Q_^1_(SUB_$=ACU_^1_(SAZ_$1_^1_(JMP*_#READCU_+TRY AGAIN_^1_(ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(ADC_$$3000_,REWIND_^1_(LDA-_#BN,I_H08*C1523_^1_(INA_$-1_J08*C1523_^1_(STA-_#BN,I_H08*C1523_^1_(J€.MP_$NXTBCH_^1*_]_^1_(EQU_$EDMP2(*)_^1_(END_^__.PDMYINT CSY/ P€1_%NAM DMYINT_'DECK-ID I00 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* DUMMY INTERROGATE FUNCTION_^1_(EQU_$SW1(19)_^1_(EQU_$ERROR($96),E1($1B)_^1_(EQU_$ONEBIT($23),ZROBIT($33)_^1*_]_^1DIHDR_"VFD_$N1/1,N1/1,X14/DIEND-*_^1_(ADC_$1,0,0,DISTRT-DIHD€ΊR_^1DISTRT_!LDA-_#SW1,I_^1_(AND-_#ZROBIT+8_^1_(EOR-_#ONEBIT+8_)SET REGEN BIT_^1_(STA-_#SW1,I_^1_(ENQ_$E1_/ILL. INTERROGATE FUNCTION_^1_(JMP-_#(ERROR)_^1*_]_^1_(EQU_$DIEND(*)_^1_(END_^__ ΊPDOC CSY/ P€1_%NAM DOC_*DECK-ID K14 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(EXT_$SETMOV,CLRFLD,DCHAR,DBOF_^1_(EXT_$DFNDTY_^1_(EXT_$STTYPE,REGEN_^1_(EXT_$SETNFM_^1_(EXT_$FIRSTF_^1_(EXT_%DDOC,DFMT_B06*C1350_^1_(EQU_$BRCNT(15),FLDN(14),RFA(93),FMTNO(13)_(€€09*C1602_^1_(EQU_$BMOD(15)_D09*C1602_^1_(EQU_$RCDRD(31),RCD(32)_^1_(EQU_$CFFA(12)_^1_(EQU_$READN($A6),DISPLY($A0),GFCORE($9D)_^1_(EQU_$REWRIT($A4)_^1_(EQU_%ATRB(6)_^1_(EQU_$PFBA(7),FCNT(3)_^1_(EQU_$ERRA4(4),ERRB2(7)_^1_(EQU_$CURDA(9)_^1_(EQU_$RELFOR($AD)_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$CMODE(2),RCNT(4),DT(13),CURCH(2),AINT(27)_^1_(EQU_$DOCNO€€(17)_^1_(EQU_$ATEMP(73),SW1(19)_^1_(EQU_$CA4($4),CD3($F)_^1_(EQU_$ASCIID($44)_^1_(EQU_$ERROR($96),DISP($A0),GETSTR($A2),CLRSR($93)_^1_(EQU_$EXDFUN($9F),ENTPRG($9E),GETBIN($99)_^1_(EQU_$SST($47),STEMP(20)_^1* DISK RESIDENT PROGRAM_^1* CALLED BY DOC KEY TO CHECK THE VALIDITY OF THE KEY AND TO GET 3 CHAR._^1* IF DOC KEY IS ILLEGAL,EXIT TO ERROR- ILLEGAL FUNCTION._^1* IF THE NUMBER IS €€NOT 1-255 EXIT TO ERROR-INVALID NUMBER._^1* ELSE RELEASE THE PROGRAM AND CALL REDOC OVERLAY._^1HDR_$VFD_$N2/3,N3/0,X11/EDOCKY-*_^1_(VFD_$N10/10,N6/1_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$DOCKEY-HDR_^1DOCKEY_!RTJ_$SETMOV_+SET'R/A ADDR' BIT FOR COMPLETION ADD_^1_(LDA-_#CMODE,I_*IF MODE IS NOT ENTRY EXIT TO ERROR_^1_(AND_$=N$3F00_^1_(SUB-_#ONEBIT+9_^1_(SAN_$1_^1_(JMP*_#READ_^1_(SUB-_#ONEBIT+€€8_^1_(SAN_$ERR_^1_(LDA-_#RCNT,I_+IF NOT AT BEG. OF RCD -EXIT RO ERROR_^1_(SAZ_$DOC1_^1*_]_^1ERR_$ENQ_$CA4_.ILLEGAL FUNCTION KEY_^1_(JMP-_#(ERROR)_^1*_]_^1DOC1_#LDA-_#DT,I_-SET DATA TYPE'NUMERIC'_^1_(AND-_#LPMASK+13_^1_(EOR-_#ONEBIT+15_^1_(STA-_#DT,I_^1*_]_^1_(RTJ-_#(DISP)_^1_(ADC_$DFNDTY_^1_(SET_$A_^1_(ENQ_$4_^1_(RTJ-_#(DISP)_^1_(ADC_$CLRFLD_^1_(LDA-_#CURCH,I_*DISPLAY 'D' CHARACTER€€ TO SIGNIFY THA_^1_(AND-_#NZERO+8_*THE FOLLOWING DIGITS ARE DOC NUMBER._^1_(INA_$ASCIID_^1_(STA-_#CURCH,I_^1_(RTJ-_#(DISP)_^1_(ADC_$DCHAR_^1*_]_^1_(ENA_$4_0GET A RECORD OF 3 CHAR_^1_(RTJ-_#(GETSTR)_^1_(LDQ-_#AINT,I_^1_(LDA-_#2,Q_^1_(ARS_$8_^1_(SAZ_$DOC2_^1_(INA_$-2_^1_(SAM_$CANCEL_^1_(JMP*_#ER1_^1CANCEL_!SET_$A_^1_(ENQ_$4_^1_(RTJ-_#(DISP)_+IF TERMINATE KEY WAS ENTERED_^1_(ADC_$CLRF€€LD_+REGENERATE THE DISPLAY AS BEFORE DOC_^1*_BKEY WAS HIT_^1_(RTJ+_#FIRSTF_,SET UP DATA TYPE_^1_(RTJ-_#(DISP)_^1_(ADC_$DBOF_^1_(JMP-_#(CLRSR)_^1*_]_^1DOC2_#STA-_#SST+STEMP_^1_(RTJ-_#(GETBIN)_)GET DOC NUMBER_^1_(SAM_$ER1_^1_(SQZ_$ER1_^1_)SAZ_$ER1_^1_(TRA_$Q_^1_(SUB-_#ONEBIT+8_^1_(SAP_$ER1_I06*C1350_^1_(JMP*_#OK_J06*C1350_^1ER1_$LDQ-_#PFBA,I_^1_(SQZ_$2_^1_(LDQ-_#(ZERO),Q_^1_(RTJ-_#(R€€ELFOR)_^1_(CLR_$A_^1_(STA-_$PFBA,I_^1_(STA-_#DOCNO,I_E06*C1350_^1_(STA-_$FMTNO,I_^1_(LDA-_$SW1,I_^1_(AND_%=N$FBF7_^1_(EOR_$=N$408_+TURN ON DOC OR FORM SEL MUST BE NEXT_^1_(STA-_#SW1,I_^1_(RTJ-_#(DISPLY)_D06*C1350_^1_(ADC_$DDOC_H06*C1350_^1_(RTJ-_#(DISPLY)_D06*C1350_^1_(ADC_$DFMT_H06*C1350_^1_(ENQ_$CD3_.INVALID NUMBER_^1_(JMP-_#(ERROR)_^1OK_%QLS_$8_^1_(LDA-_#DOCNO,I_^1_(AND-_#LPMASK€€+8_^1_(EAQ_$A_^1_(STA-_#DOCNO,I_^1_(RTJ-_#(EXDFUN)_)RELEASE THE PROGRAM._^1_(CLR_$A_^1_(LDQ_$=N$0801_*LOAD AND GO 'REDOC'_^1_(RTJ-_#(ENTPRG)_^1*_]_^1READ_#CLR_$A_^1_(STA-_#ATEMP+4,I_(CLEAR FLAG WORD_^1_(LDA-_#SW1,I_^1_(AND-_#ONEBIT+13_^1_(SAZ_$1_^1_(RTJ-_#(REWRIT)_^1_(LDA-_#BMOD,I_^1_(AND-_#ONEBIT+13_)IN VERIFY CHECK FOR END OF DATA_^1_(SAN_$READE_^1_(LDQ-_#ATRB,I_,EOD REACHED ?_^1€€_(LDA-_#4,Q_^1_(EOR-_#CURDA+1,I_)IF ALREADY AT END OF DATA_^1_(SAN_$NOTEOD_^1_(LDA-_#6,Q_/GO DIRECTLY TO ERROR_^1_(ALS_$8_^1_(EOR-_#CURDA,I_^1_(AND-_#LPMASK+8_D05*C1160_^1_(SAN_$NOTEOD_^1_(JMP*_#EREX_^1NOTEOD_!LDA-_#5,Q_^1_(SAM_$ERRE1_^1_(JMP*_#SEARCH_^1READE_"LDA-_#RCD,I_-END OF ENTERED DATA ?_^1_(SUB-_#RCDRD,I_^1_(SAN_$4_^1_(LDA-_#BRCNT,I_^1_(AND-_#LPMASK+12_^1_(SAZ_$ERRORE_^1_(J€€MP*_#ERRORE+1_^1_(INA_$-1_^1_(SAN_$SEARCH_^1_(LDA-_#BRCNT,I_+NOW AT EOD ?_^1_(AND-_#LPMASK+12_^1_(SAN_$SEARCH_^1ERRE1_"RAO-_#RCDRD,I_^1ERRORE_!SET_$A_1YES- SET EXIT FLAG_^1_(STA-_#ATEMP+4,I_^1_(JMP*_#FOUND_^1*_]_^1SEARCH_!RTJ-_#(READN)_^1_(RAO-_#RCDRD,I_^1_(LDQ-_#ATRB,I_^1_(LDA-_#3,Q_/FIRST IN DOCUMENT ?_^1_(AND-_#ONEBIT+10_^1_(SAN_$FOUND_^1_(JMP*_#READ_.NO - TEST AGAIN_^1*_]_^1* F€€OUND CHECKS FOR NEW FORMAT % POSITIONS TO BEGINNING OF RECORD_^1*_]_^1FOUND_"LDQ-_#ATRB,I_^1_(LDA-_#7,Q_/IF FORMAT NO. OF THIS RECORD_^1_(AND-_#LPMASK+13_^1_(TRA_$Q_1DIFFERENT TO THAT IN ATT_^1_(LDA-_#FMTNO,I_^1_(AND-_#LPMASK+13_,GET FORMAT_^1_(EAQ_$A_^1_(SAZ_$1_^1_(RTJ-_#(GFCORE)_^1_(LDA-_#FCNT,I_^1_(AND-_#NZERO+8_+SET PARAMETERS TO BOR_^1_(STA-_#FCNT,I_^1_(CLR_$A_^1_(STA-_#RCNT,I€€_^1_(LDA-_#FLDN,I_F09*C1602_^1_(AND-_#LPMASK+9_D09*C1602_^1_(STA-_#FLDN,I_F09*C1602_^1_(ENA_$4_^1_(STA-_#RFA,I_^1_(LDQ-_#PFBA,I_^1_(ADD-_#(ZERO),Q_^1_(STA-_#SST+CFFA_^1_(RTJ+_#STTYPE_^1_(LDA-_#ATEMP+4,I_^1_(SAP_$EXITOK_^1_(RTJ-_#(EXDFUN)_^1_(JMP+_#SETNFM_^1EXITOK_!RTJ-_#(DISPLY)_^1_(ADC_$REGEN_^1_(LDA-_#ATEMP+4,I_^1_(SAN_$1_^1_(JMP-_#(CLRSR)_^1EREX_#ENQ_$ERRB2_^1_(JMP-_#(ERROR)_^1_€(EQU_$EDOCKY(*)_^1_(END_^__ PDOCBCK CSY/ P€1_%NAM DOCBCK_'DECK-ID K13 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* ROUTINE TO PROCESS DOC BACK KEY IN READ MODE_^1*_]_^1_(EQU_$CMODE(2),FCNT(3),RCNT(4),ATRB(6),PFBA(7)_^1_(EQU_$REWRIT($A4),SW1(19)_^1_(EQU_$FMTNO(13),FLDN(14),RFA(93),A€€TEMP(73)_(09*C1602_^1_(EQU_$RCDRD(31)_C09*C1602_^1_(EQU_$GFCORE($9D),READP($A5),DISPLY($A0),ERROR($96)_^1_(EQU_$CLRSR($93)_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$SST($47),CFFA(12),ERRA4(4),ERRB1(6)_^1_(EXT_$SETMOV,STTYPE,DBSREL_^1HDR_$VFD_$N5/$18,X11/EDOCB-*_^1_(NUM_$1,0,0_^1_(ADC_$DOCBCK-HDR_^1*_]_^1DOCBCK_!RTJ+_#SETMOV_^1_(LDA-_#CMODE,I_+PURE REA€€D ?_^1_(AND_$=N$3100_^1_(SAZ_$OK_^1_(ENQ_$ERRA4_-NO - FUNCTION ERROR_^1_(JMP-_#(ERROR)_^1*_]_^1OK_%CLR_$A_^1_(STA-_#ATEMP+4,I_)CLEAR FLAG WORD_^1LOOP_#LDQ-_#ATRB,I_^1_(LDA-_#4,Q_/BEGINNING OF DATA ?_^1_(SAP_$SEARCH_^1_(SET_$A_^1_(STA-_#ATEMP+4,I_)YES - SET FLAG_^1_(JMP*_#FOUND_^1*_]_^1SEARCH_!LDA-_#SW1,I_,CHECK REWRITE IS REQUIRED_^1_(AND-_#ONEBIT+13_^1_(SAZ_$1_^1_(RTJ-_#(REWRIT)_^€€1_(RTJ-_#(READP)_^1_(LDA-_#RCDRD,I_^1_(INA_$-1_0DECREMENT RECORDS IN READ COUNT_^1_(STA-_#RCDRD,I_^1_(LDQ-_#ATRB,I_^1_(LDA-_#3,Q_^1_(AND-_#ONEBIT+10_)FIRST IN DOCUMENT ?_^1_(SAN_$1_^1_(JMP*_#LOOP_.NO - LOOP ON_^1FOUND_"LDA-_#7,Q_^1_(AND-_#LPMASK+13_^1_(TRA_$Q_1IF DIFFERENT FORMAT FROM THAT_^1_(LDA-_#FMTNO,I_^1_(AND-_#LPMASK+13_)IN ATT, GET FORMAT_^1_(EAQ_$A_^1_(SAZ_$1_^1_(RTJ-_#(GF€€CORE)_^1_(LDA-_#FCNT,I_-SET ALL POINTERS_^1_(AND-_#NZERO+8_^1_(STA-_#FCNT,I_-TO BEGINNING OF RECORD_^1_(CLR_$A_^1_(STA-_#RCNT,I_^1_(LDA-_#FLDN,I_F09*C1602_^1_(AND-_#LPMASK+9_D09*C1602_^1_(STA-_#FLDN,I_F09*C1602_^1_(ENA_$4_^1_(STA-_#RFA,I_^1_(LDQ-_#PFBA,I_^1_(LDQ-_#(ZERO),Q_^1_(AAQ_$A_^1_(STA-_#SST+CFFA_^1_(RTJ+_#STTYPE_^1_(RTJ-_#(DISPLY)_*DISPLAY % EXIT ACCORDING_^1_(ADC_$DBSREL_-T€‚O FLAG_^1_(LDA-_#ATEMP+4,I_^1_(SAP_$EXITOK_^1_(ENQ_$ERRB1_^1_(JMP-_#(ERROR)_^1EXITOK_!JMP-_#(CLRSR)_^1_(EQU_$EDOCB(*)_^1_(END_^__ ‚PDSKSUP CSY/ P€1_%NAM DSKSUP_'DECK-ID M07 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1CMD_$MAC_$A,B,C_^1_(ADC_$'A'*1024+'B'*32+'C'-$40*1024-$40*32-$40_^1_(EMC_^1IDX_$MAC_$TO,CR,CS,SS,IX,EP_^1_(VFD_$X1/'TO',X1/'CR',X1/'CS',X1/'SS',X4/0,X6/'IX',X2/'EP'_^1_(EMC_^1€€_(EQU_$A($41),B($42),C($43),D($44),E($45),F($46),G($47)_^1_(EQU_$H($48),II($49),J($4A),K($4B),L($4C),M($4D),N($4E)_^1_(EQU_$O($4F),P($50),Q($51),R($52),S($53),T($54),U($55)_^1_(EQU_$V($56),W($57),X($58),Y($59),Z($5A)_^1*_]_^1*** GENERAL EQUATES_^1*_]_^1_(EQU_$LPMASK($2),ZERO($22),NZERO($12)_^1_(EQU_%ONEBIT($23)_^1_(EQU_$FW(3)_,FWRITE REQUEST TO SUPRW_^1_(EQU_$SVSKEL($3000)_#SKELETO€€N FOR SV CALL TO ENTPGM_^1_%EQU SS(0)_)UNUSED_?P1*H0017_^1_%EQU TO(1),CR(1),CRSUP(1)_?P1*H0017_^1*_]_^1*** ATT EQUATES_^1*_]_^1_(EQU_$AINT(27),SUPIN(36),SUPLST(37),STDIN(39),STDLST(40)_^1_(EQU_$FMTNO(13),LU(35)_<06*C1342_^1_(EQU_$SCA(36)_^1_(EQU_$ATEMP(73)_^1_(EQU_$SVTMP1(46)_^1_%EQU ATT96($5F)_"LAST ATT WORD_8P1*H0020_^1*_]_^1*** SST, TRANSFER VECTORS_^1*_]_^1_(EQU_$SST($47),STE€€MP(20),GETALP($9B)_^1_(EQU_$SUPRW($97),REJSUP($B2),EXDFUN($9F),ENTPGM($9E)_^1_(EQU_$DISPLY($A0)_^1_(EQU_$CLCDWA($90),REDDWA($A9)_^1_(EQU_$TTB(41)_^1*_]_^1_(EXT_$SETMOV_^1_(EXT_$CLRALL,SETDIS_^1*_]_^1* DISK-RESIDENT PORTION OF SUPERVISOR-_^1*_]_^1* THE INPUT COMMAND IS DISPLAYED IF IT WAS READ ON OTHER THAN THE_^1* STD INPUT(TTY FOR TERM(0); KEYDISPLAY TERM FOR TERM NON-ZERO)_^1*€€_]_^1* THE 1'ST 3 CHARACTERS OF THE INT BUF ARE PACKED INTO 1 WORD_^1* AND COMPARED AGAINST THE COMMAND LIST_^1*_]_^1* WHEN A MATCH IS FOUND, THE INDEX TO THE CMD LIST IS USED AS_^1* AN INDEX TO THE PRD. ENTPRG IS CALLED WITH THIS INDEX_^1*_]_^1_(EJT_^1HDR_$VFD_$N5/$18,X11/ESUP-*_^1_(NUM_$1_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$DSKSUP-HDR_^1*_]_^1DSKSUP_!RTJ_$SETMOV_+ENABLE PGM TO BE €€MOVED_^1_(LDA-_#(I)_.CHECK TERMINAL NUMBER_^1_(AND-_#LPMASK+6_^1_(SAZ_$1_^1_(JMP*_#CHKIN_,NOT ZERO-GO CHK INPUT DEVICES_^1*_]_^1_(LDQ-_#AINT,I_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+15_^1_(STA-_#1,Q_^1_(ENA_$40_/TERMINAL 0 -_^1_(LDQ-_#SVTMP1,I_)CHK FOR SHORT READ_^1_(QLS_$1_^1_(SQP_$SAVE_-NOT SHORT-SKIP OUT_^1_(LDQ-_#AINT,I_+SHORT READ -_^1_(LDQ-_#43,Q_-GET LAST WD OF BUFFER_^1_(SET_$A_^1_€€(STA-_#(ZERO),Q_)SET WD AFTER DAT ATO FFFF_^1_(TRQ_$A_^1_(SUB-_#AINT,I_^1_(INA_$-4_^1SAVE_#STA*_#NWDW_-SAVE NO. OF WDS READ FOR SUPRW_^1*_]_^1_(LDA-_#SUPIN,I_*IF SUPIN NOT = TO STD INPUT COMMENT_^1_(SUB-_#$FD_.UNIT, PRINT COMMAND ON SUPLST_^1_(SAN_$1_^1_(JMP*_#CHKCMD_^1_(ENQ_$FW_^1DSPCMD_!RTJ-_#(SUPRW)_^1_(NUM_$0_0(ADDR=0:PRINT FROM INT BUFFER)_^1NWDW_#NUM_$40_^1_(JMP*_#CHKCMD_^1*_€€]_^1*** KEYSTATION-CLEAR AND REDISPLAY COMMAND ***_^1*_]_^1CHKIN_"RTJ-_#(DISPLY)_^1_(ADC_$CLRALL_^1*_]_^1*_'NEVER EXECUTED THIS CODE,CIO DID NOT CHANGE_*05*C1170_^1*_'THE 'I'-UNIT AND THE 'L'-UNIT FOR CRT_/05*C1170_^1CONT_#LDQ-_#AINT,I_^1_(LDQ-_#3,Q_.SAVE IN SUPRW CALL;_^1_(LRS_$1_0JUMP TO CALL_^1_(SAP_$1_^1_(INQ_$1_^1_(SQZ_$CHGMOD_^1REDSP_"STQ*_#NWDK_^1_(ENQ_$FW_^1_(RTJ-_#(SUPRW)€€_^1_(NUM_$0_^1NWDK_#NUM_$0_^1CHGMOD_!ENA_$2_^1_(RTJ-_#(DISPLY)_^1_(ADC_$SETDIS_^1*_]_^1*** INPUT 1'ST 3 CHARACTERS, CHECK COMMAND_^1*_]_^1CHKCMD_!CLR_$A_^1_(STA-_#SST+STEMP_(SET INT BUF PTR TO ZERO_^1_(STA-_#SVTMP1,I_)CLEAR TEMP LOCATION_^1_(RTJ*_#GETCH_,GET 1'ST 3 CHARACTERS AND PACK_^1_(RTJ*_#GETCH_,INTO 1 WORD_^1_(RTJ*_#GETCH_^1*_]_^1_(ENQ_$SFMAX_,SET Q TO MAX NO. OF SUP FUNCTI€€ONS_^1CK_%LDA*_#CODE-1,Q_)COMPARE INPUT CODE WITH TABLE_^1_(SUB-_#SVTMP1,I_)ENTRIES, STARTING FROM END_^1_(SAZ_$LOAD_^1NEXT_#INQ_$-1_^1_(SQZ_$REJECT_^1_(JMP*_#CK_^1*_]_^1REJECT_!ENA_$33_/NONEXISTENT FUNCTION_^1_(JMP-_#(REJSUP)_^1*_]_^1LOAD_#STQ-_#ATEMP,I_*SAVE FUN IDX TEMPORARILY_^1_(ENQ_$17_^1_(CLR_$A_^1_(STA-_#LU,I_H06*C1342_^1_(STA-_#FMTNO,I_E06*C1342_^1_%STA- ATT96,I_%CLEAR LAS€€T ATT WORD_2P1*H0020_^1CLRSCA_!STA-_#SCA+10,B_)CLEAR SUP COMM AREA_^1_(SQZ_$2_^1_(INQ_$-1_^1_(JMP*_#CLRSCA_^1_(LDQ-_#ATEMP,I_^1_(LDQ*_#EPT-1,Q_*GET VALIDITY/ENTRY PT TABLE ENTRY_^1_(LDA-_#(I)_^1_(AND_$=N$43F_^1_(SAN_$TRMTYP_^1_(SQP_$1_^1_(JMP*_#OK_/TERMINAL 0_^1ILEGAL_!ENA_$34_/REQUEST INVALID AT THIS STATION_^1_(JMP-_#(REJSUP)_^1TRMTYP QLS 1_,TERMINAL TYPE CRT_4P1*H0017_^1_(SQP_$€€1_^1_(JMP*_#OK_3ALLOWED ALL THE TIME_^1_(QLS_$1_^1_(SQM_$1_^1_(JMP*_#ILEGAL_^1_(LDQ-_#SST_2ALLOWED IF CRT HAS BIT IN_^1_(LDQ-_#TTB,Q_,TYPE TABLE_^1_(LDA-_#(I)_^1_(AND-_#LPMASK+6_^1_(LLS_$16_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#DW1_^1_(STA*_#DW2_^1_(LDA_$=XATEMP+1,I_^1_(STA*_#CADR_^1_(RTJ-_#(REDDWA)_^1CADR_#NUM_$0_^1DW1_$NUM_$0_^1DW2_$NUM_$0_^1_(NUM_$1_^1_(NUM_$0_0SYS L.U._^1_(LDA-_#ATEMP+1€€,I_^1_(AND-_#ONEBIT+7_^1_(SAN_$OK_^1_(JMP*_#ILEGAL_^1OK_%RTJ-_#(EXDFUN)_^1_(LDQ-_#ATEMP,I_^1_(LDA*_#EPT-1,Q_^1_(AND-_#LPMASK+8_^1_(TRA_$Q_0Q HAS FUN IDX_^1_(QRS_$2_^1_(AND-_#LPMASK+2_)A HAS ENTRY PT NUMBER_^1_(ADQ_$=XSVSKEL_^1_(RTJ-_#(ENTPGM)_)ENTPGM EXITS TO REJSUP IF NO STG_^1*_]_^1*_]_^1***GET A CH FROM INT BUF; IF A LETTER,PACK 5 LSB INTO TEMP LOCATION_^1*_]_^1GETCH_"NUM_$0_^1_€€(RTJ-_#(GETALP)_)GET NEXT CHARACTER_^1_(INA_$-$40_-OFFSET BY -$40_^1_(SAM_$ERR_.ERROR IF CHAR LT $41_^1_(SAZ_$ERR_^1_(INA_$-$1B_^1_(SAP_$ERR_.ERROR IF CHAR GT $5A_^1_(INA_$$1B_^1_(LDQ-_#SVTMP1,I_)PACK CHARACTERS INTO 5 BITS EACH_^1_(QLS_$5_0(A TO Z = 1 TO $1A)_^1_(AAQ_$A_^1_(STA-_#SVTMP1,I_^1_(JMP*_#(GETCH)_^1*_]_^1ERR_$JMP*_#REJECT_^1*_]_^1_(EJT_^1*_]_^1*** TABLE OF SUPERVISOR FUN€€CTIONS ***_903*C1046_^1_(EQU_$CODE(*)_^1_(CMD_$T,O,N_,TURN ON TERMINAL_^1_(CMD_$T,O,F_,TURN ON TERMINAL_^1_(CMD_$E,J,B_,ENTER JOB_^1_(CMD_$E,F,M_,ENTER FORMAT_^1_(CMD_$C,F,S_,CHANGE FORMAT STATUS_^1_(CMD_$W,B,T_,WRITE BATCHES_^1_(CMD_$D,B,T_,DELETE BATCHES_^1_(CMD_$D,M,P_,DUMP BATCHES TO TAPE_^1_(CMD_$L,O,D_,LOAD BATCHES FROM TAPE_^1_(CMD_$F,R,Z_,FREEZE BATCHES_^1_(CMD_$T,H,W_,THAW€€ A BATCH_^1_(CMD_$H,D,R_,WRITE HEADER LABEL_^1_(CMD_$P,S,S_,PRINT SYSTEM STATUS_^1_(CMD_$P,T,S_,PRINT TERMINAL STATUS_^1_(CMD_$P,B,S_,PRINT BATCH STATUS_^1_(CMD_$T,R,C_,PERFORM TAPE RECOVERY_,C_^1_(CMD_$D,J,B_,DELETE JOB_^1_(CMD_$C,B,S_,CHANGE BATCH STATUS_^1_(CMD_$E,C,D_,ENTER CHECK DIGIT_^1_(CMD_$S,O,F_,SUPERVISOR OFF_^1_(CMD_$P,B,R_,PRINT BATCH REPORT_^1_(CMD_$C,II,O_+CHANGE I/O€€ UNITS_^1_(CMD_$L,P,R_,LOAD PROGRAM_^1_(CMD_$P,F,M_,PRINT FORMAT_^1_(CMD_$E,S,H_,END OF SHIFT_^1_(CMD_$P,J,B_,PRINT JOB_^1_(CMD_$E,D,C_,ENTER DOCUMENT_^1_(CMD_$D,D,C_,DELETE DOCUMENT_^1_(CMD_$P,E,R_,PRINT ERRONEOUS RECORDS_^1_(CMD_$C,D,S_,CHANGE DISK STATUS_^1_(CMD_$P,D,C_,PRINT DOCUMENT_^1_(CMD_$M,T,C_,MAG TAPE CONTROL_^1_(CMD_$T,S,T_,TEST REMOTE STATIONS_^1_(CMD_$E,M,T_,ENTER M€€AG TAPE FORMAT_^1_(CMD_$D,M,T_,DELETE MAG TAPE FORMAT_^1_(CMD_$P,M,T_,PRINT MAG TAPE FORMAT_^1_(CMD_$M,S,G_,SEND MSG TO A STATION_,C_^1_(CMD_$D,P,R_,DELETE DISK RES PGM_'03*C1046_^1_(CMD_$P,P,R_,PRINT DISK RES PGM_'03*C1046_^1_(CMD_$P,S,T_,PRINT STATISTICS_*03*C1046_^1_(CMD_$X,P,L_,EXPLAIN COMMAND_+03*C1046_^1_(CMD_$C,F,M_,COPY FORMAT_/06*C1303_^1_(CMD_$P,F,T_,PRINT FORMATS FROM €€TAPE_"06*C1328_^1_(CMD_$B,A,L_,DOCUMENT BALANCE CHECK_#07*C1400_^1_(CMD_$T,II,P_+TAPE REINPUT OF DATA_%07*C1401_^1_(CMD_$O,C,G_,OWNCODE GENERATOR_)07*C1402_^1_(EQU_$SFMAX(50)_C03*C1046_^1_(BZS_%(SFMAX+CODE-*+1)_^1*****************************************************************_^1*_]_^1* CMD VALIDITY/ENTRY POINT TABLE-AN ENTRY IN THE TABLE_^1* CONSISTS OF THE PRD INDEX OF A GIVEN€€ SUPERVISOR FUNCTION_^1* THE ENTRY PT NUMBER, AND A FIELD THAT IS USED TO DETERMINE_^1* IF THE CURRENT FUNCTION IS ALLOWED ON THE DEVICE THAT_^1* REQUESTED IT._^1*_]_^1*_'BITS_+FUNCTION_^1*_]_^1*_'0-1_$ENTRY POINT NUMBER_^1*_'2-7_$FUNCTION INDEX_^1*_'8-11_#UNUSED_^1*_$12_!UNUSED_MP1*H0017_^1*_'13_%=1,OK ON CRT W/ SUP BIT IN TABLE_^1*_'14_%=1.OK ON CRT_^1*_'15_%=1,OK ON TERMINAL €€0_^1*_]_^1******************************************************************_^1_(EQU_%EPT(*)_^1TON_$IDX_$TO,0,CRSUP,0,1,0_^1TOF_$IDX_$TO,0,CRSUP,0,2,0_^1EJB_"IDX TO,0,CRSUP,0,3,0_CP1*H0017_^1EFM_$IDX_$TO,0,CRSUP,0,4,0_^1CFS_"IDX TO,0,CRSUP,0,5,0_CP1*H0017_^1WBT_$IDX_$TO,0,CRSUP,0,6,0_^1DBT_$IDX_$TO,0,CRSUP,0,7,0_^1DMP_$IDX_$TO,0,CRSUP,0,8,0_^1LOD_$IDX_$TO,0,CRSUP,0,9,0_^1FRZ_$IDX€€_$TO,0,CRSUP,0,10,0_^1THW_$IDX_$TO,0,CRSUP,0,11,0_^1HDDR_#IDX_$TO,0,CRSUP,0,12,0_^1FSS_$IDX_$TO,0,CRSUP,0,13,0_^1PTS_$IDX_$TO,0,CRSUP,0,14,0_^1PBS_$IDX_$TO,CR,CRSUP,0,15,0_^1TRC_$IDX_$TO,0,CRSUP,0,12,0_BC_^1DJB_"IDX TO,0,CRSUP,0,17,0_BP1*H0017_^1CBS_$IDX_$TO,0,CRSUP,0,18,0_^1ECD_$IDX_$TO,0,0,0,19,0_^1SOF_"IDX TO,CR,CRSUP,0,20,0_AP1*H0017_^1PBR_$IDX_$TO,CR,CRSUP,0,21,0_^1CIO_$IDX_€€$TO,0,CRSUP,0,22,0_^1LPR_$IDX_$TO,0,0,0,23,0_^1PFM_$IDX_$TO,CR,CRSUP,0,24,0_^1ESH_$IDX_$TO,0,0,0,25,0_^1PJB_$IDX_$TO,CR,CRSUP,0,26,0_^1EDC_$IDX_$TO,0,CRSUP,0,28,0_;05*C1170_^1DDC_"IDX TO,0,CRSUP,0,29,0_BP1*H0017_^1PER_$IDX_$TO,0,0,0,30,0_?05*C1170_^1CDS_$IDX_$TO,0,0,0,31,0_^1PDC_$IDX_$TO,CR,CRSUP,0,32,0_^1MTC_$IDX_$TO,0,CRSUP,0,16,0_^1TST_$IDX_$TO,0,0,0,27,0_^1EMT_$IDX_$TO,0,CRSUP€€,0,33,0_^1DMT_$IDX_$TO,0,0,0,34,0_?05*C1170_^1PMT_$IDX_$TO,0,CRSUP,0,35,0_^1MSG_$IDX_$TO,0,CRSUP,0,36,0_BC_^1DPR_$IDX_$TO,0,0,0,37,0_?05*C1170_^1PPR_$IDX_$TO,0,CRSUP,0,38,0_;03*C1046_^1PST_$IDX_$TO,0,0,0,39,0_?05*C1170_^1XPL_$IDX_$TO,CR,CRSUP,0,40,0_:03*C1046_^1CFM_"IDX TO,CR,CRSUP,0,41,0_AP1*H0017_^1PFT_$IDX_$TO,CR,CRSUP,0,42,0_:06*C1328_^1BAL_"IDX TO,CR,CRSUP,0,43,0_AP1*H0017_^€h1TIP_$IDX_$TO,CR,CRSUP,0,44,0_:07*C1401_^1OCG_$IDX_$TO,0,0,0,45,0_?07*C1402_^1_(EQU_$ESUP(*)_^1_(END_^__hPDSPKEY CSY/ P€1_%NAM DSPKEY_'DECK-ID K16 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(EXT_$SETMOV,SETDIS,DLINE_^1_(EXT_$CLRFLD_^1_(EXT_$SIERRM_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$CA4(4)_^1_(EQU_$SST($47),ERRM(42)_^1_(EQU_$€€ATEMP(73),ECODE(34),SW1(19)_^1_(EQU_$ERROR($96),CAM($AE),WAIT($B0),CLCDWA($90)_^1_(EQU_$REDDWA($A9),DISP($A0),CLRSR($93),GBYTE($94)_^1HDR_$VFD_$N2/3,N3/0,X11/EDSP-*_^1_(VFD_$N10/10,N6/1_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$DSPKEY-HDR_^1DSPKEY_!RTJ_$SETMOV_^1_(LDA-_#(I)_^1_(AND-_#ONEBIT+11_^1_(SAN_$2_0IF NO ERROR LOCK-DISPKEY IS ILLEGAL_^1_(ENQ_$CA4_^1_(JMP-_#(ERROR)_^1TRY_$ENQ_$15_^1_(RT€€J-_#(CAM)_^1_(SAZ_$2_^1_(RTJ-_#(WAIT)_+WAIT UNTILL CORE AVAILABLE_^1_(JMP*_#TRY_^1*_]_^1_(STQ-_#ATEMP,I_^1_(LDA-_#1,Q_.SET I/O BIT ON THE REQUESTED AREA_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(INQ_$3_^1_(STQ*_#CORADD_^1_(LDA-_#ECODE,I_^1_(AND-_#LPMASK+8_^1_(INA_$-1_^1_(MUI_$=N12_^1_(TRA_$Q_^1_(LDA_$=XSIERRM_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#DA_^1_(STA*_#DA+1_^1_(RTJ-_#(REDDWA)_*READ MESSA€€GE FROM DISK_^1CORADD_!NUM_$0_^1DA_%NUM_$0_^1_(NUM_$0_^1_(NUM_$12_/READ DOWN 12 WORDS_^1_(NUM_$0_^1_(LDQ-_#ATEMP,I_^1_(LDA-_#ECODE,I_^1_(AND-_#LPMASK+8_^1_(INA_$-5_^1_(SAN_$NEXT_^1_(RTJ-_#(GBYTE)_^1_(LDQ-_#ATEMP,I_^1_(ADD_$=N$2800_^1_(STA-_#3+8,Q_^1_(LDA_$=N$2920_^1_(STA-_#3+9,Q_^1_(JMP*_#STORE_^1NEXT_#INA_$+5-3_^1_(SAZ_$STORE_^1_(INA_$+3-1_^1_(SAN_$ON_^1_(INQ_$1_^1STORE_"LDA-_#ECO€€DE,I_^1_(AND-_#NZERO+8_^1_(INA_$$20_^1_(STA-_#3+7,Q_-PUT CHAR IN AREA TO BE DISPLAYED_^1ON_%ENA_$1_^1_(RTJ-_#(DISP)_^1_(ADC_$SETDIS_^1_(RTJ-_#(DISP)_^1_(ADC_$CLRFLD_^1_(LDQ-_#ATEMP,I_^1_(INQ_$3_^1_(ENA_$24_/24 CHAR TO BE DISPLAYED_^1_(RTJ-_#(DISP)_^1_(ADC_$DLINE_^1_(LDQ-_#ATEMP,I_*RELEASE BUFFER_^1_(CLR_$A_^1_(STA-_#2,Q_^1_(LDA-_#SW1,I_^1_(AND-_#ZROBIT+8_^1_(EOR-_#ONEBIT+8_^1_(STA-€6_#SW1,I_^1_(JMP-_#(CLRSR)_^1_(EQU_$EDSP(*)_^1_(END_^__6PDUPKEY CSY/ P€1_%NAM DUPKEY_'DECK-ID K02 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(EXT_$BORENT,EMM1,DSKUP,DUPIT,SETMOV_^1_(EXT_$DCOL,ENDOF1_^1_(EXT_$EMM1_H06*C1344_^1*_]_^1* PROCESS DUP KEY- LEGAL ONLY IN PURE ENTRY OR P.E. REPLACE FIELD_^1*_0- ILLEGAL IF€€ 1'ST REC'D OF FORMAT_^1*_]_^1* DUPIT IS MEMORY RESIDENT_^1*_]_^1_(EQU_$SST($47),CFFA(12)_^1_(EQU_$PFBA(7)_E06*C1304_^1_(EQU_$STEMP(20)_^1_(EQU_$ERROR($96),DISPLY($A0)_^1_(EQU_$EXDFUN($9F),FUNIDX(21),ATRB(6)_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$SW1(19),MODE(2),RCNT(4),FCNT(3)_^1_(EQU_$DT(13)_^1_(EQU_$SW2(20),CURDA(9),BMODE(15),MISCH(5)_^1_(EQU_$€€TRB(6)_^1_(EQU_$LUN(35)_^1_(EQU_$CAM($AE),WAIT($B0),REDDWA($A9)_^1_(EQU_$ENTSR($91),EXTSR($92)_^1_(EQU_$CA5(5)_^1_(EQU_$CURCH(2)_^1_(EQU_$GBYTE($94),SBYTE($95)_^1_(EQU_$ATEMP(73)_^1HDR_$VFD_$N5/$18,X11/EDUP-*_^1_(VFD_$N10/3,N6/1_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$DUPKEY-HDR_^1*_]_^1DUPKEY_!RTJ_$SETMOV_^1_(LDA-_#MODE,I_^1*_]03*C1045_^1_(LDQ-_#SW1,I_,CHECK FOR INSERT_^1_(QLS_$3_^1_(SQP_$€€2_K05*C1135_^1_(ALS_$3_K05*C1135_^1_(JMP*_#DUP_I05*C1135_^1_%AND =N$3000_LP0*H0013_^1_%SAZ 1_RP0*H0013_^1_%JMP* VERIFY_'ALLOW IN PSEUDO ENTRY AND VERIFY_$P0*H0013_^1_%LDA- MODE,I_MP0*H0013_^1_(ALS_$6_K05*C1135_^1_(AND-_#NZERO+14_,2.PURE ENTRY_^1_(SUB-_#ONEBIT+15_^1_(SAN_$DUP_.ILLEGAL IN READ_^1*_]_^1ERR3_#ENQ_$$4_/ILLEGAL FUNCTION_^1_(JMP-_#(ERROR)_^1*_]_^1DUP_$SAM_$VERIFY_F05*C1€€177_^1DUPE1_"LDA-_#SW1,I_,IS FIRST CHAR IN RECORD_^1_(AND-_#ONEBIT+2_)FLAG SET?_^1_(SAZ_$2_^1_(RTJ+_#BORENT_+YES_^1_(LDA-_#SW1,I_G05*C1177_^1_(AND_$=N$9000_+CHECK FOR 1ST IN FMT_$05*C1177_^1_(SAN_$VERIFY_F05*C1177_^1_(JMP*_#CHKSW2_F05*C1177_^1VERIFY_!LDQ-_#TRB,I_G05*C1177_^1_(LDA-_#4,Q_^1_(SAP_$1_^1_(JMP*_#ERR3_^1*_]05*C1177_^1FIRST_"ENA_$1_K05*C1177_^1_(STA-_#ATEMP+3,I_C05*C1177_^€€1_(RTJ*_#READ1_^1_(LDQ-_#ATEMP+2,I_(CHECK_^1_(LDA-_#3,Q_3IF_^1_(AND-_#LPMASK+9_0PREVIOUS_^1_(LDQ-_#ATEMP,I_9RECORD_^1_(ADQ-_#RCNT,I_@LONG_^1_(INQ_$1_JENOUGH_^1_(QRS_$1_^1_(TCQ_$Q_^1_(AAQ_$A_^1_(SAP_$LNGOK_^1_(JMP*_#ERR3_^1LNGOK_"LDQ-_#ATEMP,I_*SAVE LENGTH_/06*C1352_^1_(STQ-_#SST+STEMP_^1_(LDQ-_#RCNT,I_+CALCULATE DATA STARTING ADDR_^1_(STQ-_#ATEMP+3,I_^1_(QRS_$1_^1_(INQ_$5+3_^1_(ADQ€€-_#ATEMP+2,I_^1_(STQ-_#SST+STEMP+1_^1_(LDA-_#FCNT,I_+FIRST IN FIELD?_+06*C1317_^1_(AND-_#LPMASK+8_D06*C1317_^1_(SAZ_$1_K06*C1317_^1_(JMP*_#DTP_I06*C1317_^1_(LDQ-_#SST+CFFA_)FILL BLANKS_/06*C1317_^1_(LDA-_#1,Q_I06*C1317_^1_(AND-_#ONEBIT+9_D06*C1317_^1_(SAZ_$NFB_I06*C1317_^1*_]06*C1317_^1* ATEMP+3=RCNT, STEMP+1=DATA ADDRESS IN BUFFER, STEMP=FIELD REM06*C1317_^1*_]06*C1317_^1_(RTJ*_#N€€XTCHR_+IF FIRST_206*C1317_^1_(INA_$-$20_-CHAR IS BLANK_-06*C1317_^1_(SAZ_$2_K06*C1317_^1_(INA_$$20_I06*C1317_^1_(JMP*_#DTP1_H06*C1317_^1LOOPFB_!LDA-_#SST+STEMP_(ALL CHARACTERS_,06*C1317_^1_(SAN_$1_0SHOULD BE BLANKS._)06*C1317_^1_(JMP*_#SETADD_F06*C1317_^1_(RTJ*_#NXTCHR_F06*C1317_^1_(INA_$-$20_H06*C1317_^1_(SAZ_$1_K06*C1317_^1_(JMP*_#ERR3_H06*C1317_^1_(JMP*_#LOOPFB_F06*C1317_^1NFB_$€€JMP*_#DTP_I06*C1317_^1NXTCHR_!NUM_$0_K06*C1352_^1_(LDQ-_#ATEMP+3,I_C06*C1352_^1_(QLS_$15_^1_(LDA-_#(SST+STEMP+1)_#GET DATA CHAR_^1_(SQP_$RIGHT_^1_(RAO-_#SST+STEMP+1_^1_(JMP*_#STRIP_^1RIGHT_"ALS_$8_^1STRIP_"AND-_#LPMASK+7_^1_(RAO-_#ATEMP+3,I_C06*C1352_^1_(LDQ-_#SST+STEMP_C06*C1352_^1_(INQ_$-1_J06*C1352_^1_(STQ-_#SST+STEMP_C06*C1352_^1_(JMP*_#(NXTCHR)_D06*C1352_^1DTP_$RTJ*_#NXTCHR_F0€€6*C1352_^1DTP1_#LDQ-_#DT,I_H06*C1352_^1_(QLS_$1_^1_(SQP_$TOOUT_^1_(LDQ-_#DT,I_^1_(SQM_$NUMRIC_^1_(INA_$-$20_-CHECK IF BLANK_^1_(SAZ_$TOOUT_^1_(INA_$-$41+$20_^1_(SAM_$TOERR3_^1_(INA_$-$5B+$41_^1_(SAM_$TOOUT_^1TOERR3_!JMP*_#ERR3_^1TOOUT_"JMP*_#CHKOUT_^1NUMRIC_!QLS_$2_0CHECK FOR UNSIGNED NUM_^1_(SQP_$UNS_^1_(LDQ-_#SST+STEMP_(CHECK IF LAST CHAR IN FIELD_^1*_]06*C1352_^1_(SQN_$UNS_^1_(I€€NA_$-$2B_-CHECK FOR +_^1_(SAZ_$CHKOUT_^1_(INA_$-$2D+$2B_)CHECK FOR -_^1_(SAZ_$CHKOUT_^1_(JMP*_#ERR3_^1UNS_$INA_$-$30_-CHECK FOR 0-9_^1_(SAM_$TOE3_^1_(INA_$-10_^1_(SAM_$CHKOUT_^1TOE3_#JMP*_#ERR3_^1CHKOUT_!LDA-_#SST+STEMP_(CHECK IF LAST CHAR CHECKED_^1*_]06*C1352_^1_(SAZ_$SETADD_^1_(JMP*_#DTP_I06*C1352_^1SETADD_!LDA-_#RCNT,I_+SET STARTING ADDR OF REQUESTED_^1_(ARS_$1_0DATA_^1_(ADD-_#€€ATEMP+2,I_^1_(INA_$5_^1_(STA-_#ATEMP+2,I_^1_(JMP*_#LOOP1_^1CHKSW2_!LDA-_#SW2,I_,CHECK IF BSC OR RPLFLD_^1_(AND-_#ONEBIT+4_)WERE HIT_^1_(SAN_$GET_^1_(JMP_$DUPENT_^1GET_$CLR_$A_^1_(STA-_#ATEMP+3,I_^1_(RTJ*_#READ1_^1_%LDQ- ATEMP+2,I_#SET CURRENT CHAR TO FIRST CHAR TO BE 06*C1380_^1_%LDA- 3,Q_*DUPED_?06*C1380_^1_%LDQ- RCNT,I_L06*C1380_^1_%QLS 15_P06*C1380_^1_%SQM 1_Q06*C1380_^1_%ALS €€ 8_Q06*C1380_^1_%AND- LPMASK+7_J06*C1380_^1_%EOR- ATEMP+1,I_I06*C1380_^1_%STA- MODE,I_L06*C1380_^1_(RTJ_$FBFIR_,IS FILL BLANKS LEGAL_%06*C1317_^1_(SQZ_$1_K06*C1317_^1_(JMP-_#(ERROR)_E06*C1317_^1_(JMP*_#LOOP1_^1READ1_"NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1GET1_#LDQ-_#PFBA,I_+CALCULATE RECORD REMAINDER 06*C1304_^1_(LDQ-_#(ZERO),Q_D06*C1304_^1_(LDA-_#2,Q_.SAVED IN ATEMP+4_*06*C1€€304_^1_(ARS_$6_K06*C1304_^1_(AND-_#LPMASK+10_C06*C1304_^1_(INA_$1_K06*C1304_^1_(SUB-_#RCNT,I_F06*C1304_^1_(TRA_$Q_K06*C1304_^1_(STA-_#ATEMP+4,I_C06*C1304_^1_(LDA-_#ATEMP+3,I_^1_(SAZ_$3_^1_(LDA-_#RCNT,I_^1_(INA_$10_^1_(AAQ_$Q_^1_(INQ_$2_K03*C1042_^1_(QRS_$1_^1_(STQ*_#LENGTH_^1_(INQ_$3_^1_(RTJ-_$(CAM)_^1_(SAZ_$GOT_^1_(RTJ-_#(WAIT)_+WAIT UNTIL CORE AVAILABLE_^1_(JMP*_#GET1_^1*_]_^1GOT€€_$LDA-_#1,Q_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(STQ-_#ATEMP+2,I_(SAVE ADDR FOR RELEASE LATER_^1_(INQ_$3_^1_(STQ*_#CORADD_^1_(LDA-_#FCNT,I_+CALCULATE FIELD REMAINDER 06*C1304_^1_(AND-_#LPMASK+8_D06*C1304_^1_(TCA_$Q_0SAVED IN ATEMP_,06*C1304_^1_(LDA-_#(SST+CFFA)_B06*C1304_^1_(ARS_$8_K06*C1304_^1_(AND-_#LPMASK+7_D06*C1304_^1_(INA_$1_K06*C1304_^1_(AAQ_$Q_K06*C1304_^1_(STQ-_#ATEMP,I_€€E06*C1304_^1_(LDA-_#MODE,I_+IS IT ENTRY MODE_^1_(AND-_#ONEBIT+9_^1_(SAN_$1_^1_(STA-_#MISCH,I_^1_(LDQ-_#TRB,I_^1_(LDA-_#6,Q_^1_(ALS_$8_^1_(AND-_#LPMASK+8_^1_(STA*_#MOST_^1_(LDA-_#4,Q_^1_(LDQ-_#ATEMP+3,I_^1_(SQN_$STORE_^1BOTH_#LDQ-_#RCNT,I_^1_(QRS_$1_^1_(INQ_$5_^1_(AAQ_$A_^1_(SAP_$STORE_^1_(AND-_#LPMASK+15_^1_(RAO*_#MOST_^1STORE_"STA*_#LEAST_^1_(LDA-_#LUN,I_^1_(ALS_$4_^1_(AND-_#LPMAS€€K+2_^1_(STA*_#LU_^1*_]_^1_(RTJ-_#(REDDWA)_)READ PART OF PREVIOUS RECORD_^1CORADD_!NUM_$0_^1MOST_#NUM_$0_^1LEAST_"NUM_$0_^1LENGTH_!NUM_$0_^1LU_%NUM_$0_^1*_]_^1_(LDQ-_#ATEMP+2,I_^1_(CLR_$A_0RELEASE AREA_^1_(STA-_#2,Q_^1_(STA*_#LU_^1_(LDA-_#MODE,I_^1_(AND-_#NZERO+8_^1_(STA-_#ATEMP+1,I_^1_(JMP-_#(EXTSR)_^1LOOP1_"RTJ*_#LOOPY_G06*C1304_^1_(LDA-_#ATEMP+1,I_^1_%ALS 2_RP0*H0013_^1_%SAM LP€€03_)PSEUDO ENTRY_9P0*H0013_^1_%ALS 1_RP0*H0013_^1_%JMP* PSV_PP0*H0013_^1LP03_!LDA- SW1,I_NP0*H0013_^1_%ALS 3_RP0*H0013_^1_%SAP LP05_OP0*H0013_^1_%LDA- ATEMP+1,I_JP0*H0013_^1_%ALS 3_RP0*H0013_^1_%JMP* PSV_PP0*H0013_^1LP05_!LDA- ATEMP,I_LP0*H0013_^1_%STA- ATEMP+4,I_JP0*H0013_^1_%JMP* NEXT_OP0*H0013_^1PSV_"SAM 3_RP0*H0013_^1_(AND-_#ONEBIT+12_C03*C1045_^1_(SAZ_$1_K05*C1221_^1_(JMP€€*_#NEXT_H05*C1221_^1_(RTJ-_#(GBYTE)_^1_(EOR-_#MODE,I_^1_(SAN_$MIS_I05*C1221_^1_(LDA-_#MODE,I_+IF NONZERO/BLANK CHAR_$05*C1221_^1_(INA_$-$20_H05*C1221_^1_(LDQ-_#DT,I_0WAS ENTERED_,05*C1221_^1_(SQP_$3_K05*C1221_^1_(QLS_$1_0SET SW2 BIT 15_,05*C1221_^1_(SQP_$1_K05*C1221_^1_(INA_$-$30+$20_D05*C1221_^1_(SAZ_$4_K05*C1221_^1_(LDA-_#SW2,I_G05*C1221_^1_(AND-_#ZROBIT+15_C05*C1221_^1_(EOR-_#ON€€EBIT+15_C05*C1221_^1_(STA-_#SW2,I_G05*C1221_^1_'CLR_%Q_K06*C1304_^1_(JMP*_#VER_I05*C1221_^1MIS_$LDA-_#MODE,I_F05*C1221_^1_(STA-_#MISCH,I_^1_(EOR-_#ATEMP+1,I_^1_(AND-_#ZROBIT+14_^1_(EOR-_#ONEBIT+14_^1_(STA-_#MODE,I_^1_(RTJ*_#SUBR_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DCOL_^1_(ENQ_$CA5_.MISMATCH ERROR_^1_(JMP-_#(ERROR)_*IN VERIFY STORE THE CHAR TO OVERRIDE_^1NEXT_#RTJ-_#(SBYTE)_*THE ERROR FLAG€€_^1_(LDQ-_#ATEMP+4,I_C06*C1304_^1_(INQ_#-1_K06*C1304_^1_(STQ-_#ATEMP+4,I_C06*C1304_^1VER_$RAO-_#RCNT,I_^1_(RAO-_#FCNT,I_^1_(RAO*_#LU_^1*_]06*C1304_^1_(LDA-_#ATEMP,I_^1_(INA_$-1_^1_(STA-_#ATEMP,I_^1_(SAZ_$ON_J06*C1304_^1_(JMP*_#LOOP1_^1ON_%SQZ_$END_I06*C1304_^1_(LDA-_#RCNT,I_F06*C1304_^1_(STA-_#ATEMP+3,I_C06*C1304_^1ONY_$RTJ*_#LOOPY_G06*C1304_^1_(RTJ-_#(SBYTE)_E06*C1304_^1_(RAO-_#RC€€NT,I_F06*C1304_^1_(LDA-_#ATEMP+4,I_C06*C1304_^1_(INA_$-1_J06*C1304_^1_(STA-_#ATEMP+4,I_C06*C1304_^1_(SAZ_$1_K06*C1304_^1_(JMP*_#ONY_I06*C1304_^1_(LDA-_#ATEMP+3,I_C06*C1304_^1_(STA-_#RCNT,I_F06*C1304_^1END_$LDA-_#ATEMP+1,I_^1_(STA-_#MODE,I_^1_(RTJ*_#SUBR_^1_(JMP*_#EXIT_^1LOOPY_"0_'0_K06*C1304_^1_(LDQ-_#ATEMP+2,I_C06*C1304_^1_(LDQ-_#3,Q_I06*C1304_^1_(LDA-_#RCNT,I_F06*C1304_^1_(AND-_#€€ONEBIT_F06*C1304_^1_(SAZ_$2_K06*C1304_^1_(RAO-_#ATEMP+2,I_C06*C1304_^1_(JMP*_#*+2_I06*C1304_^1_(QLS_$8_K06*C1304_^1_(TRQ_$A_K06*C1304_^1_(AND-_#LPMASK+7_D06*C1304_^1_(STA-_#MODE,I_F06*C1304_^1_(JMP*_#(LOOPY)_E06*C1304_^1SUBR_#0_'0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(LDA*_#LU_^1_(SAZ_$OUT_^1_(LDA-_#RCNT,I_^1_(SUB*_#LU_^1_(TRA_$Q_^1_(CLR_$A_^1_(LRS_$1_^1_(ADQ-_#TRB,I_^1_(INQ_$8_^1€€_(ADD*_#LU_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DSKUP_^1OUT_$JMP-_#(EXTSR)_^1*_]06*C1317_^1* IF FILL BLANKS,SHOULD NOT BEGIN_<06*C1317_^1* FROM THE MIDDLE_M06*C1317_^1*_]06*C1317_^1FBFIR_"NUM_$0_K06*C1317_^1_(CLR_$Q_K06*C1317_^1_(LDA-_#FCNT,I_F06*C1317_^1_(AND-_#LPMASK+8_D06*C1317_^1_(SAZ_$NOTF_H06*C1317_^1_(LDA-_#DT,I_H06*C1317_^1_(ALS_$3_K06*C1317_^1_(AND-_#LPMASK+3_D06*C1317_^1_(INA_$-6€€_J06*C1317_^1_%SAM NOTF_RRV001_^1_(LDA-_#CURCH,I_E06*C1317_^1_(AND-_#LPMASK+8_D06*C1317_^1_(INA_$-$20_H06*C1317_^1_(SAN_$1_K06*C1317_^1_(ENQ_$4_K06*C1317_^1NOTF_#JMP*_#(FBFIR)_E06*C1317_^1DUPENT_!RTJ-_#(GBYTE)_^1_(LDQ-_#CURCH,I_^1_(LLS_$8_^1_(ALS_$8_^1_(STA-_#CURCH,I_*RE-STORE CHAR_^1_(RTJ*_#FBFIR_,IS FILL BLANKS LEGAL_%06*C1317_^1_(SQZ_$1_K06*C1317_^1_(JMP-_#(ERROR)_E06*C1317_^1_€€(RTJ-_#(SBYTE)_^1SUZY_#RTJ_$DUPIT_^1_(LDQ-_#ATEMP+3,I_(PICK UP DISPLAY PARAMETERS_^1_(LDA-_#ATEMP+4,I_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DSKUP_^1EXIT_#RTJ-_#(DISPLY)_)DISPLAY COLUMN NO._^1_(ADC_$DCOL_^1_(LDA-_#RCNT,I_F05*C1177_^1_(INA_$-1_/EXTRACT LAST CHARACTER FOR 05*C1177_^1_(STA-_#RCNT,I_F05*C1177_^1_(RTJ-_#(GBYTE)_*SIGN CHECK IN VALDTE_%05*C1177_^1_(TRA_$Q_K05*C1177_^1_(RAO-_#RCNT,I_€€F05*C1177_^1_(LDA-_#MODE,I_^1_(AND_$=N$BF00_^1_(AAQ_$A_K05*C1177_^1_(STA-_#MODE,I_^1_(RTJ-_#(EXDFUN)_^1_(LDA-_#MODE,I_F03*C1045_^1_(ALS_$3_0EXIT ACCORDING TO_)03*C1045_^1_(SAM_$VERJMP_F03*C1045_^1_(AND-_#ONEBIT_+PSEUDO MODE_/03*C1045_^1_(SAN_$ENTJMP_F03*C1045_^1_(LDA-_#BMODE,I_^1_(ALS_$2_^1_(SAM_$2_^1VERJMP_!JMP+_#ENDOF1_F03*C1045_^1ENTJMP_!JMP+_#EMM1_H06*C1344_^1_(EQU_$EDUP(*)_^1_€(END_^__ PDZR CSY/ P€1_%NAM DZR_*DECK-ID K05 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* THIS ROUTINE PROCESSES THE DOUBLES ZERO KEY (ENTRY,VERIFY,PSEUDO ENTRY_^1*_VPSEUDO VERIFY)_^1*_]_^1*_'FUNCTION: 1. IN ENTRY OR PSEUDO ENTRY IF 2 CHARS. OR MORE UP_^1*_5T€€O EOF, ENTER ONE VIA SBYTE % EXIT TO EMM._^1*_5IF ONLY ONE,ERROR._^1*_22. IN VERIFY % PSEUDO VERIFY, CHECK IN TRB FOR_^1*_52 ZEROES._^1*_]_^1_(EXT_$EMM,VMM,DCAROL,SETMOV,BORENT_^1_(EQU_$CMODE(2),FCNT(3),RCNT(4),FDTP(13),CURCH(2),MISCH(5)_^1_(EQU_%EXDFUN($9F)_^1_(EQU_%SW1(19)_^1_(EQU_$GBYTE($94),SBYTE($95),CLRSR($93),DISPLY($A0)_^1_(EQU_$ERROR($96)_^1_(EQU_$SST($47),CFFA(12)_^1_(EQU€€_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1HDR_$VFD_$N5/$18,X11/EDZR-*_^1_(NUM_$$241_^1_(NUM_$0,0_^1_(ADC_$DZR-HDR_^1*_]_^1DZR_$RTJ+_#SETMOV_^1_(LDA-_#SW1,I_,IF BOR SWITCH SET_^1_(AND-_#ONEBIT+2_^1_(SAZ_$2_0GO TO BORENT_^1_(RTJ+_#BORENT_^1_(LDA-_#FDTP,I_^1_(SAM_$FLDOK_^1_(ALS_$1_^1_(SAP_$FLDOK_,DATA TYPE MAY NOT BE PURE ALPHA_^1_(JMP*_#ERR4_^1FLDOK_"LDA-_#(SST+CFFA)€€_^1_(ARS_$8_1CHECK THAT AT LEAST 2 CHARS._^1_(AND-_#LPMASK+7_^1_(TCA_$Q_1UP TO END OF FIELD_^1_(LDA-_#FCNT,I_^1_(AND-_#LPMASK+8_^1_(AAQ_$A_^1_(SAM_$1_^1_(JMP*_#ERR4_^1_(LDA-_#CURCH,I_*SET CURRENT CHAR_^1_(AND-_#NZERO+8_^1_(INA_$$30_.TO ZERO_^1_(STA-_#CURCH,I_^1_(LDA-_#CMODE,I_^1_(ALS_$2_^1_(SAM_$ENTRY_^1_(ALS_$1_^1_(SAP_$1_^1_(JMP*_#VERIFY_^1_(ALS_$3_1JUMP ACCORDING TO MODE_^1_(SAM€€_$1_^1_(JMP*_#VERIFY_,PURE READ CAUSES ERROR_^1_(ALS_$1_^1_(SAM_$ENTRY_^1ERR4_#ENQ_$$4_^1_(JMP-_#(ERROR)_^1*_]_^1ENTRY_"RTJ-_#(SBYTE)_^1_(RAO-_#FCNT,I_,STORE FIRST ZERO, UPDATE POINTERS_^1_(RAO-_#RCNT,I_^1_(RTJ-_#(DISPLY)_)-AND EXIT TO EMM FOR SECOND_^1_(ADC_$DCAROL_^1_(RTJ-_$(EXDFUN)_^1_(JMP+_#EMM_^1VERIFY_!LDA-_#SW1,I_^1_(AND-_#ZROBIT+9_*CLEAR IGNORE 1'ST SKIP FLAG_^1_(STA-_#SW1,€€I_^1_(RTJ-_#(GBYTE)_+COMPARE FIRST WITH ZERO_^1_(INA_$-$30_^1_(SAN_$ERR5_.MISMATCH ERROR_^1_(RAO-_#RCNT,I_^1_(RAO-_#FCNT,I_,UPDATE POINTERS_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DCAROL_,VMM WILL DEAL WITH SECOND CHARACTER_^1_(RTJ-_$(EXDFUN)_^1_(JMP+_#VMM_^1*_]_^1ERR5_#ENQ_$$30_/SET MISMATCH CHAR TO $30_^1_(STQ-_#MISCH,I_^1_(LDA-_#CMODE,I_^1_(EOR-_#ONEBIT+14_(SET IDK_^1_(STA-_#CMODE,I_^1_(ENQ€4_$$5_^1_(JMP-_#(ERROR)_^1_(EQU_$EDZR(*)_^1_(END_^__ 4PENTRY CSY/ P€1_%NAM ENTRY_(DECK-ID I01 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* THIS IS AN INTERROGATE FUNCTION_^1* THE PARAMETERS ARE:_^1*_(ENT,JJJJJJ,BBB,OOO,AAAA_^1*WHERE;_]_^1*_!JJJJJJ IS THE JOB NAME(UP TO 6 CHAR)_^1*_!BBB_!IS THE BATCH NUMBER 000-9€€99_^1*_!OOO_"IS THE OPERATION NUMBER 000-999_^1*_!AAAA_!IS THE AUTO SEQUENCING COUNT 0000-9999(THIS VALUE IS OPTIONAL_^1*_8IF MISSING 0000 IS ASSUMED._^1*_]_^1* CHECK JOB LEGALITY,GET CORE AS FOR THE LONGEST RECORD_^1* ASSIGN BATCH TO DISK AND GET 1 TRACK_^1* INSERT THIS ENTRY IN AN ABT TABLE_^1* PUT THE TRACK ADDR IN THE TKTBUF VIA LINKTR_^1* CALCULATE: AVAILABLE NO OF WORDS IN TR€€ACK,WORD ADDR FOR THE FIRST_^1*_*RECORD TO BE WRITTEN ON DISK,START TIME OF BATCH AND OF_^1*_*CURRENT RUN._^1* SAVE THIS DATA AND THE ATT ON DISK_^1* RELEASE THE PROGRAM VIA EXDFUN_^1* EXIT TO DISPCH VIA CLRSR_^1_(EXT_$SETDIS_^1_(EXT_$SETMOV,REGEN_^1_(EXT_$BD,GETLJD,G1TRT,RELTRT,LINKTR_^1_(EQU_$LPMASK(2),NZERO($12),ONEBIT($23),ZERO($22),ZROBIT($33)_^1_(EQU_$SST($47),STEMP(20),EXTSS€€T(0),CLOCKS(17),CLOCKM(16)_^1_(EQU_$DSKST(29)_^1_(EQU_$AVLTK(8),ASCNT(5),TRBA(6),FTOB(1),ABTIDX(22)_^1_(EQU_$JIDX(3),NDA(11),BMOD(15),SW1(19)_^1_(EQU_$FLDN(14),RFA(93)_<09*C1602_^1_(EQU_$FUNIDX(21),CMODE(2),AINT(27),ATOPT(33),BATCH(35)_^1_(EQU_$TJOB(10),TOPR(9),TCLK(11),TACTME(12),TSBCH(10)_^1_(EQU_$TABT1(14)_(TEMP. ABT /W1_-08*C1500_^1*_]08*C1500_^1_(EQU_$SW3(89)_*SEV SWITCH_008*C€€1500_^1_(EQU_$SEVTNO(91)_B08*C1500_^1_(EQU_$ATEMP(73),ATEMP1(74),ATEMP2(75)_^1_(EQU_$CE1($12),CD4($10),CD5($11),CD1($D),CD6($1D)_^1_(EQU_$CF4($17),CF3($16)_^1_(EQU_$GETCOM($9C),GETALP($9B),GETBIN($99)_^1_(EQU_$ERROR($96),CAM($AE),SPILL($A1),CLCDWA($90)_^1_(EQU_$WRTDWA($AA),WRTATT($AC),DISP($A0),CLRSR($93)_^1_(EQU_$MSGP(78)_D06*C1301_^1_(EQU_$WAIT($B0)_C06*C1301_^1_(EQU_$EXDFUN($9F)€€_^1HDR_$VFD_$N2/3,N3/0,X11/EENTRY-*_^1_(VFD_$N10/10,N6/1_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$START-HDR_^1START_"RTJ_$SETMOV_^1_(LDA-_#CMODE,I_^1_(AND_$=N$0F00_^1_(ENQ_$CE1_.IF MODE IS NOT IDLE DISPLAY 'E1" -_^1_(SAZ_$ON_^1_(LDA-_#SW1,I_^1_(AND-_#ZROBIT+8_^1_(EOR-_#ONEBIT+8_^1_(STA-_#SW1,I_^1_(JMP-_#(ERROR)_^1ON_%STA-_$BMOD,I_^1_(LDQ-_#FUNIDX,I_)SAVE THESE WORDS TO BE ABLE_^1_(STQ-_#ATEM€€P,I_5TO RESTORE THEM AFTEM_^1_(LDQ-_#AINT,I_9THE ATT IS CLEARED_^1_(STQ-_#ATEMP1,I_^1_(LDQ-_#ATOPT,I_^1_(STQ-_#ATEMP2,I_^1_(ENQ_$-60_^1CLEAR_"STA-_#63,B_^1_(SQZ_$2_0CLEAR ATT AREA_^1_(INQ_$1_^1_(JMP*_#CLEAR_^1_(STA-_#RFA,I_,CLEAR RFA_109*C1602_^1_(STA-_#SW3,I_,CLEAR SEV SWITCH_*08*C1500_^1_(STA-_#SEVTNO,I_D08*C1500_^1_(LDA-_#MSGP,I_F06*C1301_^1_(AND-_#NZERO+4_E06*C1301_^1_(STA-_#MS€€GP,I_F06*C1301_^1_(LDQ-_#ATEMP,I_^1_(STQ-_#FUNIDX,I_)RESTORE THE SAVED VALUES_^1_(LDQ-_#ATEMP1,I_^1_(STQ-_#AINT,I_^1_(LDQ-_#ATEMP2,I_^1_(STQ-_#ATOPT,I_^1_(ENA_$3_^1_(STA-_#SST+STEMP_^1_(RTJ-_#(GETALP)_)PUT THE POINTER AFTER THE REQUEST_^1_(SQN_$ERR_.CODE (ENT)_^1_(STQ*_#LOCAL_^1_(LDA_$=N$2020_^1_(STA-_#TJOB,I_^1_(STA-_#TJOB+1,I_^1_(STA-_#TJOB+2,I_^1LOOP_#RTJ-_#(GETALP)_)GET JOB NAM€€E_^1_(SQP_$NXTCHR_^1ERR_$ENQ_$CD4_.DISPLAY 'D4' ILLEGAL JOB NAME_^1ERR1_#LDA-_#ONEBIT+8_^1_(STA-_#SW1,I_^1_(JMP-_#(ERROR)_*EXIT TO ERROR(ERROR WILL RELEASE THE_^1*_BPROGRAM AREA_^1NXTCHR_!SQZ_$GETBCH_+JOB NAME WAS TERMINATED BY,(COMMA)_^1_(INA_"-$20_^1_(LDQ*_#LOCAL_,DECREMENT $20 BECAUSE TJOB CONTAINS_^1_(QLS_$15_/ALREADY ASCII BLANKS_^1_(SQM_$1_^1_(ALS_$8_^1_(LDQ*_#LOCAL_^1_(QRS_$€€1_^1_(ADD-_#TJOB,B_+SAVE JOB NAME IN ATT_^1_(STA-_#TJOB,B_^1_(RAO*_#LOCAL_^1_(LDA*_#LOCAL_^1_(INA_$-7_^1_(SAZ_$1_^1_(JMP*_#LOOP_^1_(JMP*_#ERR_.JOB NAME IS OF 6 CHAR FOLLOWED BY ,_^1*_]_^1GETBCH_!RTJ-_#(GETBIN)_^1_(SQN_$BERR_^1_(SAZ_$BERR_^1_(STA-_#BATCH,I_*SAVE BATCH NUMBER IN ATT_^1K1000_"SUB_$=N1000_^1_(SAM_$GETOPR_^1BERR_#ENQ_$CD5_^1_(JMP*_#ERR1_-ILLEGAL BATCH NUMBER_^1GETOPR_!R€€TJ-_#(GETBIN)_^1_(SAM_$OERR_^1_(SAZ_$OERR_H07*C1409_^1_(STA-_#TOPR,I_^1_(SUB*_#K1000+1_*MAX OPERATOR NUMBER=999_^1_(SAM_$2_^1OERR_#ENQ_$CD1_^1_(JMP*_#ERR1_^1*_]_^1_(SQM_$SOF_^1_(RTJ-_#(GETBIN)_^1_%SAM_(ASERR_^1_%SQP_(ASERR_^1_(SAZ_$1_^1_(INA_$-1_^1_%STA-_'ASCNT,I_^1_(SUB_$=N9999_,MAX AUTO SEQ COUNT_^1_(SAM_$SOF_^1ASERR_"ENQ_$CD6_^1_%JMP*_'ERR1_^1*_]_^1SOF_$LDA-_#BATCH,I_^1_(RTJ_$BD€€_^1_(STA-_#BATCH,I_*GET BATCH NUMBER IN BCD_^1_(LDA-_#TOPR,I_^1_(RTJ_$BD_/GET OPERATOR NUMBER IN BCD_^1_(STA-_#TOPR,I_^1*_]_^1*_]_^1RTRY_#LDA-_#TJOB,I_^1_(STA*_#JOB_^1_(LDA-_#TJOB+1,I_^1_(STA*_#JOB+1_^1_(LDA-_#TJOB+2,I_^1_(STA*_#JOB+2_^1*_$THREE CARDS DELETED_EP1*H0017_^1_(LDQ-_#ATOPT,I_^1_(LDA-_#15,Q_H06*C1301_^1_(SAP_$2_K06*C1301_^1_(RTJ-_#(WAIT)_F06*C1301_^1_(JMP*_#RTRY_H06*C130€€1_^1_(LDA*_#JOB+2_G06*C1301_^1_(STA-_#7,Q_^1_(LDA-_#TJOB+1,I_^1_(STA-_#6,Q_^1_(LDA-_#TJOB,I_^1_(STA-_#5,Q_^1_%ENQ 1_,LOCATE LJD INDEX_5P1*H0017_^1_(RTJ_$GETLJD_^1JOB_$NUM_$0_^1_(NUM_$0_^1_(NUM_$0_^1JINF_#NUM_$0_^1LOCAL_"NUM_$0_^1_(JMP*_#RTRY_-RETRY IN CASE GETLJD IS LOCKED_^1*_]_^1_(INQ_$-1_^1_(SQZ_$1_^1_(JMP*_#ERR_^1_(TRA_$Q_0JIDX_608*C1500_^1_(ALS_$8_0PUT THE INDEX IN ATT_^1_(ST€€A-_#JIDX,I_^1_(LDA*_#JINF_H08*C1500_^1_(ARS_$3_K08*C1500_^1_(AND_$=N$1C00_E08*C1500_^1_(EAQ_$Q_K08*C1500_^1_(STQ-_#TABT1,I_*ABT/W1_408*C1500_^1_(LDA*_#JINF_^1_(AND-_#LPMASK+10_^1_(TRA_$Q_^1_(QRS_$1_^1_(INQ_$8+1_.GET CORE FOR TRB,FOR DATA-AS SPECIF_^1_(RTJ-_#(CAM)_,IN JOB INFORMATION +8 WORDS FOR HEAD_^1_(SAZ_$ENT01_^1_(ENQ_$CF4_.'CORE FULL TRY AGAIN'_^1_(JMP-_#(ERROR)_^1*_]_^1ENT01€€_"LDA-_#I_^1_(INA_$TRBA_^1_(STA-_#(ZERO),Q_)SET UP BACKWARDS POINTER_^1_(LDA-_#ONEBIT+15_^1_(EOR-_#ASCNT,I_+ADD IN AUTOSEQUENCE NUMBER_^1_(STA-_#4,Q_.SET PREVIOUS D.A TO NEGATIVE_^1_(STQ-_#TRBA,I_+PUT TRB ADDR INTO ATT_^1* ASSIGN BATCH FOR DISK_^1* AS BATCHES ARE CREATED, THEY ARE ASSIGNED_^1* ALTERNATIVELY TO EACH OF THE 4 DISKS. THE_^1* SYSTEM DISK IS PASSED OVER EVERY OTHER_^1* €€CYCLE SO THAT IT IS ASSIGNED EVERY_^1* 7TH BATCH INSTEAD OF EVERY 4TH BATCH_^1_(LDQ-_#SST+EXTSST_^1_(LDA-_#DSKST,Q_^1_(STA-_#SST+STEMP_^1FDSK0_"CLR_$Q_^1FDSK1_"LDA-_#SST+STEMP_^1_(AND-_#ONEBIT+8,Q_'FIND THE LAST USED DISK_^1_(SAN_$FDSK2_^1_(INQ_$1_^1_(JMP*_#FDSK1_^1FDSK2_"INQ_$-3_^1_(SQN_$FDSK3_,IF SYSTEM DISK IS TO BE USED_^1_(LDA-_#SST+STEMP_(CHANGE INDICATOR FOR NEXT TIME SO_^1_€€(EOR-_#ONEBIT+15_(IT WILL BE/WILL NOT BE USED_^1_(STA-_#SST+STEMP_^1_(SAM_$1_0IF NEGATIVE;'SYSTEM DISK' HAS NOT TO_^1_(ENQ_$-1_/BE ASSIGNED IN CURRENT SCAN LOOP_^1_(INQ_$-3_^1FDSK3_"INQ_$4_^1_(LDA-_#SST+STEMP_^1_(AND_$=N$F0FF_^1_(EOR-_#ONEBIT+8,Q_'CHANGE LAST USED DISK_^1_(STA-_#SST+STEMP_^1_(AND-_#ONEBIT+4,Q_'CHECK IF DISK IS UP_^1_(SAZ_$FDSK4_^1FDSK5_"LDQ-_#SST+EXTSST_^1_(LDA-_#D€€SKST,Q_^1_(EOR-_#SST+STEMP_(WERE ALL THE DISKS CHECKED?_^1_(SAN_$1_^1_(JMP*_#REJ1_-YES. THERE IS NO DISK AVAILABLE_^1_(JMP*_#FDSK0_,TRY NEXT DISK_^1FDSK4_"LDA-_#SST+STEMP_(IS DISK FULL_^1_(AND-_#ONEBIT,Q_^1_(SAZ_$1_^1_(JMP*_#FDSK5_,YES_^1_(LRS_$4_0NO_^1_(EOR-_#BATCH,I_^1_(STA-_#BATCH,I_*PUT LUN IN THE ATT_^1_(LDA_$=N$3000_^1_(STA-_#BMOD,I_^1_(LDQ-_#SST+EXTSST_^1_(LDA-_#SST+STEMP_(U€€PDATE THE DISK STATUS WORD IN THE_^1_(STA-_#DSKST,Q_*EXTENDED SST._^1*_]_^1_(RTJ_$G1TRT_^1_(SAN_$ENT02_^1REJ1_#STA-_#ABTIDX,I_)FLAG TO INDICATE ERROR CODE_^1REJ2_#LDQ-_#TRBA,I_+RELEASE TRB AREA IN CASE NO TRACK IS_^1_(CLR_$A_^1_(STA-_#2,Q_.AVAILABLE_^1_(ENQ_$CF3_^1_(LDA-_#ABTIDX,I_^1_(SAZ_$1_^1_(ENQ_$CD5_^1_(JMP_$ERR1_^1*_]_^1ENT02_"STA-_#FTOB,I_+STORE FIRST TRACK OF BATCH IN ATT_^€€1RTRY2_"LDA-_#TABT1,I_*ABT/W1_408*C1500_^1_(STA*_#WORD1_G08*C1500_^1*_]08*C1500_^1_(ENQ_$1_K08*C1500_^1_(LDA-_#BATCH,I_^1_(STA*_#WORD2_^1_(LDA-_#FTOB,I_^1_(STA*_#WORD3_^1_(RTJ-_#(SPILL)_*Q GT.0; INSERT AN ENTRY IN ABT_^1WORD1_"NUM_$0_0JOB INDEX_^1WORD2_"NUM_$0_0BATCH NUMBER_^1WORD3_"NUM_$0_0TRACK ADDR_^1_(JMP*_#RTRY2_,RETRY_^1_(STA-_#ABTIDX,I_^1_(INA_$-1_^1_(SAP_$RTRY3_^1_(LDA-_#FT€€OB,I_^1_(RTJ_$RELTRT_^1_(JMP*_#REJ2_^1*_]_^1RTRY3_"LDA-_#FTOB,I_+ENTER_^1_(EOR-_#ONEBIT_F05*C1120_^1_(RTJ_$LINKTR_+PUT THIS TRACK INTO TRACK TABLE_^1*_]_^1_(LDA-_#SST+CLOCKS_^1_(STA-_#TCLK,I_+UPDATE START TIME OF CURRENT RUN._^1_(CLR_$Q_^1_(STQ-_#TACTME,I_)PUT ACCUMULATED TIME TO ZERO_^1_(DVI_$=N60_^1_(ADD-_#SST+CLOCKM_^1_(STA-_#TSBCH,I_*UPDATE START TIME OF THE BATCH_^1_(LDA-_#BAT€€CH,I_^1_(ARS_$12_^1_(STA*_#LLUN_^1_(LDA-_#I_0SAVE OPERATOR NUMBER,START TIME OF_^1_(INA_$TOPR_-BATCH AND CURRENT RUN AND ACCUMULATD_^1_(STA*_#LCORE_,TIME ON FIRST_^1_(LDA-_#FTOB,I_+TRACK OF THE BATCH FROM WORD 91 ON._^1_(ENQ_$91_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#LDSKAD_^1_(STA*_#LDSKAD+1_^1_(RTJ-_#(WRTDWA)_^1LCORE_"NUM_$0_0CORE ADDR_^1LDSKAD_!NUM_$0_0DISK WORD ADDR_^1_(NUM_$0_^1_(NUM_$5€€_0NUMBER OF WORDS_+04*C1058_^1LLUN_#NUM_$0_0LUN_^1_(LDA_$=N1344_+SET AVAILABLE NO.OF WORDS IN TRACK_^1_(STA-_#AVLTK,I_*TO 14 X 96_^1_(LDA-_#FTOB,I_^1_(INA_$2_^1_(CLR_$Q_^1_(STQ-_#FLDN,I_F09*C1602_^1_(RTJ-_#(CLCDWA)_^1_(STQ-_#NDA,I_^1_(STA-_#NDA+1,I_^1_(ENA_$4_^1_(STA-_#RFA,I_^1_(LDA_$=N$300_^1_(EOR-_#CMODE,I_^1_(STA-_#CMODE,I_^1_(LDA_$=N$040C_*SET:BORENT DOC F.S. MAST BE KEYED IN_^€Ψ1_(STA-_#SW1,I_,SET:CURENT RECORD IS NOT PART OF DOC_^1_(CLR_$A_^1_(RTJ-_#(DISP)_^1_(ADC_$SETDIS_^1_(RTJ-_#(DISP)_^1_(ADC_$REGEN_^1_(RTJ-_#(WRTATT)_^1_(RTJ-_#(EXDFUN)_^1_(JMP-_#(CLRSR)_^1_(EQU_$EENTRY(*)_^1_(END_^__ ΨPEOB CSY/ P€1_%NAM EOB_*DECK-ID I03 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* INTERROGATE FUNCTION CALLED AT END OF BATCH PERFORMS BALANCING_^1* CHECK,CALLS THE OWN-CODE PROGRAM IF REQUIRED AND_^1* EXECUTE IT UPDATES THE STATISTIC RECORD+THE ABT RELEASES€€ THE FORMAT_^1* AND TRB,CLEARS THE DISPLAY AND TRANSFER THE TERMINAL TO IDK-IDLE_^1* MODE._]_^1_(EQU_$CURDA(9),READN($A6)_^1_(EQU_$FTOB(1),CMODE(2),JIDX(3),RCNT(4),ATRB(6)_^1_(EQU_$ONEBIT($23),LPMASK($2),NZERO($12)_^1_(EQU_%ZROBIT($33)_^1_(EQU_$JDATE(40)_^1_(EQU_$SST($47),STEMP(20),CLOCKS(17)_^1_(EQU_$PFBA(7),BMODE(15),SW1(19),SW2(20)_^1_(EQU_$ABTN(22),KEYDPR(26),VR(29),RCDER(30)_^€€1_(EQU_$VRCC(16)_)VERIFY CORRECTIONS_(04*C1082_^1_(EQU_$RCD(32),BATCH(35),ATEMP(73),TEMP5(77)_^1_(EQU_$BCOUNT(36)_B08*C1500_^1_(EQU_$CB3($24),SW3(89),SEVTNO(91),SEVFTB(92)_%08*C1500_^1_(EQU_$SEVLU(91),RCOPY(90)_908*C1500_^1_(EQU_$ATTLNG(19),ATTB(10)_908*C1500_^1_(EQU_$REDSEC($A7),WRTSEC($A8),WAIT($B0),CAM($AE)_!08*C1500_^1_(EQU_$CLCDWA($90),CLRSR($93),ERROR($96)_^1_(EQU_$GETALP($9B€€),ENTPRG($9E),EXDFUN($9F)_^1_(EQU_$SPILL($A1),REWRIT($A4),READP($A5)_^1_(EQU_$REDDWA($A9),WRTATT($AC),RELFOR($AD)_^1_(EQU_$WRTDWA($AA),ENTSR($91),EXTSR($92)_+04*C1058_^1_(EQU_$CTRS(36),ZERO($22)_^1_(EQU_$DISPLY($A0)_^1_(EQU_$BMD1(18),FUNIDX(21),DLU(35)_^1_(EQU_$DT(13)_^1_(EXT_$WSS_^1_(EXT_$EOBIT_^1_(EXT_$ADAYTO,AMONTO,AYERTO_803*C1054_^1_(EXT_$CLRALL,SETDIS_^1_(EXT_$LINKTR_F08*C150€€0_^1_(EXT_$ADD_I08*C1500_^1_(EXT_$SETMOV_F08*C1500_^1_%EXT FRZATT_(IN PIO_=04*C1057_^1_(EXT_$GETLJD_^1HDR_$VFD_$N2/3,N3/0,X11/EEOB-*_^1_%NUM 1_R07*C1465_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$EOB-HDR_^1_(ADC_$ENT2-HDR_^1EOB_$RTJ+_#SETMOV_F08*C1500_^1_(ENA_$3_K08*C1500_^1_(STA-_#SST+STEMP_(GET EOR OF EOB REQUEST_^1_(RTJ-_#(GETALP)_^1_(SAM_$ERR_^1_(SQP_$ERR_^1OK_%LDA-_#RCD,I_,CHECK FOR NO €€RECORDS IN THE BATCH_^1_(SAZ_$ERR_^1_(LDA-_#CMODE,I_*CHECK TERMINAL CURR MODE_^1_(AND_$=N$0700_^1_(SUB-_#ONEBIT+9_^1_(SAZ_$ERR_.READ MODE_^1_(SAM_$1_K08*C1500_^1_(JMP*_#IFBOR_,ENTRY MODE_008*C1500_^1_(LDA-_#SW2,I_,VER-MODE CHECK FOR NO FOR MOTION BIT_^1_(AND-_#ONEBIT+11_^1_(SAN_$CHKSEV_F08*C1500_^1ERR_$ENQ_$$12_I08*C1500_^1ERR1_#LDA-_#SW1,I_G08*C1500_^1_(AND-_$ZROBIT+8_^1_(EOR-_$ON€€EBIT+8_^1_(STA-_$SW1,I_^1*_]08*C1500_^1_(JMP-_#(ERROR)_^1CHKSEV_!LDA-_#SW3,I_,CHECK IF VER/SEV_*08*C1500_^1_(SAP_$IFBOR_,NO-THEN PERMIT EOB_'08*C1500_^1************************* IF VER/SEV-CHECK THE FOLLOWING_%08*C1500_^1_(ALS_$2_01. -CHECK IF SW3/13=1(EOD) 08*C1500_^1_(SAP_$ENTEOB_/NO-_308*C1500_^1_(ALS_$3_02. -YES-CHECK IF SW3/10=1 08*C1500_^1_(SAM_$ENTEOB_4YES (BATCH FULL) 08€€*C1500_^1_(JMP*_#ERR_7NO-ERROR_)08*C1500_^1*_]08*C1500_^1ENTEOB_!LDA-_#SW3,I_*3.CHECK IF ENT/EOB:SW3/14=1 08*C1500_^1_(AND-_#ONEBIT+14_C08*C1500_^1_(SAN_$IFBOR_,YES-VER/EOB IS PERMITTED_!08*C1500_^1_(ENQ_$CB3_.NO-ERR B3(WAITING FOR ENT) 08*C1500_^1_(JMP*_#ERR1_H08*C1500_^1***$**********************_D08*C1500_^1IFBOR_"LDA-_#RCNT,I_+CHECK FOR CHAS IN CURR REC_^1_(SAZ_$1_^1_(JMP*_#ER€€R_^1_(STA-_#BMD1,I_^1_(STA-_#25,I_^1_(CLR_$Q_K04*C1082_^1NXTCTR_!LDA-_#CTRS,B_+CHECK FOR NON-ZERO COUNTER_^1_(SAZ_$1_^1_(JMP*_#BALERR_^1IFEOC_"INQ_$-27_^1_(SQM_$1_^1_(JMP*_#BAL_^1_(INQ_$28_^1_(JMP*_#NXTCTR_^1BALERR_!QRS_$2_0AND SAVE IT FOR TOTAL FUNCTION_^1_(INQ_$1_^1_(STQ-_#BMD1,I_^1_(STQ-_#25,I_^1_(LDA-_#SW1,I_^1_(AND-_#NZERO+1_^1_(EOR-_#ONEBIT_^1_(STA-_#SW1,I_^1_(RTJ-_#(EXDFUN)_€€^1_(LDQ_$=N$2804_^1_(ENA_$1_^1_(RTJ-_#(ENTPRG)_^1ENT2_#RTJ+_#SETMOV_F08*C1500_^1_(LDQ-_#BMD1,I_F08*C1500_^1_(SQP_%IFLC_^1_(LDA-_$SW1,I_^1_(AND-_$NZERO+1_^1_(STA-_$SW1,I_^1_(JMP*_$NOOC_^1IFLC_#QLS_%2_^1_(INQ_$-1_^1_(JMP*_#IFEOC_^1BAL_$ENQ_$2_0LOCATE JOB IN LJD TO GET OWN-CODE_^1_(RTJ_$GETLJD_+NUMBER_^1JOBNAM_!ALF_$3,_^1_(NUM_$0_^1OWNCOD_!NUM_$0_^1_(JMP*_#BAL_^1_(LDA*_#OWNCOD_+CHECK €€IF OWN-CODE REQUIRED_^1_(AND-_#LPMASK+7_^1_(SAZ_$NOOC_^1_(STA-_#ATEMP,I_^1_(SET_$A_1SET FLAG FOR EOB_^1_(STA-_#BMD1,I_^1_(LDA-_$SW1,I_^1_(AND-_$NZERO+1_^1_(EOR-_$ONEBIT_^1_(STA-_$SW1,I_^1_(RTJ-_#(EXDFUN)_^1_(LDQ_$=N$7C00_^1_(ADQ-_#ATEMP,I_^1_(CLR_$A_^1_(JMP+_#EOBIT_^1NOOC_#LDA-_#BMODE,I_*CHECK FOR ENTRY MODE_^1_(ALS_$2_^1_(SAM_$ENT_I08*C1500_^1_(JMP*_#NOENT_G08*C1500_^1*$**********€€************* ENTRY MODE ONLY ******************_!08*C1500_^1************************************************************_!08*C1500_^1ENT_$LDA-_#SW3,I_G08*C1500_^1_(SAM_$ENTSEV_F08*C1500_^1_(JMP*_#SETLR_G08*C1500_^1***********_S08*C1500_^1* ENTRY/SEV: UPDATE VERIFY/ATT IN CORE,AND ON DISK_,08*C1500_^1***********_S08*C1500_^1ENTSEV_!LDA-_#SEVTNO,I_)IS VERIFY ACTIVE ?_(08*C1500_^1_(A€€RS_$8_K08*C1500_^1_(AND-_#LPMASK+6_D08*C1500_^1_(SAN_$ACTIVE_+YES_708*C1500_^1_(STA-_#BMD1,I_F08*C1500_^1_(JMP*_#UPDISK_+NO- I.E.FROZEN-UPDATE DISK 08*C1500_^1******************* UPDATE CORE VER/ATT_708*C1500_^1ACTIVE_!MUI-_#SST+ATTLNG_'CALCULATE VER/ATT CORE ADDR08*C1500_^1_(ADD-_#SST+ATTB_D08*C1500_^1_(TRA_$Q_K08*C1500_^1_(STA-_#BMD1,I_F08*C1500_^1*_]08*C1500_^1_(LDA-_#(ZERO),Q_)€€CHECK IF VER/ATT=FL,PFL_"08*C1500_^1_(AND_$=N$6000_E08*C1500_^1_(SAZ_$UPDCOR_+NO_808*C1500_^1_(RTJ-_#(WAIT)_+YES- WAIT UNTIL AVAILABLE 08*C1500_^1_(JMP*_#ENT_.(CHECK AGAIN IF SEV ETC.) 08*C1500_^1*_]08*C1500_^1*_]08*C1500_^1UPDCOR_!RTJ_$FIXATT_+JUMP TO-FIX THE ATT-SUBR. 08*C1500_^1_(LDA-_#(ZERO),Q_)IF VER /ACTIVE-SET FL ON_!08*C1500_^1_(EOR-_#ONEBIT+14_,VER/ATT WHILE UPDATING 08€€*C1500_^1_(STA-_#(ZERO),Q_-ITS DISK CHECKPOINT_"08*C1500_^1***$*************** UPDATE DISK VER/ATT_708*C1500_^1UPDISK_!ENQ_$99_/ALLOCATE CORE TO READ ATT 08*C1500_^1_(RTJ-_#(CAM)_G08*C1500_^1_(SAZ_$CAMOK_G08*C1500_^1_(RTJ-_#(WAIT)_F08*C1500_^1_(JMP*_#UPDISK_F08*C1500_^1*_]08*C1500_^1RTJRED_!RTJ-_#(REDSEC)_)CONST_508*C1500_^1RTJWRT_!RTJ-_#(WRTSEC)_)CONST_508*C1500_^1*_]08*C1500_^1C€€AMOK_"STQ-_#ATEMP,I_*FIX BACKWARDS POINTER_$08*C1500_^1_(LDA_$=XATEMP,I_C08*C1500_^1_(STA-_#(ZERO),Q_D08*C1500_^1_(LDA-_#1,Q_.SET I/O BIT_/08*C1500_^1_(EOR-_#ONEBIT+15_C08*C1500_^1_(STA-_#1,Q_I08*C1500_^1*** READ DISK ATT INTO CORE:_B08*C1500_^1_(INQ_$3_K08*C1500_^1_(LDA*_#RTJRED_F08*C1500_^1_(RTJ_$RWATT_,READ VER/ATT_.08*C1500_^1*_]08*C1500_^1_(LDQ-_#ATEMP,I_E08*C1500_^1_(INQ_$3_K€€08*C1500_^1_(RTJ_$FIXATT_+JUMP TO FIX THE ATT-SUBR_!08*C1500_^1*** WRITE UPDATED ATT BACK TO DISK:_;08*C1500_^1_(LDA*_#RTJWRT_F08*C1500_^1_(RTJ_$RWATT_G08*C1500_^1*_]08*C1500_^1_(LDQ-_#BMD1,I_F08*C1500_^1_(SQZ_$3_K08*C1500_^1_(LDA-_#(ZERO),Q_)IF BMD1.NE.0 (VER/ACTIVE) 08*C1500_^1_(AND-_#ZROBIT+14_*CLEAR FL FROM ITS ATT_"08*C1500_^1_(STA-_#(ZERO),Q_D08*C1500_^1*_]08*C1500_^1_(LDQ-_€€#ATEMP,I_*RELEASE BUFFER_,08*C1500_^1_(CLR_$A_K08*C1500_^1_(STA-_#2,Q_I08*C1500_^1**** ENTRY EOB- MOVE CURDA INTO TRB/N, SET LR BIT***********_!08*C1500_^1SETLR_"LDQ-_#ATRB,I_F08*C1500_^1_(LDA-_#CURDA,I_^1_(STA-_#6,Q_^1_(LDA-_#CURDA+1,I_^1_(STA-_#5,Q_^1_(RTJ-_#(READN)_^1_(LDQ-_#ATRB,I_+SET LAST REC OF BATCH BIT_^1_(LDA-_#5,Q_^1_(AND-_#LPMASK+15_C06*C1312_^1_(EOR-_#ONEBIT+15_^1_(STA€€-_#5,Q_^1_(RTJ-_#(REWRIT)_)REWRITE LAST RECORD_^1*************** VERIFY % ENTRY MODES **************************08*C1500_^1***************************************************************08*C1500_^1NOENT_"LDA-_#VRCC,I_F04*C1082_^1_(STA-_#ATEMP+1,I_C04*C1082_^1_(LDA-_#KEYDPR,I_D04*C1082_^1_(STA-_#ATEMP+2,I_C04*C1082_^1_(CLR_$A_K04*C1082_^1_(STA-_#VRCC,I_+SET VERIFY CORRECTION_$04*C10€€82_^1_(STA-_#KEYDPR,I_)AND KEY DEPRESSIONS TO O. 04*C1082_^1_(RTJ+_#FRZATT_+WRITE ATT,NO CLOCK SAVING 04*C1082_^1_(LDA-_#ATEMP+1,I_(VERIFY CORRECTION_)04*C1082_^1_(STA-_#VRCC,I_F04*C1082_^1_(LDA-_#ATEMP+2,I_(KEY DEPRESSION_,04*C1082_^1_(STA-_#KEYDPR,I_D04*C1082_^1GETJN_"ENQ_$2_0LOCATE JOB TO GET O/CODE NUM+JOB_^1_(RTJ_$GETLJD_+NAME_^1JN1_$ALF_$3,_^1_(NUM_$0_K08*C1500_^1_(NUM_$0_^€€1_(JMP*_#GETJN_^1_(LDA*_#JN1_.MOVE JOB NAME TO STATISTICS_^1_(STA-_#47,I_^1_(LDA*_#JN1+1_^1_(STA-_#48,I_^1_(LDA*_#JN1+2_^1_(STA-_#49,I_^1**_\08*C1500_^1_(LDA-_#SW3,I_,*IF SEV-FIND ENTRY ABT_#08*C1500_^1_(SAM_$FNDABT_+FOR VEROPT OR DELETION_#08*C1500_^1_(LDA-_#CMODE,I_E08*C1500_^1_(ALS_$6_0*IF NOT SEV-AND-ENTRY_$08*C1500_^1_(SAM_$FNDABT_+FIND ABT FOR VEROPT_'08*C1500_^1_(JMP*_#VERIF€€Y_+*ELSE-NO NEED FOR SPILL_"08*C1500_^1*_;FIND ABT ENTRY OF BATCH IN SPILL 08*C1500_^1FNDABT_!LDA-_#JIDX,I_+PREPARE SPILL PARAMETERS_!08*C1500_^1_(ALS_$8_K08*C1500_^1_(STA*_#VEROPT_F08*C1500_^1_(LDA-_#BATCH,I_E08*C1500_^1_(AND-_#LPMASK+12_C08*C1500_^1_(LDQ-_#SW3,I_,IS IT SEV BATCH ?_)08*C1500_^1_(SQP_$1_0NO_808*C1500_^1_(EOR-_#ONEBIT+15_(YES-FIND ENTRY BATCH ABT_!08*C1500_^1_(STA*€€_#VEROPT+1_D08*C1500_^1_(CLR_$Q_K08*C1500_^1_(RTJ-_#(SPILL)_'***SPILL TO FIND BATCH ABT_"08*C1500_^1VEROPT_!NUM_$0_K08*C1500_^1_(NUM_$0_K08*C1500_^1ENTFTB_!NUM_$0_K08*C1500_^1_(JMP*_#FNDABT_F08*C1500_^1_(LDQ-_#CMODE,I_E08*C1500_^1_(QLS_$6_K08*C1500_^1_(SQP_$VERSEV_F08*C1500_^1_(JMP*_#ENTRY_G08*C1500_^1******************* IF VERIFY/SEV_=08*C1500_^1VERSEV_!STA-_#ATEMP,I_E08*C1500_^1D€€ELENT_!LDA-_#ATEMP,I_E08*C1500_^1_(STA*_#PAR1_1ADDR OF ENTRY ABT_$08*C1500_^1_(SET_$Q_K08*C1500_^1_(RTJ-_#(SPILL)_*****SPILL-DEL ENT/SEV ABT 08*C1500_^1PAR1_#NUM_$0_K08*C1500_^1_(NUM_$0_K08*C1500_^1_(NUM_$0_K08*C1500_^1_(JMP*_#DELENT_F08*C1500_^1***_9**** RELEASE ENTRY SEV BATCH_$08*C1500_^1_(LDQ-_#FTOB,I_+EXCHANGE FTOB % SEVFTB_#08*C1500_^1_(STQ-_#34,I_H08*C1500_^1_(LDA*_#ENTFTB_€€F08*C1500_^1_(STA-_#FTOB,I_F08*C1500_^1_(LDA-_#BATCH,I_*EXCHANGE LU(BATCH)% SEVLU 08*C1500_^1_(STA-_#BMD1,I_F08*C1500_^1_(LDA-_#SEVLU,I_E08*C1500_^1_(ARS_$2_K08*C1500_^1_(AND_$=N$3000_E08*C1500_^1_(TRA_$Q_K08*C1500_^1_(LDA-_#BATCH,I_E08*C1500_^1_(AND-_#LPMASK+12_C08*C1500_^1_(EAQ_$A_K08*C1500_^1_(STA-_#BATCH,I_E08*C1500_^1*_]08*C1500_^1_(CLR_$A_K08*C1500_^1_(RTJ_$LINKTR_(*** RELEA€€SE ENTRY/SEV TRACKS 08*C1500_^1*_]08*C1500_^1_(LDA-_#34,I_H08*C1500_^1_(STA-_#FTOB,I_F08*C1500_^1_(LDA-_#BMD1,I_F08*C1500_^1_(STA-_#BATCH,I_E08*C1500_^1************ VERIFY(SEV-OR-NOT SEV)_;08*C1500_^1VERIFY_!LDA-_#SW2,I_G08*C1500_^1_(AND-_#LPMASK+3_)VERIFICATION OPTIONS_%04*C1082_^1_(ALS_$2_K04*C1082_^1_(TRA_$Q_K04*C1082_^1_(JMP*_#OB7_I04*C1082_^1******************** IF ENTRY EOB_€€=08*C1500_^1ENTRY_"LDA*_#VEROPT_F04*C1082_^1_(ALS_$3_0GET VEROPT FROM ABT_'08*C1500_^1_(CLR_$Q_K08*C1500_^1*_]06*C1332_^1_(STA-_#ATEMP,I_^1_(SAP_$IFE+1_^1_(LDA-_#VR,I_^1_(SAZ_$IFE_^1_(LDQ-_#ONEBIT+4_^1IFE_$LDA-_#ATEMP,I_^1_(ALS_$1_^1_(SAP_$IFU+1_^1_(STA-_#ATEMP,I_^1_(LDA-_#RCDER,I_^1_(SAZ_$IFU_^1_(ADQ-_#ONEBIT+3_^1IFU_$LDA-_#ATEMP,I_^1_(ALS_$1_^1_(SAP_$STATUS_^1_(LDA-_#25,I_^1_(SAZ€€_$STATUS_^1_(ADQ-_#ONEBIT+2_^1STATUS_!SQN_$EWAIT_G08*C1500_^1_(LDA-_#SW3,I_,IF ENT/SEV-MOVE ALWAYS_#08*C1500_^1_(SAM_$EWAIT_7WAIT TO MODE_"08*C1500_^1******************** COMMON FOR ENTRY % VERIFY EOB_,08*C1500_^1OB7_$ADQ-_#ONEBIT+7_^1EWAIT_"ADQ-_#ONEBIT+5_D08*C1500_^1_(LDA-_#25,I_H04*C1082_^1_(SAZ_$1_^1_(ADQ-_#ONEBIT+1_^1_(LDA-_#RCDER,I_^1_(SAZ_$1_^1_(ADQ-_#ONEBIT_^1_(LDA-_#JIDX,I€€_^1_(LLS_$8_^1_(STQ-_#34,I_-1ST WORD OF STATISTIC_^1_(LDA-_#BATCH,I_*PREPARE 2ND WORD_*08*C1500_^1_(LDQ-_#SW3,I_G08*C1500_^1_(SQP_$WORD2_G08*C1500_^1_)LDQ-_"CMODE,I_E08*C1500_^1_(QLS_$6_K08*C1500_^1_(SQP_$WORD2_G08*C1500_^1_(EOR-_#ONEBIT+15_(IF ENT/EOB AND SEV-,_%08*C1500_^1WORD2_!STA-_$BMD1,I_+LEAVE SEV- BIT_,08*C1500_^1UDABT_"LDQ-_#34,I_^1_(STQ*_#PARAM2_+SET PARAMETERS FOR_!SPILL€€_^1_(LDA-_#ABTN,I_^1_(STA*_#PARAM1_^1_(LDA-_#BMD1,I_+2ND WORD FOR UPDATE_'08*C1500_^1_(STA*_#PARAM3_F08*C1500_^1_(ENQ_$-1_/Q=-1 I.E.UPDAT 2 1ST WORDS 08*C1500_^1_(RTJ-_#(SPILL)_*TO UPDATE THE ABT_^1PARAM1_!NUM_$0_^1PARAM2_!NUM_$0_^1PARAM3_!NUM_$0_K08*C1500_^1_(JMP*_#UDABT_^1_(JMP*_#WR_J04*C1058_^1RWO_$NUM_$0_K04*C1058_^1_(RTJ-_#(ENTSR)_E04*C1058_^1_(LDA*_#CN,Q_H04*C1058_^1_(STA*_#F€€UN_I04*C1058_^1_(LDA-_#FTOB,I_+READ 4 WORDS FROM DTC HEADER_^1_(ENQ_$91_/FOR STATISITCS_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#DSKADD_^1_(STA*_#DSKADD+1_^1_(LDA-_#I_0SET CORE ADDRESS_^1_(INA_$36_^1_(STA*_#CORADD_^1_(LDA-_#BATCH,I_*SET LOG UNIT_^1_(ARS_$12_^1_(AND-_#LPMASK+2_D08*C1500_^1_(STA*_#LUNIT_G08*C1500_^1_(RTJ+_#SETMOV_F08*C1500_^1FUN_$NUM_$0_K04*C1058_^1CORADD_!NUM_$0_0CORE ADDRESS_^€€1DSKADD_!NUM_$0_0DISK WORD ADDRESS_^1_(NUM_$0_^1_(NUM_$5_0NUMBER OF WORDS_+04*C1058_^1LUNIT_"NUM_$0_0LOG UNIT_^1_(JMP-_#(EXTSR)_E04*C1058_^1CN_%RTJ-_#(WRTDWA)_D04*C1058_^1_(RTJ-_#(REDDWA)_D04*C1058_^1WR_%ENQ_$1_0READ 5 WORDS_.04*C1058_^1_(RTJ*_#RWO_I04*C1058_^1_(LDA-_#RCD,I_,TOTAL NO OF RECORDS_'04*C1058_^1_(SUB-_#40,I_--TOTAL WHEN LAST_*04*C1058_^1_(STA-_#43,I_-STS REC WAS WRITTEN€€_'04*C1058_^1_(LDA-_#CMODE,I_+ADJUST MODE TO REFLECT_*A_^1_(AND-_#ONEBIT+9_KA_^1_(CLR_$Q_K04*C1082_^1_(SAN_$1_0ENTRY MODE_004*C1082_^1_(ENQ_$6_0VERIFY MODE_/04*C1082_^1SETMOD_!LDA-_#34,I_OA_^1_(ALS_$3_K04*C1082_^1_(LLS_$4_0VERIFICATION OPTION_'04*C1082_^1_(ALS_$1_K04*C1082_^1_(LLS_$8_K04*C1082_^1_(STQ-_#34,I_H04*C1082_^1_(LDA-_#35,I_H04*C1082_^1_(STA-_#ATEMP,I_E05*C1253_^1_(AND-_#L€€PMASK+12_(MASK ONLY BATCH NO_(04*C1082_^1_(STA-_#35,I_H04*C1082_^1*_]_%A_^1_(LDA-_#SST+CLOCKS_(CALCULATE ELAPSED TIME_*A_^1_(SUB-_#38,I_OA_^1SAMCYC_!ADD-_#39,I_^1_(STA-_#39,I_^1_(CLR_$Q_0PACK MONTH AND DAY_(03*C1054_^1_(LDA+_#AMONTO_F03*C1054_^1_(RTJ*_#PACK_H03*C1054_^1_(LDA+_#ADAYTO_F03*C1054_^1_(RTJ*_#PACK_H03*C1054_^1_(STQ-_#38,I_H03*C1054_^1_(LDA-_#KEYDPR,I_)GET KEY STROKES_^1_€€(STA-_#40,I_^1_(LDA-_#VRCC,I_F04*C1082_^1_(LDQ-_#BMODE,I_E04*C1082_^1_(QLS_$2_K04*C1082_^1_(SQP_$1_0VERIFY_404*C1082_^1_(LDA-_#VR,I_-ENTRY_504*C1082_^1_(STA-_#41,I_^1_(LDA-_#RCDER,I_*GET NUM OR ERRONEOUS RECORDS_^1_(STA-_#42,I_^1*_!2 CARDS HAD BEEN DELETED_B04*C1058_^1_(LDA+_#AYERTO_F03*C1054_^1_(STA-_#44,I_H03*C1054_^1_(RTJ_$WSS_.WRITE STATISTICS RECORD_^1_(LDA-_#RCD,I_G04*C1058_^€€1_(STA-_#40,I_-TOTAL NOW_104*C1058_^1_(CLR_$Q_K04*C1058_^1_(STQ-_#39,I_-CLEAR ACCUMULATED TIME_#04*C1058_^1_(LDA-_#ATEMP,I_*RESTORE L.U._.05*C1253_^1_(STA-_#35,I_H05*C1253_^1_(RTJ*_#RWO_.WRITE 5 WORDS IN BCH HDR_!04*C1058_^1_(RTJ-_#(DISPLY)_)CLEAR DISPLAY_^1_(ADC_$CLRALL_^1_(ENA_$2_0SET DATA TYPE TO IDLE_^1_(RTJ-_#(DISPLY)_^1_(ADC_$SETDIS_^1_(LDA-_#ONEBIT+14_(SET ATT MODE TO IDK ID€€LE_^1_(STA-_#CMODE,I_^1_(CLR_$A_0Z_^1_(STA-_#DLU,I_,ZERO TO DISK LOGICAL UNIT AND_^1_(STA-_#BMODE,I_*BASIC MODE_^1_(STA-_#DT,I_^1_(STA-_$SW3,I_F08*C1500_^1_(LDQ-_#ATRB,I_+RELEASE TRB AREA_^1_(RTJ-_#(RELFOR)_^1_(LDQ-_#PFBA,I_+RELEASE FORMAT_^1_(LDQ-_#(ZERO),Q_^1_(RTJ-_#(RELFOR)_^1_(CLR_$Q_^1_(STQ-_#PFBA,I_^1_(RTJ-_#(EXDFUN)_)EXIT DISK FUNCTION_^1_(JMP-_#(CLRSR)_^1*_]03*C1054_^1PACK_€€#NUM_$0_0CONVERT TO BCD_,03*C1054_^1_(ALS_$4_K03*C1054_^1_(LLS_$4_K03*C1054_^1_(ALS_$4_K03*C1054_^1_(LLS_$4_K03*C1054_^1_(JMP*_#(PACK)_F03*C1054_^1********* SUBR TO READ/WRITE VER/ATT FROM DISK ****************08*C1500_^1RWATT_"NUM_$0_K08*C1500_^1_(RTJ-_#(ENTSR)_E08*C1500_^1_(STA*_#FUNX_H08*C1500_^1_(STQ*_#BUF1_H08*C1500_^1_(RTJ+_#SETMOV_F08*C1500_^1_(LDA-_#SEVFTB,I_D08*C1500_^1_(I€€NA_$1_K08*C1500_^1_(STA*_#FTOB1_G08*C1500_^1_(LDA-_#SEVLU,I_E08*C1500_^1_(ALS_$2_K08*C1500_^1_(AND-_#LPMASK+2_D08*C1500_^1_(STA*_#LU1_I08*C1500_^1*_]08*C1500_^1FUNX_#NUM_$0_K08*C1500_^1BUF1_#NUM_$0_0CORE ADDR_108*C1500_^1FTOB1_"NUM_$0_0VER/SEV- FTOB+1_+08*C1500_^1_(NUM_$1_01 SECTOR_208*C1500_^1LU1_$NUM_$0_0VER/SEV- LU_/08*C1500_^1_(JMP-_#(EXTSR)_E08*C1500_^1*** SUBROUTINE TO UPDATE€€ VER/ATT IF EOB DURING ENTRY SEV ***_!08*C1500_^1*** Q=ADDR OF VER/ATT IN CORE *****************************_!08*C1500_^1FIXATT_!NUM_$0_K08*C1500_^1_(STQ*_#LOCAL1_+SAVE Q(ADDR OF VER/ATT)_"08*C1500_^1_(LDA-_#SEVTNO,Q_)CLEAR ENT TERMINAL NO._#08*C1500_^1_(AND_$=N$C0FF_E08*C1500_^1_(STA-_#SEVTNO,Q_D08*C1500_^1*_]08*C1500_^1_(LDA-_#SW3,Q_,SET ENT/EOB BIT_+08*C1500_^1_(ALS_$1_K08*C150€€0_^1_(SAP_$1_K08*C1500_^1_(JMP*_#EXFIX_G08*C1500_^1_(LDA-_#SW3,Q_G08*C1500_^1_(EOR-_#ONEBIT+14_C08*C1500_^1_(STA-_#SW3,Q_G08*C1500_^1*_8RECORDS STILL TO BE COPIED (NEGATIV) 08*C1500_^1_(LDA-_#RCOPY,Q_+-INTO RCOPY OF VER/ATT_"08*C1500_^1_(SUB-_#RCD,I_G08*C1500_^1_(STA-_#RCOPY,Q_E08*C1500_^1********_1ADD ENTRY COUNTERS TO VERIFY COUNTRS 08*C1500_^1_(ENA_$BCOUNT+24_C08*C1500_^1_(STA*_€€#LOCAL2_+INIT VALUE-FOR COUNTER#7_!08*C1500_^1*_]08*C1500_^1CLOOP_"LDA*_#LOCAL1_+VER/ATT BASE ADDR_)08*C1500_^1_(ADD*_#LOCAL2_++PLACE OF ACTUAL COUNTER_!08*C1500_^1_(LDQ-_#I_0ENT/ATT BASE ADDR_)08*C1500_^1_(ADQ*_#LOCAL2_++PLACE OF ACTUAL COUNTER_!08*C1500_^1_(STA-_#I_0RESULT INTO VER/ATT_'08*C1500_^1*_]08*C1500_^1_(RTJ_$ADD_.USE ADD BCD NUMBERS SR_#08*C1500_^1_(LDA*_#LOCAL2_+ADVANC€lE TO PREVIOUS COUNTR 08*C1500_^1_(INA_$-BCOUNT-4_C08*C1500_^1_(SAM_$EXFIX_,NO MORE COUNTERS_*08*C1500_^1_(INA_$BCOUNT_F08*C1500_^1_(STA*_#LOCAL2_F08*C1500_^1_(JMP*_#CLOOP_,CONTINUE LOOP_-08*C1500_^1*_]08*C1500_^1EXFIX_"LDQ*_#LOCAL1_+RESTORE Q_108*C1500_^1_(JMP*_#(FIXATT)_D08*C1500_^1LOCAL1_!NUM_$0_K08*C1500_^1LOCAL2_!NUM_$0_K08*C1500_^1_(EQU_$EEOB(*)_^1_(END_^__lPERRKEY CSY/ P€1_%NAM ERRKEY_'DECK-ID K23 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* THIS ROUTINE PROCESSES THE ERROR OVERRIDE KEY IN ALL MODES_^1*_$FUNCTIONS: CHECK FOR EOB ERROR - IF YES, EXIT_^1*_0OTHERWISE PERFORM COUNTER OPERATIONS._^1*_0SET ERROR€€ FLAG (FIELD AND RECORD)_^1*_0CLEAR IDK % ERR/OVR SWITCHES_^1*_]_^1_(EXT_$COUNT,EMM2,NOVAL,FMTPAR_^1_(EXT_$TSTEOR_^1_(EQU_$ENTPRG($9E),GBYTE($94),SBYTE($95),EXDFUN($9F)_^1_(EQU_$ERROR($96)_^1_(EQU_$MODE(2),RCNT(4),SW1(19),SW2(20),ATRB(6),RCDER(30)_^1_(EQU_$SWITCH(78)_'INTER ERROR FLAG_*07*C1402_^1_(EQU_$CMODE(2),RCD(32)_<05*C1127_^1_(EQU_$RCDRD(31)_C05*C1127_^1_(EQU_$A4(4)_^1_(EQU_€€$FCNT(3),ATEMP(73)_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$STACKL(8),ENTR(79)_:06*C1320_^1HDR_$VFD_$N5/$18,X11/EERR-*_^1_(NUM_$1,0,0_^1_(ADC_$ERRKEY-HDR_^1_(ADC_$OK-HDR_+ENTRY FOR AUTOMATIC FLAGGING_^1*_]_^1ERRKEY_!LDA-_#MODE,I_,IF NOT IDK + ERR/ OVR_^1_(AND-_#ONEBIT+14_^1_(SAZ_$FUNERR_+FUNCTION ERROR_^1_(LDA-_#SW2,I_^1_(AND-_#ONEBIT+12_^1_(SAN_$OK€€_^1FUNERR_!ENQ_$A4_^1_(JMP-_#(ERROR)_^1OK_%RTJ-_#(EXDFUN)_*RELEASE ERRKEY_^1_(LDA-_#SW2,I_^1_(AND-_#ZROBIT+12_)CLEAR ERR/OR FLAG_^1_(STA-_#SW2,I_^1_(LDA-_#SW1,I_-CHECK FOR EOB_^1_(AND-_#ONEBIT_^1_(SAZ_$NOTEOB_^1*_]06*C1345_^1_(LDA-_#SW1,I_-EOB - CLEAR EOB VALIDATION ERROR_^1_(AND-_#ZROBIT_^1_(STA-_#SW1,I_^1_(ENA_$1_1EXIT TO SECOND ENTRY POINT IN EOB_^1_(LDQ_$=N$2803_^1_(RTJ-_#(ENTP€€RG)_^1*_]_^1NOTEOB_!LDQ-_#RCNT,I_^1_(STQ-_#ATEMP,I_+SAVE RCNT TEMPORARILY_^1_(LDA-_#SWITCH,I_)***_707*C1402_^1_(AND-_#ONEBIT+13_(INTER FIELD ERROR?_(07*C1402_^1_(SAZ_$NOTINT_F07*C1402_^1_(LDA-_#SWITCH,I_)CLEAR INTER_/07*C1402_^1_(AND-_#ZROBIT+13_(FIELD ERROR_/07*C1402_^1_(STA-_#SWITCH,I_D07*C1402_^1_(LDQ-_#ATRB,I_F07*C1402_^1_(LDA-_#3,Q_I07*C1402_^1_(AND-_#ZROBIT+9_D07*C1402_^1_(EO€€R-_#ONEBIT+9_D07*C1402_^1_(STA-_#3,Q_I07*C1402_^1_(JMP*_#CHKFLG_F07*C1402_^1*_]07*C1402_^1NOTINT_!LDA-_#FCNT,I_F07*C1402_^1_(AND-_#LPMASK+8_^1_(TCA_$A_1MOVE BACK TO BEGINNING OF FIELD_^1_(AAQ_$Q_^1_(STQ-_#RCNT,I_^1_(RTJ-_#(GBYTE)_+GET FIRST CHARACTER_^1_(EOR-_#ONEBIT+7_^1_(TRA_$Q_1SET ERROR BIT % STORE BACK_^1_(LDA-_#MODE,I_^1_(AND-_#NZERO+8_,IN TRB_^1_(EAQ_$A_^1_(STA-_#MODE,I_^1_(€€RTJ-_#(SBYTE)_^1CHKFLG_!LDQ-_#ATRB,I_+CHECK RECORD FLAG_)07*C1402_^1_(LDA-_#3,Q_^1_(SAM_$ERRSET_,IF NOT SET,SET IT % INCREMENT_^1_(EOR-_#ONEBIT+15_^1*_]05*C1127_^1_(STA-_#3,Q_^1_(LDA-_#CMODE,I_*IF ERRKEY IS PRESSED BECAUS05*C1127_^1_(AND-_#ONEBIT+8_)OF REPLACING A FIELD IN REA05*C1127_^1_(SAN_$ERRSET_+MODE POSITIONED BEFORE_#05*C1127_^1_(LDA-_#SW1,I_,TO THE BASIC MODE,INCREASE 05*C€€1127_^1_(AND-_#ONEBIT+12_(NO OF ERRONIOUS RECORDS_"05*C1127_^1_(SAN_$ERRSET_F05*C1127_^1_(LDA-_#RCDRD,I_E05*C1127_^1_(SUB-_#RCD,I_G05*C1127_^1_(SAP_$1_K05*C1127_^1_(RAO-_#RCDER,I_E05*C1127_^1ERRSET_!LDQ-_#ATEMP,I_,RESTORE RCNT_^1_(STQ-_#RCNT,I_^1_(ENQ_$11_^1_(RTJ+_#FMTPAR_,CHECK FOR COUNTERS ON THIS FIELD_^1_(SAM_$NOCONT_-AND PERFORM IF REQUIRED_^1_(ALS_$8_^1_(RTJ+_#COUNT_^1NOCONT_€€!LDA-_#SW2,I_G06*C1345_^1_(AND-_#ONEBIT+6_D06*C1345_^1_(SAZ_$NOREL_^1_(CLR_$A_^1_(ENQ_$-STACKL+1_(CLEAR ENT/EXT STACK_^1LOOP_#STA-_#ENTR+STACKL-1,B_^1_(SQZ_$2_^1_(INQ_$1_^1_(JMP*_#LOOP_^1_(JMP+_#TSTEOR_^1NOREL_"LDA-_#MODE,I_^1_(AND-_#ZROBIT+14_)CLEAR IDK_^1_(STA-_#MODE,I_^1_(ALS_$3_^1_(SAM_$VERIFY_,PSEUDO VERIFY_^1_(ALS_$15_^1_(SAM_$ENTRY_-PSEUDO ENTRY_^1_(AND-_#ONEBIT+11_^1_(SAN_$€ΰENTRY_^1VERIFY_!LDA-_#SW1,I_,SET REWRITE BIT_+06*C1321_^1_(AND-_#ZROBIT+13_C06*C1321_^1_(EOR-_#ONEBIT+13_C06*C1321_^1_(STA-_#SW1,I_G06*C1321_^1_(JMP+_#NOVAL_G06*C1321_^1*_]_^1ENTRY_"JMP+_#EMM2_^1_(EQU_$EERR(*)_^1_%END_]_^__ ΰPES1 CSY/ P€1_%NAM ES1_*DECK-ID M11 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_"DLINA_]_^1*_!DLINA IS A PROGRAM WHICH DELETES THE INACTIVE FORMATS_^1*_]_^1*_!FROM THE LEGAL FORMATS DIRECTORY.DELETION IS DONE ONLY AFTER_^1*_]_^1*_!CHECK IS MADE THAT THE I€€NACTIVE FORMAT IS NOT NEEDED. THE CHECK_^1*_]_^1*_!IS DONE BY SEARCHING UP ALL THE DATA AND VERIFYING THAT THE_^1*_]_^1*_!INACTIVE FORMAT WAS NOT USED IN ANY RECORD._^1*_]_^1*_!FIRST ALL THE INACTIVE FORMATS ARE STORED IN A TABLE._^1*_]_^1*_!THEN. THEY ARE COMAPRED TO FORMAT NUMBERS OF ALL RECORDS IN_^1*_]_^1*_!ALL BATCHES. IF THE TABLE IS NOT ENOUGH FOR ALL INACTIVES THIS_^1*_]_^1€€*_!IS DONE IN MORE THEN ONE PASS._^1*_]_^1*_!WE NEED CORE FOR THE LEGAL FORMATS DIRECTORY (OR PART OF IT)_^1*_]_^1*_!WHICH ALSO AS BUFFER FOR DATA. WE ALSO NEED STACK FOR THE_^1*_]_^1*_!INACTIVE FORMATS. LEAST CORE REQUEST IS 103+99_!WRDS_^1*_]_^1*_]_^1*_!SYSTEMS CONSTANTS_^1*_]_^1*_]_^1_(EQU_$SST($47)_^1_(EQU_$CLCDWA($90)_^1_(EQU_$REDDWA($A9)_^1_(EQU_$WRTDWA($AA)_^1_(EQU_$REDSEC($€€A7)_^1_(EQU_$WRTSEC($A8)_^1_(EQU_$RELFOR($AD)_^1_(EQU_$CAM($AE)_^1_(EQU_$REJSUP($B2)_^1_(EQU_$ENTPRG($9E)_^1_(EQU_$EXDFUN($9F)_^1_(EQU_$SUPRW($97)_^1_(EQU_$STEMP(20)_^1_(EQU_$STEMP1(STEMP+1)_^1_(EQU_$STEMP2(STEMP+2)_^1_(EQU_$STEMP3(STEMP+3)_^1* NEXT OVERLAY OF SQZ FORMAT_^1_(EQU_$SQZTRK($80C)_^1* OVERLAY OF SQZ PROGRAMS._^1_(EQU_$SQZPRG($80D)_^1_(EQU_$ENTSR($91),EXTSR($92),RTNSR($9€€8)_^1*_]_^1* LFD IS_#ENTRY 39 IN EST_^1*_]_^1_(EQU_$LFD(39)_^1*_]_^1*_!NO OF FORMATS IS ENTRY 24 IN EST,ADR OF ABT IN ENTRY 22_^1*_]_^1_(EQU_$MAXFMT(24)_^1_(EQU_$ABT(22)_^1_(EQU_$SPIL(23)_)ABTS DISK ADDRESS_^1_(EQU_$DSKST(29)_C05*C1168_^1_(EQU_$ZERO($22),ZROBIT($33),ONEBIT($23),LPMASK(2)_^1_(EQU_$NZERO($12)_^1*_]_^1*_!TEMPORARIES IN THE ATT_^1*_]_^1*_]_^1_(EQU_$ATTEMP(73)_^1€€*_]_^1*_BSUP COMMUNICATION AREA_^1_(EQU_$SCA(46)_^1*_BTHE VALUE OF SECNO ENTRY IN FLK_^1_(EQU_$FLKLNG(SCA)_^1*_BBCKWRD PT FOR INACTIVE FMT STACK_^1_(EQU_$INABCK(SCA+1)_^1*_BBCKWRD PT FOR LFD BUFFER_^1_(EQU_$LFDBCK(SCA+2)_^1*_BLENGTH OF BUFFER IN WRDS_^1_(EQU_$BUFLNG(SCA+3)_^1*_BFORMAT NUMBER._^1_(EQU_$FMTNI(SCA+4)_^1*_BPOINTER TO LFD CORE BUFFER_^1_(EQU_$LFDPT(SCA+5)_^1*_BNO OF DEL€€ETEABLE INACTIVE FMTS._^1_(EQU_$ALLINA(SCA+6)_^1*_BPOINTER TO THE ABT_^1_(EQU_$ABTPT(SCA+7)_^1*_BWHICH TRK OF DATA IS PRESENT AT CORE_^1_(EQU_$CURTRK(SCA+8)_^1*_BNO OF RECORD IN BATCH_^1_(EQU_$RECNO(SCA+9)_^1*_:DISPLCMENT IN TRK OF FIRST WRD IN BUFFER._^1_(EQU_$CURDIS(SCA+10)_^1*_*NO OF ENTRIES IN ABT_^1_(EQU_$ABTENT(SCA+11)_^1_(EQU_$INATOP(SCA+12)_"NO OF ENTRIES IN INACTIVE STACK_€€^1_(EQU_$TEMP(SCA+13)_$TEMPORARY_^1*_]_^1*_!EXTERNALS_^1*_]_^1_(EXT_$SIABTS_^1_(EXT_$SETMOV,SIFLNK,PRTMSG_^1_(EXT_$BD,GETLJD_^1_(EXT_$SIABTW_F05*C1166_^1*_]_^1* CONSTANTS_^1*_]_^1_(EQU_$INALNG(100)_^1_(EQU_$FW(3)_^1*_]_^1*_!CONSTANT WORDS IN ATT_^1*_]_^1*_]_^1*_BTOTAL NO OF RECORDS IN BATCH_^1_(EQU_$RCD(32)_^1*_BFORMAT NO_^1_(EQU_$FMTNO(13)_^1*_]_^1*_BCURRENT MODE_^1_(EQU_$CMODE(2€€)_^1*_BBASIC MODE FMT NO_^1_(EQU_$BFMT(25)_^1*_BBASIC MODE_^1_(EQU_$BMOD(15)_^1*_BDOCUMENT NO_^1_(EQU_$DOCNO(17)_^1*_BFORMAT NO OF CURRENT GROUP IN DOC_^1_(EQU_$DOCFMT(23)_^1_(EQU_$JOBIND(3)_(JOB INDEX_^1*_]_^1*_]_^1*_!CONSTANT WORDS IN RECORD_^1*_]_^1_(EQU_$PRVLSB(1)_^1_(EQU_$MSB(3)_^1_(EQU_$NXTLSB(2)_^1_(EQU_$FMTREC(4)_^1HDR_$VFD_$N2/3,N3/0,X11/EDLINA-*_^1_(NUM_$1,0,0_^1_(ADC_$DL€€INA-HDR_^1DLINA_"RTJ+_#SETMOV_^1******_]_^1*_"SQZ OF FORMATS (1)_^1****_]_^1*_]_^1*_!SEARCH AFTER THE INACTIVE FMT._^1*_]_^1*_]_^1*_!CHECK THE FLK TO SEE IF THERE ARE FORMATS AT ALL_^1*_]_^1_(LDA_$=XSIFLNK_)FLK DISK ADDRESS_^1*_]_^1_(ENQ_$1_^1_(RTJ-_#(CLCDWA)_)CLC DSK WA OF 2'ND ENTRY_^1_(STA*_#DA+1_-IN FLK_^1_(STQ*_#DA_^1_(ENA_$FLKLNG_^1_(ADD-_#I_^1_(STA*_#CORAD_,FOR READ REQUEST€€_^1_(RTJ-_#(REDDWA)_^1CORAD_"NUM_$0_^1DA_%NUM_$0_0DSK WORD ADDRESS_^1_(NUM_$0_^1_(NUM_$1_0NO OF WORDS_^1_(NUM_$0_0LOGICAL UNIT_^1_(LDA-_#FLKLNG,I_)CURRENT ENT OF FLK_^1_(INA_$-1_/CHECK IF 1_^1_(SAN_$L2_^1_(ENA_$75_/END OF SQZ FORMATS MSG_^1_(RTJ+_#PRTMSG_+END OF SQZ FORMATS MSG_^1_(RTJ-_#(EXDFUN)_)NO FMTS AT ALL. FINISH._^1_(CLR_$A_^1_(LDQ_$=XSQZPRG_^1_(RTJ-_#(ENTPRG)_^1*_]_^1* FL€€K IS NOT EMPTY._^1* PREPARE A BUFFER FOR INACTIVE FMTS._^1*_]_^1L2_%LDQ_$=XINALNG_)ASK FOR 100 WORD_^1_(INQ_$3_^1_(RTJ-_#(CAM)_,FOR INACTIVE TABLE._^1_(SAP_$L3_^1NOCORE_!ENA_$11_^1_(JMP-_#(REJSUP)_)NO MEMORY_^1L3_%STQ-_#INABCK,I_)FIX PTS._^1_(ENA_$INABCK_^1_(ADD-_#I_^1_(STA-_#(ZERO),Q_^1*_]_^1* PREPARE A BUFFER FOR LFD_^1*_]_^1_(ENA_$16_/MAX NO OF SECTORS WE ALLOCATE_^1TRY1_#S€€TA*_#LFDBFL_+FOR LFD BUFFER_!(16)_^1K96_$MUI_$=N96_-CALCUALTE NO OF WORDS NEEDED_^1_(STA-_#BUFLNG,I_)LFS BUFFER LENGTH IN WORDS_^1_(INA_$3_0FOR BCK HDR_^1_(TRA_$Q_^1_(RTJ-_#(CAM)_^1_(SAP_$L4_^1_(LDA*_#LFDBFL_+NO OF SEC IN PREVIOUS REQUEST_^1_(ARS_$1_0HALF CORE OF PREVIOUS REQUEST_^1_(SAZ_$L5_/IF ONE SECTOR IS NOT AVAILABLE._^1_(JMP*_#TRY1_^1L5_%LDQ-_#INABCK,I_)RELEASE AREA_^1_(RTJ€€-_#(RELFOR)_^1_(JMP*_#NOCORE_^1*_]_^1*_]_^1L4_%STQ-_#LFDBCK,I_)FIX BCKPT FOR LFD BUFFER_^1_(ENA_$LFDBCK_^1_(ADD-_#I_^1_(STA-_#(ZERO),Q_^1*_]_^1*_]_^1*_]_^1_(LDQ-_#SST_.NEXT SEC OF LFD TO BE READ IS_^1_(LDQ-_#LFD,Q_,THE FIRST ONE_^1_(STQ*_#LFDNXT_^1_(CLR_$A_0POINTER TO CORE BUFFER POINT_^1_(STA-_#LFDPT,I_*TO FIRST ENTRY (FIRST IS UNASSIGNED)_^1_(STA-_#INATOP,I_)TEMPORARY PTS TO INAC€€TIVE BUF_^1_(STA-_#FMTNI,I_*FMT NO IS 0 BEFORE BEGINNING_^1*_]_^1RDNEXT_!LDQ-_#LFDBCK,I_^1_(LDA-_#1,Q_.SET I/O BIT_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1*_]_^1_(INQ_$3_^1_(STQ*_#CORAD1_+BEG BUF TO CORE ADR_^1*_]_^1*_'RED SEC REQUEST_^1*_]_^1_(RTJ-_#(REDSEC)_^1CORAD1_!NUM_$0_^1LFDNXT_!NUM_$0_^1LFDBFL_!NUM_$0_0LENGTH OF BUFFER_^1_(NUM_$0_0SYSTEM LOG UNIT_^1*_]_^1_(LDQ-_#LFDBCK,I_^1_(€€LDA-_#1,Q_.TURN OFF I/O BIT_^1_(AND-_#ZROBIT+15_(OF LFD BUF_^1_(STA-_#1,Q_^1*_]_^1_(LDA*_#LFDNXT_^1_(ADD*_#LFDBFL_^1_(STA*_#LFDNXT_+NEXT SECTOR TO BE READ_^1*_]_^1*_]_^1*_!CHECK IF NEXT FMT IS LEGAL_^1*_]_^1NXTFMT_!RAO-_#FMTNI,I_^1_(LDQ-_#SST_^1_(LDA-_#MAXFMT,Q_)MAX NO OF FMTS_^1_(SUB-_#FMTNI,I_*MAXFMT-FMTNO_^1_(SAP_$LEGFMT_+FMT NO. IS LEGAL_^1_(JMP*_#CHKINA_+GO OT CHK INACTIVE €€STEP_^1LEGFMT_!LDA-_#LFDPT,I_^1_(INA_$2_^1_(STA-_#LFDPT,I_*ENTRY IN CORE_^1_(TRA_$Q_^1_(SUB-_#BUFLNG,I_^1_(SAM_$INACT_,BEFOREEND OF BUFFER._^1_(ENQ_$-2_/FIX BEFORE BEGINNING OF BUFFER_^1_(STQ-_#LFDPT,I_^1_(LDA-_#FMTNI,I_*BACK TO PREVIOUS FORMAT._^1_(INA_$-1_^1_(STA-_#FMTNI,I_^1_(JMP*_#RDNEXT_+GO AND READ NEXT SECTORS FROM LFD_^1*_]_^1* CHECK IF FMT IS INACTIVE_^1*_]_^1INACT_"ADQ-_€€#LFDBCK,I_)POINTER TO LFD BUFFER_^1_(LDA-_#3,Q_^1_(SAZ_$ZZ9_.EMPTY ENTRY_^1_(LDA-_#4,Q_.SECOND ENTRY_^1*_BCHECK IF INACTIVE BIT IS SET_^1_(SAM_$ISINA_,YES_^1ZZ9_$JMP*_#NXTFMT_^1*_]_^1*_!THE FMT IS INACTIVE.SHOULD BE STORED IN INACTIVE_^1*_!STACK.INATOP PTS TO LEAST ENTRY OF STACK_^1*_]_^1ISINA_"LDA-_#FMTNI,I_^1_(LDQ-_#INABCK,I_^1_(ADQ-_#INATOP,I_^1_(STA-_#3,Q_.STORE FMT NO.IN INAC€€TIVE STACK_^1_(RAO-_#INATOP,I_)ADD ONE TO THE STACK POINTER_^1_(LDA-_#INATOP,I_^1_(SUB*_#L2+1_-CHECK IF OUT OF STACK_^1_(SAZ_$FULL_^1_(JMP*_#NXTFMT_^1FULL_#LDA*_#LFDNXT_+IF UFLL,MARK LFD SECTORS IN CORE_^1_(SUB*_#LFDBFL_+BUFFER (LFDNXT-LFDBFL) AS THE_^1_(STA*_#LFDNXT_+NEXT SECTORS TO BE CHECKED_^1*_]_^1*_]_^1*_-CHECK INACTIVE STEP_^1*_!THIS STEP CAN BE ACHEIVED IF THE INACTIVE STAC€€K IS FULL._^1*_!OR IF ALL THE FORMATS WERE CHECKED FOR INACTIVITY_^1*_]_^1CHKINA_!LDA-_#INATOP,I_^1_(SAN_$MCHINA_^1*_]_^1*_!THE INACTIVE STACK EMPTY_^1*_]_^1_(JMP_$SQZFMT_+NEXT STEP IS SQZ OF FORMATS_^1*_]_^1*_!THE INACTIVE STACK IS NOT EMPTY. WE HAVE TO_^1*_!CHECK IF ANY OF THE FORMATS IS STILL USEFUL_^1*_]_^1MCHINA_!STA-_#ALLINA,I_)NO OF INACTIVE FMTS TO ALLINA_^1*_]_^1*_$CHECK A€€BTS_^1*_]_^1_(LDQ-_#SST_^1_(LDA-_#SPIL,Q_+ABT DISK ADDRESS_^1_(STA*_#SECAD8_^1_(LDA-_#ABT,Q_,ABT CORE ADDRESS_^1_(STA*_#CORAD8_^1RDABT_"RTJ-_#(REDSEC)_^1CORAD8_!NUM_^1SECAD8_!NUM_$0_^1SECNO8_!ADC_$SIABTS_+NO OF SECTORS IN ABT_^1_(NUM_$0_0LOG UNIT_^1_(LDA*_#SECAD8_^1_(ADD*_#SECNO8_^1_(STA*_#SECAD8_+NEXT ABT DISK ADDRESS_^1_(ENA_$3_^1_(STA-_#ABTPT,I_*FIRST ENTRY_^1_(LDQ*_#CORAD8_+ABT€€ CORE ADDRESS_^1*_!SECOND ENTRY OF ABT CONTAINS NO OF ENTRIES IN THE ABT_^1*_]_^1_(LDA-_#1,Q_^1_(SAN_$ISDAT_^1*_]_^1* NO BATCHES,CHECK IF LAST TABLE_^1*_]_^1IFLAST_!LDQ*_#CORAD8_^1_(LDA-_#2,Q_.LAST TABLE MARKED HERE_^1_(SAP_$ZZ2_^1_(JMP*_#DELINA_^1ZZ2_$JMP*_#RDABT_^1*_]_^1* WE HAVE TO SEARCH THE DATA_^1*_]_^1ISDAT_"STA-_#ABTENT,I_)NO OF ENTRIES_^1*_]_^1*_]_^1ISDATA_!LDQ-_#ABTPT,I_€€*LAST ENTRY_^1_(ADQ*_#CORAD8_+ABT CORE ADDRESS_^1_(LDA-_#(ZERO),Q_)JOB INDEX_^1_(SAN_$1_^1_(JMP*_#ENDBC_,END OF BATCH_^1*_]_^1_(ENA_$-1_J06*C1329_^1_(STA-_#CURTRK,I_)ILLEGAL TRK.INDICATION THAT NO_^1*_BDATA IS PRESENT AT CORE._^1_(ENA_$1_^1_(STA-_#RECNO,I_*1 TO RECNO_^1_(LDA-_#1,Q_.WORD 1 OF ENTRY_^1_(ALS_$4_^1_(AND-_#LPMASK+2_)BATCH LOG UNIT_^1_(STA_$BLU_.IN READ REQUEST IN BRGSEC€€ SUBR._^1_(STQ-_#SST+STEMP1_'SAVE Q_405*C1168_^1_(LDQ-_#SST_I05*C1168_^1_(LDQ-_#DSKST,Q_E05*C1168_^1_(LLS_$16_J05*C1168_^1_(AND-_#ONEBIT+4,Q_B05*C1168_^1_(SAZ_$SEL_.DISK IS SELECTED_*05*C1168_^1_(TRQ_$A_K05*C1168_^1_(INA_$65_J05*C1168_^1_(RTJ+_#PRTMSG_+DISK DESELECTED MSG_'05*C1168_^1_(ENA_$90_/FORMAT CAN NOT BE DELETED 05*C1168_^1_(RTJ+_#PRTMSG_F05*C1168_^1_(JMP_$SQZFMT_+EXECUTE €€NEXT OVERLAY_%05*C1168_^1SEL_$LDQ-_#SST+STEMP1_B05*C1168_^1_(LDA-_#(ZERO),Q_)WORD 0 OF ENTRY_^1_(LDQ-_#2,Q_.BATCH TRACK ADDRESS_^1_(ALS_$3_^1_(AND-_#LPMASK+3_)MODE OF BATCH_^1_(INA_$-2_/2 IS ENTRY FRZ STATUS_^1_(SAZ_$EFRZ_^1_(INA_$-2_/4 IS VER FRZ_^1_(SAZ_$VFRZ_^1*_!IF THE STATUS OF BATCH IS NOT ENTFRZ OR VERFRZ WE D'ONT NEED_^1*_!ATT IMAGE_^1_(TRQ_$A_0DISK TRACK ADDRESS_^1_(JMP*_#€€SERDA_^1EFRZ_#ENA_$-1_/MARK MODE AS ENTFRZ . END OF BATCH_^1_(STA-_#RECNO,I_*IS DELETED BY TOTAL NO OF RECORDS_^1VFRZ_#INQ_$1_0ATT IMAGE AT FIRST SECTOR._^1D5_%TRQ_$A_0SEC ADDRESS_^1_(CLR_$Q_0WORD IN SEC_^1_(RTJ-_#(CLCDWA)_)ATT WORD ADDRESS IN Q A_^1_(RTJ*_#BRGSEC_^1*_]_^1* BRGSEC CHECK IF THE DSK WA IS PRESENT AT CORE BUFFER_^1* IF NOT IT BRINGS THE NECESSARY DWA TO CORE BUFFER.€€IT ALSO_^1* CALCUALTE THE CORRESPONDING ADDRESS AT CORE BUFFER, AND RETURN_^1* IT IN Q ALSO CHANGE CURTRK,AND CURDIS IN SEC._^1*_]_^1* THE AT SHOULD BE CHECKED BECAUSE BATCH STATUS IS ENTFRZ OR_^1* VERFRZ IF VERIFY ONLY FORMAT NO SHOULD BE CHECKED IF ENTRY_^1* FMT NO+DOCFMT IF THERE IS DOC CONTROL._^1* IF READ-FMT NO + BASIC FMT NO + DOC FMT IF BASIC MODE IS_^1* ENTRY AND TH€€ERE IS DOC CONTROL_^1*_]_^1* IF THE MODE IS ENTFRZ (WE PUT NEGATIVE VALUE IN RECNO) WE HAVE_^1* TO STORE THERE TOTAL NO OF RECORDS OF BATCH_^1*_]_^1_(LDA-_#RECNO,I_^1_(SAP_$3_0IF RECNO IS POZ. MODE NOT ENTFRZ_^1_(LDA-_#RCD,Q_,BASE OF ATT IS IN Q_^1_(SAZ_$1_0IF ZERO RCD, SAVE IT._^1_(TCA_$A_^1_(STA-_#RECNO,I_*COMPLEMENT OF TOTAL NO OF RECORD_^1_(LDA-_#FMTNO,Q_*FMT NO IN ATT,Q HOLD€€ BASE FOR ATT_^1_(AND-_#LPMASK+13_(MASK 3 UPPER BITS_^1_(RTJ_$INCHK_,SUBROUTINE WHICH CHK FOR INACTIVITY_^1_(LDA-_#CMODE,Q_^1_(ARS_$8_^1_(AND-_#LPMASK+4_^1_(INA_$-2_/CURMOD-2_^1_(SAP_$1_^1_(JMP*_#SERDAT_+CUR MODE IS VERIFY, (1)_^1*_]_^1* MODE IS ENTRY OR READ_^1*_]_^1_(SAN_$ENTM_-CUR MODE IS ENTRY_!(3)_^1*_]_^1*_!CUR MODE IS READ (2)_^1*_]_^1_(LDA-_#BFMT,Q_+BASIC MODE FORMAT_^€€1_(AND-_#LPMASK+13_^1_(RTJ_$INCHK_,CHECK FOR INACTIVITY_^1_(LDA-_#BMOD,Q_+BASIC MODE_^1_(ALS_$2_^1_(SAP_$SER_^1*_]_^1* MODE IS ENTRY OR READ OF ENTRY IF UNDER DOCUMENT CONTROL DOC FMT_^1* NO. SHOULD BE CHECKED._^1*_]_^1ENTM_#LDA-_#DOCNO,Q_*DOCUMENT NO._^1_(AND-_#NZERO+8_^1_(SAN_$1_0IF NOT ZERO. THERE IS DOC CONTROL_^1SER_$JMP*_#SERDAT_^1_(LDA-_#DOCFMT,Q_^1_(AND-_#LPMASK+13_^1_(€€RTJ*_#INCHK_^1*_!SEARCH ON THE BATCH_^1SERDAT_!LDA-_#CURTRK,I_^1_(ALS_$4_0SECTOR ADDRESS_^1SERDA_"INA_$2_0THE BATCH_^1_(CLR_$Q_^1_(RTJ-_#(CLCDWA)_^1BRG_$RTJ*_#BRGSEC_^1*_]_^1*_!BRGSEC RETURN WITH THE CORRESPONDING CORE BUF ADDRESS IN Q_^1*_]_^1*_]_^1* WE HAVE TO SEARCH AFTER THE FIRST LOGICAL RECORD_^1*_]_^1SERBCH_!LDA-_#PRVLSB,Q_)L.S.B. OF PREVIOUS_^1_(SAM_$CHKF_-FIRST REC_^1_(LD€€A-_#MSB,Q_,THE M.S.B. OF PREVIOUS RECORD_^1_(ARS_$8_0DISK WORD ADDRESS_^1_(AND-_#LPMASK+8_D05*C1160_^1_(LDQ-_#PRVLSB,Q_^1_(LLS_$16_^1_(JMP*_#BRG_^1*_]_^1* WE HAVE REACHED FIRST RECORD_^1*_]_^1CHKF_#LDA-_#RECNO,I_E05*C1165_^1_(SAZ_$ENDBCH_+END OF BATCH_.05*C1165_^1_(LDA-_#FMTREC,Q_)FORMAT IN REC_-05*C1173_^1_(AND-_#LPMASK+13_C05*C1165_^1_(RTJ*_#INCHK_G05*C1165_^1* DETECTION OF EOB €€IS DONE THROUGH NO OF RECORD_^1* (WHOSE COMPLEMENT IS IN RECNO) IF ENTFRZ_^1_(RAO-_#RECNO,I_^1_(LDA-_#NXTLSB,Q_)L.S.B. OF NXT_^1_(SAM_$ENDBCH_+END OF BATCH_^1_(LDA-_#MSB,Q_^1_(AND-_#LPMASK+8_D05*C1160_^1_(LDQ-_#NXTLSB,Q_^1_(LLS_$16_^1_(RTJ*_#BRGSEC_+BRING NEXT RECORD_^1_(JMP*_#CHKF_^1ENDBCH_!LDA-_#ABTENT,I_)NO OF ENTRIES_^1_(INA_$-1_/IN ABT_^1_(STA-_#ABTENT,I_^1_(SAN_$ENDBC_^1_(JMP€€*_#IFLAST_^1ENDBC_"LDQ-_#ABTPT,I_^1_(INQ_$3_^1_(STQ-_#ABTPT,I_^1_(TRQ_$A_K05*C1166_^1_(SUB_$=XSIABTW_D05*C1166_^1_(SAN_$1_K05*C1166_^1_(JMP*_#IFLAST_F05*C1166_^1_(JMP*_#ISDATA_^1*_]_^1* DELETE THE UNMARKED INACTIVE FMTS FROM. LFD._^1*_]_^1DELINA_!LDQ-_#SST_^1_(LDQ-_#LFD,Q_^1_(STQ-_#ATTEMP+1,I_'LFD DSK AD IN ATTEMP+1_^1BLOOP1_!LDQ-_#INABCK,I_^1_(ADQ-_#INATOP,I_)NO OF ENTRIES IN STAC€€K_^1_(LDQ-_#2,Q_^1_(SQP_$K2_/FORMAT CAN BE DELETED BIT IS OFF._^1BLOOP2_!LDA-_#INATOP,I_)DECREASE NO OF ENTRIES BY ONE._^1_(INA_$-1_^1_(STA-_#INATOP,I_^1_(SAZ_$K3_^1_(JMP*_#BLOOP1_+CONTINUE_^1*_]_^1* WE HAVE DELETED ALL UNNECCESSARY INACTIVE FMTS_^1*_]_^1*_]_^1K3_%JMP_$RDNEXT_+IS ALL FMTS CHECKED FOR INACTITY_^1*_]_^1* DELETE INACTIVE FMT. ZERO TO SECTOR IN LFD._^1*_]_^1* TH€€E FORMAT NO IS IN Q_^1K2_%QLS_$1_0FMT NO X GIVE DISPLCMENT FROM BEG_^1_(LDA-_#ATTEMP+1,I_'LFD DISK ADDRESS._^1_(RTJ-_#(CLCDWA)_^1_(STA*_#DA1+1_,DISK WORD ADDRESS OF SECADR ENTRY_^1_(STQ*_#DA1_.OF FMT_^1_(RTJ-_#(WRTDWA)_^1_(NUM_$$22_.CORE LOC $22 HAS ZERO IN IT._^1DA1_$NUM_$0,0_^1_(NUM_$1_0NO OF WORDS_^1_(NUM_$0_0SYSTEM LOG UNIT_^1_(JMP*_#BLOOP2_^1*_]_^1*_]_^1*_!BRGSEC GET DISK AD€€DRESS IN Q,A.IT CHECKS IF IT IN CORE_^1*_!BUFFER IF NOT FILL UP THE BUFFER FROM THE NECESSARY WORD ON._^1*_!IT RETURNS THE ADDRESS OF WORD IN CORE._^1*_]_^1*_]_^1*_]_^1BRGSEC_!NUM_$0_^1_(RTJ-_#(ENTSR)_*SAVE RETURN ADDRESS_^1_(STQ*_#DWA1_-STORE WORD ADDRESS_^1_(STA*_#DWA1+1_+IN READ REQUEST_^1_(ALS_$1_0FILL UP BIT 15_^1_(LRS_$1_^1_(DVI*_#TRKLNG_+TRK IN A WORD OF TRK IN Q._^1_(STQ-_€€#ATTEMP+1,I_'NECESSARY WRD IN TRK_^1_(STA-_#ATTEMP+2,I_'NECESSARY TRACK_^1_(LDA-_#CURTRK,I_)TRK_"IN CORE BUFFER_^1_(SAP_$1_K06*C1329_^1_(JMP*_#NOTHR_,CURTRK INIT VALUE IS -1_^1*_BGO TO READ_^1_(SUB-_#ATTEMP+2,I_'CURTRK-NESTRK_^1_(SAN_$NOTHR_,NOT EQUAL_^1_(LDA-_#ATTEMP+1,I_'NES DISPLCMENT_^1_(SUB-_#CURDIS,I_^1_(TRA_$Q_^1_(SAP_$HERE1_,AFTER BEG OF CORE BUF._^1_(JMP*_#NOTHR_^1HERE1_€€"INA_$4_0WE NEED AT LEAST 5 WORDS OF REC_^1_(SUB-_#BUFLNG,I_^1_(SAM_$RETO_-BEFORE END OF BUFFER_^1_(JMP*_#NOTHR_^1RETO_#ADQ-_#LFDBCK,I_)IN Q ALREADY NESDID-CURDIS_^1RETO1_"INQ_$3_0+ BEG OF BUF_^1_(JMP-_#(EXTSR)_^1*_]_^1* THE DSKWA NOT PRESENT AT CORE._^1*_]_^1* WE HAVE TO DECIDE HOW MANY WORDS WE LIKE TO READ.EITHER TO THE_^1*_!END OF BUFFER,OR TO THE END OF THE TRACK._^1*_]_^1€€NOTHR_"LDA-_#ATTEMP+2,I_'NECESSARY TRK_^1_(STA-_#CURTRK,I_)CURRENT TRK_^1_(LDQ-_#ATTEMP+1,I_'NESWRD IN NESTRK_^1_(STQ-_#CURDIS,I_)CURRENT DISPLCMENT_^1_(TCQ_$Q_0-NESWRD_^1_(LDA*_#TRKLNG_^1_(AAQ_$A_0NO OF WORDS TO END OF TRK_^1_(STA*_#NOWRD_^1_(SUB-_#BUFLNG,I_)NO OF WORDS IN CORE BUFFER_^1_(SAM_$OK1_.NO OF WORDS TO END TRK LE BUFLNG_^1_(LDA-_#BUFLNG,I_^1_(STA*_#NOWRD_^1OK1_$LDQ-_#L€€FDBCK,I_^1_(LDA-_#1,Q_.TURN ON I/O BIT_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(INQ_$3_^1_(STQ*_#CORAD2_+BUFFER TO CORE ADDRESS_^1_(RTJ+_#SETMOV_^1_(RTJ-_#(REDDWA)_^1CORAD2_!NUM_$0_^1DWA1_#NUM_$0_^1_(NUM_$0_^1NOWRD_"NUM_$0_^1BLU_$NUM_$0_^1_(LDQ-_#LFDBCK,I_)TURN OFF I/O BIT_^1_(LDA-_#1,Q_^1_(AND-_#ZROBIT+15_^1_(STA-_#1,Q_^1_(JMP*_#RETO1_,NECESSARY WORD IS FIRST AT CORE BUF_^1TRKLNG_!NU€€M_$1536_^1*_]_^1*_]_^1*_!INCHK SUBROUTINE CHECK FOR INACTIVE FMT WHICH STILL NEEDED_^1*_!IF IT DISCOVER THAT ALL INACTIVES ARE NEEDED, IT DOES NOT RETURN_^1*_!TO THE CALLING ROUTINE BUT JUMPS TO A.POINT WERE A_^1*_!CHECK IS MADE IF ALL THE LFD HAS BEEN SCANNED FOR INACTIVE_^1*_!FMTS._]_^1*_]_^1INCHK_"NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(STQ-_#TEMP,I_+SAVE Q REGISTER_^1_(STA-_#SST+STEMP€€1_'SAVE THE FMT NO_^1_(RTJ+_#SETMOV_^1_(LDQ-_#INABCK,I_^1_(INQ_$3_^1_(STQ-_#SST+STEMP2_'BASE OF INACTIVE STACK._^1_(LDQ-_#INATOP,I_)NO OF ENTRIES IN STACK._^1_(INQ_$-1_^1BCHKIN_!LDA-_#(SST+STEMP2),Q_"INACTIVE FMT_^1_(EOR-_#SST+STEMP1_'CHK EQUALITY TO FMT GIVEN_^1_(SAZ_$USEFUL_+EQUAL_^1D1_%INQ_$-1_^1_(SQP_$2_^1FININC_!LDQ-_#TEMP,I_+LOOP FINISHED RESTOR Q REGISTER_^1FIN1_#JMP-_#(EXT€€SR)_^1_(JMP*_#BCHKIN_^1USEFUL_!LDA-_#(SST+STEMP2),Q_"INACTIVE FMT_^1_(EOR-_#ONEBIT+15_(MARK IT AS USEFUL_^1_(STA-_#(SST+STEMP2),Q_^1*_]_^1* CONVERT THE FORMAT NO TO DECIMAL_^1*_]_^1_(AND-_#ZROBIT+15_^1_(RTJ+_#BD_/CONVERT BINARY TO DECIMAL_^1*_BPARAMETER AND RESULT TRANSFERRED_^1*_BIN_!A REGISTER_^1*_]_^1_(RTJ*_#DECASC_+CONVERT TO ASCII FROM DECIMAL_^1_(ADC_$FMTMSG-*_^1*_]_^1*€€_]_^1_(LDQ-_#SST_^1_(LDQ-_#ABT,Q_,ABT CORE ADDRESS_^1_(ADQ-_#ABTPT,I_*INDEX TO ABT_^1_(LDA-_#(ZERO),Q_)JOB INDEX_^1_(ALS_$8_^1_(STA-_#JOBIND,I_)JOB INDEX TO ATT_^1*_]_^1_(LDA-_#1,Q_.BATCH NO IN BCD_^1_(AND-_#LPMASK+12_^1_(RTJ*_#DECASC_^1_(ADC_$BCKMSG-*_^1*_]_^1_(LDA-_#TEMP,I_^1_(SUB-_#LFDBCK,I_^1_(INA_$-3_^1_(STA-_#TEMP,I_+RELATIVE DISTANCE TO BEG OF BUFFER_^1_(LDQ-_#LFDBCK,I_)RE€€LEASE DATA AREA_^1_(RTJ-_#(RELFOR)_)SPACE NEEDED FOR GETLJD_^1*_]_^1RTRY_#ENQ_$2_^1_(RTJ+_#GETLJD_^1JOB_$NUM_$0_^1_(NUM_$0_^1_(NUM_$0_^1_(NUM_$0_^1_(NUM_$0_^1_(JMP*_#RTRY_^1*_]_^1BLO_$LDA*_#JOB_.TRANSFER JOB NAME TO MESSAGE_^1_(STA*_#JOBMSG_^1_(LDA*_#JOB+1_^1_(STA*_#JOBMSG+1_^1_(LDA*_#JOB+2_^1_(STA*_#JOBMSG+2_^1_(LDA_$HDR_^1_(EOR-_#ONEBIT+15_(I/O BIT ON_^1_(STA_$HDR_^1_(ENQ_$€€FW_/FWRITE_^1_(RTJ-_#(SUPRW)_^1_(ADC_$(MSG-*)_*RELATIVE DISTANCE TO THE BUFFER_^1_(ADC_$EMSG-MSG_^1_(LDA_$HDR_.TURN OFF I/O BIT ON HDR OF PRG_^1_(AND-_#ZROBIT+15_^1_(STA_$HDR_^1*_]_^1_(LDQ-_#BUFLNG,I_)CORE_!FOR_!DATA_^1_(INQ_$3_^1_(RTJ-_#(CAM)_^1_(SAP_$2_^1_(ENA_$11_^1_(JMP-_#(REJSUP)_^1_(STQ-_#LFDBCK,I_)FIX BCKWRDS POINTER_^1_(ENA_$LFDBCK_^1_(ADD-_#I_^1_(STA-_#(ZERO),Q_^1_(LDA-_€€#ALLINA,I_^1_(INA_$-1_/NO OF REAL INACTIVES DECREASED BY 1_^1_(SAN_$D3_^1_(STA-_#INATOP,I_)0 TO TOP OF INACTIVES_^1_(RTJ-_#(RTNSR)_^1_(JMP_$RDNEXT_+IS ALL FMTS CHECKED FOR INACTITY_^1D3_%STA-_#ALLINA,I_^1* CALCULATE WHICH DATA HAS BEEN IN CORE AND BRING IT BACK_^1_(LDA-_#CURTRK,I_^1_(ENQ_$-1_J06*C1329_^1_(STQ-_#CURTRK,I_)SHOULD BE BROUGHT TO CORE_^1_(ALS_$4_^1_(LDQ-_#CURDIS,I_^1_(€€ADQ-_#TEMP,I_+DISPLCMENT OF CURRENT DATA IN CORE_^1*_BBUFFER_^1_(RTJ-_#(CLCDWA)_^1_(RTJ_$BRGSEC_+BRING THE DATA BACK TO CORE_^1_(JMP-_#(EXTSR)_^1*_]_^1MSG_$ALF_$*, FORMAT *_^1FMTMSG_!BSS_$FMTMSG(2)_^1_(ALF_$*, IS USED IN JOB *_^1JOBMSG_!BSS_$JOBMSG(3)_^1_(ALF_$*, , BATCH*_^1BCKMSG_!BSS_$BCKMSG(2)_^1_(EQU_$EMSG(*)_^1* A HAS DECIMAL NO_!IN IT. CONVERT TO ASCII CHARACTERS AND PUT_^€€1* IN BUFFER WHOSE RELATIVE ADDRESS APPEAR AFTER CALLING_^1*_]_^1DECASC_!NUM_$0_^1_(LDQ*_#DECASC_+ADR OF PARAMETER_^1_(ADQ*_#(DECASC)_)+ DISTANCE TO BUFFER_^1_(STQ-_#SST+STEMP2_'ADDRESS OF WORD IN BUFFER_^1_(CLR_$Q_^1_(LLS_$4_^1_(QLS_$4_^1_(SQN_$ST1_^1_(LLS_$4_^1_(STQ-_#SST+STEMP_^1_(SQN_$ST2_^1_(ADQ_$=A_^1_(JMP*_#ST3_^1ST2_$ADQ_$=A 0_^1_(JMP*_#ST3_^1ST1_$LLS_$4_^1_(STQ-_#SST+€€STEMP_^1TWOZRO_!ADQ_$=A00_^1ST3_$STQ-_#(SST+STEMP2)_^1_(CLR_$Q_^1_(LLS_$4_^1_(QLS_$4_^1_(SQN_$ST5_^1_(LLS_$4_^1_(LDA-_#SST+STEMP_^1_(SAN_$ST6_^1_(ADQ*_#ST2+1_^1_(JMP*_#ST4_^1ST5_$LLS_$4_^1ST6_$ADQ*_#TWOZRO+1_^1ST4_$RAO-_#SST+STEMP2_^1_(STQ-_#(SST+STEMP2)_^1_(RAO*_#DECASC_^1_(JMP*_#(DECASC)_^1*_]_^1SQZFMT_!LDQ-_#INABCK,I_)RELEASE THE CORE THAT WAS ASKED_^1_(RTJ-_#(RELFOR)_)FOR INACT€ΠIVE STACK AND FOR THE_^1_(LDQ-_#LFDBCK,I_)LFD BUFFER_^1_(SQZ_$1_0IF RELEASED BEFORE GETLJD_^1_(RTJ-_#(RELFOR)_^1_(RTJ-_#(EXDFUN)_^1_(CLR_$A_^1_(LDQ_$=XSQZTRK_^1_(RTJ-_#(ENTPRG)_^1_(EQU_$EDLINA(*)_^1_(END_^__ ΠPES2 CSY/ P€1_%NAM ES2_*DECK-ID M12 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_"FMTSQ_]_^1*_]_^1*_!FMTSQ IS THE PROGRAM WHICH COMPRESS THE FORMATS WHICH APPEAR_^1*_]_^1*_!IN LEGAL FORMAT DIRECTORY._^1*_]_^1*_#IT CHECKS ALL TRACKS LISTED IN THE FLK €€ONE BY ONE AND_^1*_]_^1*_!IF IT FINDS_!TRK WHICH IS NOT FULL IT TRANSFERS THE FORMATS_^1*_]_^1*_!FROM IT TO_!NEW TRK WHICH WAS ASKED FROM THE DISK ALLOCATOR_^1*_]_^1*_!MODULE. THE NEW SECTOR ADDRESS_!IS-UPDATED IN LFD.AFTER ALL_^1*_]_^1*_!THE FMTS HAS BEEN TRANSFERRED THE TRK IS RELEASED.AFTER THE_^1*_]_^1* NEW TRACK IS FULL IT IS WRITTEN ON THE FLK._^1*_#IN ORDER TO A€€VOID LOSS OF INFORMATION IN CASE OF POWER FAIL_^1*_]_^1*_!BETWEEN THE TIME OF UPDATING THE DISK ADDRESSES IN LFD,AND_^1*_]_^1*_!TIME OF WRITTING THE NEW TRK INTO THE FLK, THE NEWTRK IS WRITTEN_^1*_]_^1*_"TEMPORARILY IN_!THE FLK_!IN ONE AFTER LAST ENTRY._!POINTER_^1*_]_^1*_"TO LAST ENTRY IS UPDATED TO ONE AFETER LAST._^1*_]_^1*_]_^1* ALL FORMATS FROM A TRACK WH€€ICH IS CANDIDATE FOR SQUEEZING, I.E._^1*_]_^1* TRANSFER IT'S FMTS TO NEW TRACK,ARE SAVED IN A STACK WHERE EVERY_^1*_]_^1* FORMAT HAS_!THREE WORDS ENTRY._^1**_]_^1*_]_^1* SYSTEM CONSTANTS_!(IN SST)_^1*_]_^1_(EQU_$SST($47)_^1_(EQU_$CLCDWA($90)_^1_(EQU_$REDDWA($A9)_^1_(EQU_$WRTDWA($AA)_^1_(EQU_$REDSEC($A7)_^1_(EQU_$WRTSEC($A8)_^1_(EQU_$RELFOR($AD)_^1_(EQU_$CAM($AE)_^1_(EQU_$REJS€€UP($B2)_^1_(EQU_$ENTPRG($9E)_^1_(EQU_$EXDFUN($9F)_^1_(EQU_$STEMP(20)_^1_(EQU_$ENTSR($91),EXTSR($92),RTNSR($98)_^1*_]_^1* CONSTANTS IN EST_^1*_]_^1_(EQU_$LFD(39)_^1_(EQU_$ZERO($22),ZROBIT($33),ONEBIT($23),NZERO($12)_^1_(EQU_$LPMASK(2)_C07*C1402_^1_(EQU_$MAXFMT(24)_^1*_]_^1*_!TEMPORARIES IN ATT_^1*_]_^1_(EQU_$ATTEMP(73),SCA(46)_^1_(EQU_$FLKLNG(SCA)_)NO OF ENTRIES IN FLK_^1_(EQU_$F€€MTBFL(SCA+1)_%LENGTH OF FMTS BUFFER_^1_(EQU_$FMTTRK(SCA+2)_%BCKWRDS PT TO TRACKS FMTS STACK_^1_(EQU_$FMTBCK(SCA+3)_%BCKWRD PT FOR FORMAT BUFFER_^1_(EQU_$LFDBCK(SCA+4)_%BCKWRD PT FOR LFD BUFFER_^1_(EQU_$LFDPT(SCA+5)_^1_(EQU_$CURFLK(SCA+6)_%CURRENT ENTRY IN FLK_^1_(EQU_$NEWFLK(SCA+7)_%NEW ENTRY IN FLK_^1_(EQU_$REMSEC(SCA+8)_'FREE SECTORS ON NEW TRK_^1_(EQU_$NEWTRK(SCA+9)_'N€€EW TRACK_^1_(EQU_$CURTRK(SCA+10)_$CURRENT TRK_^1_(EQU_$FMTNO(SCA+11)_'FORMAT NO_^1_(EQU_$FLK(SCA+12)_)FLK DISK ADDRESS_^1_(EQU_$BUFLNG(SCA+13)_%LENGTH IN WRDS OF LFD BUFFER._^1*_!CONSTANTS IN ATT_^1*_]_^1_(EQU_$LUN(35)_*LOGICAL DISK UNIT IN ATT_^1*_]_^1*_#EXTERNALS_^1*_]_^1_(EXT_$RELTRT,G1TRT,SETMOV,SIFLNK_^1_(EXT_$PRTMSG_^1*_]_^1*_!NEXT OVERLAY_^1*_]_^1_(EQU_$PRGSQ($80D)_^1€€HDR_$VFD_$N2/3,N3/0,X11/EFMTSQ-*_^1_(NUM_$1,0,0_^1_(ADC_%FMTSQ-HDR_^1FMTSQ_"RTJ+_#SETMOV_^1*_1********************_^1*_1* SQZ_!FORMATS (2)*_^1*_1********************_^1*_]_^1*_!BUFFERS NEEDED ARE_"LFD BUFFER, BUFFER FOR FORMAT, STACK FOR_^1*_!ALL FORMATS NO. WHICH ARE ON_!A TRK WHICH WAS SQEEZED WITH_^1*_!THEIR_!NEW DSK ADDRESSES._^1*_]_^1*_!THE MINIMUM CORE REQ_!IS_!2 S€€ECTORS+6 HDR WRDS+ 51 WRDS_^1*_]_^1_(ENQ_$51_/3*16+3.EVERY FMT NEED 3 WORD ENTRY_^1_(RTJ-_#(CAM)_,FOR FMT NO,SEC ADR Q LENGTH_^1_(SAP_$2_^1NOCORE_!ENA_$11_/NO MEMORY_^1_(JMP-_#(REJSUP)_^1*_]_^1*_!STACK FOR_"FORMATS_!FROM_!A SQUEEZED TRK_^1*_]_^1_(STQ-_#FMTTRK,I_^1_(ENA_$FMTTRK_+FIX BACKWARDS POINTER FOR FMTS_^1_(ADD-_#I_0STACK_^1_(STA-_#(ZERO),Q_^1*_]_^1*_#CORE FOR LFD + FORMA€€TS_^1* WE TRY TO GET 4 FOR THE FORMATS BUFFER._^1*_]_^1_(RTJ*_#ASKBUF_^1_(NUM_$4,16_^1_(RTJ*_#ASKBUF_^1_(NUM_$4,12_^1_(RTJ*_#ASKBUF_^1_(NUM_$4,8_^1_(RTJ*_#ASKBUF_^1_(NUM_$4,4_^1_(RTJ*_#ASKBUF_^1_(NUM_$2,1_^1_(RTJ*_#ASKBUF_^1_(NUM_$1,1_^1_(LDQ-_#FMTTRK,I_)RELEASE AREA_^1_(RTJ-_#(RELFOR)_^1_(JMP*_#NOCORE_^1ASKBUF_!NUM_$0_^1_(RTJ-_#(ENTSR)_*SAVE RETURN ADDRESS_^1_(RTJ+_#SETMOV_^1_(L€€DQ*_#ASKBUF_^1_(LDA-_#(ZERO),Q_)FIRST PARAMETER IS THE FMTS BUFFER_^1_(STA-_#FMTBFL,I_)LENGTH_^1_(LDQ-_#1,Q_.SECOND PARAMETER IS THE LFD BUFFER_^1_(STQ*_#LFDBFL_+LENGTH OF LFD BUFFER (IN READ REQ)_^1_(AAQ_$A_0FMTS BLFLNG+LFD BUFLNG_^1K96_$MUI_$=N96_^1_(TRA_$Q_^1_(INQ_$6_0FOR TWO HEADERS_^1_(RTJ-_#(CAM)_^1_(SAZ_$BUFOK_^1_(RTJ-_#(RTNSR)_^1_(JMP-_#2,Q_.RETURN TO NEXT TRIAL_^1BUFOK_"€€STA-_#2,Q_.MASK THE USER COUNT RELEASE CORE._^1_(RTJ-_#(RTNSR)_*REMOVE RETURN ADDRESS FROM STACK_^1_(LDA-_#FMTBFL,I_^1_(MUI*_#K96+1_^1_(TRA_$Q_0ASK FOR CORE FOR FMTS BUFFER_^1_(INQ_$3_^1_(RTJ-_#(CAM)_^1_(STQ-_#FMTBCK,I_^1_(ENA_$FMTBCK_,FIX BCKWRDS POINTER_^1_(ADD-_#I_^1_(STA-_#(ZERO),Q_^1_(LDA*_#LFDBFL_^1_(MUI*_#K96+1_^1_(STA-_#BUFLNG,I_^1_(TRA_$Q_1ASK CORE FOR LFD BUFFER_^€€1_(INQ_$3_^1_(RTJ-_#(CAM)_^1_(STQ-_#LFDBCK,I_^1_(ENA_$LFDBCK_,FIX BCKWRD POINTER_^1_(ADD-_#I_^1_(STA-_#(ZERO),Q_^1*_]_^1*_]_^1* WE HAVE TO SEARCH THE FLK_!TRK AFTER TRK. NO OF ENTRIES IN FLK_^1* IS AVAILABLE AT FLKLNG._^1* WE WRITE_!FMTS FROM CURTRK_!TO NEW TRACK WE ASKED THE SYSTEM FOR_^1*_]_^1*_]_^1*_#INIT_#OF_"VARIABLES_^1*_]_^1_(LDA_$=XSIFLNK_^1_(STA-_#FLK,I_^1_(ENA€€_$1_0CURRENT TRK IS IN ENTRY BEFORE THE_^1_(STA-_#CURFLK,I_)FIRST LEGAL ONE_^1_(INA_$1_^1_(STA-_#NEWFLK,I_)NEW TRK WILL BE STORED IN 2'ND ENT._^1_(CLR_$A_^1_(STA-_#LUN,I_,UNIT 0,FOR G1TRT_^1_(STA-_#REMSEC,I_)NO FREE SECTORS ON NEWTRK._^1*_]05*C1146_^1_(STA-_#NEWTRK,I_)WE HAVE NOT ASKED FOR NEW TRACK YET_^1NXTCUR_!RAO-_#CURFLK,I_)CURRENT FLK_^1_(LDA-_#CURFLK,I_^1_(SUB-_#FLKLNG,I_)N€€O OF ENTRIES IN FLK FIXED BY_^1_(SAP_$1_0PREVIOUS OVERLAY_^1_(JMP*_#INITRD_^1*_]_^1* IF ENTRY IS LAST, CHECK IF IT NEWTRK ENTRY_^1*_]_^1_(SAN_$KK7_.CURFLK IS AFTER THE LAST_^1_(LDQ-_#NEWTRK,I_)IF INIT VALUE LAST ENTRY_!05*C1146_^1_(SQZ_$INITRD_+SHOULD BE CHECKED._(05*C1146_^1KK7_$JMP_$ENDSQZ_^1INITRD_!ENA_$16_^1_(STA-_#ATTEMP+1,I_'16 UNOCCUPIED SEC ON CURRENT TRK._^1_(CLR_$A_€€^1_(STA-_#ATTEMP,I_)POINTER TO STACK OF FMTS_^1_(STA-_#LFDPT,I_*PT TO LFD BUF._^1_(LDQ-_#SST_^1_(LDQ-_#LFD,Q_^1_(STQ*_#LFDNXT_+NEXT SECTOR TO BE READ FROM LFD_^1_(ENQ_$1_^1_(STQ-_#FMTNO,I_*FORMAT NO=1_^1KK6_$LDA-_#FLK,I_6DISK ADDRESS OF FLK_^1_(LDQ-_#CURFLK,I_)WORD IN TRACK_^1_(RTJ-_#(CLCDWA)_^1_(STA*_#DAFLK+1_^1_(STQ*_#DAFLK_^1_(ENA_$CURTRK_^1_(ADD-_#I_0ADDRESS IN ENTRY CURFL€€K TO CUTRK_^1_(STA*_#CAFLK_^1_(RTJ-_#(REDDWA)_^1CAFLK_"NUM_$0_^1DAFLK_"NUM_$0,0_^1_(NUM_$1_^1_(NUM_$0_^1_(LDA-_#CURTRK,I_^1_(SAN_$1_^1_(JMP*_#NXTCUR_^1*_]_^1*_]_^1RDLFD_"LDQ-_#LFDBCK,I_^1_(LDA-_#1,Q_.TURN ON I/O BIT ON LFD BUFFER_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1*_]_^1_(INQ_$3_^1_(STQ*_#CORAD2_+BEG OF BUFFER_^1_(RTJ-_#(REDSEC)_^1CORAD2_!NUM_$0_^1LFDNXT_!NUM_$0_^1LFDBFL_!NUM€€_$0_^1_(NUM_$0_0LOG UNIT OF SYSTEM_^1_(LDQ-_#LFDBCK,I_^1_(LDA-_#1,Q_.TURN OFF I/O BIT_^1_(AND-_#ZROBIT+15_^1_(STA-_#1,Q_^1_(LDA*_#LFDNXT_^1_(ADD*_#LFDBFL_+NEXT SEC TO BE READ_^1_(STA*_#LFDNXT_+FROM LFD_^1FMTNX1_!LDQ-_#SST_^1_(LDA-_#MAXFMT,Q_)MAX NO OF FMTS_^1_(SUB-_#FMTNO,I_*PRESENT FORMAT NO_^1_(SAP_$LEGAL_^1_(JMP*_#DOSQZ_,THE LFD SCANNING FINISHED_^1LEGAL_"LDA-_#LFDPT,I_^1_(€€INA_$2_^1_(TRA_$Q_0CHECK IF PT TO LFD BUFFER_^1_(SUB-_#BUFLNG,I_)IS WITHIN BUFFER_^1_(SAM_$LL1_^1_(ENA_$-2_^1_(STA-_#LFDPT,I_*FIX ON BEG OF BUFFER_^1_(JMP*_#RDLFD_^1*_]_^1*_]_^1LL1_$STQ-_#LFDPT,I_^1_(ADQ-_#LFDBCK,I_^1_(INQ_$3_0PT TO FMT_^1_(LDA-_#(ZERO),Q_)FMT SEC ADR_^1_(SAZ_$FMTNX2_+ZERO ADR_^1_(AND-_#NZERO+4_*MASK SEC ADR_^1_(EOR-_#CURTRK,I_)CHECK IF EQUAL TO CURRENT T€€RK_^1_(SAZ_$EQTRK_,YES_^1FMTNX2_!RAO-_#FMTNO,I_*NEXT FORMAT_^1_(JMP*_#FMTNX1_^1*_]_^1* WE HAVE TO STORE THE FMT IN FMTTRK STACK_^1*_]_^1EQTRK_"STQ-_#SST+STEMP_(BASE TO ENTRY IN LFD_^1_(LDQ-_#FMTTRK,I_)BCKWRD PT TO FMT STACK_^1_(INQ_$3_^1_(ADQ-_#ATTEMP,I_)PRESENT ENTRY_^1_(LDA-_#FMTNO,I_^1_(STA-_#(ZERO),Q_)FIRST WRD IN ENTRY IS FMT NO._^1_(LDA-_#(SST+STEMP)_%SEC ADR_^1_(STA-_#€€1,Q_.TO SECOND WORD_^1_(RAO-_#SST+STEMP_^1_(LDA-_#(SST+STEMP)_%LENGTH_^1_(AND-_#LPMASK+11_(FORMAT LENGTH_-07*C1402_^1_(INA_$95_^1_(STQ-_#SST+STEMP_^1_(CLR_$Q_^1_(DVI_$=N96_^1_(LDQ-_#SST+STEMP_^1_(STA-_#2,Q_.LENGTH OF FMT TO THIRD WORD_^1_(LDQ-_#ATTEMP,I_^1_(INQ_$3_0NEXT ENTRY IN THE STACK_^1_(STQ-_#ATTEMP,I_^1_(SUB-_#ATTEMP+1,I_'NO OF UNOCCUPIED SECTORS IN_^1_(SAZ_$KK1_.CURRENT €€TRK IS FULL_^1_(TCA_$A_0CURRENT TRK._^1_(STA-_#ATTEMP+1,I_^1_(JMP*_#FMTNX2_^1*_]_^1*_#WE REACH THIS POINT IF_^1*_"THE CUR TRK_!IS FULL WITH FORMATS._^1*_]_^1KK1_$LDA-_#CURFLK,I_)CURTRK IS ALREADY WRITTEN ON NEWFLK_^1_(EOR-_#NEWFLK,I_)IF_!CURFLK=NEWFLK_^1_(SAN_$KK2_^1_(RAO-_#NEWFLK,I_)NEXT NEW ENTRY IN FLK_^1_(JMP*_#NXTCUR_^1KK2_$LDA-_#CURTRK,I_)WRITE CURTRK IN NEWFLK ENTRY€€_^1_(STA-_#ATTEMP+3,I_^1_(LDA-_#FLK,I_^1_(LDQ-_#NEWFLK,I_^1_(RTJ*_#WRTSUB_^1_(RAO-_#NEWFLK,I_^1_(CLR_$Q_0RELEASE NO TRK_^1_(STQ-_#CURTRK,I_^1_(JMP*_#ZROCUR_+ZERO TO CURFLK_^1*_]_^1*_]_^1DOSQZ_"LDQ-_#ATTEMP,I_)NO OF FORMATS ON CURRENT TRK_^1_(SQN_$1_^1_(JMP*_#ZROCUR_+0 TO CURFLK, REL CURFLK_^1*_]_^1* WE HAVE TO TRANSFER THE FMTS FROM THE CURRENT TRK TO THE_^1* NEWTRK._]_^€€1*_]_^1DOSQ1_"ADQ-_#FMTTRK,I_)BASE FOR FMT STACK_^1_(STQ-_#ATTEMP+1,I_'LAST ENTRY OF FMT STACK_^1_(LDA-_#2,Q_^1_(STA-_#SST+STEMP_(LENGTH OF FMT_^1_(SUB-_#REMSEC,I_)CHECK IF THERE IS PLACE IN NEWTRK_^1_(SAM_$TRAN_^1_(SAZ_$TRAN_^1_(JMP*_#BRGNEW_,GET NEW TRK_^1*_]_^1* TRANSFER FMT_!FROM CURTRK TO NEWTRK_^1TRAN_#LDA-_#1,Q_.SEC ADR OF FMT_^1_(STA*_#SECAD3_^1_(LDA-_#NEWTRK,I_)TRACK €€ADR_^1_(INA_$16_/+16_^1_(SUB-_#REMSEC,I_)-FREE SECTORS ON NEW TRK_^1_(STA*_#SECAD4_^1_(STA-_#ATTEMP+3,I_'NEW ADR FOR FMT_^1_(LDA-_#REMSEC,I_)FREE SEC ON NEW TRACK_^1_(SUB-_#SST+STEMP_^1_(STA-_#REMSEC,I_^1TRAG_#LDA-_#FMTBFL,I_^1_(STA*_#NOSEC3_^1_(STA*_#NOSEC4_^1_(SUB-_#SST+STEMP_(LENGTH OF FMT (REMAINDER)_^1_(SAM_$RDWT_^1_(SAZ_$RDWT+1_+BUFFER IS LONG THEN REM OF LENGTH_^1* FMT IS€€ SHORTER THEN BUFFER_^1*_]_^1LL4_$LDA-_#SST+STEMP_^1_(STA*_#NOSEC3_+IN R/N REQUESTS NO OF SECTOR_^1_(STA*_#NOSEC4_+IS CHANGED TO LEN OF FMT._^1_(SET_$A_0REMAINDER OF LENGTH_^1*_]_^1RDWT_#TCA_$A_0NO OF SECTORS STILL TO BE TRANSFER_^1_(STA-_#2,Q_^1_(LDQ-_#FMTBCK,I_^1_(LDA-_#1,Q_0TURN ON I/O BIT ON_^1_(EOR-_#ONEBIT+15_)FMT BUFFER_^1_(STA-_#1,Q_^1_(INQ_$3_^1_(STQ*_#CORAD3_^1_(S€€TQ*_#CORAD4_^1_(RTJ-_#(REDSEC)_^1CORAD3_!NUM_$0_^1SECAD3_!NUM_$0_^1NOSEC3_!NUM_$0_^1_(NUM_$0_0LOG UNIT_^1_(RTJ-_#(WRTSEC)_^1CORAD4_!NUM_$0_^1SECAD4_!NUM_$0_^1NOSEC4_!NUM_$0_^1_(NUM_$0_0LOG UNIT_^1_(LDQ-_#FMTBCK,I_^1_(LDA-_#1,Q_.>URN OFF I/O BIT_^1_(AND-_#ZROBIT+15_^1_(STA-_#1,Q_^1_(LDQ-_#ATTEMP+1,I_'BASE FOR CUR ENTRY IN FMT STACK_^1_(LDA-_#2,Q_.REMAINDER OF LENGTH_^1_(SAZ_$TRNFIN€€_+IF ALL FMT HAS BEEN TRANSFERRED_^1_(STA-_#SST+STEMP_^1_(LDA*_#SECAD3_^1_(ADD*_#NOSEC3_+ADVANCE ADR AT CURTRK_^1_(STA*_#SECAD3_^1_(LDA*_#SECAD4_^1_(ADD*_#NOSEC4_+ADVANCE ADR AT NEWTRK_^1_(STA*_#SECAD4_^1_(JMP*_#TRAG_-CONTINUE TRANSFERRING_^1*_]_^1* NEW ADRESS FOR FMT IS IN ATTEMP+3,_^1*_]_^1TRNFIN_!LDQ-_#SST_^1_(LDA-_#LFD,Q_,BASE OF LFD_^1_(LDQ-_#ATTEMP+1,I_'BASE FOR CURR€€ENT ENTRY IN FMT STACK_^1_(LDQ-_#(ZERO),Q_)THE FMT NO._^1_(QLS_$1_^1_(RTJ*_#WRTSUB_^1_(LDQ-_#ATTEMP,I_)TOP OF FMT STACK_^1_(INQ_$-3_^1_(STQ-_#ATTEMP,I_^1_(SQZ_$1_^1_(JMP*_#DOSQ1_,IF MORE FMTS TO TRANSFER_^1ZROCUR_!STQ-_#ATTEMP+3,I_'ZERO TO CURFLK_^1_(LDA-_#FLK,I_^1_(LDQ-_#CURFLK,I_^1_(RTJ*_#WRTSUB_^1_(LDA-_#CURTRK,I_^1_(SAZ_$L11_^1_(RTJ+_#RELTRT_+RELEASE THE CURTRK._^1L11_$JMP€€_$NXTCUR_^1*_]_^1*_]_^1* WRITE WORD ON DISK SUBROUTINE_^1*_]_^1WRTSUB_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ-_#(CLCDWA)_^1_(STA*_#DWASUB+1_^1_(STQ*_#DWASUB_^1_(ENA_$ATTEMP+3_^1_(ADD-_#I_^1_(STA*_#CORSUB_^1_(RTJ+_#SETMOV_^1_(RTJ-_#(WRTDWA)_^1CORSUB_!NUM_$0_^1DWASUB_!NUM_$0,0_^1WRDNOB_!NUM_$1_^1_(NUM_$0_^1_(JMP-_#(EXTSR)_^1*_]_^1*_]_^1*_"WE HAVE FILL UP NEWTRK AND HAVE TO WRITE I€€T ON DISK._^1*_"THEN WE HAVE TO ASK FOR NEW TRK._^1*_"IF NEW TRK=0(INIT VALUE),ASK FOR NEW TRK_105*C1146_^1*_]_^1BRGNEW_!LDA-_#NEWTRK,I_^1_(SAZ_$1_0INIT VALUE_005*C1146_^1_(JMP*_#WRTNEW_^1*_]_^1* WE ASK THE SYSTEM FOR NEW TRK IN DISK 0._^1*_]_^1_(RTJ+_#G1TRT_^1_(SAN_$ZZ2_^1NODSK_"LDQ-_#FMTTRK,I_^1_(RTJ-_#(RELFOR)_^1_(LDQ-_#FMTBCK,I_^1_(RTJ-_#(RELFOR)_^1_(LDQ-_#LFDBCK,I€€_^1_(RTJ-_#(RELFOR)_^1_(ENA_$51_^1_(JMP-_#(REJSUP)_^1ZZ2_$STA-_#NEWTRK,I_^1_(STA-_#ATTEMP+3,I_'(CORE ADR FOR WRTSUB SUBROUTINE_^1_(RAO-_#FLKLNG,I_)ADD ONE TO CURRENT ENTRY IN FLK_^1*_BWRITE IN THIS ENTRY THE NEW TRK_^1_(LDA-_#FLK,I_^1_(LDQ-_#FLKLNG,I_^1_(STQ-_$ATTEMP+4,I_%FOR WRITE ROUTINE_^1_(RTJ*_#WRTSUB_+WRITE NEW TRK AS CUR ENTRY_^1_(CLR_$Q_^1_(STQ-_#ATTEMP+3,I_^1_(ENA_$2_0F€€OR WRITE FLK HDR_^1_(STA*_#WRDNOB_^1_(LDA-_#FLK,I_,PUT 0 INTO FIRST ENTRY OF FLK_^1_(RTJ*_#WRTSUB_+(AVAILABLE SECTORS ON CURRENT TRK)_^1_(ENA_$1_^1_(STA*_#WRDNOB_^1CONSQZ_!ENA_$16_^1_(STA-_#REMSEC,I_^1_(JMP_$DOSQZ_^1*_]_^1* IF THERE IS NEWTRK WE HAVE TO WRITE IT INTO NEWFLK ENTRY_^1*_!AND ONLY THEN ASK FOR NEWTRK_^1*_]_^1WRTNEW_!LDA-_#NEWTRK,I_^1_(STA-_#ATTEMP+3,I_^1_(LDA€€-_#FLK,I_^1_(LDQ-_#NEWFLK,I_)WRITE NEWTRK TO NEWFLK_^1_(RTJ*_#WRTSUB_^1*_]_^1_(RAO-_#NEWFLK,I_)INCREASE NEWFLK BY ONE_^1*_]_^1_(RTJ+_#G1TRT_,ASK FOR NEWTRK_^1_(SAN_$TRKOK_^1_(JMP*_#NODSK_^1TRKOK_"STA-_#NEWTRK,I_^1_(LDA-_#FLK,I_^1_(LDQ-_#FLKLNG,I_)WRITE IT IN LAST ENTRY OF FLK_^1_(RTJ*_#WRTSUB_^1*_]_^1_(JMP*_#CONSQZ_^1*_]_^1*_]_^1* WE HAVE SEARCHED ALL THE FLK._^1*_]_^1*_]_€€^1ENDSQZ_!LDA-_#NEWTRK,I_^1_(SAN_$K11_I05*C1146_^1*_]_^1* WE HAVE NOT ASKED FOR NEW TRACK. THE SQZ IS FINISHED_^1_(LDA-_#NEWFLK,I_^1_(INA_$-1_^1_(STA-_#ATTEMP+4,I_(FOR WRITE HDR_^1_(CLR_$A_^1_(JMP*_#WRTHDR_^1K11_$LDA-_#NEWTRK,I_^1_(STA-_#ATTEMP+3,I_'WRITE NEWTRK IN FLK_^1_(LDA-_#FLK,I_^1_(LDQ-_#NEWFLK,I_^1_(RTJ*_#WRTSUB_^1_(LDA-_#NEWFLK,I_^1_(STA-_$ATTEMP+4,I_%FOR WRITE ROUT€€INE_^1_(LDA-_#REMSEC,I_)NO OF SECTORS AVALIABLE ON CURRENT_^1WRTHDR_!STA-_#ATTEMP+3,I_'ENTRY IS EQUAL TO REMSEC_^1_(ENA_$2_0FOR WRITE FLK HDR_^1_(STA*_#WRDNOB_^1_(LDA-_#FLK,I_^1_(CLR_$Q_^1_(RTJ*_#WRTSUB_^1*_]_^1SOF_$LDQ-_#LFDBCK,I_^1_(RTJ-_#(RELFOR)_^1_(LDQ-_#FMTBCK,I_^1_(RTJ-_#(RELFOR)_^1_(LDQ-_#FMTTRK,I_^1_(RTJ-_#(RELFOR)_^1_(ENA_$75_^1_(RTJ+_#PRTMSG_^1_(RTJ-_#(EXDFUN)_^1_(CLR_$€DA_^1_(LDQ_$=XPRGSQ_^1_(RTJ-_#(ENTPRG)_^1_(EQU_$EFMTSQ(*)_^1_(END_^__DPES3 CSY/ P€1_%NAM ES3_*DECK-ID M13 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_"PRGSQ_]_^1*_]_^1* THE PROGRAM DELETES SPACES IN THE DISK AREA FOR LOADING PROGRAMS_^1*_]_^1* AND COMPRESSES THE PROGRAMS._^1*_]_^1* POINT OF COMPRESSION IS INITAILIZED AS THE€€ BEGINNING OF THIS AREA._^1*_]_^1* THE PRD IS SEARCHED AND THE PROGRAM MOST CLOSE TO POINT OF_^1*_]_^1* COMPRESSION IS TRANSFERRED TO THIS POINT. POINT OF COMPRESSION_^1*_]_^1* IS UPDATED AS OLD ONE + NO OF SECTORS THE PROGRAM OCCUPIES._^1*_]_^1* AND THE PROCRSS CONTINUE._^1*_]_^1* IN_"ER T_#ID DISASTER IN CASE OF POWER FAIL THE TRANSFERR-_^1*_]_^1* ING IS DONE IN TWO PASSES F€€IRST WE TRANSFER TO FIXED WORK-_^1*_]_^1* AREA ON DISK AND LEAVE IN THIRD WORD OF PROGRAM HEADER_^1*_]_^1*_]_^1* THE OLD DISK ADDRESS AND UPDATE PRD ON DISK. ONLY THEN_^1*_]_^1* WE TRANSFER TO THE POINT OF COMPRESSION IN PROGRAMS AREA,_^1*_]_^1* AND UPDATE THE PRD IN CORE AND ON DISK_^1*_]_^1*_]_^1*_!IF POWER FAIL OCCURE BETWEEN TWO PASSES, OR IN TIME_^1*_]_^1* OF SECOND PASS €€ THE COPY IN WORK AREA WILL SERVE THE USERES._^1*_]_^1* SQZ ROUTINE TAKES CARE TO TRANSFER THE PROGRAM FROM_^1*_]_^1* WORK AREA TO OLD ADDRESS IN PROGRAMS AREA ON DISK (USES THE_^1*_]_^1* HEADER IN THE COPY IN WORK AREA) THE NEXT TIME IT IS_^1*_]_^1* EXECUTED._^1*_]_^1*_]_^1*_]_^1*_]_^1*_]_^1*_]_^1*_%TRANSFER VECTOR_^1*_]_^1*_]_^1_(EQU_$SST($47)_^1_(EQU_$CAM($AE)_^1_(EQU_€€$REJSUP($B2)_^1_(EQU_$RELFOR($AD)_^1_(EQU_$CLCDWA($90)_^1_(EQU_$WRTDWA($AA)_^1_(EQU_$REDSEC($A7)_^1_(EQU_$WRTSEC($A8)_^1_(EQU_$ENTSR($91)_^1_(EQU_$EXTSR($92)_^1_(EQU_$RTNSR($98)_^1_(EQU_$ENTPRG($9E)_^1_(EQU_$EXDFUN($9F)_^1_(EQU_$WAIT($B0)_^1*_]_^1*_$SYSTEM CONSTANTS_^1*_]_^1_(EQU_$ZROBIT($33),ONEBIT($23),ZERO($22),NZERO($12)_^1_(EQU_$LPMASK(2)_^1*_%ENTRIES IN SST_^1_(EQU_$STEMP(20)€€_^1_(EQU_$PRD(3)_^1*_]_^1* CONSTANTS IN EST_^1*_]_^1_(EQU_$OWCNO(4)_^1_(EQU_$PRDDA(10)_^1*_]_^1*_!TEMPORARIES IN ATT_^1*_]_^1_(EQU_$ATTEMP(73)_^1_(EQU_$SCA(46)_*SUP COMMUNICATION AREA_^1_(EQU_$IND(SCA)_)PARAMETER TO TRAN ROUTINE_^1_(EQU_$BUFBCK(SCA+1)_#BCKWRDS PT FOR CORE BUFFER_^1_(EQU_$BUFSLN(SCA+2)_#LENGTH (IN SECTORS) OF CORE BUFFER_^1_(EQU_$CURAD(SCA+3)_$DISK ADDRESS TO €€WHICH WE MOVE._^1_(EQU_$MAXPRD(SCA+4)_#NO OF ENTRIES IN PRD_^1_(EQU_$NXTLOD(SCA+5)_#NEXT DA FOR LOAD (FROM) PRD)_^1_(EQU_$MINDIS(SCA+6)_#MINIMAL DISTANCE TO CURRENT ADDRESS._^1_(EQU_$MINFUN(SCA+7)_#ADR IN PRD OF PRG WITH MINDIS_^1_(EQU_$MINBIT(SCA+8)_#CONTROL BIT OF MIN PRG_^1_(EQU_$PRGLEN(SCA+9)_#PROGRAM LENGTH_^1_(EQU_$PRGBIT(SCA+10)_"CONTROL BIT OF PROGRAM._^1*_]_^1*_#EXTERNALS_€€^1*_]_^1_(EXT_$PRTMSG,SETMOV_^1_(EXT_$SIPRDN_+BEGINNING OF PRG AREA_^1_(EXT_$SIDSQZ_+WORKING AREA FOR SQZ PRG_^1*_]_^1* HDR FOR DISK RESIDENT ROUTINE_^1*_]_^1HDR_$VFD_$N2/3,N3/0,X11/EPRGSQ-*_^1_(NUM_$1,0,0_^1_(ADC_$PRGSQ-HDR_^1PRGSQ_"RTJ+_#SETMOV_^1*_0*****************_^1*_0* SQZ PROGRAMS *_^1*_0*****************_^1*_]_^1_(LDA_$=XSIPRDN_)SAVE BEGINNING OF PROGRAMS AREA_^1_(ST€€A-_#CURAD,I_*ON DISK_^1*_]_^1*_!ASK FOR WORK AREA IN CORE TRY. TO GET A WHOLE TRACK._^1*_]_^1_(ENA_$16_/TRY TO GET TRACK._^1TRYA_#STA-_#BUFSLN,I_)BUF LENGTH IN SECTORS_^1K96_$MUI_$=N96_^1_(TRA_$Q_^1_(INQ_$3_^1_(RTJ-_#(CAM)_^1_(SAP_$BUFOK_^1_(LDA-_#BUFSLN,I_^1_(ARS_$1_0HALF OF PREVIOUS REQUEST_^1_(SAZ_$1_0NOT EVEN ONE SECTOR_^1_(JMP*_#TRYA_^1_(ENA_$11_/NO CORE_^1_(JMP-_#(REJS€€UP)_^1*_]_^1BUFOK_"STQ-_#BUFBCK,I_^1_(ENA_$BUFBCK_+FIX BCKWRDS PT_^1_(ADD-_#I_^1_(STA-_#(ZERO),Q_^1*_]_^1*_0CLC END OF PRD IN CORE_^1*_]_^1_(LDQ-_#SST_^1_(LDA-_#OWCNO,Q_*NO OF OWN CODES._^1_(ARS_$8_^1_(AND-_#LPMASK+8_^1_(LDQ-_#SST+PRD_*PRD BEG_^1_(ADD-_#7,Q_.DISTANCE TO OWN CODES_^1_(STA-_#MAXPRD,I_)NO. OF ENTRIES IN PRD_^1*_]_^1*_]_^1*_!CALC NEXT AVAILABLE DISK ADDRESS FOR LOADING€€ PROGRAMS_^1*_]_^1_(ADQ-_#(ZERO),Q_)+ DISTANCE TO FIRST PRG GROUPS_^1_(INQ_$-1_^1_(LDA-_#(ZERO),Q_^1_(STA-_#NXTLOD,I_)NEXT DISK ADR FOR LOADING PRG._^1*_]_^1*_#CHECK IF PRG DISK ADDRESS POINTS TO THE WORK AREA_^1*_!IF THIS IS THE SITUATION IT MEANS A POWER FAIL HAS BEEN_^1*_!OCCURED IN THE PREVIOUS PASS. THE STATE BEFORE THE POWER_^1*_!FAIL HAS TO BE RESTORED.THE DISK ADDRESS IN€€ PROGRAMS AREA_^1*_!WILL BE STORED IN THE HEADER OF THE COPY WHICH IS IN THE_^1*_!DISK WORK AREA_^1*_]_^1*_]_^1*_!CHECK IF CURRENT ADDRESS IS NEXT AVAILABLE. IF SO FINISH_^1*_]_^1NXTADR_!LDA-_#CURAD,I_*CURRENT ADDRESS._^1_(EOR-_#NXTLOD,I_)NEXT AVAILABLE_^1_(SAN_$NXTAD1_^1_(JMP_$SQZFIN_+IF EQ_^1NXTAD1_!SET_$A_0INITIATE MINIMUM DISTANCE_^1_(STA-_#MINDIS,I_)BY NEGATIVE VALUE_^1*_]_^1_€€(LDQ-_#(SST+PRD)_(FIRST PRG IN PRD_^1*_]_^1* SEARCH THE PRD_^1*_]_^1AG1_$STQ-_#ATTEMP,I_)WHICH ENTRY IN PRD_^1_(LDA-_#(SST+PRD),Q_%DISK/CORE ADR._^1_(STA-_#ATTEMP+1,I_'DISK/CORE ADR_^1_(STA*_#SECAD1_+FOR READ REQUEST_^1_(EOR-_#LPMASK+15_(CHECK IF $7FFF_^1_(SAN_$1_^1_(JMP*_#NXTPRD_+YES. EMPTY ENTRY._^1*_]_^1* GET CONTROL BIT_^1_(TRQ_$A_0INDEX IN PRD,WHICH PRG_^1_(SUB-_#(PRD+SST)_^€€1_(CLR_$Q_^1_(DVI-_#ONEBIT+4_)A=WORDIN BLOCK Q=BIT INWORD_^1_(INA_$8_^1_(ADD-_#SST+PRD_*ADDRESS OF CONTROL WORD_^1_(STA-_#SST+STEMP_^1_(LDA-_#(SST+STEMP)_^1_(AND-_#ONEBIT,Q_^1_(STA-_#PRGBIT,I_)RETURNED IN A._^1_(SAZ_$ONDSK1_+IF ZERO, PRG ON DISK_^1_(LDQ-_#ATTEMP+1,I_'PRG CORE ADDRESS_^1_(LDA-_#3,Q_.DISK ADDRESS IN PRG HDR_^1_(STA-_#ATTEMP+1,I_^1ONDSK1_!LDA-_#ATTEMP+1,I_^1WRKTRK_!EO€€R_$=XSIDSQZ_^1_(SAN_$RET_^1* PREPARE PARAMETERS FOR TRANSFER ROUTINE_^1*_]_^1_(LDA*_#WRKTRK+1_^1_(STA*_#SECAD3_^1_(CLR_$Q_0Q=0 IS PARAMETER TO TRAN ROUTINE_^1_(STQ-_#PRGLEN,I_^1_(RTJ*_#TRAN_-TRANSFER FROM WORK AREA TO OLD DSK A_^1*_]_^1*_]_^1*_"IF PROGRAM IS AFTER LOADED PROGRAMS AREA ,SKIP IT_^1*_]_^1RET_$LDA-_#ATTEMP+1,I_^1_(SUB-_#NXTLOD,I_^1_(SAM_$1_^1_(JMP*_#NXTPRD_^1_(LDA-_#A€€TTEMP+1,I_^1_(SUB-_#CURAD,I_^1_(SAP_$1_^1_(JMP*_#NXTPRD_+PROGRAM BEFORE CURRENT ADDRESS_^1_(SAZ_$1_^1_(JMP*_#NOTZR_^1* PROGRAM BEGINS AT CURRENT ADDRESS_^1*_]_^1_(LDA-_#PRGBIT,I_^1_(SAZ_$ONDSK2_^1_(LDQ-_#ATTEMP,I_)ENTRY IN PRD_^1_(LDQ-_#(SST+PRD),Q_^1_(LDA-_#1,Q_.LENGTH OF PRG IN HDR_^1CLCNEW_!RTJ*_#CLCSEC_+CLC HOW MANY SECTORS_^1_(ADD-_#CURAD,I_^1_(STA-_#CURAD,I_*CURAD=CURAD+PRGL€€EN_^1_(JMP*_#NXTADR_^1*_]_^1*_!PROGRAM IS ON DISK WE D'ONT HOW LONG IT IS_^1*_]_^1ONDSK2_!ENA_$ATTEMP+3_^1_(ADD-_#I_^1_(STA*_#CORAD1_^1_(RTJ-_#(REDSEC)_^1CORAD1_!NUM_$1_^1SECAD1_!NUM_$0_^1_(NUM_$-1_/ONE WORD_^1_(NUM_$0_^1_(LDA-_#ATTEMP+3,I_'PROGRAM LENGTH_^1_(JMP*_#CLCNEW_^1*_]_^1* WHEN ENTERED,A=LENGTH OF PRG IN WORDS_^1* ON EXIT,A=LENGTH OF PRG IN SECTORS_^1CLCSEC_!NUM_$0_^1_(A€€ND-_#LPMASK+11_^1_(INA_$95_^1_(CLR_$Q_^1_(DVI*_#K96+1_^1_(JMP*_#(CLCSEC)_^1*_]_^1* THE DISTANCE BETWEEN THE CURRENT ADDRESS AND THE ADR OF PRG_^1* SHOULD BE COMPARED WITH THE MINIMUM DISTANCE_^1*_]_^1*_!THE DISTANCE IS IN A REGISTER._^1*_]_^1NOTZR_"LDQ-_#MINDIS,I_^1_(SQM_$FIR_.IF INIT VALUE_^1_(TCQ_$Q_0-MINDIS_^1_(AAQ_$Q_0DISTANCE-MINDIS_^1_(SQP_$NXTPRD_+LESS CLOSE._^1FIR_$STA-_€€#MINDIS,I_)SAVE THE DISTANCE_^1_(LDA-_$ATTEMP,I_^1_(STA-_#MINFUN,I_)ENTRY IN PRD_^1_(LDA-_#PRGBIT,I_^1_(STA-_#MINBIT,I_)THE CONTROL BIT_^1NXTPRD_!LDQ-_#ATTEMP,I_)CURRENT ENTRY_^1_(INQ_$1_0NEXT ENTRY_^1_(TRQ_$A_^1_(SUB-_#MAXPRD,I_)NO OF ENTRIES IN PRD_^1_(SAP_$1_^1_(JMP*_#AG1_^1*_]_^1* WE HAVE FINISH SEARCHING THE PRD_^1*_]_^1_(LDA-_#MINDIS,I_^1_(SAP_$TR_^1*_]_^1* IF MINDIS IS NE€€GATIVE NO PROGRAM IS AFTER CURRENT ADDRESS_^1*_]_^1_(JMP_$PRDEND_+CURRENT AVALABLE ENTRY SHOULD BE_^1*_BUPDATED IN THE PRD._^1*_]_^1*_!PROGRAM SHOULD BE TRANSFERRED_^1*_]_^1*_%TRANSFER TO WORK AREA_%FROM OLD DISK ADDRESS_^1*_]_^1TR_%LDA-_#MINFUN,I_)FIX PARAMETERS FOR TRAN ROUTINE_^1_(STA-_#ATTEMP,I_^1_(LDA-_#MINBIT,I_^1_(STA-_#PRGBIT,I_^1_(CLR_$A_^1_(STA-_#PRGLEN,I_^1_(LDA-_#MINDIS€€,I_^1_(ADD-_#CURAD,I_^1_(STA*_#SECAD3_+FROM WERE TO TRANSFER_^1_(LDA*_#WRKTRK+1_^1_(STA*_#SECAD4_+WHERE TO TRANSFER_^1_(ENQ_$2_0PARAMETER FOR TRANSFER ROUTINE_^1_(RTJ*_#TRAN_^1*_]_^1*_]_^1*_$TRANSFER FROM WORK AREA TO FIXED AREA ON DISK_^1*_]_^1_(LDA-_#CURAD,I_*WHERE TO TRANSFER_^1_(STA*_#SECAD4_^1_(LDA*_#WRKTRK+1_)FROM WHERE_^1_(STA*_#SECAD3_^1_(ENQ_$1_0PARAMETER FOR TRAN_^1_(RTJ*€€_#TRAN_^1*_#UPDATE POINT OF COMPRESSION_^1_(LDA-_$PRGLEN,I_^1_(ADD-_$CURAD,I_^1_(STA-_$CURAD,I_^1_(JMP*_#NXTAD1_+CHECK CANDIDATE FOR NEXT ADR._^1*_]_^1* TRAN TRANSFERS FROM ONE DISK AREA TO ANOTHER_^1*_]_^1* Q IS PARAMETER .Q=2 MEANS TRANSFER FROM PROGRAMS AREA_^1*_]_^1* TO WORK AREA._^1*_]_^1* Q=1 MEANS TRANSFER FROM WRKAREA TO PROGRAMS AREA ACCORDING_^1*_]_^1* THE D€€ISK ADDRESS GIVEN IN WRITE REQUEST._^1*_]_^1* Q=0 MEANS THE SAME ACCEPT THE DISK ADDRESS IN WRITE REQUEST_^1*_]_^1* HAS TO BE FIXED ACCORDING THE DISK ADDRESS IN THE HEADR OF_^1*_]_^1* THE COPY ON THE WORK. AREA._^1*_]_^1* ANOTHER PARAMETERS NEEDED FOR UPDATING THE PRD ARE:_^1*_]_^1* (ATTEMP,I) CORE ADR OF THE ENTRY IN PRD_^1*_]_^1*_!(PRGBIT,I) IS PROGRAM IN CORE OR NOT. I€€F ZERO- ON DISK_^1*_]_^1* (PRGLEN,I)- IF ZERO WE HAVE TO READ INTO CORE OTHERWISE._^1*_#JUST TO WRITE_^1*_!TRAN RETURNS THE PRG LENGTH IN (PRGLEN,I)_^1*_"AND THE NEW DISK ADDRESS IN (ATTEMP+1,I)_^1*_]_^1TRAN_#NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(STQ-_#IND,I_,PARAMETER_^1_(RTJ+_#SETMOV_^1_(LDQ-_#BUFBCK,I_^1_(LDA-_#1,Q_.TURN ON I/O BIT_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(INQ_$3_^1_(STQ*€€_#CORAD3_+FIX CORE ADDRESS_^1_(STQ*_#CORAD4_^1_(LDA-_#BUFSLN,I_^1_(STA*_#SECNO3_^1_(STA*_#SECNO4_^1_(LDA-_#PRGLEN,I_^1_(SAZ_$T1_^1_(TCA_$Q_^1_(ADQ*_#SECNO4_+SECNO - PRGLEN_^1_(SQM_$1_0CORE BUFFER IS NOT ENOUGH FOR PRG_^1_(JMP*_#WRT4_-ENOUGH_^1*_]_^1* WE HAVE TO READ_^1*_]_^1T1_%CLR_$A_^1_(STA-_#ATTEMP+4,I_'INDICATE THAT FIRST SEC HAS NOT_^1*_BBEEN READ YET.PRG LENGTH IS UNKNOWN_^€€1RDWT_#RTJ-_#(REDSEC)_^1CORAD3_!NUM_$0_^1SECAD3_!NUM_$0_^1SECNO3_!NUM_$0_^1_(NUM_$0_^1_(LDQ-_#ATTEMP+4,I_^1_(SQZ_$1_^1_(JMP*_#NOTFIR_+WE KNOW PRG LENGTH_^1_(RAO-_#ATTEMP+4,I_^1_(LDQ-_#BUFBCK,I_^1_(LDA-_#3,Q_^1_(RTJ*_#CLCSEC_^1_(STA-_#PRGLEN,I_)LENGTH OF PRG IN SECTORS_^1_(TCA_$Q_^1_(ADQ*_#SECNO4_+SECNO - PRGLRN_^1_(SQM_$1_^1WRT4_#STA*_#SECNO4_^1_(STA-_#ATTEMP+1,I_'SAVE PROGRAM LENG€€TH_^1_(LDQ-_#BUFBCK,I_^1_(LDA-_#IND,I_^1_(INA_$-1_^1_(SAZ_$N3+1_-TRANSFER FROM WRK AREA.MASK OLD ADR_^1_(SAP_$N3_/WE TRANSFER TO WRK AREA FIX HDR_^1_(LDA-_#5,Q_.TRANSFER FROM WRK AREA TO OLD DISK_^1_(STA*_#SECAD4_+ADDRESS_^1N2_%CLR_$A_0ZERO TO HDR_^1_(JMP*_#N3+1_^1N3_%LDA*_#SECAD3_+OLD DISK ADDRESS OF PRG_^1_(STA-_#5,Q_.TO HDR_^1_(LDA*_#SECAD4_+SAVE THE TARGET ADDRESS ON DISK_^1_(S€€TA-_#ATTEMP+3,I_'FOR UPDATING PRD._^1NOTFIR_!RTJ-_#(WRTSEC)_^1CORAD4_!NUM_$0_^1SECAD4_!NUM_$0_^1SECNO4_!NUM_$0_^1_(NUM_$0_^1_(LDA-_#PRGLEN,I_)HOW MUCH REMAIN FROM PRG._^1_(SUB*_#SECNO4_+HOW MUCH WE HAVE WRITTEN_^1_(SAZ_$TRFIN_^1_(STA-_#PRGLEN,I_)HOW MUCH REMAIN_^1_(LDQ*_#SECAD3_+UPDATE THE DISK ADDRESSES_^1_(ADQ*_#SECNO3_^1_(STQ*_#SECAD3_^1_(LDQ*_#SECAD4_^1_(ADQ*_#SECNO4_^1_(STQ*_#€€SECAD4_^1*_]_^1_(TRA_$Q_0HOW MUCH REMAIN_^1_(SUB*_#SECNO4_^1_(SAP_$2_^1_(STQ*_#SECNO4_^1_(STQ*_#SECNO3_^1_(JMP*_#RDWT_^1TRFIN_"LDQ-_#SST_.WRITE IN PRD ONE DISK_^1_(LDA-_#PRDDA,Q_*PRD DISK ADR_^1_(LDQ-_#ATTEMP,I_)WHICH ENTRY_^1_(RTJ*_#WRTWRD_^1_(LDQ-_#IND,I_^1_(INQ_$-2_^1_(SQZ_$Z1_/TRANSFERRING TO WRK AREA._^1*_]_^1*_!PRD IN CORE SHOULD BE UPDATED ALSO._^1*_]_^1_(LDQ-_#ATTEMP,I_)WH€€ICH PRG_^1_(LDA-_#PRGBIT,I_^1_(SAZ_$ONDSK5_+IF CONTROL BIT IS ZERO_^1_(LDQ-_#(PRD+SST),Q_%CORE ADDRESS OF PRG_^1_(LDA-_#ATTEMP+3,I_'NEW DISK ADRESS_^1_(STA-_#3,Q_.THIRD WORD OF HDR_^1_(JMP*_#Z1_^1ONDSK5_!LDA-_#ATTEMP+3,I_^1_(STA-_#(PRD+SST),Q_%NEW ADDRESS TO PRD_^1Z1_%LDA-_#ATTEMP+1,I_^1_(STA-_#PRGLEN,I_)PROGRAM LENGTH_^1_(LDA-_#ATTEMP+3,I_'NEW DISK ADDRESS_^1_(STA-_#ATTEMP+1,I_^1_€€(LDQ-_#BUFBCK,I_)TURN OFF I/O BIT_^1_(LDA-_#1,Q_^1_(AND-_#ZROBIT+15_^1_(STA-_#1,Q_^1_(JMP-_#(EXTSR)_^1WRTWRD_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ-_#(CLCDWA)_^1_(STA*_#DA1+1_^1_(STQ*_#DA1_^1_(RTJ+_#SETMOV_^1_(ENA_$ATTEMP+3_)ATTEMP+3 HAS THE VALUE TO BE_^1_(ADD-_#I_0WRITTEN ON DISK_^1_(STA*_#CORAD_^1_(RTJ-_#(WRTDWA)_^1CORAD_"NUM_$0_^1DA1_$NUM_$0,0_^1_(NUM_$1_^1_(NUM_$0_^1_(JMP-_#(EXTSR)€€_^1*_]_^1*_]_^1* THE CURRENT AVAILABLE LOAD ADDRESS IN PRD SHOULD BE FIXED_^1*_]_^1PRDEND_!LDA-_#CURAD,I_*UPDATE PRD IN CORE_^1_(LDQ-_#SST+PRD_^1_(ADQ-_#(SST+PRD)_^1_(INQ_$-1_^1_(STA-_#(ZERO),Q_^1_(STA-_#ATTEMP+3,I_'UPDATE PRD ON DISK_^1_(LDQ-_#SST_^1_(LDA-_#PRDDA,Q_^1_(LDQ-_#(PRD+SST)_^1_(INQ_$-1_^1_(RTJ*_#WRTWRD_^1SQZFIN_!LDQ-_#BUFBCK,I_^1_(RTJ-_#(RELFOR)_^1_(ENA_$76_^1_(RTJ+_#P€|RTMSG_^1_(RTJ-_#(EXDFUN)_^1_(ENA_$1_^1_(LDQ_$=N$3819_*SECOND ENTRY IN ESH_^1_(RTJ-_#(ENTPRG)_^1_(EQU_$EPRGSQ(*)_^1_(END_^__ |PES4 CSY/ P€1_%NAM ES4_*DECK-ID M14 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_"LDS_]_^1*_]_^1*_]_^1*_"LDS IS THE PART OF SQUEEZE PROGRAM WHICH COMPRESSING THE_^1*_]_^1*_"DOCUMENT TABLE._^1*_]_^1*_"THE_!DOCUMENTS DIRECTORY (LDD) IS READ INTO CORE._^€€1*_]_^1*_"POINT OF COMPRESSION IS INITIATE AS THE ENTRY RIGHT AFTER THE_^1*_]_^1*_"LDD. ( DISPLACEMENT_!512 FROM BEGINNING OF LDD)_^1*_]_^1*_"THE LDD IS SEARCHED FOR A_!DOCUMENT MOST CLOSE TO POINT_^1*_]_^1*_"OF COMPRESSION. THIS DOCUMENT IS TRANSFERED TO POINT OF_^1*_]_^1*_"COMPRESSION AND THE NEW_!PT OF COMPRESSION IS FIXED AFTER_^1*_]_^1*_"THE DOCUMENT. THE NEW €€DISPLACEMENT FOR DOC IS ENTERED TO LDD._^1*_]_^1*_%TRANFERING IS DONE IN BUFFER AT CORE. THE LOWER HALF_^1*_"IS TARGET BUFFER INTO WHICH WE COMPRESS. THE UPPER HALF_^1*_]_^1*_]_^1*_"IS SRC BUFFER FROM WHICH WE TRANSFER._^1* WHEN TARGET BUFFER IS FULL, IT IS WRITTEN ON DISK.(WE SAVE_^1* THE DISPLACEMENT OF IT'S BEGINNING), THE LDD IMAGE IN CORE_^1* IS ALSO WRITTEN€€ ON DISK._^1*_]_^1*_]_^1_(EXT_$SITRDA_+TAPE RECOVERY DISK AREA_^1*_]_^1*_%SYSTEMS CONSTANTS_^1*_]_^1_(EQU_$SST($47)_^1_(EQU_$CAM($AE)_^1_(EQU_$REJSUP($B2)_^1_(EQU_$RELFOR($AD)_^1_(EQU_$CLCDWA($90)_^1_(EQU_$REDDWA($A9)_^1_(EQU_$WRTDWA($AA)_^1_(EQU_$REDSEC($A7)_^1_(EQU_$WRTSEC($A8)_^1_(EQU_$ENTSR($91)_^1_(EQU_$EXTSR($92)_^1_(EQU_$RTNSR($98)_^1_(EQU_$STEMP(20)_^1_(EQU_$ENTPRG($9E)_^1€€_(EQU_$EXDFUN($9F)_^1_(EQU_$ZROBIT($33),ONEBIT($23)_^1_(EQU_$ZERO($22)_^1*_]_^1*_"LDD DISK ADR IS IN 9 ENTRY OF EST._^1_(EQU_$LDD(9)_^1*_]_^1*_"VARIABLES IN ATT_^1*_]_^1_(EQU_$ATTEMP(73)_^1* SUP COM AREA_^1_(EQU_$SCA(46)_^1* NEXT FREE ENTRY IN LDT. POINT OF COMPRESSION_^1* BCKWRDS PT FOR LDD BUFFER_^1_(EQU_$LDDBCK(SCA+1)_^1*_]_^1*_]_^1* LENGTH IN WRDS OF WOR€€KING AREA (MOVE BUFFER) FOR LDT_^1_(EQU_$MVBFL(SCA+3)_^1*_]_^1* BCKWRDS PT_!FOR MOVE BUFFER._^1_(EQU_$MVBCK(SCA+4)_^1* DISPLACEMENT IN LDT OF BEG OF UPPER HALF OF MOVE BUFFER (TARGET_^1_(EQU_$CURBG1(SCA+5)_^1*_]_^1* DISPLACEMENT IN LDT OF BEG OF LOWER HALF OF MOVE BUFFER (SRC)_^1_(EQU_$CURBG2(SCA+6)_^1*_]_^1* DIS OF DOC CLOSEST TO CURRENT DIS._^1_(EQU_$MINDIS(S€€CA+7)_^1*_]_^1* THE DOCUMENT NO_^1_(EQU_$DOCNO(SCA+8)_^1*_]_^1* DOC WITH MINIMUM DISPLACEMENT_^1_(EQU_$MINDOC(SCA+9)_^1*_]_^1*_"THE DOCUMENT LENGTH_^1_(EQU_$DOCLEN(SCA+10)_^1*_]_^1*_"THE ADR TO WHICH WE COMPRESS IN TARGET BUFFER_^1_(EQU_$NEWMVE(SCA+11)_^1*_]_^1*_"THE ADDR FROM WHICH WE MOVE IN SRC BUFFER_^1_(EQU_$CURMVE(SCA+12)_^1*_?CURRENT DISPLACEMENT_^1_(EQU_$CURD€€IS(SCA+13)_^1*_]_^1_(EQU_$FLGDD(SCA+14)_#FLAG_^1*_"EXTERNALS_^1*_]_^1*_]_^1_(EXT_$SETMOV,PRTMSG_^1*_]_^1* FUNCTION INDEX OF FMTSQ._^1_(EQU_$FMTSQZ($80B)_^1*_]_^1* HDR_"FOR_"DISK RESIDENT_!ROUTINE_^1*_]_^1HDR_$VFD_$N2/3,N3/0,X11/ELDS-*_^1_(NUM_$1,0,0_^1_(ADC_$LDS-HDR_^1LDS_$RTJ+_#SETMOV_^1*_0* * * * * * * * *_^1*_0*_.*_^1*_0*_"SQZ OF LDT *_^1*_0* * * * * * * * *_^1_(LDQ_$=N512_,€€ASK FOR 512 WRDS BUFFER FOR LDD._^1_(STQ-_#CURDIS,I_)CURRENT AVAILABLE DISPLACEMENT_^1_(INQ_$3_^1_(RTJ-_#(CAM)_^1_(SAP_$2_^1NOCORE_!ENA_$11_/NO MEMORY AVAILABLE_^1_(JMP-_#(REJSUP)_^1*_]_^1*_]_^1_(STQ-_#LDDBCK,I_^1_(ENA_$LDDBCK_+FIX BCKWRDS PTS._^1_(ADD-_#I_^1_(STA-_#(ZERO),Q_^1*_]_^1*_]_^1_(RTJ_$IOON_-TURN ON I/O BIT_^1*_]_^1_(INQ_$3_^1_(STQ*_#CORAD3_^1_(LDQ-_#SST_.PREPARE PA€€RAMETERS FOR_^1_(LDA-_#LDD,Q_,READING OF LDD._^1_(STA*_#NXTSC9_^1*_!FOR LDD WRITE REQUEST_^1_(CLR_$Q_^1_(RTJ-_#(CLCDWA)_^1_(STA_$DAO+1_^1_(STQ_$DAO_^1_(RTJ-_#(REDSEC)_^1CORAD3_!NUM_$0_^1NXTSC9_!NUM_$0_^1WRDN09_!NUM_$-512_^1_(NUM_$0_^1*_]_^1*_]_^1_(LDQ-_#LDDBCK,I_^1_(RTJ_$IOOFF_,TURN OFF I/O BIT_^1_(RTJ*_#ASKBUF_+ASK FOR BUFFER FOR LDT_^1_(ADC_$192_^1_(RTJ*_#ASKBUF_^1_(ADC_$80€€_^1_(LDQ-_#LDDBCK,I_^1_(RTJ-_#(RELFOR)_^1_(JMP*_#NOCORE_^1*_]_^1ASKBUF_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(LDQ*_#(ASKBUF)_)STORE BUFFER LENGTH IN MVBFL_^1_(STQ-_#MVBFL,I_^1_(INQ_$3_^1_(RTJ-_#(CAM)_^1_(SAP_$BUFOK_^1_(RTJ-_#(RTNSR)_^1_(JMP-_#1,Q_^1BUFOK_"STQ-_#MVBCK,I_^1_(ENA_$MVBCK_,FIX BCKWRD PT_^1_(ADD-_#I_^1_(STA-_#(ZERO),Q_^1_(LDA-_#MVBFL,I_^1_(ARS_$1_^1_(STA-_#MVBF€€L,I_*HALF OF BUFFERS LENGTH_^1_(RTJ-_#(RTNSR)_*REMOVE RETURN ADDR FROM STACK_^1*_]_^1* THE_!LDT BUFFER IS BUILD IN THAT WAY:_^1*_]_^1* IT'S LENGTH IS OF 2 HALFS_"WE COMPRESS DOCUMENTS INTO THE_^1* LOWER HALF_!FROM THE UPPER ONE. THE VARIABLES_!CURBG1,CURBG2_^1* AND SECND HALF. AS INITIAL VALUE THEY GOT NEGATIVE VALUE._^1* TARGET BUFFER IS FIRST HALF, SOURCE BUFFER€€ IS SECOND HALF_^1*_]_^1_(ENA_$-1_^1_(STA-_#CURBG1,I_^1_(STA-_#CURBG2,I_^1* THE DISPLACEMENT IN LDD IS 512 AT THE BEGINNING_^1* ARE THE DISPLACEMENT FROM BEGINNING OF LDD_!OF BEG OF FIRST HALF_^1*_]_^1BGLDD_"LDQ-_#LDDBCK,I_^1_(INQ_$3_0CHECK IF CURRENT ENTRY OF LDD_^1_(LDA-_#(ZERO),Q_)EQ TO CURRENT DISPLACEMENT_^1_(EOR-_#CURDIS,I_^1_(SAN_$LL3_^1_(JMP_$NOWRT_,FINISH LDD €€REMAIN THE SAVE_^1LL3_$ENA_$0_^1_(STA-_#DOCNO,I_2DOCUMENT NO_^1*_]_^1_(SET_$A_0DOC WITH DISPLACEMENT MOST CLOSE TO_^1_(STA-_#MINDIS,I_)CURRENT DISPLACMENT IS THE ONE WHICH_^1*_BIS MOVED.INIT VALUE OF MIN DIS IS_^1*_BNEGATIVE_^1*_]_^1* CHECK NEXT_!DOCUMENT_^1*_]_^1NXTDOC_!RAO-_#DOCNO,I_^1_(LDA-_#DOCNO,I_^1_(SUB_$=N256_^1_(SAM_$CONT5_^1_(JMP*_#CHKMIN_+SEARCH OF LDD FINISHED_^1CONT€€5_"LDQ-_#LDDBCK,I_^1_(INQ_$3_^1_(LDA-_#DOCNO,I_^1_(ALS_$1_^1_(AAQ_$Q_^1_(LDA-_#(ZERO),Q_)DISPLACEMENT OF CURRENT DOC._^1_(SAN_$1_^1_(JMP*_#NXTDOC_+IF ZERO DIS, NEXT DOCUMENT_^1_(SUB-_#CURDIS,I_^1_(SAP_$1_^1_(JMP*_#NXTDOC_+DOC BEFORE POINT OF COMPRESSION_^1_(SAN_$NTZR_^1_(LDA-_#1,Q_.IF EQ, CURDIS=CURDIS+DOCLEN_^1_(ADD-_#CURDIS,I_^1_(STA-_#CURDIS,I_^1_(JMP*_#BGLDD_^1*_]_^1*_"COMP€€ARE DISP OF CURRENT DOC TO THE MINIMUM WE HAVE FOUND SO_^1*_"FAR_]_^1NTZR_#LDA-_#MINDIS,I_^1_(SAM_$FIR_^1_(SUB-_#(ZERO),Q_^1_(SAM_$NXTDC_^1*_]_^1*_"STORE_!THE DISPLACEMENT, LENGTH AND DOC NO_^1*_]_^1FIR_$LDA-_#(ZERO),Q_^1_(STA-_#MINDIS,I_^1_(LDA-_#DOCNO,I_^1_(STA-_#MINDOC,I_^1_(LDA-_#1,Q_^1_(STA-_#DOCLEN,I_^1NXTDC_"JMP*_#NXTDOC_^1*_]_^1* WE HAVE SEARCHED ALL LDD_^1*_]_^1CHK€€MIN_!LDA-_#MINDIS,I_^1_(SAP_$2_^1_(JMP_$LDDEND_+IF NO DOCUMENT TO TRANSFERR_^1*_]_^1* CHK IF THE DOC TO BE TRANSFER IS AVAIALABLE_^1_(LDA-_#CURBG2,I_)DIS OF BEG OF SRC BUF_^1_(SAP_$1_^1_(JMP*_#NTHR1_^1_(SUB-_#MINDIS,I_^1_(SAM_$HR1_.AFTER BEG OF SRC BUF_^1_(SAZ_$HR1+1_^1_(JMP*_#NTHR1_^1HR1_$TCA_$A_^1_(STA-_#CURMVE,I_)FROM WHERE TO MOVE_^1_(SUB-_#MVBFL,I_^1_(SAM_$HRA_.NOT AFTE€€R END OF SRC BUFFER_^1NTHR1_"LDA-_#MINDIS,I_^1_(STA-_#CURBG2,I_)READ THE LDD FROM THE BEG OF DOC_^1_(RTJ*_#RDMVE_,TO SOURCE BUFF. MINDIS IS_^1*_BDISP OF BEG OF SOURCE BUF_^1*_]_^1* DOC TO BE COMPRESSED IS AVAILABLE_^1*_]_^1HRA_$LDA-_#CURBG1,I_)BEG OF TARGET BUFFER_^1_(SAP_$HRO_.IF LEGAL ADDRESS_^1_(LDA-_#CURDIS,I_^1_(STA-_#CURBG1,I_)BEG OF LOWER HALF.(TRGT BUF)_^1_(CLR_$A_^1_(€€STA-_#NEWMVE,I_)MOVE TO BEG OF BUFFER_^1*_]_^1* WE KNOW TO WHERE WE HAVE TO COMPRESS_^1*_]_^1HRO_$LDQ-_#CURDIS,I_)CURDIS IS NEW ADDRESS FOR_^1_(STQ-_#ATTEMP+3,I_'TRANSFERED DOC_^1_(LDA-_#DOCLEN,I_^1_(AAQ_$Q_^1_(STQ-_#CURDIS,I_)NEW CURDIS POINT OF COMPRESSION_^1_(TCA_$A_^1_(STA-_#DOCLEN,I_)MINUS DOC LENGTH_^1_(CLR_$A_^1_(STA-_#FLGDD,I_*FLAG IF WRITE HAS BEEN DONE THROUGH_^1*_BT€€RANSFERRING_^1HR_%LDA-_#NEWMVE,I_^1_(TRA_$Q_^1_(SUB-_#MVBFL,I_^1_(STA-_#ATTEMP+1,I_'NEG OFWRDS TO END OF TARGET BUF._^1_(ADQ-_#MVBCK,I_^1_(INQ_$3_^1_(STQ-_#STEMP+SST_(BASE ADR .WHERE TO MOVE._^1_(LDA-_#CURMVE,I_^1_(TRA_$Q_^1_(SUB-_#MVBFL,I_^1_(STA-_#ATTEMP+2,I_'NEG OF WRDS TO END OF SRC BUF._^1_(ADQ-_#MVBFL,I_^1_(ADQ-_#MVBCK,I_^1_(INQ_$3_^1_(STQ-_#STEMP+1+SST_%BASE ADR.FROM WHERE T€€O MOVE._^1_(CLR_$Q_^1_(STQ-_#ATTEMP,I_^1LOOP9_"LDA-_#(STEMP+1+SST),Q_^1_(STA-_#(STEMP+SST),Q_#MOVE_^1_(INQ_$1_^1_(RAO-_#NEWMVE,I_^1_(RAO-_#CURMVE,I_^1_(RAO-_#DOCLEN,I_^1_(TRQ_$A_1NO WHICH WE TRANSFER_^1_(ADD-_#ATTEMP+1,I_'+ NO TO END OF TARGET BUF (NEG)_^1_(SAN_$MVOK_^1_(RTJ*_#WRTMVE_+END OF TRGT BUF WRITE IT ON DISK_^1_(RAO-_#FLGDD,I_*WRITE HAS BEEN DONE_^1_(RAO-_#ATTEMP,I_)MARK €€IT_^1MVOK_#LDA-_#DOCLEN,I_^1_(SAN_$1_^1_(JMP*_#TRNFIN_+IF ALL DOC TRANSFERRED_^1_(TRQ_$A_0NO OF TRANSFERED WRDS_^1_(ADD-_#ATTEMP+2,I_'NO OF WRDS TO END OF SRC BUF (NEG)_^1_(SAN_$CUROK_^1_(LDA-_#CURBG2,I_)CUR DISPLACEMENT OF SRC BUFFER_^1_(ADD-_#MVBFL,I_*IS OLD ONE + LENGTH OF SRC_^1_(STA-_#CURBG2,I_^1_(RTJ*_#RDMVE_,END OF SRC BUFFER READ CONTINUATION_^1_(RAO-_#ATTEMP,I_)MARK €€IT_^1*_]_^1CUROK_"LDA-_#ATTEMP,I_)IF READ OR WRITE HAS BEEN DONE_^1_(SAZ_$1_^1_(JMP*_#HR_/CALCULATE ADDRESSES_^1_(JMP*_#LOOP9_^1*_]_^1*_]_^1*_]_^1*_BWRITE NEW DIS OF DOC IN THE LDD_^1TRNFIN_!LDQ-_#MINDOC,I_^1_(QLS_$1_^1_(ADQ-_#LDDBCK,I_)ENTRY IN LDD_^1_(LDA-_#ATTEMP+3,I_'NEW DISPLACEMENT_^1_(STA-_#3,Q_^1_(LDA-_#FLGDD,I_^1_(SAZ_$2_^1*_!IF WRITTING ON DISK HAS BEEN DONE WHILE TRANSF€€ERRING_^1*_$WRITE THE LDD_^1_(RTJ*_#WRTLDD_^1*_#WRITE REMAINING OF TRANSFERRED DOCUMENT_^1_(RTJ*_#WRTMVE_^1_(JMP*_#LL3_^1IOON_#NUM_$0_^1_(LDA-_#1,Q_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(JMP*_#(IOON)_^1IOOFF_"NUM_$0_^1_(LDA-_#1,Q_^1_(AND-_#ZROBIT+15_^1_(STA-_#1,Q_^1_(JMP*_#(IOOFF)_^1* READ ROUTINE TO TRGT BUFFER ALSO FIXES CURBG2,CURMVE_^1*_]_^1RDMVE_"NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(€€STQ-_#ATTEMP+4,I_^1_(RTJ+_#SETMOV_^1_(LDA_$NXTSC9_+LDD DISK ADDRESS_^1_(LDQ-_#CURBG2,I_^1_(RTJ-_#(CLCDWA)_^1_(STA*_#DA8+1_,FROM_!WHERE TO READ_^1_(STQ*_#DA8_^1_(LDQ-_#MVBCK,I_^1_(RTJ*_#IOON_-TURN ON I/O BITE_^1_(INQ_$3_^1_(LDA-_#MVBFL,I_^1_(STA*_#WRDNO8_^1_(AAQ_$Q_^1_(STQ*_#CORAD8_^1WRDOK_"RTJ-_#(REDDWA)_^1CORAD8_!NUM_$0_^1DA8_$NUM_$0,0_^1WRDNO8_!NUM_$0_^1_(NUM_$0_^1_(LDQ-_#MVBCK€€,I_^1_(RTJ*_#IOOFF_,TURN OFF I/O BIT_^1_(CLR_$A_0MOVE FROM BEG OF SRC BUFFER_^1_(STA-_#CURMVE,I_^1_(LDQ-_#ATTEMP+4,I_'RESTORE Q_^1_(JMP-_#(EXTSR)_^1WRTMVE_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(LDA-_#NEWMVE,I_^1_(SAN_$1_0IF ZERO,NOTHING IN TARGET BUFFER_^1ENDWRT_!JMP-_#(EXTSR)_^1_(STA*_#WRDNO7_^1_(STQ-_#ATTEMP+4,I_^1_(RTJ+_#SETMOV_^1_(LDA_$NXTSC9_+LDD DISK ADDRESS_^1_(LDQ-_#CURBG1,I_)DISP O€€F BEG OF TARGET BUF_^1_(RTJ-_#(CLCDWA)_^1_(STA*_#DA7+1_^1_(STQ*_#DA7_^1_(LDQ-_#MVBCK,I_^1_(RTJ*_#IOON_-TURN ON I/O BIT_^1_(INQ_$3_^1_(STQ*_#CORAD7_+ADR OF TARGET BUFFER_^1OK7_$RTJ-_#(WRTDWA)_^1CORAD7_!NUM_$0_^1DA7_$NUM_$0,0_^1WRDNO7_!NUM_$0_^1_(NUM_$0_^1_(LDA-_#CURBG1,I_^1_(ADD*_#WRDNO7_^1_(STA-_#CURBG1,I_)FIX DISP OF TARGET BUFFER_^1_(CLR_$A_^1_(STA-_#NEWMVE,I_)FIX WHERE TO MOVE,A€€DR._^1_(LDQ-_#MVBCK,I_^1_(RTJ*_#IOOFF_,TURN OFF I/O BIT_^1_(LDQ-_#ATTEMP+4,I_'RESTORE Q_^1_(JMP-_#(EXTSR)_^1WRTLDD_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(LDQ-_#LDDBCK,I_^1_(RTJ*_#IOON_-TURN ON I/O BIT_^1_(INQ_$3_^1_(STQ*_#COR_^1*_!DAO HAS THE VALUE OF THE LDD DISK ADRESS_^1_(RTJ-_#(WRTDWA)_^1COR_$NUM_$0_^1DAO_$NUM_$0,0_^1WRDNO_"NUM_$512_^1_(NUM_$0_^1_(LDQ-_#LDDBCK,I_^1_(RTJ€€*_#IOOFF_,TURN OFF I/O BIT_^1_(JMP-_#(EXTSR)_^1*_]_^1*_]_^1* NO DOC IS CANDIDATE FOR COMPRESSION_^1*_]_^1*_]_^1LDDEND_!LDA-_#CURDIS,I_)UPDATE CURRENT AVAILABLE_^1_(LDQ-_#LDDBCK,I_)ENTRY IN LDT_^1_(STA-_#3,Q_^1_(RTJ*_#WRTMVE_^1_(RTJ*_#WRTLDD_^1*_]_^1* CURRENT DISP = NEXT AVAILABLE_^1* SQZ DID NOT CHANGE ANYTHING_^1*_]_^1*_]_^1*_]_^1* CLEAR TAPE RECOVERY DISK AREA_^1*_]_^1NOWRT€€_"LDQ-_#LDDBCK,I_^1_(INQ_$3_^1_(STQ-_#SST+STEMP_^1_(ENQ_$4_^1_(STQ*_#WRDNO_^1_(CLR_$A_^1CLEAR_"STA-_#(SST+STEMP),Q_#4 ZEROS TO LDD BUF_^1_(INQ_$-1_^1_(SQM_$1_^1_(JMP*_#CLEAR_^1_(LDA_$=XSITRDA_)T R.A_^1_(CLR_$Q_^1_(RTJ-_#(CLCDWA)_^1_(STA*_#DAO+1_^1_(STQ*_#DAO_^1_(RTJ*_#WRTLDD_^1_(LDQ-_#LDDBCK,I_^1_(RTJ-_#(RELFOR)_^1_(LDQ-_#MVBCK,I_^1_(RTJ-_#(RELFOR)_^1_(ENA_$74_/LDD END SQZ MESSAGE_€ͺ^1_(RTJ+_#PRTMSG_^1_,ENA_$87_/TAPE RECOVERY AREA CLEARED_^1_(RTJ+_#PRTMSG_^1_(RTJ-_#(EXDFUN)_^1_(CLR_$A_^1_(LDQ_$=XFMTSQZ_^1_(RTJ-_#(ENTPRG)_^1_(EQU_$ELDS(*)_^1_(END_^__ ͺPESB CSY/ P€1_%NAM ESB_*DECK-ID K04 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* THIS ROUTINE PROCESSES THE END OF SUB BATCH KEY:_^1*_]_^1*_"IT CHECKS EACH COUNTER FOR NON-ZERO VALUE_^1*_]_^1*_#COUNTERS NOT EQUAL TO ZRTO ARE DISPLAYED, AND IN THIS CAS€€E THE_^1*_]_^1*_"ROUTINE WAITS FOR CONTINUE OR CANCEL_^1*_]_^1*_"IF CANCEL IS RECEIVED THEN BEFORE CHECKING THE NEXT COUNTER,_^1*_]_^1*_"THE CURRENT ONE IS SET TO ZERO_^1*_]_^1_(EXT_$CONCAN,SETDIS,DLINE,CLRFLD,REGEN,GETBUF,UNP_^1_(EXT_$SETMOV_^1_(EQU_$SST($47),STEMP(20)_^1_(EQU_$CMODE(2),FCNT(3),COUNT(36),ATEMP(73),AINT(27)_^1_(EQU_$ERROR($96),CLRSR($93),DISPLY($A0)_^1_(EQU_$LPMASK€€(2),ONEBIT($23)_^1HDR_$VFD_$N5/$18,X11/EESB-*_^1_(NUM_$1,0,0_^1_(ADC_$ESB-HDR_^1*_]_^1ESB_$RTJ_$SETMOV_^1_(LDA-_#CMODE,I_^1_(AND_$=N$3F00_*ONLY PURE ENTRY ALLOWED_^1_(SUB_$=N$300_^1_(SAN_$ERR4_^1_(LDA-_#FCNT,I_^1_(AND-_#LPMASK+8_*AT EOF?_^1_(SAZ_$START_^1ERR4_#ENQ_$$4_0NO - ERROR_^1_(JMP-_#(ERROR)_^1START_"CLR_$Q_1CLEAR COUNTER ERROR FLAG_^1_(STQ-_#ATEMP+1,I_^1BEGIN_"LDA-_#COUNT,B_€€^1_(SAN_$DISPC_-CHECK COUNTER WORDS_^1TESTE_"INQ_$-27_/NON ZERO - GO TO DISPLAY_^1_(SQP_$FIN_/FINISHED_^1_(INQ_$28_^1_(JMP*_#BEGIN_^1FIN_$JMP*_#END_^1DISPC_"QRS_$2_1KEEP COUNTER NO._^1_(STQ-_#ATEMP+1,I_^1_(ENA_$28_^1_(RTJ+_#GETBUF_,GET BUFFER FOR DISPLAY_^1_(ENA_$1_^1_(RTJ-_#(DISPLY)_^1_(ADC_$SETDIS_,SET DISPLAY TO INTERROGATE % CLEAR_^1_(RTJ-_#(DISPLY)_^1_(ADC_$CLRFLD_^1_(LDQ-_#AI€€NT,I_^1_(LDA_$=ACO_.SET UP BUFFER FOR DISPLAY_^1_(STA-_#4,Q_^1_(LDA_$=AUN_^1_(STA-_#5,Q_^1_(LDA_$=ATE_^1_(STA-_#6,Q_^1_(LDA_$=AR_^1_(STA-_#7,Q_^1_(LDA-_#ATEMP+1,I_(GET COUNTER NUMBER_^1_(INA_$1_^1_(ALS_$8_^1_(ADD_$=N$3020_*CONVERT TO ASCII_^1_(STA-_#8,Q_^1_(LDA_$=A=_^1_(STA-_#9,Q_^1_(LDA-_#ATEMP+1,I_^1_(ALS_$2_^1_(STA-_#ATEMP+1,I_^1_(INA_$COUNT_^1_(ADD-_#I_^1_(RTJ+_#UNP_/UNPACK COU€€NTER VALUE_^1_(INQ_$7_^1_(STQ-_#SST+STEMP_)CONVERT TO ASCII_^1_(LDA-_#AINT,I_^1_(INA_$+10+7_^1_(STA-_#SST+STEMP+1_^1_(CLR_$A_^1_(STA-_#ATEMP+2,I_^1_(ENQ_$-7_^1NXTWRD_!LDA-_#(SST+STEMP),Q_$AND TRNASFER TO DISPLAY BUFFER_^1ZEROS_"SUB_$=A00_^1_(SAZ_$TESTF_-SUPPRESSING LEADING ZEROS_^1_(STA-_#ATEMP+2,I_^1STOR1_"ADD*_#ZEROS+1_^1STOR2_"STA-_#(SST+STEMP+1),Q_^1_(SQZ_$EOC_^1_(INQ_$1_^1_(JM€€P*_#NXTWRD_^1TESTF_"LDA-_#ATEMP+2,I_^1_(SAZ_$2_^1_(CLR_$A_^1_(JMP*_#STOR1_^1_(LDA_$=A_^1_(JMP*_#STOR2_^1EOC_$ENA_$28_^1_(ADD-_#ONEBIT+13_^1_(LDQ-_#AINT,I_^1_(INQ_$4_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DLINE_^1_(RTJ+_#CONCAN_,WAIT FOR CANCEL OR CONTINUE_^1_(LDQ-_#ATEMP+1,I_^1_(SAZ_$CONT1_^1_(CLR_$A_^1_(STA-_#COUNT,B_*CLEAR CURRENT COUNTER_^1_(STA-_#COUNT+1,B_^1_(STA-_#COUNT+2,B_^1_(STA-_#CO€6UNT+3,B_^1CONT1_"INQ_$4_^1_(STQ-_#ATEMP+1,I_^1_(INQ_%-1_I05*C1145_^1_(JMP*_#TESTE_^1*_]_^1END_$LDA-_#ATEMP+1,I_^1_(SAZ_$EXIT_.IF COUNTER ERROR HAS BEEN_^1_(RTJ-_#(DISPLY)_^1_(ADC_$REGEN_.DISPLAYED , PERFORM REGEN_^1_(CLR_$A_^1_(RTJ-_#(DISPLY)_^1_(ADC_$SETDIS_^1EXIT_#JMP-_#(CLRSR)_^1_(EQU_$EESB(*)_^1_(END_^__ 6PFMSEL CSY/ P€1_%NAM FMSEL_(DECK-ID K24 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* THIS ROUTINE PROCESSES THE FORMAT SELECT KEY % THE KEYS FOLLOWING_^1*_]_^1* IT PERFORMS THE FOLLOWING OPERATIONS:_^1*_]_^1*_'1. CHECKS THAT FORMAT SELECT IS LEGAL,AND I€€F NOT EXITS TO ERROR_^1*_]_^1*_'2. CALLS GETSTR TO READ IN UP TO 4 CHARACTERS + RELEASE_^1*_]_^1*_*ON RETURN IF CANCEL KEY WAS DEPRESSED,CLEARS UP % EXITS_^1*_'3. CALLS GETBIN TO CONVERT CHARACTERS RECEIVED_^1*_]_^1*_*IF NON-NUMERIC OR FORMAT NUMBER GREATER THAN MAXIMUM SET_^1*_]_^1*_*BY SYSTEM , EXIT TO ERROR_^1*_]_^1*_'4. CALLS GFCORE. ON RETURN IF INACTIVE,RELEASE AND EXIT TO_^1€€*_]_^1*_*ERROR. ELSE DISPLAY FORMAT ,CLEAR DATA LINE WHERE FXXXX_^1*_]_^1*_*APREARED PREVIOUSLY, SET SW1B10 ,AND EXIT VIA EXDFUN_^1*_]_^1*_*AND CLRSR._^1*_]_^1_(EJT_^1*_]_^1_(EQU_$DISPLY($A0),GFCORE($9D),GETSTR($A2),GETBIN($99)_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$CMODE(2),AINT(27),CURCH(2),SW1(19),PFBA(7)_^1_(EQU_$ERROR($96),RELFOR($AD),SST($47)€€,STEMP(20)_^1_(EQU_$FMTNO(13),ATRB(6)_^1_(EXT_$FIRSTF_^1_(EXT_$DFMT_^1_(EQU_$MAXFMT(24),CLRSR($93),FDTP(13)_^1_(EQU_$ERRA4(4),ERRD2($E)_^1_(EXT_$SETMOV,DCHAR,CLRFLD_^1_(EXT_$DFNDTY_^1_(EXT_$DDOC_^1_(EXT_$DBOF_^1HDR_$VFD_$N5/$18,X11/ENDFMS-*_^1_(NUM_$$241_^1_(NUM_$0,0_^1_(ADC_$FMSEL-HDR_^1*_]_^1FMSEL_"RTJ_$SETMOV_,ALLOW PROGRAM TO MOVE_^1_(LDA-_#SW1,I_-BOR BIT MUST BE SET, ELSE_^1_(€€AND-_#ONEBIT+2_^1_(SAN_$2_1ILLEGAL FUNCTION KEY (ERROR A4)_^1ERROR4_!ENQ_$ERRA4_^1_(JMP-_#(ERROR)_^1*_]_^1* BEFORE SETTING UP PSEUDO-INTERROGATE MODE TO ACCEPT FORMAT NO.,_^1*_]_^1* DISPLAY F ON THE SCREEN_^1*_]_^1_(SET_$A_^1_(ENQ_$4_1CLEAR FIELD NO._^1_(RTJ-_#(DISPLY)_^1_(ADC_$CLRFLD_^1_(LDA-_#CURCH,I_^1_(AND-_#NZERO+8_+STORE ASCII F IN CURRENT CHAR_^1_(INA_$$46_^1_(STA-_#CURCH,I_€€+FOR DISPLAY_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DCHAR_^1_(LDA-_#FDTP,I_^1_(AND-_#LPMASK+13_^1_(EOR-_#ONEBIT+15_^1_(STA-_#FDTP,I_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DFNDTY_^1_(ENA_$5_^1_(RTJ-_#(GETSTR)_*ON RETURN FROM INPUT, CHECK THE_^1_(LDQ-_#AINT,I_^1_(LDA-_#2,Q_/COMPLETION CODE_^1_(ARS_$8_^1_(SAN_$1_K06*C1350_^1_(JMP*_#CONT_H06*C1350_^1_(INA_$-2_^1_(SAP_$1_^1_(JMP*_#END1_.CANCEL RECEIVED - EXI€€T_^1ERRORE_!LDQ-_#PFBA,I_^1_(SQZ_$ERORE_^1_(LDQ-_#(ZERO),Q_^1_(JMP*_#RELEA_^1ERORE_"LDA-_#SW1,I_^1_(AND-_#ZROBIT+3_^1_(EOR-_#ONEBIT+3_^1_(STA-_#SW1,I_^1_(LDQ-_#SW1,I_G06*C1350_^1_(QLS_$3_K06*C1350_^1_(SQM_$ER_J06*C1350_^1_(AND-_#ZROBIT+10_C06*C1350_^1_(EOR-_#ONEBIT+10_C06*C1350_^1_(STA-_#SW1,I_G06*C1350_^1_(RTJ-_#(DISPLY)_D06*C1350_^1_(ADC_$DDOC_H06*C1350_^1ER_%ENQ_$ERRD2_G06*C1350€€_^1_(JMP-_#(ERROR)_+RELEASE BUFFER_^1*_]_^1CONT_#STA-_#SST+STEMP_)CONVERT STRING TO BINARY NUMBER_^1_(RTJ-_#(GETBIN)_^1_)SQZ_$2_/ON RETURN Q=0 % A\0 FOR_^1_(SAZ_%1_^1_(SAP_$1_1LEGAL NUMBER_^1_(JMP*_#ERRORE_^1_(STA-_#SST+STEMP_^1*_]_^1_(LDQ-_#SST_^1_(LDA-_#MAXFMT,Q_^1_(SUB-_#SST+STEMP_^1_(SAP_$FMTOK_^1_(JMP*_#ERRORE_,LARGER THAN SYSTEM. MAXIMUM_^1FMTOK_"LDQ-_#SST+STEMP_^1_(ADQ-_$ONE€€BIT+15_B06*C1350_^1_(RTJ-_#(GFCORE)_*GET FORMAT_^1_%LDQ- PFBA,I_L06*C1350_^1_%SAN YES_O06*C1350_^1_%SQZ ER1_O06*C1350_^1_%LDQ- (ZERO),Q_J06*C1350_^1_%JMP* RELEA_M06*C1350_^1YES_"LDQ- (ZERO),Q_J06*C1350_^1_(LDA-_#3,Q_/IF INACTIVE, RELEASE AND_^1_(SAP_$ACTIVE_^1RELEA_"RTJ-_#(RELFOR)_^1_(CLR_$A_^1_(STA-_#PFBA,I_^1_(STA-_#FMTNO,I_^1ER1_$RTJ-_#(DISPLY)_D06*C1350_^1_(ADC_$DFMT_^1_(JMP*€€_#ERORE_^1*_]_^1ACTIVE_!LDA-_#SW1,I_-CLEAR SW1B3('I') AND SET SW1B10(A)_^1_(AND-_#ZROBIT+3_^1_(LDQ-_#SW1,I_^1_(QLS_$3_^1_(SQP_$NOTINS_^1_(LDQ-_#ATRB,I_,IF INSERT,SET FORMAT CHANGE BIT_^1_(STA-_#SW1,I_^1_(LDA-_#3,Q_/IN TRB FOR BORENT TO BUILD_^1_(AND-_#ZROBIT+13_^1_(EOR-_#ONEBIT+13_+HEADER_^1_(STA-_#3,Q_^1_(JMP*_#END1_^1NOTINS_!AND_$=N$7BFF_^1_(EOR_$=N$8400_+AND SW1B15(1ST RECORD IN€ώ FMT)_^1STORE_"STA-_#SW1,I_^1END1_#ENQ_$5_^1_(SET_$A_^1_(RTJ-_#(DISPLY)_*CLEAR FIRST DATA LINE OF DISPLAY_^1_(ADC_$CLRFLD_^1_(RTJ+_#FIRSTF_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DBOF_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DDOC_^1_(JMP-_#(CLRSR)_^1_(EQU_$ENDFMS(*)_^1_(END_^__ ώPFMTADV CSY/ P€1_%NAM FMTADV_'DECK-ID K11 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* ADVANCE TO THE NEXT GROUP IN DOCUMENT_^1* LEGAL ONLY UNDER DOCUMENT AT BEGINNING OF RECORD IN ENTRY MODE_^1HDR_$VFD_$N2/3,N3/0,X11/EFMTAD-*_^1_(VFD_$N10/10,N6/1_^1_(NUM_$0_^€€1_(NUM_$0_^1_(ADC_$FMTADV-HDR_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$SW1(19),CMODE(2),RCNT(4),ELDT(16)_^1_(EQU_$CA4($4)_^1_(EQU_$ERROR($96),EXDFUN($9F),ENTPRG($9E)_^1_%EXT SETMOV_J07*C1465_^1FMTADV RTJ+ SETMOV_M07*C1465_^1_%LDA- SW1,I_N07*C1465_^1_(AND-_#ONEBIT+10_(IF RECORD IS UNDER F.SELECT-EXIT_^1_(SAN_$ERR_.TO ERROR_^1_(LDA-_#CMODE,I_^1_(AND_$€€=N$3F00_^1_(SUB_$=N$300_+IF MODE IS NOT ENTRY-EXIT TO ERROR_^1_(SAN_$ERR_^1_(LDA-_#RCNT,I_+IF NOT AT BEG. OF RCD-EXIT TO ERROR_^1_(SAZ_$FA1_^1*_]_^1ERR_$ENQ_$CA4_.ILLEGAL FUNCTION KEY._^1_(JMP-_#(ERROR)_^1*_]_^1FA1_$RTJ-_#(EXDFUN)_^1_(LDQ-_#ELDT,I_^1_(CLR_$A_^1_(SQM_$FA2_^1_(RAO-_#ELDT,I_+INCREASE DISPLACEMENT IN LDT ENTRY_^1_(RAO-_#ELDT,I_+BY 2_^1_(ENA_$1_0EXECUTE 'REDGRP'_^1FA2_$€RLDQ_$=N$801_+LOAD AND GO 'REDOC'_^1_(RTJ-_#(ENTPRG)_^1_(EQU_$EFMTAD(*)_^1_(END_^__RPFMTBAK CSY/ P€1_%NAM FMTBAK_'DECK-ID K10 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(EXT_$SETMOV_^1* BACK UP TO THE PREVIOUS ENTRY IN THE DOCUMENT_^1* IF IT WAS ALREADY THE FIRST ENTRY EXIT TO ERROR._^1HDR_$VFD_$N2/3,N3/0,X11/EFMTBK-*_^1_(VFD_$N10/10,N6/1_^1€€_(NUM_$0_^1_(NUM_$0_^1_(ADC_$FMTBCK-HDR_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$SST($47),EXTSST(0)_^1_(EQU_$LDDDA(9)_^1_(EQU_$CA4($4),CF1($14)_^1_(EQU_$SW1(19),CMODE(2),RCNT(4),DOCNO(17),ATEMP(73)_^1_(EQU_$ELDT(16)_^1_(EQU_$ERROR($96),CLCDWA($90),REDWA($A9)_^1_(EQU_$EXDFUN($9F),ENTPRG($9E)_^1FMTBCK_!RTJ_$SETMOV_^1_(LDA-_#SW1,I_^1_(AND-_#ONEBIT+10_(I€€F RECORD IS UNDER F.SELECT EXIT TO_^1_(SAN_$ERR_.ERROR_^1_(LDA-_#CMODE,I_^1_(AND_$=N$3F00_^1_(SUB_$=N$300_+IF MODE IS NOT ENTRY EXIT TO ERROR_^1_(SAN_$ERR_^1_(LDA-_#RCNT,I_^1_(SAZ_$FB1_^1*_]_^1ERR_$ENQ_$CA4_.ILLEGAL FUNCTION KEY_^1_(JMP-_#(ERROR)_^1*_]_^1FB1_$LDQ-_#SST+EXTSST_^1_(LDQ-_#LDDDA,Q_^1_(LDA-_#DOCNO,I_^1_(ALS_$8_^1_(AND-_#LPMASK+8_^1_(LLS_$16_^1_(QLS_$1_^1_(RTJ-_#(CLCDWA)€€_^1_(STQ*_#PDWA_^1_(STA*_#PDWA+1_^1_(LDA-_#I_^1_(INA_$ATEMP+1_^1_(STA*_#PCORAD_^1_(RTJ-_#(REDWA)_*READ THE ENTRY IN THE LDD._^1PCORAD_!NUM_$0_^1PDWA_#NUM_$0_^1_(NUM_$0_^1_(NUM_$1_^1_(NUM_$0_^1*_]_^1_(LDQ-_#ATEMP+1,I_^1_(SQN_$FB2_^1_(LDA-_#SW1,I_,MEANWHILE WORKING ON THE DOCUMENT_^1_(AND_$=N$FBF7_*THE SUPERVISOR HAD DELETED IT._^1_(EOR_$=N$0408_^1_(STA-_#SW1,I_^1_(ENQ_$CF1_.DISPLAY €LFORMAT NO IN DOC ERR_^1_(JMP-_#(ERROR)_^1*_]_^1FB2_$LDA-_#ELDT,I_^1_(AND-_#LPMASK+15_^1_(EAQ_$Q_^1_(SQN_$1_0IF IT IS THE FIRST ENTRY IN THE_^1_(JMP*_#ERR_.DOCUMENT -EXIT TO ERROR._^1_(INA_$-2_^1_(STA-_#ELDT,I_^1_(RTJ-_#(EXDFUN)_^1_(ENA_$1_^1_(LDQ_$=N$801_+LOAD AND EXECUTE 'REDGRP'_^1_(RTJ-_#(ENTPRG)_^1_(EQU_$EFMTBK(*)_^1_(END_^__ LPGJB CSY/ P€1_%NAM GJB_*DECK-ID M02 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(EXT_$SETMOV_^1_(EXT_$ABSADD_F06*C1320_^1_(EQU_$EXDFUN($9F),WAIT($B0),EXTSR($92),FUNIDX(21)_^1_(EQU_$ENTSR($91)_^1_(EQU_$STRTRY($AF),WRTDWA($AA),REDDWA($A9)_^1_(EQU_$CAM($AE),CA€€TT(11),CLCDWA($90)_^1_(EQU_$ONEBIT($23)_^1_(EQU_$SST($47),REDSEC($A7),LJDDA(8)_^1_(EQU_$LPMASK($2)_^1_(EQU_$FIVE($43),EXTSST(0)_^1_(EQU_$ATEMP(73),STEMP(20)_^1_(EQU_$NZERO($12),ZERO($22)_^1_(EJT_^1*_]_^1* ENTER,RETREIVE,MODIFY OR DELETE AN ENTRY IN THE LEGAL JOB DIRECTORY_^1*_]_^1*_"CALLING SEQUENCE:_^1*_]_^1* CALLED BY GETLJD, CORE RESIDENT PORTION._^1*_]_^1*_'Q CONTAINS THE IND€€EX TO THE FUNCTION DESIRED_^1*_]_^1*_]_^1* ENTRY FUNCTION_"Q_(REMARKS_^1*_]_^1* ENTER NEW JOB_#0_"5 WD DIR ENTRY FOLLOWS CALL_^1* LOCATE JOB_'1_"3 WD JOB NAME FOLLOWS CALL. LAST 2 WDS EOF DIR_^1*_7ENTRY ARE RETURNED IN WDS 4,5 FOLLOWING CALL_^1* LOCATE JOB_'2_"DIR ENTRY RETURNED IN 5 WDS AFTER CALL_^1* DELETE JOB_'3_^1* MODIFY JOB_'4_"WDS 4,5 OF DIR ENTRY FOLLOW CALL_^1*_]_^1*RETUR€€NED PARAMETERS:_^1*_!IF=Q 1,THE JOB NAME OR INDEX EXISTS; A=JOB INDEX_^1*_]_^1*_!IF Q= 0, THE JOB NAME OR INDEX REQUESTED DOES NOT EXIST(A UNDEF)_^1*_+(IF Q=0 ON ENTRY, THE NEW JOB WILL BE ENTERED)_^1*_]_^1*_!IF Q=-0, THE JOB DOES NOT EXIST AND LJD IS FULL(A IS UNDEFINED)_^1*_]_^1* CORE RES PGM CONTAINS THE FOLLOWING PARAMETERS:_^1*_]_^1*_#TAB_/*_)(ADDRESS OF TAB IS IN ATEMP,I)_^1€€*_#TAB+1_.*_^1*_#TAB+2_/*TAB IS USED TO PASS PARAMS BETWEEN THE_^1*_#TAB+3_.* CALLER AND GJB_^1*_#TAB+4_-*_^1*_#QTEMP_"(TAB+5)_"CONTAINS QIN_^1*_"ATEMP_"(TAB+6)_#CONTAINS JOB INDEX_^1*_#JOB COUNT(TAB+7)_#=NO OF JOBS CURRENTLY IN SYSTEM_^1_(EJT_^1HDR_$VFD_$N5/$18,X11/EGJB-*_^1_(VFD_$N10/1,N6/1_'DELAY 1 SEC_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$GJB-HDR_^1*_]_^1GJB_$RTJ_$SETMOV_+ENABLE PGM €€TO BE MOVED_^1*_]_^1_(LDQ-_#ATEMP,I_*GET ADDR OF CORE RES PARAMETERS_^1_(STQ*_#SEXIT_^1_(INQ_$7_^1_(STQ*_#JCOUNT_+JOB COUNT 8TH WD IN PARAM LIST_^1_(INQ_$-1_^1_(LDA-_#(ZERO),Q_)ATEMP_#7TH WD IN PARAM LIST_^1_(INQ_$-1_^1_(LDQ-_#(ZERO),Q_)QTEMP_#6TH WD IN PARAM LIST_^1*_]_^1***DETERMINE INPUT FUNCTION***_^1*_]_^1_(JMP*_#Q0,Q_^1_(EJT_^1*_]_^1* GET JOB SEARCHES THE LJD FOR AN ENTRY WI€€TH THE SAME ALPHANUMERIC_^1* JOB NAME AS THE ENTERED JOB NAME_^1*_'ON ENTRY, SEXIT = ADDR OF JOB NAME_^1*_'ON EXIT , JDX = INDEX TO LJD IF MATCH WAS FOUND;_^1*_.Q=0:ENTRY NOT FOUND; Q=1:ENTRY FOUND_^1*_.Q=-0:ENTRY NOT FOUND AND TABLE FULL_^1*_]_^1GETJOB_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1RTRY_#ENQ_$99_^1_(RTJ-_#(CAM)_,ALLOCATE SPACE FOR AN INPUT BUFFER_^1_(SAZ_$2_^1_(RTJ€€-_#(WAIT)_^1_(JMP*_#RTRY_^1_(LDA-_#1,Q_^1_(EOR-_#NZERO+15_)SET I/O BIT_^1_(STA-_#1,Q_^1_(INQ_$3_0POINT TO 1ST DATA WORD_^1_(STQ*_#LJDBUF_^1_(ENQ_$LJDDA_^1_(LDA-_#(SST),Q_*GET LJD DISK ADDR_^1_(STA*_#CALL+2_^1_(RTJ*_#SECTOR_+GET 1ST SECTOR OF LJD_^1_(LDA*_#(LJDBUF)_^1_(SAN_$4_0NO JOBS IN THE SYSTEM?_^1_(ENA_$1_0TABLE IS EMPTY_^1_(STA*_#EMPTY_,POINT TO 1ST ENTRY AS 1ST AVAILABLE_^1_(€€CLR_$Q_^1_(JMP-_#(EXTSR)_^1*_]_^1_(STA*_#(JCOUNT)_)SAVE ORIG. JOB COUNT_^1_(TCA_$A_0SET UP JOB COUNT SO THAT OVERFLOW_^1_(ADD-_#LPMASK+15_(OCCURS AFTER CHECKING LAST JOB_^1_(INA_$1_^1_(STA*_#JOBCNT_+JOBCNT=7FF-NO.OF JOBS+1_^1_(CLR_$A_^1_(STA*_#EMPTY_,EMPTY WILL EQUAL INDEX OF 1ST_^1_(LDA*_#SEXIT_^1_(INA_$2_^1_(STA*_#NAMPTR_^1_(ENA_$1_^1_(STA*_#JDX_.JDX IS THE CURRENT JOB INDEX_^1_(€€ENA_$7_0I POINTS TO ENTRY AFTER HEADER_^1_(STA-_#I_^1LOOP1_"ENQ_$-2_^1LOOP_#LDA*_#(LJDBUF),B_'GET A WD OF NAME IN TABLE_^1_(SAN_$NOTZER_^1_(LDA*_#EMPTY_,IF ZERO,AND IS 1ST ZERO FOUND,_^1_(SAN_$NOTFST_^1_(LDA*_#JDX_.SAVE JDX IN EMPTY._^1_(STA*_#EMPTY_^1NOTFST_!JMP*_#ZER_.IF ZERO, EXIT_^1NOTZER_!EOR*_#(NAMPTR),Q_'COMPARE WITH INPUT WORD_^1_(SAN_$REJECT_+NO MATCH_^1_(SQZ_$PASS_^1_(INQ€€_$1_0INCREMENT Q_^1_(JMP*_#LOOP_-GO CHECK NEXT WORD_^1PASS_#ENQ_$1_0MATCH FOUND_^1_(LDA-_#I_^1_(INA_$-2_/ADJ FOR I= BEG OF ENTRY+2_^1_(ADD*_#LJDBUF_^1_(STA*_#PTSAVE_+SAVE WD PTR TO LOCATED ENTRY_^1FIXI_#LDA-_#SST+CATT_^1_(STA-_#I_^1_(JMP-_#(EXTSR)_^1REJECT_!SOV_$0_0NOT A MATCH_^1_(RAO*_#JOBCNT_^1_(SOV_$LAST_-LAST JOB CHECKED?_^1ZER_$RAO*_#JDX_.NO_^1_(LDA-_#I_^1_(INA_$-90_.INCREMENT€€ I BY +5-95 (=-90)_^1_(SAP_$2_^1_(INA_$95_^1_(JMP*_#CONT_-NOT THROUGH W/CURRENT SECTOR_^1_(LDA-_#SST+CATT_)NEED NEXT SECTOR_^1_(STA-_#I_^1_(RAO*_#CALL+2_^1_(RTJ*_#SECTOR_+READ NEXT SECTOR_^1_(ENA_$2_^1CONT_#STA-_#I_0RE-INITIALIZE AND CHECK NEXT ENTRY_^1_(JMP*_#LOOP1_^1LAST_#CLR_$Q_0YES-THE INPUT NAME IS NOT_^1_(LDA*_#EMPTY_0IN THE TABLE_^1_(SAN_$6_^1_(LDA*_#JDX_.NO EMPTY ENTRIES FO€€UND_^1_(INA_$1_^1_(STA*_#EMPTY_,POINT TO NEXT LOC AS EMPTY_^1_(SUB-_#ONEBIT+8_)SUBTRACT 256(MAX. TABLE LENGTH)_^1_(SAN_$1_^1_(SET_$Q_0TABLE IS FULL_^1_(JMP*_#FIXI_-RESTORE I AND EXIT_^1*_]_^1SECTOR_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1CALL_#RTJ-_#(REDSEC)_)READ THE REQUESTED SECTOR_^1LJDBUF_!NUM_$0_0ADDR OF INPUT BUFFER_^1_(NUM_$0_0SECTOR NO.-SET BY CALLER_^1_(NUM_$1_^1_(NU€€M_$0_0SYS LOGICAL UNIT_^1_(JMP-_#(EXTSR)_^1*_]_^1_(EJT_^1JOBCNT_!NUM_$0_^1EMPTY_"NUM_$0_^1JCOUNT_!NUM_$0_^1PTSAVE_!NUM_$0_^1JDX_$NUM_$0_^1SEXIT_"NUM_$0_^1NAMPTR_!NUM_$0_^1_(EJT_^1Q0_%JMP*_#NEWJOB_^1Q1_%JMP*_#RDNAME_^1Q2_%JMP*_#RDIDX_^1Q3_%JMP*_#DELETE_^1Q4_%JMP*_#MODIFY_^1*_]_^1*_]_^1***CREATE A NEW JOB ENTRY***_^1*_]_^1NEWJOB_!RTJ*_#GETJOB_+CHECK IF THE NAME IS IN THE LJD_^1_(SQZ_€€$1_^1_(JMP*_#EXIT_-THE NAME EXISTS OR THE TABLE IS FULL_^1NEW1_#LDA*_#SEXIT_,MOVE ADDR OF PARAM LIST_^1_(STA*_#TEMP_8TO WRITE ROUTINE PARAM_^1_(ENQ_$5_^1_(STQ*_#NOWDW_,SET WD COUNT_^1_(LDA*_#EMPTY_^1_(RTJ*_#ADDR_-CALL DISK WORD ADDRESS_^1_(RTJ*_#DWRITE_+WRITE THE NEW ENTRY TO DISK_^1_(RAO*_#(JCOUNT)_^1WJBNO_"LDA*_#JCOUNT_+LOAD ADDR OF JOB COUNT_^1_(STA*_#TEMP_^1_(ENQ_$1_^1_(STQ*_#N€€OWDW_,SET WD COUNT TO 1_^1_(CLR_$A_0SET A TO 0_^1_(RTJ*_#ADDR_-CALC START ADDR OF TABLE_^1_(RTJ*_#DWRITE_+WRITE NEW JOB COUNT TO LJD_^1_(CLR_$Q_^1_(JMP*_#EXIT_^1*_]_^1***READ A JOB ENTRY ACCORDING TO NAME***_^1*_]_^1RDNAME_!RTJ_$GETJOB_+LOCATE JOB ENTRY_^1_(INQ_$-1_^1_(SQZ_$2_^1_(INQ_$1_0EXIT IF THE ENTRY DOES NOT EXIST_^1_(JMP*_#EXIT_^1_(ENQ_$3_0XFER_^1_(LDA*_#(PTSAVE),Q_+2 WDS_^1€€_(STA*_#(SEXIT),Q_1FROM_^1_(INQ_$1_0-18_^1_(JMP*_#ERR77_^1UNBM_#LDA-_#MTFBUF,I_2BLOCKING MODE MUST BE_^1_(AND-_#NZERO+14_)U OR C_407*C1399_^1_(SAZ_$CKCOM_G07*C1399_^1_(JMP*_#ERR77_G07*C1399_^1BLUPL_"INA_$18_^1_(ADD_$=N-4001_*MAX NUMBER OF CHARACTERS_^1_(SAP_$JMPE_7IN BLOCK_^1STBL_#LDA-_#BLKLNG,I_,VARIES FROM €€18-4000_^1_(ALS_$15_^1_(SAP_$1_^1JMPE_#JMP*_#ERR77_^1_(STA-_#MTFBUF+1,I_^1CKCOM_"SQZ_$RECLN_^1_(SQP_$JERR1_^1_(LDA-_#MTFBUF,I_^1_(AND-_#NZERO+14_^1_(EOR-_#NZERO+14_^1_(SAN_$1_^1JERR1_"JMP*_#ERR08_^1_(JMP*_#END_^1*_]_^1*_-GET RECORD LENGTH_^1*_]_^1RECLN_"RTJ-_#(GETBIN)_^1_(SAP_$2_^1_(JMP_$ERR38_^1_(SAN_$REC1_^1_(LDA-_#MTFBUF,I_^1_(AND-_#NZERO+14_)RECORD LENGTH APPEARS ONLY_^1_(EOR-_€€#NZERO+14_)FOR FIXED BLOCKING_^1_(SAN_$1_^1_(JMP*_#ERR10_^1_(SQP_$1_^1_(JMP*_#END_^1_(JMP*_#PAD_^1REC1_#STQ-_#TEMP2,I_^1_(STA-_#SST+STEMP1_^1_(ADD-_#MTFBUF+2,I_^1_(STA-_#MTFBUF+2,I_^1_(LDA-_#MTFBUF,I_^1_(AND-_#NZERO+14_)RECORD LENGTH IS A LEGAL PARAMETER_^1_(EOR-_#NZERO+14_)ONLY IF BLOCKING MODE IS-FIXED_^1_(SAN_$ERR10_^1_(LDA-_#BLKLNG,I_)GET BLOCK LENGTH_^1_(CLR_$Q_^1_(DVI-_#SST+S€€TEMP1_'BLOCK LENGTH HAS TO BE_^1_(SQZ_$2_:MULTIPLICATION OF RECORD_^1ERR10_"ENA_$10_^1_(JMP-_#(REJSUP)_)INVALID RECORD LENGTH_^1_(LDQ-_#TEMP2,I_^1_(SQZ_$PAD_^1_(LDA-_#SST+STEMP1_'RECORD LENGTH HAS TO BE_^1_(INA_$-18_.EQUAL OR GREATER THAN 18_^1_(SAM_$ERR08_3WHEN NO PADDING IS REQUIRED_^1END_$ENQ_$1_^1_(RTJ*_#SUBR_^1_(JMP-_#(SV)_^1ERR08_"ENA_$8_0INCOMPLETE COMMAND_^1_(JMP-_#(REJSUP)€€_^1*_]_^1*_-GET PADDING CHARACTER_^1*_]_^1PAD_$RTJ_$ASCSUB_^1_(SAZ_$2_^1ERR79_"ENA_$79_/ILLEGAL PADDING CHARACTER_^1_(JMP-_#(REJSUP)_^1_(LDA-_#MTFBUF,I_^1_(AND-_#ONEBIT+7_^1_(SAN_$PAD1_^1_(LDA-_#MTFBUF,I_^1_(AND-_#NZERO+14_^1_(EOR-_#NZERO+14_^1_(SAN_$NEX_^1_(LDA-_#MTFBUF+2,I_^1_(AND-_#LPMASK+12_^1_(INA_$-18_^1_(SAP_$1_^1_(JMP*_#ERR79_^1NEX_$JMP*_#NEXT_^1PAD1_#LDA-_#MTFBUF,I_^1_(AND€€-_#ONEBIT+8_^1_(SAN_$BINPAD_^1ASCPAD_!RTJ-_#(GETALP)_^1_(SQP_$1_^1_(JMP*_#ERR79_^1_(SQN_$1_^1_(ENA_$$2C_^1_(STA-_#CHAR,I_^1_(JMP*_#SET_^1BINPAD_!LDA-_#MTFBUF+2,I_^1_(ALS_$1_^1_(CLR_$Q_^1_(LLS_$3_^1_(INQ_$-1_^1_(SQN_$2_^1_(JMP_$ERR81_^1_(CLR_$A_^1_(STA-_#FLAG,I_^1_(STA-_#CHAR,I_^1LOOP_#RTJ-_#(GETALP)_^1_(SQM_$ERR_^1_(SQZ_$ERR_^1_(INA_$-$30_^1_(SAM_$ERR_^1_(INA_$-$3A+$30_^1_(SAM_$SAV€€E_^1_(INA_$-$41+$3A_^1_(SAM_$ERR_^1_(INA_$-$47+$41_^1_(SAM_$1_^1ERR_$JMP*_#ERR79_^1_(INA_$$47-$41_^1SAVE_#INA_$10_^1_(LDQ-_#CHAR,I_^1_(QLS_$4_^1_(AAQ_$A_^1_(STA-_#CHAR,I_^1_(RAO-_#FLAG,I_^1_(LDA-_#FLAG,I_^1_(INA_$-2_^1_(SAZ_$SET_^1_(JMP*_#LOOP_^1SET_$LDA-_#MTFBUF,I_^1_(AND-_#NZERO+8_^1_(EOR-_#CHAR,I_^1_(STA-_#MTFBUF,I_^1NEXT_#RTJ_$COMEOR_^1_(SQZ_$MTFOC_^1_(JMP*_#ERR79_^1*_]_^1*_-GE€€T MAGNATIC TAPE OWN CODE_^1*_]_^1MTFOC_"RTJ-_#(GETBIN)_^1_(SAP_$2_^1_(JMP_$ERR38_,INVALID CHARACTER_^1_(INA_$-32_.NUMBER FROM O TO 31 ,IDENTIFIES THE_^1_(SAM_$2_0MTF OWN CODE_^1ERR01_"ENA_$1_^1_(JMP-_#(REJSUP)_)INVALID OWN CODE NUMBER_^1_(INA_$+32_^1_(AND-_#LPMASK+5_^1_(ALS_$9_^1_(EOR-_#MTFBUF,I_^1_(STA-_#MTFBUF,I_^1_(SQZ_$FILAB_,IS COMMA FOLLOWING_^1_(JMP*_#END_^1*_]_^1*_-GET FILE€€ LABEL NUMBER_^1*_]_^1FILAB_"RTJ-_#(GETBIN)_^1_(SAP_$2_^1_(JMP_$ERR38_^1_(INA_$-32_^1_(SAM_$2_^1ERR26_"ENA_$26_/INVALID FILE LABEL NUMBER_^1_(JMP-_#(REJSUP)_^1_(INA_$+32_^1_(ALS_$11_^1_(ADD-_#MTFBUF+1,I_^1_(STA-_#MTFBUF+1,I_^1_(SQZ_$LABOP_^1_(JMP*_#END_^1*_]_^1*_-GET LABEL PARAMETERS OPTION_^1*_]_^1LABOP_"RTJ*_#ASCSUB_^1_(SAN_$ERR80_^1_(RTJ*_#COMEOR_^1_(SQN_$ERR80_^1*_]_^1*_-GET BA€€TCH GROUPING FACTOR_^1*_]_^1BGRF_#RTJ-_#(GETBIN)_^1_(SAP_$1_^1_(JMP*_#ERR38_^1K1000_"SUB_$=N1000_+UPPER LIMIT 999_^1_(SAM_$2_^1ERR80_"ENA_$80_/INVALID LABELING PARAMETER_^1_(JMP-_#(REJSUP)_^1_(ADD*_#K1000+1_^1_(ADD-_#MTFBUF+3,I_^1_(STA-_#MTFBUF+3,I_^1_(SQM_$2_^1ERR32_"ENA_$32_^1_(JMP-_#(REJSUP)_)TOO MANY PARAMETERS_^1_(JMP*_#END_^1*_]_^1* SUBR TO READ/WRITE 5 WORDS ON DISK_^1*_]_^€€1*_-Q=0 INDICATES 'READ'_^1*_-Q=1 INDICATES 'WRITE'_^1*_]_^1*_]_^1SUBR_#NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(LDA*_#CNST,Q_^1_(STA*_#RW_^1_(LDQ-_#SST+EXTSST_^1_(LDA-_#MTFADD,Q_^1_(LDQ-_#MTFN,I_^1_(QLS_$2_^1_(ADQ-_#MTFN,I_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#DA_^1_(STA*_#DA+1_^1_(RTJ+_#SETMOV_^1_(LDA-_#I_^1_(INA_$MTFBUF_^1_(STA*_#CORADR_^1RW_%RTJ-_#(WRTDWA)_^1CORADR_!NUM_$0_^1DA_%NUM_$0_^1_(NUM_$0_^€€1_(NUM_$5_^1LU_%NUM_$0_^1_(JMP-_#(EXTSR)_^1CNST_#RTJ-_#(REDDWA)_^1_(RTJ-_#(WRTDWA)_^1*_]_^1* ASCSUB , CHECKS THE ENTERED PARAMETER_^1*_*IF OK ,STORES PARAMETER IN MTFBUF,_^1*_*ACCORDING TO THE CONTROL WORD TABLE-SYMTAB_^1*_]_^1ASCSUB_!NUM_$0_^1_(RTJ-_#(GETALP)_^1_(SQP_$GETPA_^1_(JMP*_#ERR38_^1GETPA_"STA-_#SST+STEMP1_^1_(ENA_$1_^1_(STA-_#SST+STEMP2_'SET FLAG FOR ANY FILL OF'MTF' BU€€FFER_^1BACK_#LDQ-_#COUNT,I_^1_(LDA*_#SYMTAB,Q_^1_(STA-_#SST+STEMP3_^1_(AND-_#LPMASK+7_^1_(SUB-_#SST+STEMP1_'IS THE CHARACTER IN TAB ]_^1_(SAN_$SERON_,NO SEARCHING ON._^1*_"FILL 'MTF' BUFFER_^1_(CLR_$Q_^1_(STQ-_#SST+STEMP2_^1_(LDA-_#SST+STEMP3_^1_(ALS_$4_^1_(LLS_$4_0Q=BIT NO_^1_(ARS_$4_0A=WORD NO. IN BUFFER_^1_(AND-_#LPMASK+3_^1_(STA-_#WORD,I_^1_(LDA-_#ONEBIT,Q_^1_(LDQ-_#WORD,I_^1_(€€EOR-_#MTFBUF,B_^1_(STA-_#MTFBUF,B_^1SERON_"LDQ-_#COUNT,I_^1_(LDA*_#SYMTAB,Q_^1_(RAO-_#COUNT,I_^1_(SAP_$ON_^1_(LDA-_#SST+STEMP2_^1_(JMP*_#(ASCSUB)_^1ON_%JMP*_#BACK_^1_(EJT_^1*_]_^1*_'SYMTAB_^1*_-CONTROL WORD TABLE FOR PARAMETERS_^1*_-IN THE 'EMT' COMMAND_^1*_]_^1*_-STATUS_^1*_]_^1SYMTAB_!VFD_$N1/0,N3/5,N4/15,A8/N_%NEW_^1_(VFD_$N1/1,N3/5,N4/14,A8/R_%REPLACE_^1*_]_^1*_-RECORDING MODE_€€^1*_]_^1_(VFD_$N1/0,N3/5,N4/14,A8/F_%FIXED_^1_(VFD_$N1/1,N3/2,N4/15,A8/V_%VARIABLE_^1*_]_^1*_-RECORDING CODE_^1*_]_^1_(VFD_$N1/0,N3/5,N4/14,A8/_'SPACE DEFAULT_^1_(VFD_$N1/0,N3/2,N4/12,A8/A_%ASCII_^1_(VFD_$N1/0,N3/2,N4/13,A8/A_%ASCII_^1_(VFD_$N1/0,N3/2,N4/12,A8/B_%BCD_^1_(VFD_$N1/0,N3/2,N4/13,A8/E_%EBCDIC_^1_(VFD_$N1/0,N3/2,N4/14,A8/1_%USER CODE1_^1_(VFD_$N1/0,N3/2,N4/14,A8/2_%USER €€CODE2_^1_(VFD_$N1/0,N3/2,N4/12,A8/2_%USER CODE2_^1_(VFD_$N1/0,N3/2,N4/14,A8/3_%USER CODE3_^1_(VFD_$N1/0,N3/2,N4/13,A8/3_%USER CODE3_^1_(VFD_$N1/0,N3/2,N4/14,A8/4_%USER CODE4_^1_(VFD_$N1/0,N3/2,N4/13,A8/4_%USER CODE4_^1_(VFD_$N1/1,N3/2,N4/12,A8/4_%USER CODE4_^1*_]_^1*_-OVERPUNCHING_^1*_]_^1_(VFD_$N1/0,N3/5,N4/14,A8/N_%NO_^1_(VFD_$N1/0,N3/3,N4/13,A8/Y_%YES_^1_(VFD_$N1/1,N3/3,N4/14,A8€€/-_%NEGATIVE_^1*_]_^1*_-BLOCKING MODE_^1*_]_^1_(VFD_$N1/0,N3/5,N4/14,A8/U_%UNBLOCKED_^1_(VFD_$N1/0,N3/4,N4/15,A8/C_%COMMUNICATION_#07*C1399_^1_(VFD_$N1/0,N3/0,N4/14,A8/F_%FIXED_^1_(VFD_$N1/0,N3/0,N4/15,A8/F_%FIXED_^1_(VFD_$N1/0,N3/0,N4/15,A8/D_%VARIABLE WITH DECIMAL 'LL'_^1_(VFD_$N1/1,N3/0,N4/14,A8/V_%VARIABLE WITH BINARY 'LL'_^1*_]_^1*_-PADDING CHARACTER_^1*_]_^1_(VFD_$N1/0,N3/0,N€€4/7,A8/A_'ASCII PADDING_^1_(VFD_$N1/0,N3/0,N4/7,A8/B_'BINARY PADDING_^1_(VFD_$N1/0,N3/0,N4/8,A8/B_%BINARY PADDING_^1_(VFD_$N1/1,N3/5,N4/14,A8/N_%NONE_^1*_]_^1*_-LABEL PARAMETER OPTION_^1*_]_^1_(VFD_$N1/0,N3/5,N4/14,A8/S_%STANDARD_^1_(VFD_$N1/1,N3/3,N4/12,A8/P_%PARAMETERS_^1*_]_^1COMEOR_!NUM_$0_^1_(RTJ-_#(GETALP)_)CHECK IF COMMA_^1_(SQZ_$ASCERR_+COMMA_^1ALPHA_"SAP_$1_K01*C1001_^1_(J€0MP*_#ERR38_G01*C1001_^1_(SQM_$EOR_^1_(INA_$-$20_^1_(SAN_$ASCERR_^1_(RTJ-_#(GETCOM)_^1_(SQM_$EOR_.NON ASCII CHARACTER_^1_(ENQ_$1_^1ASCERR_!JMP*_#(COMEOR)_^1EOR_$ENQ_$1_K07*C1399_^1_(RTJ*_#SUBR_^1_(JMP-_#(SV)_^1*_]_^1*_-ERROR MESSAGES_^1*_]_^1ERR38_"ENA_$38_^1_(JMP-_#(REJSUP)_^1_(EQU_$EEMT(*)_^1_,END_^__ 0PFMTLNK CSY/ Pz1_%NAM FMTLNK_'DECK-ID D02 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* FORMAT LINK TABLE_^1*_]_^1*_]_^1FMTLNK_!NUM_$0_0AVAILABLE SECTORS ON CURR TRK_^1_(NUM_$1_0CURRENT SLOT_^1*_]_^1_(BZS_$(1536)_+ASSIGNED TRACKS TABLES._^1_(END_^__zPFRZ CSY/ P€1_%NAM FRZ_*DECK-ID S10 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* SUPERVISOR COMMAND TO FREEZE BATCHES_^1* COMMAND TO ENTER:_^1*_(FRZ,FF,LL (OR FRZ,FF WHEN ONLY ONE TER IS TO BE FROZEN)_^1* WHERE:_]_^1*_'FF-FIRST TERMINAL NO TO FREEZE ITS €€BATCH_^1*_'LL-LAST TERMINAL NO TO FREEZE IT BATCH._^1* IF THE TERMINAL IS IN IDLE OR IN SUPERVISORY STATION_^1* NO CHANGE IS MADE FOR THE TERMINAL_^1* IF THE TERMINAL IS READING CHARACTERS THROUGH INTERROGATE_^1* THE READ IS CANCELED._^1* IF THE TERMINAL IS ENT/SEV,THE VER/SEV CONNECTED TO IT IS_!08*C1500_^1*_INTERROGATE B€€UFFER_^1*_]_^1*_]_^1*_]_^1_(ENQ_$FW_/FWRITE , MESSAGE_^1_(RTJ-_#(SUPRW)_^1_(ADC_$0_0FROM INTERROGATE BUFFER_^1WRDNO_"NUM_$0_^1*_]_^1*_]_^1*_]_^1*_]_^1*_!READ_"ANSWER._#(CU OR TR)_^1*_]_^1_(LDQ-_#USRTMP,I_)QUESTION'S LENGTH_^1_(ENA_$2_^1_(RTJ+_#CONVRS_^1*_]_^1*_]_^1_(RTJ-_#(RTNSR)_^1_(JMP-_#2,Q_^1*_]_^1MSG1_#ALF_$*,MOUNT NEW TAPE.TYPE CU/TR TO CONTINUE/TERMINATE.*_^1_(EQU_$EMSG€(1(*)_^1_(EQU_$ELBL0(*)_^1*_]_^1_(END_^__(PLBL1 CSY/ P€1_%NAM LBL1_)DECK-ID E02 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* EXTERNALS_^1*_]_^1_(EXT_$SETMOV_^1_(EXT_$MOVREC_^1_(EXT_$BD,PRTMSG_^1_(EXT_$AYERTO_+EXTERNAL OF MSOS 4.1. YEAR IN ASCII_^1*_]_^1_(EXT_$CONVRS_+CONVERSATION ROUTINE_^1* €€ SYSTEM EQUATES_^1*_]_^1_(EQU_$SST($47)_^1_(EQU_$STEMP(20)_^1_(EQU_$TEN($46)_^1_(EQU_$ZERO($22),LPMASK(2),NZERO($12),ONEBIT($23),ZROBIT($33)_^1_(EQU_$FW(3),FR(2)_%FORMAT WRITE/READ FOR DIALOG._^1_(EQU_$MO(4)_,MOTION_^1_(EQU_$CFW(19)_*CODED FWRITE FOR WRITING LABELS_^1*_]_^1* TRANSFER VECTOR EQUATES_^1*_]_^1_(EQU_$ENTPRG($9E)_^1_(EQU_$EXDFUN($9F)_^1_(EQU_$RTNSR($98),ENTSR($91€€),EXTSR($92)_^1_(EQU_$GETALP($9B),GETCOM($9C),GETBIN($99)_^1_(EQU_$SUPRW($97)_^1_(EQU_$TAPIO($9A)_^1*_]_^1*_!ATT EQUATES_^1*_]_^1_(EQU_$IRB(27)_*POINTER TO INTERROGATE BUFFER_^1*_]_^1_(EQU_$SVCA(36)_^1_(EQU_$BCOUNT(SVCA+5)_(BLOCK POSITION ON TAPE_^1_(EQU_$MTCA(SVCA+10)_^1_(EQU_$SUPINP(36)_'SUPERVISOR INPUT UNIT_^1_(EQU_$TRMNT(23)_(TERMINATION_^1*_]_^1* MTCA EQUATES_^1*_]_^1_(EQU€€_$MTFENT(0+MTCA)_^1_(EQU_$MTFEXT(1+MTCA)_^1_(EQU_$EODADR(2+MTCA)_^1_(EQU_$MTF(3+MTCA)_%MAG TAPE FORMAT (5 WORDS)_^1_(EQU_$SCRCH(12+MTCA)_"2 WORDS_^1*_!IF DEFAULT,WHERE LABEL WAS ENTERED_^1_(EQU_$DEF(SCRCH),ENTPT(SCRCH+1)_^1_(EQU_$USRTMP(MTCA+14)_!4 WORDS_^1*_]_^1* EOD1 EQUATES_^1*_]_^1_(EQU_$TOTBLK(2)_^1_(EQU_$FN(4)_^1_(EQU_$FBLK(9)_^1_(EQU_$USRA(16)_^1*_]_^1*_]_^1*_]_^1*_]_^1*€€_]_^1*_*L A B E L_!1_^1*_]_^1*_]_^1HDR_$VFD_$N2/3,N3/0,X11/ELBL1-*_^1_(NUM_$1,0,0_^1_(ADC_$VOLHDR-HDR_^1_(ADC_$FILHDR-HDR_^1_(ADC_$FILTRL-HDR_^1_(ADC_$VOLTRL-HDR_^1*_]_^1*_]_^1*_$VOL_!HDR_!EQUATES_^1*_]_^1*_]_^1_(EQU_$VS(2)_,VOLUME SERIAL NO_^1*_]_^1_(EQU_$ACS(5)_+ACCESSABILITY_^1*_]_^1_(EQU_$OID(18)_*OWNER IDENTIFICATION_^1*_]_^1_(EQU_$USRVS(0+USRA)_#VOL SER IN USERS AREA IN E€€OD1_^1*_]_^1_(EQU_$USRACS(3+USRA)_"ACCESSABILITY IN USERS AREA_^1*_]_^1_(EQU_$FILSEC(USRA+22)_!FILE SECTION NO_^1VOLHDR_!RTJ+_#SETMOV_^1_(CLR_$A_^1_(LDQ-_$EODADR,I_^1_(STA-_$FILSEC+3,Q_%FILE SECTION NO._^1_(STA-_#ENTPT,I_*ENTRED VOL HDR_^1*_]_^1* ENTRY POINT FROM OTHER PARTS_^1*_]_^1*_]_^1VOL2_#LDQ-_#EODADR,I_)IF ENTERED FROM EOV._^1_(RAO-_#FILSEC+3,Q_^1*_]_^1_(ENQ_$MO_/REWI€€ND THE TAPE_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$3000_^1*_]_^1_(SQP_$2_^1_(JMP_$OUTERR_+I/O ERROR_^1_(LDQ-_#MTF+3,I_*CHECK IF STANDARD PARAMETERS_^1_(QLS_$3_^1_(SQM_$1_0NOT STANDARD PARAMETERS_^1_(JMP*_#STAN_-STANDARD PARAMETERS_^1*_]_^1*_]_^1*_$WRITE MESSAGE_$VOL. HDR 1_^1*_]_^1_(RTJ*_#ASK_^1_(ADC_$MSGVH-*_^1_(ADC_$EMSGVH-MSGVH_^1_(ADC_$0_0WAIT FOR NO ANSWER_^1*_]_^1*_]_^1REVOL_"RTJ*_#€€ASK_^1_(ADC_$MSGVS-*_*SERIAL NO._^1_(ADC_$EMSGVS-MSGVS_^1_(NUM_$1_0WAIT FOR ANSWER_^1*_]_^1_(ENA_$USRVS_,ADDRESS IN THE USERS AREA IN EOD1_^1_(ENQ_$6_0NUMBER OF CHARACTERS TO MOVE_^1_(RTJ_$ALPCHK_+CHECK ANSWER IF OK TRANSFERR._^1_(SAP_$1_0A<0, ERROR_^1_(JMP*_#REVOL_^1*_]_^1* Q=0_'STANDARD_!FOR THIS PARAMETER_^1* Q\0_'NOT_!STANDARD_^1* Q<0_'STANDARD FOR ALL FROM NOW ON_^€€1*_]_^1_(SQP_$1_0NOT STANDARD_^1_(JMP*_#STAN_^1*_]_^1*_]_^1ACS1_#RTJ*_#ASK_^1_(ADC_$MSGAC-*_*ACCESSABILITY_^1_(ADC_$EMSGAC-MSGAC_^1_(NUM_$1_0WAIT FOR ANSWER_^1*_]_^1*_]_^1_(ENQ_$1_01 CHARACTER_^1_(ENA_$USRACS_+SAVE IN USERS AREA IN EOD1_^1_(RTJ*_#ALPCHK_^1_(SAP_$1_^1_(JMP*_#ACS1_^1_(SQP_$REOID_^1_(JMP*_#STAN_^1*_]_^1REOID_"RTJ*_#ASK_^1_(ADC_$MSGID-*_*OWNER ID=_^1_(ADC_$EMSGID-MS€€GID_^1_(NUM_$1_0WAIT FOR ANSWER_^1*_]_^1*_]_^1_(ENQ_$14_/14 CHARACTERS_^1_(CLR_$A_0DONT MOVE_^1_(RTJ*_#ALPCHK_^1*_]_^1_(SAP_$1_^1_(JMP*_#REOID_^1_(SQZ_$STAN_^1_(SQM_$STAN_^1_(ENA_$4+7_.AFTER OWNER ID IN BEG OF INT_^1_(ENQ_$31_/TO END OF BUFFER_^1_(RTJ*_#BLANKS_+PUT BLANKS_^1_(CLR_$A_0FROM INTERROGATE BUFFER_^1_(LDQ-_#IRB,I_,MOVE_^1_(INQ_$OID+4_4TO OWNER ID_^1_(RTJ_$MOVE_?WITH SH€€IFT_^1_(NUM_$-14_^1*_]_^1_(LDQ-_#IRB,I_^1_(LDA*_#TWOBLK+1_)BLANKS BEGINNING OF BUFFER_^1_(STA-_#ACS+4,Q_^1_(STA-_#ACS+5,Q_^1_(JMP*_#OTH_^1*_]_^1*_'STANDARD PARAMETERS IF ANY PARAMETER IS SPECIFIED IN_^1*_!USER AREA IN EOD1 IT IS TAKEN FROM THERE_^1*_]_^1STAN_#ENA_$4_^1_(ENQ_$38_^1_(RTJ*_#BLANKS_^1*_]_^1OTH_$LDQ-_#IRB,I_,LABEL STANDARD LEVEL IS 1_^1_(LDA_$=A 1_^1_(STA-_#39+4€€,Q_^1_(LDA_$=AVO_-HDR_#VOL1_^1_(STA-_#4,Q_^1_(LDA_$=AL1_^1_(STA-_#5,Q_^1_(LDQ-_#EODADR,I_^1_(LDA-_#USRVS+3,Q_(USR VOL SER_^1_(SAZ_$DVS_^1_(INQ_$USRVS+3_^1_(TRQ_$A_0FROM_^1_(LDQ-_#IRB,I_^1_(INQ_$VS+4_-TO_^1_(RTJ_$MOVE_-MOVE_^1_(NUM_$6_66 CHAR, NO SHIFTS_^1_(JMP*_#IFACS_^1DVS_$LDA_$=A99_-DEFAULT VOL SER_^1_(STA-_#USRVS+3,Q_^1_(STA-_#USRVS+4,Q_^1_(STA-_#USRVS+5,Q_^1_(LDQ-_#IRB,I_^1€€_(STA-_#VS+4,Q_^1_(STA-_#VS+5,Q_^1_(STA-_#VS+6,Q_^1*_]_^1IFACS_"LDQ-_#EODADR,I_^1_(LDA-_#USRACS+3,Q_'IN USER,A._^1_(AND-_#NZERO+8_^1_(SAZ_$DACS_^1_(INA_$$20_.BLANK_^1_(LDQ-_#IRB,I_^1_(STA-_#4+ACS,Q_*FIELD IN LABEL FOR ACS_^1*_]_^1DACS_#RTJ_$WRTLBL_+******WRITE VOL HDR LABEL******_^1_(JMP*_#FILCON_+CONTINUE WITH FILE HDR_^1_(EJT_^1*_]_^1*_!BLANKS SUBROUTINE_^1*_!A= RELATIVE ADR€€ESS IN IRB._^1*_!Q=_!NO OF WORDS TO BE BLANKED-1._^1*_]_^1BLANKS_!NUM_$0_^1_(ADD-_#IRB,I_^1_(STA-_#SST+STEMP_^1TWOBLK_!LDA_$=A_^1BLK1_#STA-_#(SST+STEMP),Q_^1_(INQ_$-1_^1_(SQM_$1_^1_(JMP*_#BLK1_^1_(JMP*_#(BLANKS)_^1*_]_^1*_]_^1*_]_^1*_!CALLING_!STRING FOR ASK ROUTINE IS:_^1*_]_^1*_.RTJ ASK_^1*_.BUFADR_^1*_.NUM X_^1*_.NUM Y_^1*_]_^1*_!WHERE:BUFADR_!IS THE ADDRESS OF A €€ BUFFER WHICH INCLUDES_^1*_]_^1*_!A MESSAGE TO BE PRINTED VIA SUP R/W (RELATIVE ADRESS)_^1*_]_^1*_,X_!IS THE LENGTH OF THE MESSAGE IN WORDS._^1*_]_^1*_,Y_!IF ANSWER IS TO BE READ OR NOT_^1*_]_^1*_,IF_!Y=0_"NO ANSWER TO BE READ._^1*_]_^1*_"THE ROUTINE_!TRANSFERS THE MESSAGE TO THE INTERROGATE_^1*_]_^1*_!BUFFER AND READ THE ANSWER INTO IT._^1*_]_^1ASK_$NUM_$0_^1€€_(RTJ-_#(ENTSR)_*SAVE RETURN ADDRESS_^1*_]_^1_(RTJ+_#SETMOV_^1*_]_^1_(LDQ*_#ASK_^1_(LDA-_#(ZERO),Q_)GET MESSAGE BUFFER ADDRESS_^1_(AAQ_$A_^1_(STA*_#SRCBUF_^1*_]_^1_(LDA-_#1,Q_.MESSAGE LENGTH_^1_(STA*_#WRDNO1_^1_(STA*_#WRDNO_^1_(STA-_#USRTMP+1,I_'SAVE FOR CONVRSATION ROUTINE_^1*_]_^1_(LDA-_#2,Q_.ANSWER_"OR NOT._^1_(STA-_#USRTMP,I_)************************************_^1*_]_^1_€€(LDQ-_#IRB,I_,INTERROGATE BUFFER ADDRESS_^1_(INQ_$4_^1_(STQ*_#TRGBUF_^1*_]_^1_(RTJ+_#MOVREC_^1SRCBUF_!NUM_$0_^1TRGBUF_!NUM_$0_^1WRDNO_"NUM_$0_^1*_]_^1*_]_^1_(ENQ_$FW_/WRITE_!MESSAGE_^1_(RTJ-_#(SUPRW)_^1_(ADC_$0_^1WRDNO1_!NUM_$0_^1_(LDA-_#USRTMP,I_^1_(SAZ_$RET11_^1_(LDQ-_#USRTMP+1,I_'QUESTION LENGTH_^1_(ENA_$24_/ANSWER LENGTH_^1_(RTJ+_#CONVRS_^1*_]_^1LLK_$LDA-_#SUPINP,I_^1RET11_"SAZ€€_$RET_.NOT TELETYPE_^1*_]_^1_(QLS_$1_0SHORT READ BIT IN 15'TH POSITION_^1_(SQP_$RET_.NOT SHORT_!BAD_^1*_]_^1_(LDQ-_#IRB,I_^1_(LDQ-_#3+24,Q_+LAST WORD_^1_(SET_$A_^1_(STA-_#(ZERO),Q_)EOR TO LAST WORD OF BUFFER_^1RET_$RTJ-_#(RTNSR)_*GET RETURN ADDRESS_^1_(JMP-_#3,Q_^1*_]_^1* IF_$CR_$RETURNS_!WITH_"Q=0_"IF_!*E CR,_!RETURNS_^1*_]_^1*_$WITH Q<0_^1*_]_^1* IF NON-STANDARD PARAM€€ETERS IS ENTERED IT SCANS THE STRING_^1*_]_^1*_!IF_!ERROR_!A<0_^1*_]_^1*_"IT FILLS THE STRING WITH BLANKS TO THE NO OF CHARACTER_^1*_]_^1*_!SPECIFIED, AND MOVES IT TO THE ADDRESS SPECIFIED_^1*_)CALLING_!STRING_^1*_+A= RELATIVE ADDRESS IN USER AREA IN EOD1_^1*_+Q= NO OF CHARACTERS_^1*_+RTJ ALPCHK_^1ALPCHK_!NUM_$0_^1_(STQ*_#CHRNO5_+NO OF CHARACTERS_^1_(STQ*_#CHRTM€€P_^1_(SAZ_$2_0IF ZERO NO TARGET ADRESS._^1_(ADD-_#EODADR,I_^1_(INA_$3_^1_(STA*_#CHRTO1_+TARGET ADDRESS_^1_(RTJ_$SUBDEF_+CHECK IF CR, OR *E CR_^1_(SAM_$RET3_-ERROR_^1_(SQZ_$RET3_-STANDARD_^1*_]_^1_(SQP_$CCL_.NOT STANDARD_^1RET3_#LDQ-_#DEF,I_,STANDARD/NON STANDARD PARAMETERS_^1_(JMP*_#(ALPCHK)_^1CCL_$CLR_$A_0FOR SCANV_^1_(STA-_#SST+STEMP_^1*_]_^1AG_%RTJ-_#(GETALP)_)LOOK FOR €€ EOR_^1_(SAM_$ER_^1_(SQM_$CHECK_^1_(LDQ*_#CHRTMP_^1_(INQ_$-1_^1_(SQM_$ER_^1_(STQ*_#CHRTMP_^1_(JMP*_#AG_^1ER_%SET_$A_^1_(JMP*_#RET3_-ERROR_^1*_]_^1CHECK_"LDA-_#SST+STEMP_(CHAR NO BEFORE EOR_^1_(TRA_$Q_^1_(SUB*_#CHRNO5_^1_(SAM_$FILBLK_^1*_]_^1_(LDQ*_#CHRTO1_^1_(SQZ_$RET4_-IF ADDRESS=0 DON'T MOVE_^1_(CLR_$A_0FROM INTERROGATE BUFFER_^1_(RTJ_$MOVE_-MOVE_^1CHRNO5_!NUM_$0_^1RET4_#JMP€€*_#RET3_^1*_]_^1FILBLK_!LRS_$1_0NO OF CHAR IN INT BUF /2_^1_(ADQ-_#IRB,I_^1_(SAP_$FIR_.IF EVEN NO OF CHAR_^1_(LDA-_#4,Q_^1_(AND-_#NZERO+8_^1_(INA_$$20_.ENTER BALNK TO RIGHT HALF_^1R3_%RAO-_#SST+STEMP_^1_(STA-_#4,Q_^1*_]_^1_(JMP*_#CHECK_^1*_]_^1FIR_$LDA*_#TWOBLK+1_+$2020_^1_(RAO-_#SST+STEMP_^1_(JMP*_#R3_^1*_]_^1*_]_^1_(BZS_$CHRTO1,CHRTMP_^1*_]_^1_(EJT_^1*_]_^1*_!HDR_!EQUATES_^1*_€€]_^1*_]_^1*_]_^1_(EQU_$FID(2)_+FILE IDENTIFIER FIELD_^1_(EQU_$SID(10)_*SET IDENTIFIER FIELD_^1_(EQU_$FSN(13)_^1_(EQU_$CRD(20)_*CREATION DATE_^1_(EQU_$SYSCOD(30)_'SYSTEM CODE_^1_(EQU_$EXD(23)_*EXPIRATION DATE_^1_(EQU_$ACSHD(26)_(ACCESSABILITY IN HDR_^1_(EQU_$BLKCNT(27)_'BLOCK COUNT_^1_(EQU_$USRFID(USRA+4)_"FILE ID IN USER.A._^1_(EQU_$USRSID(USRA+13)_!SET ID_^1_(EQU_$USRCRD(U€€SRA+16)_!CREATION DATE_^1_(EQU_$USREXD(USRA+19)_!EXPIRATION DATE_^1_(EQU_$USRH2(USRACS)_+RIGHT HALF OF ACESSABILITY_^1*_BWHETHER HDR2 SHOULD BE INSERTED_^1*_]_^1*_$IN_!EST_^1*_]_^1_(EQU_$JULDAT(40)_'DAY OF YEAR (BINARY)_^1FILHDR_!RTJ+_#SETMOV_^1*_]_^1_(ENA_$1_0INIT FILE SECTION NO_^1_(LDQ-_#EODADR,I_^1_(STA-_#FILSEC+3,Q_'VOLHDR ENTERED FROM EOV WILL_^1*_BBE INCREASED BY 1_^1_(ST€€A-_#ENTPT,I_*ENTPT_!NO 1_^1*_]_^1*_]_^1* ENTRY FROM_!VOL HDR ROUTINE_^1*_]_^1FILCON_!LDQ-_#MTF+3,I_^1_(QLS_$3_^1_(TCQ_$A_^1_(STA-_#DEF,I_,IF STANDARD PAR Q\0_^1_(LDA-_#ENTPT,I_^1_(INA_$-2_^1_(SAP_$JMPS_8STANDARD PARAMETERS_^1*_B(AFTER TAPEND)_^1*_]_^1* CHECK FOR DEFAULT PARAMETERS_^1*_]_^1_(LDA-_#DEF,I_^1_(SAP_$1_^1JMPS_#JMP*_#STANF_^1*_]_^1*_]_^1FFT_$RTJ*_#ASK_^1_(ADC_$MSGF€€L-*_*FILE HDR 1_^1_(ADC_$EMSGFL-MSGFL_^1_(ADC_$0_0NO ANSWER_^1*_]_^1REFI_#RTJ*_#ASK_^1_(ADC_$MSGFI-*_*FILE ID=_^1_(ADC_$EMSGFI-MSGFI_^1_(NUM_$1_0WAIT FOR ANSWER_^1*_]_^1_(ENA_$USRFID_+ADDRESS IN USR A._^1_(ENQ_$17_^1_(RTJ*_#ALPCHK_^1_(SAP_$1_^1_(JMP*_#REFI_^1_(SQP_$RESI_-IF NOT STANDARD_^1_(JMP*_#STANF_^1*_]_^1*_]_^1*_]_^1RESI_#RTJ*_#ASK_^1_(ADC_$MSGSI-*_^1_(ADC_$EMSGSI-MSGSI_$€€SET ID=_^1_(NUM_$1_0WAIT FOR ANSWER_^1*_]_^1_(ENA_$USRSID_+ADDRESS IN SURA_^1_(ENQ_$6_^1_(RTJ*_#ALPCHK_^1*_]_^1_(SAP_$1_^1_(JMP*_#RESI_^1*_]_^1_(SQP_$REDAY_^1_(JMP*_#STANF_,STANDARD PAR_^1*_]_^1*_]_^1*_]_^1REDAY_"RTJ_$ASK_^1_(ADC_$MSGCD-*_^1_(ADC_$EMSGCD-MSGCD_$CREATION DATE=_^1_(NUM_$1_^1_(ENA_$USRCRD_+WHERE TO MOVE IN USRA_^1_(RTJ*_#CHKDAT_^1_(SAP_$1_^1_(JMP*_#REDAY_^1*_]_^1_€€(SQP_$REXP_^1*_]_^1_(JMP*_#STANF_^1*_]_^1REXP_#RTJ_$ASK_^1_(ADC_$MSGEX-*_*EXPIRATION DATE_^1_(ADC_$EMSGEX-MSGEX_^1_(NUM_$1_0ANSWER_^1*_]_^1_(ENA_$USREXD_+MOVE TO USERS AREA IF OK_^1_(RTJ*_#CHKDAT_^1_(SAP_$1_^1_(JMP*_#REXP_^1*_]_^1*_]_^1*_]_^1STANF_"RTJ_$COM1_-COMMON FOR HDR AND TRL_^1*_]_^1_(LDQ-_#IRB,I_,HDR1_!LABEL_^1HD_%LDA_$=AHD_^1_(STA-_#4,Q_^1_(LDA_$=AR1_^1_(STA-_#5,Q_^1*€€_]_^1TWOZRO_!LDA_$=A00_.BLOCK COUNT_^1_(STA-_#4+BLKCNT,Q_^1_(STA-_#5+BLKCNT,Q_^1_(STA-_#6+BLKCNT,Q_^1_(RTJ_$WRTLBL_+WRITE THE LABEL_^1_(SAZ_$CC3_.NO TAPEND_^1_(LDA-_#ENTPT,I_^1_(TCA_$A_^1_(STA-_#ENTPT,I_^1*_]_^1CC3_$LDQ-_#ENTPT,I_*IF AFTER TAPEND ENTPT=2 IF TRL._^1_(INQ_$-2_?ENTPT=3 IF HDR._^1_(SQP_$NOTOUT_+IF HDR2 WAS SPECIFIED, ALSO HERE._^1*_]_^1*_]_^1CC4_$LDQ-_#DEF,I_,IF DE€€FAULT DURING HDR1_^1_(SQP_$REHD_-NOT STANDARD_^1*_]_^1*_]05*C1226_^1*_]_^1*_]_^1NOTOUT_!LDQ-_#EODADR,I_^1_(LDA-_#USRH2+3,Q_(CHECK IF HDR2 WAS SPECIFIED._^1_(AND-_#LPMASK+8_)IN LAST FILE HDR_^1_(SAN_$1_^1_(JMP*_#CC5_.NO HDR2_^1_(JMP*_#H2_^1*_]_^1*_]_^1REHD_#RTJ_$ASK_^1_(ADC_$MSGH2-*_^1_(ADC_$EMSGH2-MSGH2_$HDR2=_^1_(ADC_$1_^1*_]_^1*_]_^1_(RTJ_$SUBDEF_+IF DEFAULT OPTIONS_^1_€€(SAP_$1_0NO ERROR_^1_(JMP*_#REHD_^1_(SQZ_$STD_.STANDARD_^1_(SQM_$STD_.STANDARD_^1_(JMP*_#IFY_^1*_]_^1STD_$LDQ-_#EODADR,I_^1_(LDA-_#USRH2+3,Q_^1_(AND-_#LPMASK+8_^1_(SAN_$H22_.IF NOT ZERO, HDR2_^1_(JMP*_#CC5_.NO HDR2_^1*_]_^1IFY_$LDQ-_#EODADR,I_^1_(LDA-_#USRH2+3,Q_^1_(AND-_#NZERO+8_^1_(STA-_#USRH2+3,Q_^1*_]_^1_(LDQ-_#IRB,I_^1_(LDA-_#4,Q_^1_(SUB_$=N$59FF_*Y EOR._^1_(SAN_$IFN_^1_(LDQ€€-_#EODADR,I_^1_(RAO-_#USRH2+3,Q_^1H22_$JMP*_#H2_^1*_]01*C1014_^1IFN_$ADD_$=X$59FF-$4EFF_^1_(SAZ_$CC55_-NO_"HDR2_^1_(JMP*_#REHD_^1*_]_^1*_]_^1*_$EDIT_$HDR2_^1*_]_^1H2_%RTJ_$HDR2_^1_(LDQ-_#IRB,I_^1_(LDA*_#HD+1_^1_(STA-_#4,Q_^1_(LDA_$=AR2_^1_(STA-_#5,Q_^1_(RTJ_$WRTLBL_^1*_]_^1CC55_#SAZ_$CC5_.NOT TAPE END_^1_(LDA-_#ENTPT,I_^1_(SAM_$CC5_^1_(TCA_$A_^1_(STA-_#ENTPT,I_^1*_]_^1CC5_$RTJ_$TMA€€RK_^1_(SAN_$CC7_.IF TAPEND_^1_(LDA-_#ENTPT,I_^1_(SAP_$CC6_.NO TAPEND_"BEFORE_^1CC7_$ENA_$59_/END OF TAPE HAS BEEN OCCURED_^1_(RTJ+_#PRTMSG_^1_(JMP_$EOV_^1*_]_^1CC6_$INA_$-2_/ENTERED FROM FILTRL_^1_(SAN_$OUTOK_^1_(JMP_$EOF_^1*_]_^1*_]_^1OUTOK_"RTJ-_#(EXDFUN)_^1_(CLR_$A_^1_(LDQ-_#MTFEXT,I_^1_(RTJ-_#(ENTPRG)_^1**_]_^1*_]_^1_(EJT_^1*_]_^1****************************************€€********************************_^1* EDITING SUBROUTINES_^1*_]_^1*_]_^1*_]_^1************************************************************************_^1************************************************************************_^1*_]_^1*_]_^1* THE DATE SHOULD BE 6 CHARACTERS , BLANK 2 CHAR FOR YEAR_^1* AND 3 CHAR FOR DAY IN YEAR._^1*_]_^1* THE ROUTINE CHECKS IF STAN€€DARD PARAMETERS ARE TO BE USED_^1* IF NOT, TRANSFERS THE DATE TO ITS PLACE IN USERS AREA_^1*_]_^1_(BZS_$TEMPC,TEMPD_^1CHKDAT_!NUM_$0_^1_(ADD-_#EODADR,I_^1_(INA_$3_^1_(STA*_#TEMPC_,ADR_!IN USERS AREA_^1_(ENA_$5_05 CHAR TO CHECK_^1_(STA*_#TEMPD_^1_(RTJ_$SUBDEF_^1_(SAM_$RET1_^1_(SQZ_$RET1_^1_(SQP_$1_0NOT STANDARD OPTIONS_^1*_]_^1RET1_#JMP*_#(CHKDAT)_^1_(CLR_$A_^1_(STA-_#S€€ST+STEMP_^1CHEC_#RTJ-_#(GETALP)_^1_(SAM_$RET2_-ERROR_^1_(SQM_$RET2_-EOR_^1_(INA_$-$3A_-CHECK IF_#30WITH_^1_(NUM_$-6_ESHIFT_^1*_]_^1_(JMP*_#ACS2_^1*_]_^1S4_%LDQ-_#IRB,I_^1_(LDA_$=A99_^1_€€(STA-_#EXD+4+1,Q_^1_(LDA_$=A36_^1_(STA-_#EXD+5+1,Q_^1_(LDA_$=A6_^1_(STA-_#EXD+6+1,Q_^1*_]_^1ACS2_#LDQ-_#EODADR,I_)ACCESSABILITY_^1_(LDA-_#USRACS+3,Q_^1_(AND-_#NZERO+8_^1_(SAZ_$RETL_^1_(ALS_$8_^1_(INA_$-$20_^1_(LDQ-_#IRB,I_^1_(ADD-_#ACSHD+4,Q_^1_(STA-_#ACSHD+4,Q_^1*_]_^1*_]_^1RETL_#JMP*_#(COM1)_+RETURN ( FILHDR,FILTRL,EOV)_^1*_]_^1_(EJT_^1*_]_^1LLSQLS_!NUM_$0_^1_(CLR_$Q_^1_(LLS_$4_€€^1_(QLS_$4_^1_(LLS_$4_^1_(ADQ*_#ZER2+1_^1_(STQ*_#(TEMPC1)_^1_(JMP*_#(LLSQLS)_^1*_]_^1CNVRT_"NUM_$0_^1_(ADQ-_#IRB,I_^1_(STQ*_#TEMPC1_^1K10000 SUB =N10000_K06*C1390_^1_%SAM 3_Q06*C1390_^1_%LDA =N$9999_K06*C1390_^1_%JMP* CNV1X_L06*C1390_^1_%ADD* K10000+1_J06*C1390_^1_(RTJ+_#BD_/BIANRY TO DECIMAL_^1*_8CONVERT TO ASCII_406*C1390_^1CNV1X RTJ* LLSQLS_L06*C1390_^1_(RAO*_#TEMPC1_^1_(€€RTJ*_#LLSQLS_^1_(JMP*_#(CNVRT)_^1*_]_^1_(BZS_$TEMPC1_^1*_]_^1* HDR2 EQUATES_^1*_]_^1*_]_^1_(EQU_$RECFMT(2)_(RECORD FORMAT_"F,D,V,U_^1_(EQU_$BLKLNG(2)_(BLOCK LENGTH_^1_(EQU_$RECLNG(5)_(RECORD LENGTH_^1_(EQU_$OFFSET(25)_'BUFFER OFFSET_^1_(EQU_$RES(8)_^1TAB_$NUM_$$5530,$5634,$4434,$4630_'U-0,V-4,D-4,F-0_^1HDR2_#NUM_$0_^1*_]_^1*_#BLOCK LENGTH_^1*_]_^1_(LDA-_#MTF+1,I_*BLOCK LENGTH_€€^1_(AND-_#LPMASK+11_^1_(SAN_$2_^1N564_#LDA_$=N564_,IF ZERO BLOCK LENGT_^1_(ALS_$1_^1*_]_^1*_]_^1_(ENQ_$BLKLNG+5_)PLACE FROM NOW ON_^1_(RTJ*_#CNVRT_^1*_]_^1*_!RECORD LENGTH_^1*_]_^1*_]_^1_(LDA-_#MTF+2,I_*RECORD_!LENGTH_^1_(AND-_#LPMASK+12_^1*_]_^1* CHECK IF_#RECLNG\0_^1*_]_^1_(SAN_$CO_^1_(LDA-_#MTF+1,I_*BLOCK LENGTH_^1_(AND-_#LPMASK+11_^1_(SAZ_$B3_^1_(ALS_$1_^1_(TRA_$Q_^1N112€€8_"SUB_$=N1128_,BLOCK LENGTH IN CHARACTERS_^1_(SAM_$1_^1B3_%LDQ*_#N1128+1_^1_(TRQ_$A_^1CO_%CLR_$Q_^1_(DVI-_#TEN_.LAST POSITION_^1_(STA-_#SST+STEMP_^1*_]_^1_(TRQ_$A_^1_(ADD_$=A 0_^1_(ALS_$8_^1_(LDQ-_#IRB,I_^1_(STA-_#RECLNG+2+4,Q_$PLANT LAST DIGIT_^1*_]_^1_(LDA-_#SST+STEMP_^1_(ENQ_$RECLNG+4_^1_(RTJ*_#CNVRT_^1*_]_^1_(ENA_$RES+4_^1_(ENQ_$31_^1_(RTJ_$BLANKS_^1_(LDA-_#MTF,I_^1_(CLR_$Q€€_^1_(LLS_$2_^1_(LDA*_#TAB,Q_^1_(STA-_#SST+STEMP_^1_(LDQ-_#IRB,I_^1_(AND-_#LPMASK+8_^1_(ADD_$=N$3000_^1_(STA-_#OFFSET+4,Q_^1_(LDA-_#SST+STEMP_^1_(AND-_#NZERO+8_^1_(INA_$$30_.ZERO AS BLKCNT FIRST DIGIT_^1_(STA-_#RECFMT+4,Q_^1_(JMP*_#(HDR2)_^1_(EJT_^1_(EJT_^1FILTRL_!RTJ+_#SETMOV_^1_(ENA_$2_^1_(STA-_#ENTPT,I_^1*_]_^1* ENTRY POINT: FROM_!FILHDR_!IF TAPEND OCCURED DURING WRITTING_^1€€* OF FILTRL_!ON THE_!PREVIOUS_!REEL._^1*_]_^1*_]_^1*_]_^1*_]_^1*_#FIX BLOCK POSITION IN EOD1_^1*_]_^1EOF_$LDQ-_#EODADR,I_^1_(LDA-_#BCOUNT,I_^1_(STA-_#TOTBLK+3,Q_^1*_]_^1_(RTJ_$COM1_-COMMON TO HDR TRL._^1_(RTJ*_#TMARK_^1_(SAZ_$3_0NO TAPE END_^1_(RTJ*_#CHKTRC_+CHECK IF ENTERED FROM TRC ROUTINE_^1_(SAZ_$1_^1_(JMP*_#BCK2_^1*_]_^1*_]_^1_(RTJ_$BLKSUB_+BLOCK COUNT EDITING ROUTINE_^1_€€(LDQ-_#IRB,I_^1EO_%LDA_$=AEO_^1_(STA-_#4,Q_^1_(LDA_$=AF1_^1_(STA-_#5,Q_^1_(RTJ*_#WRTLBL_^1_(SAZ_$KKM_.NO TAPEND_^1_(RTJ*_#CHKTRC_+CHECK IF ENTERED FROM TRC ROUTINE_^1_(SAZ_$1_0TRC. CONTINUE_^1_(JMP*_#BCK2_^1*_]_^1KKM_$LDQ-_#EODADR,I_^1_(LDA-_#USRH2+3,Q_(IF HDR2_^1_(AND-_#LPMASK+8_^1_(SAN_$1_^1_(JMP*_#AA2_^1_(RTJ_$HDR2_^1_(LDQ-_#IRB,I_^1_(LDA*_#EO+1_^1_(STA-_#4,Q_^1_(LDA_$=AF2_^1_(S€€TA-_#5,Q_^1_(RTJ*_#WRTLBL_^1_(SAZ_$1_0NO TAPEND_^1_(RTJ*_#CHKTRC_+CHECK IF ENTERED FROM TRC ROUTINE_^1_(SAZ_$AA2_^1*_]_^1BCK2_#ENA_$59_/END OF TAPE_^1_(RTJ+_#PRTMSG_^1_(ENQ_$MO_/BACKSPACE_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$1000_^1*_]_^1IFE_$AND_$=N$0A00_*IF TAPEND OR TM_^1_(SAZ_$BB3_^1_(AND-_#ONEBIT+11_(TM_^1_(SAZ_$3_^1_(JMP*_#EOV11_^1BB3_$SQP_$1_^1_(JMP*_#OUTERR_^1_(JMP*_#BCK2_^1*_]_^1AA€€2_$RTJ*_#TMARK_^1_(SAZ_$AA3_.NO TAPE END_^1BCK1_#RTJ*_#CHKTRC_+CHECK IF ENTERED FROM TRC ROUTINE_^1_(SAZ_$AA3_^1_(ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$1100_^1_(JMP*_#BCK2_^1*_]_^1AA3_$JMP_$OUTOK_,EXIT_^1*_]_^1* IF ENTERED FROM TRC ,MTFENT=$7FFF_^1*_]_^1CHKTRC_!NUM_$0_^1_(LDA-_#MTFENT,I_^1_(EOR-_#LPMASK+15_^1_(JMP*_#(CHKTRC)_^1_(EJT_^1*_]_^1WRTLBL_!NUM_$0_^1_(RTJ-_#(ENTSR)_*SAVE RE€€TURN ADDRESS_^1_(RTJ+_#SETMOV_^1*_]_^1*_]_^1_(LDA-_#MTF+2,I_*CODE_^1_(ALS_$4_^1_(AND-_#LPMASK+3_^1*_]_^1*_'WRITE_!THE LABEL_^1*_]_^1_(ENQ_$CFW_.CODED_-WRITE. =19_^1_(RTJ-_#(TAPIO)_^1_(NUM_$0,40_^1*_]_^1_(SQM_$OUTER_^1_(AND-_#ONEBIT+9_)IF TAPE END_^1_(JMP-_#(EXTSR)_*RETURN TO CALLER_^1*_]_^1OUTER_"RTJ-_#(RTNSR)_*REMOVE RETURN ADDRESS FROM STACK_^1*_]_^1OUTERR_!ENA_$58_^1OUTER1_€€!RTJ+_#PRTMSG_^1_(RTJ-_#(EXDFUN)_^1_(ENA_$3_0CALL ERROR ENTRY POINT._^1_(LDQ-_#MTFEXT,I_)OF CALLER_^1_(RTJ-_#(ENTPRG)_^1*_]_^1*_]_^1*_]_^1TMARK_"NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$2000_^1_(SQP_$1_^1_(JMP*_#OUTER_^1_(AND-_#ONEBIT+9_^1RETEN_"JMP-_#(EXTSR)_^1_(EJT_^1*_]_^1VOLTRL_!RTJ+_#SETMOV_^1EOV_$RTJ_$COM1_-ENTRY POINT FOR FILHDR_#€€01*C1014_^1_(ENA_$3_K01*C1014_^1_(STA-_#ENTPT,I_*FILHDR,(TAPEND),EOV,VOLHDR,FILHDR_^1EOV11_"RTJ*_#TMARK_^1*_]_^1EOV1_#RTJ*_#BLKSUB_+EDITING BLOCK COUNT ROUTINE_^1*_]_^1_(LDQ-_#IRB,I_^1_(LDA*_#EO+1_-EOV1_%HEADER_^1_(STA-_#4,Q_^1_(LDA_$=AV1_^1_(STA-_#5,Q_^1*_]_^1_(RTJ*_#WRTLBL_^1*_]_^1*_]_^1EOV2_#ENQ_$MO_/WRITE_"TWO TAPE MARKS_^1_(RTJ-_#(TAPIO)_^1_(ADC_$$2200_^1_(SQP_$1_^1_(JMP*_#OU€€TERR_+IN_"WRTLBL_^1*_]_^1*_]_^1EOV3_#ENQ_$MO_/REWIND AND_!UNLOAD_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$3000_,REWIND_404*C1071_^1_(SQP_$1_^1_(JMP*_#OUTERR_+IN WRTLBL_^1*_]_^1RENEW_"RTJ_$ASK_.ASK_!TO MOUNT NEW TAPE_^1_(ADC_$MSGNT-*_^1_(ADC_$EMSGNT-MSGNT_^1_(NUM_$1_0ANSWER_!CU OR TR_^1*_]_^1_(LDQ-_#IRB,I_^1_(LDA-_#5,Q_.IF EOR_^1_(AND-_#NZERO+8_^1_(EOR-_#NZERO+8_^1_(SAN_$RENEW1_^1_(EQU_$TR($€€5452)_^1_(EQU_$CU($4355)_^1_(LDA-_#4,Q_^1_(SUB_$=ACU_^1_(SAZ_$NEWT_-NEW TAPE_^1_(SUB_$=XTR-CU_^1_(SAZ_$1_0TERMINATE_^1RENEW1_!JMP*_#RENEW_^1*_]_^1*_]_^1_(ENA_$39_/FUNCTION TERMINATED_^1_(JMP*_#OUTER1_+IN WRTLBL ROUTINE_^1*_BTERMINATE._!ERROR_^1*_]_^1*_]_^1NEWT_#JMP_$VOL2_-VOLUME HDR, AND FILE HDR_^1_(EJT_^1*_]_^1BLKSUB_!NUM_$0_^1_(LDQ-_#EODADR,I_^1_(LDA-_#FBLK+3,Q_)BLOCK COUNT IN€€ EOD1_^1_(CLR_$Q_^1_(DVI_$=N10000_*CAN'T BE MORE THEN 5 DIGITS_^1_(ADD_$=A00_^1_(STQ-_#SST+STEMP_(4 LOWEST DIGITS_^1_(LDQ-_#IRB,I_^1_(STA-_#BLKCNT+4,Q_^1*_]_^1_(LDA-_#SST+STEMP_(CONVERT TO ASCII 4 LOWEST DIGITS_^1_(ENQ_$BLKCNT+5_)PLACE THEM IN LABEL_^1_(RTJ_$CNVRT_^1_(JMP*_#(BLKSUB)_^1*_]_^1*_]_^1* MESSAGES_!FOR HDR_^1*_]_^1*_]_^1MSGFL_"ALF_$*,FILE HDR 1_$*_^1_(EQU_$EMSGFL(€€*)_^1MSGFI_"ALF_$*,FILE ID.=*_^1_(EQU_$EMSGFI(*)_^1MSGSI_"ALF_$*,SET ID.=*_^1_(EQU_$EMSGSI(*)_^1MSGCD_"ALF_$*,CREATION DATE(YYDDD)=*_^1_(EQU_$EMSGCD(*)_^1MSGEX_"ALF_$*,EXPIRATION DATE(YYDDD)=*_^1_(EQU_$EMSGEX(*)_^1MSGH2_"ALF_$*,HDR2 =*_^1_(EQU_$EMSGH2(*)_^1*_]_^1*_$MESSAGES FOR VOLUME HDR_^1*_]_^1*_]_^1*_]_^1MSGVS_"ALF_$*,SERIAL NO.=*_^1_(EQU_$EMSGVS(*)_^1MSGAC_"ALF_$*,ACCESSABI€€LITY=*_^1_(EQU_$EMSGAC(*)_^1MSGID_"ALF_$*,OWNER ID.=*_^1_(EQU_$EMSGID(*)_^1MSGVH_"ALF_$*,VOL HDR 1_'*_^1_(EQU_$EMSGVH(*)_^1MSGNT_"ALF_$*,MOUNT NEW TAPE.TYPE CU/TR TO CONTINUE/TERMINATE.*_^1_(EQU_$EMSGNT(*)_^1*_]_^1* IF_!EOR, Q=0 ._"IF *E EOR , Q<0._!OTHERWISE Q\0._^1*_]_^1SUBDEF_!NUM_$0_^1_(CLR_$A_^1_(STA-_#SST+STEMP_^1_(RTJ-_#(GETALP)_^1_(SAM_$NXT2_-ERROR_^1_(SQP_$RET5_^1_(€&CLR_$Q_0EOR._!Q=0. DEFAULT FOR ONE PAR._^1NXT3_#STQ-_#DEF,I_,SAVE INDICATOR FOR DEFAULT OPTIONS._^1NXT2_#JMP*_#(SUBDEF)_^1RET5_#LDQ-_#IRB,I_^1_(LDA-_#4,Q_^1_(SUB_$=A*E_^1_(SAN_$NXT4_^1_(ENA_$2_^1_(STA-_#SST+STEMP_^1_(RTJ-_#(GETALP)_)IF EOR Q<0_^1NXT4_#JMP*_#NXT3_^1_(EQU_$ELBL1(*)_^1_(END_^__ &PLOD1 CSY/ P€1_%NAM LOD1_)DECK-ID S09 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* LOD COMMAND ANALYSIS PROGRAM._^1* COMMAND FORMATS:_^1* 1.LOD,JN,B1,B2,FN,BM_-LOAD BATCHES OF ONE JOB_^1* 2.LOD,FN,BM_6LOAD BATCHES OF ALL JOBS_^1* 3.LOD,F_:LOAD FMTS FM TAPE T€€O DISK 03*C1049_^1*_]_^1* JN-JOB NAME_^1* B1-START BATCH_^1* B2-TERMINATE BATCH_^1* FN-FILE NO. (START POINT ON THE TAPE)_^1* BM- BATCHES MODES (W,C,F)_^1*_]_^1_(EXT_$SETMOV_^1_%EXT GETLJD_^1_(EQU_$ENTPRG($9E),EXDFUN($9F),GETBIN($99),GETALP($9B)_^1_(EQU_$GETCOM($9C)_A05*C1158_^1_(EQU_$TAPIO($9A),REJSUP($B2)_^1_(EQU_$SST($47),TEMP1(20),TEMP2(21)_^1_(EQU_$TRMNT(23),MTCA(46),ATEMP(7€€3)_^1_(EQU_$JN(MTCA)_)JN_^1_(EQU_$STRBCH(MTCA+3)_"B1_^1_(EQU_$ENDBCH(MTCA+4)_"B2_^1_(EQU_$BMODES(MTCA+5)_"BM_^1_(EQU_$FILEN(MTCA+6)_#FN_^1_(EQU_$LTEMP(MTCA+7)_#TEMP_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23)_^1_(EQU_$ZROBIT($33)_^1_(EQU_$MO(4),C($43),F($46),W($57)_^1_(EQU_$J($4A)_F04*C1072_^1HLOD1_"VFD_$N1/1,N1/1,X14/ELOD1-*_^1_(ADC_$1,0,0,LOD1-HLOD1_^1LOD1_#LDA-_#ONEBIT+1€€5_^1_(STA-_#TRMNT,I_^1_(LDA_$=N999_^1_(STA-_#ENDBCH,I_^1_(RTJ+_#SETMOV_^1_(ENA_$3_^1_(STA-_#TEMP1+SST_^1_(RTJ-_#(GETALP)_^1_(SQZ_$PARM1_,COMMA_^1_(JMP*_#ERR1_H04*C1072_^1PARM1_"RTJ-_#(GETALP)_D04*C1072_^1_(INA_$-F_J04*C1072_^1_(SAN_$2_K04*C1072_^1_(JMP_$EXITF_,LOD,F_504*C1072_^1_(INA_$F-J_I04*C1072_^1_(SAZ_$1_0LOD,J_504*C1072_^1_(JMP*_#ERR1_H04*C1072_^1_(RTJ-_#(GETALP)_D04*C1072_^1€€_(SQP_$1_K04*C1072_^1_(JMP*_#EOR_I04*C1072_^1_(SQZ_$PAR_I05*C1158_^1_(INA_$-$20_H05*C1158_^1_(SAN_$JERR_H05*C1158_^1_(RTJ-_#(GETCOM)_D05*C1158_^1_(SQP_$1_K05*C1158_^1_(JMP*_#EOR_I05*C1158_^1JERR_#JMP*_#ERR1_H05*C1158_^1PAR_$RTJ-_#(GETALP)_D05*C1158_^1_(SQN_$1_K05*C1142_^1_(JMP*_#PARM4_G05*C1142_^1_(SQP_$1_K05*C1142_^1_(JMP*_#ERR1_H05*C1158_^1_(ALS_$8_^1_(INA_$$20_^1_(STA-_#JN,I_^1_€€(LDA_$=N$2020_^1_(STA-_#JN+1,I_^1_(STA-_#JN+2,I_^1_(ENA_$0_^1_(STA-_#ATEMP,I_^1GETJN_"RTJ-_#(GETALP)_)GET JOB NAME_^1_(SQN_$1_^1_(JMP*_#PARM2_,COMMA_^1_(SQP_$1_^1_(JMP*_#EOR_.EOR_^1_(STA-_#ATEMP+1,I_^1_(RAO-_#ATEMP,I_^1_(LDQ-_#ATEMP,I_E05*C1158_^1_(INQ_$-6_J05*C1158_^1_(SQM_$1_K05*C1158_^1_(JMP*_#IFEOR_,IF BLANKS CONTINUE_(05*C1158_^1_(LDQ-_#ATEMP,I_^1_(QRS_$1_^1_(LDA-_#ATEMP,I_^1_€€(AND-_#ONEBIT_^1_(SAN_$RIGHT_^1_(LDA-_#ATEMP+1,I_^1_(ALS_$8_^1_(INA_$$20_^1_(JMP*_#RIGHT+3_^1RIGHT_"LDA-_#JN,B_^1_(AND-_#NZERO+8_^1_(ADD-_#ATEMP+1,I_^1_(STA-_#JN,B_^1_(JMP*_#GETJN_^1PARM2_"RTJ-_#(GETBIN)_)START BATCH_^1_(STA-_#STRBCH,I_^1_(SAP_$1_^1_(JMP*_#ERR3_-ILL. BATCH NO._^1_(SQP_$PARM3_^1_(JMP*_#EOR_^1PARM3_"RTJ-_#(GETALP)_D05*C1174_^1_(SQZ_$COMPAR_F05*C1174_^1_(SQP_$1_K05*C1€€174_^1_(JMP*_#ERR1_H05*C1174_^1_(LDA-_#TEMP1+SST_C05*C1174_^1_(INA_$-1_J05*C1174_^1_(STA-_#TEMP1+SST_C05*C1174_^1_(RTJ-_#(GETBIN)_D05*C1174_^1_(SAP_$1_K05*C1174_^1_(JMP*_#ERR3_H05*C1174_^1_(STA-_#ENDBCH,I_D05*C1174_^1COMPAR_!LDA-_#ENDBCH,I_D05*C1174_^1_(SUB-_#STRBCH,I_^1_(SAP_$1_^1_(JMP*_#ERR3_^1_(LDA-_#ENDBCH,I_^1_(SUB_$=N1000_^1_(SAM_$1_^1_(JMP*_#ERR3_^1_(SQP_$PARM4_^1_(JMP*_#EOR€€_^1PARM4_"RTJ-_#(GETBIN)_)FILE NO_^1_(SAP_$1_^1_(JMP*_#ERR1_^1_(SAZ_$1_^1_(INA_$-1_^1_(STA-_#FILEN,I_^1_(SQM_$1_^1_(JMP*_#PARM5_^1_(JMP*_#EOR_^1ERR1_#ENA_$3_0ILL. PARAMETER_^1_(JMP-_#(REJSUP)_^1ERR2_#ENA_$0_0ILL. JOB NAME_^1_(JMP-_#(REJSUP)_^1ERR3_#ENA_$4_0ILL. BATCH NO._^1_(JMP-_#(REJSUP)_^1*_]_^1PARM5_"RTJ-_#(GETALP)_)BATCH MODES_^1_(SQN_$1_^1_(JMP*_#ERR1_H05*C1158_^1_(SQP_$1_^1_€€(JMP*_#ERR1_H05*C1158_^1_(ENQ_$1_^1_(INA_$-W_^1_(SAZ_$SETMOD_^1_(ENQ_$2_^1_(INA_$W-C_^1_(SAZ_$SETMOD_^1_(ENQ_$4_^1_(INA_$C-F_^1_(SAZ_$SETMOD_^1_(JMP*_#ERR1_^1SETMOD_!TRQ_$A_^1_(AND-_#BMODES,I_^1_(SAZ_$1_^1_%JMP* ERR1_N06*C1377_^1_(ADQ-_#BMODES,I_^1_(STQ-_#BMODES,I_^1_(RTJ-_#(GETALP)_D05*C1158_^1_(SAP_$1_K05*C1158_^1_(JMP*_#ERR1_H05*C1158_^1_(SQM_$EOR_I05*C1158_^1_(SQN_$1_K05*C1158_€€^1_(JMP*_#PARM5_G05*C1158_^1IFEOR_"INA_$-$20_H05*C1158_^1_(SAN_$2_K05*C1158_^1_(RTJ-_#(GETCOM)_D05*C1158_^1_(SQM_$1_K05*C1158_^1_(JMP*_#ERR1_H05*C1158_^1*_]_^1EOR_"ENQ 1_^1_%LDA- JN,I_^1_%SAN 1_^1_%JMP* OPENTP_^1_%STA* JOB_*CHECK IF JOB IN SYSTEM_^1_%LDA- JN+1,I_^1_%STA* JOB+1_^1_%LDA- JN+2,I_^1_%STA* JOB+2_^1_%RTJ+ GETLJD_^1_%BZS JOB(5)_^1_%JMP* EOR_^1_%INQ -1_^1_%SQZ 1_^1_%J€€MP* ERR2_^1OPENTP_!LDA-_#BMODES,I_^1_(SAN_$2_^1_(SET_$A_^1_(STA-_#BMODES,I_)SET BMODES DEFAULT OPTIONS_^1_(LDA-_#FILEN,I_^1_(STA-_#LTEMP,I_^1_(ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$3000_,REWIND_^1*_]_^1***_"4 CARDS DELETED (LOAD POINT CHECK)_6P0*H0014_^1*_]_^1LOADP_"LDA-_#LTEMP,I_^1_(SAN_$1_^1_(JMP*_#EXIT_^1_(INA_$-1_^1_(STA-_#LTEMP,I_^1_(ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$5000_,SKI€€P FILE_^1_(AND_$=N$0A00_^1_%SAN 2_RP0*H0014_^1TAPERR ENA 58_QP0*H0014_^1_%JMP- (REJSUP)_KP0*H0014_^1_(AND-_#ONEBIT+9_^1_(SAZ_$2_^1_(ENA_$59_/END OF TAPE_^1_(JMP-_#(REJSUP)_^1_(LDA-_#TRMNT,I_^1_(ALS_$1_^1_(SAM_$1_^1_(JMP*_#LOADP_^1_(ENA_$39_/FUNCTION TERMINATED_^1_(JMP-_#(REJSUP)_^1EXITF_"RTJ-_#(EXDFUN)_D03*C1049_^1_(LDQ*_#LODF_H03*C1049_^1_(CLR_$A_K03*C1049_^1_(RTJ-_#(ENTPRG)_)CA€LL 'LOAD FORMATS'_'03*C1049_^1EXIT_#RTJ-_#(EXDFUN)_^1_(LDQ_$=N$080A_^1_(CLR_$A_^1_(RTJ-_#(ENTPRG)_)CALL LOD2_^1*_]_^1LODF_#NUM_$$0813_G03*C1049_^1_(EQU_$ELOD1(*)_^1_(END_^__ PLPR CSY/ P€1_%NAM LPR_*DECK-ID S23 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_!LOAD OWN CODE SUPERVISOR FUNCTION_A*_^1* COMMAND FORMAT_U*_^1*_'LPR,NNN,D_T*_^1*_'LPR,NNN,D,S_^1*_]_'*_^1* WHERE_] *_^1*_'NNN=DIRECTORY INDEX_J*_^1*_'D=DIRECTORY NAME (D=M F€€OR MISCELLANOUS_7*_^1*_9D=K FOR KEY FUNCTIONS_6*_^1*_9D=I FOR INTERROGATE FUNCTIONS_.*_^1*_9D=S FOR SUPERVISOR FUNCTIONS_/*_^1*_9D=T FOR MG-TAPE FORMATS AND LABELS_^1*_9D=0 FOR OWN CODE GROUP)_^1*_'WHEN D =T S MUST BE ENTERED WHERE_^1*_'S=SUBDIRECTORY NAME S=O FOR MTF OWN CODE_^1*_FACTOR_^1_(RTJ*_#PRINT_^1*_]05*C1176_^1*_]_^1TRYNXT_!RAO-_#MTFN1,I_^1_(LDA-_#MTFN1,I_^1_(SUB-_#MTFN2,I_*CHECK IF LAST MT.FMT_^1_(SAZ_$3_0IF END OF SCREEN-EXIT TO-SV05*C1167_^1_(RTJ*_#CRTCHK_F05*C1167_^1_(JMP_$LOOP1_^1CANCEL_!JMP-_#(SV)_^1*_]_^1*_]_^1PRINT_"NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(ENQ_$FW_^1_(RTJ-_#(SUPRW)_^1_(ADC_$0_^1WORD€€S_"NUM_$24_^1_(STQ-_#CRTSTS,I_^1_(JMP-_#(EXTSR)_^1*_]_^1*_]_^1CRTCHK_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(LDA-_#CRTSTS,I_^1_(EOR-_#NZERO+14_^1_(SAZ_$1_^1_(JMP*_#CHKOUT_^1_(STA-_#CRTSTS,I_D05*C1176_^1_(RTJ+_#CONCAN_+END OF SCREEN_^1_(STA-_#MTN,I_,MTN=FLAG FOR HEADER_^1_(ENQ_$MOT_.CLEAR_^1_(RTJ-_#(SUPRW)_/SCREEN_^1_(NUM_$$2000_^1_(LDA-_#MTN,I_^1_(SAN_$ENA39_^1*_]_^1CHKOUT_!€€LDA-_#CANC,I_+CHECK CANCEL/CONTINUE_^1_(ALS_$1_^1_(SAM_$ENA39_^1_(RTJ*_#BLANKS_^1_(JMP-_#(EXTSR)_^1*_]_^1ENA39_"LDQ-_#BCKP,I_F05*C1176_^1_(SQZ_$2_K05*C1176_^1_(CLR_$A_0RELEASE_305*C1176_^1_(STA-_#2,Q_6CORE_.05*C1176_^1_(ENA_$39_J05*C1176_^1_(JMP-_#(REJSUP)_^1*_]_^1BLANKS_!NUM_$0_^1_(LDA-_#AINT,I_^1_(INA_$4_^1_(STA-_#STEMP_^1_(LDQ-_#AINT,I_^1_(LDQ-_#1,Q_^1_(INQ_$-4_^1_(LDA_$=A_^1STB€€LNK_!STA-_#(STEMP),Q_^1_(SQZ_$2_^1_(INQ_$-1_^1_(JMP*_#STBLNK_^1_(JMP*_#(BLANKS)_^1*_]_^1*_]_^1BINASC_!NUM_$0_0CONVERT BINARY NUMBERS TO ASCII_^1BALOOP_!CLR_$Q_0CHARS AND STORE THEM IN AINT BUFF_^1_(DVI-_#TEN_^1_(SAN_$1_^1_(SQZ_$1_^1_(INQ_$$10_^1_(QLS_$8_^1_(ADQ-_#(STEMP)_^1_(STQ-_#(STEMP)_^1_(SAZ_$OUT_^1_(LDQ-_#STEMP_^1_(INQ_$-1_^1_(STQ-_#STEMP_^1_(CLR_$Q_^1_(DVI-_#TEN_^1_(INQ_$$10€€_^1_(ADQ-_#(STEMP)_^1_(STQ-_#(STEMP)_^1_(SAZ_$OUT_^1_(JMP*_#BALOOP_^1OUT_$JMP*_#(BINASC)_^1*_]_^1RCODE_"ALF_$*, B E A 1 2 3 4 *_^1BMODE_"ALF_$*, U V D F*_^1PAD_$ALF_$*,A B N *_^1*_]_^1*_]_^1*_]_^1LIST_#STQ-_#MTN,I_,INDEX FOR NUMS IN PRINTED LINE AND_^1*_BTHEIR LOCATION_^1_(ENQ_$MAXWT_^1SERCOR_!STQ-_#FLAG,I_^1_(ENQ_$98_/CORE RQUEST FOR 95 WORDS_^1_(RTJ-_#(CAM)_^1_(SAZ_$CORE_^1_(RTJ€€-_#(WAIT)_^1_(LDQ-_#FLAG,I_^1_(INQ_$-1_^1_(SQN_$JP_^1ERR11_"ENA_$11_/CORE NOT AVAILABLE_^1_(JMP-_#(REJSUP)_^1JP_%JMP*_#SERCOR_^1CORE_#STA-_#FLAG,I_+SET FLAG TO ZERO_^1_(STA-_#WORDA,I_*SAVE WORDS BUFFER ADDRESS_^1_(STA-_#MTFN,I_+SET MTFN TO ZERO, INDEX TO_^1*_BMAG TAPE NUMBERS_^1_(STQ-_#BCKP,I_+SET BACKWORDS POINTER_^1_(LDA-_#I_^1_(INA_$BCKP_^1_(STA-_#(ZERO),Q_^1_(RTJ*_#BLANKS_^1NEW€€SC_"LDQ-_#SST+EXTSST_'SET 'MTF'_^1_(LDA-_#MTFADD,Q_3ADDRESS_^1_(LDQ-_#WORDA,I_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#DA1_^1_(STA*_#DA2_^1_(LDQ-_#BCKP,I_^1_(LDA-_#1,Q_.SET_^1_(EOR-_#ONEBIT+15_*I/O_^1_(STA-_#1,Q_3BIT_^1_(INQ_$3_^1_(STQ*_#BUFADD_^1_(CLR_$Q_^1_(STQ-_#RELADD,I_^1_(RTJ-_#(REDDWA)_^1BUFADD_!NUM_$0_^1DA1_$NUM_$0_^1DA2_$NUM_$0_^1_(NUM_$95_^1LU1_$NUM_$0_^1_(LDQ-_#BCKP,I_^1_(LDA-_#1,Q_€€.CLEAR_^1_(AND-_#LPMASK+15_-I/O_^1_(STA-_#1,Q_6BIT_^1NXMTF_"LDA-_#MTFN,I_^1_(SAZ_$OP_^1_(SUB-_#ONEBIT+8_)MAX MTF NUMBER =255_^1_(SAM_$1_^1_(JMP*_#EMTF_^1_(LDQ-_#RELADD,I_)CHECK_^1_(ADQ-_#BCKP,I_2IF_^1_(LDA-_#6,Q_8FORMAT_^1_(SAM_$ACTIVE_;ACTIVE_^1OP_%JMP*_#CONT_^1*_]_^1ACTIVE_!LDQ-_#MTN,I_^1_(SQM_$1_^1_(JMP*_#NT_^1_(LDA-_#AINT,I_^1_(INA_$4_^1_(STA-_#STEMP_^1_(CLR_$Q_^1_(STQ-_#MTN,I_€€^1PRHD2_"LDA_$HEAD2,Q_*PRINT_^1_(SAZ_$EOHD2_1CONSTANT_^1_(STA-_#(STEMP)_7HEADER_^1_(RAO-_#STEMP_^1_(INQ_$1_^1_(JMP*_#PRHD2_^1EOHD2_"RTJ_$PRINT_^1_(RTJ_$CRTCHK_^1_(JMP*_#NT1_^1NT_%INQ_$-8_^1_(SQN_$NT1_^1_(STQ-_#MTN,I_^1_(RTJ_$PRINT_^1_(RTJ_$CRTCHK_^1*_]_^1NT1_$LDQ-_#MTN,I_,LOCATE_^1_(QLS_$1_7NUMBER IN_^1_(ADQ-_#MTN,I_^1_(INQ_$5_^1_(ADQ-_#AINT,I_6AINT BUFF_^1_(STQ-_#STEMP_^1_(LDA-_#M€€TFN,I_+CONVERT NUMBER TO ASCII_^1_(RTJ_$BINASC_^1_(RAO-_#MTN,I_^1*_]_^1CONT_#RAO-_#MTFN,I_^1_(LDQ-_#RELADD,I_)UPDATE_^1_(INQ_$5_5RELATIVE_^1_(STQ-_#RELADD,I_6ADDRESS_^1_(INQ_$-95_^1_(SQZ_$RED95_^1_(JMP*_#NXMTF_^1*_]_^1RED95_"LDA-_#WORDA,I_^1_(INA_$95_^1_(STA-_#WORDA,I_^1_(JMP*_#NEWSC_^1*_]_^1EMTF_#LDA-_#MTN,I_^1_(SAM_$3_^1_(SAZ_$2_^1_(RTJ_$PRINT_^1_(LDQ-_#BCKP,I_^1_(CLR_$A_^1_(STA-€Ό_#2,Q_^1_(JMP-_#(SV)_^1HEAD1_"ALF_$*,MTN RM RC O/P BM BLKL RECL PAD OCD LBL OPT BGF*_^1_(NUM_$0_^1HEAD2_"ALF_$*, ACTIVE MAG TAPE FORMATS IN SYSTEM*_^1_(NUM_$0_^1_(EQU_$EPMT(*)_^1_(END_^__ΌPPSS CSY/ P€1_%NAM PSS_*DECK-ID S13 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* SUPERVISOR FUNCTION TO PRINT THE FOLLOWING SYSTEM STATUS DETAILS_^1* 1- % OF FREE AREA IN CORE_^1* 2- % OF TIME CONTROLLED AREA_^1* 3-XXX% OF DISK X USED, DISK ACTIVE/INACTIVE €€AN D UP/DOWN_^1* 4- NUMBER OF ACTIVE JOBS IN SYSTEM_^1_(EQU_$SST($47),STEMP(20),LL(6),UL(7),P(8)_^1_(EQU_$LJDDA(8),ATT(11),TRT1(11),DSKST(29)_^1_(EQU_$FACTR(50),TCCTR(51),TRTIDX(52),TRTAD(53)_^1_(EQU_$TLIM(54),TRKCTR(55),ATEMP(73)_^1_(EQU_$GETCOM($9C),REJSUP($B2),SUPRW($97)_^1_(EQU_$CLCDWA($90),REDDWA($A9),SV($B1)_^1_(EQU_$LPMASK(2),TEN($46),ZERO($22),ONEBIT($23)_^1_(EQU_$FW(3)_^1_€€(EQU_$ATTLIM(55),ATTB(10),DLU(35),ATTLNG(19)_^1HDR_$VFD_$N2/3,N3/0,X11/EPSS-*_^1_(NUM_$1_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$PSS-HDR_^1PSS_$ENA_$3_^1_(STA-_#SST+STEMP_^1_(RTJ-_#(GETCOM)_^1_(SQM_$2_^1_(ENA_$9_0NO EOR AFTER PSS COMMAND_^1_(JMP-_#(REJSUP)_^1_(LDQ-_#SST+LL_+STARTING ADDRESS OF FRP BUFFER_^1LOOP1_"LDA-_#2,Q_.CHECK USER COUNT_^1_(AND-_#LPMASK+6_^1_(SAN_$NXTAR_,AREA IN USE_^1_€€(LDA-_#1,Q_.CHECK TIME CONTROL BIT_^1_(ALS_$1_^1_(SAM_$TCA_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+11_^1_(ADD-_#FACTR,I_*ACCUMULATE TO FREE AREA CONTER_^1_(STA-_#FACTR,I_^1_(JMP*_#NXTAR_^1TCA_$LDA-_#1,Q_.ACCUMULATE TO TIME CONTROLLED AREA_^1_(AND-_#LPMASK+11_^1_(ADD-_#TCCTR,I_^1_(STA-_#TCCTR,I_^1NXTAR_"LDA-_#1,Q_.ADVANCE TO NEXT AREA_^1_(AND-_#LPMASK+11_^1_(INA_$1_^1_(AAQ_$Q_^1_(TRQ_$A_^1_(€€SUB-_#SST+P_,CHECK AGAINST FRP POINTER_^1_(SAP_$1_^1_(JMP*_#LOOP1_^1_(LDA-_#SST+UL_+CALCULATE TOTAL AVAILABLE AREA_^1_(SUB-_#SST+LL_^1_(STA-_#ATEMP,I_^1_(LDA-_#SST+UL_+GET FREE AREA FROM POINTER TO_^1_(SUB-_#SST+P_,UP/LIMIT_^1_(ADD-_#FACTR,I_^1_(RTJ_$CONVRT_+TO CONVERT TO PERCENT_^1_(SQP_$NOT100_F02*C1030_^1_(LDA_$CONST1_+IF 100 PERCENT_,01*C1021_^1_(STA*_#AREA_^1_(LDA_$CONST2_F01*€€C1021_^1NOT100_!STA*_#AREA+1_F02*C1030_^1_(ENQ_$FW_^1_(RTJ-_#(SUPRW)_^1_(ADC_$(AREA-*)_^1_(ADC_$EAREA-AREA_^1_(LDA-_#TCCTR,I_*GET AREA IN TIME CONTROL_^1_(RTJ_$CONVRT_+TO CONVERT TO PERCENT_^1_(SQP_$3_^1_(LDA*_#CONST1_+IF 100%_^1_(STA*_#TCAREA_^1_(LDA*_#CONST2_^1_(STA*_#TCAREA+1_^1_(ENQ_$FW_^1_(RTJ-_#(SUPRW)_^1_(ADC_$(TCAREA-*)_^1_(ADC_$ETCA-TCAREA_^1_(CLR_$A_0CLEAR TRT INDEX_^1_(S€€TA-_#TRTIDX,I_^1_(LDA-_#SST+1_,GET NUMBER OF TERMINALS TO SET_^1_(AND-_#LPMASK+8_)ATT LIMITER_^1_(MUI-_#SST+ATTLNG_^1_(ADD-_#SST+ATTB_^1_(STA-_#ATTLIM,I_^1NXTRT_"RTJ*_#TRKSR_,TO DISPLAY DISK STATUS MESSAGE_^1_(LDA-_#TRTIDX,I_)CHECK FOR LAST TRT_^1_(INA_$-3_^1_(SAZ_$3_^1_(INA_$4_^1_(STA-_#TRTIDX,I_^1_(JMP*_#NXTRT_^1_(LDQ-_#SST_.GET LJD DISK ADDR_^1_(LDA-_#LJDDA,Q_^1_(CLR_$Q_^1_(RTJ-€€_#(CLCDWA)_^1_(STQ*_#DWA_^1_(STA*_#DWA+1_^1_(LDQ-_#SST+ATT_*SET BUFFER AREA_^1_(INQ_$73_^1_(STQ*_#BUFAD_^1_(RTJ-_#(REDDWA)_)GET 1'ST WORD OF LJD_^1BUFAD_"NUM_$0_^1DWA_$NUM_$0_^1_(NUM_$0_^1LNG_$NUM_$1_^1LUNIT_"NUM_$0_^1_(CLR_$Q_^1_(LDA-_#ATEMP,I_*1'ST WORD OF LJD-NUMBER OF ACTIVE_^1_(DVI-_#TEN_.JOBS_^1_(STQ-_#ATEMP,I_^1_(CLR_$Q_0CONVERT TO ASCII_^1_(DVI-_#TEN_^1_(ALS_$8_K01*C1021_^1€€_(AAQ_$Q_K01*C1021_^1_(ADQ*_#CONST2_^1_(STQ*_#JOBS+1_^1_(LDA-_#ATEMP,I_E01*C1021_^1_(ADD*_#CONST1_^1_(INA_$-1_^1_(ALS_$8_K01*C1021_^1_(STA*_#JOBS+2_F01*C1021_^1_(ENQ_$FW_^1_(RTJ-_#(SUPRW)_^1_(ADC_$(JOBS-*)_^1_(ADC_$EJOBS-JOBS_^1_(JMP-_#(SV)_^1AREA_#ALF_$9,_"% FREE MEMORY_^1_(EQU_$EAREA(*)_^1TCAREA_!ALF_$14,_"% TIME-CONTROLLED MEMORY_^1_(EQU_$ETCA(*)_^1TMSG_#ALF_$24,_"% OF DISK_!USE€€D,DISK_!ACTIVE ,_!SELECTED_^1_(EQU_$ETMSG(*)_^1JOBS_#ALF_$14,_$ACTIVE JOBS IN SYSTEM_.01*C1021_^1_(EQU_$EJOBS(*)_^1CONST1_!ALF_$1, 1_^1CONST2_!ALF_$1,00_^1SPACE_"ALF_$1,_^1TRKSR_"NUM_$0_^1_(LDQ-_#TRTIDX,I_)GET TRT LENGTH_^1_(QRS_$1_^1_(ADQ-_#SST_^1_(LDA-_#(ZERO),Q_^1_(LDQ-_#TRTIDX,I_)CHECK IF LEFT OR RIGTH HALF_^1_(QLS_$15_^1_(SQM_$1_^1_(ALS_$8_^1_(AND-_#LPMASK+8_^1_(INA_$-1_^1_(SA€€N_$1_^1_(JMP*_#OUT_^1_(ALS_$4_^1_(STA-_#ATEMP,I_^1_(LDQ-_#SST_.GET TRT ADDRESS_^1_(ADQ-_#TRTIDX,I_D02*C1035_^1_(LDQ-_#TRT1,Q_F02*C1035_^1_(LDA-_#(ZERO),Q_)FIRST WORD OR TRT_^1_(RTJ*_#CONVRT_+TO CALCULATE % OF USED TRACKS_^1_(SQP_$1_^1_(LDA*_#CONST2_^1_(STA*_#TMSG+1_^1_(LDA*_#SPACE_^1_(SQP_$1_^1_(LDA*_#CONST1_^1_(STA*_#TMSG_^1_(LDA-_#TRTIDX,I_)GET DISK NUMBER_^1_(INA_$1_^1_(ALS_$8_^€€1_(ADD_$=A0_^1_(STA*_#TMSG+7_^1_(LDQ-_#SST+ATTB_)GET FIRST ATT_^1ATTLUP_!LDA-_#2,Q_.GET CURRENT MODE OF ATT_^1_(AND_$=N$0F00_*CHECK FOR IDLE_^1_(SAZ_$IFLAST_^1_(LDA-_#DLU,Q_^1_(ALS_$4_0CHECK IF = TO CURRENT DISK_^1_(AND-_#LPMASK+2_^1_(SUB-_#TRTIDX,I_^1_(SAN_$2_^1_(LDA*_#SPACE_,DISK IS BUSY_^1_(JMP*_#STOR1_^1IFLAST_!TRQ_$A_0CHECK FOR LAST ATT_^1_(SUB-_#ATTLIM,I_^1_(SAP_$2_^1_(ADQ-_#€€SST+ATTLNG_'ADVANCE TO NEXT ATT_^1_(JMP*_#ATTLUP_^1_(LDA_$=AIN_^1STOR1_"STA*_#TMSG+13_^1_(LDQ-_#SST_^1_(LDA-_#DSKST,Q_*UP OR DOWN_^1_(LDQ-_#TRTIDX,I_^1_(AND-_#ONEBIT+4,Q_^1_(SAZ_$UP_^1_(LDA_$=A D_^1_(STA*_#TMSG+18_^1_(LDA_$=AES_^1_(STA*_#TMSG+19_^1PRNT_#ENQ_$FW_^1_(RTJ-_#(SUPRW)_^1_(ADC_$(TMSG-*)_^1_(ADC_$ETMSG-TMSG_^1OUT_$JMP*_#(TRKSR)_^1UP_%LDA_$=A_^1_(STA*_#TMSG+18_^1_(LDA_$=A S€Z_^1_(STA*_#TMSG+19_^1_(JMP*_#PRNT_^1CONVRT_!NUM_$0_^1_(CLR_$Q_K05*C1220_^1_(SAZ_$ZROASC_F05*C1220_^1_(MUI_$=N100_^1_(DVI-_#ATEMP,I_^1_(CLR_$Q_^1_(SAZ_$ZROASC_F05*C1220_^1_(DVI-_#TEN_^1_(INA_$-10_^1_(SAP_$SETQ_^1_(INA_$10_^1_(ALS_$8_^1ZROASC_!ADD_$=A00,Q_F05*C1220_^1_(JMP*_#(CONVRT)_^1SETQ_#SET_$Q_^1_(JMP*_#(CONVRT)_^1_(EQU_$EPSS(*)_^1_(END_^__ ZPPTS CSY/ P€1_%NAM PTS_*DECK-ID S14 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(EQU_$ATTLNG(19),CATT(11),ATTB(10),SLOCK(1),STEMP(20)_^1_(EQU_$FW(3),CMOD(2),JIDX(3),BATCHN(35),SUPRW($97)_^1_(EQU_$SST($47),LPMASK($2),BMOD(15)_^1_(EQU_$TEN($46),ZERO($22),NZER€€O($12),ONEBIT($23)_^1_(EQU_$REJSUP($B2),SV($B1),GETBIN($99),GETCOM($9C)_^1_(EQU_$TERMIN(23)_B05*C1125_^1_(EQU_$CNUMT(46),TERN(47),ATTAD(48),TEMP(49),JNM1(50)_^1_(EQU_$TEMPSV(52),SW3(89),SEVTNO(91)_/08*C1500_^1_(EJT_R08*C1500_^1_(EQU_$TER(5),DISPTY(6),KB(8),MODE(11),JOBN(15),BATCH(19)_^1_(EQU_$AINT(27)_^1_(EQU_$LOCK(21)_^1_(EQU_$TRMNT(23),OUTLU(37)_^1_(EQU_$SC(36+15)_(SUPERVISOR COM€€. AREA_%05*C1175_^1_(EQU_$BUFF(SC)_D05*C1175_^1_(EQU_$GETSTR($A2)_^1_(EQU_$CAM($AE)_^1_(EXT_$SETMOV_F05*C1125_^1_(EXT_$GETBUF_^1_(EXT_$CONCAN_^1_(EQU_$GETALP($9B)_^1_(EXT_$GETLJD,DB_^1************************************************************************_^1*_*THIS PROGRAM PRINTS THE CURRENT TERMINAL STATUS._**_^1* INFORMATION WILL BE GIVEN ON THE TERMINAL ITS DISPLAY AND KEYBOARD€€_!*_^1*_!TYPE,ITS MODE,JOB NAME BATCH NUMBER AND A SWITCH WHETHER IT IS LO-_^1*_!CKED OR NOT._V*_^1*_0THE OUTPUT WILL LOOK LIKE THIS:_^1*_3TER DSP KB MODE_!JOB_!BATCH L_^1*_3XX SCN 029 SUPER_!JOBNAM XXX Y_^1*_7CRT TTY ENTRY_-N_^1*_;TTN VERIFY_^1*_;ADD IDLE_^1************************************************************************_^1*******************************************€€*****************************_^1HDR_$VFD_$N2/3,N3/0,X11/EPTS-*_^1_(VFD_$N10/0,N6/1_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$PTS-HDR_^1PTS_$RTJ+_#SETMOV_F05*C1125_^1_(ENA_$3_K05*C1125_^1_(STA-_#SST+STEMP_(CURRENT TERMINAL STATUS FROM TERMI-_^1_(RTJ-_#(GETALP)_^1_(SQZ_$VA_^1_(ENA_$9_^1_(JMP-_#(REJSUP)_^1VA_%RTJ-_#(GETBIN)_)NAL NUMBER NN TO TERMINAL NUMBER MM_^1_(SAZ_$JUMP_-ERROR_^1_(SAM_$JUMP_€€-ERROR-NON NUMERIC CHAR. OR OVERFLOW_^1_(STA-_#CNUMT,I_*CNUMT CONTAINS BIN.EQUIVALENT OF NN-_^1_(SQZ_$FOL_.COMMA_^1_(JMP*_#ONETER_^1FOL_$LDA-_#SST+SLOCK_^1_(AND-_#LPMASK+8_*COMPARE TERM.NUMBER WITH # OF_^1_(SUB-_#CNUMT,I_*TERMINALS._^1_(SAM_$JUMP_^1_(RTJ-_#(GETBIN)_)COMPARE TERMINAL #. MM WITH NUMBER_^1_(SAZ_$JUMP_-OF TERMINALS IN SYSTEM.(ERROR)_^1_(SAM_$JUMP_-ERROR_^1_(SQM_$ONETER€€_+END OF RECORD_^1JUMP_#ENA_$2_^1_(JMP-_#(REJSUP)_^1ONETER_!STA-_#TERN,I_+TERN CONTAINS BIN.EQUIVALENT OF MM-_^1_(LDA-_#SST+SLOCK_^1_(AND-_#LPMASK+8_^1_(SUB-_#TERN,I_^1_(SAP_$CONT_H05*C1125_^1_(JMP*_#JUMP_H05*C1125_^1CONT_#LDA-_#TERN,I_+CHECK IF 1'ST STATION NOT 05*C1125_^1_(SUB-_#CNUMT,I_*GREATER THEN LAST_)05*C1125_^1_(SAP_$CONT1_G05*C1125_^1_(JMP*_#JUMP_H05*C1125_^1CONT1_"ENQ_$€€17_/MOVE HEADER TO INTRGT LINE 05*C1125_^1_(LDA-_#AINT,I_F05*C1125_^1_(INA_$4_K05*C1125_^1_(STA-_#SST+STEMP_C05*C1125_^1NXTHD_"LDA_$HEADER,Q_D08*C1500_^1_(STA-_#(SST+STEMP),Q_?05*C1125_^1_(SQZ_$PRHD_H05*C1125_^1_(INQ_$-1_J05*C1125_^1_(JMP*_#NXTHD_G05*C1125_^1PRHD_#ENQ_$FW_/PRINT HEADER_.05*C1125_^1_(RTJ-_#(SUPRW)_E05*C1125_^1_(NUM_$0_K05*C1125_^1_(NUM_$18_J05*C1125_^1LOOP_#RTJ*_#AD€€R_I05*C1125_^1DIF_$ADC_$ID-ADR+1_D05*C1125_^1ADR_$NUM_$0_K05*C1125_^1_(LDA*_#ADR_I05*C1125_^1_(ADD*_#DIF_I05*C1125_^1_(STA-_#BUFF,I_F05*C1175_^1_(ENA_$36_^1_(RTJ_$GETBUF_+18 WORDS+ 4 WORDS HEADER ._^1_(ENQ_$18_J05*C1125_^1_(STQ-_#TEMP,I_+TEMP COUNTER FOR 18 WORDS_^1_(LDQ-_#AINT,I_^1LOOP1_"LDA_$=N$2020_^1_(STA-_#4,Q_^1_(LDA-_#TEMP,I_^1_(INA_$-1_^1_(SAZ_$DONE1_^1_(STA-_#TEMP,I_^1_(IN€€Q_$1_^1_(JMP*_#LOOP1_^1DONE1_"LDA-_#CNUMT,I_*FIND ATT.AD. OF ACTUAL TER._^1_(MUI-_#SST+ATTLNG_^1_(ADD-_#SST+ATTB_^1_(STA-_#ATTAD,I_^1_(CLR_$Q_^1_(LDA-_#CNUMT,I_*CNUMT CONTAINS TERMINAL #._^1_(DVI-_#TEN_^1_(ALS_$8_^1_(ADD_$=A00,Q_^1_(LDQ-_#AINT,I_^1_(STA-_#TER,Q_^1_(LDQ-_#ATTAD,I_^1_%LDA- (ZERO),Q_NRV002_^1_%AND =N$0780_ORV002_^1_%EOR =N$0380_ORV002_^1_%SAZ 1_,Z=MATRIX PRINTER_8R€€V002_^1_%JMP* DONE1A_PRV002_^1_%LDQ- BUFF,I_PRV002_^1_%INQ 16_TRV002_^1_%STQ- TEMP,I_PRV002_^1_%LDA- (ZERO),Q_NRV002_^1_%LDQ- AINT,I_PRV002_^1_%STA- DISPTY,Q_$SAVE ASCII 'P' IN INT.BUFFER_,RV002_^1_%LDQ- TEMP,I_PRV002_^1_%LDA- 1,Q_SRV002_^1_%LDQ- AINT,I_PRV002_^1_%STA- DISPTY+1,Q_"SAVE ASCII CHARS.'TR' IN INT.BUFFER_$RV002_^1_%ENQ FW_TRV002_^1_%RTJ- (SUPRW)_ORV002_^1_%NUM 0_URV0€€02_^1_%NUM 18_TRV002_^1_%JMP GO_+PROCESS NEXT TERMINAL NO._/RV002_^1DONE1A LDQ- (ZERO),Q_NRV002_^1_(LDA_$=N$2059_^1_(SQM_$LOCKD_^1_(INA_$-$B_^1LOCKD_"LDQ-_#AINT,I_^1_(STA-_#LOCK,Q_^1_(CLR_$A_K08*C1500_^1_(STA-_#TEMPSV,I_)KEEP TRACK OF IF IN SEV MOD08*C1500_^1_(LDQ-_#ATTAD,I_^1_(LDA-_#(ZERO),Q_^1_(AND-_#ONEBIT+7_)CHECK BIT #7 OF 1ST WORD IN ATT._^1_(SAZ_$NOTSUP_^1_(LDQ-_#BUFF,I_F0€€5*C1175_^1_(INQ_$3_0IT IS SUPER MODE_^1_(JMP*_#PUTBUF_^1NOTSUP_!LDA-_#CMOD,Q_+IS IDLE MODE?_^1K0F00_"AND_$=N$0F00_+(CHECK 2'ND WORD OF ATT.)_^1_(SAN_$NTIDL_,IF IT NOT IDLE MODE.GO TO NTIDL_^1_(LDQ-_#BUFF,I_+IT IS IDLE MODE_+05*C1175_^1_(JMP*_#PUTBUF_^1NTIDL_"LDA-_#JIDX,Q_^1_(AND-_#NZERO+8_^1_(STA-_#JIDX,I_^1NTIDLE_!ENQ_$2_0FIND JOB INDEX IN GET LJD_^1_(RTJ_$GETLJD_+FIND JOBNAME AND€€ STORE_^1JOBNME_!BZS_$JOBNME(5)_^1_(JMP*_#NTIDLE_+RETRY_^1_(RTJ*_#ADR1_H05*C1175_^1DIF1_#ADC_$ID-ADR1+1_C05*C1175_^1ADR1_#NUM_$0_K05*C1175_^1_(LDA*_#ADR1_H05*C1175_^1_(ADD*_#DIF1_H05*C1175_^1_(STA-_#BUFF,I_F05*C1175_^1_(LDA*_#JOBNME_^1_(LDQ-_#AINT,I_^1_(STA-_#JOBN,Q_^1_(LDA*_#JOBNME+1_^1_(STA-_#JOBN+1,Q_^1_(LDA*_#JOBNME+2_^1_(STA-_#JOBN+2,Q_^1_(LDQ-_#ATTAD,I_^1_(LDA-_#BATCHN,Q_)CON€€VERT BATCH # TO ASCII AND STORE_^1_(RTJ_$ASCII_,BATCH# IS IN WORD 35 OF ATT05*C1175_^1_(LDQ-_#AINT,I_^1_(STA-_#BATCH+1,Q_^1_(LDA-_#JNM1,I_^1_(STA-_#BATCH,Q_^1_(LDQ-_#ATTAD,I_E08*C1500_^1_(LDA-_#SW3,Q_G08*C1500_^1_(SAM_$SVMD_-SKIP IF IN SEV MODE_'08*C1500_^1_(JMP*_#CONT2_G08*C1500_^1SVMD_#LDA_$=XSEVV-VER_B08*C1500_^1_'STA-_#TEMPSV,I_E08*C1500_^1_(LDA-_#SEVTNO,Q_D08*C1500_^1_(ARS_$8_€€K08*C1500_^1_(AND-_#LPMASK+6_D08*C1500_^1_(SAZ_$BLNK_-IF NOT SKIP_/08*C1500_^1_(CLR_$Q_0CONVERT TERM NO. ASCII_#08*C1500_^1_(DVI-_#TEN_I08*C1500_^1_(ALS_$8_K08*C1500_^1_(ADD_$=A00,Q_F08*C1500_^1_(JMP*_#LOAD_H08*C1500_^1BLNK_#LDA_$=N$2020_E08*C1500_^1LOAD_#LDQ-_#AINT,I_%LOAD INTO INTER,BUFFER DIRECTLY 08*C1500_^1_(STA-_#MODE+2,Q_D08*C1500_^1CONT2_"LDQ-_#ATTAD,I_E08*C1500_^1_(LDA-_#B€€MOD,Q_+CHECK IF IT IS ENTRY OR VERIFY MODE_^1_(ALS_$2_0BASIC MODE IS IN WORD 15 OF ATT._^1_(SAP_$1_^1_(JMP*_#ENTR_^1_(LDQ-_#BUFF,I_+IT IS VERIFY MODE_)05*C1175_^1_(INQ_$6_^1_(JMP*_#PUTBUF_/MODE MESSAGE ADDRESS AND PUT IT_^1****_"1 CARD HAS BEEN DELETED_#****_605*C1175_^1HEADER_!ALF_$*, TER DSP KB MODE_"JOB_"BATCH L*_$01*C1022_^1_(EQU_$EHD(*)_^1KFF00_"NUM_$$FF00_^1ENTR_#LDQ-_#BUFF€€,I_F05*C1175_^1_(INQ_$9_0HERE,ENTRY MODE WAS FOUND._^1PUTBUF_!ADQ-_#TEMPSV,I_#UPDATE POINTER WITH SEV INFO_"08*C1500_^1_(STQ-_#TEMP,I_F08*C1500_^1_(LDA-_#(ZERO),Q_^1_(LDQ-_#AINT,I_^1_(STA-_#MODE,Q_^1_(LDQ-_#TEMP,I_^1_(LDA-_#1,Q_.PUT MODE MESSAGE INTO BUFFER_^1_(LDQ-_#AINT,I_^1_(STA-_#MODE+1,Q_^1_(LDQ-_#TEMP,I_^1_(LDA-_#2,Q_^1_(LDQ-_#TEMPSV,I_D08*C1500_^1_(SQN_$DISP_$DONT PUT BLANKS€€ INTO TERM. NO_$08*C1500_^1_(LDQ-_#AINT,I_^1_(STA-_#MODE+2,Q_^1DISP_#LDQ-_#ATTAD,I_E08*C1500_^1_(LDA-_#(ZERO),Q_)IN 1'ST WORD OF ATT:INFORMATION ON_^1_(ALS_$5_1DISPLAY TYPE._^1_(SAM_$TT_/WHAT IS DISPLAY TYPE?_^1_%LDQ- BUFF,I_'IT IS 752 TYPE_7P1*H0017_^1_(INQ_$14_^1_(JMP*_#PUTB_^1TT_%LDQ-_#BUFF,I_+IT IS CRT TYPE_,05*C1175_^1_(INQ_$12_^1PUTB_#STQ-_#TEMP,I_+PUT INTO BUFFER INFORMATION€€_^1_(LDA-_#(ZERO),Q_)ON DISPLAY TYPE_^1_(LDQ-_#AINT,I_^1_(STA-_#DISPTY,Q_^1_(LDQ-_#TEMP,I_^1_(LDA-_#1,Q_^1_(LDQ-_#AINT,I_^1_(STA-_#DISPTY+1,Q_^1_(LDQ-_#ATTAD,I_^1_(LDA-_#(ZERO),Q_)TAKE 2 BITS OF KB.TYPE IN 1ST WORD._^1_(ARS_$8_2OF ATT._^1_(AND-_#LPMASK+2_+WITH HELP OF THEIR VALUE_^1_(MUI-_#LPMASK+2_.CALCULATE THEIR PRINT ADDRESS_^1_(STA-_#TEMP,I_^1_(LDQ-_#TEMP,I_+0 KEYPUNCH_+1 TELE€€TYPE_^1_(LDA*_#KB1,Q_-2 KEYPUNCH+ADDING MACHINE_^1_(LDQ-_#AINT,I_+3 TELETYPE+NUMERIC BLOCK_^1_(STA-_#KB,Q_^1_(LDQ-_#TEMP,I_^1_(LDA*_#KB1+1,Q_^1_(LDQ-_#AINT,I_^1_(STA-_#KB+1,Q_+THEN FILL IT INTO BUFFER._^1_(LDQ-_#TEMP,I_^1_(LDA*_#KB1+2,Q_^1_(LDQ-_#AINT,I_^1_(STA-_#KB+2,Q_^1_(ENQ_$FW_^1_(RTJ-_#(SUPRW)_^1ADB_$NUM_$0_^1LGTH_#NUM_$18_^1_(STQ-_#TEMP,I_^1_(LDA-_#TERMIN,I_D05*C1125_^1_(ALS€€_$1_K05*C1125_^1_(SAP_$2_K05*C1125_^1CAN_$ENA_$39_J05*C1125_^1_(JMP-_#(REJSUP)_D05*C1125_^1_(LDA-_#OUTLU,I_^1_%SAN GO1_*752 OR 480_;P1*H0017_^1_(LDA-_#TEMP,I_^1_(SUB-_#NZERO+14_^1_(SAZ_$1_^1GO1_$JMP*_#GO_^1_(LDA-_#CNUMT,I_*IF END OF SCREEN AND_%05*C1175_^1_(SUB-_#TERN,I_+LAST TERN REQUESTED-EXIT_!05*C1175_^1_(SAM_$1_K05*C1175_^1_(JMP*_#OUT_I05*C1175_^1_(RTJ+_#CONCAN_^1_(SAZ_$1_^1_€€(JMP*_#CAN_I05*C1125_^1_(ENQ_$5_^1_(RTJ-_#(SUPRW)_^1_(NUM_$$2000_^1_(ENQ_$17_J05*C1125_^1_(LDA-_#AINT,I_F05*C1125_^1_(INA_$4_K05*C1125_^1_(STA-_#SST+STEMP_C05*C1125_^1NXTHW1_!LDA*_#HEADER,Q_D05*C1125_^1_(STA-_#(SST+STEMP),Q_?05*C1125_^1_(SQZ_$PRHD1_G05*C1125_^1_(INQ_$-1_J05*C1125_^1_(JMP*_#NXTHW1_F05*C1125_^1PRHD1_"ENQ_$FW_J05*C1125_^1_(RTJ-_#(SUPRW)_E05*C1125_^1_(ADC_$0_K05*C1125_€€^1_(NUM_$18_J05*C1125_^1GO_%LDA-_#CNUMT,I_*CHECK IF LAST TERMINAL_^1_(SUB-_#TERN,I_+HAS BEEN REACHED_^1_(SAP_$3_^1_(RAO-_#CNUMT,I_^1_(JMP_$LOOP_^1OUT_$JMP-_#(SV)_H05*C1175_^1******** THIS ROUTINE CONVERTS THREE HEXADECIMAL NUMBERS TO ASCII FORM.*_^1*_'THE RESULT WILL BE GIVEN IN THE FOLLOWING FORM:_.*_^1*_,JNM1 CONTAINS ASCII EQ. OF 1ST NUMBER._2*_^1*_,A_$,,_%,, ,, ,, THE TWO LAS€€T NUMBERS._(*_^1************************************************************************_^1ASCII_"0_'0_^1_(AND-_#LPMASK+12_^1_(CLR_$Q_^1_(LLS_$8_^1_(ADQ_$=N$2030_^1_(STQ-_#JNM1,I_^1_(CLR_$Q_^1_(LLS_$4_^1_(ALS_$12_^1_(LRS_$8_^1_(ADD_$=A00_^1_(JMP*_#(ASCII)_^1_]_^1_]_^1ID_%ALF_$3,IDLE_^1SUP_$ALF_$3,SUPER_^1VER_$ALF_$3,VERIFY_^1ENT_$ALF_$3,ENTRY_^1CR_%ALF_$2, CRT_^1_%ALF 2, 752_MP1*H€Δ0017_^1PRT_"ALF 2, PRT_PRV002_^1KB1_$ALF_$3, 029_^1KB2_$ALF_$3, TTY_^1KB3_$ALF_$3, ADD_^1KB4_$ALF_$3, TTN_^1SEVV_#ALF_$3,S/V-_F08*C1500_^1SEVE_#ALF_$2,S/E-_F08*C1500_^1_(EQU_$EPTS(*)_^1_(END_^__ ΔPSDMY CSY/ P€1_%NAM SDMY_)DECK-ID S00 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(EQU_$REJSUP($B2)_^1HDR_$VFD_$N5/$18,X11/ESDMY-*_^1_(NUM_$1,0,0_^1_(ADC_$SDMY-HDR_^1*_]_^1SDMY_#ENA_$33_/COMMAND NOT IN SYSTEM_^1_(JMP-_#(REJSUP)_^1_(EQU_$ESDMY(*)_^1_(END_^__ €PSOF CSY/ P€1_%NAM SOF_*DECK-ID S20 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* SUPERVISOR FUNCTION CALLED TO EXIT SUPER BEFORE DELAY TIME IS OVER_^1* PARAMETER IS SOF_^1_(EQU_$SST($47),STEMP(20)_^1_(EQU_$AINT(27)_^1_(EQU_$FW(3)_^1_(EQU_$GETCOM($9C),REJSUP€€($B2),SUPRW($97)_^1_(EQU_$RELFOR($AD),DISPCH($EA)_^1_(EQU_$LPMASK(2),ONEBIT($23)_^1_(EQU_$DISPLY($A0)_^1_(EQU_$ZROBIT($33)_^1_(EQU_$CLRSR($93)_^1_(EXT_$SETDIS_^1HDR_$VFD_$N1/1,N1/1,N3/0,X11/ESOF-*_^1_(NUM_$1_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$SOF-HDR_^1*_]_^1SOF_$ENA_$3_0CHECK FO REND OF RECORD OF SOF_^1_(STA-_#SST+STEMP_(COMMAND_^1_(RTJ-_#(GETCOM)_^1_(SQM_$2_^1_(ENA_$9_^1_(JMP-_#(REJS€€UP)_^1_(LDA-_$39,I_,BASIC_!INPUT UNIT_^1_(STA-_$36,I_,CURRENT INPUT UNIT_^1_(LDA-_$40,I_,BASIC_"OUTPUT UNIT_^1_(STA-_$37,I_,CURRENT OUTPUT UNIT_^1_(ENQ_%FW_^1_(RTJ-_$(SUPRW)_^1_(ADC_%(MESS-*)_^1_(ADC_%EMESS-MESS_^1_(LDA-_#(I)_^1_(AND-_#LPMASK+6_)CHECK IF TTY_^1_(SAZ_$TTY_^1_(LDA-_#(I)_.CLEAR S/V BIT_^1_(AND-_#ZROBIT+7_^1_(STA-_#(I)_^1_(ENA_$2_^1_(RTJ-_#(DISPLY)_)SET DATA DEFIN B€tITS TO IDK_^1_(ADC_$SETDIS_^1TTY_$JMP-_#(CLRSR)_^1MESS_#ALF_$3,SV OFF_^1_(EQU_$EMESS(*)_^1_(EQU_$ESOF(*)_^1_(END_^__tPTOF CSY/ P€1_%NAM TOF_*DECK-ID S02 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1************************************************************************_^1***_"1._!TOF,XX_1TURN LOCK BIT FOR THIS TERMINAL_^1*_]_^1*_$2._!TOF,XX,YY,_-TURN SUP.LOCK BIT FOR TER.€€XX_^1************************************************************************_^1*_OTO TER.YY._^1*_]_^1_(EQU_$SST($47),SLOCK(1)_^1_(EQU_$ATTB(10),ATTLNG(19)_^1_(EQU_$LPMASK($2),ONEBIT($23)_^1_(EQU_$STEMP(20)_^1_(EQU_$GETBIN($99),GETCOM($9C)_^1_(EQU_$TEN($46)_^1_(EQU_$FW(3)_^1_(EQU_$ZERO($22)_^1_(EQU_$GETALF($9B)_^1_(EQU_$SUPRW($97)_^1_(EQU_$REJSUP($B2)_^1_(EQU_$SV($B1)_^1_(EQU_$FLAG€€(46)_^1_(EQU_$TNO(47),TNOMAX(48),BUF(49)_^1_(EQU_$NUMB(50),FLAG1(51)_^1_(EXT_$SETMOV_F05*C1124_^1_(EXT_$PRTMSG_^1_(EQU_$AINT(27)_^1HDR_$VFD_$N5/$18,X11/ETOF-*_^1_(NUM_$1,0,0_^1_(ADC_$TOF-HDR_^1TOF_$RTJ+_#SETMOV_F05*C1124_^1_(ENA_$3_K05*C1124_^1_(STA-_#SST+STEMP_^1_(RTJ-_#(GETALF)_)CHECK WHETHER COMMAND FOLLOWED BY_^1_(SQZ_$GETTNO_+A COMMA_^1ICKCMD_!ENA_$9_0INVALID COMMAND FORMAT._^€€1_(JMP-_#(REJSUP)_^1GETTNO_!STQ-_#FLAG,I_^1_(SET_$A_^1_(STA-_#FLAG1,I_*PRINTING FLAG_^1_(RTJ-_#(GETBIN)_)GET TERMINAL NUMBER_^1_(SAM_$ITN_^1_(SAZ_$ITN_I05*C1124_^1_(STA-_#TNO,I_^1_(SQZ_$1_^1_(JMP*_#STORE_^1_(RTJ-_#(GETBIN)_)GET MAX. TER. NO._^1_(SAM_$ITN_^1_(SAZ_$1_K05*C1124_^1_(SQM_$GO_/E.O.R. AFTER 2ND PARAM._^1ITN_$ENA_$2_0INVALID TER. NO._^1_(JMP-_#(REJSUP)_^1GO_%STA-_#TNOMAX,I€€_^1_(RAO-_#FLAG,I_^1_(SUB-_#TNO,I_^1_(SAP_$1_^1_(JMP*_#ITN_^1_(LDA-_#SST+SLOCK_^1_(AND-_#LPMASK+8_)00FF_^1_(SUB-_#TNOMAX,I_^1_(SAP_$1_^1_(JMP*_#ITN_^1STORE_"LDA-_#SST+SLOCK_^1_(AND-_#LPMASK+8_)00FF_^1_(SUB-_#TNO,I_^1_(SAP_$GOOD_^1_(JMP*_#ITN_^1GOOD_#LDA-_#TNO,I_^1_(MUI-_#SST+ATTLNG_^1_(ADD-_#SST+ATTB_^1_(TRA_$Q_^1_(LDA-_#(ZERO),Q_^1_(AND-_#ONEBIT+7_)CHECK WHETHER THIS TER. IS SUP._€€^1_(SAZ_$1_^1_(JMP*_#NEXT_-TER.IS SUP SO GO TO NEXT TER._^1_(LDA-_#(ZERO),Q_)TURN OFF SUP. LOCK BIT._^1_(AND-_#LPMASK+15_(7FFF_^1_(EOR-_#ONEBIT+15_(8000_^1_(STA-_#(ZERO),Q_^1_(JMP*_#PRMSG_^1NEXT_#LDA-_#FLAG,I_^1_(SAZ_$END_^1_(RAO-_#TNO,I_,GO TO NEXT TER. NO._^1_(LDA-_#TNOMAX,I_)CHECK WHETHER THIS TER. IS INSIDE_^1_(SUB-_#TNO,I_,NEEDED LIMITS._^1_(SAM_$END_^1_(JMP*_#GOOD_^1END_$LDA-€€_#FLAG1,I_^1_(INA_$0_^1_(SAZ_$FIN_^1_(CLR_$Q_^1_(STQ-_#FLAG1,I_^1_(ALS_$1_^1_(JMP*_#PRNT_^1FIN_"JMP-_#(SV)_^1PRMSG_"LDA-_#TNO,I_^1_(CLR_$Q_^1_(DVI-_#TEN_^1_(ALS_$8_^1_(ADD_$=A00,Q_^1_(STA-_#NUMB,I_+STORE RER.NO.IN ASCII FORM._^1_(LDA-_#FLAG1,I_^1_(SAP_$SAVE_^1_(CLR_$A_^1_(STA-_#FLAG1,I_^1_(ENA_$55_/PRINT HEADER_^1_(RTJ+_#PRTMSG_^1SAVE_#LDQ-_#FLAG1,I_*STORE TERMINAL NO. SPACED BY_^1€J_(QLS_$1_0BLANKS INTO BUFFER_^1_(ADQ-_#AINT,I_^1_(LDA-_#NUMB,I_^1_(STA-_#4,Q_^1_(LDA_$=A,_^1_(STA-_#5,Q_^1_(RAO-_#FLAG1,I_^1_(LDA-_#FLAG1,I_^1_(INA_$-12_^1_(SAN_$EXIT_^1_(STA-_#FLAG1,I_^1_(ENA_$24_^1PRNT_#STA*_#LENGTH_^1_(ENQ_$FW_^1_(RTJ-_#(SUPRW)_^1_(ADC_$0_^1LENGTH_!NUM_$24_^1EXIT_#JMP*_#NEXT_^1*_]_^1_(EQU_$ETOF(*)_^1_(END_^__JPTON CSY/ P€1_%NAM TON_*DECK-ID S01 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1************************************************************************_^1***_"1._!TON,XX_1TURN OFF LOCK BIT FOR THIS TERMINAL_^1*_]_^1*_$2._!TON,XX,YY,_-TURN OFF SUP.LOCK BIT F€€OR TER.XX_^1************************************************************************_^1*_OTO TER.YY._^1*_]_^1_(EQU_$SST($47),SLOCK(1)_^1_(EQU_$ATTB(10),ATTLNG(19)_^1_(EQU_$LPMASK($2),ONEBIT($23)_^1_(EQU_$STEMP(20)_^1_(EQU_$GETBIN($99),GETCOM($9C)_^1_(EQU_$TEN($46)_^1_(EQU_$FW(3)_^1_(EQU_$ZERO($22)_^1_(EQU_$GETALF($9B)_^1_(EQU_$SUPRW($97)_^1_(EQU_$REJSUP($B2)_^1_(EQU_$SV($B1)_^1_(EQ€€U_$FLAG(46)_^1_(EQU_$TNO(47),TNOMAX(48),BUF(49)_^1_(EXT_$SETMOV_F05*C1124_^1_(EXT_$PRTMSG_^1_(EQU_$AINT(27)_^1_(EQU_$FLAG1(50),NUMB(51)_^1HDR_$VFD_$N5/$18,X11/ETON-*_^1_(NUM_$1,0,0_^1_(ADC_$TON-HDR_^1TON_$RTJ+_#SETMOV_F05*C1124_^1_(ENA_$3_K05*C1124_^1_(STA-_#SST+STEMP_^1_(RTJ-_#(GETALF)_)CHECK WHETHER COMMAND FOLLOWED BY_^1_(SQZ_$GETTNO_+A COMMA_^1ICMCMD_!ENA_$9_0INVALID COMMAND FO€€RMAT_^1_(JMP-_#(REJSUP)_^1GETTNO_!STQ-_#FLAG,I_^1_(SET_$A_^1_(STA-_#FLAG1,I_*PRINTING FLAG_^1_(RTJ-_#(GETBIN)_)GET TERMINAL NUMBER_^1_(SAM_$ITN_^1_(SAZ_$ITN_I05*C1124_^1_(STA-_#TNO,I_^1*3 CARDS HAVE BEEN DELETED_D05*C1124_^1_(SQZ_$1_^1_(JMP*_#STORE_^1_(RTJ-_#(GETBIN)_)GET MAX. TER. NO._^1_(SAM_$ITN_^1_(SAZ_$1_K05*C1124_^1_(SQM_$GO_/E.O.R. AFTER 2ND PARAM._^1ITN_$ENA_$2_0INVALID TER€€. NO._^1_(JMP-_#(REJSUP)_^1GO_%STA-_#TNOMAX,I_^1_(RAO-_#FLAG,I_^1_(SUB-_#TNO,I_^1_(SAP_$1_^1_(JMP*_#ITN_^1_(LDA-_#SST+SLOCK_^1_(AND-_#LPMASK+8_)00FF_^1_(SUB-_#TNOMAX,I_^1_(SAP_$1_K05*C1124_^1_(JMP*_#ITN_I05*C1124_^1STORE_"LDA-_#SST+SLOCK_^1_(AND-_#LPMASK+8_)00FF_^1_(SUB-_#TNO,I_^1_(SAP_$GOOD_^1_(JMP*_#ITN_^1GOOD_#LDA-_#TNO,I_^1_(MUI-_#SST+ATTLNG_^1_(ADD-_#SST+ATTB_^1_(TRA_$Q_^1_(LD€€A-_#(ZERO),Q_^1_(AND-_#ONEBIT+7_)CHECK WHETHER THIS TER. IS SUP._^1_(SAZ_$1_^1_(JMP*_#NEXT_-TER.IS SUP SO GO TO NEXT TER._^1_(LDA-_#(ZERO),Q_)TURN OFF SUP. LOCK BIT._^1_(AND-_#LPMASK+15_(7FFF_^1_(STA-_#(ZERO),Q_^1_(JMP*_#PRMSG_^1NEXT_#LDA-_#FLAG,I_^1_(SAZ_$END_^1_(RAO-_#TNO,I_,GO TO NEXT TER. NO._^1_(LDA-_#TNOMAX,I_)CHECK WHETHER THIS TER. IS INSIDE_^1_(SUB-_#TNO,I_,NEEDED LIMITS._€€^1_(SAM_$END_^1_(JMP*_#GOOD_^1END_$LDA-_#FLAG1,I_^1_(INA_$0_^1_(SAZ_$FIN_^1_(CLR_$Q_^1_(STQ-_#FLAG1,I_^1_(ALS_$1_^1_(JMP*_#PRNT_^1FIN_"JMP-_#(SV)_^1PRMSG_"LDA-_#TNO,I_^1_(CLR_$Q_^1_(DVI-_#TEN_^1_(ALS_$8_^1_(ADD_$=A00,Q_^1_(STA-_#NUMB,I_+TER.NO.IN ASCII FORM_^1_(LDA-_#FLAG1,I_^1_(SAP_$SAVE_^1_(CLR_$A_^1_(STA-_#FLAG1,I_^1_(ENA_$56_/PRINT HEADER_^1_(RTJ+_#PRTMSG_^1SAVE_#LDQ-_#FLAG1,I_€\*PUT ASCII INFORMATION INTO BUFFER_^1_(QLS_$1_^1_(ADQ-_#AINT,I_^1_(LDA-_#NUMB,I_^1_(STA-_#4,Q_^1_(LDA_$=A,_^1_(STA-_#5,Q_^1_(RAO-_#FLAG1,I_^1_(LDA-_#FLAG1,I_^1_(INA_$-12_^1_(SAN_$EXIT_^1_(STA-_#FLAG1,I_^1_(ENA_$24_^1PRNT_#STA*_#LENGTH_^1_(ENQ_$FW_^1_(RTJ-_#(SUPRW)_^1_(ADC_$0_^1LENGTH_!NUM_$24_^1EXIT_#JMP*_#NEXT_^1*_]_^1_(EQU_$ETON(*)_^1_(END_^__ \PTRC CSY/ P€1_%NAM TRC_*DECK-ID S12 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1*_$TRC AND HDR COMMAND ANALYSIS_^1*_]_^1*_$COMMAND FORMAT:_^1*_]_^1*_$TRC,R_%47=\R\=1_^1*_]_^1*_$HDR_]_^1*_]_^1*_#HDR,,BLOCK#_^1*_]_^1*_$HDR,JOBNAME,BLOCK#_^1*_]_^1*_$R-RE€€COVERY AREA_^1*_]_^1*_]_^1*_#THIS SUPERVISOR FUNCTION DUTY IS TO REDEFINE THE 'EOD1'_^1*_]_^1* WHICH IS SYSTEM'S LABEL THAT SPECIFIES END OF DATA FOR THE_^1*_]_^1* SYSTEM_]_^1*_]_^1*_]_^1*_]_^1* IN CASE OF TAPE RECOVERY, THE 'EOD1' IS TAKEN FROM THE_^1*_]_^1* RECOVERY AREA,_#ITS POSITION IN THE TAPE IS ASSUMED_^1* ACCORDING THE DATA IN THE EOD1, AND THERE IT IS €€WRITTEN._^1*_]_^1* FOR HDR COMMAND._^1*_]_^1*_#HDR/HDR,,BLOCK# WRITES AN INITIAL EOD1 IN ASCII AT THE BEGINNING_^1*_]_^1*_#OF THE TAPE._^1*_$HDR,JOBNAME,BLOCK# - WRITES EOD1 AFTER THE_^1*_]_^1*_2SPECIFIED NO OF BLOCKS_^1*_]_^1* THE LABEL EOD1 WITH 14 FOLLOWING BLANKS IS WRITTEN IN THE CODE_^1*_]_^1*_#SPECIFIED IN THE MTF OF THE JOB._^1*_6**********************_^1* MESSAGES A€€ND ERROR MESSAGES:_^1*_]_^1*_$FOR TAPE RECOVERY:_^1*_]_^1****LAST RECORDED BATCH IS XXX****_^1*_]_^1*_$IN CASE END OF DATA IS FOUND BEFORE THE BLOCK NO IS_^1*_]_^1*_$COUNTED, WHEN_!HDR,BLOCK#_"OR TRC,R IS PERFORMED THE ERROR_^1*_]_^1*_$MESSAGE IS:_!****END OF DATA****_^1*_]_^1*_$FOR SYNTAX ERRORS THE GENERAL ERROR MESSAGES IS PRINTED_^1*_]_^1*_$IF WRONG RECOVERY ARE€€A IS SPECIFIED (BIT IS OFF OR MISTAKEN_^1*_$EOD1 IN THE RECOVERY AREA) **** RECOVERY AREA ERROR***_^1*_]_^1*_]_^1* EXTERNALS_^1*_]_^1_(EXT_$SETMOV_^1_(EXT_$MOVREC_^1_(EXT_$SITRDA_+TAPE RECOVERY AREA DISK ADRESS._^1_(EXT_$BD_/BIANRY TO DECIMAL CONVERSION_^1_(EXT_$LOG1A_^1_(EXT_$GETLJD_^1_(EXT_$PRTMSG_^1*_]_^1* SYSTEMS CONSTANTS_^1*_]_^1_(EQU_$SST($47),STEMP(20)_^1*_]_^1* TRANSFER €€VECTOR_^1*_]_^1_(EQU_$REDDWA($A9),CLCDWA($90),TAPIO($9A),SUPRW($97)_^1_(EQU_$RELFOR($AD)_^1_(EQU_$CAM($AE)_^1_(EQU_$WAIT($B0)_^1_(EQU_$SV($B1)_^1_(EQU_$REJSUP($B2)_^1_(EQU_$EXTSR($92),ENTSR($91)_^1_(EQU_$RTNSR($98)_^1_(EQU_$EXDFUN($9F),ENTPRG($9E)_^1_(EQU_$GETBIN($99),GETALP($9B),GETCOM($9C)_^1* EST EQUATES:_^1*_]_^1_(EQU_$MTFDA(42)_(MTF DIRECTORY DSK ADDRESS_^1*_]_^1* ATT EQUA€€TES_^1*_]_^1_(EQU_$ATEMP(73)_^1_(EQU_$JIDX(3)_*JOB INDEX_^1_(EQU_$INBUF(5)_^1_(EQU_$TRB(6)_^1_(EQU_$OUTBUF(28)_^1_(EQU_$IRB(27)_*INTERROGATE BUFFER_^1_(EQU_$SVCA(36),MTCA(46)_(COMMUNICATION AREA_^1_(EQU_$TRMNT(23)_(TERMINATION_^1_(EQU_$MTFENT(MTCA)_^1_(EQU_$MTFEXT(MTCA+1)_^1_(EQU_$EODADR(MTCA+2)_^1_(EQU_$MTF(MTCA+3)_%MAG TAPE FORMAT_^1_(EQU_$BCOUNT(SVCA+5)_"TIO BLOCK COUNTER._^1_(E€€QU_$TRANUM(MTCA+11)_!TAPE RECOVERY AREA_^1_(EQU_$POSITN(MTCA+12)_#EOD1 POSITION_^1_(EQU_$TM(MTCA+13)_%NO OF TAPE MARKS_^1_(EQU_$MAXTRA(32)_'MAXIMUM NUMBER OF RECOVERY AREAS._^1_(EQU_$TRALNG(40)_'RECOVERY AREA LENGTH._^1* EOD1 EQUATES_^1*_]_^1_(EQU_$TOT(2)_^1_(EQU_$MTFN(3)_^1_(EQU_$FILE(4)_^1_(EQU_$JOB(5)_^1_(EQU_$BATCH(8)_^1_(EQU_$LBC(12)_*LAST CHAR IN BLOCK_^1*_]_^1* GENERAL EQU€€ATES_^1*_]_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$MO(4)_,MOTION_^1_(EQU_$BFR(10)_*BINARY FREAD_^1_(EQU_$BFW(11)_*BINARY FWRITE_^1_(EQU_$CFR(18)_*CODED FREAD_^1_(EQU_$CFW(19)_)CODED FWRITE_^1_(EQU_$FR(2)_,BCD FREAD_^1_(EQU_$FW(3)_,FORMATED WRITE_^1_(EQU_$MATER($0805)_$INDEX OF MATER FUNCTION_^1*_]_^1HDRPRG_!VFD_$N2/3,N3/0,X11/ETRC-*_^1_(NUM_$1,0,0€€_^1_(ADC_$TRC-HDRPRG_^1_(ADC_$ENT2-HDRPRG_^1TRC_$RTJ+_#SETMOV_^1_(ENQ_$MO_J05*C1110_^1_(RTJ-_#(TAPIO)_E05*C1110_^1_(NUM_$$3000_,REWIND_405*C1110_^1_(SQP_$2_K05*C1110_^1_(ENA_$58_/TAPE I/O ERROR._+05*C1110_^1_(JMP-_#(REJSUP)_D05*C1110_^1_(LDA-_#ONEBIT+15_^1_(STA-_#TRMNT,I_*CANCEL BIT._^1*_]_^1_(CLR_$A_^1_(STA-_#JIDX,I_+INDICATION THAT TRC WAS EXEC_^1_(STA-_#INBUF,I_^1_(STA-_#OUTBUF€€,I_^1_(STA-_#TRB,I_^1*_]_^1_(LDA_$=XMATER_*STORE THE MATER INDEX_^1_(STA-_#MTFEXT,I_^1*_]_^1*_!CHECK THE SYNTAX OF THE COMMAND_^1*_]_^1_(LDQ-_#IRB,I_,CHECK IF HDR OR TRL_^1_(LDA-_#4,Q_^1_(EOR_$=AHD_^1_(SAZ_$1_^1_(ENA_$1_^1_(STA-_#MTFENT,I_^1_(ENQ_$3_^1_(STQ-_#SST+STEMP_^1_(SAZ_$1_^1_(JMP*_#TRCCMD_^1*_]_^1*_!HDR_!COMMAND_^1*_]_^1_(LDA_$=A_/TEMPORARY AREA FOR JOB NAME_^1_(STA-€€_#MTF,I_^1_(STA-_#MTF+1,I_^1_(STA-_#MTF+2,I_^1_(CLR_$A_^1_(STA*_#LOCAL_^1_(RTJ-_#(GETALP)_^1_(SAM_$IERR3_,ERROR_^1_(SQZ_$PARAM1_+COMMA_^1_(SQM_$LD1_I05*C1174_^1_(INA_$-$20_H05*C1174_^1_(SAN_$IERR3_G05*C1174_^1_(RTJ-_#(GETCOM)_D05*C1174_^1_(SQP_$IERR3_,INVALID COMMAND FORMAT_^1*_]_^1LD1_$CLR_$A_^1_(JMP*_#SVEBLK_^1*_]_^1PARAM1_!RTJ-_#(GETALP)_^1_(SAM_$IERR3_^1_(SQN_$1_^1_(JMP*_#PARAM€€2_+COMMA_^1_(SQP_$LD2_.ASCII CHARACTER_^1_(JMP*_#LD1_.EOR_^1IERR3_"JMP*_#ERR3_^1LD2_$INA_$-$20_-WHICH CHARACTER_^1_(LDQ*_#LOCAL_^1_(QLS_$15_^1_(SQM_$1_^1_(ALS_$8_^1_(QLS_$1_^1_(QRS_$1_^1_(ADD-_#MTF,B_,TEMPORARY AREA FOR JOB NAME_^1_(STA-_#MTF,B_^1_(RAO*_#LOCAL_^1_(LDA*_#LOCAL_^1_(INA_$-6_J05*C1158_^1_(SAZ_$1_^1_(JMP*_#PARAM1_^1_(RTJ-_#(GETALP)_D05*C1158_^1_(SAM_$JERR3_G05*C1158_^€€1_(SQZ_$PARAM2_F05*C1158_^1_(SQM_$JLD1_H05*C1158_^1IFEOR_"INA_$-$20_H05*C1158_^1_(SAN_$JERR3_G05*C1158_^1_(RTJ-_#(GETCOM)_D05*C1158_^1_(SQP_$JERR3_G05*C1158_^1JLD1_#JMP*_#LD1_I05*C1158_^1JERR3_"JMP*_#ERR3_H05*C1158_^1ERR1_#ENA_$0_^1_(JMP-_#(REJSUP)_)INVALID JOB NAME_^1*_]_^1*_]_^1PARAM2_!RTJ-_#(GETBIN)_^1_(SAM_$ERR2_-INVALID PARAMETER_^1_(SQP_$ERR3_-INVALID_!COMMAND FORMAT_^1SVEBLK€€_!STA-_#POSITN,I_^1_(JMP*_#GETJOB_+GET MTFN_!FROM THE TOB ENTRY_^1*_]_^1*_]_^1*_]_^1TRCCMD_!RTJ-_#(GETALP)_^1_(SQN_$ERR3_-NOT COMMP_^1_(RTJ-_#(GETBIN)_^1*_]_^1_(SAM_$ERR2_-INVALID PARAMETER_^1_(SQM_$2_^1ERR3_#ENA_$9_0ILLEGAL COMMAND FORMAT_^1_(JMP-_#(REJSUP)_^1_(SAZ_$ERR2_^1_(STA-_#TRANUM,I_^1_(INA_$-MAXTRA-1_^1_(SAM_$2_^1ERR2_#ENA_$3_^1_(JMP-_#(REJSUP)_^1_(JMP*_#GETBUF_^1*_]_^1GE€€TJOB_!LDA-_#MTF,I_^1*_]_^1*_!IF BLANK JOB NAME, IT IS SYSTEMS REQUEST.WRITE EOD IN BCD_%._^1*_]_^1_(ALS_$8_^1_(AND-_#LPMASK+8_^1_(INA_$-$20_^1_(SAN_$2_^1_(SET_$A_0MTFN<0_^1_(JMP*_#G11_.MTFN=0_^1_(LDA-_#MTF,I_^1_(STA*_#JOBT_^1_(LDA-_#MTF+1,I_^1_(STA*_#JOBT+1_^1_(LDA-_#MTF+2,I_^1_(STA*_#JOBT+2_^1_(ENQ_$1_^1_(RTJ+_#GETLJD_^1JOBT_#NUM_$0_^1_(NUM_$0_^1_(NUM_$0_^1_(NUM_$0_^1LOCAL_"NUM_$€€0_^1_(JMP*_#GETJOB_^1*_]_^1_(INQ_$-1_^1_(SQZ_$1_^1_(JMP*_#ERR1_-INVALID JOB NAME_^1_(LDA*_#JOBT+4_^1_(ALS_$8_^1_(AND-_#LPMASK+8_^1G11_$STA-_#MTF+4,I_*MTFN_^1_(JMP*_#GETBUF_^1*_]_^1*_"GET CORE ROUTINE_^1*_]_^1GETCOR_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(STQ-_#ATEMP,I_^1_(RTJ+_#SETMOV_^1*_]_^1_(CLR_$A_^1_(STA-_#ATEMP+1,I_^1*_]_^1GETAG_"LDQ-_#ATEMP,I_^1_(RTJ-_#(CAM)_^1_(SAP_$BUFOK_^1_(RAO-_#A€€TEMP+1,I_^1_(SUB_$=N100_^1_(SAZ_$NOCORE_+TRIED_!100_!TIMES_^1_(RTJ-_#(WAIT)_^1_(JMP*_#GETAG_^1NOCORE_!RTJ-_#(RTNSR)_^1_(ENA_$11_/MEMORY FULL_^1_(JMP_$ERROR_^1BUFOK_"JMP-_#(EXTSR)_^1*_]_^1*_!ASK FOR BUFFER FOR EOD1_^1*_]_^1GETBUF_!ENQ_$TRALNG+3_^1_(RTJ*_#GETCOR_^1*_]_^1_(STQ-_#EODADR,I_)FIX BCKWRDS POINTER_^1_(ENA_$EODADR_^1_(ADD-_#I_^1_(STA-_#(ZERO),Q_^1*_]_^1_(LDA-_#MTFENT,I_^1€€_(SAZ_$1_^1_(JMP*_#TRC1_^1_(LDQ-_#EODADR,I_^1_(INQ_$3_^1_(STQ-_#SST+STEMP_^1_(ENQ_$TRALNG-1_)EOD1 LENGTH_^1BACK_#STA-_#(SST+STEMP),Q_#ZEROS TO EOD1_^1_(INQ_$-1_^1_(SQM_$1_^1_(JMP*_#BACK_^1*_]_^1_(LDQ-_#EODADR,I_^1_(LDA-_#MTF,I_^1_(STA-_#JOB+3,Q_^1_(LDA-_#MTF+1,I_^1_(STA-_#JOB+4,Q_^1_(LDA-_#MTF+2,I_^1_(STA-_#JOB+5,Q_^1_(LDA-_#MTF+4,I_^1_(SAP_$G12_.NOT SYSTEMS REQUEST_^1_(LDA_$=N$300€€0_^1_(STA-_#MTF+2,I_+WRITE EOD1 IN BINARY_^1_(JMP*_#LOCATE_^1G12_$STA-_#MTFN+3,Q_^1_(INQ_$3_^1_(JMP*_#REDMTF_^1*_]_^1*_'TRC_#COMMAND_^1*_]_^1TRC1_#ENQ_$1_^1_(STQ*_#NOWRD_^1_(ENA_$ATEMP+1_^1_(ADD-_#I_^1_(STA*_#CORAD_,FOR READ REQUEST_^1_(CLR_$Q_^1_(LDA-_#TRANUM,I_^1_(INA_$-1_^1_(DVI-_#ONEBIT+4_^1_(INQ_$-15_^1_(TCQ_$Q_^1_(INQ_$0_/IF Q=-0_!IT BECOMES 0_^1_(LDQ-_#ONEBIT,Q_^1_(STQ-_#ATE€€MP,I_*RECOVERY AREA CONTROL BIT_^1_(TRA_$Q_^1RECAD_"LDA_$=XSITRDA_)RECOVERY AREA DSK ADDRESS_^1_(RTJ*_#REDWRD_+READ CONTROL WORD TO ATEMP+1,I_^1*_]_^1*_]_^1_(LDA-_#ATEMP+1,I_^1_(AND-_#ATEMP,I_^1_(SAZ_$1_^1_(JMP*_#REDTRA_^1RECERR_!LDQ-_#EODADR,I_^1_(RTJ-_#(RELFOR)_^1ILRA_#ENA_$84_/ILLEGAL RECOVERY AREA NO._^1_(JMP-_#(REJSUP)_^1*_]_^1*_]_^1REDWRD_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ€€-_#(CLCDWA)_^1_(STQ*_#DA_^1_(STA*_#DA+1_^1_(RTJ+_#SETMOV_^1_(RTJ-_#(REDDWA)_^1CORAD_"NUM_$0_^1DA_%NUM_$0,0_^1NOWRD_"NUM_$0_^1_(NUM_$0_^1_(JMP-_#(EXTSR)_^1*_]_^1*_]_^1* READ TAPE RECOVERY AREA_^1*_]_^1*_]_^1*_]_^1ENT2_#RTJ+_#SETMOV_^1REDTRA_!ENQ_$TRALNG_+EOD1 LENGTH_^1_(STQ*_#NOWRD_^1_(RTJ*_#IOON_-I/O BIT ON,ON EOD BUFFER_^1_(STQ*_#CORAD_^1_(LDA-_#TRANUM,I_)RECOVERY AREA NO._^1_(MU€€I_$=XTRALNG_)EOD1 LENGTH_^1_(TRA_$Q_^1_(LDA*_#RECAD+1_*R.A._^1_(RTJ*_#REDWRD_^1_(RTJ*_#IOOFF_,I/O BIT OFF,ON EOD BUFFER_^1_(INQ_$3_^1_(LDA-_#TOT,Q_,TOTAL NO OF RECORDS IN EOD1._^1_(SAP_$AA9_^1_(JMP*_#RECERR_^1*_,READ_!MAG TAPE_"FORMAT_^1*_]_^1*_]_^1AA9_$STA-_#POSITN,I_)SAVE BLOCK COUNT_^1REDMTF_!ENA_$MTF_.MTF AREA IN MTCA_^1_(ADD-_#I_^1_(STA*_#CORAD_^1_(ENA_$5_^1_(STA*_#NOWRD_^1€€_(MUI-_#MTFN,Q_+MTF# X5_^1_(STA-_#SST+STEMP_^1_(LDQ-_#SST_^1_(LDA-_#MTFDA,Q_*MTF D.A_^1_(LDQ-_#SST+STEMP_(WHICH ENTRY_^1_(RTJ*_#REDWRD_^1*_]_^1*_"CHECK IF MTF ACTIVE_^1*_]_^1_(LDA-_#MTF+3,I_^1_(SAM_$2_0FORMAT IS ACTIVE_^1_(ENA_$83_/UNDEFINED FMT NO._^1_(JMP*_#ERROR_^1*_]01*C1024_^1_(LDQ-_#SVCA+2,I_)TAPE L.U._^1_(LDQ+_#LOG1A,Q_^1_(LDA-_#8,Q_^1_(EOR_$=N$946_+CHECK FOR_107*C1410_^1_(A€€ND-_#LPMASK+12_(7T TAPE_307*C1410_^1_(SAZ_$A2Q_.DRIVE_507*C1410_^1_(LDA-_#8,Q_I07*C1410_^1_(EOR_$=N$B56_F07*C1410_^1_(AND-_#LPMASK+12_C07*C1410_^1A2Q_$TRA_$Q_K07*C1410_^1_(LDA-_#MTF+2,I_E01*C1024_^1_(ALS_$4_K01*C1024_^1_(AND-_#LPMASK+3_D01*C1024_^1_(SAZ_$DFLT_-SKIP IF DEFAULT_+01*C1024_^1_(INA_$-1_J01*C1024_^1_(SAN_$NEXTT_,SKIP IF NON-BCD_+01*C1024_^1_(SQZ_$NEXTT_,SKIP IF 7-TRACK_+€€01*C1024_^1_(ENA_$81_/INVALID RECORDING MODE_#01*C1024_^1_(JMP-_#(REJSUP)_D01*C1024_^1DFLT_#TRQ_$A_K01*C1024_^1_(LDQ-_#MTF+2,I_^1_(SAZ_$SEVEN_,SEVEN TRACK DEF=1. BCD_^1_(LDA-_#ONEBIT+12_(NINE TRACK DEF=2 EBCDIC_^1SEVEN_"ADD-_#ONEBIT+12_^1_(EAQ_$Q_^1_(STQ-_#MTF+2,I_^1*_]_^1NEXTT_"JMP*_#LOCATE_^1*_]_^1IOON_#NUM_$0_^1_(LDQ-_#EODADR,I_^1_(LDA-_#1,Q_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_€€(INQ_$3_^1_(JMP*_#(IOON)_^1*_]_^1*_]_^1*_]_^1IOOFF_"NUM_$0_^1_(LDQ-_#EODADR,I_^1_(LDA-_#1,Q_^1_(AND-_#ZROBIT+15_^1_(STA-_#1,Q_^1_(JMP*_#(IOOFF)_^1*_]_^1*_]_^1*_]_^1*_"LOCATE_!EOD1, OR BLOCK#_^1LOCATE_!CLR_$A_^1_(STA-_#TM,I_-TAPE MARKS COUNTER_^1_(ENQ_$MO_^1_(RTJ-_#(TAPIO)_*REWIND_^1_(NUM_$$3000_^1_(SQP_$1_^1_(JMP*_#TAPER_,TAPE ERROR_^1*_]_^1RDLOOP_!LDA-_#TRMNT,I_^1_(ALS_$1_^1_(SA€€P_$2_^1_(ENA_$39_/FUNCTION TERMINATED_^1_(JMP*_#ERROR_^1*_]_^1_(LDA-_#POSITN,I_^1_(SUB-_#BCOUNT,I_^1_(SAN_$ADVANC_^1_(JMP*_#FOUND_^1*_]_^1ADVANC_!LDA-_#MTF+2,I_*CODE_^1_(ALS_$4_^1_(AND-_#LPMASK+3_^1_(ENQ_$BFR_.BINARY FREAD_^1_(INA_$-1_^1_(SAN_$1_0NOT BCD_^1_(ENQ_$FR_/BCD FREAD_^1*_]_^1_(RTJ-_#(TAPIO)_^1_(NUM_$0_^1_(NUM_$4_^1*_]_^1TMET_#AND_$=N$0A00_*TAPE MARK OR TAPE END_^1_(SAN_$C€€HECK1_^1_(SQP_$1_^1_(JMP*_#TAPER_^1_(JMP*_#RDLOOP_^1CHECK1_!AND-_#ONEBIT+9_^1_(SAZ_$2_^1_(ENA_$59_/END OF TAPE_^1_(JMP*_#ERROR_^1_(RAO-_#TM,I_-TAPE MARK_^1*_]_^1*_]_^1*_]_^1*_]_^1*_]_^1*_]_^1*_]_^1*_]_^1*_]_^1CHKEOD_!LDA-_#POSITN,I_^1_(SUB-_#BCOUNT,I_^1_(SAN_$1_^1_(JMP*_#FOUND_^1*_]_^1*_]_^1_(LDA-_#MTF+2,I_*CODE_^1_(ALS_$4_^1_(AND-_#LPMASK+3_^1_(ENQ_$CFR_.CODED FREAD (18)_^1_(RTJ-€€_#(TAPIO)_^1_(NUM_$0_^1_(NUM_$16_^1*_]_^1_(AND*_#TMET+1_^1_(SAN_$2_^1_(SQP_$CHKREC_^1_(JMP*_#TAPER_^1_(JMP*_#CHECK1_^1*_;A_^1CHKREC_!LDQ-_#IRB,I_^1_(LDA-_#4,Q_^1_(EOR*_#EO+1_^1_(SAN_$CHKOUT_^1_(LDA-_#5,Q_^1_(EOR*_#D1+1_^1_(SAZ_$1_^1CHKOUT_!JMP*_#RDLOOP_^1*_]_^1*_"EOD1 HAS BEEN FOUND BEFORE BLOCK COUNT_^1*_]_^1_(ENA_$85_/END OF DATA_^1ERROR_"RTJ+_#PRTMSG_^1_(RTJ-_#(EXDFUN)_^1_(€€ENA_$3_^1_(LDQ-_#MTFEXT,I_^1_(RTJ-_#(ENTPRG)_^1*_]_^1*_!REACHED_!AFTER TRC_",_+HDR,BLOCK#_^1*_]_^1FOUND_"LDQ-_#EODADR,I_^1_(LDA-_#MTFENT,I_^1_(SAZ_$1_^1_(JMP*_#AFTRC_^1*_]_^1*_"AFTER_#HDR,BLOCK NO. PERFORM FOLLOWING_!ACTIONS:_^1*_$UPDATE_"FILE # ._$WRITE_!TAPE MAR,TOTAL NUMBER OF RECORD_^1*_]_^1*_]_^1*_]_^1_(LDA-_#TM,I_-NO OF TAPE MARKS_^1_(STA-_#FILE+3,Q_^1_(LDA-_#BCOUNT,I_)€€UPDATE NO OF RECORD IN EOD1_^1_(STA-_#3+TOT,Q_^1*_]_^1WRTTM_"ENQ_$MO_/WRITE TAPE MARK_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$2000_^1_(SQP_$BBK_^1TAPER_"ENA_$58_/TAPE I/O ERROR_^1_(JMP*_#ERROR_^1*_]_^1*_]_^1*_]_^1* WRITE EOD1_!IN_!CODED FORMATED WRITE_^1*_]_^1BBK_$LDQ-_#IRB,I_,EOD1_^1EO_%LDA_$=AEO_7AS_^1_(STA-_#4,Q_^1D1_%LDA_$=AD1_TO_^1_(STQ-_#SST+STEMP_:INT_^1_(ENQ_$15_^1BL_%STA-_#(SST+STEMP),Q_8BUF(EOD1)_^1_(INQ_$-1_^1€€_(SQM_$1_^1_(JMP*_#BL_^1_(LDA-_#MTF+2,I_*CODE_^1_(ALS_$4_^1_(AND-_#LPMASK+3_^1_(ENQ_$CFW_.CODED FWRITE, (19)_^1_(RTJ-_#(TAPIO)_^1_(ADC_$0_^1_(NUM_$16_^1*_]_^1_(SQP_$1_^1_(JMP*_#TAPER_^1*_]_^1* WRITE_#EOD2_#IN BINARY FORMATED_!WRITE_^1*_]_^1_(RTJ_$IOON_-I/O BIT ON EOD1 BUF_'05*C1185_^1_(STQ*_#CORAD2_^1_(ENQ_$BFW_.BINARY FWRITE (11)_^1_(RTJ-_#(TAPIO)_^1CORAD2_!NUM_$0_^1_(ADC_$TRAL€€NG_^1_(SQP_$1_^1_(JMP*_#TAPER_^1_(ENQ_$BFW_.WRITE SHORT BLOCK_)05*C1110_^1_(RTJ-_#(TAPIO)_E05*C1110_^1_(ADC_$ZERO,9_F08*C1511_^1_(SQP_$1_K05*C1110_^1_(JMP*_#TAPER_G05*C1110_^1_(RTJ_$IOOFF_G05*C1185_^1_(RTJ-_#(RELFOR)_^1_(JMP-_#(SV)_^1*_]_^1*_!RECOVERY OF LAST BLOCK_^1*_]_^1AFTRC_"LDA-_#MTF,I_^1_(AND-_#NZERO+14_)IF FIXED BLOCKING_^1_(EOR-_#NZERO+14_^1_(SAZ_$1_^1_(JMP*_#WRTMSG_^1*_]€€_^1*_]_^1_(LDQ-_#EODADR,I_^1_(LDA-_#LBC+3,Q_^1_(SAN_$1_^1_(JMP*_#WRTMSG_+LAST BLOCK IS FULL_^1*_]_^1_(ENQ_$MO_^1_(RTJ-_#(TAPIO)_*BACKSPACE ONE RECORD_^1_(NUM_$$1000_^1_(AND-_#ONEBIT+11_(IF TM_^1_(SAZ_$2_^1_(JMP_$RECERR_+ILLEGAL RECOVERY AREA_^1_(SQP_$1_^1_(JMP*_#TAPER_,ERROR_^1*_]_^1*_]_^1_(LDA-_#MTF+1,I_^1_(AND-_#LPMASK+11_(BLOCK LENGTH_^1_(STA*_#WRDNA_^1*_]_^1_(LDQ-_#OUTBUF,I_€€^1_(SQN_$IS_/IF THERE IS OUT BUFFER_^1_(INA_$3_^1_(TRA_$Q_^1_(RTJ_$GETCOR_^1*_]_^1_(STQ-_#OUTBUF,I_^1_(LDA_$=XOUTBUF,I_'FIX BCKWRDS POINTER_^1_(STA-_#(ZERO),Q_^1*_]_^1IS_%LDA-_#1,Q_^1_(EOR-_#ONEBIT+15_(I/O BIT ON_^1_(STA-_#1,Q_^1_(INQ_$3_^1_(STQ*_#CORA_^1*_]_^1_(LDA-_#MTF+2,I_*CODE_^1_(ALS_$4_^1_(AND-_#LPMASK+3_^1*_]_^1_(ENQ_$CFR_.CODED FREAD_^1_(RTJ-_#(TAPIO)_^1CORA_#NUM_$0_^1€€WRDNA_"NUM_$0_^1*_]_^1*_]_^1_(STQ-_#ATEMP,I_^1_(LDQ-_#OUTBUF,I_^1_(LDA-_#1,Q_^1_(AND-_#ZROBIT+15_(I/O BIT OFF_^1_(STA-_#1,Q_^1_(INQ_$3_^1_(STQ*_#CORB_^1_(LDQ-_#ATEMP,I_^1_(SQP_$1_^1TAPER1_!JMP*_#TAPER_^1*_]_^1_(LDA-_#MTF+1,I_^1_(AND-_#LPMASK+11_(BLOCK LENGTH_^1_(STA*_#WRDNB_^1_(STA-_#SST+STEMP+1_^1*_]_^1_(LDA-_#MTF,I_^1_(AND-_#LPMASK+9_)PADDING CHARACTER_^1_(LDQ-_#EODADR,I_^1_(LDQ-€€_#LBC+3,Q_*LAST CHARACTER IN BLOCK_^1_(SAN_$ISPAD_^1*_]_^1_(LRS_$1_^1_(SAP_$ST4_.EVEN NO OF CHAR_^1_(LDA*_#(CORB),Q_^1_(AND-_#NZERO+8_*BINARY ZERO TO LAST CHAR_^1_(STA*_#(CORB),Q_^1_(INQ_$1_^1ST4_$STQ*_#WRDNB_^1_(JMP*_#WRTBLK_^1ISPAD_"AND-_#ONEBIT+8_)IF BIN_^1_(SAN_$BINPAD_^1_(LDA-_#MTF,I_,PADDING CHARACTER_^1_(AND-_#LPMASK+8_^1_(JMP*_#BB_^1BINPAD_!ENA_$$20_.BLANK_^1BB_%STA-_€€#SST+STEMP_^1*_]_^1*_]_^1_(LRS_$1_^1_(SAP_$NOTFIR_^1_(LDA*_#(CORB),Q_^1_(AND-_#NZERO+8_^1_(ADD-_#SST+STEMP_(PADDING CHARACTER_^1_(STA*_#(CORB),Q_^1_(INQ_$1_0NEXT WORD_^1NOTFIR_!LDA-_#SST+STEMP_(TWO_!PADDING CHARACTERS_^1_(ALS_$8_^1_(ADD-_#SST+STEMP_^1_(STA-_#SST+STEMP_^1*_]_^1*_]_^1N1_%TRQ_$A_^1_(SUB-_#SST+STEMP+1_%BLOCK LENGTH_^1_(SAZ_$WRTBLK_^1_(LDA-_#SST+STEMP_^1_(STA*_#(CORB)€€,Q_^1_(INQ_$1_^1_(JMP*_#N1_^1*_]_^1*_]_^1*_]_^1WRTBLK_!ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$1000_^1_(SQP_$1_^1_(JMP*_#TAPER1_^1_(LDQ-_#OUTBUF,I_^1_(LDA-_#1,Q_.I/O BIT ON_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(LDA-_#MTF+2,I_*CODE_^1_(ALS_$4_^1_(AND-_#LPMASK+3_^1_(ENQ_$CFW_.CODE_"FW[ITE(19)_^1_(RTJ-_#(TAPIO)_^1CORB_#NUM_$0_^1WRDNB_"NUM_$0_^1*_]_^1_(STQ-_#ATEMP,I_^1_(LDQ-_#OUTBUF,I_^1€€_(LDA-_#1,Q_^1_(AND-_#ZROBIT+15_(I/O BIT OFF_^1_(STA-_#1,Q_^1_(LDQ-_#ATEMP,I_^1_(SQP_$1_^1_(JMP*_#TAPER1_^1*_]_^1*_]_^1*_]_^1*_]_^1* PRINT MESSAGE LAST RECORDED BATCH._^1*_]_^1WRTMSG_!LDQ-_#EODADR,I_^1_(LDA-_#BATCH+3,Q_(BATCH NO_^1_(RTJ+_#BD_/BINARY TO DECIMAL_^1*_]_^1_(CLR_$Q_0DECIMAL TO ASCII_^1_(LLS_$8_^1_(ADQ_$=A 0_^1_(STQ*_#BCHNO_^1_(CLR_$Q_^1_(LLS_$4_^1_(QLS_$4_^1_(LLS_$€€4_^1_(ADQ_$=A00_^1_(STQ*_#BCHNO+1_^1*_]_^1*_#TRANSFER TO INTERROGATE BUFFER._^1*_]_^1_(LDQ-_#IRB,I_^1_(INQ_$4_^1_(STQ*_#TO_^1_(RTJ+_#MOVREC_^1_(ADC_$(MSG-*)_*FROM_^1TO_%NUM_$0_^1_(ADC_$EMSG-MSG_^1_(ENQ_$FW_/FWRITE_^1_(RTJ-_#(SUPRW)_^1_(ADC_$0_^1WRDNO_"ADC_$EMSG-MSG_^1*_]_^1*_]_^1*_]_^1_(RTJ-_#(EXDFUN)_^1_(LDQ-_#EODADR,I_^1_(LDA-_#3+FILE,Q_)AFTER TRC_^1_(SAN_$2_0FILE#0 . CALL FILE T€€RAILER_^1*_]_^1* EXIT TO MATER_^1*_]_^1_(LDQ-_#MTFEXT,I_^1_(RTJ-_#(ENTPRG)_^1*_]_^1*_]_^1*_!IDENTIFICATION FOR FILE TRAILER. MTFENT=$7FFF_^1*_]_^1_(LDA-_#LPMASK+15_^1_(STA-_#MTFENT,I_^1_(LDA-_#MTF+1,I_*FILE LABEL_^1_(ALS_$5_^1_(AND-_#LPMASK+5_^1_(LDQ_$=N$4820_^1_(AAQ_$Q_^1_(ENA_$2_0CALL_%FILE TRAILER_^1_(RTJ-_#(ENTPRG)_^1*_]_^1MSG_$ALF_$*,TAPE RECOVERED,LAST RECORDED BATCH IS*_^1€ZBCHNO_"BZS_$BCHNO(2)_^1_(EQU_$EMSG(*)_^1*_]_^1*_]_^1*_]_^1*_]_^1_(EQU_$ETRC(*)_^1_(END_^__ZPWBT CSY/ P€1_%NAM WBT_*DECK-ID S06 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* WRITE BATCH TO TAPE COMMAND ANALYSIS MODULE._^1* COMMAND FORMAT:_^1*_]_^1* WBT,JOB NAME,START BATCH,FINISH BATCH,STATUS,STOP,NEW,MTF_^1*_]_^1* STATUS CONDITIONS:_^1*_'1. WRITTE€€N_%- WR=Y OR N OR B_^1*_'2. UNBALANCED_"- UB=Y OR N OR B_^1*_'3. ERROR FLAGGED - ER=Y OR N OR B_^1*_]_^1* NOTE: THE STATUS CONDITION PARAMETERS ARE OPTIONAL AND THE_^1* DEFAULT FOR ALL CONDITIONS IS N._^1*_]_^1* STOP PARAMETER CAUSE WBT TERMINATION WHEN THER IS BATCH (IN THE_^1* GIVEN INTERVAL) WHICH NOT AGREE WITH THE CONDITIONS._^1*_]_^1_(EXT_$SETMOV,GETLJD,PRTMSG,BD,LOG1A_^1_€€(EXT_$SITRDA_+TAPE RECOVERY D.A_^1_(EXT_$CODPRG_+CODE CONVERSION PROGRAMS TABLE_^1* SST EQUATES:_^1_(EQU_$SST($47),TEMP1(20),TEMP2(21)_^1_(EQU_$ENTSR($91),RTNSR($98),GETBIN($99),TAPIO($9A)_^1_(EQU_$GETALP($9B),ENTPRG($9E),EXDFUN($9F),SUPRW($97)_^1_(EQU_$GETCOM($9C)_A05*C1158_^1_(EQU_$CAM($AE),WAIT($B0),REJSUP($B2),EXTSR($92)_^1_(EQU_$CLCDWA($90),REDDWA($A9),WRTDWA($AA),RELFOR($AD)_€€^1* EST EQUATES:_^1_(EQU_$MTFDA(42)_(MTF D.A_^1* ATT EQUATES:_^1_(EQU_$JIDX(3),MAXREC(4),INBUF(5),TRB(6),TRMNT(23)_^1_(EQU_$IRB(27),OUTBUF(28),BATCH(35),ATEMP(73)_^1* COMMUNICATION AREA EQUATES_^1_(EQU_$SVCA(36)_)SV.COMM.AREA_^1_(EQU_$BCOUNT(SVCA+5)_"TIO BLOCK COUNTER_^1_(EQU_$MTCA(SVCA+10)_#MAG.TAPE COMM.AREA_^1_(EQU_$MTFENT(MTCA)_$MTF ENTRY PARAMETER_^1_(EQU_$MTFEXT(MTCA+1)_"MTFM€€ON INDEX_^1_(EQU_$EODADR(MTCA+2)_"EOD1 BUF.ADDR._^1_(EQU_$MTF(MTCA+3)_%MTF_^1_(EQU_$STRBAX(MTCA+8)_"FIRST BATCH_^1_(EQU_$ENDBAX(MTCA+9)_"LAST BATCH_^1_(EQU_$STATUS(MTCA+10)_!STATUS CONDITIONS_^1_(EQU_$TRANUM(MTCA+11)_!TAPE RECOVERY AREA NO._^1_(EQU_$JNAME(MTCA+12)_"JOB NAME_^1_(EQU_$MTFNUM(MTCA+15)_!MTF NO._^1*GENERAL EQUATES:_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZRO€€BIT($33)_^1_(EQU_$N($4E),X($58),Y($59),EQSIGN($3D),O($4F),P($50)_^1_(EQU_$B($42),F($46),W($57)_^1_(EQU_$FR(2),FW(3),MO(4),BFR(10),CODFR(18)_^1_(EQU_$MAXTRA(32)_'MAX. NO. OF TRA'S_^1_(EQU_$EODLNG(40)_'EOD1 BUF. LENGTH_^1_(EQU_$FMTLNG(10)_'FMT# TABLE LENGTH_^1_(EQU_$MATER($0805)_$MATER INDEX_^1*_]_^1WBTHDR_!VFD_$N1/1,N1/1,X14/EWBT-*_^1_(ADC_$1,0,0,WBT-WBTHDR_^1WBT_$RTJ+_#SETMOV_^1_(C€€LR_$A_^1_(STA-_#INBUF,I_^1_(STA-_#OUTBUF,I_^1_(STA-_#TRB,I_^1_(ENA_$3_^1_(STA-_#TEMP1+SST_(SET POSITION FOR SCAN_^1_(RTJ-_#(GETALP)_^1_(SQZ_$PARAM1_^1_(SQP_$1_^1_(SAP_$1_^1_(JMP*_#ERR1_-NOT COMMA OR EOR_^1_(JMP*_#ERR2_-EOR_^1PARAM1_!LDA*_#BLANK_^1_(STA-_#JNAME,I_*CLEAR JOB NAME AREA_^1_(STA-_#JNAME+1,I_^1_(STA-_#JNAME+2,I_^1_(ENA_$0_^1_(STA*_#CHRCNT_^1JNAME1_!RTJ-_#(GETALP)_)GET JO€€B NAME_^1_(SAZ_$JNAME2_+COMMA_^1_(SAP_$1_^1_(JMP*_#ERR1_-ILL. CHAR._^1_(SQM_$JNAME2_+EOR_^1_(LDQ*_#CHRCNT_^1_(INQ_$-6_^1_(SQM_$2_K05*C1158_^1_(JMP_$IFEOR_G05*C1158_^1_(RTJ*_#STNAME_^1_(RAO*_#CHRCNT_^1_(JMP*_#JNAME1_^1JNAME2_!LDA*_#CHRCNT_^1_(SAZ_$ERR3_-NO JOB NAME_^1_(JMP*_#PARAM2_^1*_]_^1ERR2_#ENA_$08_/INCOMPLETED PARAM.LIST_^1_(JMP-_#(REJSUP)_^1*_]_^1ERR3_#ENA_$00_/ILL.JOB NAME_^€€1_(JMP-_#(REJSUP)_^1*_]_^1ERR4_#ENA_$04_/ILL. BAATCH NO._^1_(JMP-_#(REJSUP)_^1*_]_^1ERR5_#ENA_$11_/NO. CORE_^1_(JMP-_#(REJSUP)_^1*_]_^1STNAME_!NUM_$0_0STORE CHAR IN JOB NAME AREA_^1_(TRA_$Q_0CHAR._^1_(LDA*_#CHRCNT_+COUNTER_^1_(AND-_#ONEBIT_^1_(SAN_$RIGHT_^1_(LDA*_#BLANK_^1LEFT_#LRS_$8_^1_(LDQ*_#CHRCNT_^1_(QRS_$1_0COUNTER/2_^1_(STA-_#JNAME,B_^1_(JMP*_#(STNAME)_^1RIGHT_"TRQ_$A_^1_(LD€€Q*_#CHRCNT_^1_(QRS_$1_^1_(LDQ-_#JNAME,B_^1_(QRS_$8_^1_(ALS_$8_^1_(JMP*_#LEFT_^1*_]_^1BLANK_"NUM_$$2020_^1CHRCNT_!NUM_$0_^1*_]_^1PARAM2_!ENA_$0_^1_(STA-_#STRBAX,I_^1_(LDA_$=N999_^1_(STA-_#ENDBAX,I_^1_(SQP_$1_^1_(JMP*_#WBT1_-EOR_^1_(RTJ*_#GETBCH_^1_(STA-_#STRBAX,I_)BATCH1_^1_(SQP_$1_^1_(JMP*_#WBT1_-EOR_^1_(RTJ*_#GETBCH_^1_(STA-_#ENDBAX,I_)BATCH2_^1_(SUB-_#STRBAX,I_^1_(SAM_$1_^1_(JMP*€€_#PARAM3_^1_(JMP*_#ERR4_-ILL.BATCH#_^1*_]_^1GETBCH_!NUM_$0_^1_(RTJ-_#(GETALP)_D05*C1174_^1_(SQP_$1_K05*C1174_^1_(JMP*_#ERR2_-INCOMPLETE COMMAND_(05*C1174_^1_(SQN_$2_K05*C1174_^1_(RAO*_#GETBCH_F05*C1174_^1_(JMP*_#(GETBCH)_D05*C1174_^1_(LDA-_#TEMP1+SST_C05*C1174_^1_(INA_$-1_J05*C1174_^1_(STA-_#TEMP1+SST_C05*C1174_^1_(RTJ-_#(GETBIN)_^1_(SAM_$ERRBCH_^1*_]05*C1174_^1N1000_"SUB_$=N1000_^€€1_(SAM_$1_^1ERRBCH_!JMP*_#ERR4_-ILL.BATCH#_^1_(ADD*_#N1000+1_^1_(JMP*_#(GETBCH)_^1*_]_^1ERR1_#ENA_$03_/ILL. PARAMETER_^1_(JMP-_#(REJSUP)_^1*_]_^1PARAM3_!ENA_$0_^1_(STA-_#STATUS,I_)STATUS CONDITIONS_^1_(STA-_#ATEMP,I_^1_(SQZ_$1_0COMMA_^1_(JMP*_#WBT1_-EOR_^1COND_#RTJ-_#(GETALP)_^1_(SQM_$1_K05*C1158_^1_(SQN_$1_^1_(JMP*_#ERR1_H05*C1158_^1_(ALS_$8_^1_(STA-_#ATEMP+1,I_^1_(RTJ-_#(GETALP)_€€^1_(SQP_$1_^1_(JMP*_#ERR1_-NOT ASCII CHAR_^1_(EOR-_#ATEMP+1,I_^1_(STA-_#ATEMP+1,I_(CONDITION TYPE_^1_(RTJ-_#(GETALP)_^1_(SQP_$1_^1_(JMP*_#ERR1_-NOT ASCII CHAR_^1_(INA_$-EQSIGN_^1_(SAZ_$1_^1_(JMP*_#STOP_-NOT EQ.SIGN_^1_(RTJ-_#(GETALP)_^1_(ENQ_$0_0N_^1_(INA_$-N_^1_(SAZ_$COND1_^1_(ENQ_$1_0Y_^1_(INA_$N-Y_^1_(SAZ_$COND1_^1_(ENQ_$2_0B_^1_(INA_$Y-B_^1_(SAZ_$COND1_^1_(JMP*_#ERR1_-ILL. COND€€ITION_^1COND1_"LDA-_#ATEMP+1,I_(CONDITION TYPE_^1_(SUB_$=AWR_^1_(SAN_$2_^1_(ENA_$1_0WRITTEN_^1_(JMP*_#COND2_^1_(QLS_$2_^1_(LDA-_#ATEMP+1,I_^1_(SUB_$=AUB_^1_(SAN_$2_^1_(ENA_$2_0UNBALANCED_^1_(JMP*_#COND2_^1_(QLS_$2_^1_(LDA-_#ATEMP+1,I_^1_(SUB_$=AER_^1_(SAN_$2_^1_(ENA_$4_0ERROR FLAG_^1_(JMP*_#COND2_^1_(JMP*_#ERR1_-ILL.CONDITION TYPE_^1COND2_"STA-_#ATEMP+1,I_^1_(AND-_#ATEMP,I_^1_(SAZ_€€$1_^1_(JMP*_#ERR1_-DUPLICATE CONDITION_^1_(TRQ_$A_0Q=CONDITION FLAG_^1_(EOR-_#STATUS,I_^1_(STA-_#STATUS,I_^1_(LDA-_#ATEMP+1,I_^1_(EOR-_#ATEMP,I_^1_(STA-_#ATEMP,I_^1*_]_^1COND2A_!RTJ-_#(GETALP)_^1_(SQM_$COND3_^1_(SAN_$1_K05*C1158_^1_(JMP*_#COND_H05*C1158_^1IFEOR_"INA_$-$20_H05*C1158_^1_(SAN_$2_K05*C1158_^1_(RTJ-_#(GETCOM)_D05*C1158_^1_(SQM_$WBT1_H05*C1158_^1_(JMP*_#ERR1_^1* 1 CARD H€€AS BEEN DELETED_E05*C1158_^1COND3_"SAP_$1_^1_(JMP*_#ERR1_^1WBT1_#JMP*_#WBT1A_^1STOP_#INA_$EQSIGN-O_)CHECK IF STOP PARAM._^1_(SAZ_$1_^1_(JMP*_#NEWPRM_^1_(RTJ-_#(GETALP)_^1_(INA_$-P_^1_(SAZ_$1_^1_(JMP*_#ERR1_^1_(LDA-_#ATEMP+1,I_^1_(SUB_$=AST_^1_(SAZ_$1_^1_(JMP*_#ERR1_^1_(LDA-_#STATUS,I_^1_(SAP_$1_^1_(JMP*_#ERR1_^1_(EOR-_#ONEBIT+15_'SET STOP BIT IN STATUS_^1_(STA-_#STATUS,I_^1_(JMP*_#€€COND2A_^1NEWPRM_!INA_$O-W_.CHECK IF NEW_^1_(SAZ_$1_^1_(JMP*_#MTFPRM_^1_(LDA-_#ATEMP+1,I_^1_(SUB_$=ANE_^1_(SAZ_$1_^1_(JMP*_#ERR1_^1_(LDA-_#STATUS,I_^1_(AND-_#ONEBIT+14_^1_(SAZ_$1_^1_(JMP*_#ERR1_^1_(LDA-_#STATUS,I_^1_(EOR-_#ONEBIT+14_^1_(STA-_#STATUS,I_^1_(JMP*_#COND2A_^1MTFPRM_!INA_$W-F_.CHECK IF MTF PARAMETER_^1_(SAZ_$1_^1_(JMP*_#ERR1_^1_(RTJ-_#(GETALP)_^1_(INA_$-EQSIGN_^1_(SAZ_$1_€€^1_(JMP*_#ERR1_^1_(LDA-_#ATEMP+1,I_^1_(SUB_$=AMT_^1_(SAZ_$1_^1_(JMP*_#ERR1_^1_(LDA-_#MTFNUM,I_^1_(SAZ_$1_^1_(JMP*_#ERR1_^1_(RTJ-_#(GETBIN)_)GTE MTF#_^1_(SAM_$1_^1_(SAN_$1_^1_(JMP*_#ILMTF_^1_(STA-_#MTFNUM,I_^1_(SUB-_#ONEBIT+8_^1_(SAP_$ILMTF_^1_(SQM_$WBT1A_G05*C1174_^1_(JMP_$COND_^1*_]05*C1174_^1ILMTF_"RTJ_$WRITE_,ILL. MTF_9C_^1_(ADC_$MES2-*_^1_(ADC_$EMES2-MES2_^1_(SET_$A_^1_(JMP-_#(€€REJSUP)_^1*_]_^1* READ THE JOB ENTRY FROM LJD_^1WBT1A_"LDA-_#JNAME,I_LC_^1_(STA*_#JOBENT_^1_(LDA-_#JNAME+1,I_^1_(STA*_#JOBENT+1_^1_(LDA-_#JNAME+2,I_^1_(STA*_#JOBENT+2_^1_(ENQ_$1_^1_(RTJ+_#GETLJD_^1JOBENT_!ALF_$*,123456*_^1_(NUM_$0,0_^1_(JMP*_#WBT1A_,RETRY_^1*_]_^1_(SQZ_$1_0RETURN FROM GETLJD_^1_(SQP_$CHKENT_^1_(JMP_$ERR3_-ILL.JOB NAME_^1CHKENT_!ALS_$8_^1_(EOR-_#LPMASK+8_)WBT SIGN (€€USED BY DUMMY MTF)_^1_(STA-_#JIDX,I_+STORE JOB INDEX IN ATT_^1_(LDA*_#JOBENT+3_^1_(AND-_#LPMASK+10_(MAX.REC.LENGTH_^1_(STA-_#MAXREC,I_^1* GET MTF_]_^1_(LDA-_#MTFNUM,I_)MTF#_^1_(SAN_$GETMTF_^1_(LDA*_#JOBENT+4_^1_(ARS_$8_^1_(AND-_#LPMASK+8_)MTF#_^1_(STA-_#MTFNUM,I_^1GETMTF_!MUI_$=N5_^1_(STA-_#TEMP1+SST_^1_(LDQ-_#SST_^1_(LDA-_#MTFDA,Q_^1_(LDQ-_#TEMP1+SST_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#R€€EDMTF+2_^1_(STA*_#REDMTF+3_^1_(LDA_$=XMTF,I_^1_(STA*_#REDMTF+1_^1REDMTF_!RTJ-_#(REDDWA)_^1_(ADC_$0_0C.A_^1_(ADC_$0,0_.D.A_^1_(NUM_$5_0WORDS_^1_(NUM_$0_0DISK#_^1_(LDA-_#MTF+3,I_^1_(SAM_$1_^1_(JMP*_#ILMTF_,INACTIVE MTF_^1* CHECK RECORDING CODE_^1_(LDA-_#MTF+2,I_^1_(ALS_$4_^1_(AND-_#LPMASK+3_^1_(STA-_#TEMP1+SST_(RECORDING CODE_^1_(LDQ-_#SVCA+2,I_)TAPE LU_^1_(SQN_$2_^1_(JMP_$TAPER_^1_(€€ADQ+_#=XLOG1A_*CHECK IF 7-TRACK_^1_(LDQ-_#(ZERO),Q_^1_%LDA- 24,Q_)GET UNIT MODE(MSOS5.0/D1860)_)P0*H0008_^1_%AND- ONEBIT+11_JP0*H0008_^1_%SAN SEVEN_NP0*H0008_^1_(LDA-_#TEMP1+SST_^1_(SAN_$4_^1_(LDA-_#MTF+2,I_^1_(EOR-_#ONEBIT+13_(SET EBCD CODE_^1_(STA-_#MTF+2,I_^1_(JMP*_#TRBIT_^1_(INA_$-1_^1_(SAN_$1_^1_(JMP*_#ILMTF_,BCD_^1_(JMP*_#TRBIT_^1SEVEN_"LDA-_#TEMP1+SST_^1_(SAN_$4_^1_(LDA-_#M€€TF+2,I_^1_(EOR-_#ONEBIT+12_(SET BCD CODE_^1_(STA-_#MTF+2,I_^1_(JMP*_#BCDCOD_^1_(INA_$-1_^1_(SAZ_$BCDCOD_^1_(JMP*_#BLKSIZ_^1BCDCOD_!LDA-_#MTF,I_^1_(CLR_$Q_^1_(LLS_$2_^1_(AND-_#ONEBIT+8+2_^1_(SAZ_$1_^1_(JMP*_#ILMTF_,BINARY PADD CHAR._^1_(INQ_$-1_^1_(SQN_$1_^1_(JMP*_#ILMTF_,BLOCKING MODE =V_^1BLKSIZ_!LDA-_#MTF+1,I_*CHECK BLOCK SIZE_^1_(AND-_#LPMASK+11_^1* NOTE: THE FOLLOWING PART IS I€€NCORRECT IF NOT MSOS 4.X (X\0)._^1_(LDQ+_#=XLOG1A_^1_(ADQ-_#SVCA+2,I_^1_(LDQ-_#(ZERO),Q_^1_%SUB- 37,Q_)MAX. BLOCK LENGTH(MSOS5.0/D1860)_$P0*H0008_^1_(INA_$-1_^1_(SAM_$TRBIT_^1_(RTJ_$WRITE_^1_(ADC_$MES3-*_+TOO LONG BLOCK FOR 7 TRACK TAPE_^1_(ADC_$EMES3-MES3_^1_(SET_$A_^1_(JMP-_#(REJSUP)_^1TRBIT_"LDA-_#ONEBIT+15_^1_(STA-_#TRMNT,I_*SET TR BIT_^1_(LDA-_#MTF+3,I_^1_(AND-_#ONEBIT+12_(PAR€€AM OPTION_^1_(EOR-_#STATUS,I_^1_(STA-_#STATUS,I_^1* GET EOD1 BUF._^1_(ENA_$EODLNG+FMTLNG+4_^1_(LDQ_$=XEODADR,I_^1_(RTJ*_#GETBUF_^1_(JMP*_#ERR51_,NO CORE_^1_(LDQ-_#EODADR,I_^1_(CLR_$A_^1_(STA-_#3+EODLNG,Q_'CLEAR FMT# COUNTER_^1* GET OUTPUT BUF._^1_(LDA-_#MTF+1,I_^1_(AND-_#LPMASK+11_^1_(SAN_$1_^1_(JMP*_#GETTRB_^1_(LDQ_$=XOUTBUF,I_^1_(INA_$8+1_^1_(RTJ*_#GETBUF_^1_(JMP*_#ERR51_^1_(LDQ-€€_#OUTBUF,I_^1_(CLR_$A_^1_(STA-_#3,Q_.CLEAR BLOCK CHAR ,COUNTER_^1* GET TRB BUF._^1GETTRB_!LDA-_#MAXREC,I_^1_(INA_$1_^1_(ARS_$1_^1_(STA-_#MAXREC,I_^1_(INA_$-9_^1_(SAP_$1_^1_(ENA_$0_^1_(INA_$9+9_^1_(LDQ_$=XTRB,I_^1_(RTJ*_#GETBUF_^1_(JMP*_#ERR51_^1* GET INPUT BUF (INBUF)_^1_(LDA-_#MAXREC,I_^1_(SUB_$=N200_^1_(SAM_$INB3_^1INB1_#ADD_$=N208_^1_(LDQ_$=XINBUF,I_^1_(RTJ*_#GETBUF_^1_(JMP*_#ER€€R51_^1_(JMP*_#GETLBL_^1INB3_#LDA_$=N420_^1_(LDQ_$=XINBUF,I_^1_(RTJ*_#GETBUF_^1_(JMP*_#INB4_^1_(JMP*_#GETLBL_^1INB4_#LDA*_#INB1+1_^1_(JMP*_#INB1+2_^1*_]_^1ERR51_"RTJ*_#RLSBUF_^1_(JMP_$ERR5_^1*_]_^1GETBUF_!NUM_$0_0GET BUFFER_7C_^1_(RTJ-_#(ENTSR)_^1_(STA-_#ATEMP+1,I_(SAVE TRB LENGTH_^1_(STQ-_#ATEMP+2,I_(SAVE POINTER ADDRESS_^1_(RTJ+_#SETMOV_^1_(ENQ_$-100_^1_(STQ-_#ATEMP,I_^1BUFF1_"LDQ€€-_#ATEMP+1,I_^1_(RTJ-_#(CAM)_^1_(SAP_$BUFF2_,O.K_^1_(RTJ-_#(WAIT)_^1_(RAO-_#ATEMP,I_^1_(LDA-_#ATEMP,I_^1_(SAP_$1_^1_(JMP*_#BUFF1_,TRY AGAIN_^1_(JMP-_#(EXTSR)_*ERROR EXIT_^1BUFF2_"LDA-_#1,Q_^1_(AND-_#LPMASK+15_(CLEAR I/O BIT_^1_(STA-_#1,Q_^1_(LDA-_#ATEMP+2,I_^1_(STA-_#(ZERO),Q_)B.P_^1_(TRQ_$A_^1_(LDQ-_#ATEMP+2,I_^1_(STA-_#(ZERO),Q_)F.P_^1_(RTJ-_#(RTNSR)_^1_(JMP-_#1,Q_.NORMAL RETURN_€€^1* RELEASE BUF._^1RLSBUF_!NUM_$0_^1_(LDQ-_#TRB,I_^1_(SQZ_$1_^1_(RTJ-_#(RELFOR)_^1_(LDQ-_#EODADR,I_^1_(SQZ_$1_^1_(RTJ-_#(RELFOR)_^1_(LDQ-_#OUTBUF,I_^1_(SQZ_$1_^1_(RTJ-_#(RELFOR)_^1_(LDQ-_#INBUF,I_^1_(SQZ_$1_^1_(RTJ-_#(RELFOR)_^1_(JMP*_#(RLSBUF)_^1* FINED END OF DATA_^1GETLBL_!ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$9004_,BACKSPACE 4 RECORDS_'05*C1279_^1_(AND-_#ONEBIT+11_(TAPE MARK ?_^1€€_(SAZ_$REWIND_+NO_^1_(LDA-_#BCOUNT,I_^1_(SAM_$REWIND_^1_(RTJ*_#CHKEOD_+CHECK IF EOD1_^1_(JMP*_#EOD1_-YES_^1REWIND_!ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$3000_,REWIND_^1_(SQP_$1_^1_(JMP*_#TAPER_^1CHKLOP_!LDA-_#TRMNT,I_^1_(ALS_$1_^1_(SAP_$1_^1_(JMP*_#ABORT_^1_(LDA-_#MTFENT,I_)END OF TAPE ?_^1_(SAZ_$1_0NO_^1_(JMP*_#TAPEND_+YES_^1_(LDA-_#MTF+2,I_^1_(ALS_$4_^1_(AND-_#LPMASK+3_^1_(ENQ_$FR_€€^1_(INA_$-1_^1_(SAZ_$1_0BCD CODE_^1_(ENQ_$BFR_^1_(RTJ-_#(TAPIO)_*ADVANCE 1 BLOCK_^1_(NUM_$0,4_^1_(RTJ_$CHKEOT_+CHECK IF END OF TAPE_^1_(AND-_#ONEBIT+11_^1_(SAN_$TM1_.TAPE MARK_^1_(SQP_$1_K05*C1110_^1_(JMP*_#TAPER_,TAPE I/O ERROR_,05*C1110_^1_(QLS_$1_K05*C1110_^1_(SQP_$1_K05*C1110_^1_(JMP*_#TAPER_,SHORT READ_005*C1110_^1_(JMP*_#CHKLOP_F05*C1110_^1TM1_$RTJ*_#CHKEOD_+EOD1?_^1_(JMP*_#E€€OD1_-YES_^1_(JMP*_#CHKLOP_+NO_^1*_]_^1CHKEOD_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_+SET R/A BIT AGAIN_^1READ_#LDA-_#MTF+2,I_^1_(ALS_$4_^1_(AND-_#LPMASK+3_^1_(ENQ_$CODFR_^1_(RTJ-_#(TAPIO)_*READ EOD1 INTO IRB_^1_(NUM_$0,16_^1_(RTJ*_#CHKEOT_^1_(SQP_$CHKIRB_^1_(AND-_#ONEBIT+11_^1_(SAZ_$1_^1_(JMP*_#READ_-TAPE MARK_^1_(JMP*_#TAPER_^1CHKIRB_!LDQ-_#IRB,I_^1_(LDA-_#4,Q_^1_(EOR_$=AEO_^1€€_(SAN_$CHKOUT+1_^1_(LDA-_#5,Q_^1_(EOR_$=AD1_^1_(SAN_$CHKOUT+1_^1CHKOUT_!JMP-_#(EXTSR)_*EOD1 FOUND_^1_(RTJ-_#(RTNSR)_^1_(JMP-_#1,Q_.EOD1 NOT FOUND_^1*_]_^1EOD1_#LDQ-_#EODADR,I_^1_(RTJ_$SETIO_NC_^1_(INQ_$3_^1_(STQ*_#*+3_^1_(ENQ_$BFR_^1_(RTJ-_#(TAPIO)_*READ EOD2_^1_(ADC_$0_^1_(ADC_$EODLNG_^1_(SQP_$1_^1_(JMP*_#TAPER_^1_(ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$1110_,BACKSPACE 3 RECORDS_^1_(€€AND-_#ONEBIT+11_^1_(SAN_$1_^1_(JMP*_#TAPER_,NO TAPE MARK_^1_(SQP_$1_^1_(JMP*_#TAPER_^1_(LDQ-_#EODADR,I_^1_(RTJ_$CLRIO_NC_^1_(INQ_$3_^1_(LDA-_#BCOUNT,I_)CURRENT BLOCK#_^1_(SUB-_#2,Q_.END OF DATA BLOCK#_^1_(SAP_$1_^1_(JMP*_#TAPER_^1_(LDA-_#5,Q_^1_(EOR-_#JNAME,I_^1_(SAZ_$1_^1_(JMP*_#EOD2_^1_(LDA-_#6,Q_^1_(EOR-_#JNAME+1,I_^1_(SAZ_$1_^1_(JMP*_#EOD2_^1_(LDA-_#7,Q_^1_(EOR-_#JNAME+2,I_^1_(€€SAZ_$1_^1_(JMP*_#EOD2_^1_(JMP*_#WBT2_-O.K_^1*_]_^1EOD2_#RTJ*_#WRITE_^1_(ADC_$MES1-*_+WRONG TAPE - JOB XXXXXX RECORDED_^1_(ADC_$EMES1-MES1_'ON THIS TAPE._^1EOD2A_"RTJ*_#WRITE_^1_(ADC_$MES1B-*_*TYPE CR TO CONTINUE OR TR TO TERM._^1_(ADC_$EMES1B-MES1B_^1_(ENQ_$FR_^1_(RTJ-_#(SUPRW)_*READ INTO IRB_^1_(ADC_$0,1_^1_(LDQ-_#IRB,I_^1_(LDA-_#4,Q_^1_(SUB_$=ACU_^1_(SAN_$2_^1_(JMP_$WBT2_-CONTINU€€E_^1_(LDA-_#4,Q_^1_(SUB_$=ATR_^1_(SAZ_$ABORT_,TERMINATE_^1_(JMP*_#EOD2A_^1*_]_^1TAPER_"RTJ_$RLSBUF_^1_(ENA_$58_/TAPE I/O ERROR_^1_(JMP-_#(REJSUP)_^1TAPEND_!ENA_$59_/END OF TAPE_^1_(JMP*_#UNLOD_^1ABORT_"ENA_$39_/TERMINATE_^1UNLOD_"RTJ+_#PRTMSG_^1_(RTJ_$RLSBUF_^1_(ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$3000_,REWIND_^1_(SET_$A_^1_(JMP-_#(REJSUP)_^1*_]_^1WRITE_"NUM_$0_^1_(RTJ-_#(ENTSR)_^1€€_(RTJ+_#SETMOV_+SET R/A BIT AGAIN_^1_(LDQ*_#WRITE_^1_(LDA-_#1,Q_.NO.OF WORDS_^1_(STA*_#NWORD_^1_(ADQ-_#(ZERO),Q_)MES. ABSOLUTE ADD._^1_(STA-_#TEMP1+SST_^1_(STQ-_#TEMP2+SST_^1_(LDQ-_#IRB,I_^1MOVE_#LDA-_#(TEMP2+SST)_%MOVE MES.TO IRB_^1_(STA-_#4,Q_^1_(RAO-_#TEMP2+SST_^1_(INQ_$1_^1_(LDA-_#TEMP1+SST_^1_(INA_$-1_^1_(STA-_#TEMP1+SST_^1_(SAZ_$1_^1_(JMP*_#MOVE_^1_(ENQ_$FW_^1_(RTJ-_#(SUPRW)_€€^1_(ADC_$0_^1NWORD_"ADC_$0_^1_(RTJ-_#(RTNSR)_^1_(JMP-_#2,Q_.RETURN_^1*_]_^1CHKEOT_!NUM_$0_0CHECK END OF TAPE_^1_(STA-_#TEMP1+SST_^1_(AND-_#ONEBIT+9_^1_(SAZ_$1_^1_(RAO-_#MTFENT,I_^1_(LDA-_#TEMP1+SST_^1_(JMP*_#(CHKEOT)_^1* GET RECOVERY AREA_^1WBT2_#LDA_$=N0_PC_^1_(SAZ_$2_^1_(RTJ-_#(WAIT)_^1_(JMP*_#WBT2_^1_(LDQ-_#IRB,I_^1_(RTJ*_#SETIO_,SET I/O BIT_^1_(INQ_$4_^1_(STQ*_#REDTRA+1_^1_(LDA€€_$=XSITRDA_KC_^1_(CLR_$Q_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#REDTRA+2_^1_(STA*_#REDTRA+3_^1_(LDQ-_#REDDWA_^1_(RAO*_#WBT2+1_^1REDTRA_!RTJ-_#(ZERO),Q_)READ R.A CONTROL BITS_^1_(ADC_$0_0C.A_^1_(ADC_$0,0_.D.A_^1_(NUM_$4_^1_(NUM_$0_^1_(LDA*_#WBT2+1_^1_(INA_$-1_^1_(SAZ_$1_^1_(JMP*_#WBT3_^1_(RAO*_#WBT2+1_^1_(LDQ-_#IRB,I_^1_(INQ_$4_^1_(STQ-_#TEMP1+SST_^1_(RTJ*_#SHIFT_^1_(RTJ*_#SHIFT_^1_(RTJ*_#SHI€€FT_^1_(RTJ*_#SHIFT_^1NOTRA_"ENA_$89_/TRA FULL_^1_(JMP*_#UNLOD_^1SHIFT_"NUM_$0_0FIND FREE RECOVERY AREA_^1_(LDA-_#(TEMP1+SST)_^1_(ENQ_$-15_^1SHIFT1_!RAO-_#TRANUM,I_^1_(SAP_$SHIFT2_^1_(SQM_$2_^1_(RAO-_#TEMP1+SST_^1_(JMP*_#(SHIFT)_*RETURN_^1_(ALS_$1_^1_(INQ_$1_^1_(JMP*_#SHIFT1_^1SHIFT2_!LDA-_#TRANUM,I_^1_(INA_$-MAXTRA-1_^1_(SAM_$1_^1_(JMP*_#NOTRA_^1_(TCQ_$Q_^1_(LDA-_#(TEMP1+SST)_^1_(E€€OR-_#ONEBIT,Q_^1_(STA-_#(TEMP1+SST)_^1WRTTRA_!LDQ-_#WRTDWA_+WRITE R.A. CONTROL BITS_*C_^1_(JMP*_#REDTRA_^1*_]_^1WBT3_#CLR_$A_^1_(STA*_#WBT2+1_^1_(SET_$A_^1_(STA-_#MTFENT,I_)FIRST BATCH_^1_(LDQ-_#IRB,I_^1_(RTJ*_#CLRIO_^1* LOAD CODE CONVERSION PROGRAM AND CONVERT PADD CHAR, IF NEED_^1_(LDA-_#MTF+2,I_^1_(ALS_$4_^1_(AND-_#LPMASK+3_^1_(TRA_$Q_0RECORDING CODE_^1_(INQ_$-1_^1_(ADQ_$=XCODPR€€G_^1_(LDQ-_#(ZERO),Q_^1_(SQN_$1_^1_(JMP*_#EXIT_^1_(RTJ-_#(ENTPRG)_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+15_^1_(STA-_#1,Q_.CLEAR I/O BIT_^1_(LDA-_#MTF,I_^1_(ALS_$7_^1_(SAP_$1_^1_(JMP*_#EXIT_-BINARY PADD CHAR_^1_(ARS_$7_^1_(SAN_$1_^1_(JMP*_#EXIT_-NO PADDING_^1_(STA-_#ATEMP+4,I_^1_(ALS_$8_^1_(EOR-_#ATEMP+4,I_^1_(STA-_#ATEMP+4,I_(PADDING WORD_^1_(LDA_$=XATEMP+4,I_^1_(STA*_#PDDCON+1_^1_(RAO-_#€€2,Q_.INCREASE USER COUNT_^1_(ADQ-_#5,Q_.ENTRY POINT ADDRESS-1_^1_(ENA_$0_^1PDDCON_!RTJ-_#1,Q_^1_(ADC_$0_^1_(NUM_$1_^1_(LDA-_#MTF,I_^1_(AND-_#NZERO+9_^1_(EOR-_#ONEBIT+8_^1_(LLS_$8_^1_(LDA-_#ATEMP+4,I_^1_(LRS_$8_^1_(STA-_#MTF,I_^1EXIT_#RTJ-_#(EXDFUN)_^1_(LDQ_$=XMATER_*MATER INDEX_^1_(ENA_$1_^1_(RTJ-_#(ENTPRG)_^1*_]_^1CLRIO_"NUM_$0_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+15_^1_(STA-_#1,Q_^1_(J€€MP*_#(CLRIO)_^1SETIO_"NUM_$0_^1_(RTJ*_#CLRIO_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(JMP*_#(SETIO)_^1*_]_^1MES1_#ALF_$*,ANOTHER JOB RECORDED ON THIS TAPE *_^1_(EQU_$EMES1(*)_^1MES1B_"ALF_$*,TYPE CU/TR TO CONTINUE/TERMINATE. *_^1_(EQU_$EMES1B(*)_^1MES2_#ALF_$*,INVALID MTF NUMBER OR MTF PARAMETER*_^1_(EQU_$EMES2(*)_^1MES3_#ALF_$*,BLOCK TOO LONG FOR 7 TRACK TAPE*_^1_(EQU_$EMES3(*)_^1_(E€QU_$EWBT(*)_^1_(END_^__ PSTFEOF CSY/ STF P 1_%NAM STFEOF_'DECK-ID L01 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* STATISTICS FILE END OF FILE MARK_^1*_]_^1_(NUM_$0_K05*C1128_^1_(END_^__ PDABT CSY/ P€1_%NAM DABT_)DECK-ID D07 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* DISK RESIDENT ACTIVE BATCH TABLE_^1*_]_^1_%EXT_(SISPIL_^1* THE MAXIMUM NO. OF SECTORS IN CORE_^1* IS CONTROLLED BY THE FOLLOWING EQUATE_^1_%EQU_(SCTABT(5)_^1*_]_^1_%ADC_€€(SISPIL_*ADDR. OF FIRST SPILL TABLE_^1_%NUM_(0_/NO. OF ENTRIES - INITIALLY ZERO_^1_%NUM_($8000_+FIRST ABT IS INITIALLY LAST ABT_^1_%BZS_((96*SCTABT-3)_^1_%END_]_^__€PDCWT CSY/ DCW P€1_%NAM DCWT_)DECK-ID L06 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* DISK RESIDENT CDV WEIGHTS TABLE_^1*_]_^1*_]_^1WT1_$NUM_$$7111,$1111,$1111,$1111_^1*_]_^1WT2_$NUM_$$9111,$1111,$1111,$1111_^1*_]_^1WT3_$NUM_$$A212,$1212,$1212,$1212_^1*_€€]_^1WT4_$NUM_$$B234,$5672,$3456,$7234_^1*_]_^1* SET REST OF CDV WEIGHT TABLE ON DISK TO ZERO._^1_(BZS_%(99*4-*+WT1)_^1_(END_^__ €PDLDD CSY/ P€1_%NAM DLDD_)DECK-ID D06 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* THE LEGAL DOCUMENT DIRECTORY CAN HAVE UP TO 255 DOCUMENT_^1* THE LDD ENCLUDES THE DIRECTORY AND THE DETAILED DOCUMENT DESCRIPTION_^1* BEYOND IT._^1_(EXT_$SILDDL_^1_(NUM_$512_.€XNEXT AVILABLE ENTRY IN LDT_^1_(ADC_$SILDDL_^1_(BZS_$(255*2)_)LDD TABLE_^1*_]_^1_(END_^__XPDLFD CSY/ P1_%NAM DLFD_)DECK-ID D03 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* LEGAL FORMAT DIRECTORY_^1_(BZS_$(2000)_+ROOM FOR 1000-1 FORMATS_^1_(END_^__PDLFD1 CSY/ Pκ1_%NAM DLFD1_(DECK-ID D04 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(BZS_$(2000)_^1_(END_^__ κPDLJD CSY/ PJ1_%NAM DLJD_)DECK-ID D05 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* THE LEGAL JOB DIRECTORY HAS 255 ENTRIES FOR JOB+HEADER_^1* THAT EACH ONE CONSISTS OF 5 WORDS_^1_(BZS_$(256*5)_^1_(END_^__JPDMTF CSY/ P61_%NAM DMTF_)DECK-ID D09 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* TABLE TO SAVE MAG TAPE FORMAT PARAMETER_^1* EACH ENTRY IS 5 WORDS LONG._^1_(BZS_$(1536)_^1_(END_^__ 6PDSQZ CSY/ P1_%NAM DSQZ_)DECK-ID D10 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1*_'DEFINE SQUEEZE SPACE ON THE DISK_^1*_]_^1_(BZS_%(96*16*2)_^1_(END_^__ PDTRA CSY/ P€1_%NAM DTRA_)DECK-ID D11 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_%C_^1* MAG TAPE RECOVERY AREA- LABEL AND ONOTHER PARAMETERS_/C_^1* SAVED HERE. TRC LOOKS HERE FOR INFORMATION AFTER_3C_^1* POWER OR SYSTEM FAILURES_KC_^1*_]_%C_^1* THERE ARE€† 32 40-WORD RECOVERY AREAS_?C_^1*_]_%C_^1* ESH,SQZ CLEARS OUT THE TAPE RECOVERY AREAS_9C_^1*_]_%C_^1_(BZS_$(40*32)_LC_^1_(END_YC_^__ †PDTRT1 CSY/ P1_%NAM DTRT1_(DECK-ID L02 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(NUM_$0_0NO OF ASSIGNED TRACKS IN DISK_^1_(BZS_$(183)_G01*C1027_^1_%END_]_^__PDTRT2 CSY/ P1_%NAM DTRT2_(DECK-ID L03 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(NUM_$0_0NO OF ASSIGNED TRACKS IN DISK_^1_(BZS_$(183)_G01*C1027_^1_(END_^__PDTRT3 CSY/ P1_%NAM DTRT3_(DECK-ID L04 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(NUM_$0_0NO OF ASSIGNED TRACKS IN DISK_^1_(BZS_$(183)_G01*C1027_^1_(END_^__PDTRT4 CSY/ P1_%NAM DTRT4_(DECK-ID L05 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_(NUM_$0_0NO OF ASSIGNED TRACKS IN DISK_^1_(BZS_$(183)_G01*C1027_^1_(END_^__PERRM CSY/ P€1_%NAM ERRM_)DECK-ID D08 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1I01CA1_!ALF_%12,DATA TYPE ERROR_^1I02CA2_!ALF_$12,SIGN MISSING_^1I03CA3_!ALF_$12,ILLEGAL CHAR_^1I04CA4_!ALF_$12,ILLEGAL FUNCTION KEY_^1I05CA5_!ALF_$12,MISMATCH CHAR_^1I06CB1_!AL€€F_$12,BEG OF DATA_^1I07CB2_!ALF_$12,END OF DATA_^1I08CC1_!ALF_$12,LIMIT ERROR_^1I09CC2_!ALF_$12,SPECIAL TEST ERROR_^1I0ACC3_!ALF_$12,CHECK DIGIT ERROR_^1I0BCC4_!ALF_$12,OWN CODE TEST ERROR_^1I0CCC5_!ALF_$12,NON ZERO ERROR_^1I0DCD1_!ALF_$12,INVALID OPERATOR NO_^1I0ECD2_!ALF_$12,INVALID FORMAT NO_^1I0FCD3_!ALF_$12,INVALID DOC NO_^1I10CD4_!ALF_$12,INVALID JOB NAME_^1I11CD5_!ALF_$12,IN€€VALID BATCH NO._^1I12CE1_!ALF_$12,ILLEGAL REQUEST_^1I13CE2_!ALF_$12,ILLEGAL PARAMETER_^1I14CF1_!ALF_$12,FORMAT NO IN DOC ERR_^1I15CF2_!ALF_$12,OWN CODE IS NOT ON DISK_^1I16CF3_!ALF_$12,DISK FULL_^1I17CF4_!ALF_$12,CORE FULL TRY AGAIN_^1I18CF5_!ALF_$12,FUNCTION BUSY TRY AGAIN_^1I19CLL_!ALF_$12,SYSTEM LOCK.WAIT_^1I1ACPP_!ALF_$12,PARITY ERROR_^1I1BC_#ALF_$12,FIELD WITH ERROR FLAG_^1I1C€€CC6_!ALF_$12,BALANCING ERROR_^1I1DCD6_!ALF_$12,INVALID AUTO SEQ COUNT_^1I1ECF6_!ALF_$12,DISK DESELECTED_:06*C1332_^1I1FCF7_!ALF_$12,BATCH FULL_^1I20CSM ALF_%12,MESSAGE FROM SUPERVISOR_206*C1301_^1I21CC7_!ALF_$12,OCG CORRELATION ERROR_407*C1402_^1I22CC8_!ALF_$12,OCG DATA TYPE ERROR_607*C1402_^1I23CC9_!ALF_$12,OCG INDEXING ERROR_707*C1402_^1I24CB3_!ALF_$12,SEV/WAITING FOR ENTRY_408*€BC1500_^1I25CB4_!ALF_$12,SEV/NO FORWARD READ_608*C1500_^1_(END_^__ BPCLR CSY/ CLR P€1_%NAM CLR_*DECK-ID M03 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1*_!THIS PROGRAM IS RESPONSIBLE FOR RESTORING ACTIVE BATCHES TO_^1*_!THE STATIONS THEY WERE CONNECTED TO,(AFTER POWER FAIL), AND TO_^1*_!CLEAR THE SCREENS OF OTHER STATIONS€€._^1*_]_^1* THE ACCUMULATED TIME IS UPDATED FOR ACTIVE BATCHES._^1*_#WRTATT SAVE THE CLOCK IN WORD 34 OF THE ATT._^1*_$CLR PUT ZERO TO THIS WORD._^1*_]_^1*_]_^1*_!IF A STATION OF AN ACTIVE BATCH WAS NOT ACTIVATED, THE BATCH_^1* IS DELETED IF IT WAS IN ENTRY MODE AND HAS LESS THEN 16 RECORDS,_^1* AND FROZEN OTHERWISE._^1*_]_^1*_]_^1*_!ACTIVE BATCHES WHOSE STATIONS WERE ACTIVATED €€ BUT HAVE_^1*_#NOT ENOUGH CORE FOR THEIR TRBS_!OR FORMATS ARE ALSO_^1*_#FROZEN AND A MSG 'BATCH XXX, JOB YYYYYY, IS FROZEN ' IS_^1*_"DISPLAYED ON THE SCREEN OF THE CONNECTED STATION_^1*_]_^1*_$ACTIVE BATCHES THAT GET ENOUGH CORE ARE RETURNED TO THE_^1*_!STATIONS, BY SECOND OVERLAY OF CLR._^1*_]_^1*_$BATCHES IN MAINTENENACE MODE GET THEIR BASIC MODES_^1*_]_^1*_]_^1* THE P€€ROGRAM IS ENTERED FROM VLSTRT_^1*_]_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1* SST_]_^1_(EQU_$STEMP(20)_^1_(EQU_$SLOCK(1),ATTB(10),CATT(11),ATTLNG(19)_^1* TRANSFER VECTOR_^1_(EQU_$SUPRW($97),EXDFUN($9F),DISPLY($A0),REDSEC($A7)_^1_(EQU_$WRTSEC($A8),DISPCH($EA),SST($47),FW(3)_^1_(EQU_$CLCDWA($90),REDDWA($A9),WRTDWA($AA)_^1_(EQU_$ENTPRG($9E),RELFOR($AD),CAM($A€€E)_^1_(EQU_$ENTSR($91),EXTSR($92)_^1_(EQU_$SPILL($A1)_B08*C1500_^1_(EQU_$CLOCKS(17)_^1* EST_]_^1_(EQU_$ABTADR(22),SPIL(23),LUND(25)_^1_(EQU_$LJDDA(8)_)LJD_!DISK ADRESS_)04*C1083_^1_(EQU_$DSKST(29)_(DISK STATUS_/05*C1094_^1_(EQU_$FBA(15)_*FORMAT BASE ADDRESS_^1_(EQU_$LDDA(9)_^1_(EQU_$LFDDA(39)_^1* ATT_]_^1_(EQU_$FTOB(1),RCD(32),BLUN(35)_^1_(EQU_$CMODE(2)_^1_(EQU_$JOBIND(3)_^1_(EQU_$€€RCNT(4)_^1_(EQU_$SW2(20)_^1_(EQU_$ABTIDX(22)_B08*C1500_^1_(EQU_$TRB(6)_^1_(EQU_$ATOPT(33)_^1_(EQU_$ATEMP(73)_^1_(EQU_$FMTNO(13)_^1_(EQU_$BMOD(15)_^1_(EQU_$DOCNO(17),ELDT(16)_^1_(EQU_$IRB(27)_^1_(EQU_$ASRCH(28),PFBA(7)_;06*C1300_^1_(EQU_$SW3(89)_*SEV SWITCH_008*C1500_^1*_]08*C1500_^1* THE SUPERVISORY ATT USES A FLAG FOR AN SEV CONDITIONS_'08*C1500_^1*_!SEVFLG,B15- 1/0 - SEV/ NON SE€€V_;08*C1500_^1*_)B14 1/0- VERSEV/ENTSEV_;08*C1500_^1*_)B13 1/0 - WAS SEV / WAS NOT SEV_208*C1500_^1*_]08*C1500_^1_(EQU_$SEVFLG(89)_B08*C1500_^1*_]08*C1500_^1* ENTATT_U08*C1500_^1*_!USED FOR SAVING THE STATION NUMBER OF SEV/ENT_-08*C1500_^1* FOR THE VER/SEV_L08*C1500_^1*_]08*C1500_^1_(EQU_$ENTATT(91)_B08*C1500_^1*_]_^1* WRTATT SAVE HERE THE CLOCK._^1* CLR USES IT FOR CALCULA€€TING_^1* THE ACCUMULATES TIME OF_^1* A BATCH, AND PUT ZERO IN IT_^1* (NO ERROR WHEN WRTATT DONE)_^1*_]_^1_(EQU_$ECODE(34)_^1*_]_^1*_]_^1*_!LOCATIONS IN THE SUPERVISOR COMMUNICATION AREA_^1*_]_^1_(EQU_$SC(36+10)_^1_(EQU_$TRN(SC)_^1_(EQU_$SQ(SC+1)_^1_(EQU_$ABT(SC+2)_^1_(EQU_$TATT(SC+4)_'TEMP_!ATT_^1_(EQU_$TOPR(SC+7)_^1_(EQU_$ABTDA(SC+8)_^1_(EQU_$TABNO(SC+9)_^1_(EQU_$OPR(SC+10)_^1€€_(EQU_$ENTIND(SC+12)_^1_(EQU_$TEMPR(SC+13)_$4 TEMPORARIES_-04*C1083_^1*_]_^1*_]_^1_(EQU_$CLRTWO($0811)_#SECOND OVERLAY_^1_(EQU_$EXTBL($E9),CORIMG(4)_806*C1300_^1_(EQU_$FR(2)_G06*C1300_^1*_]_^1*_]_^1*_!EXTERNALS_^1*_]_^1_(EXT_$SITRDA,RELTRT_^1* ONE CARD HAS BEEN DELETED_C04*C1083_^1_(EXT_$MOVREC,GETBUF,SETMOV_^1*_]_^1*_]06*C1300_^1_(EXT_$ABSADD_+ENT IN PIO_006*C1300_^1_(EXT_$BADTRK_€€+DIRECTORY IN DAM_*06*C1300_^1*_]06*C1300_^1_(EXT_$SIABTW,SIABTS,LINKTR,CLRALL,DLINE_^1*_]08*C1500_^1_(EXT_$SPILSR_+IN SPILL CALCULATE SEV MODE08*C1500_^1*_]08*C1500_^1* SYSTEM INSTALL PARS. RCD IN CHKPNT FOR_608*C1500_^1* SEV PASS AND STANDARD PASS_B08*C1500_^1*_]08*C1500_^1_(EXT_$STDCKP,SEVCKP_?08*C1500_^1CLRHDR_!VFD_$N1/1,N1/1,X14/ECLR-*_^1_(ADC_$1,0,0,CLR-CLRHDR_^1*_]_^1_(ADC_$€€ENT2-CLRHDR_%ENTRY POINT FOR RETURN FROM THW_^1*_]_^1CLR_$RTJ+_#SETMOV_^1_(ENA_$70_/ASK FOR INT BUF_^1_(RTJ+_#GETBUF_^1_(ENA_$4_K06*C1300_^1_(ALS_$12_J06*C1300_^1_(STA-_#BLUN,I_F06*C1300_^1NXTDSK_!LDA-_#BLUN,I_F06*C1300_^1_(SAN_$1_0NOT LUN 0_106*C1300_^1_(JMP*_#ENDBAD_F06*C1300_^1_(SUB-_#ONEBIT+12_(NXT LOGICAL UNIT_*06*C1300_^1_(STA-_#BLUN,I_F06*C1300_^1_(ENQ_$63_/SEARCH NON EMPTY_€€*06*C1300_^1CHKBAD_!STQ-_#ATEMP,I_*ENTRY IN BADTRK._*06*C1300_^1_(LDA+_#BADTRK,Q_D06*C1300_^1_(SAN_$ASK1_-NOT EMPTY_106*C1300_^1CONT10_!INQ_$-1_J06*C1300_^1_(SQM_$1_K06*C1300_^1_(JMP*_#CHKBAD_F06*C1300_^1_(JMP*_#NXTDSK_F06*C1300_^1*_]06*C1300_^1ASK1_#AND-_#LPMASK+2_)CURRENT LOG UNIT ?_(06*C1300_^1_(TRA_$Q_K06*C1300_^1_(ALS_$12_J06*C1300_^1_(EOR-_#BLUN,I_F06*C1300_^1_(SAZ_$ASK2_-YES€€_706*C1300_^1_(LDQ-_#ATEMP,I_E06*C1300_^1_(JMP*_#CONT10_F06*C1300_^1ASK2_#ADQ_$=N$2031_E06*C1300_^1_(STQ_$BADDSK_F06*C1300_^1ASKAGN_!LDA-_#IRB,I_G06*C1300_^1_(INA_$4_K06*C1300_^1_(STA*_#TO5_I06*C1300_^1_(RTJ+_#MOVREC_F06*C1300_^1_(ADC_$(MSGDSK-*)_B06*C1300_^1TO5_$NUM_$0_K06*C1300_^1_(ADC_$EMSGDS-MSGDSK_?06*C1300_^1_(ENQ_$FW_/CLEAR BADTRK_.06*C1300_^1_(RTJ-_#(SUPRW)_E06*C1300_^1_(AD€€C_$0_K06*C1300_^1_(ADC_$EMSGDS-MSGDSK_?06*C1300_^1_(ENQ_$FR_J06*C1300_^1_(RTJ-_#(SUPRW)_E06*C1300_^1_(ADC_$0_K06*C1300_^1_(ADC_$EMSGDS-MSGDSK_?06*C1300_^1_(LDQ-_#IRB,I_G06*C1300_^1_(LDA-_#4,Q_I06*C1300_^1_(SUB_$=N$59FF_*YES_706*C1300_^1_(SAZ_$YE_J06*C1300_^1_(ADD_$=X$59FF-$4EFF_#N_906*C1300_^1_(SAZ_$NXTDS1_F06*C1300_^1_(JMP*_#ASKAGN_+ASK AGAIN_106*C1300_^1YE_%ENQ_$63_J06*C1300_^1CH€€K1_#LDA+_#BADTRK,Q_D06*C1300_^1_(AND-_#LPMASK+2_D06*C1300_^1_(ALS_$12_J06*C1300_^1_(EOR-_#BLUN,I_F06*C1300_^1_(SAZ_$RELEAS_+CURRENT LUN_/06*C1300_^1NXTTRK_!INQ_$-1_J06*C1300_^1_(SQM_$NXTDS1_F06*C1300_^1_(JMP*_#CHK1_H06*C1300_^1NXTDS1_!JMP*_#NXTDSK_F06*C1300_^1RELEAS_!STQ-_#SC,I_H06*C1300_^1_(LDA+_#BADTRK,Q_D06*C1300_^1_(STA-_#ATEMP+2,I_C06*C1300_^1_(CLR_$A_K06*C1300_^1_(STA+_#BADTR€€K,Q_D06*C1300_^1*_]06*C1300_^1_(LDQ-_#EXTBL_G06*C1300_^1_(LDA-_#CORIMG,Q_D06*C1300_^1_(LDQ*_#CORA_H06*C1300_^1_(RTJ-_#(CLCDWA)_D06*C1300_^1_(STA*_#MM2_I06*C1300_^1_(STQ*_#MM1_I06*C1300_^1_(RTJ+_#ABSADD_F06*C1300_^1_(RTJ-_#(WRTDWA)_D06*C1300_^1CORA_#ADC_$BADTRK_F06*C1300_^1MM1_$NUM_$0_K06*C1300_^1MM2_$NUM_$0_K06*C1300_^1_(NUM_$64_J06*C1300_^1_(NUM_$0_K06*C1300_^1_(LDA-_#ATEMP+2,I_C0€€6*C1300_^1_(AND-_#ONEBIT+3_D06*C1300_^1_(SAZ_$CLEAR_G06*C1300_^1_(LDA-_#ATEMP+2,I_C06*C1300_^1_(AND-_#NZERO+4_*RELEASE TRACK FOR_)06*C1300_^1_(RTJ+_#RELTRT_+FURTHER USE_/06*C1300_^1CLEAR_"LDQ-_#SC,I_H06*C1300_^1_(JMP*_#NXTTRK_F06*C1300_^1*_]_^1*_]_^1*_]_^1*_]_^1*_]_^1* RELEASE TRACKS USED BY DMP PROGRAM AND EVALUATION PROGRAM._!04*C1083_^1* TRACKS ARE LISTED ON THE TAPE RECOVERY AR€€EA._004*C1083_^1* (9 WORDS FROM WORD 5 ON)_D04*C1083_^1*_]_^1*_]_^1*_]_^1ENDBAD_!CLR_$Q_K06*C1300_^1_(STQ-_#BLUN,I_^1_(STQ-_#SQ,I_^1_(JMP*_#RETR_H04*C1083_^1*_]04*C1083_^1WRTR_#NUM_$0_K04*C1083_^1_(RTJ-_#(ENTSR)_E04*C1083_^1_(LDA_$CN,Q_H04*C1083_^1_(STA*_#FTR_I04*C1083_^1_(RTJ+_#SETMOV_F04*C1083_^1_(ENA_$TATT_^1_(ADD-_#I_^1_(STA*_#CORAD6_^1_(LDA_$=XSITRDA_^1_(ENQ_$5_^1_(RTJ-_#(CLCD€€WA)_^1_(STQ*_#DA6_^1_(STA*_#DA6+1_^1FTR_$NUM_$0_K04*C1083_^1CORAD6_!NUM_$0_^1DA6_$NUM_$0,0_^1_(NUM_$9_^1_(NUM_$0_^1*_]_^1_(JMP-_#(EXTSR)_E04*C1083_^1*_]04*C1083_^1RETR_#ENQ_$1_0READ TRACK ADDRESS_(04*C1083_^1_(RTJ*_#WRTR_H04*C1083_^1_(LDQ*_#CORAD6_^1REL_$STQ-_#ABT,I_^1_(LDA-_#(ZERO),Q_^1_(SAZ_$NEXT4_,LIST FINISH_^1_(STA-_#ATEMP,I_E04*C1083_^1_(CLR_$A_^1_(LDQ-_#ABT,I_^1_(STA-_#(ZERO€€),Q_)ZERO TO ENTRY_^1_(CLR_$Q_K04*C1083_^1_(RTJ*_#WRTR_-WRITE ON DISK_-04*C1083_^1_(LDA-_#ATEMP,I_E04*C1083_^1_(RTJ+_#RELTRT_F04*C1083_^1_(LDQ-_#ABT,I_G04*C1083_^1NEXT4_"RAO-_#SQ,I_-NEXT ENTRY_^1_(LDA-_#SQ,I_^1_(INA_$-9_/IF NINE WAS SEARCHED_^1_(SAZ_$DONE4_^1_(INQ_$1_^1_(JMP*_#REL_^1*_!10 CARDS HAVE BEEN DELETED_@04*C1083_^1*_]_^1*_!SEARCH THE ABT'S TO FIND ACTIVE BATCHES._^1*_€€]_^1DONE4_"LDQ-_#SST_I04*C1083_^1*_]08*C1500_^1_(LDA-_#SPIL,Q_^1_(STA-_#ABTDA,I_^1*_]08*C1500_^1* ALLOCATE BUFFER FOR AN ABT PAGE_=08*C1500_^1*_]08*C1500_^1_(LDQ_$=XSIABTW_)ABT PAGE IN WORDS_)08*C1500_^1_(INQ_$3_0+HEADER_308*C1500_^1_(RTJ-_#(CAM)_G08*C1500_^1_(SAZ_$2_K08*C1500_^1_(JMP_$OUTEND_+NO CORE DON'T RESTORE BCH 08*C1500_^1*_]08*C1500_^1_(STQ-_#ABT,I_,FIX BACKWARDS POINTERS€€_#08*C1500_^1_(LDA_$=XABT,I_E08*C1500_^1_(STA-_#(ZERO),Q_D08*C1500_^1_(CLR_$A_^1READ_#CLR_$Q_^1_(STA-_#TABNO,I_^1_(RTJ_$ABTIO_^1CLR1_#LDQ_$=XSIABTW_)ABT LENGTH (WORDS)_^1_(STQ-_#SQ,I_H08*C1500_^1CLR1A_"LDQ-_#SQ,I_H08*C1500_^1_(INQ_$-3_J08*C1500_^1_(STQ-_#SQ,I_-DISPLACEMENT TO ENTRY_$08*C1500_^1_(SQN_$CHKABT_F08*C1500_^1_(JMP_$TSTEND_+FIRST ENTRY_/08*C1500_^1*_]08*C1500_^1CHKABT_!AD€€Q-_#ABT,I_,BASE OF BUFFER_,08*C1500_^1_(INQ_$3_0+HEADER_308*C1500_^1CLR2_#LDA-_#(ZERO),Q_^1_(SAN_$CLR2A_^1_(JMP*_#CLR1A_,UN USED_^1CLR2A_"STA-_#JOBIND,I_)SAVE IN ATT_/08*C1500_^1_(LDA-_#2,Q_I08*C1500_^1_(AND-_#NZERO+4_E08*C1500_^1_(STA-_#FTOB,I_F08*C1500_^1_(LDA-_#1,Q_I08*C1500_^1_(STA-_#BLUN,I_F08*C1500_^1_(SAM_$1_K08*C1500_^1_(JMP*_#NOTSEV_+NOT SEV_308*C1500_^1_(TRQ_$A_K08*C1500_€€^1_(RTJ+_#SPILSR_+CALCULATE MODE_,08*C1500_^1_(ADC_$0_00 USE ADDRESS IN A_(08*C1500_^1_(SAM_$1_K08*C1500_^1_(JMP*_#CLRSEV_+NOT SEV LEGAL MODE_(08*C1500_^1_(STA-_#SEVFLG,I_)BIT 14 0/1 ENT/VER_(08*C1500_^1*_]08*C1500_^1* ENTATT IS FLAG_N08*C1500_^1*_"=0 ENT/SEV WAS NOT RESTORED._<08*C1500_^1*_#-=0_!ENT/SEV WAS FROZEN, OR WAS RESTORED._.08*C1500_^1*_]08*C1500_^1_(CLR_$A_K08*C1500_^1_€€(STA-_#ENTATT,I_D08*C1500_^1*_]08*C1500_^1* 'TRYVER' IS REACHED ALSO AFTER ENT/SEV WAS RESTORED OR_%08*C1500_^1* FROZEN, AND VER/SEV SHOULD BE HANDELED. THE VER/SEV ABT_$08*C1500_^1* IS BROUGHT AGAIN THROUGH SPILL AND RECHECKED._/08*C1500_^1*_]08*C1500_^1TRYVER_!LDA-_#SEVFLG,I_D08*C1500_^1_(EOR-_#ONEBIT+14_C08*C1500_^1_(STA*_#SEVPR2_+BRING SECOND ENTRY_(08*C1500_^1_(LDA-_#JOBIND,I_€€D08*C1500_^1_(AND-_#LPMASK+8_D08*C1500_^1_(STA*_#SEVPR1_F08*C1500_^1*_]08*C1500_^1SEVTRY_!CLR_$Q_0CALL SECOND SEV_+08*C1500_^1_(RTJ-_#(SPILL)_E08*C1500_^1SEVPR1_!NUM_$0_K08*C1500_^1SEVPR2_!NUM_$0_K08*C1500_^1SEVPR3_!NUM_$0_K08*C1500_^1_(JMP*_#SEVTRY_F08*C1500_^1_(SAN_$XY_J08*C1500_^1_(SQM_$CLRS_H08*C1500_^1_(LDA-_#SEVFLG,I_D08*C1500_^1_(EOR*_#SEVPR2_F08*C1500_^1_(AND-_#LPMASK+12_C0€€8*C1500_^1_(SAN_$CLRS_H08*C1500_^1_(ENA_$1_K08*C1500_^1_(STA-_#ENTIND,I_D08*C1500_^1_(JMP_$NSEV2_,DELETE THE ABT_,08*C1500_^1CLRS_#JMP*_#CLRSEV_+NO SECOND SEV_-08*C1500_^1XY_%STA-_#ABTIDX,I_D08*C1500_^1_(LDA-_#SEVFLG,I_D08*C1500_^1_(ALS_$1_K08*C1500_^1*_]08*C1500_^1* IF ENTATT=0, ENT/SEV SHOULD BE HANDELED FIRST._.08*C1500_^1* IF ENTATT-=0, VER/ SEV SHOULD BE HANDELED._208*C1500_^1€€*_]08*C1500_^1_(LDQ-_#ENTATT,I_D08*C1500_^1_(SQZ_$1_0FIRST TIME._/08*C1500_^1_(JMP*_#CHKVER_+CHECK VER/SEV._,08*C1500_^1_(SAP_$SEVENT_+FIRST SEV IS ENT_*08*C1500_^1_(JMP*_#CLR1A_,NEXT ABT ENTRY_,08*C1500_^1*_]08*C1500_^1* CHANGE SEV ABT TO NON SEV_B08*C1500_^1*_]08*C1500_^1CLRSEV_!LDQ-_#SQ,I_H08*C1500_^1_(ADQ-_#ABT,I_G08*C1500_^1_(LDA-_#4,Q_I08*C1500_^1_(AND-_#LPMASK+15_(CLEAR SEV€€ BIT_-08*C1500_^1_(STA-_#4,Q_I08*C1500_^1*_]08*C1500_^1_(ENQ_$1_0WRITE THE ABT PAGE_(08*C1500_^1_(RTJ_$ABTIO_,TO DISK_308*C1500_^1*_]08*C1500_^1_(LDA-_#ONEBIT+13_(WAS SEV FLAG_.08*C1500_^1_(STA-_#SEVFLG,I_D08*C1500_^1_(JMP*_#CHKMOD_+CHECK THE ENTRY_+08*C1500_^1SEVENT_!LDQ-_#SQ,I_-CHECK IF ENT/SEV_*08*C1500_^1_(ADQ-_#ABT,I_G08*C1500_^1_(INQ_$3_K08*C1500_^1_(LDA-_#(ZERO),Q_D08*C1500_€€^1_(AND-_#NZERO+13_D08*C1500_^1_(SAZ_$ENTOPN_+OPEN_608*C1500_^1_(EOR-_#NZERO+13_D08*C1500_^1_(SAN_$CHKVER_F08*C1500_^1_(JMP_$CLR6_-MAINTENANCE_/08*C1500_^1*_]08*C1500_^1CHKVER_!LDA*_#SEVPR1_F08*C1500_^1_(ALS_$3_K08*C1500_^1_(AND-_#LPMASK+3_D08*C1500_^1_(INA_$-3_J08*C1500_^1_(SAZ_$VEROPN_+VERIFY_408*C1500_^1_(JMP*_#CLR1A_,NEXT ABT_208*C1500_^1*_]08*C1500_^1ENTOPN_!LDA*_#SEVPR2_+CHEC€€K IF LU OF SEV/VER_#08*C1500_^1_(RTJ*_#DSKSEL_+IS SELECTED_/08*C1500_^1_(SAN_$DESLU_,NO_808*C1500_^1_(JMP*_#CHKMOD_F08*C1500_^1*_]08*C1500_^1VEROPN_!LDA-_#SEVFLG,I_)BIT 14 - 1 - VER/SEV_%08*C1500_^1_(EOR-_#ONEBIT+14_C08*C1500_^1_(STA-_#SEVFLG,I_D08*C1500_^1_(LDA-_#BLUN,I_+ENT/SEV LU_008*C1500_^1_(RTJ*_#DSKSEL_F08*C1500_^1_(SAN_$DESLU_,DESELECTED_008*C1500_^1*_]08*C1500_^1_(LDA*_#SE€€VPR2_+CONVERT TO VER/SEV_(08*C1500_^1_(STA-_#BLUN,I_+ABT_708*C1500_^1_(LDA*_#SEVPR3_F08*C1500_^1_(STA-_#FTOB,I_F08*C1500_^1_(LDA*_#SEVPR1_F08*C1500_^1_(STA-_#JOBIND,I_D08*C1500_^1_(JMP*_#CHKMOD_F08*C1500_^1*_]08*C1500_^1DESLU_"LDA-_#BLUN,I_+UPDATE LU(B12,B13)BY Q REG 08*C1500_^1_(ALS_$4_K08*C1500_^1_(LRS_$4_K08*C1500_^1_(STA-_#BLUN,I_F08*C1500_^1_(JMP*_#NOTSL_G08*C1500_^1*_]08*C150€€0_^1* INPUT A REG - ABT /W2_F08*C1500_^1* OUTPUT Q - LU, A - 0/1 -SEL/DESEL_:08*C1500_^1*_]08*C1500_^1DSKSEL_!NUM_$0_K08*C1500_^1_(ALS_$4_K08*C1500_^1_(AND-_#LPMASK+2_D08*C1500_^1_(LDQ-_#SST_I08*C1500_^1_(LDQ-_#DSKST,Q_E08*C1500_^1_(LLS_$16_J08*C1500_^1_(AND-_#ONEBIT+4,Q_B08*C1500_^1_(JMP*_#(DSKSEL)_D08*C1500_^1*_]08*C1500_^1NOTSEV_!CLR_$A_K08*C1500_^1_(STA-_#SEVFLG,I_D08*C1500_^€€1*_]08*C1500_^1CHKMOD_!LDA-_#JOBIND,I_D08*C1500_^1_(ALS_$3_K08*C1500_^1_(AND-_#LPMASK+3_^1_(STA-_#ENTIND,I_)WHICH MODE_^1_(SAZ_$SETATT_+ENTRY_^1_(INA_$-3_^1_(SAZ_$SETATT_+VERIFY_^1_(INA_$3-7_^1_(SAZ_$1_0MAINTENEANCE_^1_(JMP*_#CLR1A_,CONTINUE_^1_(JMP_$CLR6_^1* SET ATT FOR THW COMMAND_^1SETATT_!LDA-_#BLUN,I_F08*C1500_^1_(RTJ*_#DSKSEL_F08*C1500_^1_(SAZ_$SEL_I08*C1500_^1*_]08*C1500_^1*€€_!DISK DESELECTED ERROR_E08*C1500_^1*_]08*C1500_^1NOTSL_"SET_$A_K08*C1500_^1_(STA-_#ENTIND,I_D08*C1500_^1_(RTJ_$PRTMSG_+PRINT MESSAGE_-08*C1500_^1_(JMP_$CLR1A_,NEXT ATT_208*C1500_^1*_]08*C1500_^1*_]08*C1500_^1SEL_$ENQ_$1_0READ ATT_208*C1500_^1_(RTJ_$WRTRW_,READ ATT TO INT BUF_'08*C1500_^1_(ENQ_$1_^1_(RTJ_$RWSACC_+READ FROM FTOB_,08*C1500_^1*_BSTART TIME+ACCUMULATED TIME+OPR NO._^1*€€_]_^1_(LDA-_#ATEMP,I_^1_(STA-_#OPR,I_,SAVE OPERATOR NO._^1*_]_^1*_]_^1* CHECK IF BATCH SHOULD BE DELETED_;08*C1500_^1*_]_^1*_]_^1_(LDQ-_#IRB,I_^1_(LDA-_#RCD+4,Q_E08*C1500_^1_(LDQ-_#ENTIND,I_)MODE OF BATCH_-08*C1500_^1_(SQZ_$1_0ENTR_608*C1500_^1_(JMP*_#NENT1_G08*C1500_^1CKP1_#SUB_$=XSTDCKP_)RCD IN STD CHECKPOINT_$08*C1500_^1_(LDQ-_#SEVFLG,I_D08*C1500_^1_(SQZ_$NSEV1_,NOT SEV, NOT WA€€S SEV_%08*C1500_^1_(ADD*_#CKP1+1_F08*C1500_^1_(SUB_$=XSEVCKP_)RCD IN SEC CHECKPOINT_$08*C1500_^1NSEV1_"SAM_$DEL1_H08*C1500_^1_(JMP*_#CONTIN_F08*C1500_^1*_]08*C1500_^1*_]08*C1500_^1DEL1_#SQM_$1_0SEV?_608*C1500_^1_(JMP*_#NSEV2_,NO._708*C1500_^1_(LDA*_#SEVPR3_+DELETE VER/SEV BATCH_%08*C1500_^1_(STA-_#FTOB,I_F08*C1500_^1_(LDA_$SEVPR2_F08*C1500_^1_(STA-_#BLUN,I_F08*C1500_^1_(ENQ_$1_0REA€€D_608*C1500_^1_(RTJ_$RWSACC_+STATISTIC INFORMATION_$08*C1500_^1_(LDA-_#OPR,I_,SAVE OPERATOR NUMBER_%08*C1500_^1_(STA-_#ENTATT,I_)OF ENT/SEV_008*C1500_^1*_]08*C1500_^1_(LDA-_#ATEMP,I_*VER/SEV OPERATOR NUMBER_"08*C1500_^1_(STA-_#OPR,I_G08*C1500_^1*_]08*C1500_^1_(ENA_$1_0FLAG.VER MODE FOR_)08*C1500_^1_(STA-_#ENTIND,I_)PRTMSG ROUTINE._+08*C1500_^1_(SET_$Q_0DELETE THE VER/SEV BATCH_!08*€€C1500_^1_(RTJ*_#DELE_H08*C1500_^1*_]08*C1500_^1*_]08*C1500_^1_(LDA-_#ENTATT,I_)RESTORE OPERATOR NO_'08*C1500_^1_(STA-_#OPR,I_,OF ENTRY_208*C1500_^1_(CLR_$A_0INDICATE ENT MODE FOR_$08*C1500_^1_(STA-_#ENTIND,I_)PRTMSG ROUTINE._+08*C1500_^1*_]08*C1500_^1NSEV2_"CLR_$Q_0DELETE THE ABT IN BUFFER_!08*C1500_^1_(RTJ*_#DELE_-POINTED BY SQ._,08*C1500_^1*_]08*C1500_^1_(JMP_$CLR1A_,NEXT BATCH_0€€08*C1500_^1*_7NOT ENTR BATCH_708*C1500_^1*_]08*C1500_^1NENT1_"LDQ-_#SEVFLG,I_D08*C1500_^1_(SQZ_$CONTIN_+NOT SEV,NO WAS SEV_(08*C1500_^1_(SAN_$CONTIN_+RCD # 0_308*C1500_^1*_]08*C1500_^1* Q<0, IF VER/SEV (NOT IN PAGE) , Q>0 IF IN PAGE._,08*C1500_^1*_]08*C1500_^1_(SQM_$DEL2_H08*C1500_^1_(JMP*_#NSEV2_,( WAS SEV)_008*C1500_^1CONTIN_!JMP*_#CONNT_G08*C1500_^1*_]08*C1500_^1* DELETE VER/S€€EV_M08*C1500_^1*_!CLEAR THE SEV BIT FROM ENT/SEV, AND WRITE THE PAGE_(08*C1500_^1* IF ENT/SEV ACTIVE-CLEAR THE SEV INFORMATION FROM ATT_'08*C1500_^1*_]08*C1500_^1DEL2_#RTJ*_#DELE_-Q<0. DELETE VER._*08*C1500_^1*_]08*C1500_^1_(LDQ-_#SQ,I_-ENT/SEV ABT_/08*C1500_^1_(ADQ-_#ABT,I_G08*C1500_^1_(LDA-_#4,Q_I08*C1500_^1_(AND-_#LPMASK+15_(CLEAR SEV BIT._,08*C1500_^1_(STA-_#4,Q_I08*C1500_^1*_€€]08*C1500_^1_(LDA-_#3,Q_.ENT/SEV MODE._-08*C1500_^1_(AND-_#NZERO+13_D08*C1500_^1_(SAN_$NACTIV_F08*C1500_^1*_]08*C1500_^1_(LDQ-_#ENTATT,I_)ACTIVE_408*C1500_^1_(STA-_#SW3,Q_,CLEAR SW3(NOT SEV)_(08*C1500_^1*_]08*C1500_^1NACTIV_!ENQ_$1_0REWRITE THE ABT PAGE_%08*C1500_^1_(RTJ_$ABTIO_,INCLUDING ENT/SEV_)08*C1500_^1_(JMP_$CLR1A_,NEXT ABT_208*C1500_^1*_]08*C1500_^1* Q<0 (DELETE VER/SEV), 0€€>0, DELETE IN PAGE_308*C1500_^1*_]08*C1500_^1DELE_#NUM_$0_K08*C1500_^1_(RTJ-_#(ENTSR)_E08*C1500_^1_(STQ*_#DELE_H08*C1500_^1_(RTJ+_#SETMOV_F08*C1500_^1_(LDQ*_#DELE_H08*C1500_^1_(SQP_$1_K08*C1500_^1_(JMP*_#V1_/VER/SEV_308*C1500_^1_(LDQ-_#SQ,I_H08*C1500_^1UDPAG1_!ADQ-_#ABT,I_G08*C1500_^1_(CLR_$A_0CLEAR THE ABT_-08*C1500_^1_(STA-_#3,Q_I08*C1500_^1_(LDA-_#4,Q_.MOVE LU AND FTOB_*08*C1500€€_^1_(AND-_#LPMASK+14_(FROM PAGE TO ATT_*08*C1500_^1_(STA-_#BLUN,I_+FOR LINKTR._/08*C1500_^1_(LDA-_#5,Q_I08*C1500_^1_(STA-_#FTOB,I_F08*C1500_^1_(LDQ-_#ABT,I_G08*C1500_^1_(LDA-_#4,Q_.DECREMENT NO. OF ENTRIES_!08*C1500_^1_(INA_$-1_J08*C1500_^1_(STA-_#4,Q_I08*C1500_^1_(ENQ_$1_K08*C1500_^1_(RTJ_$ABTIO_,REWRITE ABT PAGE_*08*C1500_^1_(JMP*_#RELI_H08*C1500_^1*_]08*C1500_^1* IF VER/SEV IS I€€N ABT BUFFER, DELETE VER/SEV ABT IN BUFFER_"08*C1500_^1*_]08*C1500_^1V1_%RTJ_$CHKSPG_+SPILL PAGE IN ABT BUF?_#08*C1500_^1_(SAN_$V11_.NO. DEL THROUGH SPILL_#08*C1500_^1_(RTJ_$CLCIDX_+CLC ABTIDX*3 IN Q REGISTER 08*C1500_^1_(JMP*_#UDPAG1_F08*C1500_^1V11_$LDA-_#ABTIDX,I_)ABTIDX OF VER/SEV_)08*C1500_^1_(STA*_#SP1_I08*C1500_^1_(SET_$Q_0MODIFY 1 WORD_-08*C1500_^1_(RTJ-_#(SPILL)_E08*C1500€€_^1SP1_$ADC_$0_K08*C1500_^1_(ADC_$0_0(UPDATE BY ZERO)_*08*C1500_^1_(ADC_$0_K08*C1500_^1_(JMP*_#V1_J08*C1500_^1*_]08*C1500_^1* CHECK IF AFTER DELETION, SPILL PAGE BECAME THE SAME AS PAGE 08*C1500_^1* IN ABT BUFFER OR A PREVIOUS PAGE_<08*C1500_^1* IF YES, IT MEANS THE LAST PAGE WAS EMPTIED , AND A PAGE_$08*C1500_^1* BEFORE LAST BECAME LAST_E08*C1500_^1* LAST BIT SHOULD BE SET ON PAG€€E IN ABT BUFFER._/08*C1500_^1* THIS IMPLIES THAT THE PAGES AFTER IT ARE EMPTY_.08*C1500_^1*_]08*C1500_^1_(RTJ_$CHKSPG_F08*C1500_^1_(SAZ_%1_/SAME PAGE_108*C1500_^1_(SAP_%2_/AFTER PAGE IN BUFFER_%08*C1500_^1_(LDA-_#ONEBIT+15_C08*C1500_^1_(STA-_#5,Q_.Q HOLDS ABT BCKWRD POINTER 08*C1500_^1_(LDA_$SEVPR2_+MOVE TO ATT_/08*C1500_^1_(AND-_#LPMASK+14_C08*C1500_^1_(STA-_#BLUN,I_F08*C1500_^1_(€€LDA_$SEVPR3_F08*C1500_^1_(STA-_#FTOB,I_F08*C1500_^1*_]08*C1500_^1RELI_#CLR_$A_0RELEASE TRACKS IN TKT_$08*C1500_^1_(RTJ_$LINKTR_F08*C1500_^1_(LDA-_#ENTIND,I_)FLAG. BATCH DELETED._%08*C1500_^1_(EOR-_#ONEBIT+15_(FOR PRTMSG_008*C1500_^1_(STA-_#ENTIND,I_D08*C1500_^1_(RTJ_$PRTMSG_F08*C1500_^1_(JMP-_#(EXTSR)_E08*C1500_^1CONNT_"LDQ-_#IRB,I_^1_(LDA-_#BMOD+4,Q_D08*C1500_^1_(ALS_$2_K08*C1500_€€^1_(SAP_$4_K08*C1500_^1_(LDA-_#SW2+4,Q_*IF ENTRY-SET INDICATION_"08*C1500_^1_(AND-_#ZROBIT+5_-TO BORENT TO UPDATE_"08*C1500_^1_(EOR-_#ONEBIT+5_-NXTDA OF PREVIOUS REC 08*C1500_^1_(STA-_#SW2+4,Q_E08*C1500_^1*_]08*C1500_^1_(LDA-_#RCNT+4,Q_^1*_]_^1* IF RCNT<0, ATT WAS WRITTEN DURING FRZ._^1* ACCUMULATED TIME WAS UPDATED ALREADY._^1* ECODE IS NOT THE CLOCK._^1*_]_^1_(SAP_$1_^1_(JMP*_#C€€HKIN1_^1_(LDA-_#ECODE+4,Q_^1_(SAZ_$CLL_I04*C1062_^1_(SUB-_#ATEMP+2,I_C04*C1062_^1_(ADD-_#ATEMP+3,I_(ACCUMULATED TIME_^1_(STA-_#ATEMP+3,I_^1*_]_^1* IF IN ENTRY MODE AND UNDER DOCUMENT CONTROL,SAVE THE RELATIVE_^1* DISTANCE TO BEGINNING OF CURRENT DOC,INSTEAD OF DISPLACEMENT TO_^1* BEGINNING OF DOC LIBRARY._^1* (TO AVOID MISTAKE IN CASE THE BATCH WILL BE FROZEN BECAUSE LACK O_^1*€€ OF CORE)_^1* THIS IS NOT DONE ONLY IN CASE CLR FRZ A BATCH,BECAUSE WE HAVE NO_^1* INDICATION IF THE ATT WAS WRITTEN BY CLR IN CASE IT FRZ A_^1* BATCH,OR JUST IN ORDER TO CLEAR ECODE._^1_(LDA-_#BMOD+4,Q_^1_(ALS_$2_^1_(SAP_$CLL_^1_(LDA-_#DOCNO+4,Q_^1_(AND-_#NZERO+8_^1_(SAN_$1_^1CLL_$JMP*_#CHKIN_^1_(ALS_$9_^1_(LDQ-_#SST_^1_(LDQ-_#LDDA,Q_^1_(LLS_$16_^1_(RTJ*_#READ2_,READ DOC ENTRY€€_^1*_]_^1_(LDQ-_#IRB,I_^1_(LDA-_#ELDT+4,Q_^1*_]05*C1157_^1_(SUB-_#TEMPR,I_^1*_]05*C1157_^1_(STA-_#ELDT+4,Q_)RELATIVE_^1CHKIN_"LDQ-_#IRB,I_^1_(CLR_$A_^1_(STA-_#ECODE+4,Q_(ZERO TO ECODE_^1CHKIN1_!LDA-_#SST+CLOCKS_^1_(STA-_#ATEMP+2,I_(START TIME_^1_(CLR_$Q_^1_(RTJ*_#RWSACC_+WRITE ACCUMULATED TIME_^1*_BAND START TIME_^1STAT_#JMP_$STATIN_^1*_]_^1* READ/WRITE START TIME+ ACCUMULATED TIM€€E_^1RWSACC_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(LDA*_#CN,Q_-READ OR WRITE_^1_(STA*_#FUNN_^1*_]_^1_(ENQ_$91_^1_(LDA-_#FTOB,I_^1_(RTJ-_#(CLCDWA)_^1_(STA*_#DA1+1_^1_(STQ*_#DA1_^1_(LDA_$=XATEMP,I_^1_(STA*_#COR_^1_(LDA-_#BLUN,I_F08*C1500_^1_(ALS_$4_K08*C1500_^1_(AND-_#LPMASK+2_D08*C1500_^1_(STA*_#LU1_I08*C1500_^1_(RTJ+_#SETMOV_^1FUNN_#NUM_$0_^1COR_$NUM_$0_^1DA1_$NUM_$0,0_^1_(NUM_$4_04 WORDS_^1€€LU1_$NUM_$0_^1*_]_^1_(JMP-_#(EXTSR)_^1*_]_^1CN_%RTJ-_#(WRTDWA)_^1_(RTJ-_#(REDDWA)_^1*_]_^1*_!FREEZE THE BATCH. IF IN ENTRY MODE AND LESS 16 RECORDS IS_^1*_"PRESENT, DELETE IT._^1*_]_^1FRZBCH_!NUM_$0_^1_(RTJ-_#(ENTSR)_E08*C1500_^1_(STQ*_#LU1_.Q<0- FRZ VER/SEV_*08*C1500_^1*_BQ>0 - FRZ ABT IN BUFFER_"08*C1500_^1_(RTJ+_#SETMOV_F08*C1500_^1_(LDQ-_#IRB,I_^1_(LDA-_#SW2+4,Q_*SET MONITOR€€ CHECK OVERRIDE BIT._^1_(AND-_#ZROBIT+3_^1_(EOR-_#ONEBIT+3_^1_(STA-_#SW2+4,Q_^1_(LDA-_#RCNT+4,Q_)IF BATCH FROZEN ALREADY_"06*C1300_^1_(SAM_$FRZARD_F06*C1300_^1_(CLR_$A_0CLR BACKWARDS POINTERS_#06*C1300_^1_(STA-_#PFBA+4,Q_)OF NON EXISTENT BUFFERS_"06*C1300_^1_(STA-_#TRB+4,Q_*(AVOID RELEASING THEM_$06*C1300_^1_(STA-_#IRB+4,Q_*IF DISK ERROR OCCURES_$06*C1300_^1_(STA-_#ASRCH+4,Q_(IN TI€€ME OF THAW)_*06*C1300_^1*_]08*C1500_^1_(CLR_$Q_0WRITE CHECK POINT_)08*C1500_^1_(RTJ*_#WRTRW_G08*C1500_^1*_]08*C1500_^1FRZARD_!LDQ*_#LU1_I08*C1500_^1_(SQM_$V2_/VER ABT_308*C1500_^1*_]08*C1500_^1_(LDQ-_#SQ,I_H08*C1500_^1UDPAG2_!ADQ-_#ABT,I_G08*C1500_^1_(LDA-_#3,Q_I08*C1500_^1_(ADD-_#ONEBIT+13_C08*C1500_^1_(SAM_$VF_/BIT 15 SET-VERIFY FROZEN_!08*C1500_^1_(ADD-_#ONEBIT+13_(ENFRZ_508*C15€€00_^1VF_%STA-_#3,Q_I08*C1500_^1*_]08*C1500_^1_(ENQ_$1_0WRITE ABT PAGE_,08*C1500_^1_(RTJ*_#ABTIO_G08*C1500_^1PRT_$RTJ_$PRTMSG_F08*C1500_^1_(JMP-_#(EXTSR)_E08*C1500_^1*_]08*C1500_^1*_]08*C1500_^1V2_%RTJ_$CHKSPG_+SPILL PAGE IN ABT BUF?_#08*C1500_^1_(SAN_$V22_I08*C1500_^1_(RTJ_$CLCIDX_+CLC ABTIDX*3 IN Q REGISTER 08*C1500_^1_(JMP*_#UDPAG2_F08*C1500_^1V22_$LDA-_#ABTIDX,I_)ABTIDX OF VER/S€€EV_)08*C1500_^1_(STA*_#SPV1_H08*C1500_^1_(LDA_$SEVPR1_F08*C1500_^1_(ADD-_#ONEBIT+13_C08*C1500_^1_(SAM_$1_0VRFZ_608*C1500_^1_(ADD-_#ONEBIT+13_(EFRZ_608*C1500_^1_(STA*_#SPV2_H08*C1500_^1_(SET_$Q_0MODIFY ONE WORD_+08*C1500_^1_(RTJ-_#(SPILL)_E08*C1500_^1SPV1_#ADC_$0_K08*C1500_^1SPV2_#ADC_$0_K08*C1500_^1_(ADC_$0_K08*C1500_^1_(JMP*_#V2_J08*C1500_^1_(JMP*_#PRT_I08*C1500_^1*_]08*C1500_^1*_€€]08*C1500_^1*_]08*C1500_^1*_]_^1* READ/WRITE ATT TO INT BUF_^1*_]_^1*_]_^1WRTRW_"NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(LDA*_#CN,Q_^1_(STA*_#FNN_^1_(LDA-_#FTOB,I_+BATCH TRACK ADDRESS_^1_(ENQ_$96_^1_(RTJ-_#(CLCDWA)_^1_(STA*_#DA2+1_^1_(STQ*_#DA2_^1_(RTJ*_#IOINT_,I/O BIT ON_^1_(STQ*_#CORIN2_^1_(LDA-_#BLUN,I_F08*C1500_^1_(ALS_$4_K08*C1500_^1_(AND-_#LPMASK+2_D08*C1500_^1_(STA*_#LU2_I08*C1500_^1€€_(RTJ+_#SETMOV_^1FNN_$NUM_$0_^1CORIN2_!NUM_$0_^1DA2_$NUM_$0,0_^1_(NUM_$35_^1LU2_$NUM_$0_^1_(RTJ*_#IOINT_,I/O BIT OFF_^1_(JMP-_#(EXTSR)_^1IOINT_"NUM_$0_0TURN ON/OFF I/O BIT_^1_(LDQ-_#IRB,I_^1_(LDA-_#1,Q_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(INQ_$4_^1_(JMP*_#(IOINT)_^1READ2_"NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ-_#(CLCDWA)_^1_(STA*_#DA7+1_^1_(STQ*_#DA7_^1_(LDA_$=XTEMPR,I_^1_(STA*_#COR7_^1€€_(RTJ+_#SETMOV_^1_(RTJ-_#(REDDWA)_^1COR7_#NUM_$0_^1DA7_$NUM_$0,0_^1_(NUM_$4_0READ 4 WORDS_.04*C1083_^1_(NUM_$0_^1_(JMP-_#(EXTSR)_^1CLR6_#LDQ-_#SQ,I_-MAINTENANCE_/08*C1500_^1_(ADQ-_#ABT,I_,CURRENT IN ABT PAGE_'08*C1500_^1_(INQ_$3_0(MAIN NOT POSBLE VER/SEV) 08*C1500_^1_(LDA-_#(ZERO),Q_D08*C1500_^1_(AND-_#LPMASK+13_(CLEAR MODE_^1_(STA-_#(ZERO),Q_^1_(LDA-_#2,Q_.FTOB_^1_(ALS_$13_^1_(AN€€D-_#NZERO+13_^1_(EOR-_#(ZERO),Q_)SET MODE_^1_(STA-_#(ZERO),Q_^1_(LDA-_#2,Q_^1_(AND-_#NZERO+3_^1_(STA-_#2,Q_^1_(JMP_$CLR1A_^1TSTEND_!ENQ_$1_^1_(RTJ*_#ABTIO_,WRITE ABT_^1*_]08*C1500_^1* THE PAGE SHOULD BE WRITTEN AT END_;08*C1500_^1* BECAUSE RESTORING FROM MAINT MODE IS NOT_408*C1500_^1* WRITTEN FOR SINGLE ABT_F08*C1500_^1*_]08*C1500_^1_(RTJ_$CHKSPG_+SPILL PAGE SAME AS BUFFER? 08*C15€€00_^1_(SAN_$1_0NO._708*C1500_^1_(RTJ*_#MOVPAG_+MOVE UPDATED PAGE TO SPIL 08*C1500_^1_(LDQ-_#ABT,I_^1_(LDA-_#5,Q_.LAST PAGE?_008*C1500_^1_(SAM_$END1_^1_(LDA-_#TABNO,I_^1_(ADD*_#SECT_^1_(JMP_$READ_^1END1_#LDQ-_#ABT,I_^1_(LDA-_#4,Q_.NO OF ENTRIES IN PAGE_$08*C1500_^1_(SAN_$OUT1_-NOT EMPTY_^1_(LDA-_#TABNO,I_^1_(SAZ_$OUT1_^1_(SUB*_#SECT_-DEC. TABLE ADDRESS_^1_(STA-_#TABNO,I_^1_(CLR_$Q_€€^1_(RTJ*_#ABTIO_,READ PREVIOUS TABLE_^1_(JMP*_#END1_^1OUT1_#JMP*_#OUT2_^1*_]_^1ABTIO_"NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(LDA*_#FUN,Q_^1_(STA*_#IO_^1_(LDA-_#ABTDA,I_^1_(ADD-_#TABNO,I_^1_(STA*_#IO+2_^1_(LDQ-_#ABT,I_,BACKWARDS POINTER_)08*C1500_^1_(LDA-_#1,Q_I08*C1500_^1_(EOR-_#ONEBIT+15_(SET I/O BIT_/08*C1500_^1_(STA-_#1,Q_I08*C1500_^1_(INQ_$3_K08*C1500_^1_(STQ*_#IO+1_-CORE ADDRESS_.08*C15€€00_^1_(RTJ+_#SETMOV_^1IO_%RTJ-_#(REDSEC)_^1_(NUM_$0,0_.CORE AND DISK ADDRESSES_^1SECT_#ADC_$SIABTS_+NO.OF SECTOR PER ABT_^1_(NUM_$0_0DISK NO._^1*_]08*C1500_^1_(LDQ-_#ABT,I_G08*C1500_^1_(LDA-_#1,Q_.CLEAR I/O BIT._,08*C1500_^1_(AND-_#ZROBIT+15_C08*C1500_^1_(STA-_#1,Q_I08*C1500_^1_(JMP-_#(EXTSR)_^1*_]_^1FUN_$RTJ-_#(REDSEC)_^1_(RTJ-_#(WRTSEC)_^1*_]_^1OUT2_#LDQ-_#ABT,I_^1_(LDA-_#5,Q_.3'€€RD WORD IN PAGE_)08*C1500_^1_(AND-_#LPMASK+15_^1_(EOR-_#ONEBIT+15_(SET LAST TABLE MARK_^1_(STA-_#5,Q_I08*C1500_^1_(ENQ_$1_^1_(RTJ*_#ABTIO_,WRITE LAST TABLE_^1*_]08*C1500_^1* MOVE ABT FROM BUFFER TO ABT AREA_;08*C1500_^1*_]08*C1500_^1_(RTJ*_#MOVPAG_F08*C1500_^1_(JMP*_#RELAB_G08*C1500_^1*_]08*C1500_^1* THE ROUTINE TRANSFERS AN ABT PAGE FROM BUFFER TO SPILL AREA 08*C1500_^1MOVPAG_!N€€UM_$0_K08*C1500_^1_(LDQ-_#SST_I08*C1500_^1_(LDQ-_#ABTADR,Q_)ABT FIXED AREA IN CORE_#08*C1500_^1_(STQ-_#SST+STEMP_C08*C1500_^1_(LDQ-_#ABT,I_,ABT BUFFER_008*C1500_^1_(INQ_$3_K08*C1500_^1_(STQ-_#SST+STEMP+1_A08*C1500_^1_(LDQ_$=XSIABTW_D08*C1500_^1MV_%INQ_$-1_/MOVE FROM BUFFER TO CORE_!08*C1500_^1_(LDA-_#(SST+STEMP+1),Q_=08*C1500_^1_(STA-_#(SST+STEMP),Q_?08*C1500_^1_(SQZ_$1_K08*C1500_^€€1_(JMP*_#MV_J08*C1500_^1_(JMP*_#(MOVPAG)_D08*C1500_^1*_]08*C1500_^1RELAB_"LDQ-_#ABT,I_G08*C1500_^1_(RTJ-_#(RELFOR)_D08*C1500_^1*_]_^1* CLEAR SCREENS_^1*_]_^1OUTEND_!LDA-_#SST+SLOCK_C08*C1500_^1_(AND-_#LPMASK+6_)NO.OF TERMINALS_^1_(STA*_#ABTC_^1CLRLOP_!LDA*_#ABTC_^1_(SAN_%1_^1_(JMP*_$VLRDY_^1_(INA_$-1_^1_(STA*_#ABTC_^1_(LDA-_#I_^1_(ADD-_#ATTLNG+SST_^1_(STA-_#I_^1_(STA-_#CATT+SST_^1_€€(LDA-_#CMODE,I_^1_(AND_$=N$F00_^1_(SAZ_$1_0IDLE_^1_(JMP*_#CLRLOP_^1_%LDA- (I)_SRV002_^1_%AND =N$0780_ORV002_^1_%EOR =N$0380_ORV002_^1_%SAN 1_,N=DEVICE IS NOT MATRIX PRINTER_*RV002_^1_%JMP* CLRLOP_PRV002_^1_(RTJ-_#(DISPLY)_)CLEAR SCREEN_^1_(ADC_$CLRALL_^1_(RTJ*_#VL700_^1_(ALF_$3,******_^1_(ALF_$*, CYBERDATA_!SYSTEM *_^1_(ALF_$3,******_^1VL700_"NUM_$0_^1_(LDQ*_#VL700_^1_(LDA_$CLRH€€DR_^1_%AND- LPMASK+15_ISWD77003_^1_(EOR-_#ONEBIT+15_^1_(STA_$CLRHDR_^1_(ENA_$32_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DLINE_^1_(JMP*_#CLRLOP_^1*_]_^1VLRDY_"LDA-_#SST+ATTB_^1_(STA-_#I_^1_(STA-_#CATT+SST_^1_(ENQ_$FW_^1_(RTJ-_#(SUPRW)_^1_(ADC_$(MES1-*)_^1_(ADC_$EMES1-MES1_^1*_]_^1_(LDA-_#SLOCK+SST_^1_(AND-_#LPMASK+15_(CLEAR TSL_^1_(STA-_#SLOCK+SST_^1*_]_^1* RELEASE THE INTERROGATE BUFFER_^1_(LD€€Q-_#IRB,I_^1* 2 CARDS HAS BEEN DELETED_B04*C1083_^1_(RTJ-_#(RELFOR)_^1_(RTJ-_#(EXDFUN)_)RELEASE CLR_^1_(JMP-_#(DISPCH)_)EXIT_^1_(BZS_$ABTC_^1*_]04*C1083_^1_(BZS_$JOB(4)_+JOBS ENTRY_004*C1083_^1*_]_^1*_]08*C1500_^1_(BZS_$OLDJOB(1)_C08*C1500_^1*_]08*C1500_^1* GET JOB ROUTINE MOVES THE JOB NAME TO INTERNAL AREA IF_$08*C1500_^1* THE OLDJOB INDEX SAVED IN THE PROGRAM IS DIFFERENT FR€€OM_#08*C1500_^1* THE JOB INDEX IN ATT_G08*C1500_^1*_]08*C1500_^1GETJOB_!NUM_$0_K08*C1500_^1_(RTJ-_#(ENTSR)_E08*C1500_^1_(RTJ+_#SETMOV_F08*C1500_^1_(LDA-_#JOBIND,I_)JOB INDEX_108*C1500_^1_(AND-_#LPMASK+8_D08*C1500_^1_(TRA_$Q_K08*C1500_^1_(EOR*_#OLDJOB_F08*C1500_^1_(SAN_$1_K08*C1500_^1_(JMP*_#RETJOB_+THE JOB ENTRY IN CORE_$08*C1500_^1_(STQ*_#OLDJOB_F08*C1500_^1_(TRQ_$A_K08*C1500_^1_€€(CLR_$Q_K04*C1083_^1_(DVI_$=N19_-19 ENTRIES IN A SECTOR_#04*C1083_^1_(STA-_#SST+STEMP_(WHICH SECTOR IN LJD_'04*C1083_^1_(TRQ_$A_K04*C1083_^1_(MUI_$=N5_I04*C1083_^1_(LDQ-_#SST_I04*C1083_^1_(LDQ-_#LJDDA,Q_*LJD_!DISK ADDRESS_'04*C1083_^1_(ADQ-_#SST+STEMP_C04*C1083_^1_(LLS_$16_J04*C1083_^1_(RTJ_$READ2_,READ JOB ENTRY_*04*C1083_^1*_]04*C1083_^1_(LDA-_#TEMPR,I_*TRANSFER_204*C1083_^1_(€€STA*_#JOB_I04*C1083_^1_(LDA-_#TEMPR+1,I_0TO_004*C1083_^1_(STA*_#JOB+1_7INTERNAL_'04*C1083_^1_(LDA-_#TEMPR+2,I_C04*C1083_^1_(STA*_#JOB+2_08*C1500_^1*_]08*C1500_^1*_]_^1*_]_^1*_]_^1*_!IF THE STATION ON WHICH THE BATCH WA€€S ENTERED IS NOT_^1*_]_^1*_!INITIALIZED, CHANGE ITS STATUS TO FROZEN._^1*_]_^1*_]_^1STATIN_!LDQ-_#SEVFLG,I_D08*C1500_^1_(SQP_$NOTV_-NOT SEV_308*C1500_^1_(QLS_$1_K08*C1500_^1_(SQP_$NOTV_-NOT VERIFY_008*C1500_^1*_]08*C1500_^1_(LDQ-_#SQ,I_-IS ENT/SEV FROZEN?_(08*C1500_^1_(ADQ-_#ABT,I_G08*C1500_^1_(LDA-_#3,Q_I08*C1500_^1_(AND-_#NZERO+13_D08*C1500_^1_(EOR-_#ONEBIT+14_C08*C1500_^1_(SAN€€_$NOTV_-NO_808*C1500_^1*_]08*C1500_^1* THE SEV/ENT IS FROZEN. FREEZE VER/SEV_608*C1500_^1*_]08*C1500_^1*_]08*C1500_^1_(SET_$Q_K08*C1500_^1_(RTJ_$FRZBCH_+FRZ VER/SEV (Q<0)_)08*C1500_^1_(JMP_$CLR1A_,NEXT ENTRY._/08*C1500_^1*_]08*C1500_^1NOTV_#LDQ-_#IRB,I_G08*C1500_^1_(LDA-_#4,Q_^1_(AND-_#LPMASK+6_)BATCH STATION_^1_(STA-_#TRN,I_,WHICH TERMINAL_^1_(LDA-_#SST+SLOCK_^1_(AND-_#LPMASK+6_)€€NUMBER OF STATIONS_^1_(SUB-_#TRN,I_^1_(SAP_$1_^1_(JMP*_#NOCORE_^1_(RTJ*_#GETJOB_+GET JOB ENTRY_-08*C1500_^1*_]08*C1500_^1*_!CHECK THE STATION_I08*C1500_^1*_]08*C1500_^1_(LDA-_#TRN,I_,TERMINAL NO_^1_(MUI-_#SST+ATTLNG_^1_(ADD-_#SST+ATTB_^1_(STA-_#TATT,I_^1* 3CARDS DELETED_OP1*H0017_^1_(AND_$=N$F00_+CHECK IF TERMINAL IS IDLE_^1_(SAZ_$1_^1_(JMP*_#NOCORE_+FRZ THE BATCH_^1_(LDA-_#(ZERO),€€Q_^1_(AND-_#ONEBIT+10_(IF CRT OR SELF-SCAN_^1_(SAZ_$ASKTRB_^1*_]_^1*_]_^1_(LDQ-_#ATOPT,Q_*TRANSFER JOB NAME_^1_(LDA*_#JOB_.TO HDR_^1_(STA-_#5,Q_^1_(LDA*_#JOB+1_^1_(STA-_#6,Q_^1_(LDA*_#JOB+2_^1_(STA-_#7,Q_^1*_]_^1*_]_^1*_]_^1*_]_^1* CHECK IF ENOUGH CORE, FOR TRB_^1* AND FMT._^1*_]_^1*_]_^1ASKTRB_!LDA*_#JOB+3_,ASK_^1_(AND-_#LPMASK+10_,FOR TRB. ITS LENGTH IS TAKEN_^1_(TRA_$Q_0F€€ROM THE JOB ENTRY IN LJD._^1_(QRS_$1_^1_(INQ_$8+1_^1_(RTJ-_#(CAM)_^1_(SAP_$TRBOK_^1_(JMP*_#NOCORE_^1*_]_^1*_]_^1*_]_^1*_]_^1TRBOK_"STQ-_#TRB,I_,FIX BCKWRDS POINTER_^1_(LDA_$=XTRB,I_*TO SUPERVISOR ATT_^1_(STA-_#(ZERO),Q_^1*_]_^1*_"ASK FOR BUFFER FOR THE FMT_^1*_]_^1*_]_^1_(LDQ-_#IRB,I_^1_(LDA-_#FMTNO+4,Q_^1_(AND-_#LPMASK+13_^1_(STA-_#SST+STEMP+2_A06*C1322_^1_(SAZ_$FCO_^1*_]_^1*€€ CHECK_!FBA_!IF_!FMT IS CONNECTED TO A STATION_^1*_]_^1_(CLR_$A_^1_(STA-_#SST+STEMP+1_^1_(LDQ-_#SST_^1_(LDQ-_#FBA,Q_,FROMAT BASE ADDRESS TABLE_^1_(STQ-_#SST+STEMP_^1*_]_^1CHKFMT_!LDQ-_#(SST+STEMP)_^1_(SQZ_$NXT_^1_(LDA-_#3,Q_.FMTNO_^1_(EOR-_#SST+STEMP+2_A06*C1322_^1_(AND-_#LPMASK+13_^1_(SAN_$NXT_I08*C1500_^1FCO_$JMP_#FMTCOR_,FMT IS PRESENT IN CORE_#08*C1500_^1*_]_^1NXT_$RAO-_#SST€€+STEMP_^1_(RAO-_#SST+STEMP+1_^1*_]_^1_(LDA-_#SST+SLOCK_(NO OF TERMINALS_^1_(AND-_#LPMASK+6_^1_(SUB-_#SST+STEMP+1_^1_(SAZ_$FMTNC_,FMT IS NOT PRESENT AT CORE_^1_(JMP*_#CHKFMT_^1*_]_^1*_!READ FROM THE LFD FMT LENGTH. ASK FOR CORE AS FMT_^1*_!LENGTH_]_^1*_]_^1FMTNC_"LDQ-_#SST_^1_(LDA-_#LFDDA,Q_*LEGAL FORMAT DIRECTORY_^1_(LDQ-_#SST+STEMP+2_A06*C1322_^1_(QLS_$1_0X2_^1_(RTJ_$READ€€2_^1*_]_^1_(LDA-_#TEMPR+1,I_(LENGTH_^1_(AND-_#LPMASK+11_$FORMAT LENGTH_007*C1402_^1_(TRA_$Q_^1_(INQ_$1_^1_(RTJ-_#(CAM)_^1_(SAM_$1_^1_(JMP*_#FMTOK_^1*_]_^1* IF THERE IS NOT ENOUGH CORE, RELEASE TRB AND FRZ THE_^1* BATCH._]_^1*_]_^1*_]_^1_(LDQ-_#TRB,I_^1_(RTJ-_#(RELFOR)_^1*_]_^1*_]_^1NOCORE_!LDQ-_#SEVFLG,I_D08*C1500_^1_(SQP_$NSO_.NOT SEV_308*C1500_^1_(QLS_$1_K08*C1500_^1*_]08€€*C1500_^1* IF Q<0 VER/SEV SHOULD BE FROZEN_<08*C1500_^1*_]08*C1500_^1NSO_$RTJ_$FRZBCH_F08*C1500_^1_(CLR_$A_0FLAG.2'ND OVERLAY WAS NOT 08*C1500_^1_(JMP*_#NXTI_-USED._508*C1500_^1*_]08*C1500_^1* PRTMSG PRINT THE MESSAGES_@08*C1500_^1*_]08*C1500_^1*_$JJJJJJ,BBB_!S/ENTR ENTERED BY 000 IS FROZEN_*08*C1500_^1*_$JJJJJJ,BBB S/VERI ENTERED BY 000 IS DELETE_+08*C1500_^1*_$JJJJJJ,BBB €€ S/_$IS ON DESELECTED DISK UU._*08*C1500_^1*_]08*C1500_^1*_$THE S/_!MEANS AN SEV BATCH._;08*C1500_^1*_$IN THE DESELECTED DISK MESSAGE THE S/ PARAMETER_(08*C1500_^1*_$MEANS THAT ONE OF THE COPIES RESIDE ON DESELECTED DISK 08*C1500_^1*_$IF THE BATCH IS NOT SEV, THIS PARAMETER IS OMITTED_$08*C1500_^1*_]08*C1500_^1*_]08*C1500_^1PRTMSG_!NUM_$0_K08*C1500_^1_(RTJ-_#(ENTSR)_E08*C1500_^1_(€€RTJ+_#SETMOV_F08*C1500_^1_(RTJ_$GETJOB_F08*C1500_^1*_]_^1*_]_^1*_]_^1_(RTJ+_#MOVREC_F08*C1500_^1_(ADC_$(JOB-*)_*TRAN JOB NAME_-08*C1500_^1_(ADC_$(MSGJOB-*)_'TO MESSAGE_008*C1500_^1_(NUM_$3_K08*C1500_^1*_]_^1*_]_^1*_]_^1_(LDA-_#BLUN,I_^1_(AND-_#LPMASK+12_(BATCH NO_^1_(RTJ_$TOAS_H08*C1500_^1_(STA*_#MSGBCH_^1_(STQ*_#MSGBCH+1_^1_(LDA_$=A_J08*C1500_^1_(LDQ-_#SEVFLG,I_D08*C1500_^1_(SQP_€€$2_0NOT SEV_308*C1500_^1_(LDA_$=AS/_H08*C1500_^1_(STA*_#SEVTYP_F08*C1500_^1_(LDA-_#ENTIND,I_D05*C1094_^1_(EOR-_#NZERO_,IF $FFFF_205*C1094_^1_(SAZ_$1_0DISK DESELECTED_+05*C1094_^1_(JMP*_#CNCOPR_F05*C1094_^1_(LDA-_#IRB,I_G05*C1094_^1_(INA_$4_K05*C1094_^1_(STA*_#TO01_H05*C1094_^1_(RTJ+_#MOVREC_F05*C1094_^1_(ADC_$(MSGJOB-*)_B05*C1094_^1TO01_#NUM_$0_K05*C1094_^1_(ADC_$EMSBC-MSGJOB_@05*C€€1094_^1_(LDA-_#BLUN,I_F05*C1094_^1_(ALS_$4_K05*C1094_^1_(AND-_#LPMASK+2_D05*C1094_^1_(ADD_$=N$2031_E05*C1094_^1_(STA_$DSKNO_G08*C1500_^1_(LDA-_#IRB,I_G05*C1094_^1_(INA_$4+8_.8=EMSBC-MSGJOB_,08*C1500_^1_(STA*_#TO02_H05*C1094_^1_(RTJ+_#MOVREC_F05*C1094_^1_(ADC_$(MSGDSL-*)_B05*C1094_^1TO02_#NUM_$0_K05*C1094_^1_(ADC_$EMSDSL-MSGDSL_?05*C1094_^1_(ENQ_$FW_J05*C1094_^1_(RTJ-_#(SUPRW)_E05*C€€1094_^1_(ADC_$0_K05*C1094_^1_(ADC_$22_J08*C1500_^1_(JMP*_#CNTC_H05*C1094_^1CNCOPR_!LDA-_#OPR,I_,OPERATOR NO_/05*C1094_^1_(RTJ*_#TOAS_^1_(STA*_#MSGOPR_^1_(STQ*_#MSGOPR+1_^1_(CLR_$Q_K08*C1500_^1_(LDA-_#ENTIND,I_D08*C1500_^1_(AND-_#LPMASK+15_(MASK DEL PARAMETER_(08*C1500_^1_(SAZ_$1_0ENTR_608*C1500_^1_(INQ_$2_0VERI_608*C1500_^1_(LDA*_#BCHM,Q_F08*C1500_^1_(STA*_#MBCHM_G08*C1500_^1_(LDA*€€_#BCHM+1,Q_D08*C1500_^1_(STA*_#MBCHM+1_E08*C1500_^1*_]_^1_(LDA-_#ENTIND,I_^1_(RTJ*_#A_^1A_'NUM_$0_^1_(LDQ*_#A_^1_(ADQ_$=XFRZM-A_^1_(SAP_$1_^1_(INQ_$4_^1MOV_$STQ*_#FROM_^1_(RTJ+_#MOVREC_^1FROM_#NUM_$0_^1TO_%ADC_$(ST-*)_^1_(NUM_$4_^1*_]_^1_(LDA-_#IRB,I_G05*C1094_^1_(INA_$4_K05*C1094_^1_(STA*_#TO03_H05*C1094_^1_(RTJ+_#MOVREC_F05*C1094_^1_(ADC_$(MSGJOB-*)_B05*C1094_^1TO03_#ADC_$0_K05*C€€1094_^1_(ADC_$EMSGFR-MSGJOB_?05*C1094_^1_(ENQ_$FW_^1_(RTJ-_#(SUPRW)_^1_(ADC_$0_K05*C1094_^1_(ADC_$EMSGFR-MSGJOB_^1*_]_^1* 3 CARDS HAS BEEN DELETED_D05*C1094_^1*_]_^1*_]_^1*_]_^1*_]_^1*_]_^1CNTC_#JMP-_#(EXTSR)_E08*C1500_^1NXTVER_!LDA-_#TATT,I_+LAST RESTORED TERMINAL_#08*C1500_^1_(STA-_#ENTATT,I_D08*C1500_^1NXTI_#LDQ-_#SEVFLG,I_D08*C1500_^1_(SQP_$NOS2_-NOT SEV_308*C1500_^1_(QLS_$1_K0€€8*C1500_^1_(SQM_$NOS2_-VER/SEV RESTORED_*08*C1500_^1_(SAZ_$2_02'ND OVERLAY NOT USED._#08*C1500_^1*_]08*C1500_^1* IF 2'ND OVERLAY WAS USED RESTORING ENT/SEV,VER/SEV ABT_%08*C1500_^1* PARAMETERS SHOULD BE BROUGHT AGAIN THROUGH SPILL._+08*C1500_^1*_]08*C1500_^1_(JMP_$TRYVER_F08*C1500_^1_(JMP_$CHKVER_+TRY RESTORE VER/SEV_'08*C1500_^1NOS2_#JMP_$CLR1A_,NEXT ABT_208*C1500_^1*_]_^1*_]_^1*_€€]_^1*_]_^1*_]_^1* THERE IS ENOUGH CORE FOR FMT._^1*_]_^1FMTOK_"CLR_$A_0RELEASE THE BUFFER_^1_(STA-_#2,Q_^1*_]_^1*_]_^1*_]_^1*_]_^1FMTCOR_!CLR_$Q_^1_(RTJ_$WRTRW_,WRITE ATT_^1*_]_^1*_]_^1*_!THW_!SHOULD_"BE ENTERED , IN ORDER TO THW THE BATCH._^1_(RTJ-_#(EXDFUN)_^1*_]_^1_(CLR_$A_^1_(LDQ_$=XCLRTWO_)SECOND OVERLAY_^1*_]_^1_(RTJ-_#(ENTPRG)_^1*_]_^1*_]_^1*_]_^1ENT2_#RTJ+_#SETMOV_^1€€*_]_^1*_]_^1_(JMP*_#NXTVER_+CHECK IF VER/SEV_*08*C1500_^1*_BSHOULD BE RESTORED_(08*C1500_^1*_]_^1*_]_^1MSGJOB_!BZS_$MSGJOB(3)_^1_(ALF_$*,, *_^1MSGBCH_!BZS_$MSGBCH(2)_^1_(ALF_$1,_J08*C1500_^1SEVTYP_!BZS_$SEVTYP(1)_C08*C1500_^1_(EQU_$EMSBC(*)_D05*C1094_^1_(BZS_$MBCHM(2)_D08*C1500_^1_(ALF_$*, ENTERED BY*_^1MSGOPR_!BZS_$MSGOPR(2)_^1_(ALF_$*, IS*_^1ST_%BZS_$ST(4)_^1_(EQU_$EMSGFR(*)_^1F€€RZM_#ALF_$*, FROZEN *_^1DELM_#ALF_$*, DELETED*_^1*_]_^1* CONVERT TO ASCII._^1*_]_^1TOAS_#NUM_$0_^1_(CLR_$Q_^1_(LLS_$8_^1_(ADQ_$=A 0_^1_(STQ-_#SST+STEMP_^1*_]_^1_(CLR_$Q_^1_(LLS_$4_^1_(QLS_$4_^1_(LLS_$4_^1_(ADQ_$=A00_^1_(LDA-_#SST+STEMP_^1_(JMP*_#(TOAS)_^1BCHM_#ALF_$*,ENTRVERI*_%MODES OF BATCHES_*08*C1500_^1MES1_#ALF_$*,CYBERDATA READY*_^1_(EQU_$EMES1(*)_^1MSGDSL_!ALF_$*,_#IS ON DES€€ELECTED DISK*_/08*C1500_^1DSKNO_"ALF_$*, *_G05*C1094_^1_(EQU_$EMSDSL(*)_C05*C1094_^1*_]_^1MSGDSK_!ALF_$*,BAD TRACKS IN DISK*_706*C1300_^1_(BZS_$BADDSK(1)_C06*C1300_^1_(ALF_$*,.CLEAR DIRECTORY?(Y/N)*_306*C1300_^1_(EQU_$EMSGDS(*)_C06*C1300_^1*_]08*C1500_^1* CHKSPG CHECKS IF ABT PAGE IN BUFFER IS SAME AS THE PAGE IN_!08*C1500_^1*CORE. ON EXIT A REG=0 IF THE SAME_<08*C1500_^1*_-Q REG=€€ BCKWRD POINTER OF ABT BUFFER._+08*C1500_^1*_]08*C1500_^1CHKSPG_!NUM_$0_K08*C1500_^1_(LDQ-_#SST_I08*C1500_^1_(LDQ-_#ABTADR,Q_)ABT PAGE IN CORE_*08*C1500_^1_(LDA-_#(ZERO),Q_)DISK ADRR OF PAGE_)08*C1500_^1_(LDQ-_#ABT,I_,ABT BUF ADRESS._+08*C1500_^1_(SUB-_#3,Q_.DISK ADR OF PAGE IN BUF_"08*C1500_^1_(JMP*_#(CHKSPG)_D05*C1500_^1* CALCULATE DISP TO ABT ENTRY CORRESPONDING TO ABTIDX,_(08*C€1500_^1* AND RETURN IN Q REG._H08*C1500_^1CLCIDX_!NUM_$0_K08*C1500_^1_(LDA-_#ABTIDX,I_D08*C1500_^1_(AND-_#LPMASK+8_)ENTRY NO. IN PAGE_)08*C1500_^1_(MUI-_#LPMASK+2_)X3_808*C1500_^1_(TRA_$Q_K08*C1500_^1_(JMP*_#(CLCIDX)_D08*C1500_^1_(EQU_$ECLR(*)_^1_(END_^__ PCLR2 CSY/ P€1_%NAM CLR2_)DECK-ID M17 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* SECOND OVERLAY OF CLR. IT THWA A BATCH. RETURNS TO SECOND ENTRY_^1* POINT OF CLR, WHERE WE CONTINUE TO SEARCH THE ABT'S_^1*_]_^1* (IN THIS OVERLAY NO BUFFERS ARE ASK€€ED FOR,ACCEPT THE ONE FOR THE_^1*_!FORMAT IF IT IS NECESSARY, AND THIS ONE WAS TAKEN IN ACCOUNT IN_^1*_!FIRST OVERLAY. SO IT ALWAYS POSSIBLE TO RETURN. 2'ND OVERLAY IS_^1*_!SMALLER THEN FIRST ONE, SO IT ALWAYS MAY RE LOADED.)_^1*_]_^1*_]_^1_(EXT_$SETMOV_^1_(EXT_$STTYPE_^1_(EXT_$REGEN,SETDIS,REGEN_^1_(EXT_$EORTST,VMM1_%ENTRIES IN VMM_^1*_]_^1* SYSTEMS EQUATES_^1*_]_^1_(EQU_$SST($€€47),EXTSST(0),SLOCK(1)_^1_(EQU_$CATT(11),STEMP(20)_^1_(EQU_$BATT(10)_^1*_]_^1_(EQU_$IBL(14),TIQ(15)_^1_(EQU_$CFFA(12)_^1*_]_^1* ATT EQUATES_^1*_]_^1_(EQU_$ATEMP(73)_^1_(EQU_$FUNIDX(21)_^1_(EQU_$FTOB(1)_^1_(EQU_$LUN(35)_^1_(EQU_$SW2(20),SW1(19)_^1_(EQU_$RCNT(4)_*RCNT<0, IF ATT WAS WRITTEN IN FRZ_^1_(EQU_$ASCNT(5)_^1_(EQU_$TRB(6),AINT(27),ASRCH(28)_^1_(EQU_$PFBA(7)_^1_(EQU_$FMTNO(1€€3)_^1_(EQU_$BMODE(15),CMODE(2)_^1_(EQU_$DOCNO(17)_^1_(EQU_$ELDT(16)_^1_(EQU_$CURDA(9),FLDN(14),RFA(93)_309*C1602_^1_(EQU_$FCNT(3)_^1*_$SEV INFORMATION IN A STATION_;08*C1500_^1_(EQU_$SW3(89),SEVTNO(91)_:08*C1500_^1_(EQU_$SC(36+10)_(SV COMMUNICATIONS AREA_^1_(EQU_$TATT(SC+4)_^1* SEV INFORMATION IN SUPERVISORY ATT_908*C1500_^1_(EQU_$SEVFLG(89),ENTATT(91)_708*C1500_^1*_]_^1*_!PROGRAM€€ INDEX OF CLR_^1*_]_^1_(EQU_$CLR1($0803)_^1*_]_^1* TRANSFER VECTOR EQUATES_^1*_]_^1_(EQU_$GFCORE($9D)_^1_(EQU_$READN($A6)_^1_(EQU_$ENTSR($91),EXTSR($92)_^1_(EQU_$ENTPRG($9E),EXDFUN($9F)_^1_(EQU_$REDDWA($A9),CLCDWA($90)_^1_(EQU_$DISP($A0)_^1*_]_^1* EXTSST_]_^1*_]_^1_(EQU_$LDDDA(9)_^1*_]_^1* MASKS_]_^1*_]_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1HDR_$VFD_€€$N2/3,N3/0,X11/ECLTHW-*_^1_(NUM_$1_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$CLTHW-HDR_^1*_]_^1CLTHW_"RTJ+_#SETMOV_^1*_]_^1_(LDA-_#(I)_.FUNCTION LOCK ON TTY_^1_(EOR-_#ONEBIT+14_^1_(STA-_#(I)_^1*_]_^1_(LDQ-_#TATT,I_^1_(LDA-_#LUN,I_^1_(ALS_$4_^1_(AND-_#LPMASK+2_^1_(STA*_#LU_/FOR COUNTERS READING_%08*C1500_^1_(STA*_#LURFA_,FOR RFA READING_+09*C1602_^1_%STA_'LUSEV_,FOR SEV READING_+09*C1602_^1_(L€€DA-_#FUNIDX,I_^1_(STA-_#FUNIDX,Q_^1*_]_^1*_]_^1* THE INTERROGATE BUFFER CONTAINS WORD 1-34 OF THE ATT.( WERE READ_^1* IN PREVIOUS OVERLAY)_^1*_]_^1*_]_^1_(LDA-_#AINT,I_^1_(INA_$4_^1_(STA-_#SST+STEMP_^1*_]_^1_(STQ-_#I_^1_(STQ-_#SST+CATT_^1_(ENQ_$20_/TRANSFER WORDS 1-20_^1L1_%LDA-_#(SST+STEMP),Q_^1_(STA-_#(ZERO),B_^1_(INQ_$-1_^1_(SQZ_$1_^1_(JMP*_#L1_^1*_]_^1_(ENQ_$32_/TRANSFER W€€ORDS 22-32_^1L2_%LDA-_#(SST+STEMP),Q_^1_(STA-_#(ZERO),B_^1_(INQ_$-1_^1_(TRQ_$A_^1_(INA_$-21_^1_(SAZ_$1_^1_(JMP*_#L2_^1_(LDA-_#RCNT,I_^1_(SAP_$4_0NOT AFTER FRZ.(NO MEANNING TO PFBA)_^1_(LDA-_#(I)_^1_(AND-_#ZROBIT+11_^1_(EOR-_#PFBA,I_+(IN PFBA.I WAS SAVED THE ERROR LOCK_^1_(STA-_#(I)_.WHEN FRZ EXECUTED_^1_(LDQ-_#SST+BATT_^1_(LDQ-_#TRB,Q_^1_(STQ-_#TRB,I_,SET UP BACKWARDS POINTER TO A€€TT_^1_(LDA-_#I_^1_(INA_$TRB_^1_(STA-_#(ZERO),Q_^1_(LDQ-_#SST+BATT_^1_(CLR_$A_^1_(STA-_#TRB,Q_^1_(STA-_#PFBA,I_^1_(LDQ-_#RCNT,I_+IF ATT NOT OF FROZEN_%06*C1300_^1_(SQM_$2_0BATCH CLEAR BACKWARDS_$06*C1300_^1_(STA-_#AINT,I_+POINTERS OF NON EXISTING_!06*C1300_^1_(STA-_#ASRCH,I_*BUFFERS._206*C1300_^1_(LDA-_#FMTNO,I_^1_(AND-_#LPMASK+13_^1_(TRA_$Q_^1_(SAZ_$NOFMT_^1_(CLR_$A_^1_(STA-_#FMTNO€€,I_^1_(RTJ-_#(GFCORE)_)GET FORMAT_^1NOFMT_"LDA-_#SW2,I_^1_(AND-_#ZROBIT+3_)TURN ON MONITOR CHECK_^1_(EOR-_#ONEBIT+3_)OVERRIDE BIT_^1_(STA-_#SW2,I_^1_(ENA_$93_J09*C1602_^1_(ADD-_#I_K09*C1602_^1_(STA*_#CORRFA_F09*C1602_^1_(LDA-_#FTOB,I_F09*C1602_^1_(INA_$1_K09*C1602_^1_(ENQ_$93_J09*C1602_^1_(RTJ-_#(CLCDWA)_D09*C1602_^1_(STA*_#LSBRFA_F09*C1602_^1_(STQ*_#MSBRFA_F09*C1602_^1_(RTJ-_#(RED€€DWA)_D09*C1602_^1CORRFA_!NUM_$0_K09*C1602_^1MSBRFA_!NUM_$0_K09*C1602_^1LSBRFA_!NUM_$0_K09*C1602_^1_(NUM_$1_K09*C1602_^1LURFA_"NUM_$0_K09*C1602_^1_(ENA_$34_/READ WORDS 34-63_^1_(ENQ_$34_^1_(INQ_$96_^1_(ADD-_#I_^1_(STA*_#CORE_^1_(LDA-_#FTOB,I_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#MSDSK_^1_(STA*_#LSDSK_^1*_]08*C1500_^1RW_%RTJ-_#(REDDWA)_^1CORE_#NUM_$0_^1MSDSK_"NUM_$0_^1LSDSK_"NUM_$0_^1NWORDS_!€€NUM_$30_^1LU_%NUM_$0_^1*_]_^1_(LDA-_#BMODE,I_^1_(ALS_$2_^1_(SAP_$JMP_^1_(LDA-_#DOCNO,I_^1_(AND-_#NZERO+8_^1_(SAN_$1_^1JMP_$JMP*_#NODOC_^1_(ALS_$9_^1_(LDQ-_#SST+EXTSST_^1_(LDQ-_#LDDDA,Q_^1_(LLS_$16_^1_(RTJ-_#(CLCDWA)_^1_(STQ*_#DA_^1_(STA*_#DA+1_^1_(LDA-_#I_^1_(INA_$ATEMP+1_^1_(STA*_#CORADR_^1*_]_^1_(RTJ-_#(REDDWA)_^1CORADR_!NUM_$0_^1DA_%NUM_$0_^1_(NUM_$0_^1_(NUM_$1_^1_(NUM_$0_^1*_]_€€^1_(LDA-_#ATEMP+1,I_^1_(ADD-_#ELDT,I_^1_(STA-_#ELDT,I_^1*_]_^1NODOC_"LDQ-_#SST+BATT_)SUPERVISORY ATT_+08*C1500_^1_(LDA-_#SEVFLG,Q_)SEV BATCH?_008*C1500_^1_(SAM_$SEV_I08*C1500_^1_(CLR_$A_0NO CLEAR SEV SWITCH_'08*C1500_^1_(STA-_#SW3,I_G08*C1500_^1_(JMP*_#NOTSEV_F08*C1500_^1*_]08*C1500_^1SEV_$ENA_$89_J08*C1500_^1_(ADD-_#I_K08*C1500_^1_(STA*_#CORSEV_+READ SEV INFORMATION_%08*C1500_^1_(€€LDA-_#FTOB,I_F08*C1500_^1_(INA_$1_K08*C1500_^1_(ENQ_$89_J08*C1500_^1_(RTJ-_#(CLCDWA)_D08*C1500_^1_(STA*_#LSBSEV_F08*C1500_^1_(STQ*_#MSBSEV_F08*C1500_^1_(RTJ-_#(REDDWA)_D08*C1500_^1CORSEV_!NUM_$0_K08*C1500_^1MSBSEV_!NUM_$0_K08*C1500_^1LSBSEV_!NUM_$0_K08*C1500_^1_(NUM_$4_K08*C1500_^1LUSEV_"NUM_$0_K08*C1500_^1*_]08*C1500_^1_(LDA-_#SEVTNO,I_)CLEAR SEVTNO_.08*C1500_^1_(AND_$=N$C0FF_E08*€€C1500_^1_(STA-_#SEVTNO,I_D08*C1500_^1_(LDA-_#BMODE,I_E08*C1500_^1_(ALS_$2_K08*C1500_^1_(SAP_$1_K08*C1500_^1_(JMP*_#NOTSEV_+NOT VER/SEV_/08*C1500_^1*_]08*C1500_^1_(LDA-_#SW3,I_,SET NEFL IN SW3._)08*C1500_^1_(AND-_#ZROBIT+9_)(FOR COPY)_008*C1500_^1_(EOR-_#ONEBIT+9_D08*C1500_^1_(STA-_#SW3,I_G08*C1500_^1*_]08*C1500_^1_(ALS_$1_K08*C1500_^1_(SAM_$NOTSEV_+ENT/SEV COMPLETED_)08*C1500_^1*_€€]08*C1500_^1_(LDQ-_#SST+BATT_)SUPERVISORY ATT_+08*C1500_^1_(LDQ-_#ENTATT,Q_)ENT/SEV ATT ADRESS_(08*C1500_^1_(LDA-_#(ZERO),Q_)ENT/SEV TERNO._,08*C1500_^1_(AND-_#LPMASK+6_D08*C1500_^1_(ALS_$8_K08*C1500_^1_(EOR-_#SEVTNO,I_)SAVE IN VER/SEV_+08*C1500_^1_(STA-_#SEVTNO,I_D08*C1500_^1*_]08*C1500_^1_(LDA-_#(I)_I08*C1500_^1_(AND-_#LPMASK+6_)VER/SEV TER NO_,08*C1500_^1_(ALS_$8_K08*C1500_^1_(E€€OR-_#SEVTNO,Q_)PLANT IN ENT/SEV_*08*C1500_^1_(STA-_#SEVTNO,Q_D08*C1500_^1*_]08*C1500_^1*_]08*C1500_^1*_]08*C1500_^1NOTSEV_!LDQ-_#TRB,I_G08*C1500_^1*_]05*C1147_^1_(LDA-_#CURDA,I_*IF ZERO-THE BATCH WAS PUT TO FROZEN_^1_(STA-_#6,Q_.BY 'CLR'_^1_(LDA-_#CURDA+1,I_^1*_]05*C1147_^1THWON_"STA-_#5,Q_^1_(CLR_$A_^1_(RTJ-_#(DISP)_^1_(ADC_$SETDIS_^1_(RTJ-_#(READN)_^1*_]_^1*_]_^1*_]_^1_(LDA-_#RCN€€T,I_^1_(SAM_$CC_/AFTER FRZ_^1*_]_^1* IF THE ATT WAS WRITTEN BY CORKEY AFTER INSERTION OF A RECORD_^1* AFTER THE LAST_!OR DELETION OF THE LAST RECORD_^1*_!THEN_"PREVIOUS RECORD OF TRB SHOULD BE EQUAL TO CURRENT IN_^1*_!ATT CORKEY LEAVES FLAG IN THIS CASE, 15'TH BIT OF ASCNT_^1*_]_^1_(LDQ-_#ASCNT,I_^1_(SQM_$CC2_.END OF DATA FLAG_^1_(JMP*_#CHKNFM_+CHECK NFM_108*C1500_^1C€€C_%TCA_$A_^1*_]05*C1147_^1_(LDQ-_#AINT,I_^1_(SQM_$CC2_.CURATT=PRVTRB(SET IN FRZ) 04*C1086_^1CHKNFM_!LDQ-_#CMODE,I_*IF END OF DATA IN VERIFY_!08*C1500_^1_(QLS_$6_0SET CURATT=PRVTRB_)04*C1086_^1_(SQM_$TON1_-NOT VER_204*C1086_^1_(LDQ-_#SW2,I_G04*C1086_^1_(QLS_$4_K04*C1086_^1_(SQP_$TON1_0FORWARD MOTION_)04*C1086_^1CC2_$SAN_$TON1_-RCNT=0_^1_(LDA-_#ASCNT,I_*TURN OFF END OF DATA BIT_^1€€_(AND-_#LPMASK+15_^1_(STA-_#ASCNT,I_^1_(LDQ-_#TRB,I_^1_(LDA-_#CURDA,I_^1_(ALS_$8_^1_(STA-_#6,Q_^1_(LDA-_#CURDA+1,I_^1_(STA-_#4,Q_^1TON1_#LDA-_#RCNT,I_F05*C1147_^1_(SAP_$TON2_-NOT AFTER FRZ._,05*C1147_^1_(TCA_$A_K05*C1147_^1_(STA-_#RCNT,I_F05*C1147_^1_(LDA-_#AINT,I_+IF INSERT PUT ADDR OF THE RECORD_^1_(AND-_#ONEBIT+13_(RESTORE FORMAT CHANGE_$05*C1223_^1_(STA-_#SST+STEMP_(BIT_705*C12€€23_^1_(LDQ-_#TRB,I_G05*C1223_^1_(LDA-_#3,Q_I05*C1223_^1_(AND-_#ZROBIT+13_C05*C1223_^1_(EOR-_#SST+STEMP_C05*C1223_^1_(STA-_#3,Q_I05*C1223_^1_(LDA-_#AINT,I_F05*C1223_^1_(AND-_#LPMASK+8_^1_(STA-_#CURDA,I_*FOLLOWING THE INSERTED ONE IN CURDA_^1_(LDA-_#ASRCH,I_^1_(STA-_#CURDA+1,I_^1TON2_#ENA_$4_^1_(STA-_#RFA,I_^1_(CLR_$A_^1_(STA-_#FLDN,I_F09*C1602_^1_(STA-_#AINT,I_^1_(STA-_#ASRCH,I_^1_(€€LDQ-_#PFBA,I_^1_(LDQ-_#(ZERO),Q_^1_(ADQ-_#RFA,I_^1_(STQ-_#SST+CFFA_^1_(LDA-_#RCNT,I_^1_(SAN_$1_^1_(JMP*_#BOR_^1_(TRA_$Q_^1*_]_^1UP_%LDA-_#(SST+CFFA)_^1_(ALS_$8_^1_(AND-_#LPMASK+7_^1_(INA_$1_^1_(STA-_#SST+STEMP+1_^1_(TCA_$A_^1_(AAQ_$A_^1_(SAN_$CHCKON_^1_(LDA-_#FCNT,I_^1_(AND-_#LPMASK+8_)CHECK IF WERE AT END OF FIELD WHEN_^1_(EOR-_#LPMASK+8_)FRZ WAS DONE_^1_(CLR_$Q_^1_(SAN_$FIRST_^1_€€(LDQ-_#SST+STEMP+1_^1_(JMP*_#MID_^1CHCKON_!SAM_$MID_^1_(TRA_$Q_^1FIRST_"LDA-_#(SST+CFFA)_^1_(AND-_#LPMASK+4_^1_(INA_$2_^1_(STA-_#SST+STEMP_^1_(ADD-_#SST+CFFA_^1_(STA-_#SST+CFFA_^1_(LDA-_#RFA,I_^1_(ADD-_#SST+STEMP_^1*_]09*C1602_^1_(STA-_#RFA,I_^1_(LDA-_#FLDN,I_F09*C1602_^1_(ADD-_#ONEBIT+9_D09*C1602_^1_(STA-_#FLDN,I_F09*C1602_^1_(SQZ_$MID_^1_(JMP*_#UP_^1*_]_^1MID_$LDA-_#FCNT,I_^1_(AN€€D-_#NZERO+8_^1_(AAQ_$Q_^1_(STQ-_#FCNT,I_^1BOR_$LDA-_#FMTNO,I_^1_(SAZ_$2_^1_(RTJ+_#STTYPE_^1*_]_^1_(RTJ-_#(DISP)_^1_(ADC_$REGEN_^1_(LDA-_#SW2,I_^1_(AND_$=N$FEF7_*CLEAR MONITOR OVERRIDE AND 'LL'HAS_^1_(STA-_#SW2,I_,TO BE DISPLAYED_^1*_]_^1_(CLR_$A_^1_(STA-_#FUNIDX,I_^1_(LDA-_#CMODE,I_^1_(ALS_$6_^1_(SAM_$KK8_.NOT VERIFY_^1_(LDA-_#SW2,I_^1_(AND-_#LPMASK+3_^1_(SAN_$1_0VER. OPT_204*C1086€€_^1_(JMP*_#KK9_I04*C1086_^1*_]_^1_(LDA-_#RCNT,I_+INCLUDES THE CASE OF 'CLR'_^1_(SAZ_$1_^1KK8_$JMP*_#REGUL_^1_(LDA-_#SW2,I_G04*C1086_^1_(AND-_#ONEBIT+11_(NO FORWARD MOTION_)04*C1086_^1_(SAZ_$1_K04*C1086_^1_(JMP*_#REGUL_G04*C1086_^1*_]_^1* IN LAST ATT THAT WAS WRITTEN BEFORE TH EPOWER FAIL, THE FIELD_^1* COUNTER WILL POINT TO FIRST FIELD EVEN IF IT SHOULD NOT RE_^1* VERIFIED. ADDITIO€€NAL CHECK THROUGH 'VERIFY' SHOULD BE MADE_^1*_]_^1_(LDQ-_#TRB,I_^1_(LDA-_#3,Q_^1_(AND-_#ONEBIT+13_^1_(SAZ_$4_^1_(LDA-_#SW1,I_^1_(AND-_#ZROBIT+15_^1_(EOR-_#ONEBIT+15_^1_(STA-_#SW1,I_^1_(LDA_$=XVMM1_^1_(JMP*_#ADRSS0_^1KK9_$LDA-_#SW1,I_^1_(AND_$=N$1881_*FROZEN AND THERE IS NO SPECIAL_^1_(SAN_$REGUL_,KEY TO BE ENTERED;RUN OVER THE_^1_(LDA-_#SW2,I_,DATA TO REACH END OF DATA._^1_(AND_$=€€N$1800_*ERR OVR OR NFM_,08*C1500_^1_(SAZ_$1_^1REGUL_"JMP*_#SOF_^1_(LDA-_#FCNT,I_^1_(AND-_#LPMASK+8_^1_(TCA_$Q_^1_(LDA-_#(SST+CFFA)_^1_(ARS_$8_^1_(AND-_#LPMASK+7_^1_(INA_$1_^1_(AAQ_$A,Q_^1_(ADD-_#RCNT,I_^1_(STA-_#RCNT,I_^1_(ADQ-_#FCNT,I_^1_(STQ-_#FCNT,I_^1_(LDA_$=XEORTST_)SAVE ADDR OF EORTST(ENTRY POINT IN_^1ADRSS0_!STA*_#ADRSS_,VMM) IN STACK TO BE PERFORMED_^1_(JMP*_#*+2_.NEXT CYCL€€E._^1ADRSS_"NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(LDA-_#(I)_^1_(EOR-_#ONEBIT+13_^1_(STA-_#(I)_^1_(LDA-_#SW1,I_^1_(AND-_#ZROBIT+5_^1_(STA-_#SW1,I_^1SOF_$LDA-_#SW1,I_^1_(AND-_#ZROBIT+8_^1_(STA-_#SW1,I_^1_(LDA-_#SW2,I_G06*C1301_^1_(AND-_#ZROBIT+7_)RESET 'MSG' POINTER TO_#06*C1301_^1_(STA-_#SW2,I_,BEGINNING_106*C1301_^1_(LDQ-_#SST+BATT_^1_(STQ-_#SST+CATT_^1_(STQ-_#I_^1*_]_^1_(LDA-_#(I)_.REMOVE €–FUNCTION LOCK_^1_(AND-_#ZROBIT+14_^1_(STA-_#(I)_^1*_]_^1_(RTJ-_#(EXDFUN)_^1_(ENA_$1_^1_(LDQ_$=XCLR1_^1_(RTJ-_#(ENTPRG)_^1_(EQU_$ECLTHW(*)_^1_(END_^__ –POFRZ CSY/ P€1_%NAM OFRZ_)DECK-ID I09 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* EXECUTED BY OPERATOR THROUGH INTERROGATE_^1*_]_^1*_$COMMAND TO ENTER:_^1*_,FRZ_^1*_]_^1* IF THE TERMINAL IS ENT/SEV,THE VER/SEV CONNECTED TO IT IS_!08*C1500_^1*_*_^1*_Y*_^1*_!CALLING SEQUENCE:_E*_^1*_Y*_^1*_'RTJ_'SEARCH_@*_^1*_'ADC_$POINTER TO TEXT._8*_^1*_'ADC_$LENGTH OF TEXT_9*_^1*_Y*_^1*_!THE TEXT IS UP TO 6 CHARACTERS.2 IN A WORD._+*_^1*_!THE SUBROUTINE LOOKS IN THE FORMATS €€TABLE_-*_^1*_!FOR AN ENTRY CORRESPONDING TO THE GIVEN_/*_^1*_!TEXT OR ANY INITIAL SUBSTRING OF IT. IF FOUND,_(*_^1*_!RETURNS TO THE SECOND INSTRUCTION AFTER THE_+*_^1*_!'ADC' WITH Q=NUMBER OF CORRESPONDING FORMAT._**_^1*_!IF NOT FOUND IN TABLE,RETURNS TO FIRST INSTRUCTION_#*_^1*_!AFTER THE 'ADC'. (IT SHOULD BE A JUMP INSTRUCTION_$*_^1*_!TO AN ERROR ROUTINE)._A*_^1*_Y*_^1***********€€*************************************************_^1*_]_^1SEARCH_!NUM_$0_^1_(LDA-_#TABTOP,I_^1_(INA_$3_^1*_]_^1SRCH1_"STA*_#ENTRY_,POINTER TO CURRENT ENTRY_^1_(INA_$1_^1_(STA*_#TABNOW_+CURRENT WORD TO CHECK_^1*_]_^1_(SUB-_#TABTOP,I_)SEE IF TABLE EXHAUSTED_^1_(SUB-_#TABLEN,I_^1_(SAM_$SRCH3_^1*_]_^1_(ENA_$2_0NOT FOUND IN TABLE._^1SRCH2_"ADD*_#SEARCH_^1_(STA*_#SEARCH_^1_(JMP*_#(SEARCH€€)_^1*_]_^1SRCH3_"LDQ*_#(SEARCH)_)POINTER TO TEXT_^1_(STQ*_#TXTPNT_^1_(LDA*_#(ENTRY)_^1_(ARS_$13_/THAT ENTRY'S LENGTH_^1_(AND-_#LPMASK+3_)ONLY 3 LOW BITS_^1_(ENQ_$1_^1_(SUB*_#(SEARCH),Q_'MINUS LENGTH OF TEXT_^1_(INA_$-1_^1_(SAM_$SRCH5_,CHECK THAT ENTRY_^1*_]_^1SRCH4_"LDA*_#(ENTRY)_*GO TO NEXT ENTRY;_^1_(ARS_$13_/LENGTH_^1_(AND-_#LPMASK+3_)ONLY 3 LOW BITS_^1_(INA_$3_0RIGHT DISPLACEME€€NT_^1_(ARS_$1_0/2_^1_(ADD*_#ENTRY_,+ BASE ADDRESS_^1_(JMP*_#SRCH1_^1*_]_^1SRCH5_"INA_$1_^1_(ADD*_#(SEARCH),Q_'RESTORE ENTRY'S LENGTH_^1*_]_^1SRCH6_"STA*_#LENGTH_+SAVE IT_^1_(INA_$-1_^1_(SAP_$SRCH8_,LENGTH> 0?_^1*_]_^1SRCH7_"LDA*_#(ENTRY)_*NO. THAT ENTRY IS OK._^1_(AND-_#LPMASK+13_(FORMAT NUMBER_^1_(TRA_$Q_0IN Q_^1_(ENA_$3_^1_(JMP*_#SRCH2_,RETURN_^1*_]_^1SRCH8_"LDA*_#(TXTPNT)_)COMPA€€RE TWO_^1_(EOR*_#(TABNOW)_)WORDS_^1_(SAN_$SRCH9_^1*_]_^1_(RAO*_#TABNOW_+THEY ARE EQUAL_^1_(RAO*_#TXTPNT_^1_(LDA*_#LENGTH_^1_(INA_$-2_^1_(JMP*_#SRCH6_^1*_]_^1SRCH9_"LDQ*_#LENGTH_+IF LENGTH IS 1_^1_(INQ_$-1_^1_(SQZ_$1_^1*_]_^1_(JMP*_#SRCH4_,NO. ENTRY DOES NOT_^1*_BCORRESPOND._^1_(AND-_#NZERO+8_*CUT RIGHT SIDE._^1_(SAZ_$1_^1*_]_^1_(JMP*_#SRCH4_,NOT FOUND HERE._^1_(JMP*_#SRCH7_,FOUND H€€ERE._^1*_]_^1_(BSS_$TXTPNT(1),ENTRY(1),TABNOW(1),LENGTH(1)_^1_(EJT_^1SETER_"NUM_$0_^1*_]_^1* SET FORMAT NUMBER IN ERROR MESSAGES_^1*_]_^1_(LDQ-_#SST+STEMP_^1_(STQ-_#TEMP3,I_^1_(RTJ*_#PLACE_^1PLACE_"NUM_$0_^1_(LDA*_#PLACE_^1_(ADD_$=XINF4-PLACE_$REAL ADRESS OF INF4_^1_(STA-_#WHERE,I_^1_(CLR_$A_^1_(STA-_#SST+STEMP_^1_(GET_$NAME,WHERE,I,MOVE,MOVE_!MOVE FORMAT NUMBER_^1_(NUM_$0_0NO ERR€€OR CAN OCCUR_^1_(ENQ_$2_0MOVE 3 BYTES_^1MOVE_#LDA*_#INF4,Q_^1_(STA*_#INF,Q_^1_(STA*_#INF1,Q_^1_(INQ_$-1_^1_(SQM_$1_^1_(JMP*_#MOVE_^1_(JMP*_#(SETER)_^1_(EJT_^1FMTMES_!ALF_$*,FMT = *_^1_(EQU_$FMTEND(*)_^1PARMER_!ALF_$*,LAST PARAMETER CONFLICTS THE RECORDING MODE*_^1_(EQU_$PAREND(*)_^1TABOVR_!ALF_$*,FORMAT TABLE OVERFLOW*_^1_(EQU_$ENDOVR(*)_^1NOTEQL_!ALF_$*,FORMAT *_^1_(BSS_$INF4(3)_^€€1_(ALF_$*, TOO LONG FOR JOB*_^1_(EQU_$EQLEND(*)_^1PAIRER_!EQU_$PAIRER(*)_^1_(BSS_$INF(3)_^1_(ALF_$*, EXCEEDS SYSTEM MAXIMUM FORMAT NUMBER*_^1_(EQU_$PAIRND(*)_^1INEX_#ALF_$*,FORMAT *_^1_(BSS_$INF1(3)_^1_(ALF_$*, IS UNDEFINED*_^1_(EQU_$ENDINX(*)_^1WORNNG_!ALF_$*,STRING NUMBER *_^1_(BSS_$INF2(1)_^1_(ALF_$*, IS INEFFICIENT*_^1_(EQU_$WOREND(*)_^1STROUT_!ALF_$*,STRING NUMBER *_^1_(BSS_$I€PNF3(1)_^1_(ALF_$*, IS ILLEGAL*_^1_(EQU_$STREND(*)_^1_(EQU_$TIPEND(*)_^1_(END_^__PPOCGMON CSY/ P€1_%NAM OCGMON_'DECK-ID A60 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1*_]_^1*_!OCGMON IS THE PROGRAM WHICH LOADS THE EXECUTOR OF THE_^1*_]_^1*_!OCG ASSEMBLY_^1*_]_^1*_]_^1*_]_^1_(ENT_$OCGMON_+FIRST ENTRY POINT(LOAD EXECUTOR)_^1_(ENT_$GTBY_€€-CLOSED SUBROUTINER GET BYTE_^1*_]_^1_(ENT_$RELEXC_+CLOSED SUBROUTINE RELEASE EXECUTOR_^1_(ENT_$GATE_-THE MONITOR CAN BE CLOSED BY THE_^1*_BOVERLAYS_^1_(ENT_$CLCBAS_+CLOSED SUBROUTIN.CALCULATE BAS ADR_^1_(ENT_$TRACHR_+TRANSFER STRINGS._^1_(ENT_$CMPCHR_+COMPARE STRINGS_^1_(ENT_$STOR_-STORE CHARACTER WITHIN STRING_^1_(ENT_$GETCHR_+GET CHARACTER FROM STRING_^1_(ENT_$FLDPAR_+CREATE PRM€€ LIST FOR FIELD_^1_(ENT_$PARLST,A,BYTE,MA,LENGTH_(PARAMETERS IN LIST_^1_(ENT_$TRAPAR,TRAABS_#TRANSFER PRM LIST_^1_(ENT_$SERTOB_+CLOSED SUBROUTINE SCAN THE STOBS_^1_(ENT_$RELLBF_+RELEASE LOOKUP BUFFER_^1_(ENT_$PADR1,PADR2,PADR3 LOOKUP PRM LSIS_^1_(ENT_$GATEL_,LOOKUP GATE_^1*_]_^1_(ENT_$ENTEOV_+LOAD ERRKEYFOR_^1*_BERROR FLAGGING_^1_(ENT_$CLRREL,RELEX1_#SUBROUTINES TO CLEAR FLAGS_^1*_€€BAND REALEASE EXECUTOR._^1* EXTERNALS_^1*_]_^1_(EXT_$FMTSCN_^1* OCGMON EQUATES_^1*_]_^1*_]_^1****SST****_^1*_]_^1_(EQU_$SST($47)_^1_(EQU_$SLOCK(1)_^1_(EQU_$STEMP1(20),STEMP2(21),STEMP3(22)_^1_(EQU_$PRD(3)_^1_(EQU_$CATT(11)_^1_(EQU_$ATTB(10),ATTL(19)_^1*_]_^1*_]_^1* EST_]_^1*_]_^1_(EQU_$LOOKBF(43)_'LOOKUP BUFFER_^1****LOCORE***_^1*_]_^1_(EQU_$LPMASK(2),ONEBIT($23),ZERO($22),NZERO($€€12)_^1_(EQU_$ZROBIT($33)_^1*_]_^1*_]_^1**** ATT EQUATES_^1*_]_^1_(EQU_$PFBA(7)_^1_(EQU_$TRMNT(23)_^1_(EQU_$SWITCH(78)_'BIT 13,OWNCOD OR EXTENSION_^1_(EQU_$FUNIDX(21)_^1_(EQU_$ATEMP1(73)_^1_(EQU_$BASADR(74)_^1_(EQU_$STOB(88)_)LOOKUP BATCH FTOB_^1****TRANSFER VECTOR_^1*_]_^1_(EQU_$WAIT($B0)_^1_(EQU_$ERROR($96)_^1_(EQU_$ENTPRG($9E)_^1_(EQU_$EXDFUN($9F)_^1_(EQU_$RELFOR($AD)_^1_(EQU_$DI€€SP($A0)_^1_(EXT_$SETDIS_^1*_]_^1****GENERAL EQUATES_^1*_]_^1_(EQU_$MAXTRY(1000)_$MAXIMUM # OF TRIALS_^1*_]_^1*_]_^1_(EQU_$OCGFIN(26)_'MISLANEOUSE 26_^1*_]_^1* ASCII VALUES_^1*_]_^1_(EQU_$BLANK($20)_^1_(EQU_$PLUS($2B)_^1*_]_^1*_"OCGMON_^1*_]_^1OCGMON_!STA-_#ATEMP1,I_)WHICH ENTRY IN EXECUTOR_^1*_]_^1* RELATIVE BIT ON FUNCTION INDEX OF OWNCOD SHOULD BE CLEARED_^1*_]_^1_(LDA-_#FUNIDX,€€I_^1_(AND-_#LPMASK+15_^1_(STA-_#FUNIDX,I_^1NOLOCK_!LDA-_#TRMNT,I_^1_(AND-_#ZROBIT+15_^1_(EOR-_#ONEBIT+15_(ENABLE TERMINATION._^1_(STA-_#TRMNT,I_^1*_]_^1LOADAG_!LDQ_$=N$801A_^1_(ENA_$0_0IF CORE NOT ACHIEVED_^1_(RTJ-_#(ENTPRG)_)JMP TO ERROR_^1_(SQZ_$1_^1_(JMP*_#OK_^1_(RTJ-_#(WAIT)_^1_(LDA-_#TRMNT,I_^1_(ALS_$1_^1_(SAM_$1_0TERMINATED_^1_(JMP*_#LOADAG_^1*_]_^1* IF EXECUTOR IS LOADED AFT€€ER TRNSLT OPERATION,_^1* THE LOOKUP BUFFER SHOULD BE RELEASED._^1*_]_^1_(LDA-_#ATEMP1,I_^1_(INA_$-2_/(SECOND ENTRY POINT)_^1_(SAN_$ENTEOV_+NOT TRNSLT_^1_(RTJ_$RELLBF_^1ENTEOV_!RTJ*_#CLRREL_^1_(ENA_$1_^1_(LDQ_$=N$187A_^1_(RTJ-_#(ENTPRG)_^1OK_%LDA*_#GATE_-IF PROGRAM USED BY_^1_(SAZ_$OCGF_-DISPLY COMMAND, WAIT_^1_(RTJ-_#(WAIT)_^1_(JMP*_#OK_^1GATE_#NUM_$0_^1*_]_^1OCGF_#LDQ_$=XOCGFIN_^1€€_(ADQ-_#(SST+PRD)_^1_(LDQ-_#(SST+PRD),Q_^1_(LDA-_#1,Q_.CLEAR I/O BIT_^1_(AND-_#LPMASK+15_^1_(STA-_#1,Q_^1_(INQ_$1_^1_(TRQ_$A_^1_(ADQ-_#ATEMP1,I_)WHITCH ENTRY POINT IN EXC._^1_(LDQ-_#4,Q_^1_(AAQ_$Q_^1_(JMP-_#(ZERO),Q_^1_(EJT_^1*_]_^1*_]_^1*_]_^1*_]_^1* ON ENTRANCE A=WORD ADRESS, Q=BYTE DISPLACEMENT_^1* ON RETURN A=BYTE._^1*_]_^1GTBY_#NUM_$0_^1_(STA-_#SST+STEMP1_^1_(LRS_$1_^1_(LDQ-_#€€(SST+STEMP1),Q_^1_(SAM_$1_^1_(QLS_$8_^1_(TRQ_$A_^1_(AND-_#LPMASK+8_^1_(JMP*_#(GTBY)_^1*_]_^1* CALCULATE BASE ADRESS._^1* ON RETURN Q=BASE ADRESS OF OCG PROGRAM_^1*_]_^1CLCBAS_!NUM_$0_^1_(LDA-_#SWITCH,I_^1_(AND-_#ONEBIT+13_^1_(SAZ_$OWNC1_,OWNCOD IS EXECUTED_^1_(LDQ-_#PFBA,I_+FBA ADRESS_^1_(LDQ-_#(ZERO),Q_)FMT ADRESS_^1_(JMP*_#SAVEC_^1OWNC1_"LDQ-_#FUNIDX,I_)OWNCOD FUNCTION INDEX_^1_(€€LDQ-_#(SST+PRD),Q_^1SAVEC_"STQ-_#BASADR,I_^1_(JMP*_#(CLCBAS)_^1*_]_^1* RELEASE EXECUTOR AND FUNCTION $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$_^1*_]_^1RELEXC_!NUM_$0_^1_(RTJ*_#RELEX1_+REL EXC_^1_(RTJ*_#CLRREL_+REL FUN,CLR FLGS_^1_(JMP*_#(RELEXC)_^1*_]_^1*_]_^1*_]_^1RELEX1_!NUM_$0_^1_(LDQ*_#OCGF+1_^1_(ADQ-_#(SST+PRD)_(DISTANCE TO MISLANEOUSE_^1_(LDQ-_#(SST+PRD),Q_^1_(LDA-_#2,Q_^1_(INA_$-1_^1€€_(STA-_#2,Q_^1_(LDA-_#1,Q_.CLEAR I/O BIT_^1_(AND-_#LPMASK+15_^1_(STA-_#1,Q_^1_(CLR_$A_0CLEAR LOCK_^1_(STA*_#GATE_^1* RESTOR DISPLY TYPE TO DATA_^1_(RTJ-_#(DISP)_^1_(ADC_$SETDIS_^1_(JMP*_#(RELEX1)_^1*_]_^1* CLEAR EXT/OWN BIT_!(SET BY VALDATE)_^1*_]_^1CLRREL_!NUM_$0_^1_(LDA-_#TRMNT,I_^1_(AND-_#LPMASK+14_^1_(STA-_#TRMNT,I_^1_(LDA-_#SWITCH,I_^1_(AND-_#ZROBIT+13_^1_(STA-_#SWITCH,I_^1_€€(LDA-_#FUNIDX,I_^1_(SAZ_$1_^1_(RTJ-_#(EXDFUN)_^1_(JMP*_#(CLRREL)_^1*_]_^1* ON ENTERANCE: A = FIELD NUMBER_^1*_]_^1* ON EXIT Q=0,ERROR._^1* Q# 0, ADDRESS OF PRM LST._^1*_]_^1*_]_^1FLDPAR_!NUM_$0_^1FIELD_"SUB-_#ONEBIT+7_^1_(SAP_$ERROR1_^1_(ADD-_#ONEBIT+7_^1_(INA_$-1_^1_(SAM_$ERROR1_^1_(RTJ+_#FMTSCN_^1_(INQ_$1_^1*_]_^1_(SQN_$2_^1ERROR1_!CLR_$Q_^1_(JMP*_#(FLDPAR)_^1* FIELD DOES NOT EX€€IST_^1*_]_^1* Q POINTS TO A PARAMETER LIST_^1***FIELD # ** COLUMN # ** FMT RFA ** ADR IN TRB **_^1***FIELD LENGTH WITH BYTE INDICATOR **_^1* Q IS OFF WITH 1._^1_(LDA-_#2,Q_^1_(STA*_#A_^1_(LDA-_#3,Q_^1_(ALS_$1_^1_(AND-_#LPMASK+1_^1_(STA*_#BYTE_^1_(LDA-_#3,Q_.LENGTH OF FIELD_^1_(AND-_#LPMASK+15_^1_(STA*_#LENGTH_^1_(LDA-_#1,Q_.FORMAT RELATIVE ADRESS_^1_(LDQ-_#PFBA,I_^1_(LDQ-_#(ZERO)€€,Q_^1_(AAQ_$Q_^1_(LDA-_#1,Q_.TYPE_^1_(AND-_#NZERO+13_^1_(EOR-_#ONEBIT+15_(UPPER CASE?_^1_(SAZ_$1_0Y. CHANGE TO CHAR TYPE._^1_(EOR-_#ONEBIT+15_^1_(EOR-_#ONEBIT+12_(FIELD VARIABLE_^1_(STA*_#MA_^1_(LDQ_$=XPARLST_^1_(JMP*_#(FLDPAR)_^1_(EQU_$PARLST(*)_^1A_'NUM_$0_0WORD ADDRESS_^1BYTE_#NUM_$0_0BYTE ADDRESS_^1MA_%NUM_$0_0TYPE_^1LENGTH_!NUM_$0_0LENGTH IN BYTES_^1*$$$$$$$$$$$$$$$$$$$$$$$$$$€€$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$_^1* ON ENTRY: Q - ADDRESS OF PARAM LIST TO BE TRANSFERED IN THE_^1*_]_^1* RETURN ADDRESS DISPLACEMENT TO TARGET ADDRESS._^1TRAPAR_!NUM_$0_^1_(LDA*_#(TRAPAR)_^1_(EOR-_#ONEBIT+15_^1_(ADD*_#TRAPAR_^1_(AND-_#LPMASK+15_(ADDRESS LESS 32K_^1A1L_$STA-_#SST+STEMP2_^1_(STQ-_#SST+STEMP1_'PARAMETER LIST ADDRESS_^1_(ENQ_$3_^1TRAP_#LDA-_#(SST+STEMP1),Q_^1€€_(STA-_#(SST+STEMP2),Q_^1_(INQ_$-1_^1_(SQM_$1_^1_(JMP*_#TRAP_^1_(RAO*_#TRAPAR_^1_(LDQ-_#SST+STEMP2_'TARGET ADDRESS_^1_(JMP*_#(TRAPAR)_^1*_]_^1*_]_^1* IF ABSOLUTE ADDRESS IS GIVEN, THIS ENTRY TAKES PLACE_^1TRAABS_!NUM_$0_^1_(LDA*_#TRAABS_^1_(STA*_#TRAPAR_^1_(LDA*_#(TRAPAR)_^1_(JMP*_#A1L_^1*_!COMPARE CHARACTER VARIABLES A,B. Q- PRMSLT OF B A-PRMLST OF_^1*_!A. ON RETURN - A=0,2,4 . €€EQ,GT,LT._^1CMPCHR_!NUM_$0_^1_(STQ-_#SST+STEMP2_'B_^1_(STA-_#I_0A_^1_(LDA-_#3,Q_.LENGTH B_^1_(LDQ-_#3,I_.LENGTH A_^1LENAB_"SAN_$BE_/LENGTH B # 0_^1_(SQN_$CHKA_-LENGTH A # 0_^1ARB_$LDQ-_#CATT+SST_^1_(STQ-_#I_^1_(JMP*_#(CMPCHR)_^1CHKA_#ENQ_$2_0A>B LENGTH B=0 LENGTH A#0_^1_(JMP*_#AGB_^1BE_%SQN_$CHKAB_^1_(ENQ_$4_0IF NOT TRAILING BLANKS_^1_(LDA-_#SST+STEMP2_'IN B THEN AB_^1_(SAP_$1_0A > B_^1_(QLS_$1_0AASCII ZERO ?_^1_(SAM_$LTBER_,IF LESS ERROR_^1_(INA_$-10_.ALSE ASCII ZERO_^1_(SAM_$FPERR_,ERROR_^1_(INA_$-10_. 127_^1_(SAP_$ODERR2_+ELSE_^1_(ADD-_#ONEBIT+7_)ERROR_^1_(STA-_#SST+STEMP+2_%SAVE_^1_(RAO-_#SST+STEMP+1_%INCREASE CHARACTER COUNT_^1_(JMP*_#OPD8_-LOOP BACK_^1*_]_^1OPD10_"LDA-_#SST+STEMP+2_%MOVE NUMBER_^€€1_(STA-_#SCA7,I_+TO OPERAND STORAGE_^1_(JMP*_#OPD15_,TO FINAL OPERAND HANDLING_^1*_]_^1ODERR2_!JMP*_#ODERR_^1*_]_^1OPD11_"RTJ_$SNT_.SEARCH OPERAND IN NAM-TAB_^1_(SAZ_$OPD12_,IF NOT IN TABLE SKIP_^1_(ENQ_$3_0IF LABEL TYPE_^1_(LDA-_#SAVE+1,I_)IF LABEL_^1_(AND-_#ONEBIT+14_(TYPE IN_^1_(EOR-_#(SST+STEMP),Q_#NAMES TABLE_^1_(AND-_#NZERO+14_)FITS CURRENT_^1_(SAZ_$OPD13_,OPERAND_^1_(EOR-_#N€€ZERO+14_)REQUIREMENTS_^1_(SAZ_$OPD13_,SKIP_^1_(JMP*_#ODERR3_+ELSE,ERROR_^1*_]_^1OPD12_"LDQ-_#SAVE+1,I_)IF ALLOWED_^1_(SQP_$OPD12A_+SKIP_^1_(JMP*_#ODERR_,ELSE-ERROR_^1*_]_^1OPD12A_!LDQ-_#OCGP,I_+MOVE THE_^1_(STQ-_#SAVE,I_+OPERAND_^1_(LDA-_#ONEBIT+14_(TO NAMES TABLE_^1_(STA-_#OCGP,I_+WITH_^1_(RTJ*_#ANT_.POINTER=ZERO_^1_(LDA-_#SAVE,I_+RESTORE PROGRAM_^1_(STA-_#OCGP,I_+POINTER_^1OPD13_€€"RTJ*_#CLCDNA_+CALCULATE NAME ADDRESS IN_^1_(STA-_#SCA7,I_+THE DIRECTORY AND SAVE_^1_(LDA-_#ATEMP+4,I_(IF IT IS FIELD REFERENCE_^1_(ENQ_$1_0OPERAND SET 1_^1_(SAZ_$OPD14_^1_(INQ_$1_0ELSE MAKE IT 2_^1OPD14_"STQ-_#ATEMP+4,I_(AND SAVE AS OPERAND TYPE_^1*_]_^1OPD15_"LDQ-_#ATEMP+4,I_(GET OPERAND TYPE AND_^1_(SQN_$OPD16_^1_(LDA-_#SCA7,I_+ZERO IS NOT ALLOWED_^1_(SAZ_$ODERR3_+AS FIELD NUMBE€€R_^1OPD16_"LDA-_#SAVE+1,I_^1_(AND-_#ONEBIT,Q_)ALLOWED TYPES SPECIFIED_^1_(EOR-_#ONEBIT,Q_)IN THE 1'ST OPERAND_^1_(SAZ_$OPDEXT_+IF ALLOWED SKIP_^1ODERR3_!ENA_$TYPERR_+ELSE,_^1ERREXT_!RTJ-_#(RTNSR)_*TO CLEAR RET. ADDR. STACK_^1_(JMP_$ERROUT_+TYPE ERROR_^1OPDEXT_!RTJ-_#(RTNSR)_*GET RETURN ADDRESS_^1_(INQ_$2_0UPDATE IT_^1_(JMP-_#(ZERO),Q_)AND RETURN_^1* SUBROUTINE TO LOCATE THE NEXT NO€€N-BLANK CHARACTER_^1* IN THE INTERROGATE BUFFER_^1GETCHR_!NUM_$0_^1_(LDA-_#IRBP,I_+RESTORE SCAN POINTER_^1_(STA-_#SST+STEMP_^1GET1_#RTJ-_#(GETALP)_)GET A CHARACTER_^1_(SAM_$EXIT1_,ILLEGAL CHARACTER_^1*_BEND OF RECORD_^1_(INA_$-SPAC_,IS IT SPACE?_^1_(SAN_$GCEXT_,NO,EXIT_^1_(JMP*_#GET1_-BACK TO GET NEXT CHAR_^1GCEXT_"INA_$SPAC_-RE-CREATE THE CHARACTER_^1_(STQ-_#SST+STEMP+1_%COMMA/EOR€€ INDICATION_^1EXIT1_"LDQ-_#SST+STEMP_(SAVE SCAN_^1_(STQ-_#IRBP,I_+POINTER_^1_(JMP*_#(GETCHR)_)EXIT_^1* SUBROUTINE TO ADVANCE OBJECT PROGRAM COUNTER AND WRITE_^1* PROGRAM SECTOR WHEN SECTOR IS FULL_^1CHKPS_"NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(LDA-_#OCGP,I_^1_(ADD-_#ATEMP,I_^1SIXH_#SUB_$=N$C01_^1_(SAM_$NOTPOF_+NO_^1_(ENA_$-PROGOF_*OVERFLOW ERROR_^1_(JMP*_#ERREXT_^1NOTPOF_!A€€DD*_#SIXH+1_+RESTORE OBJECT CODE_^1_(STA-_#OCGP,I_+INDEX_^1_(LDA-_#PSCNT,I_*UPDATE_^1_(ADD-_#ATEMP,I_*CURRENT SECTOR NO_^1_(STA-_#PSCNT,I_*COUNT_^1IF96_#SUB_$=N192_,IS IT FULL_^1_(SAP_$WRTPS_,YES-SKIP_^1_(JMP-_#(EXTSR)_*EXIT_^1WRTPS_"STA-_#PSCNT,I_^1_(LDQ-_#OCGBP,I_*PREPARE_^1_(STQ-_#ATEMP+1,I_(TO_^1_(LDA-_#OCGLS,I_*WRITE CURRENT_^1_(STA-_#ATEMP+2,I_(SECTOR_^1_(RAO-_#OCGLS,I_*INCRE€€ASE SECTORS COUNT_^1_(ENQ_$1_0TO WRITE_^1_(RTJ*_#SECIO_,SECTOR_^1_(LDA-_#PSCNT,I_^1_(JMP*_#IF96_-TO CHECK NEXT SECTOR_^1* SUBROUTINE TO READ/WRITE A SECTOR. SECTOR NUMBER IS_^1* PASSED IN ATEMP+2,I. BUFFER ADDRESS IS PASSED IN_^1* ATEMP+1,I._^1SECIO_"NUM_$0_^1_(RTJ-_#(ENTSR)_*SAVE RET.ADDR.IN STACK_^1_(LDQ*_#RSEC,Q_+ACCORDING TO Q SET THE_^1_(STQ*_#IORTJ_,PROPER I/O INSTRUCTION_^1_€€(RTJ+_#SETMOV_+ANABLE PROGRAM MOVING._^1PREPAR_!LDQ-_#ATEMP+1,I_(SET BUFFER_^1_(LDA-_#1,Q_.I/O BIT_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(INQ_$3_0SET BUFFER_^1_(STQ*_#SECBUF_+ADDRESS_^1_(LDA-_#ATEMP+2,I_(SET SECTOR_^1_(STA*_#SECNO_,NUMBER_^1IORTJ_"RTJ-_#(WRTSEC)_)READ/WRITE INSTRUCTION_^1SECBUF_!NUM_$0_^1SECNO_"NUM_$0_^1_(NUM_$1_^1_(NUM_$0_^1_(LDQ-_#ATEMP+1,I_(CLEAR I/O BIT_^1_(LDA-€€_#1,Q_^1_(AND-_#LPMASK+15_^1_(STA-_#1,Q_^1_(JMP-_#(EXTSR)_*RETURN TO CALLER_^1RSEC_#RTJ-_#(REDSEC)_)READ INSTRUCTION_^1WSEC_#RTJ-_#(WRTSEC)_)WRITE INSTRUCTION_^1*_]_^1* SUBROUTINE TO CALCULATE THE DIRECTORY ADDRESS OF_^1* A NAME PREVIOUSLY SEARCHED AND FOUND IN_^1* THE NAMES TABLE (VIA SNT SUBROUTINE)_^1* ON EXIT - A CONTAINS THE CALCULATED ADDRESS_^1CLCDNA_!NUM_$0_^1_(LDQ-_#NAMBP€€,I_*CURRENT_^1_(LDA-_#4,Q_.SECTOR_^1_(SUB-_#NAMTRK,I_)MINUS STARTING SECTOR_^1_(MUI_$=N23_-CONVERT TO ENTRIES COUNT_^1_(ADD-_#ATEMP+1,I_(ENTRY NO IN CURRENT SECT._^1_(STA-_#SCA7,I_+SAVE_^1_(JMP*_#(CLCDNA)_^1*_]_^1* SUBROUTINE TO ADD A NEW NAME TO THE NAMES TABLE_^1*_]_^1ANT_$NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(LDQ-_#NAMBP,I_*CHECK IF_^1_(LDA-_#4,Q_.LAST SECTOR_^1_(EOR-_#N€€AMLS,I_*IN CORE_^1_(SAZ_$IFDEL_^1_(STQ-_#ATEMP+1,I_(NO, PREPARE_^1_(LDA-_#NAMLS,I_*AND GO_^1_(STA-_#ATEMP+2,I_(TO READ_^1_(CLR_$Q_0LAST_^1_(RTJ*_#SECIO_,SECTOR_^1IFDEL_"LDA-_#SCA7,I_+IF DELETE NAME INTENDED_^1_(LDQ-_#NAMBP,I_^1_(SAM_$TOWNS_^1_(SAN_$OVFCHK_^1_(LDA-_#3,Q_.NUMBER OF_^1_(INA_$-1_^1_(STA-_#3,Q_.LAST SECTOR_^1TOWNS_"JMP*_#WNS_^1OVFCHK_!LDA-_#NAMLS,I_*IF IN_^1_(SUB-_#NAMT€€RK,I_)THE 6TH_^1_(INA_$-5_/SECTOR_^1_(SAN_$IF23_^1*_BCHECK IF ALREADY_*08*C1513_^1_(LDA-_#3,Q_.THE LAST POSSIBLE_^1_(INA_$-12_.ENTRY USED_^1_(SAN_$TOADNM_^1_(ENA_$-LBLOVF_*IF YES-NAMES OVERFLOW_^1_(JMP*_#ERREXT_+ERROR -ABORT THE PROGRAM_^1IF23_#LDA-_#3,Q_.CHECK IF SECTOR IS_(08*C1513_^1_(INA_$-23_.FULL_^1TOADNM_!SAN_$ADDNAM_^1IFSEC1_!LDA-_#NAMLS,I_*IF 1'ST SECTOR_^1_(RAO-_#NAMLS,I_€€*TO FORCE WRITTING_)08*C1513_^1_(EOR-_#NAMTRK,I_)IS THA LAST SECTOR_^1_(SAN_$BOSEC_^1*_]08*C1513_^1* THE FIRST PAGE IS WRITTEN ONLY WHEN IT IS FILLED UP, AND_"08*C1513_^1* NOT EVERY TIME A NAME IS ADDED_=08*C1513_^1*_]08*C1513_^1_(RTJ*_#WRTPAG_+LAST PAGE# FIRST PAGE_$08*C1513_^1_(LDQ-_#NAMBP,I_*INCREASE_^1BOSEC_"RAO-_#4,Q_.SECTOR_^1*_]08*C1513_^1_(CLR_$A_0AND RESET ENTRIES_^1_(ST€€A-_#3,Q_.COUNT_^1ADDNAM_!LDA-_#3,Q_.CALCULATE_^1_(RAO-_#3,Q_.ENTRY_^1_(ALS_$2_0ADDRESS_^1_(AAQ_$Q_0AND_^1_(LDA-_#SCA7,I_+MOVE_^1_(STA-_#5,Q_.NAME_^1_(LDA-_#SCA8,I_^1_(STA-_#6,Q_^1_(LDA-_#SCA9,I_^1_(STA-_#7,Q_^1_(LDA-_#OCGP,I_^1_(STA-_#8,Q_^1WNS_$RTJ*_#WRTPAG_+WRITE PAGE IF NEEDED_%08*C1513_^1_(LDQ-_#NAMBP,I_E08*C1513_^1_(LDA-_#3,Q_I08*C1513_^1_(STA-_#ATEMP+1,I_(FIX VARIABLE POINTER€€_%08*C1513_^1*_BFOR CLCDNA_008*C1513_^1_(JMP-_#(EXTSR)_E08*C1513_^1*_]08*C1513_^1* THE ROUTINE WRITES TO DISK THE PAGE OF NAMES TABLE WHICH_#08*C1513_^1* IS IN CORE BUFFER (NAMBP), IF IT IS NOT THE ONLY PAGE OF_#08*C1513_^1* THE TABLE._Q08*C1513_^1WRTPAG_!NUM_$0_K08*C1513_^1_(RTJ-_#(ENTSR)_E08*C1513_^1_(RTJ+_#SETMOV_F08*C1513_^1_(LDQ-_#NAMBP,I_E08*C1513_^1_(LDA-_#NAMLS,I_E08*C1513€€_^1_(EOR-_#NAMTRK,I_)SECTOR_^1_(SAZ_$ANTEXT_+SKIP_^1_(LDA-_#4,Q_.PREPARE AND GO_^1_(STA-_#ATEMP+2,I_(TO WRITE_^1_(STQ-_#ATEMP+1,I_(THE_^1_(ENQ_$1_0SECTOR_^1_(RTJ*_#SECIO_^1ANTEXT_!JMP-_#(EXTSR)_^1* SUBROUTINE TO SEARCH A GIVEN NAME IN THE NAMES TABLE_^1* ON ENTRY - THE NAME IS IN 3 WORDS IN ATT/43 (SCA,7-9)_^1* ON EXIT - IF NAME IS FOUND, A IS GT ZERO_^1*_]_^1*_)- IF NAME IS NOT F€€OUND A = ZERO_^1SNT_$NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(LDA-_#NAMTRK,I_)INITIALIZE SECTOR_^1_(STA-_#ATEMP+2,I_(COUNT_^1_(LDQ-_#NAMBP,I_*IS IT THE_^1_(EOR-_#4,Q_.FIRST SECTOR?_^1_(SAZ_$NEWSEC_+SKIP_^1RDNMSC_!STQ-_#ATEMP+1,I_(ELSE-READ_^1_(CLR_$Q_0NAMES_^1_(RTJ_$SECIO_,SECTOR_^1NEWSEC_!CLR_$A_0INITIALIZE ENTRIES_^1_(STA-_#ATEMP+1,I_(COUNT_^1_(LDQ-_$NAMBP,I_^1_(INQ_$5_^1NXT€€ITM_!STQ-_#SST+STEMP_C08*C1513_^1_(LDQ-_#NAMBP,I_E08*C1513_^1_(LDA-_$3,Q_-IN SECTOR OR_^1_(SUB-_$ATEMP+1,I_'EMPTY SECTOR_^1_(SAZ_%TRKEND_*SKIP_^1_(RAO-_$ATEMP+1,I_'INCREASE NAMES COUNT_^1_(CLR_%Q_^1NXTNW_"LDA-_$SCA7,B_*COMPARE_^1_(EOR-_#(SST+STEMP),Q_#NAME WORD_^1_(SAZ_%IFEOI_+SKIP_^1_(LDQ-_#SST+STEMP_(NEXT ENTRY_008*C1513_^1_(INQ_$4_K08*C1513_^1_(JMP*_#NXTITM_^1IFEOI_"INQ_$-2_/CHE€€CK FOR LAST_^1_(SQZ_$NAMIS_,WORD IN NAME_.08*C1513_^1SNT1_#INQ_$3_0STEP TO NEXT_^1_(JMP*_#NXTNW_,WORD IN THE NAME_^1TRKEND_!LDA-_#NAMLS,I_*IF LAST SECTOR_^1_(EOR-_#ATEMP+2,I_^1_(SAZ_$SNTEXT_+EXIT_^1*_BPASS INPUT BUFFER_)08*C1513_^1_(RAO-_#ATEMP+2,I_(INCREASE SECTOR COUNT_^1_(JMP*_#RDNMSC_+TO READ NEXT_^1*_]_^1NAMIS_"ENA_$1_0NAME IS IN TABLE_^1SNTEXT_!JMP-_#(EXTSR)_*EXIT_^1* SUBROUT€€INE TO STORE ONE BYTE INTO OBJECT PROGRAM BUFFER_^1*_]_^1STRBYT_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(LDQ-_#PSCNT,I_*CHECK IF LEFT_^1_(QLS_$15_/OR RIGHT BYTE_^1_(SQM_$RBYTE_,IF MINUS-RIGHT BYTE_^1_(ALS_$8_0SHIFT TO LEFT_^1_(LDQ-_#PSCNT,I_*CALCULATE STORE_^1_(QRS_$1_0ADDRESS_^1_(ADQ-_#OCGBP,I_*IN SECTOR_^1_(JMP*_#FINSTR_^1RBYTE_"LDQ-_#PSCNT,I_*ADD CURRENT BYTE_^1_(QRS_$1_0TO BYTE_^1_(ADQ-_#€€OCGBP,I_*PREVIOUSLY_^1_(STA-_#SST+STEMP_(STORED_^1_(LDA-_#3,Q_^1_(AND-_#NZERO+8_^1_(EOR-_#SST+STEMP_^1FINSTR_!STA-_#3,Q_.AND STORE_^1_(RTJ+_#SETMOV_^1_(ENA_$1_0ADVANCE OCG POINTER_^1_(STA-_#ATEMP,I_*BY 1_^1_(RTJ_$CHKPS_^1_(JMP-_#(EXTSR)_^1*_]_^1* SUBROUTINE TO MOVE COMPLETED OPERATION CODE_^1* FROM TEMPORARY STORAGE TO OBJECT CODE BUFFER_^1*_]_^1MOVCOD_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_€€(RTJ+_#SETMOV_^1_(CLR_$Q_0RESET CODE_^1_(STQ-_#ATEMP+3,I_(BYTES COUNT_^1MC1_$LDQ-_#ATEMP+3,I_(GET_^1_(QRS_$1_0A BYTE_^1_(ADQ-_#OCGCOD,I_)OF_^1_(LDA-_#3,Q_.CODE_^1_(LDQ-_#ATEMP+3,I_(ACCORDING_^1_(QLS_$15_/TO_^1_(SQM_$MC2_.BYTES_^1_(ALS_$8_0COUNT_^1MC2_$AND-_#LPMASK+8_^1_(STA-_#SST+STEMP_^1_(EOR-_#LPMASK+8_)IF BYTE = FF_^1_(SAN_$MC3_^1_(LDQ-_$ATEMP+3,I_^1_(SQZ_%MC3_^1_(JMP-_#(EXTSR)_€€*EXIT_^1*_]_^1MC3_$LDA-_#SST+STEMP_(TO STORE IN_^1_(RTJ*_#STRBYT_+CODE BUFFER_^1_(RAO-_#ATEMP+3,I_(INCREASE BYTE COUNT_^1_(JMP*_#MC1_.LOOP BACK_^1*_]_^1*_]_^1* ENTRY POINT FOR FORMAT EXTENSION_^1*_]_^1*_]_^1OCG1_#LDA-_#SAVE+2,I_)TRANSFER NO_^1_(STA-_#MAXFLD,I_)OF FIELDS_^1_(LDA_$=N$6000_*SET EXTENSION FLAGS_^1_(STA-_#DEFLAG,I_)FLAG_^1_(RTJ+_#SETMOV_^1_(RTJ_$IFTTY_^1_(JMP_$INIT_^1*_€$]_^1*_]_^1_(EQU_$EOCG(*)_^1_(END_^__$PLOOKUP CSY/ P€1_%NAM LOOKUP_'DECK-ID M22 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* EQUATES_]_^1*_]_^1*_]_^1* SST_]_^1_(EQU_$SST($47)_^1_(EQU_$SLOCK(1)_^1_(EQU_$STEMP3(22),STEMP4(23)_^1_(EQU_$STEMP1(20),STEMP2(21)_^1_(EQU_%CATT(11)_^1*_]_^1* LOW CORE€€_]_^1*_]_^1_(EQU_$LPMASK(2),ONEBIT($23),ZERO($22),NZERO($12)_^1_(EQU_$ZROBIT($33)_^1*_]_^1* TRANSFER VECTOR_^1*_]_^1_(EQU_$WAIT($B0)_^1_(EQU_$SPILL($A1)_^1_(EQU_$ERROR($96)_^1_(EQU_$RTNSR($98)_^1_(EQU_$ENTSR($91)_^1_(EQU_$EXTSR($92)_^1_(EQU_$CAM($AE)_^1_(EQU_$CLCDWA($90)_^1_(EQU_$REDDWA($A9)_^1_(EQU_$EXDFUN($9F)_^1_(EQU_$GTBY($AB)_^1*_]_^1* ATT_]_^1*_]_^1_(EQU_$JIDX(3)_^1_(EQU_$TR€€B(6)_^1_(EQU_$FUNIDX(21)_^1_(EQU_$TRMNT(23)_^1_(EQU_$SWITCH(78)_'EXT/ OWNC BIT_^1_(EQU_$ATEMP1(73),ATEMP2(74),ATEMP3(75),ATEMP4(76)_^1_(EQU_$ATEMP5(77)_^1*_]_^1_(EQU_$BASADR(74)_'=ATEMP2_^1_(EQU_$DISOCG(87)_'DISP IN OCG_^1_(EQU_$STOB(88)_)FTOB OF SEARCHED BATCH_^1*_]_^1* EST_]_^1_(EQU_$DSKST(29)_^1*_]_^1_(EQU_$LOOKBF(43)_'BACKWARDS POINTER OF_^1*_BLOOKUP BUFFER._^1* COMMAND LAYOUT€€_^1*_]_^1_(EQU_$FTB(1)_^1_(EQU_$BN(2)_^1_(EQU_$JOBN1(3)_^1*_]_^1* EXTERNALS_^1*_]_^1_(EXT_$SETMOV_^1_(EXT_$GETLJD_^1*_]_^1* EXTERNALS IN OCGMON_^1*_]_^1_(EXT_$OCGMON_^1_(EXT_$TRACHR_+TRANSFER STRINGS_^1_(EXT_$CMPCHR_+COMPARE STRINGS_^1_(EXT_$PADR1,PADR2,PADR3 PRM LIST ADDRESSES_^1_(EXT_$GATEL_,LOOKUP GATE_^1_(EXT_$CLCBAS_^1_(EXT_$RELLBF_+RELEASE LOOKUP BUFFER_^1_(EXT_$CLRREL_+RELEA€€S FUN,CLR OWC/EXT BIT,TRMNT BIT_^1_(EXT_$TRAABS_+TRANSFER PRM LSTS._^1_(EXT_$FLDPAR_+CREATE PRM LIST_^1_(EXT_$ENTEOV_,ENTER ERRKEY FOR ERROR_^1*_BFLAGGING IF TERMINATED._^1*_]_^1* ERROR CODES_^1*_]_^1_(EQU_$C9($23)_*INDEXING ERROR_^1HDR_$VFD_$N2/3,N3/0,X11/ELOOKP-*_^1_(VFD_$N10/10,N6/1_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$CHKL-HDR_^1CHKL_#RTJ+_#SETMOV_^1_(LDA*_#GATE1_,FIRST PART IS LOCK€€ED._^1_(SAZ_$NOL_^1_(RTJ-_#(WAIT)_^1_(JMP*_#CHKL_^1GATE1_"NUM_$0_^1NOL_$RAO*_#GATE1_^1_(RTJ-_#(RTNSR)_^1_(STQ*_#FEILDN_+FIELD NUMBER_^1_(RTJ+_#SETMOV_^1_(LDA-_#FUNIDX,I_)FUNCTION INDEX OF LOOKUP_^1_(STA*_#FUNID1_^1_(LDA-_#ATEMP1,I_)FUNCTION INDEX OF EXECUTING_^1_(STA_%FUNID2_^1_(CLR_$A_0INSTRUCTION TO TEMPORARY_^1_(RTJ*_#GETINS_+AREA IN OCGMON_^1AD2_$LDQ_$=XPADR1_^1_(LDQ-_#(ZERO),Q€€_)INSTRUCTION ADRESS_^1_(LDA-_#(ZERO),Q_)FIRST WORD_^1_(AND-_#ONEBIT+10_^1_(SAZ_$NTFO_-THE STOB WAS NOT CALCULATED_^1_(LDA-_#FTB,Q_,FTOB IN COMMAND_^1_(EOR-_#STOB,I_+FTOB IN ATT_^1_(SAN_$2_0NOT EQUAL_^1_(JMP_$FOU_^1NTFO_#LDA-_#BN,Q_-BATCH NUMBER IN COMMAND_^1_(ARS_$4_^1_(AND-_#LPMASK+12_^1_(STA*_#BN1_^1_(LDA-_#BN,Q_^1_(AND-_#LPMASK+4_^1_(SAN_$JN_/JOB NAME EXIST_^1*_]_^1* RECORD LE€€NGTH FOR CURRENT JOB IS THE TRB LENGTH._^1*_]_^1_(LDQ-_#TRB,I_^1_(LDA-_#1,Q_^1_(AND-_#LPMASK+11_(RECORD LENGTH IN WORDS_^1_(ALS_$1_0CHARACTERS_^1_(INA_$-1_^1_(STA*_#JINF1_^1_(LDA-_#JIDX,I_+JOB INDEX FROM AT_^1_(ALS_$8_^1_(AND-_#LPMASK+8_^1_(JMP*_#SB_^1JN_%LDA-_#JOBN1,Q_*TRANSFER JOB NAME_^1_(STA*_#JOBN2_,FROM COMMAND_^1_(LDA-_#JOBN1+1,Q_^1_(STA*_#JOBN2+1_^1_(LDA-_#JOBN1+2,Q_^1_(STA€€*_#JOBN2+2_^1AGJ_$ENQ_$1_^1_(RTJ+_#GETLJD_^1JOBN2_"BZS_$JOBN2(3)_^1JINF1_"NUM_$0_^1JINF2_"NUM_$0_^1_(JMP*_#AGJ_^1_(INQ_$-1_^1_(SQN_$ERR11_^1SB_%STA*_#BN0_.JIDX_^1_(LDA*_#JINF1_^1_(AND-_#LPMASK+10_(RECORD LENGTH_^1_(SUB_$=N200_^1_(SAM_$AGB_^1ERR11_"JMP*_#ERR1_-RECORD LENGTH TOO LONG FOR_^1*_BLOOKUP BUFFER._^1*_]_^1AGB_$CLR_$Q_K08*C1500_^1_(RTJ-_#(SPILL)_^1BN0_$NUM_$0_0JOB INDEX_^1BN€€1_$NUM_$0_0BATCH NUMBER_^1BN2_$NUM_$0_^1_(JMP*_#AGB_^1_(SAZ_$ERR1_^1_(JMP*_#BCHEX_^1ERR1_#ENA_$C9_/INDEXING ERROR_^1ERR0_#STA-_#ATEMP1,I_^1_(LDA-_#STOB,I_^1_(AND-_#ZROBIT+3_)CLEAR BATCH USED BIT_^1_(STA-_#STOB,I_^1_(CLR_$A_0OPEN LOCK_^1_(STA*_#GATE1_^1_(RTJ-_#(EXDFUN)_)RELEASE LOOKUP OVERLAY_^1_(LDA*_#FUNID2_^1_(STA-_#FUNIDX,I_^1COMERR_!RTJ+_#CLRREL_+CLR EXT/OWC BIT,FUN,TRMNT_^1_(L€€DQ-_#ATEMP1,I_)NO JOB NO BATCH, RECORD_^1_(SQM_$1_^1_(JMP-_#(ERROR)_*LENGTH TO LONG FOR LOOKUP,_^1*_BOR NO CORE FOR LOOKUP BUFFER_^1_(JMP+_#ENTEOV_+ENTER ERROR FLAGGING_^1*_BIF TERMINATE_^1FUNID1_!NUM_$0_^1FEILDN_!NUM_$0_^1*_]_^1*_]_^1* CREATE PARM LST FOR COMMAND STRING IN ATEMPS._^1* TRANSFER TO PIKED PLACE._^1*_]_^1*_]_^1*_]_^1GETINS_!NUM_$0_^1_(STA*_#TEL_^1_(LDA*_#FUNID2_^1_(ST€€A-_#FUNIDX,I_^1_(RTJ+_#CLCBAS_+BAS ADR IN ATEMP2_^1_(LDA*_#FUNID1_^1_(STA-_#FUNIDX,I_^1_(LDA-_#BASADR,I_^1_(LDQ-_#DISOCG,I_^1_(STQ-_#ATEMP3,I_)BYTE COUNT_^1_(INQ_$5_^1_(RTJ-_#(GTBY)_^1_(AND-_#LPMASK+4_^1_(INA_$6_^1_(STA-_#ATEMP5,I_)COMMAND LENGTH_^1_(STA*_#TOP_.TEMP_^1_(CLR_$A_^1_(STA-_#ATEMP4,I_)CHAR TYPE_^1_(LDQ*_#AD5+1_^1_(STA-_#1,Q_^1_(ENA_$12_^1_(STA-_#3,Q_^1_(LDA_$=XATEMP2,I_€€'PRMLST OF COMMAND_^1_(LDQ*_#TEL_^1_(SQN_$BACK_^1AD5_$LDQ_$=XPADR1_*PRM LST IN OCGMON_^1_(JMP*_#TRR_^1BACK_#TRA_$Q_^1_(LDA*_#AD5+1_^1TRR_$STA-_#I_^1_(STQ-_#SST+STEMP2_^1_(RTJ+_#TRACHR_^1_(LDA-_#CATT+SST_^1_(STA-_#I_^1_(JMP*_#(GETINS)_^1TEL_$NUM_$0_^1BCHEX_"LDA*_#BN0_.CHECK BATCH STATUS_^1_(ALS_$3_^1_(AND-_#LPMASK+3_^1_(INA_$-1_/ENTRY COMPLETED_^1_(SAZ_$OK_^1_(INA_$-4_/COMPLETED_^1_€€(SAZ_$OK_^1_(INA_$-1_/WRITTEN_^1_(SAN_$ERR19_^1*_]_^1OK_%LDA*_#BN1_^1_(SAM_$ERR19_,SEV BATCH-ERROR_+08*C1500_^1_(ALS_$4_^1_(AND-_#LPMASK+2_)LUN_^1_(LDQ-_#SST_^1_(LDQ-_#DSKST,Q_^1_(LLS_$16_^1_(AND-_#ONEBIT+4,Q_'DISK SELECTED/DESELECTED_^1_(SAZ_$1_^1ERR19_"JMP*_#ERR1_^1_(LDA*_#BN2_^1_(AND-_#NZERO+4_^1_(EAQ_$A_^1_(STA-_#STOB,I_,FTOB+LU_^1_(LDQ_$(AD2+1)_^1_(STA-_#FTB,Q_,SAVE IN STATEME€€NT AREA_^1_(LDA-_#(ZERO),Q_)SET FOUND BIT_^1_(AND-_#ZROBIT+10_^1_(EOR-_#ONEBIT+10_^1_(STA-_#(ZERO),Q_^1_(SET_$A_^1_(RTJ*_#GETINS_+ENTER FTOB TO INSTRUCTION_^1FOU_$LDA-_#STOB,I_+SET BATCH USED BIT_^1_(EOR-_#ONEBIT+3_^1_(STA-_#STOB,I_^1*_]_^1_(LDA*_#TOP_.COMMAND LENGTH_^1_(ADD-_#DISOCG,I_)UPDATE NEW_^1_(STA-_#DISOCG,I_)DISPLACEMENT_^1_(LDA*_#FUNID2_^1_(SAZ_$FIE1_^1_(LDA-_#FUNIDX,I_)S€€AVE ABSOLUTE_^1_(AND-_#LPMASK+15_^1_(STA-_#FUNIDX,I_^1*_]_^1_(JMP*_#*+2_^1FUNID2_!NUM_$0_0ENTER THE FUNCTION INDEX_^1_(RTJ-_#(ENTSR)_*TO STACK_^1_(RTJ+_#SETMOV_^1FIE1_#LDA*_#FEILDN_^1_(RTJ+_#FLDPAR_+(IN OCGMON) CREATE PRM LIST_^1_(SQN_$1_^1_(JMP*_#ERR1_-FIELD DOES NOT EXIST_^1_(LDA_$=XATEMP1,I_^1_(STA*_#TOP_^1_(RTJ+_#TRAABS_+(IN OCGMON) TRANSFER TO_^1TOP_$NUM_$0_0ATEMPS._^1_(LDA-_#€€ATEMP1,I_^1_(SUB-_#TRB,I_,RELATIVE TO TRB_^1_(STA-_#ATEMP1,I_^1_(LDQ-_#SST_^1_(LDQ-_#LOOKBF,Q_^1_(SQZ_$2_^1_(RAO-_#2,Q_.INCREASE USER COUNT_^1_(JMP*_#BUFOK1_+LOOKUP BUFFER EXIST_^1*_]_^1* ALOCATE BUFFER FOR LOOKUP_^1*_]_^1_(RTJ*_#GETBUF_^1_(NUM_$1536_^1_(RTJ*_#GETBUF_^1_(NUM_$520_^1TRYAG_"RTJ*_#GETBUF_^1_(NUM_$120_^1_(LDA-_#TRMNT,I_^1_(ALS_$1_^1_(SAM_$1_0TERMINATED_^1_(JMP*_#TRYAG_€€^1_(JMP_$ERR0_^1GETBUF_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(RTJ+_#SETMOV_^1_(LDQ*_#(GETBUF)_)BUFFER LENGTH_^1_(STQ_$BUFLNG_^1_(INQ_$3_^1_(RTJ-_#(CAM)_^1_(SAP_$BUFOK_^1_(RTJ-_#(WAIT)_^1_(RTJ-_#(RTNSR)_^1_(JMP-_#1,Q_^1BUFOK_"LDA-_#SST_.FIX BACKWARDS POINTER_^1_(INA_$LOOKBF_^1_(STA-_#(ZERO),Q_^1_(TRQ_$A_^1_(LDQ-_#SST_^1_(STA-_#LOOKBF,Q_^1_(RTJ-_#(RTNSR)_*REMOVE LAST ENTRY IN STACK_^1BUFOK1_!€€LDA-_#STOB,I_+SET SEARCH BIT_^1_(AND-_#NZERO+4_*CALCULATE FIRST PHISICAL_^1_(INA_$2_0RECORD ADDRESS_^1_(CLR_$Q_^1_(RTJ-_#(CLCDWA)_^1_(STA-_#ATEMP5,I_)L.S.B_^1_(TRQ_$A_^1_(EOR-_#ATEMP3,I_^1_(EOR-_#ONEBIT+8_)FIRST RECORD_^1_(LDQ_$(AD2+1)_*COMMAND ADRESS_^1_(LDQ-_#(ZERO),Q_)COMMAND CODE_^1_(QLS_$4_^1_(SQP_$1_0NOT TRNSLT_^1_(EOR-_#ONEBIT+9_)SET TRNSLT BIT._^1_(STA-_#ATEMP3,I_^1_(CLR_$A€€_0OPEN FIRST_^1_(STA_$GATE1_,PART OF PROGRAM_^1AGS_$LDA+_#GATEL_,GATE IN OCGMON._^1_(SAZ_$LO_^1_(RTJ-_#(WAIT)_^1_(JMP*_#AGS_^1LO_%RAO+_#GATEL_^1READB_"RTJ_$TRKADD_+CALCULATE TRK AND DISP_^1_(LDA_$TRKLNG_+1536 WORDS_^1_(SUB_$RELTA_,WORD IN TRACK_^1_(SUB_$BUFLNG_+BUFFER LENGTH_^1_(SAM_$1_0READ TO END OF TRACK_^1_(CLR_$A_^1_(ADD_$BUFLNG_+READ ALL THE BUFFER ._^1_(STA*_#DTALNG_+NO OF W€€ORDS TO READ_^1_(LDA-_#ATEMP3,I_^1_(AND-_#LPMASK+8_^1_(STA*_#DA_/M.S.B_^1_(LDA-_#ATEMP5,I_^1_(STA*_#DA+1_-L.S.B_^1_(LDQ-_#SST_^1_(LDQ-_#LOOKBF,Q_^1_(LDA-_#1,Q_^1_(EOR-_#ONEBIT+15_(I/O BIT ON_^1_(STA-_#1,Q_^1_(INQ_$3_^1_(STQ*_#BUFAD_,BUF ADRESS_^1_(LDA-_#STOB,I_^1_(AND-_#LPMASK+2_^1_(STA*_#LUN_.LU_^1_(RTJ-_#(REDDWA)_^1BUFAD_"NUM_$0_^1DA_%NUM_$0,0_^1DTALNG_!NUM_$0_^1LUN_$NUM_$0_^1_(€€ENA_$3_0DISPLACEMENT IN BUFFER_^1_(STA_$RELBA_^1_(LDQ-_#SST_^1_(LDQ-_#LOOKBF,Q_^1_(LDA-_#1,Q_.I/O BIT OF_^1_(AND-_#ZROBIT+15_^1_(STA-_#1,Q_^1NXTREC_!LDQ-_#SST_^1_(LDQ-_#LOOKBF,Q_^1_(ADQ*_#RELBA_^1_(STQ-_#SST+STEMP4_'BASE FOR RECORD_^1_(LDA-_#ATEMP3,I_^1_(AND-_#ONEBIT+8_^1_(SAZ_$NOFIR_,NOT FIRST RECORD_^1_(LDA-_#1,Q_^1_(SAM_$REC1_-FIRST_^1_(STA-_#ATEMP5,I_)READ PREVIOUS L.S.B_^1_€€(LDQ-_#3,Q_.M.S.B_^1_(LDA-_#ATEMP3,I_^1_(ALS_$8_^1_(LLS_$8_^1_(STA-_#ATEMP3,I_)M.S.B_^1_(JMP_$OUT1_^1REC1_#LDA-_#ATEMP3,I_)CLEAR FIRST RECORD_^1_(AND-_#ZROBIT+8_)WANTED BIT._^1_(STA-_#ATEMP3,I_^1NOFIR_"LDA-_#(SST+STEMP4)_^1_(AND-_#LPMASK+9_^1_(INA_$5-3_^1_(ADD*_#RELBA_,BEGINNING OF RECORD_^1_(SUB*_#DTALNG_^1_(SAZ ADD2_L07*H0001_^1_(SAM ADD2_L07*H0001_^1_(JMP_$OUT1_^1ADD2_#LDQ_$=X€€PADR2_*CREATE PRM LST FOR COMPARED FIELD_^1_(CLR_$A_0BYTE COUNT_^1_(STA-_#1,Q_^1NXTFID_!LDA-_#(SST+STEMP4)_^1_(AND-_#LPMASK+9_)RECORD LENGTH_^1_(ALS_$1_^1_(SUB-_#1,Q_^1_(SUB-_#ATEMP4,I_)LENGTH OF GIVEN FIELD_^1_(SAP_$1_^1_(JMP*_#NXT_.TRY NXT RECORD_^1_(LDA-_#ATEMP4,I_^1_(STA*_#FLDLNG_+SAVE FOR NEXT COMPARISON_^1_(STA-_#3,Q_.LENGTH_^1*_!SAVE BYTE COUNT OF SOURCE FIELD AND BYTE COUNT€€ OF COMPARED FIELD_^1_(LDA-_#ATEMP2,I_^1_(STA*_#BYTEC_^1_(LDA-_#1,Q_^1_(STA*_#BYTEL_^1_(LDA-_#SST+STEMP4_^1_(INA_$5_^1_(STA-_#(ZERO),Q_)BASE ADRESS_^1*_"Q CONTAINS ADRESS OF PRM LST OF COMPARED FIELD_^1_(LDA-_#ATEMP1,I_)ABSOLUTE ADDRESSING_^1_(ADD-_#TRB,I_^1_(STA-_#ATEMP1,I_^1_(LDA_$=XATEMP1,I_'PRM LIST SOURCE FIELD_^1_(RTJ+_#CMPCHR_^1_(TRA_$Q_0A=0 IF MATCH_^1_(LDA*_#FLDLNG_+UPDATE€€ LENGTH_^1_(STA-_#ATEMP4,I_^1_(LDA*_#BYTEC_^1_(STA-_#ATEMP2,I_^1_(LDA-_#ATEMP1,I_)SAVE RELATIVVE WORD_^1_(SUB-_#TRB,I_,ADDRESS_^1_(STA-_#ATEMP1,I_^1_(LDA-_#ATEMP3,I_^1_(AND-_#ONEBIT+9_^1_(SQZ_$MATCH_^1_(LDQ*_#ADD2+1_^1_(SAZ_$NOTTRS_+NOT TRNSLATE_^1_(LDA-_#ATEMP4,I_^1NOTTRS_!ADD*_#BYTEL_,IGNORE TRANSLATION_^1_(ADD-_#ATEMP4,I_)FIELD._^1_(STA-_#1,Q_^1_(JMP*_#NXTFID_^1MATCH_"STA*_#RELT€€A_^1_(RTJ-_#(EXDFUN)_^1_(LDA-_#SWITCH,I_^1_(AND-_#ONEBIT+13_^1_(SAN_$RELL_-EXTENSION IS EXECUTED_^1*_!RELEASE LOOKUP_^1_(RTJ-_#(RTNSR)_!GET ORIGINAL FUNIDX_^1_(STQ-_#FUNIDX,I_^1RELL_#LDA*_#RELTA_^1_(SAN_$1_^1_(JMP*_#ML_^1_(LDQ*_#ADD2+1_^1_(LDA-_#(SST+STEMP4)_^1_(AND-_#LPMASK+9_)RECORD LENGTH_^1_(ALS_$1_^1_(SUB-_#1,Q_^1_(STA-_#3,Q_.REMAINDER FOR TRANSLATIO(_^1_(SUB-_#ATEMP4,I_)IF RE€€MAINDER LONGER_^1_(SAM_$2_0THEN COMPARE FIELD_^1_(LDA-_#ATEMP4,I_)UPDATE_^1_(STA-_#3,Q_^1_(LDQ_$=XATEMP1,I_^1_(RTJ+_#TRAABS_^1_(ADC_$PADR3_,PARAMETER LIST OF_^1_(LDA*_#(ADD2+1)_)SAVE TRNSLT_^1_(LDQ-_#SST_.FIELD WORD_^1_(SUB-_#LOOKBF,Q_^1_(STA*_#(ADD2+1)_^1*_BGIVEN FIELD_^1*_]_^1* ADPR2 CONTAINS PARAMETER LIST OF THE TRANSLATION_^1*_]_^1_(ENA_$2_0TRNSLT ENTRY POINT_^1_(JMP+_#OCGMON€€_^1ML_%RTJ+_#RELLBF_+RELEASE LOOKUP BUF._^1*_]_^1* IF EXIT IS THE NEXT COMMAND DONT RETURN_^1*_]_^1_(RTJ_$CLCBAS_^1_(LDA-_#BASADR,I_^1_(LDQ-_#DISOCG_^1_(RTJ-_#(GTBY)_^1_(INA_$-$10_-EXIT_^1_(SAN_$3_0NOT EXIT COMMAND_^1_(RTJ+_#CLRREL_^1_(JMP-_#(EXTSR)_^1_(ENA_$1_^1_(JMP+_#OCGMON_^1_(BZS_$TRKNUM(1),RELBA(1),RELTA(1)_^1_(BZS_$FLDLNG(1)_^1_(BZS_$BYTEC(1),BYTEL(1)_^1BUFLNG_!NUM_$120_^1T€€RKLNG_!NUM_$1536_^1TRKADD_!NUM_$0_^1_(LDA-_#ATEMP3,I_)M.S.B._^1_(AND-_#LPMASK+8_^1_(LDQ-_#ATEMP5,I_)L.S.B._^1_(QLS_$1_^1_(LLS_$15_^1_(DVI*_#TRKLNG_^1_(STQ*_#RELTA_^1_(STA*_#TRKNUM_^1_(JMP*_#(TRKADD)_^1NXT_$LDQ-_#SST+STEMP4_^1_(LDA-_#2,Q_^1_(SAP_$1_^1_(JMP*_#ERR2_-LAST REC_^1_(STA-_#ATEMP5,I_)L.S.B_^1_(LDA-_#3,Q_^1_(LDQ-_#ATEMP3,I_^1_(LLS_$8_^1_(ALS_$8_^1_(STA-_#ATEMP3,I_)M.S.B_^1_(€€LDA*_#RELTA_,SAVE OLD TRKNUM AND DISP_^1_(STA-_#SST+STEMP4_^1_(LDA*_#TRKNUM_^1_(STA-_#SST+STEMP3_^1_(RTJ*_#TRKADD_+TRK AND DISP_^1_(SUB-_#SST+STEMP3_^1_(SAN_$OUT1_-NOT SAME TRK_^1_(TRQ_$A_0RELTA_^1_(SUB-_#SST+STEMP4_'OLD RELTA_^1_(ADD*_#RELBA_,+ DISPLACEMENT IN BUFFER_^1_(STA*_#RELBA_,NEW DISP IN BUFFER_^1_(INA_$-3_^1_(SAM_$OUT1_-BEFORE BUFFER_^1_(SUB_$DTALNG_+NUMBER OF WORDS IN€€ BUFFE[_^1_(INA_$4_0HEADER_^1_(SAP_$OUT1_^1_(JMP_$NXTREC_^1*_]_^1OUT1_#CLR_$A_0UNLOCK THE PROGRAM_^1_(STA+_#GATEL_,ENABLE OTHER USERS TO_^1_(RTJ-_#(WAIT)_+USE PROGRAM AND BUFFER_^1_(LDA-_#TRMNT,I_^1_(ALS_$1_^1_(SAM_$ERR3_-TERMINATED_^1_(JMP_$AGS_^1ERR2_#ENA_$C9_/INDEXING_^1ERR3_#STA-_#ATEMP1,I_^1_(RTJ-_#(EXDFUN)_^1_(RTJ+_#RELLBF_^1_(LDA-_#SWITCH,I_^1_(AND-_#ONEBIT+13_^1_(SAN_$ERRCM€”_^1_(RTJ-_#(RTNSR)_*FUNCTION IDEK OF EXECUTING_^1_(STQ-_#FUNIDX,I_)OWN CODE_^1ERRCM_"JMP_$COMERR_^1*_BFOR TWO PARTS._^1_(EQU_$ELOOKP(*)_^1_(END_^__ ”PFORMAT CSY/ P€1_%NAM FORMAT_'DECK-ID M23 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* END-OF-FIELD-CODE ROUTINE TO ADJUST FORMAT ACCORDING_^1* TO FIELD CONTENTS_^1* THE 4 RIGHTMOST DIGITS ARE USED AS NEW FORMAT NUMBER._^1* IF THE FIELD LENGTHS AND DATA €€TYPES IN BOTH FORMATS UP_^1* TO THE PRESENT FIELD ARE EQUAL,ALL THE FORMAT INFORMATION_^1* IS UPDATED ACCORDING TO THE NEW FORMAT ELSE THE OLD_^1* FORMAT IS RESTORED AND ERROR EXIT IS TAKEN._^1*_]_^1_(EQU_$SST($47),STEMP(20)_^1_(EQU_$CFFA(12)_^1_(EQU_$MAXFMT(24)_'MAX FMT NUMBER IN EST_^1*_]_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22)_^1_(EQU_$ONEBIT($23),ZROBIT($33)_^1_(EQU_$TEN($46)_^€€1*_]_^1_(EQU_$EXTSR($92),GBYTE($94),ERROR($96),CAM($AE)_^1_(EQU_$GFCORE($9D),EXDFUN($9F),RELFOR($AD)_^1_(EQU_$CLCDWA($90),REWRIT($A4),READP($A5),READN($A6)_^1_(EQU_$WRTATT($AC),WRITEC($A3)_^1_(EQU_$ENTSR($91),REDDWA($A9),WRTDWA($AA)_^1*_]_^1_(EQU_$AVLTK(8),NDA(11),SW2(20),LUN(35)_^1_(EQU_$CMODE(2),SW1(19),FCNT(3),RCNT(4)_^1_(EQU_$ATEMP(73),DT(13),FLDN(14),RFA(93),PFBA(7)_"09*C1602_€€^1_(EQU_$ATRB(6),FMTNO(13),BRCNT(15)_^1_(EQU_$BMOD(15),BMDA(17)_^1*_]_^1_(EQU_$C9($23)_*INDEXING ERROR_^1*_]_^1_(EQU_$DISPLY($A0)_^1_(EXT_$DDOC_^1_(EQU_$FTOB(1)_^1_(EQU_$REDSEC($A7)_^1_(EXT_$RELTRT_^1*_]_^1_(EXT_$G1TRT,LINKTR_^1_(EXT_$SETMOV_^1HDR_$VFD_$N1/1,N1/1,N3/0,X11/EFAD-*_^1_(NUM_$1_^1_(NUM_$0,0_^1_(ADC_$FAD-HDR_^1*_]_^1FAD_$RTJ+_#SETMOV_^1*_]_^1EOFMT_"LDA-_#ATEMP,I_*CHECK I€€F FORMAT NUMBER_^1_(STA-_#ATEMP+2,I_(IS LEGAL_^1_(EOR-_#FMTNO,I_^1_(AND-_#LPMASK+13_^1_(SAN_$2_^1_(RTJ-_#(EXDFUN)_^1_(JMP-_#(EXTSR)_^1LGLFMT_!LDA-_#RFA,I_^1*_]09*C1602_^1_(INA_$2_0THAT MUST BE SAVED_^1_(STA-_#ATEMP+3,I_^1_(INA_$3_^1_(TRA_$Q_^1_(RTJ-_#(CAM)_,CORE REQUEST FOR THIS PORTION_^1_(SAZ_$SAVADD_^1_(JMP_$ERROC_^1SAVADD_!STQ-_#ATEMP+4,I_(SAVE THE ADDRESS_^1_(LDA-_#I_0AND SET €€BACKWORDS_^1_(INA_$ATEMP+4_*POINTERS_^1_(STA-_#(ZERO),Q_^1_(INQ_$3_^1_(STQ-_#SST+STEMP_^1_(LDQ-_#PFBA,I_+SAVE THE REQUIRED PORTION_^1_(LDQ-_#(ZERO),Q_)OF PREVIOUS FORMAT_^1_(STQ-_#SST+STEMP+1_^1_(LDQ-_#ATEMP+3,I_^1NXTFW_"INQ_$-1_^1_(LDA-_#(SST+STEMP+1),Q_^1_(STA-_#(SST+STEMP),Q_^1_(SQZ_$SAVFIN_^1_(JMP*_#NXTFW_^1SAVFIN_!LDA-_#ATEMP+2,I_(CALL THE NEW FORMAT_^1_(EOR-_#ONEBIT+15_^1_(TR€€A_$Q_^1_(RTJ-_#(GFCORE)_^1_(SAN_$FMTOK_^1_(JMP_$EREXT1_^1FMTOK_"LDQ-_#PFBA,I_+CHECK IF FORMAT IS ACTIVE_^1_(LDQ-_#(ZERO),Q_^1_(LDA-_#3,Q_^1_(SAP_$FMTACT_^1_(JMP_$EREXT1_^1FMTACT_!STQ-_#SST+STEMP_(SAVE NEW FORMAT ADDRESS_^1_(LDQ-_#ATEMP+4,I_^1_(STQ-_#ATEMP+3,I_^1NXTFLD_!LDQ-_#SST+STEMP_(GET FIELD LENGTH IN NEW_^1_(LDA-_#4,Q_.FORMAT_^1_(STA-_#SST+STEMP+1_^1_(LDA-_#5,Q_.SAVE DATA TYPE€€ IN NEW_^1_(STA-_#SST+STEMP+2_%FORMAT_^1_(LDQ-_#ATEMP+3,I_(COMPARE FIELD LENGTH_^1_(LDA-_#7,Q_.IN BOTH FORMATS_^1_(EOR-_#SST+STEMP+1_^1_(AND-_#NZERO+8_^1_(SAN_$TOEE1_^1_(LDA-_#8,Q_.COMPARE DATA TYPE IN_^1_(EOR-_#SST+STEMP+2_%BOTH FORMATS_^1_(AND-_#NZERO+13_^1_(SAZ_$2_^1TOEE1_"JMP_$EREXT1_^1_(LDA-_#RFA,I_,CHECK IF REACHED TO_^1*_]09*C1602_^1_(ADD-_#ATEMP+4,I_^1_(SUB-_#ATEMP+3,I_^1_(€€INA_$-4_^1_(SAN_$ADVFLD_^1_(JMP*_#ADJOK_^1ADVFLD_!LDQ-_#ATEMP+3,I_^1_(LDA-_#7,Q_.OF THE OLD FORMAT_^1_(AND-_#LPMASK+4_^1_(INA_$2_^1_(ADD-_#ATEMP+3,I_^1_(STA-_#ATEMP+3,I_^1_(LDQ-_#SST+STEMP_(UPDATE FIELD ADDRESS_^1_(LDA-_#4,Q_.OF THE NEW FORMAT_^1_(AND-_#LPMASK+4_^1_(SAN_$INA2_^1_(JMP_$EREXT1_^1INA2_#INA_$2_^1_(ADD-_#SST+STEMP_^1_(STA-_#SST+STEMP_^1_(JMP*_#NXTFLD_^1ADJOK_"CLR_$A_^1_€€(STA-_#ATEMP+3,I_^1_(LDA-_#SST+STEMP_(SET RFA ACCORDING TO_^1_(INA_$4_0NEW FORMAT_^1*_]_^1_(LDQ-_#PFBA,I_^1_(SUB-_#(ZERO),Q_^1_(LDQ-_#ATEMP+4,I_^1_(STA-_#3,Q_^1_(LDQ-_#PFBA,I_+IF RECORD LENGTH OF NEW_^1_(LDQ-_#(ZERO),Q_)FORMAT IS LESS THEN OR_^1_(LDA-_#2,Q_.EQUEL TO RECORD OF OLD_^1_(ARS_$7_0FORMAT NO SPECIAL_^1_(AND-_#LPMASK+9_)HANDLING IS REQUIRED_^1_(STA-_#ATEMP,I_*ELSE-_^1_(LDQ€€-_#ATEMP+4,I_^1_(LDA-_#5,Q_^1_(ARS_$7_^1_(AND-_#LPMASK+9_^1_(SUB-_#ATEMP,I_^1_(SAM_$NOL_.RECORD IS LONGER_^1_(LDA-_#SW2,I_^1_(AND-_#ONEBIT+9_^1_(SAZ_$1_^1_(JMP*_#LNGOK1_^1_(JMP*_#LNGOK_,INSERTED RECORD_^1NOL_$CLR_$A_^1_(LDQ-_#SW1,I_^1_(QLS_$3_^1_(SQM_$SETFL_^1_(LDQ-_#SW2,I_^1_(QLS_$6_^1_(SQP_$1_^1_(ENA_$1_^1SETFL_"LDQ-_#ATEMP+4,I_^1_(STA-_#4,Q_^1NOINS_"LDA-_#ATEMP,I_*CHECK IF THERE€€ IS ENOUGH_^1_%INA 1+5_*ROOM ON THIS TRACK_^1_(SUB-_#AVLTK,I_^1_(SAP_$TOG1_^1_(LDQ-_#ATEMP+4,I_^1_(LDA-_#4,Q_^1_(SAN_$1_^1_(JMP*_#LNGOK_^1_(LDQ-_#ATRB,I_^1_(LDA-_#5,Q_^1_(STA-_#NDA+1,I_^1_(LDA-_#6,Q_^1_(AND-_#LPMASK+8_^1_(STA-_#NDA,I_^1_(JMP*_#SAMTRK_^1TOG1_#RTJ_$G1TRT_^1_(SAN_$TRKFND_^1_(JMP_$EREXT1_^1TRKFND_!STA-_#ATEMP+1,I_^1_(ENQ_$99_^1_(RTJ-_#(CAM)_^1_(SAZ_$CORYES_^1SOF_$LDA-€€_#ATEMP+1,I_^1_(RTJ+_#RELTRT_^1_(JMP*_#EREXT1_^1CORYES_!LDA-_#1,Q_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(INQ_$3_^1_(STQ-_#ATEMP+3,I_^1_(STQ*_#BUF_^1_(LDA-_#LUN,I_^1_(ALS_$4_^1_(AND-_#LPMASK+2_^1_(STA*_#LU_^1_(LDA-_#FTOB,I_^1_(STA*_#SECDIS_^1_(RTJ-_#(REDSEC)_^1BUF_$NUM_$0_^1SECDIS_!NUM_$0_^1_(NUM_$1_^1LU_%NUM_$0_^1_(LDQ-_#ATEMP+3,I_^1_(INQ_$-3_^1_(CLR_$A_^1_(STA-_#2,Q_^1GETNXT_!LDA-_€€#3,Q_^1_(SAZ_$2_^1_(INQ_$1_0CHECK IF THERE IS ROOM FOR_^1_(JMP*_#GETNXT_+THE NEW TRACK IN THE TKT BUF_^1_(TRQ_$A_^1_(SUB-_#ATEMP+3,I_^1_(INA_$-90-3_^1_(SAN_$1_^1_(JMP*_#SOF_^1_(LDA-_#ATEMP+1,I_^1_(RTJ+_#LINKTR_^1_(LDA-_#ATEMP+1,I_^1_(CLR_$Q_^1_(STQ-_#ATEMP+3,I_^1_(RTJ-_#(CLCDWA)_)TO CONVERT DISK ADDRESS TO_^1_(STQ-_#NDA,I_,WORD ADDRESS_^1_(STA-_#NDA+1,I_^1_(LDA_$=N$600_^1_(STA-_#AV€€LTK,I_^1SAMTRK_!LDA-_#BMOD,I_^1_(ALS_$2_^1_(SAM_$1_^1_(JMP*_#LNGOK_,INSERT IN VERIFY_^1_(SET_$Q_^1_(LDA-_#SW1,I_^1_(AND-_#ONEBIT+12_^1_(SAZ_$NOIN_^1_(LDA-_#SW2,I_,SET BIT. INSERTED RECORD._^1_(AND-_#ZROBIT+9_^1_(EOR-_#ONEBIT+9_^1_(STA-_#SW2,I_^1_(ENQ_$BMDA_^1NOIN_#STQ-_#ATEMP+3,I_^1_(LDA*_#REDREQ_^1_(RTJ*_#REDWRT_^1_(LDA-_#NDA+1,I_^1_(STA-_#ATEMP+1,I_^1_(LDA-_#ATEMP+2,I_^1_(AND-_#N€€ZERO+8_^1_(EOR-_#NDA,I_^1_(STA-_#ATEMP+2,I_^1_(LDA*_#WRTREQ_^1_(LDQ-_#ATEMP+3,I_^1_(RTJ*_#REDWRT_^1LNGOK_"LDQ-_#ATRB,I_^1_(LDA-_#6,Q_^1_(AND-_#NZERO+8_^1_(EOR-_#NDA,I_^1_(STA-_#6,Q_^1_(LDA-_#NDA+1,I_^1_(ADD-_#ATEMP,I_^1_(INA_$5+1_^1_(SAP_$2_^1_(RAO-_#6,Q_^1_(AND-_#LPMASK+15_^1_(STA-_#5,Q_^1*_]_^1LNGOK1_!LDA-_#SW1,I_^1_(AND-_#ONEBIT+12_^1_(SAN_$LBL1_^1_(LDA-_#SW1,I_^1_(AND_$=N$7BFF_€€^1_(EOR_$=N$8400_^1_(STA-_#SW1,I_^1_(RTJ-_#(DISPLY)_^1_(ADC_$DDOC_^1LBL1_#LDQ-_#ATRB,I_+UPDATE FORMAT NO IN TRB_^1_(LDA-_#FMTNO,I_^1_(AND-_#LPMASK+13_^1_(STA-_#7,Q_^1_(RAO-_#ATEMP,I_^1_(LDA-_#3,Q_^1_(AND_$=N$DE00_^1_(EOR-_#ONEBIT+13_^1_(EOR-_#ATEMP,I_^1_(STA-_#3,Q_^1_(LDQ-_#ATEMP+4,I_^1_(LDQ-_#3,Q_^1_(STQ-_#RFA,I_G09*C1602_^1_(TRQ_$A_^1_(LDQ-_#PFBA,I_^1_(LDQ-_#(ZERO),Q_^1_(AAQ_$A_^€€1_(STA-_#SST+CFFA_^1_(LDQ-_#ATEMP+3,I_^1_(SQP_$LNGOK2_^1_(RTJ-_#(WRITEC)_^1_(LDA-_#SW2,I_^1_(AND-_#ZROBIT+9_^1_(STA-_#SW2,I_^1_(RTJ-_#(WRTATT)_^1LNGOK2_!LDQ-_#ATEMP+4,I_^1_(RTJ-_#(RELFOR)_^1_(RTJ-_#(EXDFUN)_^1_(JMP-_#(EXTSR)_^1*_]_^1EREXT1_!LDQ-_#ATEMP+4,I_(GET PREVIOUS FORMAT NO_^1_(LDA-_#6,Q_^1_(AND-_#LPMASK+13_^1_(EOR-_#ONEBIT+15_^1_(TRA_$Q_^1_(RTJ-_#(GFCORE)_)GET PREVIOUS FORMA€€T INTO CORE_^1*_]_^1EREXT2_!LDQ-_#ATEMP+4,I_^1_(RTJ-_#(RELFOR)_^1ERROC_"ENQ_$C9_/INDEXING ERROR_^1_(JMP-_#(ERROR)_^1REDWRT_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(STA*_#REQRTJ_^1_(SQP_$INSR_^1_(LDQ-_#ATRB,I_^1_(LDA-_#6,Q_^1_(ALS_$8_0PREVIOUS MSB_.08*C1505_^1_(LDQ-_#4,Q_^1_(JMP*_#SETDA_^1INSR_#LDA-_#(ZERO),B_^1_(LDQ-_#1,B_^1SETDA_"AND-_#LPMASK+8_^1_(LLS_$16_^1_(INA_$2_^1_(SAP_$2_^1_(AND-_#LPM€`ASK+15_^1_(INQ_$1_^1_(STQ*_#DA_^1_(STA*_#DA+1_^1_(RTJ+_#SETMOV_^1_(LDA-_#I_^1_(INA_$ATEMP+1_^1_(STA*_#CA_^1_(LDA-_#LUN,I_^1_(ALS_$4_^1_(AND-_#LPMASK+2_^1_(STA*_#RWLU_^1REQRTJ_!RTJ-_#(REDDWA)_^1CA_%ADC_$0_^1DA_%NUM_$0,0_^1WORDS_"NUM_$2_^1RWLU_#NUM_$0_^1_(JMP-_#(EXTSR)_^1REDREQ_!RTJ-_#(REDDWA)_^1WRTREQ_!RTJ-_#(WRTDWA)_^1*_]_^1_(EQU_$EFAD(*)_^1_(END_^__`PLBL2 CSY/ P€1_%NAM LBL2_)DECK-ID E03 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1* THE NO LABEL ROUTINE :_^1*_]_^1*_$ENTRY POINTS:_!VOLHDR -_!VOLUME HEADER_^1*_6FILHDR_#FILE_%"_^1*_6FILTRL_#FILE_#TRAILER_^1*_6VOLTRL_#VOLUME_#"_^1*_]_^1*_%ACTIONS:€€_^1*_]_^1*_%VOLHDR = VOLHDR+FILHDR_^1*_]_^1*_%VOLHDR - REWIND_^1*_%FILHDR - NOTHING_^1*_%FILTRL - TAPE MARK_^1*_%VOLTRL- REWIND AND UNLOAD_^1*_-- ASK USER IF TO TERMINATE, OR CONTINUE_^1*_+PRINTED MESSAGE: MOUNT NEW TAPE AND TYPE CU,OR TYPE TR._^1*_]_^1*_]_^1*_]_^1*_]_^1* EXTERNALS_^1_(EXT_$SETMOV_^1_(EXT_$PRTMSG_^1_(EXT_$CONVRS_+FOR CONVERSATION ROUTINE._^1*_]_^1* SYSTEM €€EQUATES_^1*_]_^1_(EQU_$SST($47)_)SYSTEM STATUS TABLE_^1_(EQU_$STEMP(20)_(SYSTEM TEMPORARIES AREA(4 TEMPS)_^1*_]_^1* TRANSFER VECTOR_^1*_]_^1_(EQU_$EXDFUN($9F)_%EXIT DISK FUNCTION_^1_(EQU_$ENTPRG($9E)_%ENTER A DISK RESIDENT PROGRAM_^1_(EQU_$ENTSR($91)_'SAVE RE-ENTRY POINTS ROUTINE_^1_(EQU_$EXTSR($92)_'EXIT SUBROUTINE_^1_(EQU_$RTNSR($98)_'RETURN THE EXIT ADR FROM STACK_^1*_]_^1_(EQ€€U_$TAPIO($9A)_'TAPE I/O_^1_(EQU_$SUPRW($97)_'SUPERVISOR READ WRITE PIO_^1_(EQU_$GETALP($9B)_%GET ALPHA CHARACTER_^1*_]_^1* GENERAL EQUATES_^1*_]_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ZROBIT($33),ONEBIT($23)_^1_(EQU_$MO(4)_,MOTION_^1_(EQU_$FR(2),FW(3)_^1*_]_^1*_!COMMUNICATION AREA EQUATES (IN ATT)_^1*_]_^1_(EQU_$MTCA(46)_^1_(EQU_$MTFENT(MTCA)_^1_(EQU_$MTFEXT(MTCA+1)_"FUNCTION I€€NDEX OF CALLER_^1_(EQU_$MTCTMP(MTCA+12)_!TEMPORARIES ( 2 TEMPORARIES)_^1_(EQU_$USRTMP(MTCA+14)_!4 TEMPORARIES_^1*_]_^1* ATT EQUATES_^1*_]_^1_(EQU_$IRB(27)_*INTERROGATE BUFFER_^1HDRPRG_!VFD_$N2/3,X14/ELBL0-* I/O BIT CODE,LENGTH_^1_(NUM_$1_0USER COUNT_^1_(NUM_$0_0DISK ADDRESS_^1_(NUM_$0_0TIME_^1*_]_^1_(ADC_$VOLHDR-HDRPRG_#DISFLACEMENT TO VOLUME HDR ENTRY_^1_(ADC_$FILHDR-HDRPRG_)"_%€€"_!FILE_""_""_^1_(ADC_$FILTRL-HDRPRG_)"_%"_!FILE_"TRAILER "_^1_(ADC_$VOLTRL-HDRPRG_)"_%"_!VOLUME_!"_$"_^1*_]_^1* VOLHDR IS ENTERED_!AT THE BEGINNING OF THE REEL._^1*_]_^1VOLHDR_!RTJ+_#SETMOV_+ALLOW PROGRAM TO MOVE IN CORE_^1*_]_^1***VOLUME HDR OF LABEL 0 REWINDS THE TAPE.****_^1*_]_^1VOL1_!ENQ_$MO_/MOTION_!(MO=4)_^1_(RTJ-_#(TAPIO)_*TAPE I/O ROUTINE_^1_(NUM_$$3000_,REWIND_^1_€€(SQP_$OUT_^1_(JMP*_#TR_/I/O ERROR_^1*_]_^1*_!VOLUME HDR_!INCLUDES ALSO PERFORMANCE OF FILE HDR_^1*_]_^1*_]_^1***FILE HDR_!IS_!ENTERED AT THE BEGINNING OF EVERY FILE****_^1*_]_^1FILHDR_!RTJ+_#SETMOV_^1*_]_^1* FILE HDR OF LABEL 0 DOES NOTHING_^1*_]_^1* WE HAVE TO CHANGE FUNCTION INDEX OF LABEL 0, TO THE_^1*_]_^1* FUNCTION INDEX OF THE CALLING ROUTINE_^1*_]_^1OUT_$R€€TJ-_#(EXDFUN)_)EXIT DISK FUNCTION_^1_(CLR_$A_^1_(LDQ-_#MTFEXT,I_)INDEX OF CALLER IN MTCA_^1_(RTJ-_#(ENTPRG)_)ENTER THE CALLING ROUTINE_^1*_]_^1*_]_^1** FILE TRL_!IS ENTERED AT THE END OF EVERY FILE._^1*_]_^1FILTRL_!RTJ+_#SETMOV_^1*_]_^1* FILE TRL OF LABEL 0 WRITES TAPE MARK_^1*_]_^1_(ENQ_$MO_/MOTION_^1_(RTJ-_#(TAPIO)_*TAPE I/O ROUTINE_^1_(NUM_$0_K07*C1399_^1_(SQP_$1_^1_(J€€MP*_#TR_/I/O ERROR_^1_(AND-_#ONEBIT+9_)IF END OF TAPE_^1_(SAZ_$OU_^1*_]_^1*_%IF ENTERED FROM TRC , MTFENT=$7FFF AND TAPE END SHOULD BE IGNOR_^1*_]_^1_(LDA-_#MTFENT,I_^1_(EOR-_#LPMASK+15_^1_(SAZ_$OU_^1*_]_^1*_!END OF TAPE_^1*_]_^1_(ENA_$59_/END OF TAPE_^1_(RTJ+_#PRTMSG_^1_(JMP*_#EOV1_^1*_]_^1OU_%JMP*_#OUT_.EXIT TO CALLER_^1*_]_^1* VOLUME TRAILER ENTERED AT END OF TAPE_^1*_]_^1*_€€]_^1VOLTRL_!RTJ+_#SETMOV_^1*_]_^1*_]_^1_(ENQ_$MO_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$2000_^1_(SQP_$1_^1_(JMP*_#TR_^1*_]_^1* TO AVOID WRITTING ON OLD TAPE_^1*_]_^1EOV1_#ENQ_$MO_/REWIND AND UNLOAD_^1_(RTJ-_#(TAPIO)_^1_(NUM_$$3000_,REWIND_404*C1071_^1_(SQP_$1_0NO ERROR_^1_(JMP*_#TR_^1*_]_^1*_'WE GIVE THE USER THE POSSIBILITY TO CONTINUE THE PROCESS_^1*_'ON NEW TAPE OR TO TERMINATE._^1*_]_^€€1REASK_"RTJ*_#ASK_^1_(ADC_$(MSG1-*)_)RELATIVE BUFFER ADDRESS_^1_(ADC_$EMSG1-MSG1_'LENGTH OF MESSAGE_^1*_]_^1* THE ROUTINE 'ASK', TAKES CARE OF PRINTING A MESSAGE FROM_^1* A GIVEN BUFFER AND READING THE ANSWER INTO THE INTERROGATE_^1* BUFFER_]_^1*_]_^1*_!ANSWER SHOULD BE EITHER_#CU_!FOR COTINUATION,_^1*_!OR_%TR_!FOR_!TERMINATION._^1*_]_^1*_]_^1OK_%LDQ-_#IRB,I_,INTERROGAT€€E BUFFER ADDRESS._^1_(LDA-_#4,Q_.WHERE DATA BEGINS_^1_(EOR_$=ACU_-IS CU_^1_(SAN_$ISTR_^1_(JMP*_#VOL1_^1*_]_^1ISTR_#LDA-_#4,Q_^1_(EOR_$=ATR_^1_(SAZ_$1_^1_(JMP*_#REASK_,ILLEGAL COMMAND ASK AGAIN_^1*_]_^1*_]_^1*_]_^1_(ENA_$39_/FUNCTION TERMINATED_^1*_]_^1EXIT_#RTJ+_#PRTMSG_^1_(RTJ-_#(EXDFUN)_^1_(ENA_$3_03_"ENTRY IS FOR ERRORS_^1_(LDQ-_#MTFEXT,I_^1_(RTJ-_#(ENTPRG)_)BACK TO CALLER_^1*_€€]_^1TR_%ENA_$58_1TAPE I/O ERROR_^1_(JMP*_#EXIT_^1*_]_^1* THE ASK SUBROUTINE ENABLE US TO ASK QUESTION AND GET_^1* ANSWERS WITH THE HELP OF THE READ/WRITE SYSTEMS ROUTINE._^1* ANSWERS ARE READ INTO THE INTERROGATE BUFFER._^1* DATA_!TRANSFER:_^1*_]_^1*_'RTJ ASK_+RTJ_!ASK_^1*_'ADC BUF_"OR_$ADC_!(BUF-*)_^1*_'NUM_$X_)NUM X_^1*_]_^1*_!WHERE:_]_^1*_]_^1*_]_^1*_!ADC_#B€€UF_(ABSOLUTE BUFFER ADDRESS_^1*_!ADC_#(BUF-*)_#RELATIVE BUFFER ADDRESS_^1*_]_^1*_!NUM_#X_*NO. OF WORDS TO BE TRANSFERED_^1*_]_^1ASK_$NUM_$0_^1_(RTJ-_#(ENTSR)_*SAVE RELATIVE RETURN ADDRESS_^1_(RTJ+_#SETMOV_^1_(LDQ*_#ASK_.FIRST PARAMETER ADDRESS_^1_(LDA-_#(ZERO),Q_)BUFFER ADDRESS_^1_(SAP_$2_0IF ABSOLUTE_^1_(AAQ_$A_0CALCUALTE_^1_(AND-_#LPMASK+15_3ABSOLUTE_^1_(STA-_#SST+STEMP+1€€_^1*_]_^1_(LDA-_#IRB,I_,INTERROGATE BUFFER ADDRESS_^1_(INA_$4_^1_(STA-_#SST+STEMP_^1_(LDQ-_#1,Q_.NO OF WORDS_^1*_]_^1_(STQ*_#WRDNO_,FOR WRITE REQUEST_^1_(STQ-_#USRTMP,I_)FOR CONVRS ROUTINE_^1_(INQ_$-1_^1*_]_^1*_]_^1BACK_#LDA-_#(SST+STEMP+1),Q_!TRANSFER_^1_(STA-_#(SST+STEMP),Q_.FROM_^1_(INQ_$-1_;INNER BUFFER_^1_(SQM_$1_?TO_^1_(JMP*_#BACK_>INTERROGATE BUFFER_^1*_]_^1*_]_^1*_]_^1€€_(ENQ_$FW_/FWRITE , MESSAGE_^1_(RTJ-_#(SUPRW)_^1_(ADC_$0_0FROM INTERROGATE BUFFER_^1WRDNO_"NUM_$0_^1*_]_^1*_]_^1*_]_^1*_]_^1*_!READ_"ANSWER._#(CU OR TR)_^1*_]_^1_(LDQ-_#USRTMP,I_)QUESTION'S LENGTH_^1_(ENA_$2_^1_(RTJ+_#CONVRS_^1*_]_^1*_]_^1_(RTJ-_#(RTNSR)_^1_(JMP-_#2,Q_^1*_]_^1MSG1_#ALF_$*,MOUNT NEW TAPE.TYPE CU/TR TO CONTINUE/TERMINATE.*_^1_(EQU_$EMSG1(*)_^1_(EQU_$ELBL0(*)_^1*€_]_^1_(END_^__ PSEV CSY/ P€1_%NAM SEV_*DECK-ID I17 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1* THIS IS AN INTERROGATE FUNCTION_^1* THE PARAMETERS ARE:_^1*_(SEV,JJJJJJ,BBB,000_^1*WHERE;_]_^1*_!JJJJJJ IS THE JOB NAME(UP TO 6 CHAR)_^1*_!BBB_!IS THE BATCH NUMBER 000-999_^1*_€€$000 IS THE OPERATOR NUMBER 000-999_^1* CHECK THAT STATION IS IDLE AND THAT REQUEST IS LEGAL._^1_(EJT_^1_(EQU_$SW3(89),CANC(23),SEVLU(91),SEVFTB(92)_^1_(EQU_%WRTSEC($A8),CLCDWA($90),WRTDWA($AA)_^1_(EXT_$MOVREC,GETBUF,DLINE,CLRALL,SETDIS_^1_(EQU_$PREVDA(4),NEXTDA(5),PRVNXT(6)_^1_(EXT_$SETDIS_^1_(EXT_$SETMOV_^1_(EXT_$EORVR_^1_(EXT_$BD,GETLJD,G1TRT,RELTRT,LINKTR_^1_(EQU_$LPMASK(2),NZ€€ERO($12),ONEBIT($23),ZERO($22),ZROBIT($33)_^1_(EQU_$SST($47),STEMP(20),EXTSST(0)_^1_(EQU_$SLOCK(1),ATTB(10),ATTLNG(19)_^1_(EQU_%TCLK(11),TACTME(12),TSBCH(10),CLOCKS(17),CLOCKM(16)_^1_(EQU_$ABTN(22),RCNT(4),RCD(32),RCDCKP(90)_^1_(EQU_$DSKST(29)_^1_(EQU_$AVLTK(8),ASCNT(5),ATRB(6),ABTIDX(22),FTOB(1)_^1_(EQU_$JIDX(3),NDA(11),BMOD(15),SW1(19)_^1_(EQU_$FLDN(14),RFA(93)_<09*C1602_^1_(EQU_€€$FUNIDX(21),CMODE(2),AINT(27),ATOPT(33),BATCH(35)_^1_(EQU_$TJOB(10),TOPR(9)_^1_(EQU_$ATEMP(73),ATEMP1(74),ATEMP2(75)_^1_(EQU_$CE1($12),CD4($10),CD5($11),CD1($D)_^1_(EQU_$CF4($17),CF3($16)_^1_(EQU_$GETALP($9B),GETBIN($99)_^1_(EQU_$ERROR($96),CAM($AE),SPILL($A1)_^1_(EQU_$WRTATT($AC),DISP($A0),CLRSR($93)_^1_(EQU_$SW2(20),CURDA(9)_^1_(EQU_$RELFOR($AD),READP($A5)_^1_(EQU_$MSGP(78)_D06*C€€1301_^1_(EQU_$WAIT($B0)_C06*C1301_^1_(EQU_$EXDFUN($9F)_^1HDR_$VFD_$N2/3,N3/0,X11/ESEV-*_^1_(VFD_$N10/10,N6/1_^1_(NUM_$0_^1_(NUM_$0_^1_(ADC_$START-HDR_^1* CLEAR BIT TO ALLOW MOVING OF PROGRAM AND SWITCH ON BIT IN ATT TO_^1* SHOW ADDRESSING IS RELATIVE._^1START_"RTJ_$SETMOV_^1* CHECK THAT STATION IS IN IDLE MODE._^1* IF NOT,ERROR E1-INVALID REQUEST AND SET ERROR SWITCH_^1_(LDA-_#CMOD€€E,I_^1_(AND_$=N$0F00_^1_(ENQ_$CE1_.IF MODE IS NOT IDLE DISPLAY 'E1" -_^1_(SAZ_$ON_^1_(LDA-_#SW1,I_^1_(AND-_#ZROBIT+8_^1_(EOR-_#ONEBIT+8_^1_(STA-_#SW1,I_^1_(JMP-_#(ERROR)_^1* CLEAR ATT_^1ON_%STA-_$BMOD,I_^1_(LDQ-_#FUNIDX,I_)SAVE THESE WORDS TO BE ABLE_^1_(STQ-_#ATEMP,I_7TO RESTORE THEM AFTER_^1_(LDQ-_#AINT,I_9THE ATT IS CLEARED_^1_(STQ-_#ATEMP+1,I_^1_(LDQ-_#ATOPT,I_^1_(STQ-_#ATEMP+2€€,I_^1_(ENQ_$-60_^1CLEAR_"STA-_#63,B_^1_(SQZ_$2_0CLEAR ATT AREA_^1_(INQ_$1_^1_(JMP*_#CLEAR_^1_(ENQ_$-3_/CLEAR WORDS 89-92 IN ATT_^1CLEAR2_!STA-_#92,B_^1_(SQZ_$2_^1_(INQ_$1_^1_(JMP*_#CLEAR2_^1_(STA-_#RFA,I_,CLEAR RFA_109*C1602_^1*_]_^1_(LDA-_#MSGP,I_F06*C1301_^1_(AND-_#NZERO+4_E06*C1301_^1_(STA-_#MSGP,I_F06*C1301_^1_(LDQ-_#ATEMP,I_^1_(STQ-_#FUNIDX,I_)RESTORE THE SAVED VALUES_^1_(LDQ-€€_#ATEMP+1,I_^1_(STQ-_#AINT,I_^1_(LDQ-_#ATEMP+2,I_^1_(STQ-_#ATOPT,I_^1* CHECK VALIDITY OF REQUEST PARAMETERS-ADJUST CHARACTER COUNT FOR GETALP_^1_(ENA_$3_^1_(STA-_#SST+STEMP_^1_(RTJ-_#(GETALP)_)PUT THE POINTER AFTER THE REQUEST_^1_(SQN_$ERR_.CODE (SEV)_^1_(STQ*_#LOCAL_^1_(LDA_$=N$2020_^1_(STA-_#TJOB,I_^1_(STA-_#TJOB+1,I_^1_(STA-_#TJOB+2,I_^1LOOP_#RTJ-_#(GETALP)_)GET JOB NAME_^1_(SQP€€_$NXTCHR_^1ERR_$ENQ_$CD4_.DISPLAY 'D4' ILLEGAL JOB NAME_^1ERR1_#LDA-_#ONEBIT+8_^1_(STA-_#SW1,I_^1_(JMP-_#(ERROR)_*EXIT TO ERROR(ERROR WILL RELEASE THE_^1*_BPROGRAM AREA_^1NXTCHR_!SQZ_$GETBCH_+JOB NAME WAS TERMINATED BY,(COMMA)_^1_(INA_"-$20_^1_(LDQ*_#LOCAL_,DECREMENT $20 BECAUSE TJOB CONTAINS_^1_(QLS_$15_/ALREADY ASCII BLANKS_^1_(SQM_$1_^1_(ALS_$8_^1_(LDQ*_#LOCAL_^1_(QRS_$1_^1_(ADD€€-_#TJOB,B_+SAVE JOB NAME IN ATT_^1_(STA-_#TJOB,B_^1_(RAO*_#LOCAL_^1_(LDA*_#LOCAL_^1_(INA_$-7_^1_(SAZ_$1_^1_(JMP*_#LOOP_^1_(JMP*_#ERR_.JOB NAME IS OF 6 CHAR FOLLOWED BY ,_^1*_]_^1GETBCH_!RTJ-_#(GETBIN)_^1_(SQN_$BERR_^1_(SAZ_$BERR_^1_(STA-_#BATCH,I_*SAVE BATCH NUMBER IN ATT_^1K1000_"SUB_$=N1000_^1_(SAM_$GETOPR_^1BERR_#ENQ_$CD5_^1_(JMP*_#ERR1_-ILLEGAL BATCH NUMBER_^1GETOPR_!RTJ-_#(GET€€BIN)_^1_(SQZ_$OERR_-OPER. NUM MUST BE TERMINATED BY EOR_^1_(SAM_$OERR_^1_(SAZ_$OERR_H07*C1409_^1_(STA-_#TOPR,I_^1_(SUB*_#K1000+1_*MAX OPERATOR NUMBER=999_^1_(SAM_$2_^1OERR_#ENQ_$CD1_.INVALID OPERATOR NUMBER._^1_(JMP*_#ERR1_^1*_]_^1*_BCONVERT BATCH AND OPER.NUMS TO BCD_^1*_]_^1*_]_^1SOF_$LDA-_#BATCH,I_^1_(RTJ_$BD_^1_(STA-_#BATCH,I_*GET BATCH NUMBER IN BCD_^1_(LDA-_#TOPR,I_^1_(RTJ_$B€€D_/GET OPERATOR NUMBER IN BCD_^1_(STA-_#TOPR,I_^1* ALLOW SUPERVISOR TO SEND MESSAGE IF CRT_^1*_]_^1RTRY_#LDA-_#TJOB,I_^1_(STA*_#JOB_^1_(LDA-_#TJOB+1,I_^1_(STA*_#JOB+1_^1_(LDA-_#TJOB+2,I_^1_(STA*_#JOB+2_^1_(LDQ-_#(I)_^1_(QLS_$5_^1_(SQP_$SELFSC_^1_(LDQ-_#ATOPT,I_^1_(LDA-_#15,Q_H06*C1301_^1_(SAP_$2_K06*C1301_^1_(RTJ-_#(WAIT)_F06*C1301_^1_(JMP*_#RTRY_H06*C1301_^1_(LDA*_#JOB+2_G06*C130€€1_^1_(STA-_#7,Q_^1_(LDA-_#TJOB+1,I_^1_(STA-_#6,Q_^1_(LDA-_#TJOB,I_^1_(STA-_#5,Q_^1SELFSC_!ENQ_$1_0LOCATE THE LJD INDEX_^1_(RTJ_$GETLJD_^1JOB_$NUM_$0_^1_(NUM_$0_^1_(NUM_$0_^1JINF_#NUM_$0_^1LOCAL_"NUM_$0_^1_(JMP*_#RTRY_-RETRY IN CASE GETLJD IS LOCKED_^1*_]_^1_(INQ_$-1_^1_(SQZ_$1_^1_(JMP*_#ERR_^1*_]_^1_(STA-_#JIDX,I_^1_(LDA*_#JINF_^1_(AND-_#LPMASK+10_^1_(TRA_$Q_^1_(QRS_$1_^1_(INQ_$8+1€€_.GET CORE FOR TRB,FOR DATA-AS SPECIF_^1_(RTJ-_#(CAM)_,IN JOB INFORMATION +8 WORDS FOR HEAD_^1_(SAZ_$ENT01_^1_(ENQ_$CF4_.'CORE FULL TRY AGAIN'_^1_(JMP-_#(ERROR)_^1*_]_^1ENT01_"LDA-_#I_^1_(INA_$ATRB_^1_(STA-_#(ZERO),Q_)SET UP BACKWARDS POINTER_^1_(STQ-_#ATRB,I_+PUT TRB ADDR INTO ATT_^1* GET THE ABT ENTRY FOR "ENTRY" STATION:_^1GETABT_!LDA-_#BATCH,I_*BATCH NUMBER_^1_(STA*_#SPAR2_^1_€€(LDA-_#JIDX,I_+JOB NUMBER_^1_(STA*_#SPAR1_^1_(CLR_$Q_0Q=0, BRING ABT OF ENTRY INTO CORE._^1_(RTJ-_#(SPILL)_^1SPAR1_"NUM_$0_0CALL PARAMETERS -JOB INDEX_^1SPAR2_"NUM_$0_ABATCH NUMBER_^1SPAR3_"NUM_$0_AUNDEFINED_^1_(JMP*_#GETABT_+RETRY ADDRESS_^1_(RAO-_#ABTIDX,I_)MARKER FOR ERROR.-D5_^1_(SAN_$CONT_^1_(JMP*_#REJ2_-ENTRY NOT FOUND, RELEASE TRB AREA._^1*_]_^1CONT_#LDA*_#SPAR1_,CHECK BATCH€€ FOR ENTRY MODE._^1_(AND-_#NZERO+13_^1_(SAZ_$CHSEV_^1_(JMP*_#REJ2_-INVALID BATCH STATUS-RELEASE TRB_^1CHSEV_"LDA*_#SPAR2_,CHECK SEV BIT IS OFF._^1_(SAP_$CHVER_^1_(JMP*_#REJ2_-INVALID BATCH STATUS-RELEASE TRB_^1CHVER_"LDA*_#SPAR1_,CHECK VERIFY OPTION IS SPECIFIED._^1_(ALS_$3_^1_(AND-_#NZERO+13_)-BITS (15-13)_^1_(SAN_$SETVER_^1_(JMP*_#REJ2_-INVALID BATCH STATUS-RELEASE TRB ARE_^1SETV€€ER_!ENQ_$3_0SET 1ST WORD FOR NEW ABT (FOR SEV)_^1_(LRS_$3_0SET ENTRY MODE, VERIF.OPTIONS_^1_(EOR-_#JIDX,I_+ADD TO JOB INDEX_^1_(STA-_#JIDX,I_^1_(ALS_$6_^1_(AND-_#LPMASK+3_)UPDATE VERIFICATION OPTIONS IN SW2_^1_(EOR-_#ONEBIT+3_)SET MONITOR OVERRIDE BIT_!08*C1500_^1_(STA-_#SW2,I_^1* ASSIGN BATCH FOR DISK_^1* AS BATCHES ARE CREATED, THEY ARE ASSIGNED_^1* ALTERNATIVELY TO EACH OF THE 4€€ DISKS. THE_^1* SYSTEM DISK IS PASSED OVER EVERY OTHER_^1* CYCLE SO THAT IT IS ASSIGNED EVERY_^1* 7TH BATCH INSTEAD OF EVERY 4TH BATCH_^1_(LDQ-_#SST+EXTSST_^1_(LDA-_#DSKST,Q_^1_(STA-_#SST+STEMP_^1FDSK0_"CLR_$Q_^1FDSK1_"LDA-_#SST+STEMP_^1_(AND-_#ONEBIT+8,Q_'FIND THE LAST USED DISK_^1_(SAN_$FDSK2_^1_(INQ_$1_^1_(JMP*_#FDSK1_^1FDSK2_"INQ_$-3_^1_(SQN_$FDSK3_,IF SYSTEM DISK IS TO BE USED€€_^1_(LDA-_#SST+STEMP_(CHANGE INDICATOR FOR NEXT TIME SO_^1_(EOR-_#ONEBIT+15_(IT WILL BE/WILL NOT BE USED_^1_(STA-_#SST+STEMP_^1_(SAM_$1_0IF NEGATIVE;'SYSTEM DISK' HAS NOT TO_^1_(ENQ_$-1_/BE ASSIGNED IN CURRENT SCAN LOOP_^1_(INQ_$-3_^1FDSK3_"INQ_$4_^1_(LDA-_#SST+STEMP_^1_(AND_$=N$F0FF_^1_(EOR-_#ONEBIT+8,Q_'CHANGE LAST USED DISK_^1_(STA-_#SST+STEMP_^1_(AND-_#ONEBIT+4,Q_'CHECK IF DISK€€ IS UP_^1_(SAZ_$FDSK4_^1FDSK5_"LDQ-_#SST+EXTSST_^1_(LDA-_#DSKST,Q_^1_(EOR-_#SST+STEMP_(WERE ALL THE DISKS CHECKED?_^1_(SAN_$1_^1_(JMP*_#REJ1_-YES. THERE IS NO DISK AVAILABLE_^1_(JMP*_#FDSK0_,TRY NEXT DISK_^1FDSK4_"LDA-_#SST+STEMP_(IS DISK FULL_^1_(AND-_#ONEBIT,Q_^1_(SAZ_$1_^1_(JMP*_#FDSK5_,YES_^1_(STQ-_#SST+STEMP+1_^1_(LRS_$4_0NO_^1_(EOR*_#SPAR2_,COMPARE WITH ENTRY DISK_^1_(AND_$=N€€$3000_^1_(SAN_$SET_.NOT SAME DISK_^1_(LDQ-_#SST+EXTSST_^1_(LDA-_#DSKST,Q_*UPDATE DISK STATUS WORD_^1_(EOR-_#SST+STEMP_^1_(SAZ_$SET_^1_(JMP*_#FDSK0_,TRY AGAIN_^1SET_$CLR_$A_^1_(LDQ-_#SST+STEMP+1_^1_(LRS_$4_^1_(EOR-_#BATCH,I_^1_(STA-_#BATCH,I_*PUT LUN IN THE ATT_^1_(LDQ-_#SST+EXTSST_^1_(LDA-_#SST+STEMP_(UPDATE THE DISK STATUS WORD IN THE_^1_(STA-_#DSKST,Q_*EXTENDED SST._^1*_]_^1_(RTJ€€_$G1TRT_^1_(SAZ_$REJ1_^1_(JMP*_#ENT02_^1REJ1_#STA-_#ABTIDX,I_)FLAG TO INDICATE ERROR CODE_^1REJ2_#LDQ-_#ATRB,I_+RELEASE TRB AREA IF NO TRACK IS_^1_(CLR_$A_^1_(STA-_#2,Q_.AVAILABLE_^1_(LDA-_#RCD,I_,MARKER TO CLEAR THE SCREEN_^1_(SAZ_$REJ3_^1_(RTJ-_#(DISP)_^1_(ADC_$CLRALL_^1_(LDA-_$CANC,I_^1_(AND-_$ONEBIT+14_^1_(SAN_%EXITX_)YES, CANCEL_^1_(ENQ_%CD5_^1_(JMP-_$(ERROR)_^1EXITX_"JMP-_#(C€€LRSR)_^1REJ3_#ENQ_$CF3_^1_(LDA-_#ABTIDX,I_^1_(SAZ_$1_^1_(ENQ_$CD5_^1_(JMP_$ERR1_^1*_]_^1ENT02_"STA-_#FTOB,I_+STORE FIRST TRACK OF BATCH IN ATT_^1_(EOR-_#ONEBIT_^1_(RTJ_$LINKTR_+PUT THIS TRACK INTO TRACK TABLE_^1*_BWRITE DISK COPY OF CURRENT ATT ON_^1_(RTJ-_#(WRTATT)_)2ND SECTOR OF FIRST TRACK OF BATCH_^1_(SPC_$2_^1*_!SCAN ALL ATT'S TO FIND A STATION WHICH IS WORKING ON BATCH_^1_(LD€€A-_#SST+SLOCK_(NO. TERMINALS IN SYSTEM_^1_(AND-_#LPMASK+8_^1_(TCA_$A_^1_(STA-_#SST+STEMP_(NUMBER OF TERMINALS TO SCAN_^1_(LDQ-_$SST+ATTB_%BASE OF ATT_^1GETATT_!ADQ_%SST+ATTLNG_#LENGTH OF ATT_^1_(RTJ_$CHSTAT_+CHECK STATUS OF STATION_^1_(SAZ_$NEXATT_+GET NEXT ATT_^1_(STQ-_#ATEMP,I_*ATT OF "ENTRY" STATION_^1_(JMP*_#RTRY2_,INSERT THE SEV/VER ABT VIA SPILL_^1NEXATT_!RAO-_#SST+STEMP_(GET€€ NEXT ATT_^1_(LDA-_#SST+STEMP_(ARE ALL STATIONS CHECKED?_^1_(SAZ_$ERR2_-YES, ERROR_^1_(JMP*_#GETATT_^1ERR2_#RAO-_#ABTIDX,I_)FLAG FOR D5 ERROR_^1ERR21_"LDA-_#FTOB,I_^1_(RTJ_$RELTRT_+RELEASE TRACK_^1_(JMP*_#REJ2_^1RTRY2_"LDQ-_#JIDX,I_^1_(STQ*_#WORD1_^1_(LDA-_#BATCH,I_^1_(EOR-_#ONEBIT+15_^1_(STA*_#WORD2_^1_(LDA-_#FTOB,I_^1_(STA*_#WORD3_^1_(RTJ-_#(SPILL)_*Q GT.0; INSERT AN ENTRY IN AB€€T_^1WORD1_"NUM_$0_0JOB INDEX_^1WORD2_"NUM_$0_0BATCH NUMBER_^1WORD3_"NUM_$0_0TRACK ADDR_^1_(JMP*_#RTRY2_,RETRY_^1_(STA-_#ABTIDX,I_^1_(INA_$-1_^1_(SAP_$CHMODE_^1_(JMP*_#ERR21_,ERROR D5_^1_(SPC_$2_^1CHMODE_!LDQ-_#ATEMP,I_*POINTER TO ATT OF ENTRY STATION_^1_(RTJ_$CHSTAT_+CHECK STATUS OF ENTRY STATION_^1_(SAN_$CONTX_^1TRY_$SET_$Q_0DELETE ABT ENTRY OF SEV/VER._^1_(LDA-_#ABTIDX,I_^1_(STA*€€_#DEL1_-PARAMETER TO SPILL_^1_(RTJ-_#(SPILL)_^1DEL1_#NUM_$0_^1_(NUM_$0_^1_(NUM_$0_^1_(JMP*_#TRY_.RETRY ADDRESS_^1_(JMP*_#ERR2_-RELEASE TRACK._^1*_]_^1CONTX_"LDQ-_#ATEMP,I_*CHECK CURRENT MODE OF ENTRY STATION_^1_(LDA-_#CMODE,Q_*IS CURRENT MODE READ?_^1_(AND_$=N$0F00_^1_(EOR-_#ONEBIT+9_^1_(SAN_$CONT01_+NO,CHECK CHAR. COUNT IN CURRENT REC._^1_(JMP*_#CONT1_,YES, SEND MESSAGE_^1CONT01_!€€LDA-_#RCNT,Q_+IF CHAR.COUNT NOT ZERO,MESSAGE_^1_(SAZ_$CONT02_^1_(JMP*_#CONT1_^1CONT02_!LDA-_#RCD,Q_,IF TOT. NO. OF RECORDS=ZERO,MESSAGE_^1_(SAN_$CONT03_^1_(JMP*_#CONT1_^1CONT03_!LDA-_#(ZERO),Q_)IF FUNCTION,PSEUDO-LOCK ON,MESS._^1_(AND_$=N$6000_^1_(SAN_$CONT1_,YES, WAIT_^1_(JMP*_#MODIFY_+MODIFY ATT OF ENTRY STATION_^1CONT1_"LDA-_#CANC,I_+IS IT FIRST TIME?_^1_(SAP_$CONT11_^1_(JMP*_#W€€AITX_,NO, WAIT_^1CONT11_!ENA_%18_^1_(RTJ+_#GETBUF_+ASK FOR INT BUF_^1_(LDQ-_#AINT,I_^1_(INQ_$4_0HEADER_^1_(STQ*_#TO_^1_(RTJ+_#MOVREC_+TRANSFER MESSAGE TO INT BUFFER._^1_(ADC_$(MSG-*)_^1TO_%NUM_$0_^1_(NUM_$9_0NUM. OF WORDS TO MOVE_^1_(LDQ-_#AINT,I_^1_(LDA-_#1,Q_.TURN ON I/O BIT_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(INQ_$4_0DISPLAY FROM INT BUFFER._^1_(ENA_$18_^1_(RTJ-_#(DISP)_^1_(AD€€C_$DLINE_^1_(SPC_$2_^1_(SET_$A_^1_(STA-_#RCD,I_,MARKER TO CLEAR SCREEN._^1_(LDQ-_#AINT,I_+RELEASE INT BUFFER_^1_(RTJ-_#(RELFOR)_^1_(LDA-_#CANC,I_+ENABLE TERMINATION BIT_^1_(EOR-_#ONEBIT+15_^1_(STA-_#CANC,I_^1_(SPC_$2_^1WAITX_"RTJ-_#(WAIT)_^1_(LDA-_#CANC,I_+CHECK IF CANCEL ENABLED_^1_(AND-_#ONEBIT+14_^1_(SAN_$WAIT1_,YES, RELEASE_^1_(JMP*_#CHMODE_+REPEAT TEST MODE OF ENTRY STATION_^1€€WAIT1_"JMP*_#TRY_.DELETE AN ABT ENTRY._^1*_]_^1MSG_$ALF_$*,WAITING FOR ENTRY *_^1MODIFY_!LDA-_#(ZERO),Q_)SWITCH ON FUNCTION LOCK_^1_(EOR-_#ONEBIT+14_^1_(STA-_#(ZERO),Q_^1_(LDA-_#RCD,I_,CHECK IF SCREEN MUST BE CLEARED_^1_(SAZ_$PUTRK_,NO._^1_(RTJ-_#(DISP)_+CLEAR SCREEN_^1_(ADC_$CLRALL_^1_(CLR_$A_0CLEAR MARKER_^1_(STA-_#RCD,I_^1*_]_^1PUTRK_"LDQ-_$ATEMP,I_^1_(LDA-_$FTOB,I_(PLACE FTOB O€€F SEV IN ENTRY STATION_^1_(STA-_#SEVFTB,Q_^1_(LDA-_#(ZERO),I_)LU AND TERM NO. OF SEV.STATION_^1_(AND-_#LPMASK+6_^1_(ALS_$8_^1_(STA-_#SEVLU,Q_^1_(LDA-_#BATCH,I_^1_(ALS_$2_^1_(AND-_#NZERO+14_^1_(EOR-_#SEVLU,Q_^1_(STA-_#SEVLU,Q_^1_(LDA-_#RCD,Q_,TOTAL NO. OF RECORDS._^1_(STA-_#RCDCKP,Q_^1_(LDA-_#SW3,Q_,SWITCH ON SEV BIT._^1_(EOR-_#ONEBIT+15_^1_(STA-_#SW3,Q_^1_(STQ*_#CORAD_,SET PARAMETE€€RS TO WRITE CHECKPOINT_^1_(LDA-_#FTOB,Q_-FOR SEV/ENTRY._^1_(INA_$1_^1_(STA*_#DSKADR_^1_(LDA-_#BATCH,Q_^1_(ALS_$4_^1_(AND-_#LPMASK+2_^1_(STA*_#NUMLU_^1_(RTJ-_#(WRTSEC)_^1CORAD_"NUM_$0_0CORE ADDRESS OF ATT._^1DSKADR_!NUM_$0_0SECTOR ADDRESS_^1NUMSEC_!NUM_$1_0NUMBER OF SECTORS TO WRITE_^1NUMLU_"NUM_$0_0LU NUMBER OF DISK_^1_(SPC_$2_^1RETRY4_!LDQ-_#ATEMP,I_^1_(LDA-_#ABTIDX,Q_)UPDATE ABT €€OF ENTRY STATION:_^1_(STA*_#PARM1_^1_(LDA-_#BATCH,Q_*SWITCH ON SEV BIT_^1_(EOR-_#ONEBIT+15_^1_(STA*_#PARM3_^1_(LDA-_#JIDX,I_^1_(AND-_$LPMASK+13_$ADD ON FEU BITS._^1_(STA*_#PARM2_^1_(ENQ_$-1_/TO UPDATE 2 WORDS OF ABT ENTRY._^1_(RTJ-_#(SPILL)_^1PARM1_"NUM_$0_^1PARM2_"NUM_$0_^1PARM3_"NUM_$0_^1_(JMP*_#RETRY4_+RETRY ADDRESS_^1_(LDQ-_#ATEMP,I_+ATT OF ENTRY STATION_^1_(LDA-_#(ZERO),Q_)REM€€OVE FUNCLOCK ON ENTRY STATION_^1_(AND-_#ZROBIT+14_^1_(STA-_#(ZERO),Q_^1_(SPC_$2_^1_(AND-_#LPMASK+6_)UPDATE ATT OF SEV/VER STATION:-_^1_(ALS_$8_3TERMINAL NUM. OF "ENTRY"_^1_(STA-_#SEVLU,I_^1_(LDA-_#BATCH,Q_-LU NUMBER OF "ENTRY"_^1_(ALS_$2_^1_(AND-_#NZERO+14_^1_(EOR-_#SEVLU,I_^1_(STA-_#SEVLU,I_^1_(LDA-_#SST+CLOCKS_^1_(STA-_#TCLK,I_+UPDATE START TIME OF CURRENT RUN._^1_(CLR_$Q_^1_(ST€€Q-_#TACTME,I_)PUT ACCUMULATED TIME TO ZERO_^1_(DVI_$=N60_^1_(ADD-_#SST+CLOCKM_^1_(STA-_#TSBCH,I_*UPDATE START TIME OF THE BATCH_^1_(LDA-_#BATCH,I_^1_(ARS_$12_^1_(STA*_#LLUN_^1_(LDA-_#I_0SAVE OPERATOR NUMBER,START TIME OF_^1_(INA_$TOPR_-BATCH AND CURRENT RUN AND ACCUMULATD_^1_(STA*_#LCORE_,TIME ON FIRST_^1_(LDA-_#FTOB,I_+TRACK OF THE BATCH FROM WORD 91 ON._^1_(ENQ_$91_^1_(RTJ-_#(CLC€€DWA)_^1_(STQ*_#LDSKAD_^1_(STA*_#LDSKAD+1_^1_(RTJ-_#(WRTDWA)_^1LCORE_"NUM_$0_0CORE ADDR_^1LDSKAD_!NUM_$0_0DISK WORD ADDR_^1_(NUM_$0_^1_(NUM_$5_0NUMBER OF WORDS_+04*C1058_^1LLUN_#NUM_$0_0LUN_^1*_0UPDATE TRB OF SEV/VER STATION_^1_(LDQ-_#ATEMP,I_^1_(LDA-_#FTOB,Q_+USE FTOB OF "ENTRY" TO CALCULATE_^1_(INA_$2_1FIRST PHYSICAL RECORD ADDRESS_^1_(CLR_$Q_0WORD DISPLACEMENT_^1_(RTJ-_#(CLCDWA)_€€)CHANGE SECTOR ADDRESS TO WORD ADDRES_^1_(STQ-_#SST+STEMP_^1_(LDQ-_#ATRB,I_+QA WORD ADDRESS_^1_(STA-_#PREVDA,Q_)L.S.B OF PREVIOUS WORD ADDRESS_^1_(LDA-_#SST+STEMP_^1_(ALS_$8_0M.S.B. OF PREVIOUS ADDRESS_^1_(STA-_#PRVNXT,Q_^1_(LDA-_#BATCH,I_*CHANGE LU TEMP. TO LU OF ENTRY._^1_(STA-_#ATEMP+1,I_^1_(LDQ-_#ATEMP,I_*ATT OF ENTRY STATION_^1_(LDA-_#BATCH,Q_^1_(STA-_#BATCH,I_^1*_]_^1NOT1ST_!€€RTJ-_#(READP)_*FIND FIRST LOGICAL RECORD OF ENTRY_^1_(LDQ-_#ATRB,I_+L.S.B._^1_(LDA-_#PREVDA,Q_^1_(SAM_$1_^1_(JMP*_#NOT1ST_^1_(LDA-_#CURDA+1,I_^1_(EOR-_#ONEBIT+15_^1_(STA-_#NEXTDA,Q_^1_(LDA-_#CURDA,I_^1_(STA-_#PRVNXT,Q_^1_(LDA-_#ATEMP+1,I_(REASSIGN LU TO ORIGINAL VALUE_^1_(STA-_#BATCH,I_^1_(LDA_$=N1344_+UPDATE ATT OF SEV/VER STATION:_^1_(STA-_$AVLTK,I_)NO. WORDS AVAILABLE (14 X 96)_€€^1_(LDA-_$FTOB,I_*NEXT FREE DISK ADDRESS_^1_(INA_%2_^1_(CLR_%Q_^1_(RTJ-_$(CLCDWA)_(QA HAS WORD ADDRESS_^1_(STA-_$NDA+1,I_)L.S.B. OF WORD ADDRESS_^1_(STQ-_$NDA,I_+M.S.B. OF WORD ADDRESS_^1_(ENA_%4_^1_(STA-_$RFA,I_^1_(LDA-_#ONEBIT+8_)SET CMOD TO VERIFY_^1_(STA-_#CMODE,I_^1_(LDA-_#JIDX,I_+ADJUST JIDX_^1_(AND-_#LPMASK+8_^1_(ALS_$8_^1_(STA-_#JIDX,I_^1_(LDA-_#ONEBIT+12_^1_(STA-_#BMOD,I_^€€1_(LDA-_#ONEBIT+15_(SET SEV BIT ON IN SW3_^1_(STA-_$SW3,I_^1_(RTJ-_#(DISP)_+SET DISPLAY MODE TO DATA_^1_(ADC_%SETDIS_^1_(RTJ-_#(EXDFUN)_^1_(JMP+_#EORVR_^1_(EJT_^1************************************************************************_^1*_!SUBROUTINE TO CHECK STATUS OF STATION :_^1*_'STATION IS NOT SUPERVISOR_^1*_'BASIC MODE IS ENTRY_^1*_'SEV SWITCH IS OFF_^1*_'ENTRY STATION IS WOR€€KING ON SAME BATCH AS SEV STATION_^1*_]_^1*_!ON ENTERING: Q= ADDRESS OF ATT_^1* ON RETURN:_^1*_/A=0_!GET NEXT ATT_^1*_/A>0_!STATION IS IN ORDER._^1*_]_^1CHSTAT_!NUM_$0_^1_(LDA-_#(ZERO),Q_)CHECK IF STATION IS SUPERVISOR._^1_(AND-_#ONEBIT+7_^1_(SAN_$NEXT_-YES, GET NEXT ATT_^1*_]_^1CHIDLE_!LDA-_#CMODE,Q_*CHECK IF CURRENT MOD IS IDLE_^1_(AND_$=N$0F00_^1_(SAN_$CHBMOD_+NOT IDLE_^1NEXT_€€#CLR_$A_^1OUT_$JMP*_#(CHSTAT)_^1*_]_^1CHBMOD_!LDA-_#BMOD,Q_+CHECK BASIC MODE IS ENTRY._^1_(ALS_$2_^1_(SAP_$ERRX_^1_(LDA-_#SW3,Q_,CHECK SEV SWITCH IS OFF_^1_(SAM_$ERRX_-SWITCH IS ON, ERROR_^1_(LDA-_#JIDX,Q_+CHECK JOB INDEX IN ENTRY STATION_^1_(ALS_$8_0IS SAME AS IN SEV STATION_^1_(EOR-_#JIDX,I_^1_(AND-_#LPMASK+8_^1ERRX_#SAN_$ERRORX_^1_(LDA-_#BATCH,Q_*CHECK BATCH NUMBER IS SAME IN_^1€_(EOR-_#BATCH,I_*BOTH STATIONS._^1_(AND-_#LPMASK+12_^1_(SAN_$ERRORX_+NOT THE SAME_^1_(ENA_$1_^1_(JMP*_#OUT_.STATION O.K._^1ERRORX_!JMP*_#NEXT_-RETURN TO CALLER_^1*_]_^1*****************************************************************_^1_(EQU_%ESEV(*)_^1_(END_^__PCOPY CSY/ P€1_%NAM COPY_)DECK-ID M26 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1************************************************************_^1* PROGRAM TO COPY RECORDS FROM ENTRY/SEV BATCH TO VERIFY/SEV AREA_^1**********************************************€€**************_^1* TAKES CONTROL BY EORVR WHEN SENSING LR BIT IN TRB_^1*_,OR BY CONT KEY._^1* RECORDS ARE COPIED FROM THE 1ST ENTRY RECORD WHICH WASN'T_^1*_,COPIED IN PREVIOUS PASS OF COPY_^1*_5TILL THE ENTRY RECORD WHICH FORMED THE_^1*_,LAST ENTRY CHECKPOINT, BUT NOT MORE THAN SEVCPY VALUE_^1*_,WHICH IS AN INSTALL PARAMETER_^1*_]_^1* IF COPYING CANT BE EXECUTED-PROGRAM EXITS TO E€€RRORS:_^1*_,B3-ENTRY DIDNOT ADVANCED (NO NEW ENTRY CHECKPOINT)_^1*_/(=WAITING FOR ENTRY)_^1*_,F3-DISK FULL -VERIFY DISK HAS NO SPACE FOR RECORDS_^1*_]_^1*_,F7-BATCH FULL-VERIFY CONSIST 90 TRACKS ALREADY_^1*_]_^1* IF COPYING IS EXECUTE-PROGRAM EXITS TO EORVR PROGRAM AFTER_^1*_(SETTING LR BIT IN NEW LAST RECORD,_^1*_(AND CLEARING LR BIT IN PREVIOUS RECORD_^1*_]_^1_(EXT_$SETNFM_^1_(EX€€T_$SETMOV_^1_(EXT_$EORVRC_^1_(EXT_$LINKTR_^1_(EXT_$SEVCPY_^1_(EXT_$G1TRT_^1*_]_^1** TRANSFER VECTOR_^1*_]_^1_(EQU_$EXDFUN($9F)_^1_(EQU_$WRTATT($AC)_^1_(EQU_$REDWRD($A9)_^1_(EQU_$WRTWRD($AA)_^1_(EQU_$ENTSR($91)_^1_(EQU_$EXTSR($92)_^1_(EQU_$READN($A6)_^1_(EQU_$CAM($AE)_^1_(EQU_$WAIT($B0)_^1_(EQU_$GFCORE($9D)_^1_(EQU_$CLCDWA($90)_^1_(EQU_$RELFOR($AD)_^1*_]_^1** SST_]_^1*_]_^1_(EQU_$SS€€T($47)_^1_(EQU_$CATT(11)_^1_(EQU_$ATTB(10)_^1_(EQU_$ATTLNG(19)_^1_(EQU_$STEMP(20)_^1*_]_^1** ATT_]_^1*_]_^1_(EQU_$ATRB(6)_^1_(EQU_$AVLTK(8)_^1_(EQU_$CURDA(9)_^1_(EQU_$NDA(11)_^1_(EQU_$SW1(19)_^1_(EQU_$SW2(20)_^1_(EQU_$SWITCH(24)_^1_(EQU_$RCD(32)_^1_(EQU_$BATCH(35)_^1_(EQU_$ATEMP(73)_^1_(EQU_$SW3(89)_^1_(EQU_$RCOPY(90)_^1_(EQU_$RCDCKP(90)_^1_(EQU_$SEVLU(91)_^1_(EQU_$SEVTNO(91)_^1_(E€€QU_$LASTE(91)_^1*_]_^1*_]_^1** EQUS FOR TEMP FIELDS-----WHICH ARE AT BEGINNING OF BUFFER_^1*_]_^1_(EQU_$SAVCKP(3)_"NO OF RECS TO BE COPIED IN 1 PASS_^1_(EQU_$ECUR(4)_$ADDR OF NEXT ENTRY RECORD TO BE READ_^1_(EQU_$VN(6)_'ADDR OF ACTUAL VERIFY RECORD_^1_(EQU_$VP(8)_'ADDR. OF PREVIOUS VERIFY RECORD_^1_(EQU_$APREV(10)_"PLACE OF PREVIOUS RECORD_^1_(EQU_$E1BUF(12)_"ADDR OF 1ST PHISICAL E€€NTRY RECORD IN BUF_^1_(EQU_$BUFBAS(14)_!DISPL OF LOGICAL BEGINNING OF BUF_^1_(EQU_$BUFDSP(15)_!DISPL FROM 'BUFBAS' OF ACTUAL REC IN BUF_^1_(EQU_$SWCOPY(16)_!B15(ZNEFL)=VALUE OF SW3/B9 WHEN EXIT COPY_^1*_=B1-B0(INDPRV)=PLACE OF PREVIOUS_^1*_=RECORD (DISK,BUF,TRB)_^1_(EQU_$BTEMP1(17)_!TEMP (FOR SAVING ACTUAL RECORD LENGTH)_^1_(EQU_$BTEMP2(18)_!TEMP_^1_(EQU_$TSTART(SAVCKP),TEND(BTEMP2€€)_^1_(EQU_$HDRL(3)_^1_(EQU_$TEMPL(TEND-TSTART+1)_^1*_]_^1** CONTROL OF CORE TAKEN FOR BUFFER_^1*_]_^1_(EQU_$MAXBUF(1536)_#MAX BUFFER LENGTH_^1_(EQU_$STEP(200)_'DECREMENT OF BUF LENGTH-IF NO CORE_^1*_]_^1*_]_^1** LOW CORE_^1*_]_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EJT_^1HDR_$VFD_$N5/$18,X11/ECOPY-*_^1_(VFD_$N10/16,N6/1_%TIME CONTROL -16 UNITS_^1_(NUM_$€€0,0_^1_(ADC_$COPY-HDR_^1COPY_#RTJ+_#SETMOV_^1***************** 1.-4.****************************************_^1*****************_#FIND NO. OF RECORDS TO BE COPIED ********_^1*****************_%SAVE IT IN ATEMP+4_,********_^1************************************************************_^1_(LDQ_$=XSEVCPY_)SAVE SEVCPY IN RESULT WORD_^1_(STQ-_#ATEMP+4,I_^1_(LDA-_#SW3,I_,CHECK IF ENTRY/E€€OB_^1_(AND-_#ONEBIT+14_^1_(SAZ_$ENTACT_^1*-----------------_%ENTRY/EOB -CHOOSE BETWEEN-SEVCPY;RCOPY_^1_(LDA-_#RCOPY,I_*RCOPY IS NO. OF RECS TILL ENT/LR_^1_(SAN_$2_^1_(JMP_$NORML1_%ENT/EOB+0 RECS TO COPY_^1*_=-EXIT TO SETNFM VIA EORVR % READN_^1_(TCA_$A_7(CHANGE SIGN TO +)_^1_(SUB-_#ATEMP+4,I_(COMPARE RCOPY:SEVCPY_^1_(SAM_$1_^1_(JMP*_#CHSIGN_+**SEVCPY.LT.RECOPY-TAKE SEVCPY_^1_(LDA-_€€#RCOPY,I_*RCOPY.LE.SEVCPY-TAKE RCOPY_^1_(TCA_$A_^1_(STA-_#ATEMP+4,I_^1_(JMP*_#CHSIGN_^1*---------------- NOT-ENTRY/EOB,CHOOSE BETWEEN:SEVCPY;RCDCKP(ENT)-RCOPY_^1ENTACT_!LDA-_#SEVTNO,I_^1_(ARS_$8_0CALCULATE ENTRY/ATT ADDR_^1_(AND-_#LPMASK+6_^1_(MUI-_#SST+ATTLNG_^1_(ADD-_#SST+ATTB_^1_(TRA_$Q_^1*_]_^1_(LDA-_#RCDCKP,Q_)CALCULATE NO.OF RECS TILL ENT/CHKP_^1_(SUB-_#RCOPY,I_*=RCDCKP-RCOPY€€_^1_(SAN_$2_^1_(JMP_$UNORM1_+NO RECORDS-EOD ERR_^1*_]_^1_(SUB-_#ATEMP+4,I_(COMPARE RCDCKP-RCOPY:SEVCPY_^1_(SAP_$CHSIGN_+SEVCPY.LT.RCDCKP-RCOPY,TAKE SEVCPY_^1_(ADD-_#ATEMP+4,I_^1_(STA-_#ATEMP+4,I_(RCDCKP-RCOPY.LT.SEVCPY_^1*_KTAKE RCDCKP-RCOPY_^1CHSIGN_!LDA-_#ATEMP+4,I_(ATEMP+4 CONTAINS NO. OR RECORDS TO_^1_(TCA_$A_^1_(STA-_#ATEMP+4,I_^1***************** 5. **************************€€********************_^1****************** DEFINE ADDR.OF 1ST ENTRY RCORD TO BE COPIED*****_^1************************************************************_^1DEF1ST_!LDA-_#SW3,I_,CHECK SW3/NEFL_^1_(AND-_#ONEBIT+9_^1_(SAN_$ONDISK_^1_(JMP*_#ONTRB_^1*-------- IF SW3/B9(NEFL)=1 ADDR IS ON DISK-IN NXTDA OF LAST_^1*_3ENTRY BATCH RECORD WHICH WAS COPIED ALREDY_^1_(RTJ-_#(REDWRD)_)*CONSTANT€€_^1*_]_^1ONDISK_!LDA*_#*-1_^1_(STA_$RWFUN_^1_(LDA-_#SEVLU,I_^1_(ALS_$2_^1_(LDQ_$=XLASTE,I_^1_(RTJ_$RWNEXT_^1_(JMP*_#GETBUF_^1*--------- IF SW3/B9(NEFL)=0 ADDR IS ALREADY IN TRB/NXTDA_^1*_5NO READING IS REQUIRES_^1*_]_^1ONTRB_"LDQ-_#ATRB,I_+SAVE TRB/N IN ATEMP+2,+3_^1_(LDA-_#5,Q_^1_(STA-_#ATEMP+2,I_^1_(LDA-_#6,Q_^1_(STA-_#ATEMP+3,I_^1*_]_^1GETBUF_!ENQ_$99_/GET 99 WORDS BUF BEFORE GE€€TTING_^1_(RTJ-_#(CAM)_-COPY BUFFER, % RELEASE IT_^1_(SAZ_$2_1AFTERWARDS-IN ORDER TO MAKE_^1_(RTJ-_#(WAIT)_^1_(JMP*_#GETBUF_,SURE THAT LINKTR WILL BE ABLE_^1_(STQ-_#ATEMP,I_+TO GET ITS 99 WORDS BUFF_^1_(LDA_$=XATEMP,I_^1_(STA-_#(ZERO),Q_^1******************* 6. ****************************************_^1******************* GET BUFFER IN CORE - FOR TEMPORARIES(20 WORDS),_^1*_7% FOR S€€PACE TO READ ENTRY DATA INTO_^1*_2GET BUFFER OF 1 TRACK LENGTH, AND IF NOT_^1*_7EXIST-REDUCE AMOUNT BY 200 WORDS_^1*_7TILL MAX REC LENGTH IN LJD_^1*_]_^1************************************************************_^1_(LDA_$=XMAXBUF+STEP_#SAVE MAX BUF LENGTH_^1_(STA-_#ATEMP+1,I_^1*_]_^1_(LDQ-_#ATRB,I_+SAVE MIN BUF LENGTH_^1_(LDA-_#1,Q_0(=TRB LENGTH-HDR LNGTH)_^1_(INA_$-2_^1_(LDQ-_#A€€TEMP,I_^1_(STA-_#3,Q_^1_(JMP*_#REDUCE_^1*------------ TRY TO GET CORE_^1TRYCAM_!LDQ-_#ATEMP+1,I_(LENGTH OF CORE FOR ENT DATA_^1_(INQ_$TEMPL+HDRL_'+TEMPS LNGTH+HDR LNGTH_^1_(RTJ-_#(CAM)_^1_(SAN_$1_^1_(JMP*_#CAMOK_,EXIST REQUSTED BUF_^1*_]_^1_(LDQ-_#ATEMP,I_^1_(LDA-_#ATEMP+1,I_(IS REQ BUF WAS ALREADY THE_^1_(SUB-_#3,Q_0MINIMUM BUF(MAX REC LENGTH)?_^1_(SAZ_$1_^1_(SAP_$REDUCE_+NO-_^1_(€€RTJ-_#(WAIT)_+YES-WAIT UNTIL CORE AVAIL_^1_(JMP*_#TRYCAM_^1*------------- REDUCE REQUEST FOR CORE_^1REDUCE_!LDA-_#ATEMP+1,I_^1_(SUB_$=XSTEP_^1_(STA-_#ATEMP+1,I_^1_(SUB-_#3,Q_.CHECK IF LESS THAN MAX REC LNGTH_^1_(SAP_$TRYC_^1_(LDA-_#3,Q_.YES-REQUEST EXACTLY MAX REC LNGTH_^1_(STA-_#ATEMP+1,I_^1TRYC_#JMP*_#TRYCAM_^1*------------- EXIST CORE FOR BUFF:_^1CAMOK_"STQ-_#ATEMP+1,I_(SAVE BKW€€ARDS POINTER TEMPORARILY_^1_(LDQ-_#ATEMP,I_^1_(RTJ-_#(RELFOR)_)RELEASE TEMP BUF FOR LINKTR_^1*_]_^1_(LDQ-_#ATEMP+1,I_^1_(STQ-_#ATEMP,I_*FIX BACKWARDS POINTER_^1_(LDA_$=XATEMP,I_^1_(STA-_#(ZERO),Q_^1_(INQ_$3_^1_(STQ-_#SST+STEMP_(CLEAN TEMPS IN BUFF_^1_(ENQ_$TEMPL-1_^1_(CLR_$A_^1UP_%STA-_#(SST+STEMP),Q_^1_(SQZ_$OUT_^1_(INQ_$-1_^1_(JMP*_#UP_^1OUT_$LDQ-_#ATEMP,I_^1****************** 7.€€ **************************************_^1****************** DEFINE INIT VALUES TO FIELDS OF LOOP ****_^1************************************************************_^1_(LDA-_#ATEMP+2,I_(ECUR=CURRENT ENTRY RECORD_^1_(AND-_#ZROBIT+15_^1_(STA-_#ECUR+1,Q_-ADDR TO BE READ_^1_(LDA-_#ATEMP+3,I_^1_(AND-_#LPMASK+8_^1_(STA-_#ECUR,Q_^1*_]_^1_(LDA-_#ATEMP+4,I_(SAVCKP=MAX NO. OF ENTRY_^1_(STA-€€_#SAVCKP,Q_/RECORDS TO BE COPIED_^1*_]_^1_(LDA-_#NDA,I_,VN=VERIFY BATCH ADDR TO_^1_(STA-_#VN,Q_0UPDATE NEXT DA OF_^1_(LDA-_#NDA+1,I_-PREVIOUS RECORD_^1_(STA-_#VN+1,Q_^1*_]_^1_(LDA-_#CURDA,I_*VP=VERIFY BATCH ADDR. TO_^1_(ALS_$8_^1_(STA-_#VP,Q_0UPDATE PREVIOUS DA_^1_(LDA-_#CURDA+1,I_+OF CURRENT RECORD_^1_(STA-_#VP+1,Q_^1*_]_^1_(ENA_$3_0SWSEV(2-LSB)=3 INDICATES_^1_(STA-_#SWCOPY,Q_/THA€€T PREV RECORD IS TRB_^1***************** 8. ***************************************_^1***************** HERE STARTS THE READ LOOP INTO BUFFER ****_^1*_!BEFORE ACTUAL READ-DEFINE VALUE OF NEFL(SW3/B9)-IF_^1*_!NORMAL EXIT FROM COPY OCCURS._^1*_!IF ENTRY WROTE RECORDS MORE THAN COPY IS PERMITTED TO READ_^1*_$THEN SW3/B9 WILL BE 0 WHEN NORMAL EXIT FROM COPY OCCURS_^1*******************€€*****************************************_^1*_B* -- I=ATT ADDR --*_^1*_B*-- Q=BUF ADDR.--*_^1LOOPRD_!LDA-_#SW3,I_,CHECK IF ENT/EOB_^1_(AND-_#ONEBIT+14_^1_(SAZ_$NOTEOB_^1_(JMP*_#NEFLOF_^1*_]_^1NOTEOB_!LDA-_#SAVCKP,Q_)NO-CALCULATE/SAVCKP/+RCOPY_^1_(TCA_$A_^1*_]_^1_(ADD-_#RCOPY,I_^1_(STA-_#SST+STEMP_^1*_]_^1_(LDA-_#SEVTNO,I_)GET RCD FROM ENTRY/ATT_^1_(ALS_$8_^1_(AND-_#LPMASK+6_^1_(MUI€€-_#SST+ATTLNG_^1_(ADD-_#SST+ATTB_^1_(TRA_$Q_^1_(LDA-_#RCD,Q_^1_(LDQ-_#ATEMP,I_*RESTORE Q_^1_(SUB-_#SST+STEMP_(COMPARE:RCD % RCOPY+/SAVCKP/_^1_(SAN_$NEFLOF_+RCD NOT EQUAL (GREATER)_^1_(JMP*_#NEFLON_,RCD EQUAL_^1*_]_^1NEFLOF_!LDA-_#SWCOPY,Q_)CLEAR TEMP BIT FOR SW3/B9_^1_(AND-_#LPMASK+15_^1_(JMP*_#TOREAD_^1*_]_^1NEFLON_!LDA-_#SWCOPY,Q_)SET TEMP BIT FOR SW3/B9_^1_(AND-_#LPMASK+15_^1_(E€€OR-_#ONEBIT+15_^1TOREAD_!STA-_#SWCOPY,Q_^1***************** 9. ***************************************_^1***************** READ INTO BUFFER *************************_^1************************************************************_^1*_]_^1READ_#LDA-_#1,Q_.SET I/O BIT_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1*_**** BACK TO EXIT POINT IN-_^1_(JMP-_#(EXTSR)_+EORVR_^1*------------ THIS PASS OF COPY-PROCESD 1ST LOGICAL ENTRY RECORD_^1*_%(COPY PROGRAM WAS INITIALIZED BY-SEV FUNC,OR BY-CORKEY/DEL)_^1FIRST_"RTJ-_#(READN)_*READ AGAIN 1ST COPIED REC_^1*_B(=1ST REC OF VER/BATCH)_^1_(LDA-_#SW2,I_^1_(AND-_#ZROBIT+3_)CLEAR MONITOR OVR BIT_^1_(STA-_#SW2,I_^1_(SET_$A_€€0SWITCH TO DISPLAY FROM VMM1_^1_(STA-_#SWITCH,I_^1_(LDQ-_#ATRB,I_^1_(LDA-_#7,Q_^1_(AND-_#LPMASK+13_^1_(TRA_$Q_^1_(RTJ-_#(GFCORE)_^1_(RTJ-_#(WRTATT)_^1*_]_^1_(RTJ-_#(EXDFUN)_)RELEASE COPY_^1_(SET_$A_0INDICATE EORVR TO GET CORE_^1_(STA-_#ATEMP+2,I_)FOR AUTO DUP_^1*_:**** BACK TO EORVR PROGRAM_^1_(JMP_$EORVRC_^1***************** 19. **************************************_^1*----------€€------ PROCESSED RECORD IN BUFFER-CANNOT ENTER VER/TRACK_^1* TRY TO FIND NEW TRACK FOR VER/SEV_^1************************************************************_^1GETTRK_!RTJ_$G1TRT_,TRY TO GET TRACK_^1_(SAN_$CHK90_^1*_]_^1_(LDA-_#SW3,I_,NO TRACK AVAILABLE_^1_(AND-_#ZROBIT+12_)-SET SW3/B12 DISK FULL_^1_(EOR-_#ONEBIT+12_^1_(JMP*_#TOEX_^1*_]_^1CHK90_"RTJ_$LINKTR_^1_(TCA_$A_^1_(SAN_$TRK€€OK_^1_(LDA-_#SW3,I_,BATCH CONSIST 90 TRACKS_^1_(AND-_#ZROBIT+10_)-SET SW3/B10 BATCH FULL_^1_(EOR-_#ONEBIT+10_^1TOEX_#STA-_#SW3,I_^1_(JMP*_#CHKEX_^1*------------------ EXIST TRACK THAT CAN BE LINKED_^1TRKOK_"LDA-_#ATEMP+1,I_(CALC WORD ADDR OF NEW TRACK_^1_(CLR_$Q_^1_(RTJ-_#(CLCDWA)_^1_(STQ-_#ATEMP+1,I_^1_(LDQ-_#ATEMP,I_^1_(STA-_#VN+1,Q_+VN=WORD ADDR OF NEW TRACK_^1_(LDA-_#ATEMP+1,I_€€^1_(STA-_#VN,Q_^1_(LDA_$=N1536_+AVLTK=1536_^1_(STA-_#AVLTK,I_^1_(LDA-_#BUFDSP,Q_)IS THIS REC IS 1ST IN BUF?_^1_(SAZ_$1_^1_(JMP*_#TOWCMP_^1_(LDA-_#VN,Q_-YES - UPDATE NDA=VN_^1_(STA-_#NDA,I_^1_(LDA-_#VN+1,Q_^1_(STA-_#NDA+1,I_^1_(STA-_#ATEMP+2,I_^1_(LDA-_#SWCOPY,Q_^1_(AND-_#LPMASK+2_^1_(SAN_$TOUPDN_^1_(LDA-_#APREV,Q_^1_(AND-_#NZERO+8_^1_(EOR-_#NDA,I_^1_(STA-_#ATEMP+3,I_^1_(LDA*_#RTJWR€€T_^1_(STA_$RWFUN_^1_(LDA-_#BATCH,I_^1_(ALS_$4_^1_(LDQ_$=XAPREV,Q_^1_(RTJ_$RWNEXT_^1TOUPDN_!JMP_$UPDNXT_+RETURN_^1TOWCMP_!RTJ*_#WCOMP_,WRITE COMPLETED RECORDS_^1*_]_^1_(LDA-_#BUFDSP,Q_)UPDATE BUFBAS_^1_(ADD-_#BUFBAS,Q_^1_(STA-_#BUFBAS,Q_^1*_]_^1_(CLR_$A_^1_(STA-_#BUFDSP,Q_)UPDATE BUFDSP_^1_(JMP_$UPDNXT_+CONTINUE_^1*------------ CHECK IF TO EXIT NORMALLY(CONTINUE VERIFY)_^1*_5OR EXIT€€ ABNORMALLY(TO ERROR)_^1CHKEX_"LDQ-_#ATEMP,I_^1_(LDA-_#BUFDSP,Q_)DOES BUFFER CONTAIN COMPLETE_^1_(SAZ_$1_2RECORDS ?_^1_(JMP*_#EXNOR2_+YES_^1*_]_^1_(LDA-_#SWCOPY,Q_)NO- IS PREV REC IS TRB ?_^1_(AND-_#LPMASK+2_^1_(EOR-_#LPMASK+2_^1_(SAN_$EXNOR1_1NO-_^1*_>***YES-EXIT ABNORMALLY SINCE_^1_(JMP*_#UNORML_/NO RECORD WAS COPIED_^1RTJWRT_!RTJ-_#(WRTWRD)_)CONSTANT_^1*------------ RECRODS WERE€€ COPIED ; LAST COPIED-ON DISK_^1EXNOR1_!LDA-_#APREV,Q_*UPDATE NEXTDA OF LAST COPIED_^1_(AND-_#NZERO+8_*RECORD-TO POINT NEXT ENTRY_^1_(EOR-_#ECUR,Q_+RECORD TO BE COPIED IN NEXT_^1_(STA-_#ATEMP+3,I_(COPY PASS_^1_(LDA-_#ECUR+1,Q_^1_(AND-_#ZROBIT+15_(SET LR BIT_^1_(EOR-_#ONEBIT+15_^1_(STA-_#ATEMP+2,I_^1*_]_^1_(LDA*_#RTJWRT_^1_(STA*_#RWFUN_^1_(LDA-_#BATCH,I_^1_(ALS_$4_^1_(LDQ_$=XAPREV,Q€€_^1_(RTJ*_#RWNEXT_^1*_]_^1_(JMP*_#EXNOR_^1*------------ WRITE COMPLETED RECORDS,% EXIT NORMALLY_^1EXNOR2_!LDA-_#APREV+1,Q_^1_(RTJ_$IEQREC_+*--I=AREV REC ADDR--*_^1*_]_^1_(LDA-_#2,I_.SET LR BIT_^1_(AND-_#ZROBIT+15_^1_(EOR-_#ONEBIT+15_^1_(STA-_#2,I_^1*_]_^1_(RTJ_$IEQATT_+*--I=ATT ADDR --*_^1_(RTJ*_#WRITEB_+** WRITE COMPLETED RECORDS_^1EXNOR_"LDA-_#SW3,I_,CLEAR BITS :B12(DISK FULL)_^1€€_(AND_$=N$E9FF_5B10 (BATCH FULL)_^1_(STA-_#SW3,I_7B9(NEFL)_^1_(JMP_$NORMAL_^1*------------ ABNORMAL EXIT FROM COPY-NO RECORDS WERE COPIED_^1*_]_^1UNORML_!RTJ-_#(RELFOR)_)RELEASE BUFFER_^1UNORM1_!LDA-_#SW3,I_,SET SW3/B13(EOD)_^1_(AND-_#ZROBIT+13_^1_(EOR-_#ONEBIT+13_^1_(STA-_#SW3,I_^1_(RTJ-_#(EXDFUN)_)RELEASE COPY_^1_(JMP_$SETNFM_+-NFM SITUATION_^1_(EJT_^1**************** WCOMP SUBRO€€UTINE *************************_^1**************** TO INITILIZE WRITING COMPLETED RECORDS FROM_^1*_.BUFFER, BEFORE CONTINUE ANALIZING SAME BUFFER_^1WCOMP_"NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(LDA-_#APREV+1,Q_^1_(RTJ_$IEQREC_+*-- I=LAST COMPL RECORD IN BUF--*_^1_(LDA-_#SWCOPY,Q_(SWCOPY/B0,B1(INDPRV)=00_^1_(AND-_#NZERO+2_,(=LAST WRITEN REC NXTDA_^1_(STA-_#SWCOPY,Q_-IS ALREADY UPDATED)_^1*_€€]_^1_(LDA-_#VN+1,Q_+NXTDA OF LAST WRITEN REC=_^1_(STA-_#2,I_5=VN_^1_(LDA-_#3,I_^1_(AND-_#NZERO+8_^1_(EOR-_#VN,Q_^1_(STA-_#3,I_^1*_]_^1_(AND-_#NZERO+8_*APREV=_^1_(ALS_$8_024 L.S.B=VP(ADR OF LAST_^1*_BWRITTEN RECORD)_^1_(EOR-_#VP,Q_08 M.S.B=SAVE OF 8M.S.B_^1_(ALS_$8_;OF PRVDA_^1_(STA-_#APREV,Q_^1_(LDA-_#VP+1,Q_^1_(STA-_#APREV+1,Q_^1*_]_^1_(RTJ_$IEQATT_+*--I=ATT ADDR--*_^1_(RTJ_$SETM€€OV_^1_(LDQ-_#ATEMP,I_^1_(RTJ*_#WRITEB_^1_(JMP-_#(EXTSR)_^1****************** SUBROUTINE TO WRITE COMPLETED RECORDS_^1*_5FROM BUFFER-INTO VERIFY BATCH_^1WRITEB_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(LDA-_#BUFDSP,Q_^1_(STA*_#WLNGTH_+LENGTH IS BUFDSP_^1*_]_^1_(LDA-_#BUFBAS,Q_)WRITE FROM BUFBAS_^1_(AAQ_$A_^1_(STA*_#WCORE_^1*_]_^1_(LDA-_#NDA,I_,INTO (NDA)_^1_(STA*_#WDISK_^1_(LDA-_#NDA+1,I_^1_(ST€€A*_#WDISK+1_^1*_]_^1_(LDA-_#BATCH,I_*LU_^1_(ALS_$4_^1_(AND-_#LPMASK+2_^1_(STA*_#WLU_^1*_]_^1_(LDA-_#1,Q_^1_(EOR-_#ONEBIT+15_^1_(STA-_#1,Q_^1_(RTJ_$SETMOV_^1_(RTJ-_#(WRTWRD)_^1WCORE_"NUM_$0_^1WDISK_"NUM_$0,0_^1WLNGTH_!NUM_$0_^1WLU_$NUM_$0_^1*_]_^1_(LDQ-_#ATEMP,I_*RESTORE Q_^1_(LDA-_#1,Q_^1_(AND-_#ZROBIT+15_^1_(STA-_#1,Q_^1*_]_^1_(LDA-_#VN,Q_-UPDATE NDA (=VN)_^1_(STA-_#NDA,I_^1_(LDA-€€_#VN+1,Q_^1_(STA-_#NDA+1,I_^1_(JMP-_#(EXTSR)_^1****************** SUBROUTINE TO READ NXTDA FROM ENTRY BATCH_^1*_3OR TO WRITE NXTDA ON VERIFY BATCH_^1RWNEXT_!NUM_$0_^1_(RTJ-_#(ENTSR)_^1_(AND-_#LPMASK+2_^1_(STA*_#RWLU_^1_(LDA_$=XATEMP+2,I_^1_(STA*_#RWCORE_^1_(SOV_$0_^1_(LDA-_#1,Q_^1_(INA_$2_^1_(AND-_#ZROBIT+15_^1_(STA*_#RWDISK+1_^1_(LDA-_#(ZERO),Q_^1_(AND-_#LPMASK+8_^1_(SNO_$1_^1_(IN€ΆA_$1_^1_(STA*_#RWDISK_^1_(RTJ_$SETMOV_^1RWFUN_"NUM_$0_^1RWCORE_!NUM_$0_^1RWDISK_!NUM_$0,0_^1_(NUM_$2_^1RWLU_#NUM_$0_^1_(LDQ-_#ATEMP,I_^1_(JMP-_#(EXTSR)_^1_(EQU_$ECOPY(*)_^1_(END_^__ ΆPCON481 CSY/ P€1_%NAM CON481_'DECK-ID A49 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_!THIS PROGRAM IS AN ADAPTATION OF CONTTY TO SUPPORT_,RV000_^1*_!THE 970-481 TERMINAL_JRV000_^1_(ENT_$CONTTY,CONTTN_^1* ON ENTRY ATEMP,I CAONTAINS THE CODE ENTERED_^1* THIS L€€OCATION (ATEMP) MUST REMAIN THE CODE ENTERED_^1* ON EXIT CURCH,I CONTAINS THE CHAR AFTER CONVERTION_^1*_'Q= 0 WHEN THE KEY ENTERED IS A FUNCTION_^1*_'Q NOT=0 WHEN THE KEY ENTERED IS A CHAR_^1*_]_^1_(EQU_$LPMASK(2),NZERO($12),ZERO($22),ONEBIT($23),ZROBIT($33)_^1_(EQU_$SST($47),STEMP(20)_^1_(EQU_$ATEMP(73)_^1_(EQU_$CMODE(2),CURCH(2)_^1_(EQU_$DISPCH($EA)_^1_(EQU_$ERROR($96)_^1_(EQU_$C€€PP($1A)_^1_(EQU_$RES($67),DSPKEY($73)_^1*_]_^1CONTTY_!NUM_$0_^1*_]_^1*_]_^1*_]_^1_(EQU_$CONTTN(CONTTY)_^1*_]_^1*_]_^1*_]_^1_(ENQ_$$0067_^1_(LDA-_#(I)_^1_(AND-_#ONEBIT+9_^1_(SAZ_$2_^1_(LDQ_$=N$6667_^1_(STQ_$I6667_^1_(LDQ-_#ATEMP,I_^1_)SQN_%1_2N=I/P KEY CODE NE 0_^1_)JMP-_$(DISPCH)_^1_)INQ_%-1_^1_)SQN_%2_2N=I/P KEY CODE NE 1_^1_)ENA_%$67_0CODE FOR RESET FUNCTION_^1_)JMP*_$SAVE_^1_)IN€€Q_%-7_^1_)SQN_%2_2N=KEY CODE NE 08_^1_)ENA_%$30_0ASCII CODE FOR NUM. 0_^1_)JMP*_$SAVE_^1_)INQ_%-$E_^1_(SQM_$NOCON_^1_(CLR_$A_^1_(LRS_$1_^1_(EOR*_#MTA,Q_^1_(SAM_$1_^1_(ALS_$8_^1_(AND-_#LPMASK+7_^1_(SAN_$1_^1_(JMP-_#(DISPCH)_^1SAVE_$STA-_$SST+STEMP_^1NOCON_"LDA-_#(I)_^1_(AND-_#ONEBIT+11_^1_(SQP_$CTTY2_^1_(SAZ_$1_0IF ERR LOCK DON'T DISPLAY PARITY_^1_(JMP-_#(DISPCH)_)ERROR_^1_(LDA-_#CM€€ODE,I_^1_(SAM_$JUMP_^1_(AND_$=N$F00_^1_(SAZ_$JUMP_^1_(ENQ_$CPP_^1_(JMP-_#(ERROR)_^1JUMP_#CLR_$A_^1_(STA-_#SST+STEMP_^1CTTY2_"SAZ_$CTTY3_^1_(LDA-_#SST+STEMP_^1_(INA_$-RES_^1_(SAZ_$CTTY3_^1_(INA_$RES-DSPKEY_^1_(SAZ_$CTTY3_^1_(JMP-_#(DISPCH)_^1CTTY3_"LDA-_#CURCH,I_^1_(AND-_#NZERO+8_^1_(EOR-_#SST+STEMP_^1_(STA-_#CURCH,I_^1_(AND-_#LPMASK+8_^1_(TRA_$Q_^1_(INA_$-$21_^1_(SAM_$FUN_^1_(INA_$€€$21-$60_^1_(SAM_$1_^1FUN_$CLR_$Q_^1_(JMP*_#(CONTTY)_^1MTA_%NUM_%$7525_.CONT , (_^1I1819_"NUM_$$232A_,# , *_^1I1A1B_#NUM_%$365E_.6 , CIRCUMFLEX_^1I1C1D_#NUM_%$3726_.7 , +_^1I1E1F_#NUM_%$3121_.1 , !_^1I2021_#NUM_%$2000_0, UNUSED_^1I2223_#NUM_%$2740_.' , '_^1I2425_"NUM_$$2433_,$ , 3_^1I2627_#NUM_%$2B00_.+ , UNUSED_^1I2829_#NUM_%$0000_.UNUSED , UNUSED_^1I2A2B_#NUM_%$3400_.4 , UNUSED_^1€€I2C2D_#NUM_%$2C38_., , 8_^1I2E2F_"NUM_$$2E39_,. , 9_^1I3031_#NUM_%$2800_.( , UNUSED_^1I3233_#NUM_%$0000_.UNUSED , UNUSED_^1I3435_#NUM_%$0000_.UNUSED , UNUSED_^1I3637_#NUM_%$0000_.UNUSED , UNUSED_^1I3839_#NUM_%$3C3E_.), _ _^1I3A3B_#NUM_%$3A3B_.%_!;_^1I3C3D_#NUM_%$3522_.5 , "_^1I3E3F_#NUM_%$0000_.UNUSED , UNUSED_^1I4041_"NUM_$$3241_,2 , A_^1I4243_"NUM_$$4243_,B , C_^1I4445_"NUM_$$44€€45_,D , E_^1I4647_"NUM_$$4647_,F , G_^1I4849_"NUM_$$4849_,H, I_^1I4A4B_"NUM_$$4A4B_,J , K_^1I4C4D_"NUM_$$4C4D_,L , M_^1I4E4F_"NUM_$$4E4F_,N , O_^1I5051_"NUM_$$5051_,P , Q_^1I5253_"NUM_$$5253_,R , S_^1I5455_"NUM_$$5455_,T , U_^1I5657_"NUM_$$5657_,V , W_^1I5859_"NUM_$$5859_,X , Y_^1I5A5B_#NUM_%$5A00_.Z , UNUSED_^1I5C5D_#NUM_%$0000_.UNUSED , UNUSED_^1I5E5F_#NUM_%$3D5F_.= , -_^1I6061_"€€NUM_$$2F3F_,/ , ?_^1I6263_"NUM_$$1C6F_,DUP ,REL_^1I6465 NUM $1A65_(BSC,ESB_=*SPE005_^1I6667_"NUM_$$0067_,(66-IS USED ONLY ON CONTTN), RESET_^1I6869_"NUM_$$6869_,SKIP, BSR_^1I6A6B_"NUM_$$6A6D_,BOR, FMT BCK_^1I6C6D_"NUM_$$6E29_,FMT ADV , )_^1I6E6F_"NUM_$$302D_,0 , -_^1I7071_"NUM_$$7071_,DOC BCK, DOC ADV_^1I7273_"NUM_$$7273_,BSF, DISP_^1I7475 NUM $7478_(REP FLD , INS_'*** VLINP **€Ϊ*_"P1*H0017_^1I7677 NUM $7677_(CNCL , MLT DUP SKIP *** VLINP ***_"P1*H0017_^1I7879_#NUM_%$7579_.CONT , DLT_^1I7A7B_"NUM_$$7A7B_,ERR OVR, FSL_^1I7C7D NUM $7C7D_(COR,RETURN_^1I7E7F_"NUM_$$7E7F_,READ, INT_^1_(END_^__ΪPCYBMIN CSY/ P€1_%NAM CYBMIN_'DECK-ID A05 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_%SPC 2_^1*_$MANUAL INTERRUPT RESPONSE HANDLER FOR_^1*_$CYBERDATA COMMANDS.....SX,VX,SP,CX..._^1*_$CYBMIN WILL RETURN TO MINT (VIA USRMIN) IF CYBERDATA_^1*_$IS NOT ACTIVE OR €€IF THE COMMAND SO NEEDS_^1*_]_^1*_$SMALL SYSTEMS DEPARTMENT CONTROL DATA HOLLAND_^1*_]_^1_%ENT CYBMIN_^1_%EXT CMFLG_(BISYNC ACTIVE FLAG_^1_%EXT_"MIBVL,MIINP,MIB_^1_%EQU_"LPMASK($2),NZERO($12),ONEBIT($23),ZROBIT($33)_^1_%EQU_"DISP($EA)_^1_%EQU_"SV($B1),SST($47)_^1_%EQU_"ATTL(19),ATTB(10),FRPLL(6),TRMNT(23)_^1_%EQU_"RQ(65),T(2)_^1_%EQU_"SLOCK(1)_^1*_]_^1*_]_^1CYBMIN NUM 0_^1_%LDA+€€ CMFLG_^1_%SAM NOTCX_^1_%SAZ NOTCX_^1_%LDA+ MIINP_^1_%EOR =ACX_^1_%SAN NOTCX_^1_%SET A_^1_%STA+ CMFLG_^1_%JMP* OUT_^1NOTCX LDA+_!MIBVL_^1_%SAN_"CYB010_$CONTINUE IF CYBERDATA IS ACTIVE_^1_%JMP* (CYBMIN)_$ELSE GO BACK TO CALLER_^1*_]_^1CYB010 ENQ CYBLEN-1_$SETUP TABLE-LENGTH_^1CYB020 LDA*_!CYBTBL,Q_^1_%EOR+_!MIINP_^1_%SAZ_"CYB030_$SKIP FOR A MATCH_^1_%SQZ_"CYB040_$SKIP FOR END€€-OF-TABLE_^1_%INQ_"-1_^1_%JMP*_!CYB020_$GO BACK FOR A NEW TABLE ENTRY_^1CYB030 LDA-_!SST+ATTB_"SET I TO FIRST ATT_^1_%STA-_!I_^1_%JMP*_!CYBVEC,Q_"JUMP TO PROCESSOR THRU VECTOR-TABLE_^1CYB040 JMP* (CYBMIN)_$GO BACK TO CALLER_^1*_]_^1CYBTBL ALF_"1,SP_'CYBERDATA SP-COMMAND_^1_%ALF_"1,VX_'CYBERDATA VX-COMMAND_^1_%ALF_"1,SX_'CYBERDATA SX-COMMAND_^1CYBLEN EQU_"CYBLEN(*-CYBTBL) TABLE LEN€€GTH_^1*_]_^1CYBVEC JMP*_!CYB060_$SP_^1_%JMP*_!CYB080_$VX_^1_%JMP*_!CYB150_$SX_^1*_]_^1CYB050 NUM_"0_*SUBROUTINE TO CLEAR FLAG_^1_%ENA 0_^1_%STA+_!MIB_^1_%JMP*_!(CYB050)_^1*_]_^1*_$SP WAS ENTERRED : SCHEDULE SUPERVISOR AT LEVEL 5_^1*_]_^1CYB060 SCHDLE CYB070,5,,1_^1_%JMP-_!(DISP)_^1CYB070 RTJ*_!CYB050_$CLEAR MIB-FLAG_^1_%LDA- SST+ATTB_$GET ATT OF FIRST TERMINAL_^1_%STA- I_,STORE AT€€T ADDRESS OF FIRST TERMINAL_^1_%JMP-_!(SV)_'JUMP INTO SUPERVISORY MODE_^1*_]_^1*_$VX WAS ENTERRED : RELEASE CYBERDATA CORE_^1*_]_^1CYB080 SCHDLE CYB090,3,,1_^1_%JMP-_!(DISP)_^1CYB090 LDA-_!SST+ATTB_^1_%STA-_!I_*STORE ATT-ADDRESS OF FIRST TERM_^1_%LDA-_!SST+SLOCK_^1_%AND-_!ZROBIT+15_!SET TOTAL SYSTEM LOCK_^1_%EOR-_!ONEBIT+15_^1_%STA-_!SST+SLOCK_^1_%AND-_!LPMASK+6_^1_%TRA_"Q_^1*_]_^1€€CYB100 LDA-_!RQ+T,I_$WAIT FOR I/O COMPLETION_^1_%SAZ_"CYB110_^1_%JMP*_!CYB100_^1*_]_^1CYB110 LDA-_!I_^1_%ADD-_!SST+ATTL_^1_%STA-_!I_^1_%INQ_"-1_^1_%SQM_"CYB120_^1_%JMP*_!CYB100_^1*_]_^1CYB120 LDA-_!SST+FRPLL_!GET CORE ADDRESS OF FRP-BUFFER_^1_%STA*_!CYB130+2_^1CYB130 RELEAS 0,0_(RELEASE CORE OF CYBERDATA_^1_%RTJ-_!($F4)_%PRINT AB-MESSAGE_^1_%ADC_"$4CE3_^1_%ADC_"0,0,$18FC,1,CYB140_^€B1_%ENA 0_^1_%STA+_!MIBVL_%CLEAR CYBERDATA FLAG_^1OUT_"RTJ*_!CYB050_$CLEAR MIB-FLAG_^1_%JMP-_!(DISP)_^1CYB140 ALF_"1,AB_^1*_]_^1*_]_^1*_$SX WAS ENTERRED_^1*_]_^1CYB150 LDA-_!TRMNT,I_^1_%AND-_!ZROBIT+14_^1_%EOR-_!ONEBIT+14_^1_%STA-_!TRMNT,I_#SET TERMINATE-BIT_^1_%RTJ*_!CYB050_$CLEAR MIB-FLAG_^1_%JMP-_!(DISP)_^1_%END_]_^__BPUSRMIN CSY/ P€1_%NAM USRMIN_'DECK-ID A06 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1_%SPC 1_^1****************************************************************_^1*_$MINT MAKES A CALL TO USRMIN WHENEVER_^1*_$A COMMAND IS ENTERED WITHOUT A PRECEDING ASTERISK (*€€)_^1*_$USRMIN THEN CHECKS IF THE ROUTINE IS PATCHED_^1*_$IF IT IS PATCHED A CALL IS MADE TO A SPECIAL APPLICATION_^1*_$MINT_^1*_$IF IT IS NOT PATCHED USRMIN RETURNS TO MINT_^1****************************************************************_^1_%SPC 1_^1****************************************************************_^1*_*E X T E R N A L S_^1*****************************************€€***********************_^1_%SPC 1_^1_%EXT CYBMIN_'MINT EXTENSION FOR CYBERDATA_^1****************************************************************_^1_%SPC 1_^1_%EQU LPMSK(2)_^1_%ENT USRMIN_^1_%SPC 1_^1USRMIN NUM 0_^1_%LDA* CYMIN_(TEST IF CYBMIN PATCHED_^1_%EOR- LPMSK+15_^1_%SAZ NOT1_)NOT PATCHED_^1TEST1 RTJ+ CYBMIN_^1_%EQU CYMIN(TEST1+1)_^1NOT1_!JMP* (USRMIN)_$RETURN TO CA€LLER_^1_%END_]_^__ PDMPRT CSY/ P€1_%NAM DMPRT_(DECK-ID A32 COS 5.0_.SUMMARY-147_^0*_$CYBERDATA KEY-TO-DISK ORIENTED SYSTEM VERSION 5.0_^0*_$DATA SYSTEMS-LA JOLLA DIVISION LA JOLLA, CALIFORNIA_^0*_$COPYRIGHT CONTROL DATA CORPORATION 1979_^1*_]_^1_%ENT INMPRT,CNMPRT,DTMPRT_^1_%ENT FIN1_^1_%EXT IFIN1_^1_%EXT ALTDEV_^1_%EXT LOG_^1_%EXT PRTACT_'FOR VLINT/PRTACT=-0 OR PDT BASE_^1*_]_^1***************************€€*********************************************_^1*_]_^1*_8EQUATES_^1*_]_^1************************************************************************_^1*_*PHYSICAL DEVICE TABLE_^1*_]_^1EDCLK EQU EDCLK(4)_$WORD 04_$DIAGNOSTIC CLOCK_^1ELU_"EQU ELU(5)_'WORD 05_$LOGICAL UNIT_^1EPTR_!EQU EPTR(6)_%WORD 06_$PARAM.LIST LOCATION_^1EWES_!EQU EWES(7)_%WORD 07_$EQUIP.CODE/CHAN.ADDR._^1EREQST €€EQU EREQST(8)_#WORD 08_$REQUEST STATUS_^1ESTAT1 EQU ESTAT1(9)_#WORD 09_$DRIVER STATUS_^1ECCOR EQU ECCOR(10)_#WORD 10_$FIRST CORE LOCATION_^1ELSTWD EQU ELSTWD(11)_"WORD 11_$LAST CORE LOCATION + 1_^1ESTAT2 EQU ESTAT2(12)_"WORD 12_$HDWE.STATUS/INPUT DATA CHAR._^1COMTYP EQU COMTYP(16)_"WORD 16_$COMM.TYPE(BIT 15=1 IF LCM-RCM)_^1SW_#EQU SW(17)_'WORD 17_$SWITCH FOR PRECED.CARR.CON€€TROL_^1ESW_"EQU ESW(18)_%WORD 18_$ECHO-BACK CARR.CONTROL SWITCH_^1INITR EQU INITR(19)_#WORD 19_$LCM-RCM INIT.I/P COUNTER_^1EXCNT EQU EXCNT(20)_#WORD 20_$LCM-RCM EXIT COUNTER_^1INTCNT EQU INTCNT(21)_"WORD 21_$LCM-RCM O/P INTERVAL COUNTER_^1NOCRDY EQU NOCRDY(22)_"WORD 22_$COUNT OF CONSEC.'NO CHAR.RDY'_^1NOCRQ EQU NOCRQ(23)_#WORD 23_$COUNT OF CONSEC.'NO CHAR.REQ'_^1CMPFLG EQU€€ CMPFLG(24)_"WORD 24_$I/O COMPLETION FLAG_^1GCRTN EQU GCRTN(25)_#WORD 25_$RETN.ADDR.FROM GETCHR_^1VLRTN EQU VLRTN(26)_#WORD 26_$RETN.ADDR. TO VLINT_^1TEMP1 EQU TEMP1(27)_#WORD 27_$TEMP.STORAGE_^1CARBFO EQU CARBFO(28)_"WORD 28-31_!CARRIAGE CONTROL O/P BUFF._^1CARBFI EQU CARBFI(32)_"WORD 32-35_!ECHO-BACK CARR.CONTROL BUFF._^1BUFCNT EQU BUFCNT(36)_"WORD 36_$TOTAL NO.OF CHARS€€.IN PRINT BUFF._^1INITIP EQU INITIP(37)_"WORD 37_$INITIAL I/P COUNTER(LCM-RCM)_^1IPCHAR EQU IPCHAR(38)_"WORD 38_$I/P DATA CHAR. (WITHOUT STATUS)_^1OUTPTR EQU OUTPTR(39)_"WORD 39_$O/P POINTER INTO PRINTER BUFF._^1ECHPTR EQU ECHPTR(40)_"WORD 40_$ECHO-POINTER INTO PRT.BUFF._^1*_]_^1*_]_^1*_*LOCORE PROGRAM LINKS_^1AMONI EQU AMONI($F4)_^1*_]_^1ADISP EQU ADISP($EA)_^1AFNR_!EQU A€€FNR($B5)_^1ACOMPR EQU ACOMPR($B6)_^1*_]_^1*_]_^1*_*COMMUNICATION REGION_^1*_]_^1ONEBIT EQU ONEBIT($23)_^1LPMSK EQU LPMSK(2)_^1ZERO_!EQU ZERO($22)_^1ZROBIT EQU ZROBIT($33)_^1*_]_^1*_]_^1*_*MISC. EQUATES_^1*_*CODES_^1*_]_^1ESC_"EQU ESC($1B)_$ASCII ESCAPE CODE_^1CR_#EQU CR($D)_'ASCII CARRIAGE RETURN_^1LF_#EQU LF($A)_'ASCII LINE FEED_^1FF_#EQU FF($C)_'ASCII FORM FEED_^1VT_#EQU€€ VT($B)_'ASCII VERTICAL TAB_^1MOTN_!EQU MOTN(14)_$REQUEST CODE FOR MOTION REQUEST_^1FWRT_!EQU FWRT(6)_%REQUEST CODE FOR FWRITE REQUEST_^1WRT_"EQU WRT(2)_'REQUEST CODE FOR WRITE REQUEST_^1UNITFC EQU UNITFC(4)_#UNIT STATUS FUNCTION 1843-2_*050379_^1CLRINT EQU CLRINT(8)_#CLEAR INTERRUPT 1843-2_/050379_^1CLKINT EQU CLKINT($20)_!TIMER INTERRUPT ENABLE 1843-2_(050379_^1CHFCT EQU€€ CHFCT($1B)_"CLR CHANNEL,RTS,WRDL7,STP2,ODD_'050379_^1RTRY_!EQU RTRY($170)_"MAX NO. OF RETRIES_^1*_]_^1*_]_^1*_*ERROR CODES_^1*_]_^1ERR00 EQU ERR00(0)_$DIAGNOSTIC TIMEOUT_^1ERR01 EQU ERR01(1)_$CHAR.LOST_^1ERR02 EQU ERR02(2)_$MODEM ALARM (BREAK)_^1ERR03 EQU ERR03(3)_$PARITY ERR_^1ERR05 EQU ERR05(5)_$INTERNAL REJECT_^1ERR06 EQU ERR06(6)_$EXTERNAL REJECT_^1ERR07 EQU ER€€R07(7)_$ECHO-CHECK ERROR_^1ERR15 EQU ERR15(15)_#LCM RECEIVE NOT SYNC._^1*_]_^1*_*TIMEOUT VALUES_^1*_]_^1TIME01 EQU TIME01(5)_#5 SEC. DIAG.TIMEOUT_^1TIME02 EQU TIME02(2)_#200MS DELAY (FOR TIMINT REQ)_^1*_]_^1*_*OTHER_^1*_]_^1_%EQU D($4000),RC($200),U($10),RP(1)_^1_%EQU DRVLVL(10)_"DRIVER PRIORITY LEVEL_^1*_]_^1INTVAL NUM 1_,O/P DURING EVERY 2ND INT.TIME_^1*_]_^1_%EJT_]_^1****€€********************************************************************_^1*_(INITIATOR ENTRY_^1************************************************************************_^1*_]_^1INMPRT STQ- I_^1_%LDA- EREQST,I_^1_%SAP EFNR_)P=DEVICE NOT BUSY_^1_%JMP- (ADISP)_^1EFNR_!RTJ- (AFNR)_^1_%JMP- (ADISP)_%NO REQUESTS,EXIT_^1_%LDQ- EWES,I_^1_%INQ 1_,SET DIRECTOR BIT TO CHANNEL FCT_%050379_^1_%EN€€A CHFCT_(CLR CHANNEL,RTS,WRDL7,STP2,ODD_'050379_^1_%OUT REJECT-*_K050379_^1_%LDQ- EPTR,I_^1_%LDA- (ZERO),Q_^1_%ALS 7_,RIGHT-JUSTIFY REQUEST CODE_^1_%AND- LPMSK+5_%ISO LATE_^1_%INA -MOTN_^1_%SAN IPT010_'N=NOT MOTION REQUEST_^1_%ENA 1_^1_%STA- SW,I_^1_%STA- ESW,I_^1_%ENA 0_^1_%STA- ECCOR,I_^1_%STA- ELSTWD,I_^1_%STA- CMPFLG,I_$CLEAR BUFFER COMPLETION FLAG_^1_%JMP* IPT040_^1*_]_€€^1IPT010 INA MOTN-FWRT_^1_%SAN IPT020_'N=NOT FWRITE REQ._^1_%ENA 6_,SET SW TO CAUSE CR/LF O/P BEFORE DATA_^1_%STA- SW,I_^1_%STA- ESW,I_^1_%CLR A_^1_%JMP* IPT030_^1IPT020 ENA 0_,SET SW FOR ONLY DATA O/P_^1_%STA- SW,I_^1_%STA- ESW,I_^1IPT030 STA- CARBFO,I_$CARR.CONTROL BUFF.COUNT_^1_%STA- NOCRDY,I_^1_%STA- NOCRQ,I_^1_%STA- CMPFLG,I_$CLEAR BUFF.COMPLETION FLAG_^1_%STA- ECHPTR,I_^€€1_%STA- OUTPTR,I_^1_%LDA- ELSTWD,I_$O/P BUFFER LWA+1_^1_%SUB- ECCOR,I_%(LWA+1)-FWA=NO.OF WORDS TO O/P_^1_%ALS 1_,CONVERT TO NO.OF CHARS.TO O/P_^1_%STA- BUFCNT,I_^1IPT040 LDA- COMTYP,I_^1_%SAM IPT050_'M=LCM-RCM CONFIG._^1_%LDQ- EWES,I_^1_%INQ UNITFC_'SET DIRECTOR BIT_5050379_^1_%ENA CLKINT_'REQUEST CLOCK INT._3050379_^1_%OUT REJECT-*_^1_%JMP* IPT060_'BYPASS LCM-RCM INITIALIZATI€€ON_^1IPT050 ENA 0_^1_%STA- CARBFI,I_^1_%STA- INTCNT,I_$COUNTS WHICH INT.TIME TO O/P_^1_%STA- EXCNT,I_^1_%LDA- I_,PDT BASE_^1_%STA PRTACT_'SET UP FOR VLINT_^1_%ENA -2_^1_%STA- INITIP,I_^1*_]_^1IPT060 LDA- EREQST,I_^1_%AND- LPMSK+15_^1_%EOR- ONEBIT+15_#SET PDT ACTIVE_^1_%STA- EREQST,I_^1_%ENA TIME01_^1_%STA- EDCLK,I_%SET UP TIMEOUT CELL_^1_%JMP- (ADISP)_^1_%EJT_]_^1**************€€**********************************************************_^1*_*CONTINUATOR ENTRY_^1************************************************************************_^1*_]_^1CNMPRT STQ- I_^1_%STA- VLRTN,I_%SAVE RETN.TO VLINT (IN CASE LCM-RCM)_^1_%ENA -0_^1_%STA- EDCLK,I_^1_%LDA- ELU,I_^1_%SAN CPT040_'N=DRIVER IS ACTIVE_^1_%LDA- COMTYP,I_^1_%SAP CPT020_'P=NOT LCM-RCM CONFIG._^1_%JMP* CPT2€€80_'GO EXIT TO ULINT_^1CPT020 ENA CLRINT_'CLEAR INTERRUPT_6050379_^1_%LDQ- EWES,I_^1_%INQ UNITFC_M050379_^1_%OUT REJECT-*_^1_%JMP- (ADISP)_^1CPT040 LDA- CMPFLG,I_^1_%SAP CPT050_'P=BUFFER OUTPUT NOT COMPLETE_^1_%LDA- COMTYP,I_^1_%SAM CPT045_'M=LCM-RCM_^1_%JMP- (ADISP)_^1CPT045 JMP* CPT280_'GO EXIT TO VLINT_^1CPT050 LDA- COMTYP,I_^1_%SAM CPT060_'M=LCM-RCM CONFIG._^1_%ENA CLRIN€€T_'CLEAR INTERRUPTS_5050379_^1_%LDQ- EWES,I_^1_%INQ UNITFC_M050379_^1_%OUT REJECT-*_^1_%JMP* CPT100_^1CPT060 LDA- INTCNT,I_^1_%SUB* INTVAL_^1_%SAP CPT080_'P=CAN O/P DURING THIS INTERVAL_^1_%RAO- INTCNT,I_^1_%JMP* CPT140_^1*_]_^1CPT080 CLR A_^1_%STA- INTCNT,I_^1CPT100 LDQ- EWES,I_^1_%INP REJECT-*_$I/P DATA/STATUS_^1_%STA- ESTAT2,I_^1_%AND- LPMSK+7_%ISOLATE DATA CHAR._3050379_^1€€_%STA- IPCHAR,I_^1_%LDA- COMTYP,I_^1_%SAM CPT120_'M=LCM-RCM CONFIG._^1_%JMP* OUTCHK_^1*_]_^1CPT120 LDA- INITIP,I_^1_%SAP CPT160_'P=THREE INITIAL INPUTS DONE_^1_%RAO- INITIP,I_^1*_]_^1CPT140 ENA TIME01_^1_%JMP* CPT260_^1*_]_^1REJECT JMP* INTREJ_'INT.REJ._^1_%ENA 6_,ERROR CODE FOR EXTERNAL REJECT_^1_%JMP ERREX_^1*_]_^1INTREJ ENA 5_,ERROR CODE FOR INTERNAL REJECT_^1_%JMP ERREX_€€^1*_]_^1CPT160 LDA- ESTAT2,I_$GET SAVED DATA-STATUS_^1_%AND- ONEBIT+10_J050379_^1_%SAZ CPT180_'Z= NOT BUFFER FULL_3050379_^1_%JMP CPT580_^1*_]_^1CPT180 RAO- NOCRDY,I_$INCREMENT COUNT OF NO CHAR.READY_^1_%LDA- NOCRDY,I_^1_%SUB =XRTRY_^1_%SAM CPT200_'M=NOT MORE THAN 32 "NO CHAR REQ"_$050779_^1_%ENA 6_,32 CONSEC "NO CHAR REQ"_.050779_^1_%JMP ERREX_^1*_]_^1CPT200 RAO- EXCNT,I_^1_€€%LDA- EXCNT,I_^1_%INA -6_^1_%SAZ CPT220_'Z=EXIT COUNTER EXPIRED_^1_%JMP* OUTCHK_^1*_]_^1CPT220 CLR A_^1_%STA- EXCNT,I_^1_%LDA- OUTPTR,I_^1_%SUB- BUFCNT,I_^1_%SAP CPT240_'P=PRINT BUFFER EMPTIED_^1_%JMP* OUTCHK_^1CPT240 LDA- CARBFO,I_^1_%SAZ FIN_*Z=CARRIAGE CONTROL BUFF.EMPTY_^1_%JMP* OUTCHK_^1*_]_^1REJ2_!NOP 0_R050779_^1_%RAO- SW,I_)USED FOR REJECT-COUNTER NOW_*050779_^1_%SUB €€ =XRTRY_^1_%SAP ERROR_(P=MORE THAN 32 REJECTS ON LAST CR_#050779_^1_%JMP* FIN02_N050779_^1ERROR JMP* REJECT+1_K050779_^1*_]_^1FIN_"ENA -1_^1_%STA- CMPFLG,I_^1FIN02 ENA CR_+OUTPUT CR TO PRINT LAST LINE_)050779_^1_%LDQ- EWES,I_M050779_^1_%OUT REJ2-*_M050779_^1_%LDA- COMTYP,I_^1_%SAP FIN0_)P=NOT LCM/RCM CONFIG._^1_%ENA -0_^1_%STA PRTACT_'SET PDT INACTIVE_^1_%EJT_]_^1*_]_^1*_*€€SCHED. FIN1 TO EXECUTE AFTER 400MS DELAY_^1*_*ACTUALLY, IFIN1 (ASSOCIATED WITH THE PDT IN SYSDT2) IS_^1*_*SCHEDULED WITH THE T8 REQ. IFIN1 SETS (Q)=PDT BASE AND_^1*_*JUMPS TO FIN1. THIS IS NECESSARY BECAUSE NEITHER Q NOR I_^1*_*IS PRESERVED BY THE T8 PROCESSOR._^1*_]_^1FIN0_!RTJ- (AMONI)_^1_%ADC D*1+RC*8+U*1+RP*DRVLVL_^1_%ADC IFIN1_^1_%ADC TIME02_^1_%JMP* CPT265_^1*_]_^1FIN1_!S€€TQ- I_^1_%RTJ- (ACOMPR)_$COMPLETE REQUEST_^1_%JMP EFNR_)GO SEE IF MORE DRIVER REQS._^1*_]_^1CPT260 STA- EDCLK,I_^1CPT265 LDA- COMTYP,I_^1_%SAP CPT270_'P=NOT LCM-RCM_^1_%JMP* CPT280_^1*_]_^1CPT270 LDQ- EWES,I_^1_%INQ UNITFC_M050379_^1_%LDA- CMPFLG,I_^1_%SAM CPT275_'M=ALL O/P COMPLETE_^1_%ENA CLKINT_'REQUEST CLOCK INTERRUPT_.050379_^1_%OUT REJECT-*_^1_%JMP- (ADISP)_^1*_]_^1CPT2€€75 ENA CLRINT_'CLEAR INTERRUPT_6050379_^1_%OUT REJECT-*_^1_%JMP- (ADISP)_^1*_]_^1CPT280 LDQ- VLRTN,I_^1_%JMP- (ZERO),Q_^1*_]_^1OUTCHK LDA- ESTAT2,I_^1_%AND- ONEBIT+14_J050379_^1_%SAZ CPT300_'Z=NO CHAR.REQ.STATUS_^1_%JMP* CPT360_M050379_^1*_]_^1CPT300 RAO- NOCRQ,I_%INCREMENT COUNT OF'NO CHAR.REQ'_^1_%LDA- NOCRQ,I_^1_%SUB =XRTRY_^1_%SAM CPT320_'M=NOT MORE_;050779_^1_%ENA 6_,32 €€CONSEC "NO CHAR REQ"_.050779_^1_%JMP ERREX_^1*_]_^1CPT320 ENA TIME01_^1_%JMP* CPT260_^1*_]_^1CPT360 LDA- SW,I_^1_%SAN CPT380_'N=MOTION OR FWRITE CARR.CONTROL TO DO_^1_%JMP* CPT480_^1*_]_^1CPT380 INA -6_^1_%SAN CPT400_'N=NOT TIME TO O/P CR FOR FWRITE_^1_%ENA 5_,SET SW TO O/P CR NEXT TIME_^1_%STA- SW,I_^1_%ENA LF_+ASCII CODE FOR LINE FEED_^1_%JMP* CPT560_^1*_]_^1CPT400 INA +1€€_^1_%INA 0_,IF RESULT=-0,CHANGE TO +0_^1_%SAN CPT420_^1_%STA- SW,I_^1_%ENA CR_+ASCII CODE FOR CARRIAGE RETURN_^1_%JMP* CPT560_^1*_]_^1CPT420 INA 5_^1_%SAN CPT440_'N=SW VALUE NOT=-0_^1_%JMP* CPT515_^1*_]_^1CPT440 INA -1_^1_%STA- SW,I_^1_%SAN CPT460_^1_%ENA -0_^1_%STA- SW,I_^1*_]_^1CPT460 ENA FF_+ASCII CODE FOR FORM FEED_^1_%JMP* CPT560_^1*_]_^1REJ1_!JMP* INTREJ_^1_%JMP* REJ€€ECT+1_^1*_]_^1CPT480 LDQ- CARBFO,I_^1_%SQZ CPT510_'Z=NO MORE CARR.CONTROL CHARS.TO O/P_^1_%INQ -1_+CONVERT CHAR.NOS.1-4 TO NOS.0-3_^1_%LRS 1_,CONVERT CHAR.NO.TO WORD NO,A15=ODD/EVEN INDIC._^1_%LDQ- CARBFO+1,B_^1_%SAP CPT500_'P=LEFT-HAND(EVEN-NO)CHAR._^1_%QLS 8_,POSITION CHAR.INQ08-Q15_^1CPT500 LLS 8_,MOVE CHAR.TO A00-A07_^1_%AND- LPMSK+8_^1_%LDQ- CARBFO,I_^1_%INQ -1_+DECREME€€NT CARRIAGE CONTROL BUFF.COUNT_^1_%STQ- CARBFO,I_^1_%JMP* CPT560_^1*_]_^1CPT510 LDA- OUTPTR,I_$CURRENT O/P COUNT_^1_%SUB- BUFCNT,I_$O/P BUFFER SIZE_^1_%SAP CPT515_'P=O/P DONE_^1_%JMP* CPT530_^1CPT515 LDA- ESTAT1,I_^1_%AND- ONEBIT+1_^1_%SAZ CPT520_'Z=NOT FWRITE_^1_%LDA- SW,I_^1_%SAM CPT520_'M=TRAILING 'CR' ALREADY O/P_^1_%ENA -0_^1_%STA- SW,I_)FLAG THAT TRAILING 'CR' WAS O/P_^1_€€%ENA CR_^1_%JMP CPT560_^1*_]_^1CPT520 LDA- COMTYP,I_^1_%SAM CPT525_'M=LCM/RCM_^1_%JMP* FIN_^1CPT525 LDQ- VLRTN,I_^1_%JMP- (ZERO),Q_^1CPT530 LDA =XCPT540_^1_%STA- GCRTN,I_%SET UP RETURN FROM GETCHR_^1_%LDQ- OUTPTR,I_^1_%JMP* GETCHR_'GET NEXT DATA CHAR.TO O/P_^1*_]_^1CPT540 RAO- OUTPTR,I_^1_%INA -ESC_^1_%SAZ CPT545_'Z=CODE IS AN ESCAPE CODE_^1_%INA ESC_*RESTORE DATA CHARACTER_€€^1_%JMP* CPT560_'GO O/P CHAR._^1CPT545 LDA =XCPT550_$SET UP RETN.FROM GETCHR_^1_%STA- GCRTN,I_%GET CHAR.FOLLOWING ESCAPE CODE_^1_%LDQ- OUTPTR,I_^1_%JMP* GETCHR_^1*_]_^1CPT550 RAO- OUTPTR,I_^1_%LDQ =XCPT480_^1_%STQ- CARBFO+3,I_"SET UP RETURN FROM TRANSL_^1_%LDQ- I_^1_%INQ CARBFO_'(Q)=ADDR.OF CARBUFO_^1_%JMP TRANSL_^1*_]_^1CPT560 LDQ- EWES,I_^1_%OUT REJ1-*_'OUTPUT DATA CHAR._^1_€€%JMP* CPT320_^1_%EJT_]_^1*_]_^1*_*ROUTINE GETCHR OBTAINS A CHARACTER FROM THE PRINT BUFFER_^1*_*TO OUTPUT OR FOR ECHO-CHECKING._^1*_]_^1*_*ENTRY-_'JMP* GETCHR_^1*_]_^1*_*INPUT-_'(I)=PDT BASE_^1*_8(Q)=CURRENT CHAR.COUNT_^1*_=OUTPTR,I_#FOR OUTPUT_^1*_=ECHPTR,I_#FOR ECHO-CHECKING_^1*_2(GCRTN,I)=RETURN ADDR.OF CALLER_^1*_2(ECCOR,I)=FWA OF BUFFER_^1*_]_^1*_*OUTPUT_'(A)=DATA CHAR.(RIGHT€€-JUSTIFIED)_^1*_]_^1GETCHR CLR A_^1_%LRS 1_,CALC.WORD COUNT/A15=UPPER-LOWER CHAR.INDICATOR_^1_%ADQ- ECCOR,I_%FWA OF BUFFER_^1_%SAP GTCHR1_'P=UPPER (LEFT)CHAR._^1_%LDA- (ZERO),Q_$GET LOWER (RIGHT) CHAR._^1_%JMP* GTCHR2_^1GTCHR1 LDA- (ZERO),Q_$GET UPPER CHAR._^1_%ALS 8_^1GTCHR2 AND- LPMSK+7_^1_%LDQ- GCRTN,I_%GET CALLER RETURN ADDR._^1_%JMP- (ZERO),Q_^1_%EJT_]_^1*_]_^1*_8THE FOLLO€€WING CODE (CPT580 - ECHERR)_^1*_8PERFORMS ECHO-CHECKING,WHICH IS DONE ONLY WHEN_^1*_8THE PRINTER IS ON THE LCM-RCM CONFIGURATION._^1*_]_^1CPT580 CLR A_^1_%STA- NOCRDY,I_$CLEAR COUNT OF 'NO CHAR.RDY'_^1_%LDA- ESTAT2,I_^1_%SAM CPT590_'M=ERROR FLAG_9050379_^1_%JMP* CPT610_'NO ERROR_=050379_^1*_]_^1CPT590 ALS 2_,CHECK FOR OVERRUN_4050379_^1_%SAP CPT600_'P=NO OVERRUN_9050379_^1_%ENA€€ ERR15_(OVERRUN ERROR_8050379_^1_%JMP* ERREX1_M050379_^1*_]_^1CPT600 ALS 1_^1_%SAP CPT605_'P=NO FRAMING ERROR_3050379_^1_%ENA ERR02_(FRAMING ERROR_8050379_^1_%JMP* ERREX1_M050379_^1*_]_^1CPT605 ALS 3_,CHECK FOR PARITY ERROR_/050379_^1_%SAP CPT610_'P=NO PARITY ERROR_4050379_^1_%ENA ERR03_(PARITY ERROR_9050379_^1_%JMP* ERREX1_M050379_^1*_]_^1CPT610 LDQ- ESW,I_^1_%SQN CPT620_'€€N=CARR.CONTROL CHARS.TO CHECK_^1_%JMP* CPT680_^1CPT620 LDA- IPCHAR,I_^1_%INQ -6_^1_%SQN CPT640_^1_%INA -LF_^1_%SAZ CPT630_'Z=I/P CHAR.IS CARRIAGE RETURN_^1_%JMP* ECHERR_^1CPT630 ENQ 5_,SET ESW=5 (CHECK NEXT FOR ECHOED 'LF')_^1_%JMP* CPT650_^1*_]_^1CPT640 INQ 1_^1_%SQN CPT660_'N=ESW NOT EQUAL TO 5_^1_%INA -CR_^1_%SAZ CPT645_'Z=I/P CHAR.IS LINE FEED_^1_%JMP* ECHERR_^1CPT645 €€LDA- OUTPTR,I_$CURRENT O/P POINTER_^1_%SUB- BUFCNT,I_$SIZE OF O/P BUFFER_^1_%ENQ 0_^1_%SAM CPT650_'M=O/P NOT DONE_^1_%JMP FIN_^1CPT650 STQ- ESW,I_^1_%JMP OUTCHK_^1*_]_^1CPT660 INA -FF_*ASSUME ESW=1/CHECK FOR MOTION(=FORM FEED)_^1_%SAZ CPT670_'Z=I/P CHAR.IS FORM FEED_^1_%JMP* ECHERR_^1CPT670 JMP FIN_^1*_]_^1CPT680 LDQ- CARBFI,I_$ECHO-BACK CARR.CONTROL BUFF.COUNT_^1_%SQZ CPT7€€00_^1_%CLR A_^1_%INQ -1_+CHANGE CHAR.COUNT 1-4 TO 0-3_^1_%LRS 1_,CHANGE TO WORD COUNT/A15=ODD-EVEN INDIC._^1_%LDQ- CARBFI+1,B_^1_%SAP CPT690_'P=LEFT-HAND (EVEN NO.)CHAR._^1_%QLS 8_,POSITION IN Q08-Q15_^1CPT690 LLS 8_,MOVE CHAR.TO A00-A07_^1_%AND- LPMSK+8_^1_%LDQ- CARBFI,I_^1_%INQ -1_^1_%STQ- CARBFI,I_$DECR)ECHO-BACK CARR.CONTROL BUFF.COUNT_^1_%JMP* CPT750_^1*_]_^1CPT700 LDA €€ =XCPT710_^1_%STA- GCRTN,I_^1_%LDQ- ECHPTR,I_^1_%JMP* GETCHR_^1*_]_^1CPT710 RAO- ECHPTR,I_$INCR.ECHO POINTER TO O/P BUFF._^1_%INA -ESC_^1_%SAN CPT730_'N=I/P CHAR.IS NOT ESCAPE CODE_^1_%LDA =XCPT720_^1_%STA- GCRTN,I_^1_%LDQ- ECHPTR,I_^1_%JMP* GETCHR_'GET CHAR.IN BUFF.FOLLOWING ESCAPE COEE_^1*_]_^1CPT720 RAO- ECHPTR,I_^1_%LDQ =XCPT680_^1_%STQ- CARBFI+3,I_^1_%LDQ- I_^1_%INQ CARBF€€I_^1_%JMP* TRANSL_^1*_]_^1CPT730 INA ESC_*RESTORE ORIGINAL CHAR.TO A-REG._^1_%SAN CPT750_'N=NOT A NULL CHAR.(ZERO)_^1_%LDA- ECHPTR,I_^1_%SUB- BUFCNT,I_^1_%SAP CPT740_'P=ECHO POINTER=TOTAL NO.OF CHARS.IN PRINT BUFF_^1_%JMP* CPT700_^1*_]_^1CPT740 LDA- ESTAT1,I_^1_%AND- ONEBIT+1_^1_%SAN CPT745_'N=FWRITE_^1_%JMP FIN_^1*_]_^1CPT745 ENA 5_^1_%STA- ESW,I_(SET UP TO ECHO-CHECK 'CR'_^€€1_%LDQ- VLRTN,I_^1_%JMP- (ZERO),Q_^1*_]_^1CPT750 SUB- IPCHAR,I_^1_%SAN ECHERR_'N=I/P CHAR.DOES NOT MATCH CORRES.O/P CHAR._^1_%LDA- ECHPTR,I_^1_%SUB- BUFCNT,I_^1_%SAP CPT760_'P=ECHO POINTER=TOTAL NO)OF CHARS._^1_%JMP OUTCHK_^1CPT760 JMP FIN_^1*_]_^1ECHERR ENA ERR07_^1_%JMP* ERREX1_^1_%EJT_]_^1*_]_^1*_*ERREX IS THE ERROR EXIT FROM DMPRT. THE ERROR FIELD OF_^1*_*ESTAT1 IS SET UP €€AS FOLLOWS-_^1*_8-BIT 15 (ERROR CONDITION) IS SET FOR ALL ERRS_^1*_8-BIT 13 (DEVICE NOT READY) IS SET FOR ALL ERR_^1*_?CONDITIONS EXCEPT PARITY ERRS._^1*_?AND ECHO FAILURES._^1*_*EREQST-_#BIT 14 (I/O FAILURE) IS SET FOR ALL ERRS._^1*_6EXCEPT PARITY AND ECHO ERRS._^1*_]_^1*_*OTHER ACTION INCLUDE-_^1*_8-CLEAR PDT BUSY FLAG_^1*_8-MARK PRINTER INACTIVE FOR VLINT(IF LCM-RCM)_^1*_8-SET U€€P INTERFACE FOR AND SCHED.ALTDEV_^1*_]_^1ERREX EOR- ONEBIT+15_#TEMP.FLAG TO INDICATE 'NOT READY'_^1ERREX1 STA- TEMP1,I_^1_%LDA- EREQST,I_^1_%AND- LPMSK+14_$CLEAR 'OPERATION IN PROGRESS' FLAG_^1_%STA- EREQST,I_^1_%LDA- COMTYP,I_^1_%SAP ERREX2_'P=NOT LCM-RCM_^1_%ENA -0_^1_%STA PRTACT_'SET PDT INACTIVE_^1*_]_^1ERREX2 LDQ- TEMP1,I_^1_%LDA- ESTAT1,I_^1_%AND- LPMSK+12_$PRE-CLEAR V-FI€€ELD (ERROR FIELD)_^1_%SQP ERREX3_'P=DEVICE READY_^1_%EOR- ONEBIT+13_^1ERREX3 EOR- ONEBIT+15_^1_%STA- ESTAT1,I_^1_%LDA- TEMP1,I_^1_%SAP ERREX4_'P=DEVICE READY_^1_%LDA- EREQST,I_^1_%AND- ZROBIT+14_^1_%EOR- ONEBIT+14_#SET DEVICE FAILURE FLAG_^1_%STA- EREQST,I_^1_%LDA- TEMP1,I_^1ERREX4 AND- LPMSK+15_^1_%LDQ- ELU,I_(GET PRINTER LU_^1_%QLS 6_^1_%EAQ Q_,(Q)=LU/ERR CODE_^1_%RTJ+ LOG_*(€€Q)=LU/ERR CODE_^1*_]_^1*_*SCHEDULE ALTDEV_%(Q) MUST= LU/ERR CODE_^1*_]_^1_%RTJ- (AMONI)_^1_%ADC D*1+RC*9+RP*DRVLVL_^1_%ADC ALTDEV_^1_%LDA- COMTYP,I_^1_%SAM ERREX5_'M=LCM-RCM_^1_%LDQ- EWES,I_^1_%INQ 1_^1_%JMP CPT275_'DJ815 EXIT_^1ERREX5 LDA- TEMP1,I_%ERROR COEE_^1_%AND- LPMSK+15_^1_%SAN ERREX6_'N=NOT TIMEOUT CONDITION_^1_%JMP- (ADISP)_^1ERREX6 LDQ- VLRTN,I_^1_%JMP- (ZERO),Q_^1€€_%EJT_]_^1************************************************************************_^1*_]_^1*_*DIANOSTIC TIMEOUT ENTRY_^1*_]_^1************************************************************************_^1DTMPRT STQ- I_^1_%LDA- ELU,I_^1_%SAN DPT010_'N=NOT ACTIVE_^1_%JMP- (ADISP)_^1DPT010 LDA- EREQST,I_^1_%AND- ONEBIT+14_^1_%SAZ DPT020_'Z=I/O ERROR NOT ALREADY SET_^1_%JMP- (ADISP)_^1D€€PT020 ENA ERR00_(TIMEOUT ERROR CODE_^1_%JMP ERREX_^1_%EJT_]_^1*_]_^1*_8TRANSL CONVERTS AN ESCAPE CARRIAGE CONTROL_^1*_8SEQUENCE WHICH IS O/P TO THE DRIVER_^1*_8INTO THE APPROPRIATE CARRIAGE CONTROL CODE_^1*_8SEQUENCE WHICH THE PRINTER CAN HANDLE._^1*_]_^1*_]_^1*_$WORK AREA EQUATES_^1*_]_^1*_FWORD 0 = COUNT OF CHARS_^1TRCHR1 EQU TRCHR1(1)_2WORD 1 = 1ST 2 CHARS_^1TRCHR2 EQU TRCHR€€2(TRCHR1+1)_+WORD 2 = NEXT 2 CHARS_^1TRNRTN EQU TRNRTN(TRCHR2+1)_+WORD 3 = RETURN ADDRESS_^1TRANSL EQU TRANSL(*)_^1_%AND- LPMSK+8_4ISOLATE LOWER BYTE_^1_%INA -$30_^1_%SAZ TRNS30_5SKIP IF $30_^1_%SAP TRNS31_5SKIP IF GT $30_^1_%JMP* TRNS0_6LT $30, IGNORE_^1TRNS30 EQU TRNS30(*)_^1_%LDA =N$0D00_4$30 = CRET_^1_%JMP* TRNS1_6GO SAVE AND SET COUNT = 1_^1TRNS31 EQU TRNS31(*)_^1_%INA€€ -1_^1_%SAN TRNS32_5SKIP IF GT $31_^1_%LDA =N$0D0A_4$31 = CRET,LF_^1_%JMP* TRNS2_6GO SAVE AND SET COONT = 2_^1TRNS32 EQU TRNS32(*)_^1_%INA -1_^1_%SAN TRNS33_5SKIP IF GT $33_^1_%LDA =N$0D0A_4$32 = CRET,LF,LF_^1_%STA- TRCHR1,Q_3SAVE 1ST 2 CHARS_^1_%LDA =N$0A00_^1_%JMP* TRNS3_6GO SAVE CHARS AND SET COUNT=3_^1TRNS33 EQU TRNS33(*)_^1_%INA -1_^1_%SAN TRNS34_5SKIP IF GT $33_^1_€€%LDA =N$0C00_4$33 = FF_^1_%JMP* TRNS1_6GO SAVE AND SET COUNT = 1_^1TRNS34 EQU TRNS34(*)_^1_%INA -1_^1_%SAN TRNS35_5SKIP IF GT $34_^1_%LDA =N$0B00_4$34 = VTAB_^1_%JMP* TRNS1_6GO SAVE AND SET COUNT = 1_^1TRNS35 EQU TRNS35(*)_^1_%INA -1_^1_%SAN TRNS36_5SKIP IF GT $35_^1_%LDA =N$0A00_4$35 = LF_^1_%JMP* TRNS1_6GO SAVE AND SET COUNT = 1_^1TRNS36 EQU TRNS36(*)_^1_%INA -$A_^1_%S€€AP TRNS0_6IGNORE IF GT $3E_^1_%LDA =N$0B00_4$36-$3E = VTAB_^1TRNS1 EQU TRNS1(*)_31 ASCII CHAR_^1_%STA- TRCHR1,Q_3SAVE CHAR_^1_%ENA 1_:COUNT = 1_^1_%JMP* TRNSEX_5GO COMMON EXIT_^1TRNS0 EQU TRNS0(*)_3COUNT = 0 = IGNORE_^1_%ENA 0_:COUNT = 0_^1_%JMP* TRNSEX_5GO COMMON EXIT_^1TRNS2 EQU TRNS2(*)_3COUNT = 2_^1_%STA- TRCHR1,Q_3SAVE 2 ASCII CHARS_^1_%ENA 2_:COUNT = 2_^1_%JMP* TRN€ SEX_5GO COMMON EXIT_^1TRNS3 EQU TRNS3(*)_3COUNT = 3_^1_%STA- TRCHR2,Q_3SAVE 3D CHAR IN 2ND WORD_^1_%ENA 3_:COUNT = 3_^1TRNSEX EQU TRNSEX(*)_2COMMON EXIT_^1_%STA- (ZERO),Q_3SAVE COUNT FOR CALLER_^1_%LDQ- TRNRTN,Q_$GET RETURN ADDR.TO DRIVER_^1_%JMP- (ZERO),Q_^1_%BZS (10)_^1_%END_]_^__  END/