{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: PROFLAG83)}}
====== PROFLAG83 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ADDRESS|ADDRESS]], [[george:macro:BRUSEN|BRUSEN]], [[george:macro:BXE|BXE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CHKBREAK|CHKBREAK]], [[george:macro:COOR1|COOR1]], [[george:macro:DCA|DCA]], [[george:macro:DLCA|DLCA]], [[george:macro:ERROR|ERROR]], [[george:macro:FINDLCA|FINDLCA]], [[george:macro:FLAG|FLAG]], [[george:macro:FPUT|FPUT]], [[george:macro:FPUTX|FPUTX]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GLPERI|GLPERI]], [[george:macro:GPERI|GPERI]], [[george:macro:HUNT2B|HUNT2B]], [[george:macro:HUNTACT|HUNTACT]], [[george:macro:HUNTW|HUNTW]], [[george:macro:JLBUSY|JLBUSY]], [[george:macro:JOBLOCK|JOBLOCK]], [[george:macro:LNLI|LNLI]], [[george:macro:LOCK|LOCK]], [[george:macro:LOCKC|LOCKC]], [[george:macro:LONGCLEAR|LONGCLEAR]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:REPEAT|REPEAT]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:TICKLE|TICKLE]], [[george:macro:UNLOCK|UNLOCK]], [[george:macro:UNSET|UNSET]]
22FL ... SEG PROFLAG,,G. CONSTANTINIDES.
22^= #LIS K0PROFLAG>K0MULTIPLX>K0ALLGEO>K0GREATGEO
23YG # ENTRY POINTS
24D6 SEGENTRY K1PROFLAG,Z1PROFLAG
24K# ...#SKI JSKI14
24QG ... SEGENTRY K92PROFLAG,X92PROFLAG
24XQ MENDAREA 30,K100PROFLAG
25CB [
25X2 [THIS SEGMENT DEALS WITH FLAGS ON THE MULTIPLEXOR
26BL [
26W= TABM #11 [OUTPUT.
27*W #13 [OUTPUT + INPUT.
27TG #40000000 [SPECIAL FOR B.I. IDLE
28*6 #DEF NMODES=0?-TABM [NUMBER OF POSSIBLE MODES
28SQ TABJ BRN OUT
29#B BRN OUTIN
29S2 BRN UNSET
2=?L TC1 #7621
2=R= SCANCEL #76100000
2?=W PMASK #77737777
2?QG QMASK #20040000 [MASKS FOR NEW LINE SUPPRESSION.
2#=6 RMASK #40000
2#PQ TIMSK #40:3
2*9B ... SEGENTRY K50PROFLAG
2*P2 SERROR +34
2B8L 34HTRANSMISSION ERROR - PLEASE REPEAT
2BN= SERRORA +18
2C7W 18HTRANSMISSION ERROR
2CMG SBI +8
2D76 8HBREAK IN
2DLQ SAOUT
2F6B #HAL AMXOR+AOUT,0
2FL2 [
2G5L # THIS SUBROUTINE WAKES CPA IF ASLEEP AND UNSETS THE WAITING BIT
2GK= #
2GTS ...XLIST HUNTACT CPAT,2,3
2H6B ... LDXC 4 GWAIT(3)
2HBY ... BCC TOLCL
2HMG ... STO 4 GWAIT(3)
2HY4 ... FPUT
2J8L ... EXIT 5 0
2JF8 ...TOLCL LONGCLEAR 2,AWAITMOP,RESFX
2JPQ ...RESFX LDX 1 FX1
2K2# ... LDX 2 FX2
2K=W ... EXIT 5 0
2KHG ...#SKI JSKI14
2KJ2 ...(
2KJG ...RCHN LDX 2 FX1
2KK2 ... SBN 2 A1
2KKG ... LDX 1 ATYPE(2)
2KL2 ... BNZ 1 ZNNN
2KLG ... LDX 1 BPTR(2)
2KM2 ... BZE 1 ZNNN
2KMG ... SMO FPTR(2)
2KN2 ... STO 1 BPTR
2KNG ... LDX 1 FPTR(2)
2KP2 ... SMO BPTR(2)
2KPG ... STO 1 FPTR
2KQ2 ... STOZ BPTR(2)
2KQG ... STO 2 FPTR(2)
2KR2 ...ZNNN LDX 1 FX1
2KRG ... LDX 2 FX2
2KS2 ... EXIT 0 0
2KSG ...RMV LDEX 3 4
2KT2 ... BZE 3 ZEMV
2KTG ... SMO 3
2KW2 ...NMV MOVE 1 0
2KWG ... ADX 1 3
2KX2 ... ADX 2 3
2KXG ... SBX 4 3
2KY2 ...ZEMV LDN 3 512
2KYG ... BNZ 4 NMV
2K^2 ... EXIT 0 0
2K^G ...)
2L2L #
2LG= [
2L^W [THIS ENTRY POINT OBEYS A MODE *4000 PERI TO SET UP THE FLAG AREA AND
2MFG [PUTS THE SCANNING ACTIVITY ON THE LIST
2M^6 [
2NDQ Z1PROFLAG
2NKY ...#SKI JSKI14
2NR6 ... CALL 0 RCHN
2NYB LDX 3 2 [FIND SCANNING ACTIVITY
2PD2 PAST1 HUNTACT AMSCAN,2 [FOR THIS DEVICE
2PXL BXU 3 AMOPADDR(2),PAST1
2QC= FPUT [PUT IT ON THE LIST
2QWW LDN 0 #4000
2RBG DCA CPPTR(3),STO,0,MODE
2RW6 LNLI CPPTR(3),7
2S*Q GPERI ,3
2STB PERX3 SLL 7 2
2T*2 PERY2 COOR1
2TG8 ...#SKI JSKI14
2TMB ... CALL 0 RCHN
2TSL PLOOP BZE 7 U1 [J IF UPX
2W#= SRL 7 2 [REDUCE TO LINE NO.
2WRW LDX 5 7
2X?G LNLI ,6
2XR6 NLINE BXU 5 6,NSA
2Y=Q LDN 5 0
2YQB NSA ADN 5 1
2^=2 FINDLCA ,5
2^PL DLCA 1,LDX,4,FLAG
329= ANDN 4 #77
32NW BNZ 4 SFLAG [J. IF FLAG FOUND
338G BXU 5 7,NLINE [J. IF NOT BEEN ROUND WHOLE FLAG AREA
33N6 #SKI ADEVELOP<1$1
347Q (
34MB LDCT 0 #400
3572 STO 0 CHAINADD(2)
35LL BRN PERX3
366= )
36KW #SKI ADEVELOP
375G GEOERR 1,NO FLAG
37K6 SFLAG LDX 7 5 [PUT LINE NO. IN X7.
384Q SLL 7 2 [TURN INTO PTR.
38JB U1 HUNTW 3,AMXOR,ALINES
3942 BNG 3 UNSET [UNSET FLAG IF NO ALINES BLOCK
39HL ADX 3 7
3=3= LDX 4 A1+FOURTHWD(3) [GET DETAILS OF STATE OF LINE.
3=GW LDX 3 A1+BPTR(3)
3?2G BZE 3 NLCB [RING ELT. NULL, J. TO ANALYSE X4.
3?G6 BNG 4 MXCON [J. TO SET CONCEPTUAL FLAG.
3?^Q SBN 3 A1
3#FB JLBUSY 1,XX1
3#^2 NGS 3 GTIM(3)
3*DL XX1 LDCT 0 2
3*Y= ANDX 0 4 [J. IF "PERI ISSUED BY AMSCAN" MARKED
3BCW BNZ 0 SCANLCB
3BK4 ... LDCT 0 4
3BQ= ... ANDX 0 4
3BXG ANDN 4 #77 [MASK OUT INTERNAL TERMINAL TYPE NO.
3CC6 BCT 4 PCT [J. IF NOT TYPE 1 TERMINAL (7071).
3CLY ... BNZ 0 UNSET
3CWQ LDX 0 GLASTM(3)
3DBB BZE 0 NOTRANS [NO TRANSFER IF GLASTM = 0
3DW2 LDN 4 NMODES
3F*L LDX 1 FX1
3FT= NMD SMO 4
3G#W TXU 0 TABM-1(1)
3GSG BCC MFD [J IF MODE FOUND
3H#6 BCT 4 NMD
3HRQ GEOERR 1,MODENAL [ERROR IF MODE NOT IN TABLE
3J?B MFD SMO 4
3JR2 BRN TABJ-1 [JUMP ACCORDING TO MODE
3K=L NLCB LDCT 0 #530 [J. IF NONE OF "IGNORE FLAGS",
3KQ= ANDX 0 4 ["MOPPING OFF", "SETTING UP CPA"
3L9W BZE 0 NIGNO [OR "ONLINE" BITS ARE SET.
3LPG ANDN 4 #77 [MASK OUT TERMINAL TYPE.
3M96 SBN 4 ASENTMACH [J. IF NOT SENTINEL TO IGNORE FLAG.
3MNQ BNZ 4 UNSET
3N8B LDN 6 #4000
3NN2 MHUNTW 3,AMXOR,ALINES
3P7L SMO 7 [MARK SENTINEL LINE ENTRY TO
3PM= ORS 6 A1+FOURTHWD(3) [SHOW 'ALREADY INTERRUPTED'.
3Q6W BRN UNSET
3QLG NIGNO MHUNTW 3,AMXOR,ALINES
3R66 LDCT 0 #424 ["IGNORE FLAGS", "SETTING UP", "CORE"
3RKQ ADXC 4 4 [J. IF NOT ATTACHED.
3S5B BCC NATCH
3SK2 LDCT 0 #624 [ADD IN "ATTACHED" BIT.
3T4L NATCH SMO 7 [SET STATUS MASK.
3TJ= STO 0 A1+FOURTHWD(3)
3W3W WKIMQ LDN 4 1
3WHG SMO IMOPADDR(2)
3X36 ADS 4 IWAKE [ADD 1 TO COUNT OF CORE REQUESTS
3XGQ LONGCLEAR IMOPADDR(2),#125,UNSETA
3Y2B UNSETA
3YG2 LDX 2 FX2
3Y^L UNSET LDX 6 7 [GET LINE/
3^F= SRL 6 2
3^YW UNS1 FINDLCA ,6
42DG PERY3 DLCA 1,LDX,4,FLAG [CANCEL ALL FLAGS ON THIS LINE
42Y6 ANDN 4 #77
43CQ XUFLAG [J HERE TO CANCEL A GIVEN NO OF FLAG
43XB [S.
44C2 DLCA 1,SBS,4,FLAG
44WL LDX 3 CPPTR(2)
45B= SBS 4 JFAW(3) [AND FLAG ACCUMULATION WORD
45TW LDX 0 JFAW(3)
46*G BNZ 0 PLOOP [J. UNLESS NO MORE FLAGS
46T6 LDX 4 GSIGN
47#Q ADN 4 1
47SB STO 4 CHAINADD(2) [SET CHAINADD = #40000001
48#2 LDX 0 JFAW(3)
48RL BZE 0 PERY2 [J. IF STILL NO FLAG
49?= SMO FX1
49QW LDX 4 XMASK
4==G ANDS 4 CHAINADD(2) [UNSET B0 OF CHAINADD
4=Q6 LDX 4 CHAINADD(2)
4?9Q SBN 4 1
4?PB BZE 4 PLOOP [J. IF CHAINADD = 1
4#92 BRN PERY2
4#NL XMASK #37777777
4*8= MXCON LDX 1 BPTR(3) [AMOP ADDRESS
4*MW LDCT 5 1
4B7G ANDX 5 FOURTHWD(1) [J IF B8 IN FOURTHWRD NOT SET
4BM6 ERS 5 FOURTHWD(1)
4C6Q LDX 6 ACTUAL(3) [LINE NO
4CLB ANDN 6 #7777
4D62 FINDLCA ,6
4DKL BZE 5 RNF
4F5= LDN 4 1
4FJW BRN XNFLAG
4G4G RNF LDCT 5 #777 [CONCEPTUAL LINE CONTROL SECTION
4GJ6 DLCA 1,LDX,7,FLAG [FLAG COUNT
4H3Q ANDN 7 #77
4HHB ANDX 5 ACTUAL(3) [CONCEPTUAL LINE NO.
4J32 SLC 5 7 [TURN INTO CHARACTER MODIFIER.
4JGL ADX 3 BSTART(3) [LOCATE OLPA.
4K2= HUNTACT AOLPT,3
4KFW LDX 1 3 [SAVE ITS START ADDRESS.
4K^G ADX 1 5 [GET THE FLAG COUNT FOR THIS LINE.
4LF6 LDCH 4 FLAGCT(1)
4LYQ ADX 4 7
4MDB LDN 0 64
4MY2 BXL 4 0,XUXF
4NCL LDX 7 6 [IGNORE THIS LOT OF FLAGS
4NX= SLL 7 2 [RESTORE X7-NEEDIT LATER
4PBW BRN UNS1
4PWG XUXF
4QB6 DCH 4 FLAGCT(1) [OTHERWISE SET NEW COUNT.
4QTQ SBX 4 7
4R*B BZE 4 XUXF1 [J IF NO FLAGS SET BEFORE NOW
4RT2 YUF LDX 4 7 [FLAGS PASSED ON TO OBJ PROG
4S#L FINDLCA ,6
4SS= XNFLAG
4T?W LDX 7 6
4TRG SLL 7 2
4W?6 BRN XUFLAG [J TO CANCEL THOSE FLAGS THAT HAVE
4WQQ [BEEN PASSED ON
4X=B XUXF1
4XQ2 LDCT 4 #200 [FLAG BIT FOR UNIPLEXOR.
4Y9L BZE 5 UXCON [J. IF UNIPLEXOR.
4YP= LDX 4 GSIGN
4^8W SLC 5 2 [CONCEPTUAL LINE NO. IN B15-23.
4^NG LDX 1 5
5286 SRL 5 4
52MQ ANDN 1 #17
537B SRL 4 0(1) [CORRECT FLAG BIT FOR THIS LINE.
53M2 UXCON ADX 5 CFLAG(3) [REL. ADDRESS OF CORRECT WORD IN F.A.
546L ADDRESS APETADDR(3),5,1 [ABSOLUTE ADDRESS OF FLAG WORD.
54L= ORS 4 0(1) [SET FLAG.
555W TICKLE JOBNO(3),CMEMBER(3) [DESUSPEND CONTROLLING MEMBER IN O.P.
55KG BRN YUF [J TO CANCEL FLAGS
5656 PCT BCT 4 SENT [IF NOT PCT MUST BE SENTINEL.
56JQ LDXC 4 GWAIT(3) [IS PCT ACTIVITY ON LIST?
574B BCC SNULL [IF SO JUST UNSET FLAG
57J2 STO 4 GWAIT(3) [OTHERWISE WAKE IT UP FIRST.
583L HUNTACT AMOP,2,3 [BLOCK TYPE AMOP/APCT.
58H= FPUTX [PUT IT ON THE FRONT OF THE LIST.
592W BRN SNULL
59GG TTYPE GEOERR 1,TERMTYPE [ILLEGAL DEVICE TYPE IN ALINES ENTRY.
5=26 SENT BCT 4 TTYPE [IF NOT SENTINEL IDF/SCAN HAS BOOBED.
5=FQ LDXC 4 GWAIT(3) [J. IF ALREADY ENLISTED.
5=^B BCC NWAKE
5?F2 HUNTACT AMOP,2,3 [AMOP/ASENT
5?YL FPUT
5#D= NWAKE ADN 4 1 [ADD 1 TO COUNT OF INTERRUPTS.
5#XW STO 4 GWAIT(3)
5*CG BRN SNULL
5*X6 SCANLCB
5BBQ LDX 0 GREP1(3)
5BWB BNG 0 SNULL [J IF'NULL'STILL IN PROGRESS
5CB2 LDCT 0 #402 [ELSE UNSET "AMSCAN'S PERI" BIT, SET
5CTL LDX 2 A1+FPTR(3) ['IGNORE FLAGS' AND NULLIFY
5D*= ERS 0 FOURTHWD(2) [THE RING ELEMENTS.
5DSW STOZ A1+BPTR(3)
5F#G STOZ BPTR(2)
5FS6 UNLOCK 3 [UNLOCK LCB AND WAKE UP SCANNING ACT.
5G?Q HUNTACT AMSCAN,2,3
5GRB FPUT
5H?2 SNULL LDX 6 GUNITNO(3) [LINE NO.
5HQL BRN UNS1
5J== OUT LDX 4 GREP1(3)
5JPW BNG 4 POUT [J IF STILL IN PROGRESS
5K9G LDCH 0 GREP1(3)
5KP6 SRC 0 1
5L8Q BPZ 0 XINOP1 [J IF INOPERABLE
5LNB SRC 0 1
5M82 BNG 0 XERROR1 [J. IF NOT IMPLEMENTED
5MML SRC 0 1
5N7= BNG 0 XERROR1
5NLW ANDN 4 #376
5P6G BNZ 4 XBI2
5PL6 STOZ HWGROT(3) [ZEROISE B.I. COUNT FOR GROTTY
5Q5Q [HARDWARE
5QKB LDCT 0 #2
5R52 ANDX 0 GWAIT(3)
5RJL BZE 0 NOTBI [J. IF NOT B. I. BEFORE LAST OUTPUT.
5S4= ERS 0 GWAIT(3)
5SHW LDCT 0 #40
5T3G ANDX 0 GWAIT(3)
5TH6 BZE 0 XBI [J. IF NOT B. I. ON "TIMED OUT".
5W2Q RTO ERS 0 GWAIT(3)
5WGB NOTBI LDCT 0 #200
5X22 ANDX 0 GWAIT(3)
5XFL BNZ 0 NFREE [J. IF NO OUTPUT BLOCKS TO FREE.
5X^= HUNT2B 1,AMXOR,AOUT,3
5YDW LDX 0 AMOPTY(1)
5YYG ANDN 0 1 [BREAKIN MESSAGE?
5^D6 BZE 0 XYBI [NO
5^XQ LDCT 0 #100
62CB ADN 0 #4000 [UNSET BREAKIN BITS(2,12)
62X2 ANDX 0 GWAIT(3)
63BL ERS 0 GWAIT(3)
63W= XYBI FREECORE 1
64*W BRN NSET
64TG NLSUP LDX 0 QMASK(1) [UNSET NL SUPPRESS & NOT TO FREE BITS
65*6 NFREE ERS 0 GWAIT(3) [UNSET "DO NOT FREE" BIT.
65SQ NSET UNLOCK 3
66#B ...SBII STOZ GLASTM(3) [MARK LCB NOT IN USE
66S2 CALL 5 XLIST [WAKE UP CPA IF ASLEEP.
67?L BRN SNULL
67R= OUTIN LDX 4 GREP1(3)
68=W BNG 4 XBI1 [J IF OUTPUT STILL IN PROGRESS
68QG LDCT 5 #4
69=6 ANDX 5 GWAIT(3)
69PQ BZE 5 PIN [J IF OUTPUT NOT YET DEALT WITH
6=9B LDX 0 GREP2(3)
6=P2 BNG 0 XBI1 [J IF OUTPUT DEALT WITH AND INPUT
6?8L ERS 5 GWAIT(3) [STILL IN PROGRESS
6?N= LDX 0 GWAIT(3)
6#7W ANDN 0 4
6#MG BNZ 0 XERROR1 [J IF OUTPUT PART ENDED IN 'ERROR'
6*76 LDCH 0 GREP2(3) [OTHERWISE END OF INPUT
6*LQ SRC 0 1
6B6B BPZ 0 XINOP1X [J IF INOPERABLE
6BL2 LDCT 4 #200 [SET BIT TO SAY
6C5L ORS 4 GWAIT(3) [DON'T FREE OUTPUT BLOCK
6CK= LDCT 4 #10 [J. IF B. I. ON OUTPUT PART.
6D4W ANDX 4 GWAIT(3)
6DJG ERS 4 GWAIT(3)
6F46 BNZ 4 XBI
6FHQ SRC 0 1
6G3B BNG 0 XERROR [NOT IMP
6GH2 ANDN 0 1
6H2L LDX 2 AWORK1(2) [MAX. NO. OF CHARACTERS TRANSFERABLE.
6HG= LDEX 4 GREP2(3) [REPLY COUNT.
6H^W SBX 2 4 [NO. OF CHARACTERS IN TRANSFER.
6JFG SRC 2 2 [TURN INTO MODIFIER.
6J^6 ADX 2 3 [PTR. TO LAST CHARACTER.
6KDQ LDN 4 4 [COUNT.
6KYB NCH LDCH 6 BUFFER-1(2)
6LD2 SLL 5 6
6LXL DCH 6 5
6MC= BCHX 2 £
6MWW BCT 4 NCH
6NBG SLC 45 12 [X4 = 0 AFTER BRANCH ON COUNT.
6NW6 LDX 2 FX2
6P*Q TXU 5 GEOM(3)
6PTB BCS TCANC [J IF NO EOM
6Q*2 BNZ 0 XERROR [J. IF ERROR BIT SET.
6QSL STOZ GFAIL(3) [CLEAR FAILURE COUNT.
6R#= TXU 4 TC1(1)
6RRW BCC XBI [J IF BREAK IN
6S?G LDX 4 GWAIT(3) [J. IF NEW LINE SUPPRESSION BIT SET.
6SR6 ANDX 4 RMASK(1)
6T=Q BNZ 4 NLSUP
6TQB WAKE CALL 5 XLIST [WAKE UP CPA IF ASLEEP.
6W=2 WAKE1 LDX 4 GNOCHS(3)
6WPL LDN 5 GNLBUFF(3)
6X9= OUTERR
6X?T ... LDX 0 GLASTM(3)
6XBD ... BZE 0 TALOK [J IF IDLE TO LOCK
6XF3 ... BPZ 0 NREQL [ALREADY LOCKED UNLESS BI ON IDLE
6XHL ...TALOK LOCK 3
6XL9 ...NREQL
6XNW LDX 6 GUNITNO(3)
6Y8G FINDLCA ,6
6YN6 JLBUSY 1,PERY3
6^7Q SLL 6 15
6^MB DLCA 1,DLA,4,COUNT
7272 DLCA 1,STO,5,CTSA
72LL LDN 5 #11
736= STO 5 GLASTM(3)
73KW DLCA 1,DLA,5,MODE
745G LDN 5 GREP1(3)
74K6 DLCA 1,STO,5,CREP
754Q DCA ,STO,6,MODE
75JB DLCA 1,LDX,4,FLAG [NEXT PERI MIGHT FINISH
7642 ANDN 4 #77 [BEFORE EXEC RETURNS TO G
76HL GLPERI
773= LDX 0 JTIME [REMEMBER WHEN TRANSFER STARTED
77GW STO 0 GTIM(3) [IN CASE IT NEEDS TO BE TERMINATED
782G BRN XUFLAG
78G6 TCANC LDN 0 2
78^Q BXE 5 SCANCEL(1),UCANC [J. IF CANCEL.
79FB LDX 0 TIMSK(1)
79^2 UCANC ORS 0 GWAIT(3) [SET TIME OUT OR CANCEL BITS.
7=DL BRN WAKE
7=Y= NOTRANS
7?CW LDX 0 GFAIL(3)
7?XG BNG 0 SNULL [J. IF BEING DEALT WITH
7#C6 LDCT 0 #40
7#WQ ANDX 0 GWAIT(3)
7*BB ... BZE 0 NTRBI
7*W2 ERS 0 GWAIT(3) [UNSET "TIMED OUT" BIT.
7B*L CALL 5 XLIST [WAKE UP CPA IF ASLEEP.
7BT= BRN SNULL
7C#W PIN LDCH 0 GREP1(3)
7CSG SRC 0 1
7D#6 BPZ 0 XINOP2 [J. IF INOPERABLE.
7DRQ LDCT 5 #4 [SET MARKER TO SAY 'END OF
7F?B ORS 5 GWAIT(3) [OUTPUT DEALT WITH'
7FR2 SRC 0 1
7G=L BNG 0 XINOP2 [J IF NOT IMPLEMENTED
7GQ= SRC 0 1
7H9W BNG 0 XERROR2 [J IF ERROR BIT SET
7HPG ANDN 4 #377
7J96 BNZ 4 XBI1 [B.I. IF REMAINDER COUNT NON-ZERO
7JNQ SRC 0 1 [OR IF
7K8B BPZ 0 XBI1
7KN2 LDX 0 JTIME
7L7L STO 0 GTIM(3)
7LM= LDX 6 GUNITNO(3) [IN CASE READ HAS ALSO
7M6W FINDLCA ,6 [TERMINATED
7MLG LDN 4 1
7N66 BRN XUFLAG
7NKQ XBI1 LDCT 0 #10
7P5B ORS 0 GWAIT(3)
7PK2 XCANC LDX 6 GUNITNO(3)
7Q4L FINDLCA ,6
7QJ= DLCA 1,LDX,4,FLAG
7R3W ANDN 4 #77
7RHG JLBUSY 1,XCM4
7S36 NGS 3 GTIM(3)
7SGQ BRN NSET
7T2B XCM4 SLL 6 15
7TG2 ADN 6 4
7T^L DCA ,STO,6,MODE
7WF= GLPERI
7WYW BRN XUFLAG
7XDG XERROR
7XY6 LDN 0 4 [SET BIT TO SAY READY REPEAT NEEDED
7YCQ ORS 0 GWAIT(3)
7YXB XERROR1
7^C2 LDEX 4 GFAIL(3) [J. TO SIMULATE INOPERABLE
7^WL SBN 4 AMREPT [LINE IF ERROR COUNT TOO HIGH.
82B= BPZ 4 XINOP1
82TW LDCT 0 #200
83*G ORS 0 GWAIT(3) [SET BIT TO SAY DON'T FREE
83T6 LDN 0 1
84#Q ADS 0 GFAIL(3) [ADD 1 TO FAIL COUNT
84SB LDN 0 4
85#2 ANDX 0 GWAIT(3)
85RL BNZ 0 YRXA [J IF READY
86?= ADN 1 SERRORA
86QW BRN YRXB
87=G YRXA ADN 1 SERROR [ADDRESS OF ERROR MESSAGE
87Q6 YRXB LDX 0 BIT11
889Q ORS 0 GWAIT(3) [SET "CANCEL DC1" MARKER
88PB XOP LDN 4 GNLBUFF(3) [SET UP NL MESSAGE NL
8992 LDN 5 BUFFER(3)
89NL LDCH 0 CHARS(3)
8=8= SMO 0
8=MW MVCH 4 0
8?7G LDN 4 1(1)
8?M6 SMO 0(1)
8#6Q MVCH 4 0
8#LB LDN 4 GNLBUFF(3)
8*62 SMO GNOCHS(3)
8*KL MVCH 4 0
8B5= ADX 0 0(1)
8BJW ADX 0 GNOCHS(3)
8C4G LDX 4 0
8CJ6 SLC 5 2
8D3Q SBN 5 2
8DHB SRC 5 2 [POINT TO LAST BUT ONE CHAR
8F32 LDX 1 5
8FGL LDN 0 #10 [REPLACE EOM WITH CANCEL
8G2= DCH 0 0(1)
8GFW LDN 5 BUFFER(3)
8G^G LDX 1 FX1
8HF6 BRN OUTERR
8HYQ XINOP2
8JDB LDXC 6 GFAIL(3) [J. IF ALREADY CANCELLED READ.
8JY2 BCS NSET
8KCL LDX 5 GSIGN
8KX= ORS 5 GFAIL(3) [SET BIT TO SAY INOPERABLE.
8LBW XERROR2
8LWG LDN 0 4 [SET BIT TO SAY
8MB6 ORS 0 GWAIT(3) [READY TO BE REPEATED
8MTQ BRN XCANC
8N*B REFIND [FOR LOCKC
8NCK ...#SKI JSKI14
8NFS ...(
8NJ3 ... LDX 3 1
8NL= ... CALL 0 RCHN
8NNF ... LDX 1 3
8NQN ...)
8NT2 MHUNTW 2,AMXOR,ALINES
8P#L ADX 2 7
8PS= LDX 2 A1+BPTR(2)
8Q?W SBN 2 A1
8QRG EXIT 1 0
8R?6 XINOP1X
8RQQ LDN 5 4
8S=B ORS 5 GWAIT(3) [REPEAT READY
8SQ2 XINOP1
8T9L LDX 5 GSIGN
8TP= ORS 5 GFAIL(3) [SET BIT TO SAY INOPERABLE
8W8W BRN NSET
8WNG POUT LDCT 0 2 [MARK B.I. BEFORE OUTPUT.
8X86 ORS 0 GWAIT(3)
8XMQ BRN SNULL
8Y7B XBI3 LOCKC 3,REFIND [LOCK LCB FOR OUTPUTTING BREAK IN
8YM2 ...NTRBI CALL 1 REFIND
8^6L LDX 3 2
8^L= LDX 1 FX1
925W LDX 2 FX2
92KG LDX 0 GSIGN [FRIG SO THAT OTHER TRANSFERS
9356 STO 0 GLASTM(3) [CANNOT GET IN DURING B.I. IDLE.
93JQ XBI2 LDX 0 HWGROT(3) [TEST TO SEE IF LIMIT EXCEEDED
944B SBN 0 HWGROTCT-1
94J2 BZE 0 XINOP1
953L LDN 0 1 [INCREASE GROTTY HW BI
95H= ADS 0 HWGROT(3) [COUNT
962W LDCT 0 #40
96GG ANDX 0 GWAIT(3)
9726 BNZ 0 RTO
97FQ LDCT 0 #200 [SET BIT TO SAY
97^B ORS 0 GWAIT(3) [DON'T FREE OUTPUT BLOCK
98F2 LDCT 0 #2 [UNSET 'BREAK IN BEFORE
98YL ANDX 0 GWAIT(3) [OUTPUT BIT' IF
99D= ERS 0 GWAIT(3) [IT IS SET
99XW XBI LDX 0 PMASK(1) [UNSET B10 IN GWAIT
9=CG ANDS 0 GWAIT(3)
9=X6 LDX 0 BIT11
9?BQ ORS 0 GWAIT(3) [CANCEL DC1
9?WB LDCT 0 #100 [J. IF BREAK-IN BIT IS ALREADY SET.
9#B2 ANDX 0 GWAIT(3)
9#TL BZE 0 XBIX [1ST BREAKIN
9**= LDN 0 #4000
9*SW ORS 0 GWAIT(3) [SET DOUBLE BREAKIN
9B#G BRN WAKE1
9BS6 XBIX
9C?Q HUNTACT CPAT,2,3
9CRB #SKI ANOUSER<1$1
9D?2 (
9DQL LDX 6 JOBNO(2)
9F== BZE 6 NBI [J. IF BEFORE JOB BLOCK ETC. SET UP.
9FPW )
9G9G LDN 0 #1000
9GP6 LDCT 4 4
9H8Q SMO A1+FPTR(3)
9HNB ANDX 4 FOURTHWD
9J82 BNZ 4 THSEC
9JML CHKBREAK 2,NBI
9K7= LDCT 0 4
9KLW THSEC SMO A1+FPTR(3)
9L6G ORS 0 FOURTHWD
9LL6 BNZ 4 UNSETA
9N52 #SKI ANOUSER
9NJL BRUSEN NUZ,2
9P4= JOBLOCK JOBNO(2),2
9QH6 NUZ LDX 2 FX2
9R2Q BRN WKIMQ
9RGB NBI LDX 4 GLASTM(3) [J. IF IN B.I. ON IDLE.
9S22 LDCT 0 #200
9SFL LDX 2 FX2
9SMW ... BPZ 4 NSBII
9SW6 ... ERS 0 GWAIT(3)
9T4B ... BRN SBII
9TGD ...NSBII SBN 4 #13
9TYG BNZ 4 WAKE1 [J. TO OUTPUT NL IF NOT MODE 3, ELSE
9WD6 ADN 0 4 [SET BITS TO SAY DON'T FREE,& RPT RDY
9WXQ ORS 0 GWAIT(3)
9XCB BRN WAKE1 [J TO OUTPUT NL
9XCW ...#SKI JSKI14
9XDB ...(
9XDW ...X92PROFLAG
9XFB ... LDX 2 3 [START ADDRESS IN BLK.
9XFW ... SBN 1 A1
9XGB ... LDX 6 ALOGLEN(1) [LTH. OF CHAPTER
9XGW ... LDX 4 6
9XHB ... ADN 4 A1
9XHW ... CALL 0 RMV [MOVE INTO BLOCK
9XJB ... LDX 3 2 [SAVE END OF CHAP
9XJW ... SBX 2 6
9XKB ... SBX 1 6
9XKW ... STO 2 FX1 [RESET FX1
9XLB ... SBN 2 A1
9XLW ... STOZ ATYPE(2) [MARK "CHAPTER IN BLOCK"
9XMB ... STOZ BPTR(2)
9XMW ... STO 2 FPTR(2)
9XNB ... ORX 2 GSIGN
9XNW ... STO 2 KTAB+KPROFLAG [RESET KTAB ENTRY
9XPB ... ADNC 2 ZRS+A1
9XPW ... BRN (2) [JUMP INTO COPIED VERSION
9XQB ...ZRS SBN 1 A1
9XQW ... TXU 1 GFIXCHAP
9XRB ... BCS NOTFX
9XRW ... STOZ BACK2(1)
9XS6 ... BRN TINFX
9XSB ...NOTFX
9XSL ... LDX 0 ASIZE(1)
9XSN ... LDX 2 AFLAG(1)
9XSQ ... ANDN 2 2
9XSS ... BZE 2 NVREZ
9XSW ...[ J IF NOT FROZEN CHAPTER
9XSY ... SBS 0 FREZCHAP
9XT2 ...[ UPDATE FROZEN CHAPTER SIZE
9XT4 ... BRN TVREE
9XT6 ...NVREZ
9XT8 ... SBS 0 ACHAP [UPDATE ACHAP
9XT= ...TVREE
9XTB ... FREECORE 1 [FREE CHAPTER BLOCK
9XTW ...TINFX ACROSS CONMXC,92
9XWB ...)
9XX2 #END
^^^^ ...46030050000700000000