{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: PMWHATA866)}}
====== PMWHATA866 ======
(George Source)
**Macros used:** [[george:macro:CLHLFDON|CLHLFDON]], [[george:macro:DCA|DCA]], [[george:macro:ERROR|ERROR]], [[george:macro:FINDPEREC|FINDPEREC]], [[george:macro:JBUSY|JBUSY]], [[george:macro:JENVNOT|JENVNOT]], [[george:macro:JFAIL|JFAIL]], [[george:macro:JRIGHT|JRIGHT]], [[george:macro:JUNBUSY|JUNBUSY]], [[george:macro:JWRONG|JWRONG]], [[george:macro:LGEOG|LGEOG]], [[george:macro:LTYPE|LTYPE]], [[george:macro:P|P]], [[george:macro:PMBSADD|PMBSADD]], [[george:macro:PMDLGET|PMDLGET]], [[george:macro:PMOVE|PMOVE]], [[george:macro:RIGHT|RIGHT]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SWIN|SWIN]], [[george:macro:UPDATE|UPDATE]], [[george:macro:XYZ|XYZ]]
22FL #
22^= #OPT K0PMWHATA=0
23DW #LIS K0PMWHATA>K0POST>K0ALLGEO
23YG #
24D6 #SEG PMWHATA85 [M.C.D. MANN
24XQ #
25CB # THIS SEGMENT ALWAYS ENTERED EXCEPT WHEN BREAK ON GEOSTOP.
25X2 # IT ASKS THE OPERATOR WHAT KIND OF PM IS REQ'D AND DECIDES
26BL # WHICH LP TO USE.
26W= #
27*W 8HPMWHATA
27TG #
28*6 # ENTRY POINT TABLE
28SQ #
29#B SEGENTRY K1PMWHATA,XK1PMWHATA
29S2 #
2=?L # CHECKSUM ERROR ACTION
2=R= #
2?=W XSUMMESS +34,34H^*MEND CHECKSUM ERROR IN RESTORE^*
2?QG X1 +1 [NO WORDS TRANSFERRED
2#=6 PMWHATAEND +ZPMWHATA+1 [ADDRESS IN CORE
2#PQ XSUM -2 [TO HOLD VALUE +DPMENDNOS+LPMENDNOS-2
2*9B #
2*P2 #
2B8L MESSA +24,24H^*POSTMORTEM REQUIRED?^*
2BN= MESSB +6,6H OK^*
2C7W MESSC +19,19HUNIT NOT A LP^*
2CMG MESSD +23,23H^*TYPE OF POSTMORTEM?^*
2D76 MESSE +2,2H^*
2DLQ MESSF +19,19H^*NO LP AVAILABLE^*
2F6B MESSG +25,25H ^*UNIT IS WRONGED^*
2FL2 MESSH +21,21H ^*UNIT FAILED^*
2G5L MESSI +34,34H ^*UNIT BUSY, UNABLE TO USE^*
2GK= MESSJ +32,32H^*PARAMETER ERROR: ^*
2GP7 ...MESSK +31,31H ^*UNIT IS NOT AVAILABLE^*
2GT4 ...MESSL +34,34H ^*UNIT ALREADY SWITCHED IN^*
2GY^ ...MESSM +19,19H ^*SW REJECTED^*
2H4W XJFCS +JFCS [END OF FIXED CORE
2HJG XCHARSNO 0
2J46 XCOMMA #34
2JHQ XLINK2 +0
2K3B XLINK3 +0
2KH2 XLINK4 +0
2L2L XLINK5 +0
2LG= SPACE #20
2L^W SPACEFUL 4H
2MFG XLINKA +0 [LINK ADDRESS
2M^6 XALLPOST +0 [WORKING CONTEXT BITS
2NDQ XPARNUM +1 [CURRENT PARAMETER NUMBER
2NYB TWO +2
2PD2 UPDATE +0
2PXL XEND +0 [END OF TABLE INDICATOR
2QC= XLP +0 [LP DEV. REC. PTR
2QWW XRITE 4H00RI
2R6N ...XSW 4H00SW
2R=K ...XLPMN 4H00LP
2RBG NUM 4H [HOLDS GEOGRAPHICAL NUMBER
2RW6 WHATP +0 [START ADDRESS OF REPLY TABLE
2S*Q #
2STB # TABLE OF VALID REPLIES TO 'POSTMORTEM REQUIRED?' MESSAGE
2T*2 #
2TSL WHAT
2W#= 3HYES
2WRW NULL
2X?G BRN REP5
2XR6 4HLIST
2Y=Q LDN 3 1+2+16
2YQB BRN REP3
2^=2 4HMINI
2^PL LDN 3 1+16
329= BRN REP3
32NW 2HLD
338G LDN 3 1+2+8+16
33N6 BRN REP3
347Q 2HMD
34MB LDN 3 1+8+16
3572 BRN REP3
35LL 2HLL
366= LDN 3 1+2+16
36KW BRN REP2
375G 2HLS
37K6 LDN 3 1+2+16
384Q BRN REP3
38JB 2HML
3942 LDN 3 1+16
39HL BRN REP2
3=3= 2HMS
3=GW LDN 3 1+16
3?2G BRN REP3
3?G6 3HLSD
3?^Q LDN 3 1+2+8+16
3#FB BRN REP3
3#^2 3HMSD
3*DL LDN 3 1+8+16
3*Y= BRN REP3
3BCW 3HLLD
3BXG LDN 3 1+2+8+16
3CC6 BRN REP2
3CWQ 3HMLD
3DBB LDN 3 1+8+16
3DW2 BRN REP2
3F*L WHAT1
3FT= 4HDUMP
3G#W LDN 3 1+8
3GSG BRN REP4
3H#6 2HDL
3HRQ LDN 3 1+8
3J?B BRN REP6
3JR2 2HNO
3K=L LDN 3 1
3KQ= BRN REP4
3L9W WHATA +WHATA
3LPG WNXT 2HMT
3M96 BRN XMT
3MNQ 2HDA
3N8B BRN XDA
3NN2 WNXTA
3P7L #
3PM= # ROUTINE TO EXTRACT A SPECIFIED PARAMETER
3Q6W # FROM A GIVEN FIELD OF PARAMETERS ADDRESSED BY JCCBUF
3QLG #
3R66 # ON ENTRY X5 CONTAINS NUMBER OF PARAMETER
3RKQ # X6 CONTAINS TOTAL NUMBER OF CHARS IN FIELD
3S5B #
3SK2 # ON EXIT X3 CONTAINS MODIFIER POINTING TO FIRST CHARACTER
3T4L # OF REQUIRED PARAMETER
3TJ= # X7 CONTAINS NUMBER OF CHARACTERS IN PARAMETER
3W3W # IF ZERO NULL PARAMETER
3WHG #
3X36 # LINK X0
3XGQ #
3Y2B # ACCS 1,2,4,5 UNCHANGED
3YG2 #
3Y^L PMPAR LDN 3 JCCBUF [ POINTER TO CHARACTER FIELD
3^F= STO 5 XLINK4(1) [ PARAMETER NUMBER
3^YW STO 6 XLINK2(1) [ CHARS IN FIELD
42DG STOZ XLINK5(1)
42Y6 LDN 7 1
43CQ PAR6 LDCH 6 0(3) [ GET NEXT CHAR
43XB TXU 6 SPACE(1)
44C2 BCC PAR [ J IF SPACE
44WL STO 3 XLINK3(1)
45B= PAR3 TXU 6 XCOMMA(1)
45TW BCC PAR1 [ J IF COMMA
46*G ADS 7 XLINK5(1) [ INCREMENT CHAR. COUNT
46T6 BCHX 3 £
47#Q PAR5 SBS 7 XLINK2(1)
47SB LDX 6 XLINK2(1)
48#2 BZE 6 PAR2 [ ALL FIELD EXAMINED ? J IF YES
48RL LDCH 6 0(3) [ LOAD NEXT CHAR
49?= BRN PAR3 [ LOAD NEXT CHAR
49QW PAR1 SBS 7 XLINK4(1)
4==G LDX 6 XLINK4(1)
4=Q6 BZE 6 PAR4 [ J IF PARAMETER WANTED
4?9Q STOZ XLINK5(1) [ INITIALISE CHARS. IN THIS PARAMETER
4?PB BCHX 3 £
4#92 STO 3 XLINK3(1)
4#NL BRN PAR5 [ COUNT CHARS. IN THIS PARAMETER
4*8= PAR BCHX 3 £
4*MW SBS 7 XLINK2(1)
4B7G LDX 6 XLINK2(1)
4BM6 BNZ 6 PAR6 [ J IF MORE CHARS TO CHECK
4C6Q PAR2 SBS 7 XLINK4(1)
4CLB LDX 6 XLINK4(1)
4D62 BZE 6 PAR4 [ J IF PARAMETER WANTED
4DKL STOZ XLINK3(1)
4F5= STOZ XLINK5(1)
4FJW PAR4 LDX 7 XLINK5(1) [ SET UP EXIT CONDITIONS
4G4G LDX 3 XLINK3(1)
4GJ6 EXIT 0 0 [ OUT AGAIN.
4H3Q #
4HHB #
4J32 #
4JGL #
4K2= #
4KFW #
4K^G # ROUTINE TO EITHER GET THE LOWEST LINE PRINTER AVAILABLE
4LF6 # OR THE UNIT NUMBER OF A LINE PRINTER WITH A SPECIFIC
4LYQ # GEOGRAPHICAL NUMBER
4MDB # ENTRY X7=LINK
4MY2 # X5=NEG, GET LOWEST LP AVAILABLE
4NCL # X5=N GET LP WITH GEOG. NO.=N
4NX= # EXIT 7 0 [NO LP AVAILABLE
4PBW # EXIT 7 1 [X5=GEOG NO., X3=DEV REC PTR
4PWG #
4QB6 PRINTER
4QTQ LDN 6 2 [LP IS TYPE 2
4R*B FINDPEREC 3,APFOTY,6,XYZ [GET DEVICE RECORD
4RT2 BNG 3 P [J IF NO MORE LP'S
4S#L LGEOG 3,4 [ELSE GET GEOG NO.
4SS= BNG 5 P2 [J IF NOT CHECKING IT
4T?W TXU 4 5 [ELSE TEST
4TRG BCS XYZ [J NOT RIGHT ONE TO TRY AGAIN
4W?6 P1 LDX 5 4 [SET GEOG NO IN X5
4WQQ EXIT 7 1 [EXIT FOUND.
4X=B P2 JWRONG 3,XYZ [TRY AGAIN IF WRONGED
4XQ2 JFAIL 3,XYZ [TRY AGAIN IF FAILED LAST PERI
4Y9L JBUSY 3,XYZ [TRY AGAIN IF LEFT BUSY FROM GEORGE
4Y?J ...#UNS G3SIGNET
4Y*G ...(
4YCD ... JENVNOT NOTMEEP,MEEP
4YFB ... TXU 3 ASIGNETPTR
4YH# ... BCC XYZ [J IF SIGNET PRINTER
4YK= ...NOTMEEP
4YM8 ...)
4YP= BRN P1 [ELSE OK
4^8W P EXIT 7 0 [EXIT NO LP AVAILABLE.
4^NG #
5286 #
52MQ # ROUTINE TO CONVERT GEOGRAPHICAL NUMBER FROM DECIMAL TO
537B # BINARY PRESERVING THE NUMBER IN DECIMAL FORMAT AS WELL
53M2 # IF ANY OF THE ORIGINAL CHARACTERS ARE NOT NUMERICAL THE
546L # ROUTINE BRANCHES OUT TO OUTPUT A MESSAGE
54L= # ENTRY X3=ADDRESS OF FIRST CHARACTER OF GEOG. NO.
555W # X0=LINK
55KG # X7=COUNT OF CHARACTERS IN NUMBER
5656 # EXIT X4-X5=D/L BINARY GEOG. NO.
56JQ # NUM=RIGHT JUSTIFIED DECIMAL GEOG. NO.
574B # X1,X2=UNCHANGED
57J2 XDECBIN
583L STO 0 XLINKA(1) [STORE LINK ADDRESS
58H= STOZ 4
592W STOZ 5
59GG LDX 0 SPACEFUL(1)
5=26 XDB SLC 0 6
5=FQ LDCH 6 0(3) [STORE GEOG. NO. RIGHT
5=^B DCH 6 0 [JUSTIFIED IN
5?F2 STO 0 NUM(1) [DECIMAL FORMAT
5?YL CDB 4 0(3) [CONVERT GEOG. NO.
5#D= BCS XHA [J IF ERROR IN GEOG. NO.
5#XW BCHX 3 £
5*CG BCT 7 XDB [FALL THROUGH IF FINISHED
5*X6 LDX 0 XLINKA(1)
5BBQ EXIT 0 0
5BWB #
5CB2 # ROUTINE TO DETERMINE WHETHER A GIVEN PARAMETER
5CTL # IS IN A GIVEN TABLE.SPACES NOT SIGNIFICANT.
5D*= # HANDLES UP TO 4 SIGNIFICANT CHARACTERS.
5DSW # ENTRY X0=LINK
5F#G # X3=ADDRESS OF FIRST CHARACTER OF PAR.
5FS6 # X2=START ADDR. OF TABLE
5G?Q # X7=NO. OF CHARS IN PARAMETER
5GRB # UPDATE=GAP BETWEEN TABLE ENTRIES
5H?2 # XEND=ADDR. OF END OF TABLE
5HQL # EXIT X4=NO. OF SIGN. CHARS IN PAR
5J== # X5=THE PARAMETER,LEFT JUSTIFIED,ZERO-FILLED
5JPW # X2=ADDR OF TABLE ENTRY FOR THIS PAR.
5K9G # EX 0 - NOT FOUND
5KP6 # EX 1 - FOUND
5L8Q XCOMPR STO 0 XLINKA(1)
5LNB LDN 0 24
5M82 LDN 4 4
5MML XD LDCH 6 0(3) [GET THE NEXT CHARACTER
5N7= TXU 6 SPACE(1)
5NLW BCS XA [J IF NOT SPACE
5P6G BCHX 3 £ [IGNORE SPACE
5PL6 BCT 7 XD [GO FOR NEXT ONE
5Q5Q BRN XA1 [NO MORE
5QKB XA SLL 5 6
5R52 DCH 6 5
5RJL SBN 0 6
5S4= BCT 7 XC
5SHW XA1 BZE 0 XB [4 CHARS?
5T3G SMO 0 [IF NOT,
5TH6 SLL 5 0 [LEFT JUSTIFY
5W2Q BRN XB
5WGB XC BCHX 3 £
5X22 BCT 4 XD [GO FOR NEXT ONE
5XFL XB NGX 4 4
5X^= ADN 4 5
5YDW LDX 0 XLINKA(1)
5YYG EXIT 0 0
5^D6 # NOW SEARCH THROUGH THE TABLE
5^XQ # FOR ENTRY & EXIT COND'S SEE XCOMPR
62CB #
62X2 NXPAR STO 0 XLINKA(1)
63BL STO 4 XLINK4(1)
63W= STO 5 XLINK5(1)
64*W XB1 LDN 4 0
64TG LDN 6 0
65*6 LDX 0 XLINK4(1)
65SQ LDX 5 XLINK5(1)
66#B LDX 7 0(2)
66S2 XA3 SLL 67 6
67?L SLL 45 6
67R= TXU 4 6
68=W BCS XA2 [J IF PARAMETER NOT YET FOUND
68QG BCT 0 XA3
69=6 LDX 4 XLINK4(1)
69PQ LDX 0 XLINKA(1)
6=9B LDX 5 XLINK5(1)
6=P2 EXIT 0 1 [EXIT: PARAMETER FOUND
6?8L XA2 ADX 2 UPDATE(1) [STEP ON
6?N= TXU 2 XEND(1)
6#7W BCS XB1 [J IF NOT END OF TABLE
6#MG LDX 4 XLINK4(1)
6*76 LDX 5 XLINK5(1)
6*LQ LDX 0 XLINKA(1)
6B6B EXIT 0 0 [EXIT: PARAMETER NOT FOUND
6BL2 #
6C5L #
6CK= XK1PMWHATA
6D4W #
6DJG #
6F46 # THE FOLLOWING CODING ASKS THE OPERATOR WHAT SORT OF ACTION HE
6FHQ # WANTS POSTMORTEM TO TAKE,ANALYSES HIS REPLY,AND IF VALID SETS A
6G3B # BIT PATTERN IN ALLPOST(WORD IN SEG PMDR)
6GH2 #
6H2L LDX 1 FXPM1
6HG= LDX 0 BDTP [ CHECK ENDFIX CONTAINS SENSIBLE VAL
6H^W LDX 4 ENDFIX
6JFG TXL 0 4
6J^6 BCC OKENDFIX [ IF NOT USE +JFCS
6KDQ LDX 4 XJFCS(1)
6KYB OKENDFIX
6LD2 SMO FXPMDR
6LXL STO 4 JPMLEV+1
6MC= # CHECK FOR A MEND CHECKSUM ERROR
6MWW PMDLGET PMENDNOS,3,4
6NBG ADX 3 4
6NW6 ADS 3 XSUM(1) [ SET UP LOCATION ON BACKING STORE O
6P*Q ADS 1 PMWHATAEND(1)
6PTB PMBSADD GEO,0,X1(1),PMWHATAEND(1),XSUM(1) [GET GIN'S SWITCH WORD
6Q*2 LDX 1 FXPM1
6QSL SMO PMWHATAEND(1)
6R#= LDX 2 0
6RRW BPZ 2 Y4 [ J IF NO CHECKSUM ERROR FOUND
6S?G SMO FXPMDR
6SR6 STO 1 JBADMEND
6T=Q LDN 3 XSUMMESS(1)
6TQB CALL 7 (JCONOUT)
6W=2 CALL 7 (JCONOUT)
6WPL #
6X9= # END OF MEND CHECKSUM ERROR ROUTINE
6XNW #
6Y8G Y4 LDN 2 WHAT(1) [START ADDRESS OF TABLE
6YN6 Y4B STO 2 WHATP(1)
6^7Q Y4A LDN 3 MESSA(1)
6^MB STOZ XLP(1) [PRESET LP DEVICE LIST POINTER
7272 LDN 7 1
72LL STO 7 XPARNUM(1) [AND THE CURRENT PARAMETER NUMBER
736= CALL 7 (JCONOUT) [CONSOLE OUTPUT
73KW X6 CALL 7 (JCTWIN) [PERI ON T/W INPUT
745G BRN X6 [A NOT OK READ BACAUSE OF 'CANCEL'
74K6 # [SO SEARCH FOR I/P AGAIN
754Q LDX 1 FXPM1 [RESET MODIFIER
75JB ANDN 6 #777 [GET REMAINDER COUNT FROM REPLY WORD
7642 NGX 6 6 [AND CALCULATE NUMBER
76HL ADN 6 64 [OF WORDS READ
773= BZE 6 Y4A [J IF NO CHARACTERS READ
77GW STO 6 XCHARSNO(1) [ELSE STORE NO READ
782G LDX 2 WHATP(1)
78G6 LDN 5 1 [SET PARAM NO TO 1
78^Q LDX 6 XCHARSNO(1)
79FB CALL 0 PMPAR
79^2 BZE 7 Y4A [J IF NO FIRST PARAMETER
7=DL LDN 0 3
7=Y= STO 0 UPDATE(1) [PREPARE YOURSELF
7?CW LDN 0 WHATA(1) [FOR NXPAR
7?XG STO 0 XEND(1)
7#C6 CALL 0 XCOMPR [GET RID OF SPACES
7#WQ CALL 0 NXPAR [VALIDATE PARAMETER
7*BB BRN XRI
7*W2 EXIT 2 1
7B*L XRI BZE 4 Y4A [NO CHARS TO SPEAK ABOUT
7BT= LDX 7 4
7C2D ... LDX 4 SPACEFUL(1) [CLEAR NUM
7C7L ... STO 4 NUM(1)
7C#W LDN 4 0
7CSG SLL 45 12 [ISOLATE TOP 2 CHARS
7D#6 TXU 4 XRITE(1) [IS IT 'RI'?
7DRQ ... BCS XSW1 [NO
7F?B SBN 7 2
7FR2 BZE 7 XG [J IF NO GEOG. NO
7G=L LDX 2 5
7GQ= LDN 3 2
7H9W CALL 0 XDECBIN [CONVERT GEOG. NO. TO BINARY
7HPG CALL 7 PRINTER
7J96 BRN XG [J IF NO PRINTER
7JNQ JRIGHT 3,XI [J IF DEVICE RIGHT
7K8B ...XRIT RIGHT 3 [ELSE RIGHT IT
7KN2 SMO FXPMDR
7L7L STOZ JUNITNO [SET JUNITNO NON-NEG
7LM= XI LDN 3 MESSB(1)
7M6W CALL 7 (JCONOUT) [CONSOLE OUTPUT
7MLG LDN 2 WHAT(1) [FULL TABLE OF REPLIES
7N66 STO 2 WHATP(1)
7NKQ BRN X6
7P5B XG LDN 5 X6(1)
7PK2 BRN XGC
7Q4L XGA LDN 5 Y4A(1)
7QJ= XGC LDX 6 NUM(1)
7R3W STO 6 MESSC+2(1) [LOAD GEOG. NO. INTO MESSAGE
7RHG LDN 3 MESSE(1)
7S36 CALL 7 (JCONOUT)
7SGQ LDN 3 MESSC(1)
7T2B CALL 7 (JCONOUT)
7TG2 BRN (5)
7T^L XGB LDN 2 WHAT1(1) [LIMITED NO. OF PM DIRECTIVES
7WF= LDN 3 MESSF(1)
7WYW CALL 7 (JCONOUT)
7XDG BRN Y4B
7XY6 XHA LDX 6 NUM(1)
7YCQ STO 6 MESSJ+6(1)
7YXB LDN 3 MESSJ(1)
7^C2 ... CALL 7 (JCONOUT)
7^WL BRN Y4A
7^X2 ...#
7^XB ...# THE FOLLOWING CODE IS TO SWITCH IN A LP ON REQUEST
7^XQ ...# UNDER CME ENVIRONMENT ONLY
7^Y6 ...#
7^YG ...XSW1
7^YW ... JENVNOT Y4A,CME
7^^= ... TXU 4 XSW(1) [ARE TOP 2 CHARS SW
7^^L ... BCS Y4A [NO
8222 ... SBN 7 2 [YES-
822B ... BZE 7 XG [J IF NO GEOG NO
822Q ... LDX 2 5
8236 ... LDN 3 2
823G ... CALL 0 XDECBIN [CONVERT GEOG. NO TO BINARY
823W ... FINDPEREC 3,APGEOG,5,,,XSW4 [SEARCH FOR DEVICE
824= ... BPZ 3 XSW3 [ALREADY SWITCHED IN
824L ... LDN 3 MESSK(1) [NOT FOUND
8252 ...XSW2 LDX 6 NUM(1)
825B ... STO 6 3(3)
825Q ... CALL 7 (JCONOUT)
8266 ... BRN Y4A
826G ...XSW3 LDN 3 MESSL(1)
826W ... BRN XSW2
827= ...XSW4 LTYPE 3,6 [IS IT A LP
827L ... TXU 6 TWO(1)
8282 ... BCS XSW5 [NO ERROR
8288 ... JENVNOT XSW7,CME,EXCL
828B ... SWIN 3,,XSW6,PM [YES - SO SWITCH IN
828Q ... BRN XRIT [SUCCESSFUL
8292 ...XSW6 LDX 1 FXPM1
829= ... LDN 3 MESSM(1)
829G ... LDX 6 NUM(1)
829W ... DSA 6 1(3)
82== ... CALL 7 (JCONOUT)
82=L ... BRN Y4A
82?2 ...XSW5 LDN 3 MESSC(1) [OUTPUT UNIT NOT A LP
82?B ... LDX 6 NUM(1)
82?Q ... STO 6 1(3)
82#6 ... CALL 7 (JCONOUT)
82#G ... BRN Y4A
82#K ...XSW7 SWINSTAR 3,XLPMN(1),5,XSW6
82#N ... LDX 1 FXPM1
82#R ... BRN XRIT
82#W ...#
82*= ...#
82B= RA LDX 5 XPARNUM(1) [NO. OF CHECKED PARS
82TW LDX 6 5
83*G SBN 6 3
83T6 BZE 6 RALL [J IF 3 PARS CHECKED
84#Q ADN 5 1
84SB STO 5 XPARNUM(1)
85#2 LDX 6 XCHARSNO(1)
85RL CALL 0 PMPAR
86?= BZE 7 RA [J IF NULL
86QW LDN 0 2
87=G STO 0 UPDATE(1)
87Q6 LDN 0 WNXTA(1)
889Q STO 0 XEND(1)
88PB LDN 2 WNXT(1)
8992 CALL 0 XCOMPR
89NL TXU 4 TWO(1)
8=8= BCS WNOW
8=MW CALL 0 NXPAR [FIND THE TABLE ENTRY
8?7G BRN WNOW [NOT FOUND
8?M6 ... EXIT 2 1 [JUMP TO XDA OR XMT AS
8#6Q # MT GIVEN
8#LB XMT LDX 3 XALLPOST(1)
8*62 SRC 3 4
8*KL BPZ 3 Y4 [J IF NOT DUMPING
8B5= SRC 3 3
8BJW BNG 3 Y4 [J IF DA GIVEN
8C4G LDN 4 128
8CJ6 XMT1 ORS 4 XALLPOST(1) [SET APPR. BIT
8D3Q BRN RC1
8DHB # DA SPECIFIED
8F32 XDA LDX 3 XALLPOST(1)
8FGL SRC 3 4
8G2= BPZ 3 Y4 [J IF NOT DUMPING
8GFW SRC 3 4
8G^G BNG 3 Y4 [J IF MT SPECIFIED
8HF6 LDN 4 64
8HYQ BRN XMT1
8JDB WNOW LDX 3 XALLPOST(1)
8JY2 SRC 3 5
8KCL BPZ 3 Y4 [J IF NOT LISTING
8KX= LDX 7 4 [NO.OF CHARS IN GEOG.NO OF LP
8LBW LDN 3 2
8LWG LDX 2 5
8MB6 CALL 0 XDECBIN [CONVERT GEOG. NO. TO BINARY
8MTQ CALL 7 PRINTER
8N*B BRN XGA [J IF NO LP
8NT2 LDN 5 MESSG(1)
8P#L JWRONG 3,RD [J IF LP IS WRONG
8PS= LDN 5 MESSH(1)
8Q?W JFAIL 3,RD [J IF LAST PERI FAILED
8QRG LDN 5 MESSI(1)
8R?6 JUNBUSY 3,RC [J IF LP OK
8RQQ RD LDX 4 NUM(1)
8S=B LDX 3 5
8SQ2 STO 4 3(3) [STORE GEOG. NO. IN MESSAGE
8T9L CALL 7 (JCONOUT)
8TP= BRN X6
8W8W RALL LDX 3 XALLPOST(1)
8WNG SRC 3 4
8X86 BPZ 3 RLS [J IF NOT DUMPING
8XMQ SRC 3 3
8Y7B BNG 3 RLS [J IF DA DUMP
8YM2 LDN 4 128
8^6L ORS 4 XALLPOST(1) [SET MT DUMP BIT
8^L= RLS LDX 3 XLP(1)
925W BNZ 3 RC3 [J IF LP SPECIFIED
929R ... SMO FXPMDR
92*N ... LDX 3 JLPPTR [WAS THERE PREVIOUS LP
92FK ... BNZ 3 RC [YES -SO USE IT
92KG RB NGN 5 1 [MEANS GET ANY PRINTER
9356 CALL 7 PRINTER [GET LOWEST AVAILABLE LP
93JQ BRN NOLP [NO LP AVAILABLE
944B RC STO 3 XLP(1)
94J2 RC1 LDX 6 XPARNUM(1)
953L SBN 6 3
95H= BNZ 6 RA [J IF NOT 3 PARS CHECKED
962W LDX 3 XLP(1)
96GG BZE 3 RLS [J IF NO LP SPECIFIED
9726 RC3 LDX 1 FXPMDR
97FQ LDX 6 JLPPTR(1) [WAS THERE PREVIOUS LP?
97^B BZE 6 REX [J IF NOT, ELSE
98F2 TXU 3 JLPPTR(1) [IF 'JOBS' OUTPUT ON THIS PRINTER
98YL BCC RC2 [J TO RC2
99D= SMO FXPM1
99XW LDX 5 NUM
9=CG STO 5 JLPGEOG(1)
9=X6 LDN 5 JLPREC ['UNDUMP' STORED DEVICE RECORD
9?BQ MOVE 5 K53-K50
9?WB REX STO 3 JLPPTR(1) [STORE NEW PTR
9#B2 LDX 6 JLPPTR(1) [AND DUMP NEW DEVICE RECORD
9#TL LDN 7 JLPREC
9**= MOVE 6 K53-K50
9*GD ...#UNS AR1
9*ML ... CLHLFDON 3 [CLEAR HALFDONEBIT
9*SW SMO FXPM1
9B#G LDX 6 XALLPOST
9BS6 STO 6 ALLPOST(1)
9C?Q LDN 6 121 [SET CONSTANT PARTS OF DEVICE
9CRB DCA 3,STO,6,COUNT [CONTROL AREA
9D?2 LDN 6 0 [I.E. COUNT AND
9DQL DCA 3,DLA,6,MODE [MODE
9F== PMOVE PMJOBS,FXPM1,1,1
9FPW NOLP
9G9G SMO FXPM1
9GP6 LDX 7 XALLPOST [ARE WE LISTING THE PM?
9H8Q SRC 7 5
9HNB BNG 7 XGB [J IF SO: WE NEED A PRINTER!
9J82 RC2 SMO FXPM1 [OTHERWISE: JUST CARRY ON
9JML LDX 6 XALLPOST
9K7= SMO FXPMDR
9KLW STO 6 ALLPOST
9L6G BRN (JPMSEG)
9LL6 #
9M5Q # CODING TO SET 'ALLPOST' AFTER OPERATOR CONSOLE T/W DIRECTIVE
9MKB # FOUND TO BE VALID
9N52 #
9NJL REP3 [TO GIVE SHORT FIXED CORE LISTING
9P4= SMO FXPMDR
9PHW LDX 0 JPMLEV
9Q3G SMO FXPMDR
9QH6 STO 0 JPMLEV+1
9R2Q REP2 [TO GIVE LONG FIXED CORE LISTING
9RGB SMO FXPMDR
9S22 LDX 0 JPMLEV+1
9SFL SMO FXPMDR
9S^= STO 0 JPMLEV
9TDW STO 3 XALLPOST(1)
9TYG LDN 3 MESSE(1)
9WD6 CALL 7 (JCONOUT) [NEW LINE ON CONSOLE
9WXQ BRN RA
9XCB REP5 LDN 3 MESSD(1)
9XX2 CALL 7 (JCONOUT) [CONSOLE O/P 'TYPE OF POSTMORTEM?'
9YBL BRN X6
9YW= REP6 SMO FXPMDR
9^*W LDX 0 JPMLEV+1
9^TG SMO FXPMDR
=2*6 STO 0 JPMLEV
=2SQ REP4 STO 3 XALLPOST(1) [DUMP OR NO
=3#B SMO FXPMDR
=3S2 LDX 0 JPMLEV
=4?L SMO FXPMDR
=4R= STO 0 JPMLEV+1
=5=W LDN 3 MESSE(1)
=5QG CALL 7 (JCONOUT)
=6=6 BRN RA
=6PQ #
=79B #
=7P2 ZPMWHATA
=88L #
=8N= #END
^^^^ ...523155670004