{{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