{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: LISTNEXT867)}}
====== LISTNEXT867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BC|BC]], [[george:macro:BS|BS]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CLOSE|CLOSE]], [[george:macro:CLOSETHAW|CLOSETHAW]], [[george:macro:COMERR|COMERR]], [[george:macro:COMERRX|COMERRX]], [[george:macro:COOR1|COOR1]], [[george:macro:COOR4|COOR4]], [[george:macro:DCA|DCA]], [[george:macro:DISENGPER|DISENGPER]], [[george:macro:ELSE|ELSE]], [[george:macro:FCAJO|FCAJO]], [[george:macro:FI|FI]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FREEPER|FREEPER]], [[george:macro:FSHENTRY|FSHENTRY]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GEOPACK|GEOPACK]], [[george:macro:GPERI|GPERI]], [[george:macro:HUNT|HUNT]], [[george:macro:IF|IF]], [[george:macro:INFORM|INFORM]], [[george:macro:JBC|JBC]], [[george:macro:JOBLOCK|JOBLOCK]], [[george:macro:JUNBUSY|JUNBUSY]], [[george:macro:JWTBWR|JWTBWR]], [[george:macro:LFBBUS|LFBBUS]], [[george:macro:LFBITCLR|LFBITCLR]], [[george:macro:LFCHAIN|LFCHAIN]], [[george:macro:LFEND|LFEND]], [[george:macro:LFTHAW|LFTHAW]], [[george:macro:LOCKC|LOCKC]], [[george:macro:LONGON1|LONGON1]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUTX|MONOUTX]], [[george:macro:NAME|NAME]], [[george:macro:NAMETOP|NAMETOP]], [[george:macro:OUTBLOCK|OUTBLOCK]], [[george:macro:OUTPACKX|OUTPACKX]], [[george:macro:OUTPER|OUTPER]], [[george:macro:PUTREP2|PUTREP2]], [[george:macro:RJWTBFR|RJWTBFR]], [[george:macro:SAWCEJ|SAWCEJ]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETENTRY|SETENTRY]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SIX|SIX]], [[george:macro:STARTACT|STARTACT]], [[george:macro:SUICIDE|SUICIDE]], [[george:macro:TERMON|TERMON]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:THEN|THEN]], [[george:macro:TRACE|TRACE]], [[george:macro:UNLOCK|UNLOCK]], [[george:macro:UNNORM|UNNORM]], [[george:macro:UP|UP]], [[george:macro:USERJOB|USERJOB]], [[george:macro:VFREEW|VFREEW]]
22FL #OPT K0LISTNEXT=0
23DW #LIS K0LISTNEXT>K0LISTFILE>K0ALLGEO
23YG #SEG LISTNEXT
24D6 8HLISTNEXT
24MY ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983
24XQ ... SETENTRY LISTNEXT,POINT,11
25CB SEGENTRY K51LISTNEXT,POINT51
25X2 ... FSHENTRY K41LISTNEXT,POINT41,,POINT41
266S ... FSHENTRY K52LISTNEXT,,POINT52,POINT52
26=P ... SEGENTRY K12LISTNEXT,POINT12
26BL [THIS SEGMENT CONTAINS MOST OF THE CODE FOR GENERATING ERROR MESSAGES
26W= [AND SYSTEM JOURNAL INFORMATION.
27*W [
27TG [K1LISTNEXT IS ENTERED FROM LISTFREE WHEN A FILE HAS BEEN LOST
28*6 [
28SQ [K3LISTNEXT CONTINUES WITH THE LFDEL MACRO FROM K5LISTFIND
29#B [
29S2 [K4LISTNEXT IMPLEMENTS THE LFEND MACRO
2=?L [
2=R= [K2LISTNEXT IS ENTERED FROM THE S/R TESTBLOCK IN LISTPROC
2?=W [ WHEN THE SCHEDULER HAS FOUND A GOUT/INFO STRING
2?QG [ INVOLVING A LOST FILE.
2#=6 [
2#PQ [K5LISTNEXT IS ENTERED BY AN ACTLF WHICH WISHES TO BE CONSIDERED
2*9B [ AS AVAILABLE
2*P2 [
2B8L [K6LISTNEXT IS ENTERED BY AN ACTLF TO FREE ITS DEVICE AND SUICIDE
2BN= [K7LISTNEXT IS ENTERED BY AN ACTLF TO COMMIT SUICIDE
2C7W [
2CMG [K8LISTNEXT IS ENTERED FROM LISTFREE BY AN ONLINE CPA WHICH
2D76 [ HAS RECIEVED A NOPER REPLY TO ITS REQUEST
2DLQ [
2F6B [K9LISTNEXT IS ENTERED FROM LISTOPEN WHEN OPEN OR RETRIEVE FOR THE
2FL2 [ FILE TO BE LISTED HAS INDICATED THAT THE FILE IS LOST.
2G5L [
2GK= [K10LISTNEXT INFORMS THE OPERATORS OF PAPER LOW AND ALSO INFORMS
2H4W [ THEM IF THE LP REMAINS BUSY.
2H8R ...[
2H#N ...[K11LISTNEXT ENTERED BY NIPREL MACRO IF ACTLF HAS 'BEFORE FIRST
2HDK ...[ LINE OF LISTING' FLAG SET IE FLAG Q
2HJG [
2HNC ...[K12LISTNEXT ENTERED FROM LISTOPEN TO OUTPUT THE
2HS# ...[ START OF LISTFILE MESSAGE
2HY9 ...[
2J46 [***********************************************************************
2JHQ [DATA AREA
2JW6 RESTARTBIT #4000
2K3B PROPBIT #4000000
2KH2 SETUPBIT #10000000
2L2L SMULTSETBIT #10 [MULTIFILE WITH SETUP
2L=D SMULTFILE #2000
2LG= SIX +6
2L^W THIRTEEN +13
2MFG [MONITORING FILE MESSAGES
2M^6 WJLFLOST +JLFLOST
2N8Y +JLFMULTAB
2NDQ WJLFOL +JLFOL
2NYB WMESS +JLFCOMP [LISTFILE COMPLETED
2PD2 +JLFTERM [LISTFILE TERMINATED
2PXL +JLFCANTDO [CANTDO
2QC= WOLGETP
2QWW [ERROR MESSAGES WHEN ONLINE GETPER FAILS
2RBG +JPERMX [PERMEXCL REPLY
2RW6 +JLFNOP [NOPER REPLY
2S*Q +JOLNPROP [NOPROP REPLY
2STB WJLFNOPER +JLFNOPER
2T*2 WJLFPERMX +JLFPERMX
2TSL WJLFSLIST +JLFSLIST
2T^S ...#UNS ASTRTJL
2W72 ...WJLFSTRT +JLFSTRT
2W#= XLIST 12H#LISTING OF [FIRST HEADING
2WRW WELOST +ELOST
2X?G WJSETP15 +JSETP15
2XR6 [
2Y=Q [***********************************************************************
2YQB [SUBROUTINE AREA
2^=2 SMONOUT
2^PL [THIS S/R DOES A MONOUT. X4 JOB NUMBER X5 MESSAGE NUMBER.
329= SBX 6 FX1
32NW MONOUTX 5,4
338G ADX 6 FX1
33N6 EXIT 6 0
347Q OUTBLOCK
34MB [THIS S/R SETS UP A GMON/ASET BLOCK TO HOLD PARAMETERS FOR MESSAGE
3572 [BLOCK SIZE IN X6 .
35LL SBX 7 FX1
366= OUTBLOCK 6
36KW ADX 7 FX1
375G EXIT 7 0
37K6 PARAMETER
384Q [THIS S/R OUTPUTS A PARAMETER IN A MONITORING FILE MESSAGE.
38JB SBX 6 FX1
3942 OUTPACKX 3,4,5,PARM
39HL ADN 6 1
3=3= PARM ADX 6 FX1
3=GW EXIT 6 0
3?2G [
3?G6 OUTNAME
3?^Q [THIS S/R EXTRACTS AN ENTRANT NAME FROM A FABSNB
3#FB [AND OUTPUTS IT AS A PARAMETER TO A MESSAGE.
3#^2 [WE MUST SET UP A LARGE ENOUGH ADATA/CREADL.
3*DL [WE SHALL NEED 24 + 13N CHARACTERS WHERE N IS THE
3*Y= [NUMBER OF NAMES IN DESCRIPTION.
3BCW [WE CALCULATE N FROM THE FABSNB.IF M IS LENGH OF FABSNB THEN
3BXG [ N = (M-4)/6 + 1
3CC6 [
3CWQ SBX 7 FX1
3DBB MHUNT 3,FILE,FABSNB
3DW2 LDX 4 HDREC(3)
3F*L SBN 4 4
3FT= DVS 3 SIX(1)
3G#W #SKI K99LISTPROC
3GSG (
3H#6 BZE 3 NOREMAIN
3HRQ TRACE 3,REMAIN
3J?B NOREMAIN
3JR2 )
3K=L ADN 4 1
3KQ= MPY 4 THIRTEEN(1)
3L9W ADN 5 24
3LPG LDN 0 3
3M96 ANDX 0 5 [SEE IF WHOLE NUMBER OF WORDS
3MNQ SRL 5 2
3N8B BZE 0 WHOL
3NN2 ADN 5 1
3P7L WHOL SETUPCORE 5,2,ADATA,CREADL
3QLG [SPACEFILL ADATA-CREADL
3R66 LDX 0 ACES
3RKQ STO 0 A1+FRH+1(2)
3S5B LDX 4 5
3SK2 SBN 4 2
3T4L LDN 5 A1+FRH+1(2)
3TJ= LDN 6 A1+FRH+2(2)
3W3W SMO 4
3WHG MOVE 5 0
3XGQ NOSP
3Y2B STOZ A1+FRH(2) [INITIALISE DATA CHAR. COUNT
3YG2 UNNORM
3Y^L OUTN1 MHUNTW 3,ADATA,CREADL
3^F= LDX 4 A1+FRH(3)
3^YW LDN 0 3
42DG ANDX 0 4
42Y6 SRL 4 2
43CQ BZE 0 WHO
43XB ADN 4 1
44C2 WHO ADN 3 CPDATA
44WL LDN 5 JPDENTRANT
45B= CALL 6 PARAMETER
45TW BRN OUTN1
46*G MHUNTW 1,ADATA,CREADL
46T6 FREECORE 1
47#Q ADX 7 FX1
47SB EXIT 7 0
48#2 STANDMESS
48RL [THIS S/R PRODUCES A STANDARD LISTFILE LOST MESSAGE
49?= [FROM A GOUT/INFO
49QW [
4==G SBX 7 FX1
4=Q6 STAG1 MHUNTW 3,GOUT,INFO
4?9Q LDX 0 GMODE(3)
4?PB BNG 0 XTOL [J IF ONLINE
4#92 LDEX 4 GSUSE(3) [NO OF CHARS
4#NL LDN 0 3
4*8= ANDX 0 4
4*MW SRL 4 2 [CONVERT TO WORDS
4B7G BZE 0 WHOLE
4BM6 ADN 4 1 [ROUND UP
4C6Q WHOLE ADN 3 GHEAD
4CLB LDN 5 JPDENTRANT [ENTRANT NAME PDC
4D62 CALL 6 PARAMETER
4DKL BRN STAG1 [COORDINATED
4F5= STAG2 MHUNTW 3,GOUT,INFO
4FJW ADN 3 GUSER
4G4G LDN 4 3 [NO OF WORDS IN PARAMETER
4GJ6 LDN 5 JPDUSERNAME [USERNAME PDC
4H3Q CALL 6 PARAMETER
4HHB BRN STAG2 [COORDINATED
4J32 STAG3 MHUNTW 3,GOUT,INFO
4JGL ADN 3 GJOBN
4K2= LDN 5 JPDJOBNAME [JOB NAME PDC
4KFW CALL 6 PARAMETER
4K^G BRN STAG3
4LF6 XTOL ADX 7 FX1
4LYQ EXIT 7 0
4MDB USERJOB
4MY2 [THIS SUBROUTINE SETS UP USERNAME-JOBNAME FOR OP TO SJ ETC
4NCL SBX 7 FX1
4NX= BRN STAG2
4PBW STANDLOG
4PWG [THIS S/R OUTPUTS STANDARD LOGGING PARAMETERS
4QB6 SBX 7 FX1
4QCN ...#UNS ANIP
4QF= ...(
4QGS ... SAWCEJ SL7,SL7,SL7,SL8
4QJB ...[ SPECIAL FORMAT FOR NIP ACTLF
4QKY ...SL8 LDCT 0 #100
4QMG ... STO 0 A5(2)
4QP4 ... BRN SL1
4QQL ...SL7
4QS8 ...)
4QTQ GEOPACK A5(2) [UNIT NUMBER
4R*B SL1 LDN 3 A5(2)
4RT2 LDN 4 1
4S#L LDN 5 JPDGEOPER
4SS= CALL 6 PARAMETER
4T?W BRN SL1 [COORDINATED
4TRG ... MHUNTW 3,GOUT,INFO
4W?6 LDCH 0 GOUTKEY1(3) [URGENCY
4WQQ DCH 0 A5(2)
4X=B SL2 LDN 3 A5(2)
4XQ2 LDN 5 JPDURGENCY
4Y9L CALL 6 PARAMETER
4YP= BRN SL2
4^8W SL3 LDN 3 ALFTRANS(2) [NO OF TRANSFERS
4^NG LDN 5 JPDTRANSCT
5286 CALL 6 PARAMETER
52MQ BRN SL3
537B SL4 LDN 3 ALFWORDS(2) [NO OF WORDS
53M2 LDN 5 JPDNUMA
546L CALL 6 PARAMETER
54L= BRN SL4
555W [WE NOW HAVE TO SET UP A LIST OF ANY PROPERTIES ATTRIBUTED
55*N ... HUNT 3,APERI,APROPNOS
55KG ... IF 3,PZ [ PROPERTIES REQUESTED
55T# ... THEN
55W? ... LDX 3 ALOGLEN(3) [LENGTH OF PROPERTY BLOCK
55X= ... SETUPCOR 3,2,GOUT,INFO4 [CREATE COPY OF PROPERTY BLOCK
55Y9 ... MHUNT 1,APERI,APROPNOS
55^8 ... LDN 5 A1(1)
5627 ... LDN 6 A1(2)
5636 ... MOVE 5 0(3)
5645 ... LDX 3 2 [USE COPY TO CHANGE TO OUTPUT FORMAT
5656 ... IF +CHPERM(3),NZ [ PERMANENT PROPS.
56#Y ... THEN
56JQ ... IF +CHTEMP(3),NZ [ TEMPORARY PROPS.
56SJ ... THEN
574B ... LDN 2 BPROPS(3) [ CONCATENATE NAMES
57#8 ... LDX 1 3 [ MOVE PERM PROPS. TO ENSURE
57J2 ... ADX 1 ADPERM(3) [ ROOM FOR "&"
57RS ... SMO CHPERM(3)
583L ... MVCH 1 0
58?D ... LDN 0 #26
58H= ... DCH 0 0(2) [ "&"
58R4 ... BCHX 2 £
592W ... LDX 1 3
59=N ... ADX 1 ADTEMP(3)
59GG ... SMO CHTEMP(3)
59Q# ... MVCH 1 0
5=26 ... LDX 0 CHTEMP(3)
5=9Y ... ADN 0 1 [ "&"
5=FQ ... ADS 0 CHPERM(3) [ COUNT OF CHARS IN NAMES
5=PJ ... LDN 0 BPROPS
5=^B ... STO 0 ADPERM(3) [ ADDRESS OF NAMES
5?98 ... FI
5?F2 ... ELSE
5?NS ... LDX 0 CHTEMP(3)
5?YL ... STO 0 CHPERM(3) [ CHAR COUNT
5#8D ... LDX 0 ADTEMP(3)
5#D= ... STO 0 ADPERM(3) [ ADDRESS
5#N4 ... FI
5#XW ... LDX 2 3
5*7N ... ADX 2 ADPERM(3)
5*CG ... SLC 2 2
5*M# ... ADX 2 CHPERM(3)
5*X6 ... LDX 5 2
5B6Y ... ANDN 5 3
5BBQ ... SRC 2 2 [ -> BEYOND LAST USED CHAR
5BLJ ... IF 5,NZ [ UNUSED CHARS IN WORD
5BWB ... THEN
5C68 ... SBN 5 4
5CB2 ... NGX 5 5
5CKS ... LDN 1 ACES
5CTL ... SMO 5
5D5D ... MVCH 1 0 [ SPACEFILL REST OF WORD
5D*= ... FI
5DK4 ...SL5
5DSW ... LDN 5 JPDNULL
5F4N ... CALL 6 PARAMETER [ INCLUDE "PR" PARAMETER
5F#G ... BRN SL5
5FJ# ...SL6
5FS6 ... MHUNT 3,GOUT,INFO4
5G3Y ... LDX 4 CHPERM(3)
5G?Q ... ADN 4 3
5GHJ ... SRL 4 2 [ WORDS
5GRB ... ADX 3 ADPERM(3)
5H38 ... LDN 5 JPDVARCHAR
5H?2 ... CALL 6 PARAMETER
5HGS ... BRN SL6
5HQL ... MFREE GOUT,INFO4 [FREE COPY OF PROPERTY BLOCK
5J2D ... FI
5J== ADX 7 FX1
5JPW EXIT 7 0
5JR7 ...[
5JSD ...STANDLOGA
5JTP ...[THIS S/R FREES ANY APERI/APROPNOS FOR FINISHED MESSAGES ETC.
5JX2 ... SBX 7 FX1
5JY? ... HUNT 3,APERI,APROPNOS
5J^J ... IF 3,PZ [PROPERTIES REQUESTED
5K2T ... THEN
5K46 ... MFREE APERI,APROPNOS
5K5C ... FI
5K6N ... ADX 7 FX1
5K7^ ... EXIT 7 0
5K9G [
5KP6 SCLOSE
5L8Q [THIS S/R CLOSES A FILE FOR THE LFEND MACRO
5LNB SBX 7 FX1
5M82 LDX 0 AWORK1(2)
5MML BNG 0 SCD [J IF NOT FINISHED YET
5N7= CLOSETHAW
5NLW BRN SXT
5P6G SCD CLOSE
5PL6 SXT ADX 7 FX1
5Q5Q EXIT 7 0
5QKB [
5R52 RAISECPA
5RJL [THIS S/R LOCATES A CPA WAITING FOR ONLINE
5S4= JOBLOCK AWORK3(2),3 [X3-> JOBQ BLOCK
5SHW FCAJO 3 [X3-> CPA
5T3G [ WE NOW UNSET THE 'ONLINE REQUEST BEING SERVICED' MARKER
5TH6 LDN 0 2
5W2Q ERS 0 EXT+9(3)
5WGB ANDX 0 EXT+9(3)
5X22 BNZ 0 ROLERR [ERROR IF FLAG NOT SET
5XFL EXIT 7 0
5X^= WAKECPA
5YDW [THIS S/R WAKES UP A CPA FOR ONLINE
5^D6 CHAIN 3,BMISC+1
5^XQ LONGON1 #27,GOUTKEY1(3)
62CB EXIT 7 0
62X2 [ ********
63BL [
63W= [***********************************************************************
64*W [MAIN BODT OF SEGMENT
64TG [***********************************************************************
65*6 POINT1
65SQ [THIS IS THE ENTRY FROM LISTFREE WHEN A FILE HAS BEEN LOST.
66#B [IT IS OBEYED BY A CPA.
67?L CALL 7 OUTNAME
67R= LFTHAW
67R^ ...#
67SN ...XENDB1
68P= ... COMERR ERLOSTA
69=6 [
69PQ [***********************************************************************
6=9B POINT2
6=P2 [THIS ENTRY POINT IS USED BY THE SCHEDULER FROM THE TESTBLOCK S/R
6?8L [IN LISTPROC.THE SCHEDULER IS PROCESSING A FABSNB FOR A LIST FILE
6?N= [AND HAS FOUND A CORRESPONDING FABSNB IN A GOUT/INFO STRING IN THE LFCHA
6#7W [ ACOMMUNE4=1 FOR LOST MAIN FILE
6#MG [ =2 FOR LOST SETUP FILE.
6*76 LDX 0 ACOMMUNE4(2)
6*LQ STO 0 AWORK1(2)
6B6B [
6BL2 [***********************************************************************
6C5L POINT3
6CK= LDN 6 24
6D4W CALL 7 OUTBLOCK [SET UP BLOCK TO HOLD PARAMETERS.
6DJG CALL 7 STANDMESS
6F46 MHUNTW 3,GOUT,INFO
6FHQ LDX 0 GJOBS(3)
6G3B STO 0 AWORK3(2)
6GH2 LDX 7 GMODE(3)
6H2L BNG 7 NFRE [J IF ONLINE
6HG= FREECORE 3
6HMD ...#UNS AWLSZ
6HSL ... VFREEW GOUT,GESIZE
6H^W NFRE LDX 0 AWORK1(2)
6J9N ... LDX 1 FX1
6JFG LDX 4 SETUPBIT(1)
6J^6 ANDX 4 7 [PREPARE CHECK ON SETUP
6KDQ BZE 0 NLOST [J IF NOT LOST FILE
6KYB SBN 0 3
6LD2 BPZ 0 NLOST
6LXL MHUNT 3,FILE,FABSNB
6MC= NAMETOP 3,GOUT,INFO4 [PRESERVE FABSNB
6MWW BNG 7 TOLI [J IF ONLINE
6NBG MHUNT 3,GOUT,INFO2
6NW6 NAMETOP 3,FILE,FABSNB
6P*Q BZE 4 NSTUP [J IF NO SETMP
6PTB LDX 0 AWORK1(2)
6Q*2 SBN 0 1
6QSL BNZ 0 TOLI [J IF IT IS SETUP THAT IS LOST
6R#= CHAIN 3,2 [GET MAIN FILE FABSNB NEARER
6RRW TOLI MHUNT 3,GOUT,INFO3
6S?G NAMETOP 3,FILE,FABSNB
6SR6 NSTUP BPZ 7 TNOLI [J NOT ONLINE
6T=Q LDX 5 WJSETP15(1)
6TQB ONLINERR
6W=2 MHUNTW 3,GOUT,INFO
6WPL CALL 7 WAKECPA
6X9= STO 5 GMODE(3)
6XNW LDX 0 JSOURCE3(2)
6Y8G STO 0 GSOURCE1(3)
6YN6 BZE 4 NTHAW [J IF NO SETUP
6^7Q THUP LFTHAW
6^MB NTHAW MHUNT 3,GOUT,INFO4 [LOST FILES FABSNB
7272 BNG 3 NOFAB
72LL NAMETOP 3,FILE,FABSNB
736= NOFAB UP
73KW TNOLI CALL 7 OUTNAME
745G LDX 5 WJLFLOST(1)
74K6 TMON LDX 4 AWORK3(2) [JOB NUMBER
754Q CALL 6 SMONOUT
75=Q BRN THUP
75DQ NLOST HUNT 3,FILE,FABSNB [FREE 'EXTRA' FABSNB
75LQ BNG 3 TXOL1 [IF ONE EXISTS
75SQ FREECORE 3
762Q TXOL1 BZE 4 NOPAT [J IF NO SETUP FILE
768Q MHUNT 3,GOUT,INFO3
76BQ NAMETOP 3,FILE,FABSNB
76JQ LDX 0 SMULTSETBIT(1) [IF WE ARE STOPLISTING A
76QQ ANDX 0 7 [MULTIFILE WITH A SETUP
76YQ BZE 0 NOPAT [FILE,WE ONLY THAW THE SE
776Q FREECORE 3 [FILE ONCE WHEN THAWING
77#Q [ THE LAST MF COMP.
77GW NOPAT BPZ 7 TXOL [J IF NOT ONLINE
782G LDX 0 AWORK2(2) [GETPER REPLY
78G6 PUTREP2 0
78^Q LDN 5 0
79FB TESTREP2 NOPER,NOP,PERMEXCL,PEX,NOPROP,NOPROP
79^2 GEOERR 1,GETREP
7=DL NOPROP
7=Y= ADN 5 1
7?CW NOP ADN 5 1
7?XG PEX SMO 5
7#C6 LDX 5 WOLGETP(1) [ERROR MESSAGE
7#WQ BRN ONLINERR
7*BB TXOL MHUNT 3,GOUT,INFO2
7*W2 NAMETOP 3,FILE,FABSNB
7DRQ LDX 0 AWORK1(2)
7F?B BZE 0 SGETP
7FR2 LDX 5 WJLFSLIST(1)
7G=L BRN TMON
7GQ= SGETP LDX 0 AWORK2(2)
7H9W PUTREP2 0
7HPG TESTREPN NOPER,SGPMX
7J96 SG1 LDN 3 GSWORK3(2) [CONSOLE PROPERTY
7JNQ LDN 4 1
7K8B LDN 5 JPDPROP
7KN2 CALL 6 PARAMETER
7L7L BRN SG1
7LM= LDX 5 WJLFNOPER(1)
7M6W BRN TMON
7MLG SGPMX LDX 5 WJLFPERMX(1)
7N66 BRN TMON
7NKQ [
7P5B [***********************************************************************
7P64 ...#
7P6Q ...#
7P7D ...POINT41
7PDB ...#
7PF4 ...#
7PFQ ...#
7PGD ...#DEF XAPIALEN=BOLEN>BLLEN+1
7PH6 ...#
7PHS ...#
7PK2 POINT4
7Q4L [THIS ENTRY POINT TIDIES UP WHEN A LISTFILE HAS FINISHED.
7QJ= [IT MUST:
7R3W [1.SEND A MESSAGE TO THE SYSTEM JOURNAL
7RHG [2.MAKE THE PERIPHERAL AVAILABLE.
7S36 [3.GET THE ENTRY IN SYSOUT UPDATED.
7SGQ [ON ENTRY,
7T2B [ AWORK1 > 0 FOR TERMINATE
7TG2 [ AWORK1= 0 FOR COMPLETION.
7T^L [ AWORK1 < 0 FOR CANTDO
7WF= [IF CANTDO THEN AWORK2 CONTAINS RESTART LINE NUMBER OR IS NEGATIVE
7WYW [IF NO START HAS YET BEEN MADE ON LISTING MAIN-FILE.
7XDG [IF ENHANCED SJ MESSAGES ARE INCLUDED,THEN THE ACTLF OWNS
7XY6 [A GOUT GABSNB WHICH WE WILL USE TO DERIVE THE NORMALISED ENTRANT
7YCQ [NAME,AND A GOUT INFO WHICH WE WILL USE TO DERIVE USERNAME JOBNAME
7YXB [
7YXQ ...#
7YY6 ...#
7^C2 ... MHUNTW 3,GOUT,INFO
7^WL LDX 5 GMODE(3)
82B= LDX 6 AWORK1(2)
82TW STOZ GMODE(3) [GET ENTRY DELETED FROM SYSOUT
83*G BPZ 6 NOUPDATE [J IF NOT CANTDO
83T6 STO 5 GMODE(3)
84#Q LDX 0 AWORK2(2)
84SB BNG 0 NOUPDATE
85#2 STO 0 GFLI(3) [RESTART LINE NUMBER
85HR LDX 0 RESTARTBIT(1)
85LB ORS 0 GMODE(3) [SET BIT GMODE IF A RESTART
85M3 ...[ FOR LFALLTRANS MACRO
85MN ...[ NORMAL RESTART BUT NOT 'ALL',
85N* ...[ SET REST2 BIT, WILL NOT CHARGE FOR SKIPS TO START
85P2 ...[ OF LISTFILE OF FILE
85PM ... BS 3,BLFREST2
85Q# ... JBC NOUPDATE,3,BLFALLR
85Q^ ... BC 3,BLFREST2
85RL NOUPDATE
86?= BNG 5 SOL [J IF ONLINE
86QW CALL 7 SCLOSE [CLOSE FILE
87=G SOL LDX 0 SETUPBIT(1)
87Q6 ANDX 0 5
889Q BZE 0 SNS [J IF NO SETUP FILE
88PB [IF THIS IS THE SETUP FILE FOR A MULTIFILE THEN IT WILL ONLY HAVE
8992 [BEEN FROZEN ONCE. THUS WE ONLY THAW IF WE HAVE JUST LISTED THE
89NL [LAST COMPONENT OF THE MULTIFILE.
89RQ [WE NOLONGER THAW THE SETUP FILE ASSOCIATED WITH A MULTIFILE
89WW [IN THIS CHAPTER.IT IS NOW DONE IN LISTPROC BEFORE THE LAST ELEMENT
8=22 [IS DELETED FROM SYSOUT.NECCESSARY AS ELEMENTS MAY BE LISTED IN ANY
8=56 [ORDER-REMEMBER QUERIES!!
8=8= LDX 0 SMULTFILE(1)
8=MW ANDX 0 5 [OTHER THAN THE LAST
8?7G BZE 0 THAWOK
8?M6 LDN 7 SNS [ADDRESS FOR EXIT FROM S/R
8#6Q BRN SCD [ 'CALL' SCLOSE
8#LB THAWOK
8*62 CALL 7 SCLOSE
8*KL ...SNS MHUNTW 3,GOUT,INFO
8B5= ... LDX 0 GJOBS(3)
8BJW ... STO 0 AWORK3(2)
8C4G BPZ 5 RNOLIN [J IF NOT ONLINE
8CJ6 BNG 6 NOTYET [ELSE NO MESSAGE IF NO DEVICE
8D3Q RNOLIN
8DHB LDN 6 12 [SET UP BLOCK
8G2= BNG 5 OLPATH [J IF ONLINE
8GFW ADN 6 12
8HYQ MHUNTW 3,GOUT,GABSNB
8JDB NAME 3,FILE,FABSNB
8KCL OLPATH
8KX= CALL 7 OUTBLOCK [TO HOLD PARAMETERS
8LBW BPZ 5 SNOLIN [J NOT ONLINE
8LWG CALL 7 STANDLOG
8M2C ... CALL 7 STANDLOGA
8M6# ... LDX 4 AWORK3(2)
8MB6 LDX 5 WJLFOL(1)
8MTQ CALL 6 SMONOUT
8N*B ... MHUNTW 3,GOUT,INFO
8NT2 CALL 7 WAKECPA
8P#L LDX 0 CPPTR(2)
8PS= ORX 0 GSIGN
8Q?W STO 0 GMODE(3)
8QRG STOZ CPPTR(2) [NO LONGER OWN DEVICE
8R?6 STOZ JSOURCE1(2)
8RQQ STOZ JSOURCE2(2)
8S=B CALL 7 RAISECPA [INFORM CPA THAT ONLINE REQUEST
8SQ2 [IS NO LONGER BEING IMPLEMENTED
8T9L SUICIDE
8TP= NOTYET
8W8W CALL 7 RAISECPA
8WNG LDEX 0 CLNG1(3) [CHECK WAITING STYLE
8X86 SBN 0 #27
8XMQ BNZ 0 ROLERR [WRONG!
8Y7B LDX 0 JOBEVENTS(3) [CHEC2 IN CASE CPA HAS IGNORED
8YM2 BPZ 0 XLFEND [A PREVIOUS BREAK IN FOR OUR
8^6L SLL 0 2 [BENEFIT.
8^L= BNG 0 XLFEND [NOT Y&T DONE TESTBRKIN
925W LDX 0 ATYPE(3)
92KG ANDN 0 #77
9356 BZE 0 ROLERR [J IF NOT WAITING
93JQ TERMON 3,#27 [SIMULATE BREAK IN
944B BRN XLFEND
94J2 ROLERR
953L GEOERR 1,FLAGOFF
95H= SNOLIN
9726 CALL 7 OUTNAME [EXTRACT ENTRANT NAME
97FQ CALL 7 USERJOB [EXTRACT USERNAME JOBNAME
97^B BRN SLOG
98YL SNOL
99D= ... MHUNTW 3,GOUT,INFO
99XW ... LDN 3 GJOBS(3) [JOB NUMBER
9=CG LDN 4 1
9=X6 LDN 5 JPDNUMB
9?BQ CALL 6 PARAMETER
9?WB BRN SNOLIN
9#B2 SLOG
9#TL CALL 7 STANDLOG
9*5D ... CALL 7 STANDLOGA
9**= LDN 5 0
9*SW LDX 0 AWORK1(2)
9B#G BZE 0 SCOMP [J IF LISTING COMPLETE
9BS6 ADN 5 1
9C?Q SCOMP BPZ 0 NCAND [J IF NOT CANTDO
9CRB ADN 5 1
9D?2 NCAND SMO 5
9DQL LDX 5 WMESS(1) [PICK UP MESSAGE NO.
9F2D ... LDX 4 AWORK3(2)
9F== CALL 6 SMONOUT
9FPW ... MFREE FILE,FABSNB
9KLW XLFEND
9KS4 ... MHUNT 1,GOUT,INFO
9K^= ... NAME 1,GOUT,GUPDATE
9L6G LFCHAIN GOUT,GUPDATE
9LL6 [
9M5Q [***********************************************************************
9MKB POINT5
9N52 STARTACT OUT
9NJL [
9P4= [***********************************************************************
9PHW POINT51
9Q3G [ENTRY POINT TO CHECK THAT DEVICE IS STILL USABLE
9QH6 LDX 0 FINISH
9QN# ...#
9QTG ...XHOMEFIN2
9R2Q SLL 0 1
9RGB BNG 0 XFREE [J IF FINISH
9RMJ ...#UNS ANIP
9RSQ ...#SKI
9S22 SAWCEJ XCEN,XREM [CHECK DEVICE OWNED
9S78 ...#UNS ANIP
9S#B ... SAWCEJ XCEN,XREM,,XLP [CHECK DEVICE OWNED
9S*M ...XREM
9SW# ...POINT52
9SXK ... RJWTBFR XFREE
9S^= LFBITCLR F,2
9T36 ...XEN
9TD= ... LFEND EB
9TF3 ...[
9TF8 ...#UNS ANIP
9TF* ...(
9TFG ...[ NIP LF CLOSED DOWN - NOT FINISH
9TFM ...XLP ACROSS LISTOPEN,8
9TFS ...)
9TG7 ...#
9THD ...XCEN
9THK ...#UNS ANIP
9THQ ...(
9THX ...[ ZEROISE REPERTOIRE DATA
9TJ4 ... SMO FX2
9TJ9 ... STOZ JSOURCE3
9TJB ...)
9W=G ... JWTBWR ,XFREE [J WAITING TO BE WRONGED
9W?R ...#
9W*4 ...XCENY
9WD6 BRN XEN
9WXQ [
9XCB [***********************************************************************
9XX2 POINT6
9XXR ...XFREE
9XXW ...#UNS ANIP
9XX^ ...(
9XY4 ... SAWCEJ XFRE2,XFRE2,XFRE2,XLP2
9XY7 ...[ CLOSE DOWN ACTLF - FINISH HAS OCCURRED
9XY= ...XLP2 ACROSS LISTOPEN,7
9XY* ...XFRE2
9XYD ...)
9Y*4 ... LFBBUS G,2,NOREM
9Y*T ...#SKI
9YBL XFREE LFBBUS G,2,NOREM
9YLD ... LFBITCLR G,2
9YW= MHUNTW 1,GOUT,GPROPNOS
9^*W FREECORE 1
=2*6 NOREM
=2SQ FREEPER
=3#B [
=3S2 [***********************************************************************
=4?L POINT7
=4#P ...#
=4PT ...#
=4R= SUICIDE
=5=W [
=5QG [***********************************************************************
=6=6 POINT8
=6PQ [THIS IS THE ENTRY POINT FROM LISTFREE WHEN A CPA WAITING
=79B [FOR ONLINE GETS A NOPER REPLY.
=7P2 STO 5 AWORK1(2) [PRESERVE CONSOLE PROP.
=88L LDN 4 1
=8N= LDN 5 JPDPERITYPE
=97W STO 6 AWORK2(2)
=9MG OSGN LDN 3 AWORK2(2)
==76 CALL 6 PARAMETER
==LQ BRN OSGN
=?6B LDX 0 AWORK1(2)
=?L2 BZE 0 SENTR
=#5L LDN 4 0
=#K= LDN 5 JPDNULL
=*4W CALL 6 PARAMETER
=*JG LDN 4 1
=B46 OSGNA LDN 3 AWORK1(2)
=BHQ LDN 5 JPDPROPS
=C3B CALL 6 PARAMETER
=CH2 BRN OSGNA
=D2L SENTR COMERRX 7
=DG= [
=D^W [
=FFG [***********************************************************************
=F^6 POINT9
=GDQ [ENTRY POINT FROM LISTOPEN WHEN A FILE HAS BEEN LOST
=GYB [AWORK2 CONTAINS GMODE
=HD2 [THERE IS A GOUT INFO FOR THE REQUEST,AND A COPY
=HXL [OF THE FABSNB FOR THE LOST FILE IN A GOUT INFO4
=JC= [ALL FILES HAVE BEEN THAWED
=JWW MHUNT 1,GOUT,INFO4
=KBG LDX 7 AWORK2(2)
=KW6 BPZ 7 WNOLI [J NOT ONLINE
=L*Q FREECORE 1
=LTB LDX 5 WJSETP15(1)
=M*2 MHUNTW 3,GOUT,INFO
=MSL STO 5 GMODE(3)
=N#= CALL 7 WAKECPA
=NRW BRN XCEN
=P?G WNOLI NAME 1,FILE,FABSNB
=PR6 CALL 7 STANDMESS
=Q=Q CALL 7 OUTNAME
=RPL MHUNTW 3,GOUT,INFO
=S9= LDX 4 GJOBS(3)
=SCY ... LDN 0 #2000 [BLFMULTI = BIT 13
=SLL ... ANDX 0 AWORK2(2) [COPY OF GMODE
=ST# ... BZE 0 XNOMULT [J. FILE NOT MULTI
=T42 ... LDN 6 1
=T=N ... SMO 6 [PICK UPMULTI ERROR MESSAGE
=TFB ...XNOMULT
=TN6 LDX 5 WJLFLOST(1)
=W7Q CALL 6 SMONOUT
=WCJ ... MFREE FILE,FABSNB
=WMB BRN XLFEND
=X72 [
=XLL [
=Y6= [***********************************************************************
=YKW POINT10
=^5G [THIS EN0RY POINT ATTEMPTS TO DEAL WITH A BUSY PRINTER
=^K6 [THIS SEEMS TO OCCUR AFTER A PAGE THROW WHEN PAPER LOW
?24Q OUTPER [INFORM OPERATOR OF PAPER LOW
?2JB INFORM 1,ILOAD,1
?342 JUNBUSY ,STOPD
?3HL COOR4 #77 [WAIT A SPRINGCLEAN
?43= JUNBUSY ,STOPD
?4GW OUTPER
?52G INFORM 1,JLFBUSY,1 [TELL OPERATOR BUSY
?5G6 LOCKC 2,SLOCKC
?5^Q STOZ GZDATA(2) [PREPARE FOR NULL TRANSFER
?6FB LDCT 4 #600 [TO SET US WAITING
?6^2 ADN 4 GZDATA(2) [UNTIL DEVICE OPERABLE
?7DL DCA ,STO,4,CTSA
?7Y= GPERI ,2
?8CW COOR1
?8XG UNLOCK 2
?9C6 STOPD DISENGPER
?9WQ UP
?=BB [
?=W2 SLOCKC
??*L [S/R USED BY CORE ALLOCATION SYSTEM
??T= LDX 2 FX2
?##W EXIT 1 0
?#*^ ...[
?#C4 ...[
?#D7 ...[***********************************************************************
?#F= ...POINT11
?#G* ...[ ENTRY POINT TO LISTFILE ROUTINES TO CLOSE DOWN A NIP LF FOR THE NIPRE
?#HD ...[ MACRO WHEN ONLY A NIPSTART MACRO HAS SO FAR BEEN ISSUED
?#JH ...[ IE FLAG Q IS SET - ENTRY POINT SIMULATES A CANTDO
?#KL ...[
?#LP ... NGN 0 1
?#MS ... STO 0 AWORK1(2)
?#NX ... STO 0 AWORK2(2)
?#Q2 ... BRN POINT4
?#R5 ...[
?#R6 ...[
?#R7 ...[ ENTRY POINT TO OUTPUT THE START OF LF MESSAGE
?#R8 ...[
?#R9 ...POINT12
?#R= ...#UNS ASTRTJL
?#R? ...#SKI
?#R# ... GEOERR 1,NOSTRTJL
?#R* ...#UNS ASTRTJL
?#RB ...(
?#RC ... MHUNTW 3,GOUT,GABSNB
?#RD ... NAME 3,FILE,FABSNB
?#RF ... LDN 6 24
?#RG ... CALL 7 OUTBLOCK
?#RH ... CALL 7 OUTNAME
?#RJ ... CALL 7 USERJOB
?#RK ... CALL 7 STANDLOG
?#RL ... MHUNTW 3,GOUT,INFO
?#RM ... LDX 4 GJOBS(3)
?#RN ... LDX 5 WJLFSTRT(1)
?#RP ... CALL 6 SMONOUT
?#RQ ... MHUNTW 3,FILE,FABSNB
?#RR ... NAME 3,GOUT,GABSNB
?#RS ... UP
?#RT ...)
?#SG #END
^^^^ ...43251507000100000000