8 22FL #OPT K0LISTLOOP=0 7 22PD ...#OPT ENHPLOW=0 7 22_= #OPT AERRSIM=0 9 23DW ...#OPT HATP=0 9 23YG ...#OPT ATPOLTR=0 10 24D6 ...#OPT ATPOLTRP2=0 18 25CB #LIS K0LISTLOOP>K0LISTFILE>K0ALLGEO>K0GREATGEO>K0COMMAND 7 25X2 #SEG LISTLOOP 10 26BL 8HLISTLOOP 15 26LD ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983 11 26W= SEGENTRY K1LISTLOOP,POINT1 4 27TG [ 10 28*6 [CENTRAL LINE PRINTER CODE 21 28SQ [THIS SEGMENT CONTAINS THE INNER LOOP OF LISTFILE WHICH READS RECORDS 20 29#B [FROM THE SPECIFIED FILE DOES ANY SIMPLE CONVERSION NECESSARY AND 14 29S2 [OUTPUTS THE RECORD ON THE SPECIFIED PRINTER 18 2=?L [EXTRA CODE SHOULD NOT BE INSERTED IN THE MAIN PATH WITHOUT 13 2=R= [CAREFUL CONSIDERATION OF THE OVERHEAD. 14 2?=W [THE CONVERSION IMPLEMENTED IS AS FOLLOWS: 10 2?QG [IF A SHIFT FILE IS LISTED 17 2#=6 [DATA IS FIRST CONVERTED TO GRAPHIC,UNLESS 'SPECIAL' WAS 18 2#PQ [ONE OF THE COMMAND PARAMETERS,WHEN NO CONVERSION IS DONE. 17 2*9B [THE DATA IS CONVERTED ONE RECORD AT A TIME BY DECANTING 18 2*P2 [THE RECORD FROM THE USAGE BLOCK INTO AN ADATA/ACONV BLOCK 18 2B8L [AND USING THE TRANSFORM MACRO.THE FLAG K IS USED TO SHOW 17 2BN= [THE PRESENCE OF AN ADATA/ACONV BLOCK TO AVOID THE HUNT 14 2C7W [OVERHEAD FOR THE NORMAL,NO-CONVERSION PATH. 4 2CMG [ 19 2D76 [IF THE RECORD IS LONGER THAN CAN BE ACOMODATED IN ONE TRANSFER 10 2DLQ [THEN THE RECORD IS SPREAD 20 2F6B [OVER MANY TRANSFERS WITH SUITABLE CONTINUATION LINES FOR LP OUTPUT. 19 2FL2 [THE FLAG H IS SET TO INDICATE THAT THE CURRENT TRANSFER IS ONE 18 2G5L [OF THE SUBSEQUENT COMPONENTS OF A MULTI-TRANSFER RECORD. 4 2GK= [ 19 2H4W [THE BUFFER FOR A TRANSFER IS CONTAINED IN THE ACTLF AND STARTS 19 2HJG [AT THE IDENTIFIER GZDATA.WHILE THE TRANSFER IS IN PROGRESS THE 20 2J46 [ACTLF MUST REMAIN LOCKED [SO THAT EXECUTIVE CAN FIND IT] AND OFF 19 2JHQ [THE LIST OR THE QUEUE (ACHIEVED BY COOR1).WHEN THE TRANSFER HAS 13 2K3B [FINISHED EXECUTIVE RESTARTS THE ACTLF. 4 2KH2 [ 18 2L2L [DATA MANIPULATION IS CONTROLLED BY INFORMATION CONTAINED IN 13 2LG= [THE FOLLOWING LOCATIONS IN THE ACTLF 4 2L_W [ 19 2MFG [ GZPOINT CONTAINS A POINTER RELATIVE TO THE START OF THE 21 2M_6 [ RECORD,INDICATING HOW MUCH DATA HAS ALREADY BEEN TRANSFER 4 2NDQ [ 19 2NYB [ GZDUMP CONTAINS THE DUMP ADDRESS RELATIVE TO THE START 11 2PD2 [ OF THE BUFFER. 6 2PGK ...#UNS ANIP 4 2PK8 ...( 19 2PMR ...[ ALSO, JUST BEFORE THE PERI,CONTAINS THE NUMBER OF 14 2PQB ...[ CHARS FOR CURRENT TRANSFER 4 2PS_ ...) 4 2PXL [ 18 2QC= [ GZTRANS CONTAINS THE NUMBER OF CHARACTERS OF DATA FOR 11 2QWW [ CURRENT TRANSFER. 4 2RBG [ 18 2RW6 [ GZLENGTH CONTAINS THE NUMBER OF CHARACTERS OF DATA IN 12 2S*Q [ THE CURRENT RECORD 4 2STB [ 4 2T*2 [ 21 2TSL [*********************************************************************** 6 2W#= [DATA AREA 17 2WRW [ ---------------------------------------- 4 2X?G [ 8 2XR6 TLP2 +2 15 2Y=Q SM #07777777 [EQUAL MASK 17 2YQB TLP +1 [LP COMPARISON WORD 19 2_=2 SMLP +7036875 [LP MAGIC CONVERSION NUMBER 18 2_PL NUMLP +8000000 [LP MAXIMUM LINE NUMBER 17 329= TCA +0.3 [LP BUFFER MODIFIER 21 32NW XCONT 4H - [CONTINUATION LINE MARK-OUTPUT AT END OF 15 338G [EACH LINE OF A MULTILINE RECORD 4 33N6 [ 9 347Q SETUPBIT #10000000 8 34MB PAGELEN +66 4 3572 [ 21 35LL [*********************************************************************** 7 366= [SUBROUTINE AREA 5 36KW TIDYUP 14 375G [THIS S/R TIDIES UP WHEN A LISTING IS TO END 18 37K6 LFBBUS K,2,NOADATA [J IF NO CONVERSION BLOCK 10 384Q MHUNTW 1,ADATA,ACONV 7 38JB FREECORE 1 18 3942 LFBITCLR K,2 [CLEAR CONVERSION FLAG 5 39HL NOADATA 11 3=3= ... MHUNTW 1,GOUT,INFOLIST 9 3=GW LDX 4 GREST(1) 9 3?2G LDX 0 AWORK4(2) 20 3?G6 BPZ 0 NLSU [J IF NOT CURRENTLY LISTING SETUP 9 3?_Q STOZ GREST(1) 9 3#FB STOZ GNUM(1) 7 3#_2 EXIT 3 0 7 3*DL NLSU FREECORE 1 6 3*H9 ...#SKI ENHPLOW 4 3*KS ...( 19 3*NC ... LFBITCLR U,2 [CLEAR ANY PAPER LOW BITS SET 8 3*R2 ... LFBITCLR V,2 4 3*TK ...) 10 3*Y= LDX 0 SETUPBIT(1) 9 3BCW ANDX 0 AWORK2(2) 19 3BXG BZE 0 NSUA [J IF NO SETUP FILE AT ALL 11 3CC6 ... MHUNTW 1,GOUT,INFOSET 7 3CWQ FREECORE 1 7 3DBB NSUA EXIT 3 1 4 3DW2 [ 5 3F*L SLOCKC 16 3FT= [THIS S/R IS USED BY THE LOCK MACRO TO SET X2=FX2 8 3G#W LDX 2 FX2 7 3GSG EXIT 1 0 21 3H#6 [THIS IS A SUBROUTINE FOR CONVERTING THE BINARY NUMBER IN X5 TO DECIMAL 21 3HRQ [CHARACTERS STORING THE RESULT IN THE LOCATION WHOSE ADDRESS IS IN X2 4 3J?B [ 5 3JR2 SEQUENCE 7 3K=L MODE 1 8 3KQ= SCBD CBD 4 0(2) 7 3L9W BCHX 2 / 8 3LPG BCT 3 SCBD 20 3M96 MODE 0 [DON'T SUPPRESS ZEROES FOR LAST 15 3MNQ CBD 4 0(2) [CHARACTER 7 3N8B BCHX 2 / 8 3NN2 DCH 1 0(2) 8 3P7L LDX 1 FX1 8 3PM= LDX 2 FX2 7 3Q6W EXIT 0 0 4 3QLG [ 21 3R66 [THIS ROUTINE PERFORMS THE PERI ON THE DEVICE AND CHECKS THE REPLY FOR 12 3RKQ [DISENGAGED AND INOPERABLE STATES 4 3S5B [ 6 3S6C ...#UNS ANIP 4 3S7D ...( 17 3S8F ...[ ENTRY FROM SRER SUBROUTINE (CORRUPT FILE) IF NIP ACTLF 9 3S9G ...PERI4 KEEPREP 0,CORRUPT 11 3S=H ...[ ENTRY TO GIVE CHANGED REPLY 8 3S?J ...PERI5 ORX 0 GSIGN 9 3S#K ... STO 0 GZDUMP(2) 8 3S*L ... SBX 5 FX1 10 3SBM ...XLPS DOWN LISTPREP,4 9 3SCN ... LDX 0 GZDUMP(2) 8 3SDP ... BNG 0 NOT 21 3SFQ ... BRN XNIP [NORMAL ENTRY - ADD TO ALFTRANS ETC 4 3SGR ...[ 4 3SHS ...) 15 3SK2 PERI SBX 5 FX1 [ADJUST LINK 6 3SLC ...#UNS ANIP 4 3SMS ...( 15 3SP9 ...[ IF NIP ACTLF GO DOWN TO LISTPREP TO DO PERI 8 3SQL ... LDX 2 FX2 9 3SS3 ... LDX 4 GZDUMP(2) 20 3STD ... BZE 4 NOT [ZERO CHAR COUNT - DO NOT PRINT 9 3SWT ... LDX 0 CPPTR(2) 8 3SY= ... BZE 0 XLPS 21 3S_M ... DCA ,STO,4,COUNT [STORE CHAR COUNT IN CONTROL AREA 4 3T34 ...) 9 3T4L REP DCA ,LDX,4,COUNT 8 3TJ= BZE 4 NOT 8 3W3W LDX 1 FX1 9 3WHG LDX 4 TCA(1) 9 3X36 LOCKC 2,SLOCKC 9 3XGQ ADN 4 GZDATA(2) 10 3Y2B DCA ,STO,4,CTSA 7 43CQ GPERI ,2 6 43XB COOR1 7 44C2 UNLOCK 2 9 45TW LDX 4 FINISH 7 46*G SLL 4 2 16 46T6 BNG 4 SCANTY [ 'FINISH NOW' 8 47#Q LDCT 4 #50 9 47SB ANDX 4 CPRW1(2) 18 48#2 BNZ 4 NOTENG [J IF FAIL OR DISENGAGED 6 48F8 ...#UNS ANIP 4 48LB ...XNIP 7 48RL LDN 0 1 10 49?= ADS 0 ALFTRANS(2) 6 49BB ...#UNS ANIP 9 49FG ... LDX 4 GZDUMP(2) 6 49JL ...#UNS ANIP 4 49MQ ...#SKI 10 49QW DCA ,LDX,4,COUNT 7 4==G SRL 4 2 10 4=Q6 ADS 4 ALFWORDS(2) 8 4?9Q NOT ADX 5 FX1 13 4?PB EXIT 5 0 [EXIT 4 4#92 # 12 4#NL # THE FOLLOWING DEALS WITH RESTARTS 4 4*8= # 8 4*MW [ MULTIPAGE RESTARTS 16 4B7G [ IF GLEN=0 THEN NO MULTIPAGE RESTART IS REQUIRED 21 4BM6 [ GLEN=IPAGE-1 AND IS SET UP IN LISTPREP. IPAGE IS MAX NUMBER OF PAGES 9 4C6Q [ THAT CAN BE REPEATED 15 4CLB [ GNEXT IS A POINTER TO THE NEXT GREST TO BE SET 21 4D62 [ IF GREST+1=0 THEN NO MULTIPAGE RESTART IS REQUIRED AS ONLY ONE PAGE 8 4DKL [ HAS BEEN LISTED. 16 4F5= [ ALPSETUP IS SET EQUAL TO IPAGE BEFORE THE REQUEST 18 4FJW [ AFTER THE PAGES COMMAND ALPSETUP IS EQUAL TO THE NUMBER-1 4 4G4G [ 5 4GJ6 PAGEREST 8 4H3Q SBX 3 FX1 11 4HHB ... MHUNTW 1,GOUT,INFOLIST 9 4J32 LDXC 4 GREST(1) 17 4JGL BCC PAGES1 [J NOT PAGE RESTART 6 4JHX ...#SKI ENHPLOW 4 4JK8 ...( 20 4JLF ... LFBBUS U,2,SUSU [J IF PAPER LOW NOT BEEN FOUND 20 4JMQ ... LFBITCLR U,2 [OTHERWISE CLEAR PAPER LOW BITS 20 4JP3 ... LFBITCLR V,2 [AND OUTPUT RELOAD MESSAGE BEFORE 21 4JQ# ... LDCT 6 #100 [IF NO PLOW REPLY ON LAST TRANSFER 21 4JRK ... ANDX 6 CPRW1(2) [THEN ASSUME OPERATORS HAVE BEATEN 14 4JSW ... BZE 6 SUSU [US TO IT 19 4JW7 ... DOWN LISTNEXT,10 [CONTINUING RESTART ACTION 4 4JXD ...SUSU 4 4JYP ...) 9 4K2= LDX 6 GLEN(1) 15 4KFW BZE 6 PAGES1 [J IPAGE=1 10 4K_G LDX 5 GREST+1(1) 17 4LF6 BZE 5 PAGES1 [J ONLY 1 PAGE LISTED 9 4LYQ LDX 6 GLEN(1) 21 4MDB ADN 6 1 [THIS LISTFILE (FOR PAGES COMMAND) 18 4MY2 STO 6 ACOMMUNE6(2) [THEN PUT IT IN ACOMMUNE6 7 4PBW GEOPACK 1 10 4PWG LONGSET #104,XGEOER,1 6 4RT2 OUTPER 14 4S#L DEMAND ,JPAGES,PAGES2,XGEOER,REE,1 20 4SS= [PLEASE GIVE PAGES FOR ERROR RESTART ON UNIT %A 4 4T?W PCD 11 4TRG ... MHUNTW 1,GOUT,INFOLIST 9 4W?6 LDX 5 GNEXT(1) 21 4WQQ LDX 6 ACOMMUNE6(2) [SET X6=NO OF PAGES FOR ERROR RESTART 14 4X=B SBN 6 1 [MINUS 1 7 4XQ2 SBX 5 6 8 4Y9L BPZ 5 OK 9 4YP= ADX 5 GLEN(1) 7 4_8W ADN 5 1 21 4_NG OK SMO 5 [PICK UP CORRECT RESTART LINE NUMBER 9 5286 LDX 5 GREST(1) 20 52MQ BNZ 5 YOK [NO OF PAGES GIVEN MIGHT BE