{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: DEMAND860)}}
====== DEMAND860 ======
(George Source)
**Macros used:** [[george:macro:BXL|BXL]], [[george:macro:DOWN|DOWN]], [[george:macro:FREEBUFF|FREEBUFF]], [[george:macro:FREECORE|FREECORE]], [[george:macro:HUNTW|HUNTW]], [[george:macro:INFORMX|INFORMX]], [[george:macro:LONGOFF|LONGOFF]], [[george:macro:LONGSTOP|LONGSTOP]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:TESTBRKIN|TESTBRKIN]], [[george:macro:TRACE|TRACE]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]]
22FL #LIS K0DEMAND>K0ALLGEO>K0GREATGEO
22^= #SEG DEMAND60 [RICHARD GRIMWADE
23DW 8HDEMAND
23YG # THIS SEGMENT IMPLEMENTS THE DEMAND AND OUTPAUSE MACROS
24D6 # DEMAND : K1DEMAND (SEE PRM FOR MACRO DEFN)
24XQ # DEMAND USES THE OUTPAUSE CODE TO DETERMINE WHEN TO O/P THE
25CB # SYSTEM REQUEST
25X2 # IF DEMAND GOES UP FOR AN EVENT ACCS4-7 (INC) ARE SAVED IN AN
26BL # ADATA/ADEMAND BLOCK:-
26W= # X3 :CONTAINS A REPLACER FOR UPPLUS
27*W # X4 CONTAINS THE MESSAGE IDENTIFIER
27TG # X5 :CONTAINS TIME DELAY BEFORE MESSAGE O/P
28*6 # X6 :CONTAINS TIME FACTOR BETWEEN REPEATS
28SQ # X7 :CONTAINS A COPY OF EXECS
29#B # EXEC1 :CONTAINS MESS IDEN AND IS SET -VE ON REENTRY
29S2 # EXEC2 :CONTAINS TIME FACTORS
2=?L # EXEC3 :CONTAINS STATE OF WAIT COMPATIBLE WITH OUTPAUSE
2=R= # OUTPAUSE:K2DEMAND
2?=W # OUTPAUSE USES X0-X3 ONLY AND KEEPS THE STATE OF THE WAIT IN
2?QG # EXEC3 : THIS HAS B0 SET IF REENTRY AND THE REST OF THE WORD
2#=6 # IS THE TIME (IN SPRING CLEANS FOR THE NEXT EXIT
2#PQ SEGENTRY K1DEMAND,SENTRY1
2*9B SEGENTRY K2DEMAND,SENTRY2
2*P2 #DEF XEC1=EXEC1
2B8L #DEF XEC2=EXEC2
2BN= #DEF XEC3=EXEC3
2C7W [
2CMG [ WORDS IN THE ADATA/ADEMAND BLOCK
2D76 #DEF XACCS=A1 [4 WORDS; COPIES X4-7 INCLUSIVE
2DLQ #DEF XROUTE=XACCS+4 [ROUTING PARAMETER COPIED FROM AWORK4
2F6B #DEF XDEMANDLEN=XROUTE+1-XACCS [LOGICAL LENGTH OF BLOCK
2FL2 [
2G5L X1 60*60/K9*1000*24
2GK= SENTRY2
2H4W LDN 7 1 [MARKER FOR MACRO
2HJG SR1
2J46 LDXC 0 XEC3(2)
2JHQ BCS TIME [J IF REENTRY
2K3B LDN 0 1000/K9
2KH2 MPY 0 XEC3(2)
2L2L LDX 0 1
2LG= MPY 0 ASYSTEMMESS [CALCULATE TIME FOR W/UP
2L^W ADX 1 JTIME
2M45 ... SMO FX1
2M6# ... BXL 1 X1,UNDER
2M8H ... SMO FX1
2M=Q ... SBX 1 X1
2M#^ ... ORX 1 CACT [B1 IS MIDNIGHT MARKER
2MC8 ...UNDER
2MFG ORX 1 GSIGN [SET -VE TO INDICATE REENTRY
2M^6 STO 1 XEC3(2)
2N6# ...#UNS FREEBUFF
2N7K ... LDN 0 XEC1(2)
2N8W ... LDN 1 AWORK1(2)
2N=7 ... MOVE 0 3
2N?G ... FREEBUFF [ FREES FURBS AND WRITES AWAY FUWBS TO CURRENT ACTIVITY
2NDQ LDN 3 0 [SET MARKER = REPLACER FOR B-IN
2NNJ ... BRN WAIT2
2NYB WAIT LDX 2 FX2
2PD2 LDN 0 XEC1(2)
2PXL LDN 1 AWORK1(2)
2QC= MOVE 0 3 [SAVE TIME FACTORS ETC.
2QWW ...WAIT2 LONGSTOP XBI,SPUR
2RBG LDN 0 AWORK1(2)
2RW6 LDN 1 XEC1(2)
2S*Q MOVE 0 3
2STB ADN 3 1 [REPLACER FOR EVENT
2T*2 BZE 7 XEVEN [J IF DEMAND ENTRY
2TSL MAC UPPLUS 0(3)
2W#= SPUR LDN 0 AWORK1(2)
2WRW LDN 1 XEC1(2)
2X?G MOVE 0 3
2XR6 LDN 3 3 [REPLACER FOR TIME OR SPURIOUS
2Y=Q XBI HUNTW 1,GMON,AOUT
2YQB BZE 3 YBI [J IF B-IN
2^=2 BNG 1 ZTIME
2^PL LDXC 0 A1(1)
329= BCC ZTIME
32NW LDN 3 2 [REPLACE FOR CANTDO
338G YBI BNG 1 NBLK [NO BLOCK TO FREE
33N6 FREECORE 1
347Q NBLK LONGOFF
34MB BNZ 7 MAC
3572 BZE 3 XBIN [J IF B-IN
35LL BRN XCANT
366= ZTIME
36KW NGNC 0 1
375G ANDX 0 XEC3(2)
37K6 TIME LDX 1 JTIME
384Q LDN 3 0 [REPLACER MARKER
38JB TXL 1 0
3942 BCS X3
39HL X2
3=3= LDN 3 3
3=GW BZE 7 XTIME [J IF TIME
3?2G #SKI K6DEMAND>99-99
3?G6 TRACE JTIME,TIME UP
3?^Q BRN MAC
3#FB ...X3 LDCT 2 #200
3#^2 ... ANDX 2 0
3*DL ... BZE 2 WAIT [CANT BE TIME UNLESS MIDNIGHT MARKER SET
3*Y= ... ERX 0 2
3BCW ... SMO FX1
3BXG ... LDX 2 X1
3CC6 ... SRA 2 1
3CWQ ... BXL 2 JTIME,WAIT [J IF NOT GONE PAST MIDNIGHT
3DBB ... LDX 2 FX2
3DW2 ... BRN TIME [CHECK AGAIN
3G#W NRENT LDX 4 XEC1(2) [MESSAGE ID
3GSG LDX 5 XEC2(2) [TIME LAG
3H#6 ANDN 5 4095
3HRQ LDX 6 XEC2(2) [TIME FACTOR
3J?B SRL 6 12
3JR2 STO 6 XEC3(2)
3K=L LDN 7 0
3KQ= BNZ 5 SR1 [OUTPAUSE
3L9W NPAUS TESTBRKIN XBIN
3LPG LDEX 0 CLONG1(2)
3M96 BNZ 0 ZINF [J IF NO EVENT ALROADY
3MNQ STOZ XEC3(2)
3N8B XEVEN LDX 7 XEC3(2)
3NN2 SETNCORE XDEMANDLEN,2,ADATA,ADEMAND
3P7L LDN 1 4
3PM= ADN 2 XACCS
3Q6W MOVE 1 4 [SAVE ACCS
3QLG SMO FX2
3R66 LDX 0 AWORK4
3RKQ STO 0 XROUTE-XACCS(2) [KEEP ROUTING PARAMETER
3S5B LDN 3 2 [REPLACER FOR EVENT
3SK2 #SKI K6DEMAND>99-99
3T4L TRACE JTIME,EVENT
3TJ= BRN MAC
3W3W XCANT1
3WHG LONGOFF
3X36 XCANT LDN 3 0 [REPLACER FOR CANTDO
3XGQ #SKI K6DEMAND>99-99
3Y2B TRACE JTIME,CANTDOUP
3YG2 BRN MAC
3Y^L XBIN LDN 3 1 [REPLACER B-IN
3^F= #SKI K6DEMAND>99-99
3^YW TRACE JTIME,BRKIN
42DG BRN MAC
42Y6 SENTRY1
43CQ #SKI K6DEMAND>199-199
43XB (
44C2 TRACE XEC1(2),DEMAND1
44WL TRACE XEC2(2),DEMAND2
45B= )
45TW LDX 0 ACOMMUNE1(2)
46*G STO 0 AWORK4(2)
46T6 LDXC 4 XEC1(2)
47#Q BCC NRENT [J IF NOT REENTRY
47SB HUNTW 1,GMON,AOUT
48#2 BNG 1 NTHER [ TEST FOR CANTDO
48RL LDXC 0 A1(1)
49?= BCS XCANT1 [J IF CANTDO
49QW NTHER MHUNTW 1,ADATA,ADEMAND
4==G ADN 1 XACCS
4=Q6 LDN 2 4
4?9Q MOVE 1 4 [RESTORE ACCS
4?PB LDX 2 FX2
4#92 LDX 0 XROUTE-XACCS(1) [RESTORE ROUTING PARAMETER
4#NL STO 0 AWORK4(2) [RESTORE ROUTING PARAMETER
4*8= LDX 0 6
4*MW SLL 0 12
4B7G ORX 0 5
4BM6 STO 0 XEC2(2) [RESTORE TIMING WORD
4C6Q MFREEW ADATA,ADEMAND
4CLB BZE 7 NPAUS [J IF NO WAIT
4D62 STO 7 XEC3(2)
4DKL LDN 7 0 [SET MARKER
4F5= BRN ZTIME [CHECK IF TIME YET
4FJW XTIME HUNTW 1,GMON,AOUT
4G4G LDN 7 0 [SET MARKER
4GJ6 BPZ 1 XBUFF [J IF BLOCK THERE
4H3Q ZINF LDN 0 XEC1(2)
4HHB LDN 1 AWORK1(2)
4J32 MOVE 0 3 [SAVE EXEC WORDS
4JGL INFORMX AWORK4(2),4,0 [OUTPUT MESSAGE
4K2= WSR2
4KFW LDN 0 AWORK1(2)
4K^G LDN 1 XEC1(2)
4LF6 MOVE 0 3 [RESTORE
4LYQ SR2 LDX 0 XEC2(2)
4MDB SRL 0 12
4MY2 STO 0 XEC3(2)
4NCL BRN SR1
4NX= XBUFF LDN 0 XEC1(2)
4PBW LDN 1 AWORK1(2)
4PWG MOVE 0 3
4QB6 DOWN MONFILE,5 [RE-OUTPUT
4QTQ BRN WSR2
4R*B MENDAREA 20,GAPDEMAND
4RT2 #END
^^^^ ...45755417000400000000