{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: READLINE8)}} ====== READLINE8 ====== (George Source) **Macros used:** [[george:macro:COOR1|COOR1]], [[george:macro:DCA|DCA]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GPERI|GPERI]], [[george:macro:LOCKC|LOCKC]], [[george:macro:LTYPE|LTYPE]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:RESTART|RESTART]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:TRACE|TRACE]], [[george:macro:UNLOCK|UNLOCK]], [[george:macro:UP|UP]] 22FL #LIS K0READLINE>K0OBJPROG>K0PERIS>K0ALLGEO>K0GREATGEO 22^= #SEG READLINE8 [A C PUTMAN 23DW 8HREADLINE 23YG # 24D6 # THIS SEGMENT READS A LINE OR CARD FROM A SLOW INPUT DEVICE INTO AN 24XQ # ADATA/CREADL BLOCK. WORD A1 OF THE BLOCK CONTAINS A CHARACTER COUNT, 25CB # AND THE DATA STARTS IN WORD A1+1. IF THE DEVICE IS DISENGAGED, WORD A1 25X2 # IS SET NEGATIVE. 26BL # CPPTR(2) MUST CONTAIN DEVICE LIST POINTER ON ENTRY 26W= # 27*W SEGENTRY K1READLINE 27TG XK1 28*6 #SKI 99>K6READLINE-99 28SQ TRACE 1,INRDLN3 29#B STOZ CPRW1(2) 29S2 LDCH 7 JSOURCE1(2) [TYPE 2=?L BZE 7 TCA [J IF TR 2=R= SBN 7 3 2?=W BZE 7 XCCA [J IF CR 2?QG GEOERR 1,RLTYPEWR [ERROR IF NEITHER 2#=6 TCA LDN 7 2 2#PQ LDN 3 127 2*9B LDN 4 CPDATA-A1+32 [AMOUNT OF CORE FOR TR 2*P2 BRN XGET 2B8L XCCA LDN 3 80 2BN= LDN 4 CPDATA-A1+20 [AMOUNT OF CORE FOR CR 2C7W XGET DCA ,DSA,7,MODE 2CMG DCA ,STO,3,COUNT [INSERT COUNT 2D76 SETUPCORE 4,3,ADATA,CREADL 2DLQ LOCKC 3,XC3 2F6B LOCKC 2,£ 2FL2 CALL 1 XC3 2G5L LDX 3 2 2GK= LDX 2 FX2 2H4W ADN 3 CPDATA 2HJG DCA ,STO,3,CTSA [S.A. INPUT AREA 2J46 SBN 3 CPDATA 2JHQ GPERI ,2 2K3B COOR1 2KH2 UNLOCK 2 2L2L UNLOCK 3 2LG= LDX 5 CPRW1(2) 2L^W SLL 5 3 2MFG BNG 5 XERR 2M^6 SLL 5 2 2NDQ BNG 5 XDISA 2NYB LTYPE ,4 2PD2 SBN 4 3 2PXL BZE 4 XC1 [J IF CARDS 2QC= SLL 5 1 2QWW SRC 5 6 2RBG LDN 4 127 2RW6 SBX 4 5 [NO. OF CHS. TRANSFERRED IN X4 2S*Q BRN XC2 2STB XC1 LDN 4 80 2T*2 XC2 STO 4 A1(3) 2TSL #SKI K6READLINE>99-99 2W#= TRACE CPDATA(3),OUTRDLN3 2WRW UP 2X?G XC3 MHUNTW 2,ADATA,CREADL 2XR6 EXIT 1 0 2Y=Q XDISA 2YQB NGN 4 1 [SET A1 NEGATIVE IF DISENGAGED 2^=2 BRN XC2 2^PL XERR 329= RESTART XBI,XCD,REPT 32NW GEOERR 1,RDLN ERR [ERROR IF COME HERE AND REPLY OK 338G XBI LDN 4 0 33N6 BRN XCD1 347Q XCD NGN 4 1 34MB XCD1 MHUNTW 3,ADATA,CREADL 3572 BRN XC2 35LL REPT MHUNTW 3,ADATA,CREADL 366= FREECORE 3 36KW BRN XK1 [J. TO REPEAT TRANSFER 375G MENDAREA 10,K99READLINE 37K6 #END ^^^^ ...03262062000100000000