10 24D6 #OPT K0PMBRKCHS=0 14 24XQ #LIS K0PMBRKCHS>K0POST>K0ALLGEO 4 25CB # 18 25X2 ...#SEG PMBRKCHS84 [ KAREL KOSKUBA - DIAG 7 26BL 8HPMBRKCHS 4 26W= # 4 27*W # 10 27TG # ENTRY POINT TABLE 4 28*6 # 4 28SQ # 11 29#B ... SEGENTRY K1PMBRKCHS,XK1PMBRKCHS 11 29S2 ... SEGENTRY K2PMBRKCHS,XK2PMBRKCHS 4 2=?L ...# 4 2=R= ...# 8 2F6B FIXTRA FDTABLESTRE 7 2FL2 #REP 6 8 2G5L +0 8 2GK= ... FIXTRA CCTABLESTRE 7 2H4W #REP 6 8 2HJG +0 17 2KH2 FIXTRA JSWAPFDTRUE [ STORE FOR SWAP FD 11 2L2L +FDTABLESTRE-A1 7 2S*Q FIXTRA CRABMIN 19 2STB -1 [ LOWER EXTENT OF CRUPTION 7 2T*2 FIXTRA CRABMAX 19 2TSL -1 [ UPPER EXTENT OF CRUPTION 8 2TYW ... FIXTRA BINDEXCONT 21 2W56 ... +0 [ HOLDS ORIGINAL CONTENTS OF BINDEX 8 2W6H ... FIXTRA AFDTPDUMP 21 2W7Y ... +0 [ HOLDS ORIGINAL CONTENTS OF AFDTP 21 2W8? ... FIXTRA JSWAPDRST [ STORAGE FOR SWAP FILE DEVICE REC. 7 2W8L ...#REP K53-K50 8 2W8_ ... +0 15 2W9B ...XHEADLINE 32HCORE PRINT AROUND CHAIN BREAKS 19 2W*L ...MESS 43HPMBRKCHS:- POINTERS TO SWAP FILE NOT SET UP 12 2WFW ... 16HCRABS ABANDONED 8 2WL6 ...XLINK7 +0 17 2WQB ...XDIFF +0 [ USED IN PRINTER 17 2WWL ...XCOUNT +0 [ USED IN PRINTER 17 2X2W ...POINTER +0 [ USED IN PRINTER 17 2X76 ...XPASS +0 [ USED IN PRINTER 8 2X?G X250 +250 8 2XR6 X1024 +1024 8 2Y=Q TWO +2 8 2YF2 ...PMBRKEND +ZEND 4 2_=2 # 4 2_PL # 13 329= # SUBROUTINE PRINTER 4 32NW # 4 338G # 18 33N6 # TO PRINT A DEFINED AREA OF VARIABLE CORE 20 347Q # ENTRY X5 EXTENT OF PRINT EACH SIDE OF X6 17 34MB # X6 CENTER OF PRINT AREA 4 3572 # 15 35LL # EXIT ALL ACCS UNDEFINRD 4 366= # 4 36KW # 5 375G PRINTER 9 37K6 ... STO 5 XDIFF(1) 9 384Q ... STO 5 XCOUNT(1) 10 38JB ... STO 6 POINTER(1) 9 3942 ... STO 7 XLINK7(1) 19 39HL ADX 6 5 [ CALCULATE END OF PRINT AT5A 16 3=3= TXL 6 CORES [ IS IT IN CORE 16 3=GW BCS XINCORE [ J IF IN CORE 19 3?2G LDX 4 CORES [ RESET CENTRE OF PRINT AREA 21 3?G6 SBX 4 5 [ SUCH THAT END OF PRINT IS WITHIN C 10 3?_Q ... STO 4 POINTER(1) 5 3#FB XINCORE 8 3#_2 ... CALL 7 (JUP) 8 3*DL +65 9 3*Y= BRN SECOND 5 3BCW XFIRST 20 3BXG ... LDX 5 POINTER(1) [ LOAD POINTER TO MIDDLE OF AREA 21 3CC6 ... SBX 5 XDIFF(1) [ CALCULATE AREA FOR FIRST COLUMMN 8 3CWQ ... CALL 7 (JUP) 8 3DBB +4 20 3DW2 ...START CALL 7 (JDECN) [ CONVERT ADDRESS TO DECIMAL 8 3F*L ... CALL 7 (JUP) 8 3FT= +2 7 3G#W SMO 5 21 3GSG LDX 5 0 [ PICK UP CONTENRS OF CURRENR ADDRESS 19 3H#6 ... CALL 7 (JDECP) [ CONVERT TO DECIMAL (N.N) 8 3HRQ ... CALL 7 (JUP) 8 3J?B +2 17 3JR2 ... CALL 7 (JCHA) [ CONVERT TO CHARS 8 3K=L ... CALL 7 (JUP) 8 3KQ= +2 17 3L9W ... CALL 7 (JOCT) [ CONVERT TO OCTAL 8 3LPG ... CALL 7 (JUP) 8 3M96 +2 8 3MNQ LDX 4 JPMOD 9 3N8B ... LDX 1 FXINPRIN 9 3NN2 LDN 6 K1INPRIN 7 3P7L SMO 1 20 3PM= CALL 0 (6) [ CONVERT TO INSTRUCTION FORMAT 8 3P_M ... LDX 1 FXPM1 20 3Q#4 ... CALL 7 (JUP) [ SPACE TO END OF COLUMMNMNM 8 3QLG +16 15 3R66 ... LDX 7 XPASS(1) [ WHICH PASS 9 3RKQ ... BNZ 7 XFINISH 18 3S5B ... CALL 7 (JUP) [ SPACE FOR SECOND PASS 8 3SK2 +8 5 3T4L SECOND 18 3TJ= ... STO 6 XPASS(1) [ SET SECOND PASS SWITCH 18 3W3W ... LDX 5 POINTER(1) [ LOAD POINTER TO ADDRESS 19 3WHG BRN START [ J TO START OF PRINR ROUTINE 5 3X36 XFINISH 17 3XGQ ... CALL 7 (JPRINT1) [ PRINT LINE SET UP 9 3Y2B ... STOZ XPASS(1) 14 3YG2 ... LDN 7 1 [ LOAD 1 16 3Y_L ... SBS 7 XCOUNT(1) [ UPDATE COUNT 16 3_F= ... ADS 7 POINTER(1) [ AND POINTER 17 3_YW ... LDX 7 XCOUNT(1) [ IS COUNT EXHAUSTED 21 42DG ... BNZ 7 XFIRST [ J IF NOT TO LOOK AT NEXT ADDRESS 9 42Y6 ... LDX 7 XLINK7(1) 7 43CQ ... EXIT 7 0 4 5*X6 # 4 5BBQ # 12 5BWB # ENTRY POINT FROM PMDR 4 5CB2 # 4 5D*= # 4 5DSW # 6 5F#G XK1PMBRKCHS 4 5FS6 # 4 5G?Q # 4 5H?2 # 4 5HQL # 8 5HRC ... LDX 1 FXPM1 15 5HS8 ... ADS 1 PMBRKEND(1) [ DATUMISE 15 5HS_ ... ADS 1 JSWAPFDTRUE(1) [ DATUMISE 4 5HTQ ...# 18 5HW6 ...# CHECK THAT FINDFS HAS SET UP THE SWAP FILE DEVICE LIST 18 5HWG ...# POINTER IN JSWAPDR AND THAT PMDR HAS SET UP THE FILE 14 5HWW ...# DESCRIPTION BLOCK POINTER IN JAFDTP 4 5HX# ...# 9 5HY5 ... LDX 6 JSWAPDR 17 5HYC ... BZE 6 NOSWAP [J IF NOT YET SET UP 9 5HYK ... SMO FXPMDR 9 5HYR ... LDX 7 JAFDTP 19 5H_3 ... BNZ 7 SWAPOK [J IF BOTH POINTERS SET UP OK 5 5H_* ...NOSWAP 15 5H_M ... PMESSAGE MESS(1),15 [EXPLANATION 17 5J2D ... BRN (JPMSEG) [ QUIT THIS SEGMENT 4 5J39 ...# 13 5J3# ...# WAIT FOR SWAPFILE TO BECOME AVAILABLE 4 5J3C ...# 5 5J3G ...WAITSWAP 5 5J3K ...SWAPOK 11 5J3N ... JBUSY JSWAPDR,WAITSWAP 4 5J3R ...# 12 5J42 ...# SAVE SWAPFILE DEVICE RECORD 4 5J4R ...# 3 5J5J ... 10 5J6* ... LDN 7 JSWAPDRST(1) 9 5J76 ... MOVE 6 K53-K50 4 5J7X ...# 19 5J8N ...# SAVE THOSE PARTS OF VARIABLE CORE NEEDED FOR B/S TRANSFERS 4 5J9F ...# 9 5J9R ... SMO FXPMDR 9 5J=5 ... LDX 6 JAFDTP 19 5J=C ... SMO FXPM1 [AND SAVE ORIGINAL CONTENTS 14 5J=W ... STO 6 AFDTPDUMP [OF AFDTP 9 5J?* ... ADX 6 JSWAPFD 19 5J?S ... LDN 7 FDTABLESTRE(1) [ SAVE SWAP FILE DESCRIPTION 7 5J#K ... MOVE 6 6 9 5J#T ... SBX 7 JSWAPFD 9 5J*2 ... SMO FXPMDR 9 5J*7 ... STO 7 JAFDTP 9 5J*B ... LDX 6 BINDEX 19 5JB7 ... STO 6 BINDEXCONT(1) [ SAVE CONTENTS OF BINDEX 19 5JBY ... ADN 6 A1 [ DATUMISE GEORGE FD POINTER 20 5JCP ... LDN 7 CCTABLESTRE(1) [ SAVE GEORGE FILE DESCRIPTION 7 5JDG ... MOVE 6 6 15 5JF? ... SBN 7 A1 [ DATUMISE 21 5JG4 ... STO 7 BINDEX [ RESET BINDEX TO POINT AT SAVED FD 4 5JGT ...# 15 5JMH ...# READ DOWN PMCRABS AND ENTER THE SEGMENT 4 5JN# ...# 13 5JP5 ... PMOVE PMCRABS,PMBRKEND(1),1,2 4 5JPW # 4 5K9G # 17 5KP6 # SEGMENT PMCRABS RETURNS TO THIS POINT 15 5L8Q # WHEN IT HAS EXECUTED IT'S CODE 4 5LNB # 6 5M82 XK2PMBRKCHS 8 5MML ... LDX 1 FXPM1 10 5N7= ... LDX 2 CRABMIN(1) 18 5NLW ... BNG 2 (JPMSEG) [ J IF NO BROKEN CHAINS 19 5P6G ... PMOVE PMINPRIN,PMBRKEND(1) [ GET PMINPRIN INTO CORE 8 5PL6 ... LDX 1 FXPM1 16 5Q5Q ... PMESSAGE XHEADLINE(1),8 [ PRINT HEADING 9 5QKB ... CALL 7 (JPRINT1) 10 5R52 ... LDX 3 CRABMAX(1) 19 5RJL ... NGN 6 1 [ IF ANY CHAIN BREAKS THEN 9 5S4= ... SMO FXPMDR 20 5T3G STO 6 APMBRKCHS [ SET SWITCH FOR PMFS SEGMENT 18 5W2Q BPZ 3 PR1 [ TWO ADDRESSES TO SET UP 10 5WGB ... LDX 2 CRABMIN(1) 21 5X22 ... STO 2 CRABMAX(1) [ MAX = MIN ONE ADDRESS TO SET UP 4 5XFL PR1 15 5X_= ... CALL 7 (JPRINT1) [ THROW ALINE 20 5YDW ... LDX 5 CRABMAX(1) [ CALCULATE THE VALUE MAX - MIN 10 5YYG ... SBX 5 CRABMIN(1) 20 5_D6 ADN 5 200 [ MAX - MIN = 100+MAX-(MIN-100) 16 5_XQ ... TXL 5 X1024(1) [ IS IT < 1024 15 62CB BCC PR5 [ J IF NOT 16 62X2 ... DVS 4 TWO(1) [ CALCULATE XDIFF 14 63BL BZE 4 PR6 [ ROUND 15 63W= ADN 5 1 [ UP RESULT 21 64*W ...PR6 LDX 6 CRABMIN(1) [ X5 = NO OF LINES TO PRINT EACH SIDE 18 64TG ADX 6 5 [ X6 = CENTRE OF PRINTING 17 65*6 SBN 6 100 [ ADJUST BY OVERLAP 14 65SQ CALL 7 PRINTER [ PRINT 14 66#B ... BRN (JPMSEG) [ FINISH 18 66S2 ...PR5 LDX 5 X250(1) [ PRINT AREA AROUND MIN 10 67?L ... LDX 6 CRABMIN(1) 15 67R= CALL 7 PRINTER [ + 250 WORDS 9 68=W ... CALL 7 (JPRINT2) 21 68QG ... LDX 5 X250(1) [ PRINT AREA AROUND MAX +- 250 WORDS 10 69=6 ... LDX 6 CRABMAX(1) 9 69PQ CALL 7 PRINTER 9 6=9B ... BRN (JPMSEG) 4 6=P2 ...ZEND 4 6?8L #END 6 ____ ...455540160008