{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: CIOUT8)}}
====== CIOUT8 ======
(George Source)
**Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:BXL|BXL]], [[george:macro:COOR1|COOR1]], [[george:macro:COOR1Y|COOR1Y]], [[george:macro:HUNTW|HUNTW]], [[george:macro:LONGON1|LONGON1]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:OUTMON|OUTMON]], [[george:macro:READYOFF|READYOFF]], [[george:macro:READYON|READYON]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:TICKLE|TICKLE]], [[george:macro:UP|UP]]
22FL #SEG CIOUT8 [G CONSTANTINIDES
22^= #OPT K0CIOUT=0
23DW #OPT K6CIOUT=0
23YG #LIS K0CIOUT>K0ALLGEO>K0COMMAND
24D6 8HCIOUT8
24XQ # ENTRY POINTS
25CB SEGENTRY K1CIOUT,Z1CIOUT
25X2 MENDAREA 50,K100CIOUT
26BL # THIS SEGMENT IS USED TO TRANS-
26W= # FER MESSAGES FROM THE COMMAND PROCESSOR TO CIMOP
27*W #
27TG WAKEY [THIS SUBR WAKES UP THE OBJECT PROG USING CI CHANNEL
28*6 [AND IF CPA IS BEING ABANDONED,ALSO WAKES UP THE JOB
28SQ [WHICH IS DRIVING THE OBJECT PROGRAM
29#B SBX 7 FX1
29S2 LONGON1 CIREL,CIJOBNUM(3) [ELSE ACTIVATE PARENT CPA
2=?L LDX 2 CIFPTR(3) [PTR TO THE OLPA
2=R= SBN 2 BWORKRING
2?=W LDX 0 ATYPE(2) [RENAMED GENERAL IF RELEASED
2?QG SRL 0 12
2#=6 SBN 0 GENERAL
2#PQ BNZ 0 WKY
2*9B LDX 1 FX1 [DONOT TICKLE SINCE IS BEING RELEASED
2*P2 LDX 2 FX2
2B8L BRN WKY1
2BN= WKY TICKLE CIJOBNUM(3),CIMEMBER(3) [WAKE UP THE MEMBER THAT ISSUED
2C7W [THE LAST PERI TO THE CI CHANNEL
2CMG WKY1
2D76 ADX 7 1
2DLQ EXIT 7 0
2F6B #
2FL2 #
2G5L Z1CIOUT
2GK= LDX 0 ACOMMUNE7(2)
2H4W STO 0 AWORK1(2)
2HJG READYOFF
2J46 Z60 MHUNTW 3,AMXOR,CILCB
2JHQ LDX 5 CIREADY(3)
2K3B SLL 5 1
2KH2 BPZ 5 Z10 [J IF INTERLOCK BIT 1 UNSET
2L2L LDCT 5 #100
2LG= ORS 5 CIREADY(3) [ SET INTERLOCK BIT2
2L^W CALL 7 WAKEY
2MFG COOR1
2M^6 BRN Z60 [ALWAYS LOOK FOR BBC BLOCKS FIRST
2NDQ Z10
2NYB HUNTW 1,AMXOR,BBC
2PD2 BNG 1 Z30 [J IF NO BBC BLOCK
2PXL LDN 7 0 [MARK BBC FOUND
2QC= LDX 4 A1(1) [CHAR CT OF MSGE
2QWW ADN 4 11 [ROUND UP TO INTEGRAL WDS + 2 FOR
2RBG SRL 4 2 [COMPATIBILITY WITH AOUT BLOCK
2RW6 STO 4 6 [SAVE IT
2S*Q BRN Z30A
2STB Z30 MHUNTW 1,GMON,AOUT
2T*2 STO 1 7 [MARK AOUT BLOCK FOUND
2TSL LDX 4 A1(1) [NO OF WDS IN MSGE + 2
2W#= Z30A LDX 5 ALOGLEN(3)
2WRW SBN 5 CIMESS-A1
2X?G Z30B BXL 4 5,Z30C [J IF LCB LARGE ENOUGH FOR MSGE
2XR6 ADN 4 CIMESS-A1
2Y=Q ALTLEN 3,4,AMXOR,CILCB [ALTER LENGTH OF LCB
2YQB MHUNTW 3,AMXOR,CILCB
2^=2 BNZ 7 Z50 [J IF NOT BBC
2^PL LDX 4 6 [RESTORE WD CT
329= MHUNTW 1,AMXOR,BBC
32NW BRN Z40
338G Z30C SBN 5 10 [LCB IS LARGE ENOUGH,SO NOW SEE IF IT
33N6 BNG 5 Z40 [IS TOO LARGE. IF SO I0ERATE UNTIL
347Q BRN Z30B [NOT MORE THAN 10 WDS TOO BIG.
34MB Z50 MHUNTW 1,GMON,AOUT
3572 LDX 4 A1(1) [RESTORE WD CT
35LL Z40 LDN 5 A1+2(1) [START OF MSGE IN BLOCK
366= LDN 6 CIMESS(3)
36KW SBN 4 2 [NO OF WDS IN MSGE
375G BZE 4 Z20 [J IF NO CHARS TO MOVE
37K6 SMO 4
384Q MOVE 5 0
38JB Z20
3942 BNZ 7 Z21 [J IF NOT BBC
39HL LDX 5 A1(1) [CHAR CT OF MSGE(BBC)
3=3= BRN Z21A
3=GW Z21
3?2G LDX 5 AWORK1(2) [CHAR CT OF MSGE (AOUT)
3?G6 Z21A DSA 5 CIREADY(3) [SET CHAR CT IN LCB.
3?^Q LDCT 5 #200
3#FB ORS 5 CIREADY(3) [SET INTERLOCK BIT 1
3#^2 BNZ 7 Z150 [J IF NOT BBC
3*DL LDN 6 #2000 [BBC CATEGORY BIT
3*Y= OUTMON A1(1),A1+2,6,AMXOR,BBC
3BCW MFREEW AMXOR,BBC
3BXG HUNTW 1,AMXOR,BBC
3CC6 BPZ 1 Z60 [J IF ANOTHER BBC BLOCK FOUND
3CWQ HUNTW 3,GMON,AOUT [BBC CANT BE A 'READY'.
3DBB BNG 3 Z80B [J IF ONLY BBC TO OUTPUT
3DW2 LDX 0 AWORK1(2)
3F*L BNG 0 Z80B [J IF BROADCAST ONLY
3FT= BRN Z60 [ELSE J TO SET B2 AND WAIT UNTIL
3G#W [BUFFER FREE
3GSG Z150
3H#6 NGN 0 1 [IN CASE WE FIND A BBC BLOCK AFTER
3HRQ STO 0 AWORK1(2) [WE OUTPUT THE GMON/AOUT BLOCK
3J?B LDX 6 A1+1(1) [ PICK UP CATEGORY WORD
3JR2 SLC 6 1
3K=L BPZ 6 Z70 [J IF NOT READY
3KQ= LDX 6 CIREADY(3)
3L9W SLC 6 5
3LPG BPZ 6 Z90 [J IF NOT AWAITING BROKEN-IN MSGE.
3M96 READYON [SET BREAKIN MARKER IN CPA.
3MNQ ERS 5 CIREADY(3) [UNSET INTERLOCK BIT 1 IN CILCB
3N8B BRN Z90A [LOOK FOR BBC BLOCKS BEFORE GOING UP
3NN2 Z90 LDCT 5 #400
3P7L ORS 5 CIREADY(3) [SET READY IN LCB
3PM= LDN 5 0
3Q6W Z80 CALL 7 WAKEY
3QLG BNZ 5 Z90A [J IF NOT 'READY' TO MISS COOR
3R66 COOR1Y
3RKQ Z90A HUNTW 1,AMXOR,BBC [J TO OUTPUT BBC
3S5B BPZ 1 Z60
3SK2 LDCT 0 #10
3T4L ANDX 0 CLONG1(2) [IN CASE BBC DONE WHILE WE WERE
3TJ= ERS 0 CLONG1(2) [IN CIOUT
3W3W UP
3WHG Z70 SLC 6 4
3X36 BPZ 6 Z80 [J IF THIS IS NOT BROKEN-IN MSGE.
3XGQ LDCT 6 #10 [OTHERWISE CLEAR 'AWAITING' BIT.
3Y2B ANDX 6 CIREADY(3)
3YG2 ERS 6 CIREADY(3)
3Y^L BRN Z80
3^F= Z80B MHUNTW 3,AMXOR,CILCB
3^YW BRN Z80
42DG #END
^^^^ ...20071740000200000000