{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: PCTLISTB867)}}
====== PCTLISTB867 ======
(George Source)
**Macros used:** [[george:macro:FLIP|FLIP]], [[george:macro:FREEPER|FREEPER]], [[george:macro:LF|LF]], [[george:macro:LFEND|LFEND]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:NEW|NEW]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SLEEP|SLEEP]], [[george:macro:SUICIDE|SUICIDE]], [[george:macro:VFREEW|VFREEW]], [[george:macro:WAKEUP|WAKEUP]]
22FL SEG PCTLISTB
22PD ...# COPYRIGHT INTERNATIONAL COMPUTERS 1982
22^= #LIS K0PCTLISTB>K0PCT>K0ALLGEO
23DW # ENTRY POINTS
23YG SEGENTRY K1PCTLISTB,Z1PCTLISTB
24D6 SEGENTRY K2PCTLISTB,Z2PCTLISTB
24XQ [THIS SEGMENT OUTPUTS ASTERISKS + PAGE THROW OR RUNOUT AND GOES TO
25CB [K1LISTFIND TO FIND ANOTHER FILE TO BE LISTED.
25X2 [IT IS ENTERED AT K1 FROM 'PCTSTART' IF A REMOTE LP HAS BEEN ALLOCATED.
26BL [IT IS ENTERED AT K2 WHEN THE LISTING IS COMPLETE, TO FINISH IT OFF AND
26W= [RETURN TO THE LISTFILE SCHEDULING ROUTINES.
27*W [THE CURRENT ACTIVITY IS AN ACTLF.
28SQ TWEMS #76007631,#60763576,#04762300
29#B VLIP FLIP
29S2 LDX 1 FX1
2=?L LDX 2 FX2
2=R= EXIT 7 0
2?QG YLIST #76663232
2#=6 STAR #32323232 [KEEP YLIST,STAR,ZLIST IN THIS ORDER
2#PQ ZLIST #32327666
2*9B SEGENTRY K70PCTLISTB
2*P2 #76667634
2B8L NLIST #76347666,#76327632,#76357634
2BN= TAPE #76327620,#76207620
2C7W STX #76222020
2CMG XBCC1 #173554,#30137554
2C^X ... SEGENTRY K71PCTLISTB
2D## ...XBCC2 #4776120,#77776131
2DLQ [
2F6B [ APPEND ETB TO THE OUTPUT BUFFER AND UPDATE THE BUFFER POINTER.
2FL2 #
2G5L SEND
2QC= LDX 4 GSIGN [APPEND ETB TO THE OUTPUT
2QWW LDN 0 #7607
2RBG MVCH 4 2
2RW6 WAKEUP LF [FPUT THE AMOP IF NECESSARY
2S*Q LDX 4 INTLK3(3) [OLD BUFFER NUMBER
2STB SBN 4 ALFBUFFNUM-1
2T*2 BZE 4 TWAS
2TSL ADN 4 ALFBUFFNUM
2W#= TWAS STO 4 INTLK3(3) [NEW BUFFER NUMBER
2WRW LDX 0 GSIGN
2X?G SMO 4
2XR6 ORS 0 INTLK(3) [INDICATE BUFFER USED
2Y=Q SMO 4 [SET EOM MARKER(MUST BE UNSET AGAIN
2YQB STO 0 INTLK2(3) [BY THE CALLING ROUTINE IF NOT WANTED
2^=2 EXIT 7 0
2^PL #
329= # DO SLEEP MACRO, TAKE CANT-DO ACTION IF ANY ERROR.
32NW #
338G SLEEP SBX 5 FX1
33N6 SLEEP LF,XCD,XCD
347Q MHUNTW 3,A7020,ALIST [RELOCATE BUFFER BLOCK.
34MB LDCT 0 #103 [J. OUT IF ERROR, MOP OFF OR INOP.
3572 ANDX 0 EWAIT(3)
35LL BNZ 0 XCD
366= ADX 5 1
36KW EXIT 5 0
375G # IF INOP., MOP OFF, "TE" OR "CD" DURING OUTPUT OF HEADINGS.
37K6 XCD LDX 2 FX2
384Q MHUNTW 3,A7020,ALIST
38JB LDCT 0 #100
3942 ANDX 0 EWAIT(3)
39HL ERS 0 EWAIT(3)
3=3= LDX 0 IWORK10(2)
3=GW BNZ 0 TWEND [J IF K1ENTRY - NO MORE TO DO.
3?2G VFREEW ADATA,CREADL [FREE THE VARIOUS DATA BLOCKS.
3?G6 VFREEW FILE,ENT
3?^Q NGS 1 IWORK1(2) [SET AS -VE TO SHOW NOT STARTED LIST
3#FB LFEND CD [CANTDO EXIT.
3#^2 #
3*DL # GET ADDRESS OF NEXT BUFFER; WAIT IF IT IS STILL BEING USED
3*Y= #
3BCW NEW MHUNTW 3,A7020,ALIST
3BXG LDCT 0 #103 [J IF ERROR, MOP OFF OR INOP. LINE
3CC6 ANDX 0 EWAIT(3)
3CWQ BNZ 0 XCD
3DBB LDX 4 INTLK3(3) [OLD BUFFER NUMBER
3DW2 SBN 4 ALFBUFFNUM-1
3F*L BZE 4 TWOAL
3FT= ADN 4 ALFBUFFNUM
3G#W SEG SMO 4
3GSG TWOAL LDX 5 INTLK(3)
3H#6 BPZ 5 XFREE [NEXT BUFFER NOT BEING USED
3HRQ SBX 7 1
3J?B CALL 5 SLEEP [WAIT FOR THE NEXT BUFFER
3JR2 ADX 7 1
3K=L BRN SEG
3KQ= XFREE ANDX 5 BITS22LS
3L9W ADN 5 ACTBUFF(3) [ADDRESS FOR DEPOSITING IN X5
3LPG LDN 4 STX(1)
3M96 MVCH 4 2 [#7622 = STX
3MNQ EXIT 7 0
3N8B #
3NN2 # SET OUTPUT FINISHED MARKER AND WAIT FOR TRANSMISSION ENDED REPLY.
3P7L #
3QLG WFIN1 LDXC 7 7
3R66 BRN WFMHW
3RKQ SPLWF ORX 7 GSIGN
3S5B ADN 7 1
3SK2 WFMHW MHUNTW 3,A7020,ALIST
3WHG LDCT 0 #103 [J. OUT IF ERROR, MOP OFF OR INOP. LI
3X36 ANDX 0 EWAIT(3)
3XGQ BNZ 0 XCD
3Y2B LDCT 6 #20 [SET OUTPUT COMPLETE MARKER.
3^F= LDXC 7 7
3^YW BCC NSPN2
42DG ORN 6 8
42Y6 NSPN2
43XB SBX 7 FX1
44C2 WFIN2 ORS 6 EWAIT(3)
44WL CALL 5 SLEEP [WAIT
45B= LDCT 0 #10 [HAS THE TRANSMISSION FINISHED YET.
45TW ANDX 0 EWAIT(3)
46*G BZE 0 WFIN2
46T6 ADX 7 1
47#Q ERS 0 EWAIT(3) [CLEAR THE "FINISHED" MARKER.
48RL LDN 0 8
49?= ANDX 0 EWAIT(3)
49QW ERS 0 EWAIT(3)
4=Q6 EXIT 7 0
4?9Q Z2PCTLISTB
4#NL NGNC 6 1
4*8= Z1PCTLISTB
4*MW LDN 6 1
4B7G STOZ AWORK3(2)
4BM6 STO 6 IWORK10(2)
4C6Q MHUNTW 3,A7020,ALIST
4CLB LDN 0 4
4D62 ANDX 0 EWAIT(3)
4DKL BZE 0 NSPLD
4F5= LDX 4 GSIGN
4FJW STO 4 AWORK3(2)
4G4G BCT 6 VRZ3
4GJ6 BRN XYEB
4H3Q VRZ3
4HHB ORS 4 IWORK10(2)
4J32 NSPLD
4JGL LDCH 6 JSOURCE1(2)
4K2= LDN 5 0
4KFW CALL 7 VLIP
4K^G LDX 1 FX1
4LF6 LDX 2 FX2
4LYQ ANDN 6 1 [#400:0 IF TP, 0 IF LP.
4MDB SRC 6 1
4MY2 STO 6 AWORK1(2) [REMEMBER PERIPHERAL TYPE INDICATOR.
4NCL ADNC 6 4 [TAPE REQUIRES 4 BUFFERS OF RUNOUT.
4NX= BCS TRUN
4PBW LDN 6 1
4QB6 ORX 6 5
4QTQ CALL 7 NEW [GET BUFFER ADDRESS IN X5.
4R*B LDN 7 0
4SS= BPZ 6 NSPLE [IF NOT SPOOLING
4T?W LDN 4 TWEMS(1)
4TRG MVCH 4 7
4W?6 LDN 7 1 [X7 = 1 IF SPOOLING
4WQQ NSPLE
4XQ2 LDN 4 NLIST+1(1)
4Y9L MVCH 4 4 [2 NLS
4YP= LDN 4 YLIST(1)
4^8W MVCH 4 6 [^****
4^NG LDX 4 5
5286 SBN 4 1
56JQ BPZ 6 NSPLA [J IF NOT SPOOLING
574B NGN 7 7
57J2 SMO 7
583L NSPLA
592W SEGENTRY K50PCTLISTB
59GG LDN 7 A7021WIDTH-66 [ASSUMES 79