14 228= ... SEG PROSTART,,CENT(LOAD OBJ PROG) 4 22BG ...[ 15 22JQ ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 4 22R2 ...[ 4 22_= # 11 23DW SEGENTRY K1PROSTART,XENT1 11 23YG SEGENTRY K2PROSTART,XENT2 11 24D6 SEGENTRY K5PROSTART,XENT5 11 24XQ SEGENTRY K9PROSTART,XENT9 12 25CB SEGENTRY K10PROSTART,XENT10 12 25X2 SEGENTRY K11PROSTART,XENT11 12 26BL SEGENTRY K16PROSTART,XENT16 12 26W= SEGENTRY K17PROSTART,XENT17 4 27*W # 20 27TG # THIS SEGMENT DEALS WITH THE ENTER AND RESUME COMMANDS AND IS 13 28*6 # ALSO USED TO DELETE A CORE IMAGE. 19 28SQ # ENTER USES ENTRY POINT K2,RESUME USES K5,DELETE USES K17 16 29#B # K1 IS USED TO COMPLETE THE LOADING PROCESS FOR 15 29S2 # A PROGRAM WHICH IS TO BE RUN IMMEDIATELY 11 2=?L # LOAD RE-ENTERS PROSTART AT 19 2=R= # K10 TO DELETE ANY PREVIOUS CORE IMAGE (UNDER THE SAME JOB) 4 2?=W # 8 2?QG #DEF XLDEXA=EXTPS+4 4 2#=6 # 9 2#PQ PMSB #20000000 9 2*9B PBIT9 #40000 9 2*P2 PBIT10 #20000 9 2B8L PBITS910 #60000 8 2BN= P1000 +1000 8 2C7W PK9 +K9 8 2CMG N48 48 4 2D76 # 4 2DLQ # 4 2F6B # 4 2FL2 # 15 2G5L XENT11 [LOGOUT ENTRY 4 2GK= # 11 2H4W HUNTW 1,APED,ADELETE 10 2HJG BNG 1 K10PROSTART 7 2J46 FREECORE 1 8 2JHQ BRN PNO1 4 2K3B # 20 2KH2 XENT10 [DELETION OF PREVIOUS CORE IMAGE 16 2L2L [FOR A NEW LOAD 4 2LG= # 10 2L_W VFREEW APED,ANEVENT 10 2MFG PNO1 VFREEW APED,ADISPLAY 8 2M_6 LDX 1 FX1 4 2NDQ # 21 2NYB XENT17 [ENTRY POINT FOR THE DELETE COMMAND,A 21 2PD2 [FROM OPCAXCOD FOR DEL,DELTY EXTRACOD 7 2PXL NGNC 0 1 20 2QC= XENT16 [ENTRY FROM LOAD TO DELETE PCA AFTER AN ERROR OR A 12 2QWW [BREAKIN DURING LOAD 18 2RBG [IN GEORGE 4 THE PROGRAM CAN BE BEING SWAPPED 7 2RW6 LDN 6 0 17 2S*Q BZE 6 PLOAD [J IF ERROR IN LOAD 17 2STB CALL 7 RLTIME [TEST FOR REALTIME 8 2T*2 ORX 6 GSIGN 5 2TSL PLOAD 4 2W#= # 8 2WRW FJOCA 3,FX2 20 2X?G LDX 4 BIT9 [J IF PROG ALREADY MARKED AS NOT 14 2XR6 ANDX 4 JMISC(3) [SWAPABLE 21 2Y=Q BNZ 4 PDEN [CURRENTLY THIS CASE DOES NOT OCCUR 17 2YQB LDX 4 BIT10 [J IF PROG SWAPPED IN 9 2_=2 ANDX 4 JMISC(3) 8 2_PL BNZ 4 PDEM 18 329= LDX 0 BIT11 [J IF PROG SWAPPED OUT 9 32NW ANDX 0 JMISC(3) 8 338G BNZ 0 PDEN 21 33N6 SWAPOUT [OTHERWISE PROG IS BEING SWAPPED SO 20 347Q BRN PDEN [WE WAIT UNTIL IT HAS FINISHED 18 34MB PDEM ADS 4 JMISC(3) [SWITCH TO NOT SWAPPABLE 4 3572 PDEN 8 35LL FPCACA 3,FX2 19 3H#6 TESTTP 3,TP [JUMP IF THE PROG IS AN RCTP 8 3HRQ BRN NTP 13 3J?B # UNSET RCTP MARKER AND MURDER PUC.PCA 7 3JR2 TP UNSETRCT 3 8 3K=L FPCACA 1,FX2 4 3K#T [ 21 3KC4 [ NEED TO RENAME APET/ATP AS JUST APET AS AFTER APET/APUC MURDERED 20 3KF? [ CHARGESC MIGHT CALCULATE MILL RATINGS IF RECENTLY PLUGGED IN & 11 3KHG [ ASSUMES PUC STILL THERE 4 3KKP [ 8 3KMY NAME 1,APET 8 3KQ= FINDPUC 1,3 7 3L9W LOCK 3 16 3Q6W MURDER 3 [FREE PUCS PCA 4 3QLG NTP 9 3T4L # FREE OBJ PROG BLOCK 5 3TJ= PWAIT 8 3W3W FJOCA 3,FX2 9 3WHG LDX 0 JMISC(3) 10 3X36 ANDX 0 PBITS910(1) 17 3XGQ BZE 0 PDEL1A [JUMP IF SWAPPED O4T 20 3Y2B PROGAXES 3,PWAIT [IF WE CANNOT ACCESS PROG. WAIT 18 3YG2 [AND THEN JUMP TO PWAIT 8 3Y_L FPCACA 1,FX2 17 42DG HUNT2OPT 1,AOBJPROG,0 [FREE OBJ PROG BLOCK 19 42LQ FREEPROG 1,3 [SET AOBJPROG UP AS VALID FPB 21 43CQ [PROG-BLOCK COMES BEFORE AN ACT.BLK. 19 43XB ENDPAXES 3 [SIGNAL END OF PROGRAM ACCESS 5 44WL PDEL1A 4 44Y_ [ 4 44_Q [ 19 452H [ IF VALID FPB EXISTS FOR THIS PROGRAM,THEN MAKE IT INVALID 4 453# [ 17 4545 JBC NOFPB,3,JBWASIN [J IF NO VALID FPB 9 454W BC 3,JBWASIN 9 455M LDX 0 JOBNUM(3) 9 456D LDN 2 BOBJUNUSE 21 4579 NEXT LDX 2 FPTR(2) [GET FIRST/NEXT BLOCK ON FPB CHAIN 21 4582 BXE 2 CXOBJUN,(GEOERR) [GEOERR IF NO FPB WITH SAME JOBNUM 11 458R BXU 0 JOBNOWAS(2),NEXT 20 459J STOZ JOBNOWAS(2) [STOZ JOBNUM AS NOW INVALID FPB 9 45=* LDX 0 ALOGL(2) 20 45?6 ADS 0 CINVFPB [UPDATE TOTAL OF ONVALID FPB'S 8 45?X LDX 2 FX2 5 45#N NOFPB 8 45B= # FREE BACKING STORE 8 45TW FPCACA 3,2 18 46*G HUNT2J 3,BSTB,BSCB,,NODEL [JUMP IF NO SCB,SINCE NO 20 46T6 [SWAP SPACE WILL HAVE BEEN BOOKED 20 47#Q LDX 4 BSHEET(3) [TOTAL NO OF SHEETS FOR PROGRAM 6 47C* ...#UNS BIWRFL 4 47FY ...( 20 47JH ... BZE 4 NODEL [IF WRITE-FAIL MAYBE NO SHEETS 14 47M6 ... [TO FREE 4 47PP ...) 18 47SB ADN 4 2 [ALLOWANCE FOR THE HEADER 21 48#2 SETUPCORE 4,3,FILE,FRB [SET UP THE BACKING STORE LIST BLOCK 7 48RL FPCACA 2 10 49?= HUNT2 2,BSTB,BSCB 20 49QW STO 4 A1(3) [INSERT THE LENGTH OF THE LIST. 9 4==G LDX 4 AOBJLF(2) 21 4=Q6 STO 4 A1+1(3) [STORE LOGICAL FILE NO.IN BS LIST BLO 15 4?9Q LDX 5 BSHEET(2) [NO.OF SHEETS 19 4?PB STOW LDX 4 AOBJST(2) [THE FIRST O/P BLOCK ENTRY 17 4#92 STO 4 A1+2(3) [INSERT ENTRY IN LIST 19 4#NL ADN 2 1 [STEP X2 TO NEXT O/P BS HOME 21 4*8= ADN 3 1 [STEP X3- POINTER TO NEXT FREE WORD 21 4*MW BCT 5 STOW [ARE ALL THE O/P BS HOMES INSERTED? 17 4B7G FREEALL [FREE ALL THE SHEETS 5 4BM6 NODEL 4 4C6Q ) 9 4CLB # RELEASE PERIPHERALS 8 4D62 CALL 5 PDEL 7 4DKL # MURDER PCA 7 4F5= LDX 4 3 8 4FJW FJOCA 3,2 9 4G4G TESTLOAD 3,NLOAD 20 4GJ6 LDXC 6 6 [NO DELETED MESSAGE UNLESS LOADED 7 4H3Q BCS / 5 4HHB NLOAD 17 4J32 LDCT 1 #767 [CLEAR PCACA BIT AND 18 4JGL ANDS 1 JMISC(3) [SET NO CORE IMAGE BEFORE 16 4K2= LDN 5 1 [MURDERING PCA 18 4KFW SBS 5 ACTPROGS [REDUCE COUNT OF PROGS 8 4K_G LDN 5 #1400 10 4LF6 ERS 5 CONTEXT(2) 7 4LYQ LOCK 4 19 4MDB ORELP 4 [CLOSES ANY FILES OPEN TO THE 17 4MY2 [PCA THEN MURDERS IT 7 4NCL LDXC 6 6 18 4NX= BCC PDEL2A [JUMP IF ERROR IN LOAD 9 4PBW # OUTPUT DELETED MESSAGE 14 4QB6 LDN 4 9 [PREPARE 17 4RT2 OUTBLOCK 4 [PREPARE MONOUT BLOCK 12 4S#L # OUTPUT MILL TIMES AND REAL TIME 13 4SS= OUTPARC JOBMILL,TIMENOW,PROGMILL 18 5286 MONOUT JXDELETED [OUTPUT DELETED MESSAGE 5 52MQ PDEL2A 7 52SY #SKI JWPHASE4 14 52YC HLSINFORM ZBREAKCONT,DELETE,JOBNO(2) 6 533W ZBREAKCONT 8 537B FJOCA 3,2 8 53M2 # SHORTEN JOB BLOCK 21 546L NGX 5 JCSIZE(3) [NEGATED CORE SIZE FOR R/T BUDGET UPD 18 54L= NOCORJOB 3 [RE-INITIALISE JOB-BLOCK 5 555W UP UP 4 55KG # 20 5656 P10B NGN 6 1 [SET RESUME WITH NO ENTRY POINT 19 56JQ BNZ 5 R15 [BRN TO RUN PROG IF RESUME 17 574B LDN 6 20 [GO AT 20 FOR ENTER 17 57J2 BRN PERRX [ WITH NO PARAMETER 4 583L # 4 58H= # 4 592W # 17 59GG XENT5 [ENTRY FROM RESUME 18 5=26 STOZ AWORK4(2) [ZEROISE LOADING MARKERS 18 5=FQ NGN 6 1 [IN CASE NO ENTRY POINT 16 5=_B LDN 5 1 [RESUME MARKER 7 5?F2 PARAPASS 10 5?YL MHUNT 3,CPB,CUNI 9 5#D= NGX 4 ANUM(3) 18 5#XW BPZ 4 P3X [NULL ROR NON EXISTENT 9 5*CG LDCH 0 APARA(3) 13 5*X6 SBN 0 #12 [: 8 5BBQ BZE 0 P2 13 5BWB SBN 0 #7 [! 8 5CB2 BZE 0 P2 8 5CTL SBN 0 #20 8 5D*= BNG 0 P3X 8 5DSW SBN 0 #32 14 5F#G BNG 0 P2 [A LETTER 4 5FS6 P3X 19 5G?Q # 1ST PARAM DOESN'T LOOK LIKE FILENAME - ASSUME IT IS A NUMBER 8 5GRB LDN 0 #1000 10 5H?2 ANDX 0 CONTEXT(2) 16 5HQL BZE 0 XNOCORE [NO CORE IMAGE 15 5J== BZE 4 R15 [NULL PARAM 15 5JPW BPZ 4 R151 [NO PARAMS 8 5K9G BRN P12 4 5KP6 P2 11 5L8Q # 1ST PARAM LOOKS LIKE FILENAME 9 5LNB MFREE CPB,CUNI 20 5M82 SPARANOT 1 [GET 1ST PARAM AGAIN WITH SPACES 15 5MML ACROSS LDSTART,7 [LOAD PROGRAM 4 5N7= # 4 5NLW # 4 5P6G # 21 5PL6 XENT1 [ENTRY FROM LOADPROG TO RUN THE PROGR 9 5Q5Q LDX 0 XLDEXA(2) 17 5QKB STO 0 AWORK4(2) [SAVE LOADING MARKERS 16 5R52 LOADNOW ZBRKIN,ZENDCOM,1 [LOAD THE PROGRAM 16 5RJL LDN 6 0 [ZEROISE MARKER 7 5S4= LDN 0 2 9 5SHW ANDX 0 AWORK4(2) 18 5T3G BZE 0 NOTLE [JUMP IF NOT LOADENTER 7 5TH6 PARAPASS 21 5W2Q MFREE CPB,CUNI [MARKS THE FIRST PARAMETER AS ACCESSE 5 5WGB NOTLE 8 5X22 LDX 0 BIT11 9 5XFL ANDX 0 AWORK4(2) 21 5X_= BNZ 0 XLOADED [JUMP IF GPL BECAUSE WE DO NOT NEED 16 5YDW [TO RESET WORD 8 7 5YYG LDN 0 4 9 5_D6 ANDX 0 AWORK4(2) 17 5_XQ BZE 0 NORM [JUMP IF NOT RESUME 7 62CB NGNC 5 1 4 62X2 NORM 16 63BL LDN 5 0 [LOADENTER MARKER 8 63W= BRN P10A 21 64*W XENT2 [ENTRY POINT FOR THE ENTER COMMAND 18 64TG STOZ AWORK4(2) [ZEROISE LOADING MARKERS 15 65*6 LDN 5 0 [ENTER MARKER 16 65SQ P10A PARAPASS [GET NEXT PARAM 18 66#B MHUNT 1,CPB,CUNI [FIND THE PARAMETER BLOCK 9 66S2 NGX 0 ANUM(1) 17 67?L BPZ 0 P10B [NULL OR NO PARAM. 7 67R= P12 CHNUMCOD 17 68=W TESTREP CHNUMERR,ZENDCOM [DID IT CONVERT OK? 10 68QG LDX 6 ACOMMUNE1(2) 9 69=6 ANDX 6 BITS22LS 17 69PQ BNZ 5 PERRX [BRN IF RESUME,ELSE 16 6=9B BNG 6 PERY [-'VE ENTRY POINT 17 6=P2 SBN 6 10 [CHECK ENTRY POINT 8 6?8L BNG 6 PERR 4 6?N= PERY 17 6#7W COMERR JENTER [ENTRY POINT INVALID 17 6#MG PERR ADN 6 30 [NOW IN RANGE 20-29 5 6*76 PERRX 4 6*LQ R15 10 6B6B PAPARAM XERR,XERR1 20 6BL2 R151 MFREE CPB,CUNI [FREE THE LAST PARAMETER BLOCK 4 6C5L # 4 6CK= R152 8 6D4W FJOCA 3,FX2 16 6DJG TESTLOAD 3,XLOADED [TEST IF LOADED 16 6F46 LOADNOW ZBRKIN,ZENDCOM,0 [LOAD THE PROGRAM 19 6FHQ STOZ AWORK4(2) [INITIALISE LOADING MARKERS 5 6G3B XLOADED 11 6GH2 HUNTW 2,APED,ANEVENT 8 6H2L BNG 2 RNO 19 6HG= FREECORE 2 [FREE EVENT BLOCK IF PRESENT 8 6H_W BRN RNO1 10 6JFG RNO VFREEW APED,ADELETE 4 6J_6 RNO1 21 6KDQ BNG 6 RNO2 [NO ENTRY PT GIVEN IN RESUME COMMAND 8 6KYB FPCACA 2,FX2 15 6LD2 LDCT 0 #340 [B1 STATE SL 9 6LXL ORS 0 ASU1(2) 9 6MC= ORS 0 ASU1(2) 9 6MWW ORS 0 ASU2(2) 9 6NBG ORS 0 ASU3(2) 9 6NW6 ORS 0 ASU4(2) 16 6P*Q ERS 0 ASU1(2) [TICKLE MEMBER 0 8 6PTB LDCT 0 #140 9 6Q*2 ERS 0 ASU2(2) 9 6QSL ERS 0 ASU3(2) 19 6R#= ERS 0 ASU4(2) [STATE SL FOR OTHER MEMBERS 8 6RRW LDX 0 BIT11 8 6S?G SMO FX2 9 6SR6 ANDX 0 AWORK4 15 6T=Q BNZ 0 RNO2 [JUMP IF GPL 20 6TQB # THE START OF THE PROGRAM MUST BE BROUGHT INTO CORE TO SET WDS 8,9 9 6W=2 LDX 5 ANM(2) 17 6WPL ANDN 5 3 [CURRENT MEMBER NO. 18 6X9= ERS 5 ANM(2) [SET CURRENT MEMBER TO 0 7 6XNW SLL 5 4 21 6Y8G ADN 5 32+16 [X5 CONTAINS SIZE OF AREA TO BE REFER 12 6YN6 LDN 4 0 [ 20 6_7Q GETWORD 4,1,WRITE,4,5 [ADDR OF 1ST [5] WDS OF PROGRAM 9 6_MB TESTREPN OK,XGETWD 21 7272 # IF LAST MEMBER RUN WAS NOT 0 WE MUST DUMP ITS ACCS ETC AND RESTART IN 8 72LL SMO FX1 8 736= TXU 5 N48 19 73KW BCC RNO3 [J IF LAST MEMBER RUN WAS 0 7 745G LDX 2 1 7 74K6 ADX 2 5 21 754Q SBN 2 16 [X2 IS START OF DUMP AREA FOR LAST ME 19 75JB MOVE 1 16 [DUMP THIS MEMBERS WORDS 0-15 7 7642 LDX 5 1 8 76HL LDN 4 32(1) 18 773= MOVE 4 16 [MEMBER 0'S WORD RESTORED 17 77GW RNO3 STO 6 8(1) [INSERT ENTRY POINT 17 782G STOZ 9(1) [ZEROISE REPLY WORD 7 78G6 WORDFIN 5 78_Q XENT9 8 79FB RNO2 FJOCA 3,FX2 10 79_2 LDX 4 APROGTIME(3) 8 7=DL BNG 4 RMORE 9 7=Y= BNZ 4 RNOMORE 11 7?CW LDX 4 APROGTIME+1(3) 9 7?XG BNZ 4 RNOMORE 5 7#C6 RMORE 9 7#WQ LDX 4 IPROGTIME 8 7*BB SMO FX1 21 7*W2 MPY 4 P1000 [CONVERT PROG TIME TO MILLISECONDS 10 7B*L STO 4 APROGTIME(3) 11 7BT= STO 5 APROGTIME+1(3) 5 7C#W RNOMORE 8 7CDR LDX 2 FX2 7 7CFJ #UNS FREEBUFF 4 7CG* ( 12 7CH6 FREEBUFF [ FREEBUFF CPAT 4 7CHX ) 7 7CJN #SKI JWPHASE4 13 7CNK HLSINFORM ZBRKIN,RESUME,JOBNO(2) 7 7CSG RUNPROG 4 7D#6 # 5 7DRQ ZBRKIN 18 7F?B COMBRKIN [BREAK-IN DETECTED DURING 16 7FR2 [LOADNOW(X) MACRO 5 7G=L ZENDCOM 20 7GQ= ENDCOM [TO THE COMMAND PROCESSOR IF THE 21 7H9W # [RESUME OR LOADENTER COMMAND HAS FAIL 16 7HPG # THIS SUBROUTINE DEALS WITH REALTIME PROGRAMS 5 7J96 RLTIME 7 7JNQ LDN 6 0 8 7K8B FJOCA 3,FX2 19 7KN2 TESTRT RT2,3 [HAS REALTIME BEEN EFFECTED? 16 7L7L TESTRTQ RT1,3 [IS REALTIME SET? 17 7LM= EXIT 7 0 [NOT REALTIME PROGRAM 4 7M6W RT1 8 7MLG RT2 SBX 7 FX1 17 7N66 CALL 5 PDEL [RELEASE PERIPHERALS 10 7NKQ DOWN REALTIME,3 8 7P5B ADX 7 FX1 7 7PK2 EXIT 7 0 4 7Q4L # 17 7QJ= # THIS SUMR RELEASES ALL THE PROGRAMS PERIPHERALS 4 7R3W # 8 7RHG PDEL SBX 5 FX1 8 7S36 PDEL1 FPCACA 3,FX2 12 7SGQ HUNT2 1,APERI,APERIRES,3 8 7T2B LDX 0 A1(1) 8 7TG2 BNG 0 PDELF 7 7T_L RELPEREN 0 8 7WF= BRN PDEL1 8 7WYW PDELF ADX 5 FX1 7 7XDG EXIT 5 0 4 7XY6 # 4 88PB # 4 8992 # 9 89NL XERR COMERR APFERR 9 89YD XERR1 COMERR JMAXPAR 5 8=8= XNOCORE 11 8=MW COMERR JCONTINC,JNOCOR 5 8?7G XGETWD 9 8?M6 GEOERR 1,GETWORD 11 8#6Q MENDAREA 30,K99PROSTART 4 8#LB #END 8 ____ ...73414344000100000000