PMJOBS866
(George Source)
Macros used: JENVNOT, MILL, NAME, OCPSMILL, ON, P, PMCORES, PMOVE, SEGENTRY
- PMJOBS866.txt
23YG #OPT K0PMJOBS=0 24D6 #LIS K0PMJOBS>K0POST>K0ALLGEO 24XQ # 25CB ...#SEG PMJOBS84 [KAREL KOSKUBA - DIAG 25X2 # 26BL # THIS SEGMENT GIVES A LISTING (PRIOR TO THE POSTMORTEM LISTING) OF 26W= # ALL JOBS IN THE SYSTEM AT THE TIME OF THE ENTRY TO POSTMORTEM. IF 27*W # NO LP IS AVAILABLE THE INFORMATION IS OUTPUT ON THE OPERATORS 27TG # CONSOLE 28*6 # 28SQ 8HPMJOBS 29#B # 29S2 # ENTRY POINT TABLE 2=?L # 2=R= ... SEGENTRY K1PMJOBS,XK1PMJOBS 2?QG # 2#=6 XHEADA +16,16H^*JOBS IN SYSTEM 2#PQ XHEADB +23,23H^* JOB NAME,:USER NAME 2*9B NONE +8,8H^* NONE 2*P2 XARROW 4H^* 2B8L XLOST +52,40H^* DUE TO CORRUPTION THIS LIST MAY BE I 2BN= 12HNCOMPLETE ^* 2C7W #SKI G3 2CMG XHEADC 40H GEORGE3 LOADED AT ON 2D76 #SKI G4 2DLQ XHEADC 40H GEORGE4 LOADED AT ON 2DN3 ...XMILL1 16HDME MILL PERCENT 2DP# ...XMILL2 8HAGE IS 2DQK ...XMILL3 20HAGES ARE : OVERALL 2DRW ...XMILL4 4H,OCP 2DT7 ...XPERCENT 4H % 2DWD ...XLPMOD +0 2DXP ...XOCPNO +0 2D^2 ...XLPMAX +0 2F2? ...ZERO +0 2F3J ...SAVE5 +0 2F4T ...SAVE6 +0 2F6B SPACE #20 2FL2 SPACEFUL #20202020 2G5L XCOMCOL 4H,: 2GK= XBACK +0 [TO HOLD ADDR. OF PREVIOUS BLOCK ON 2H4W [CHAIN 2HJG XFIN +0 [IF POSITIVE =BACKWARD CHAINING 2J46 XBHLSQ +BHLSQ 2JHQ XBASE +BJOBQ 2K3B NEXT +0 [TO HOLD ADDR. OF NEXT BLOCK IN CHAIN 2KH2 XCOUNT +0 [COUNT OF NO. OF JOBS IN SYSTEM 2L2L X45 +45 2LG= XLINK +0 2L^W QIND +0 [SET 0 WHEN SEARCHING HLSQ 2MFG XCRUPT +0 [ INDICATES EITHER JOBQUEOR HLSQ CRU 2M^6 P 8HSAVED 2NDQ Q 4HMOP 2NYB [ 2PD2 [ ROUTINE TO GET NEXT BLOCK ON CHAIN WHEN FORWARD CHAINING 2PXL [ ENTRY X2=ADDR. OF CURRENT BLOCK 2QC= [ EXIT 0 1 IF FORWARD & BACKWARD POINTERS CORRECT 2QWW [ X2,X3=ADDR. OF NEXT BLOCK 2RBG [ X0=LINK 2RW6 [ EXIT 0 0 IF BREAK IN CHAIN DETECTED 2S*Q [ X3=ADDR. OF NEXT BLOCK 2STB [ (SEARCHA:ENTRY POINT FOR FIRST BLOCK ON CHAIN 2T*2 [ 2TSL SEARCH 2W#= LDX 3 BPTR(2) 2WRW ... TXU 3 XBACK(1) [J IF BPTR IN CURRENT 2X?G BCS S1 [BLOCK INCORRECT 2XR6 SEARCHA 2Y=Q ... STO 2 XBACK(1) 2YQB LDX 3 FPTR(2) [GET ADDR. OF NEXT BLOCK 2^=2 S3 PMCORES 3,S1 2^PL ... TXL 3 X45(1) 329= BCS S1 32NW S2 LDX 2 3 338G EXIT 0 1 33N6 S1 EXIT 0 0 [BREAK IN CHAIN 347Q [ 34MB [ ROUTINE TO GET ADDR. OF NEXT BLOCK IN CHAIN WHEN BACKWARD CHAINING 3572 [ ENTRY AND EXIT AS SEARCH 35LL [ (SEARCHC:ENTRY POINT FOR FIRST BLOCK ON CHAIN 366= [ 36KW SEARCHB 375G LDX 3 FPTR(2) 37K6 ... TXU 3 XBACK(1) [J IF FPTR IN CURRENT 384Q BCS S1 [BLOCK INCORRECT 38JB SEARCHC 3942 ... STO 2 XBACK(1) 39HL LDX 3 BPTR(2) [GET ADDR. OF NEXT BLOCK 3=3= BRN S3 3=GW [ 3?2G [ 3?G6 [ ROUTINE TO GET JOB AND USER NAME FROM NEXT BLOCK IN JOB Q OR HLSQ 3?^Q [ ENTRY NEXT=START ADDR. OF CURRENT BLOCK IN QUEUE 3#FB [ EXIT NEXT=UPDATED TO FOLLOWING BLOCK 3#^2 [ X6=NO. OF CHARS. IN JOB,:USER NAME 3*DL [ ALL OTHER ACCS UNDEFINED 3*Y= [ JOB & USER NAMES STORED IN PRINT BUFFER STARTING AT 3RD WORD 3BCW [ 3BXG NAMEJOB 3CC6 [ 3CWQ [ GET ADDR. OF NEXT BLOCK ON QUEUE 3DBB [ 3DW2 ... STO 7 XLINK(1) [STORE LINK 3F*L ... LDX 2 NEXT(1) 3FT= ...N LDN 3 SEARCH(1) 3G#W ... LDX 7 XFIN(1) 3GSG BZE 7 N1 [J IF FORWARD CHAINING 3H#6 ... LDN 3 SEARCHB(1) 3HRQ N1 CALL 0 (3) [ADDR. OF NEXT BLOCK 3J?B BRN N4 [J IF BREAK IN CHAIN 3JR2 ... TXU 2 XBASE(1) 3K=L BCS N5 [J IF NOT BASE OF QUEUE 3KQ= [ 3L9W [ TEST & EXIT IF BOTH HLSQ & JOB QUEUE SCANNED 3LPG [ 3M96 ...N2 LDX 7 QIND(1) 3MNQ BZE 7 N3 [J IF HLSQ TO BE SCANNED 3N8B ... LDX 7 XLINK(1) 3NN2 EXIT 7 1 3P7L [ 3PM= [ SET TO SCAN HLSQ 3Q6W [ 3QLG ...N3 LDX 2 XBHLSQ(1) [BASE OF Q 3R66 ... STO 2 XBASE(1) 3RKQ ... STO 2 QIND(1) [Q INDICATOR 3S5B ... STOZ XFIN(1) [RESET FORWARD/BACKWARD CHAINING IND. 3SK2 ... LDN 3 SEARCHA(1) 3T4L BRN N1 [J TO GET ADDR. OF 1ST BLOCK IN Q 3TJ= [ 3W3W [ IF BREAK IN CHAIN 3WHG [ 3X36 ...N4 LDX 7 XFIN(1) 3XGQ BNZ 7 N2 [J IF THIS IS 2ND BREAK 3Y2B LDN 7 1 3YG2 ... STO 7 XFIN(1) [SET BACKWARD CHAINING IND 3Y^L ... LDX 2 XBASE(1) [BASE OF Q 3^F= ... LDN 3 SEARCHC(1) [J TO GET ADDR. OF 3^YW BRN N1 [1ST BLOCK ON Q BACKWARD CHAINING 42DG [ 42Y6 [ IF POINTERS TO NEXT BLOCK OK 43CQ [ 43XB N5 LDX 3 FPTR(2) 44C2 ... LDX 4 XFIN(1) 44WL ... BNZ 4 SS1 45B= LDX 3 BPTR(2) 45TW ...SS1 TXU 3 XBACK(1) 46*G BCC NN5 [ IS AT LEAST THE BPTR OK FOR THIS BL 46T6 LDN 3 1 [ NO SO SET FLAG 47#Q ... STO 3 XCRUPT(1) 47SB BRN N4 [ AND DON'T BOTHER SEAECHING ANY MORE 486R ...NN5 LDX 7 QIND(1) 48F8 ... STO 2 NEXT(1) [ SAVE THIS ADDRESS 48RL BNZ 7 N9 [J IF SCANNING HLSQ 49?= LDX 7 JMISC(2) 49QW BNG 7 X 4==G ... LDN 1 Q(1) 4=Q6 STO 2 3 4?9Q LDX 2 JOZ 4?PB ADN 2 2 4#92 BCHX 2 £ 4#NL MOVE 1 1 4*8= STO 3 2 4*MW X LDN 3 JNAME(2) [START OF JOB NAME 4B7G LDN 7 JUSER(2) [START OF USER NAME 4BM6 [ 4C6Q [ MOVE JOB & USER NAMES INTO OUTPUT BUFFER 4CLB [ 4D62 N10 LDN 6 12 [CHAR. COUNT 4DKL ... LDX 2 JOZ 4F5= ... ADN 2 4 4FJW ... BCHX 2 £ [OUTPUT BUFFER POINTER 4G4G N7 LDCH 5 0(3) [GET NEXT CHAR. 4GBX ... LDX 1 FXPM1 4GP# ... TXU 5 SPACE(1) 4H3Q BCC N8 [J IF CHAR. = SPACE 4HHB ... DCH 5 0(2) [DEPOSIT IN OUTPUT BUFFER 4J32 ... BCHX 2 £ 4JGL BCHX 3 £ 4K2= BCT 6 N7 [FALL THROUGH WHEN 12 CHARS. DEPOSITD 4KFW N8 SBN 6 34 4K^G NGX 6 6 [NO. OF CHARS. IN OUTPUT BUFFER 4LBG ... LDN 1 XCOMCOL(1) 4LRG ... MVCH 1 2 [MOVE ',:' INTO OUTPUT BUFFER 4M8G ... LDX 1 7 4MKG ... MVCH 1 12 [MOVE USER NAME INTO OUTPUT BUFFER 4N2G ... LDX 1 FXPM1 4NCL LDN 0 1 4NX= ... ADS 0 XCOUNT(1) [COUNT OF JOBS 4PBW ... LDX 7 XLINK(1) 4PWG ... EXIT 7 0 4QB6 [ 4QTQ [ IF SCANNING HLSQ 4R*B [ 4RT2 N9 LDX 7 HLSYONQ(2) 4S#L BPZ 7 N 4SS= STO 2 3 4T?W LDX 2 JOZ 4TRG ADN 2 2 4W?6 BCHX 2 £ 4WQQ ... LDN 1 P(1) 4X=B MOVE 1 2 4XQ2 STO 3 2 4Y9L LDN 3 HLSJNAM(2) [START OF JOB NAME 4YP= LDN 7 HLSUNAM(2) [START OF USER NAME 4^8W BRN N10 4^NG [ 4^NP ...# 4^NY ...# ROUTINE TO INSERT OCP NO. AND MILL % IN PRINT LINE AND PRINT 4^P7 ...# LINE IF NECESSARY 4^PB ...# THIS ROUTINE IS CALLED FROM THE OCPSMILL MACRO 4^PK ...# ONLY APPLICABLE TO CME DUALS ENVIRONMENT 4^PS ...# ENTRY X7 LINK 4^Q3 ...# X4 CONTAINS MILL % INSERTED BY OCPSMILL MACRO 4^Q= ...# XOCPNO CONTAINS OCP NO. INSERTED BY OCPSMILL MACRO 4^QF ...# X0,X5-6 ARE USED BY MACRO 4^QN ...# EXIT X2-4 UNDEFINED 4^QX ...# X0,X5-7 AS ON ENTRY 4^R6 ...# 4^R* ...XOCPRNT 4^RJ ... STO 7 XLINK(1) [SAVE LINK 4^RR ... STO 5 SAVE5(1) [PRESERVE X5&6 4^S2 ... STO 6 SAVE6(1) 4^S9 ... LDX 2 XLPMOD(1) [LOAD BUFFER ADDRESS 4^SD ... LDX 6 XMILL4(1) [INSERT ',OCP' IN 4^SM ... STO 6 0(2) [PRINT BUFFER 4^SW ... LDX 6 XOCPNO(1) [LOAD OCP NO. 4^T5 ... CALL 7 (JGNO1) [CONVERT TO DECIMAL 4^T# ... SLC 5 12 [GET SPACES ON RIGHT 4^TH ... STO 5 1(2) 4^TQ ... LDX 6 4 [LOAD MILL % 4^T^ ... CALL 7 (JGNO1) [CONVERT TO DECIMAL 4^W8 ... SLC 5 6 [GET SPACE ON RIGHT 4^WC ... LDX 7 XPERCENT(1) [LOAD % SIGN 4^WL ... DCH 7 5 [INSERT ON RIGHT 4^WT ... STO 5 2(2) [INSERT MILL % IN BUFFER 4^X4 ... ADN 2 3 [INCREASE BUFFER ADDR 4^X? ... STO 2 XLPMOD(1) 4^XG ... LDX 2 XLPMAX(1) [INCREASE COUNT OF OCP'S 4^XP ... ADN 2 1 [INSERTED IN BUFFER 4^XY ... STO 2 XLPMAX(1) 4^Y7 ... SBN 2 6 [HAVE WE FILLED PRINT LINE 4^YB ... BNZ 2 XEXIT [NO 4^YK ... STOZ XLPMAX(1) [YES 4^YS ... CALL 7 (JPRINT1) [PRINT LINE 4^^3 ... LDX 2 JLPMOD [RESET BUFFER ADDR 4^^= ... ADN 2 11 4^^F ... STO 2 XLPMOD(1) 4^^N ...XEXIT 4^^X ... LDX 5 SAVE5(1) 5226 ... LDX 6 SAVE6(1) 522* ... LDX 7 XLINK(1) 522J ... EXIT 7 0 522R ...# 5232 ...# ROUTINE TO INSERT OVERALL MILL % IN PRINT BUFFER 5239 ...# CME ENVIRONMENT ONLY 523D ...# ENTRY X7 LINK 523M ...# EXIT X0,X3,X5-7 UNDEFINED 523W ...# 5245 ...XOVMILL 524# ... STO 7 XLINK(1) [SAVE LINK 524H ... LDN 5 0 [CLEAR FOR MILL MACRO 524Q ... LDN 6 0 524^ ... MILL 6,ZERO(1),5 [INTERROGATE OVERALL MILL % 5258 ... CALL 7 (JGNO1) [RESULT X6 CONVERT TO DECIMAL 525C ... SLC 5 6 [GET SPACE ON RIGHT 525L ... LDX 7 XPERCENT(1) [INSERT % SIGN ON RIGHT 525T ... DCH 7 5 5264 ... LDX 3 XLPMOD(1) 526? ... STO 5 0(3) [INSERT IN PRINT BUFFER 526G ... LDX 7 XLINK(1) 526P ... EXIT 7 0 526Y ...# 5277 ...# MAIN ENTRY POINT 527B ...# 5286 XK1PMJOBS 52#3 ... LDX 1 FXPM1 52CY ...# 52HT ...# 52MQ # 537B # TO IGNORE 1ST BLOCK ON JOB Q 53M2 # 546L LDN 2 BJOBQ 54L= ... STO 2 NEXT(1) [STORE ADDR. OF 1ST BLOCK 555W LDX 4 BPTR(2) 55D? ... STO 4 XBACK(1) 55QN ... SMO FXPMDR 5656 LDX 6 JUNITNO 56JQ BNG 6 TY [J IF NO LP AVAILABLE 574B # 57J2 ...# CODING TO OUTPUT DATE AND TIME GEORGE LOADED 583L # 58H= ... CALL 7 (JPRINT) [THROW A PAGE 592W LDN 4 IDENTITY+2 59GG ... LDN 5 XHEADC+5(1) 5=26 MVCH 4 8 [TIME 5=FQ ADN 5 1 5=^B MVCH 4 8 [DATE 5?F2 LDX 6 JPMOD 5?YL BCHX 6 £ 5#D= ... LDN 5 XHEADC(1) 5#XW MOVE 5 10 5*CG ... CALL 7 (JPRINT) [DATE & TIME GEORGE LOADED 5*CX ...# 5*D# ...# CODE TO OUTPUT OVERALL MILL % AND OCP'S % 5*DP ...# CME ENVIRONMENT ONLY 5*F6 ...# 5*FH ... JENVNOT XJOBS,CME,EXCL 5*FY ... CALL 7 (JPRINT1) [OUTPUT BLANK LINE 5*G* ... LDX 3 JLPMOD [LOAD BUFFER ADDRESS 5*GQ ... ADN 3 1 5*H7 ... LDN 2 XMILL1(1) [MOVE 'DME MILL PERCENT' 5*HJ ... MOVE 2 4 [TO PRINT BUFFER 5*H^ ... ADN 3 4 5*JB ... LDCH 4 APROCNO [LOAD B18-23 5*JR ... SBN 4 1 [DUALS 5*K8 ... BZE 4 NDUALS [NO 5*KK ... LDN 2 XMILL3(1) [MOVE 'AGES : OVERALL' 5*L2 ... MOVE 2 5 [TO PRINT BUFFER 5*LC ... ADN 3 5 5*LS ... STO 3 XLPMOD(1) [SAVE CURRENT POINTER TO BUFFER 5*M9 ... CALL 7 XOVMILL [INSERT OVERALL % 5*ML ... LDN 3 1 [INCREASE BUFFER ADDR 5*N3 ... ADS 3 XLPMOD(1) 5*ND ... STOZ XLPMAX(1) [CLEAR COUNT OF OCP'S IN LINE 5*NT ... OCPSMILL 4,XOCPNO(1),XOCPRNT [INSERT OCP'S MILL % 5*P= ... CALL 7 (JPRINT1) [PRINT FINAL OR ONLY PRINT LINE 5*PM ... BRN XJOBS 5*Q4 ...# 5*QF ...NDUALS 5*QW ... LDN 2 XMILL2(1) [MOVE 'AGE IS' TO 5*R? ... MOVE 2 2 [PRINT BUFFER 5*RN ... ADN 3 2 5*S5 ... STO 3 XLPMOD(1) [SAVE CURRENT POINTER TO BUFFER 5*SG ... CALL 7 XOVMILL [INSERT OVERALL % 5*SX ... CALL 7 (JPRINT1) [PRINT LINE 5*T# ...# 5*TP ...# CODING TO OUTPUT JOB NAME,:USER NAME ON LINE PRINTER 5*W6 ...# 5*WH ...XJOBS 5*X6 ... LDN 5 XHEADA+1(1) 5BBQ BCHX 5 £ 5BWB BCHX 5 £ 5CB2 ... CALL 7 (JUP) 5CTL +5 5D*= MVCH 5 14 5DSW ... CALL 7 (JPRINT2) [PRINT 'JOBS IN SYSTEM' 5F#G ... LDN 5 XHEADB+2(1) 5FS6 ... CALL 7 (JUP) 5G?Q +9 5GRB MVCH 5 19 5H?2 ... CALL 7 (JPRINT2) [THROW 2 LINES AND PRINT SUB-HEADING 5HQL ...PR CALL 7 (JPRINT1) [PRINT A LINE 5J== CALL 7 NAMEJOB [GET NEXT JOB & USER NAME 5JPW BRN PR [J IF NAMES TO OUTPUT 5K9G ... LDX 6 XCRUPT(1) 5KP6 BZE 6 PRR [ WERE ANY Q'S CRUPT ?? 5L8Q ... LDN 5 XLOST+2(1) 5LNB ... CALL 7 (JUP) 5M82 +9 5MML MVCH 5 45 [ OUTPUT MESSAGE TO SAY LIST INCOMPLE 5N7= ... CALL 7 (JPRINT2) 5NLW ...PRR LDX 6 XCOUNT(1) 5P6G BNZ 6 PR1 [J IF JOB NAMES PRINTED 5PL6 ... LDN 5 NONE+2(1) [OTHERWISE PRINT 'NONE' 5Q5Q ... CALL 7 (JUP) 5QKB +9 5R52 MVCH 5 4 5RJL ... CALL 7 (JPRINT2) 5S4= ... CALL 7 (JPRINT) [THROW TO TOP OF FORM 5SHW ... BRN (JPMSEG) 5T3G ...PR1 PMOVE PMSUMA,FXPM1,3,1 5TH6 # 5W2Q # CODING TO OUTPUT JOB NAME,:USER NAME ON OPERATORS CONSOLE 5WGB # 5X22 ...TY LDN 3 XHEADA(1) 5XFL ... CALL 7 (JCONOUT) [OUTPUT HEADING 5X^= ... LDN 3 XHEADB(1) 5YDW ... CALL 7 (JCONOUT) 5YYG TY2 CALL 7 NAMEJOB [GET NEXT JOB & USER NAME 5^D6 BRN TY1 [J IF NAMES TO OUTPUT 5^XQ ... LDX 6 XCRUPT(1) 62CB BZE 6 TYY2 [ WERE ANY Q'S CRUPT ?? 62X2 ... LDN 3 XLOST(1) 63BL ... CALL 7 (JCONOUT) 63W= ...TYY2 LDX 6 XCOUNT(1) 64*W BNZ 6 TY3 [J IF JOB NAMES OUTPUT 64TG ... LDN 3 NONE(1) 65*6 ... CALL 7 (JCONOUT) 65SQ ... BRN (JPMSEG) 66#B ...TY3 PMOVE PMSUMA,FXPM1,2,1 66S2 ...TY1 LDX 3 JOZ 67?L ... BCHX 3 £ [OUTPUT BUFFER POINTER 67R= ADN 6 4 68=W ... STO 6 0(3) [COUNT OF CHARS. TO BE OUTPUT 68QG ... LDX 0 XARROW(1) 69=6 ... STO 0 1(3) [INSERT '_' IN MESSAGE 69PQ ... CALL 7 (JCONOUT) [OUTPUT JOB NAME,:USER NAME 6=9B ... LDX 6 SPACEFUL(1) 6=P2 ... STO 6 0(3) [SPACEFILL BUFFER AREA 6?8L ... LDN 6 0(3) 6?N= ... LDN 7 1(3) 6*76 MOVE 6 29 6*LQ BRN TY2 6B6B # 6C5L # 6CK= #END ^^^^ ...30366265000400000000