{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: WLC867)}}
====== WLC867 ======
(George Source)
**Macros used:** [[george:macro:ABANDCOM|ABANDCOM]], [[george:macro:AND|AND]], [[george:macro:ASSMESS|ASSMESS]], [[george:macro:BSON|BSON]], [[george:macro:CLOSE|CLOSE]], [[george:macro:CLOSEOUT|CLOSEOUT]], [[george:macro:COMERR|COMERR]], [[george:macro:COOR3|COOR3]], [[george:macro:CREATEB|CREATEB]], [[george:macro:DELETE|DELETE]], [[george:macro:DO|DO]], [[george:macro:DOWN|DOWN]], [[george:macro:ELSE|ELSE]], [[george:macro:ELSF|ELSF]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:ERASE|ERASE]], [[george:macro:ERASEWORK|ERASEWORK]], [[george:macro:FI|FI]], [[george:macro:FON|FON]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FRIGMONF|FRIGMONF]], [[george:macro:FSHENTRY|FSHENTRY]], [[george:macro:GEOERR|GEOERR]], [[george:macro:HUNT|HUNT]], [[george:macro:IF|IF]], [[george:macro:INSERT|INSERT]], [[george:macro:ISSUCOMB|ISSUCOMB]], [[george:macro:LFBITSET|LFBITSET]], [[george:macro:LFCHAIN|LFCHAIN]], [[george:macro:LOBSFILE|LOBSFILE]], [[george:macro:LONGSET|LONGSET]], [[george:macro:LONGSTOP|LONGSTOP]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUTX|MONOUTX]], [[george:macro:NAME|NAME]], [[george:macro:OFF|OFF]], [[george:macro:ON|ON]], [[george:macro:OPENSYS|OPENSYS]], [[george:macro:OR|OR]], [[george:macro:OUTBLOCN|OUTBLOCN]], [[george:macro:OUTMESS|OUTMESS]], [[george:macro:OUTMON|OUTMON]], [[george:macro:OUTNUM|OUTNUM]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:POINTACT|POINTACT]], [[george:macro:READ|READ]], [[george:macro:REPEAT|REPEAT]], [[george:macro:REWIND|REWIND]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SPARANOT|SPARANOT]], [[george:macro:STARTACT|STARTACT]], [[george:macro:STEP|STEP]], [[george:macro:TESTBRKIN|TESTBRKIN]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TESTRPN2|TESTRPN2]], [[george:macro:THEN|THEN]], [[george:macro:UNBUSACT|UNBUSACT]], [[george:macro:USEROPEN|USEROPEN]], [[george:macro:WHILE|WHILE]]
22FL #OPT K0WLC = 0
22^= #LIS K0WLC
23DW #SEG WLC
23YG 8HWLC
248# ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983
24D6 [
24XQ SEGENTRY K1WLC,WLCK1 [ ACTION PHASE
24^^ ... FSHENTRY K2WLC,WLCK2,,WLCK2 [NORMAL TIDYUP ENTRY
2548 ... FSHENTRY K3WLC,WLCK3,,WLCK3 [TIDYUP AFTER BREAKIN ENTRY
256C ... FSHENTRY K4WLC,WLCK4,,WLCK4 [TAKE AWHATBIT SEMAPHORE ENTRY
258L ... FSHENTRY K5WLC,WLCK5,,WLCK5 [RETURN AWHATBIT SEMAPHORE ENTRY 1
25=T ... FSHENTRY K6WLC,WLCK6,,WLCK6 [RETURN AWHATBIT SEMAPHORE ENTRY 2
25*4 ... FSHENTRY K7WLC,WLCK7,,WLCK7 [UNANTICIPATED CLOSEDOWN ENTRY
25CB [
25X2 [
26BL [************************************************************
26W= [
27*W [ PRESET DATA
27TG [
28*6 [************************************************************
28SQ [
29#B [
29S2 PHEADING +AWLIST [ STANDARD "USER.JOB ..." HEADING
2=?L PHEADNAR +AWLIST1 [ NARROW "DEVICE UR"-ONLY HEADING
2=R= PCOUNTMESS1 +JLISTSUM1
2?=W PCOUNTMESS2 +JLISTSUM2
2?QG PCOUNTMESS3 +JLISTSUM3
2#=6 P10000 [ GENERATION NO. CONVERSION
2#PQ +10000
2*9B PFILEDES [ FILE DESCRIPTION FOR OUTPUT FILE
2*P2 10
2B8L POPERATORS
2BN= 12HOPERATORS [ USERNAME
2C7W 12HWHATLIST [ FILENAME
2CMG 1 [ REEL NUMBER
2D76 #20000001 [ GENERATION NUMBER
2DLQ 4HB1 [ LANGUAGE CODE
2F6B PRUNJOB [ RUNJOB COMMAND TO TO LIST OUTPUT FILE
2FL2 32HRJ WLIST0000,:OPERATORS,WLISTJDF
2G5L PRJPROP [ EXTRA FOR LIST(PR .....)
2GK= 9H,PARAM(PR
2H4W PRJBRAC
2HJG 1H)
2J46 PLF [ LISTFILE COMMAND FOR OUTPUT TO WORKFILE
2JHQ 17HLF !,*LP,PA,MO#60
2K3B PLFPROP [ EXTRA FOR LIST(PR....)
2KH2 3H,PR
2L2L [
2LG= [************************************************************
2L^W [
2MFG SINSERT
2M^6 [
2NDQ [************************************************************
2NYB [
2PD2 [ INSERTS A MESSAGE INTO THE OUTPUT FILE
2PXL [
2QC= [ LINK X7, MESSAGE IDENT IN X6
2QWW [
2RBG [ X0, X3 CORRUPTED
2RW6 [ X1 := FX1, X2 := FX2
2S*Q [
2STB SBX 7 FX1
2T*2 ASSMESS 6
2TSL MHUNT 3,GMON,AOUT
2W#= NAME 3,FILE,FWB
2WRW LDEX 0 A1+FRH(3)
2X?G ADN 0 11
2XR6 SRL 0 2
2Y=Q DEX 0 A1+FRH(3) [ LENGTH
2YQB INSERT [ COUNT MESSAGE AS HEADING
2^=2 MFREE FILE,FWB
2^PL ADX 7 FX1
329= EXIT 7 0
32NW [
338G [
33N6 [************************************************************
347Q [
34MB SCLOSE
3572 [
35LL [************************************************************
366= [
36KW [ CLOSE OUTPUT FILE ( AFTER :SYSTEM.OUTPUT )
375G [
37K6 SBX 7 FX1
384Q MHUNT 2,ADATA,AWHATLIST
38JB IF MBS,2,AWLBLIST,AWLBHERE [ OUTPUT FILE
3942 THEN
3=3= MHUNTW 2,ADATA,AWHATLIST
3=GW IF MBS,2,AWLBUSERCON,AWLBOPCOM [ USER CONTEXT OR OP COMMAN
3?2G THEN [ ERASE WORKFILE
3?G6 SETNCORE 10,3,FILE,FABSNB
3?^Q LDN 0 10
3#FB STO 0 A1(3)
3#^2 #SKI IFS
3*DL ADN 2 FUSER1-FCBRING
3*Y= #SKI IFS<1$1
3BCW LDX 2 BWORKRING(2)
3BXG ADN 2 FUSER1
3CC6 ADN 3 A1+1
3CWQ MOVE 2 9
3DBB ERASEWORK 1
3DW2 TESTREP2 NOFILE,ZERREW
3F*L ELSF TRUE
3FT= LDX 0 AWLCOUNT(2)
3G#W ADX 0 AWLCOUNTUN(2)
3GSG AND EITHER,0,ZE [ NO LISTFILES
3H#6 OR BS,2,AWLBHERE [ HERE
3HRQ THEN [ ERASE :OPERATORS.WHATLIST
3J?B SETNCORE 10,3,FILE,FABSNB
3JR2 LDN 1 PFILEDES(1)
3K=L LDN 2 A1(3)
3KQ= MOVE 1 10
3L9W SMO FX2
3LPG LDX 0 AWORK1
3M96 STO 0 A1+8(3) [ GENERATION NO.
3MNQ ERASE
3N8B TESTREP2 NOFILE,ZERREOW
3NN2 FI
3NXS ... CLOSE
3P7L FI
3PM= ADX 7 FX1
3Q6W EXIT 7 0
3QLG [
3R66 [
3RKQ [ WW WW W
3S5B [ WW WW WW
3SK2 [ WW WW WWW
3T4L [ WWWW WW
3TJ= [ WWWWW WW
3W3W [ WW WW WW
3WHG [ WW WW WW
3X36 [ WW WW WW
3XGQ [
3Y2B [
3YG2 WLCK1
3Y^L [
3^F= [
3^YW [************************************************************
42DG [
42Y6 [ SET UP OUTPUT FILE
43CQ [ INTERFACE TO LF SCEDULER
43XB [ LIST OUTPUT FILE OR OUTPUT COUNT MESSAGE
44C2 [ TIDY UP
44WL [
45B= [************************************************************
45TW [
46*G [
46T6 MHUNT 2,ADATA,AWHATLIST
47#Q STOZ AWLCOUNT(2)
47SB STOZ AWLCOUNTUN(2)
48#2 IF BS,2,AWLBFULL [ FULL
48RL THEN [ OPEN OUTPUT FILE
49?= CREATEB 4
49QW MHUNT 2,ADATA,AWHATLIST
4==G IF BS,2,AWLBOPER [ OPERATOR CONTEXT
4=Q6 THEN [ CREATE AND OPEN :OPERATORS.WHATLIST(+1)
4?9Q LDN 1 POPERATORS(1) [ CREATION OF FILES REQUIRES
4?PB SMO FX2
4#92 LDN 2 CPREFIX [ OWNERSHIP SO INSERT :OPERATORS IN CPAT
4#NL MOVE 1 3
4*8= SETNCORE 10,3,FILE,FABSNB
4*MW LDN 1 PFILEDES(1)
4B7G LDN 2 A1(3)
4BM6 MOVE 1 10
4C6Q USEROPEN ZOUTFILEBRK,GENERAL,CREATE,LEAVE,FROZEN
4CLB TESTRPN2 OK,ZERROOW
4D62 MHUNT 3,FILE,ENT
4DKL LDX 0 EGEN(3)
4F5= STO 0 AWORK1(2)
4FJW FREECORE 3
4G4G ELSE [ OPEN WORKFILE AT TOP LEVEL FI
4GJ6 FRIGMONF ZERROW,1
4H3Q LOBSFILE
4HHB FI
4J32 MFREE FILE,FABSNB
4JGL FI
4K2= MHUNTW 2,ADATA,AWHATLIST
4KFW IF BS,2,AWLBWL [ WHATLIST
4K^G THEN
4LF6 UNBUSACT OUT,RESTING [ J IF LF SCHEDULER NOT ACTIVE
4LYQ POINTACT OUT,3
4MDB LFBITSET W,3 [ SET WL WAITING
4MY2 LONGSET AWLSLCHWAIT,(GEOERR)
4NCL LONGSTOP ZSTOPBRK
4NX= RESTING
4PBW OPENSYS ZSOUTBRK,OUTPUT,READ
4PWG DOWN WLD,1
4QB6 BRN ZWLDBRK [ BREAKIN
4QTQ ELSE
4R*B UNBUSACT OUT,RESTIN [ J IF LF SCHEDULER NOT ACTIVE
4RT2 SMO FX2
4S#L LDX 7 ACTNUM
4SS= LONGSET AWLSLCHWAIT,(GEOERR),7
4T?W SETNCORE 1,3,GOUT,COMP
4TRG STO 7 A1(3)
4W?6 LFCHAIN GOUT,COMP
4WQQ STARTACT OUT
4X=B LONGSTOP ZSTOPBRK
4XQ2 RESTIN
4Y9L OPENSYS ZSOUTBRK,OUTPUT,GENERAL
4YP= [ ************************
4^8W [
4^NG DOWN WLD,2 [ GO DOWN TO WLD FOR ACTION
5286 [
52MQ [ ************************
537B BRN ZWLDBRK [ BREAKIN
53M2 FI
546L IF REP2,OK
54L= THEN
555W CLOSEOUT
55KG OUTBLOCN 20
5656 LDX 6 PCOUNTMESS1(1) [ PRESET COUNT MESSAGE TO BE USED
56JQ MHUNTW 2,ADATA,AWHATLIST
574B IF +AWLCOUNT(2),NZ [ LISTFILES
57J2 THEN
583L OUTNUM AWLCOUNT(2),0
58H= ELSE
592W OUTMESS EBPNO
59GG FI
5=26 MHUNTW 2,ADATA,AWHATLIST
5=FQ IF BS,2,AWLBSL [ STOPLIST
5=^B THEN
5?F2 OUTMESS JWLSTOP
5?YL LDX 6 PCOUNTMESS2(1)
5#D= ELSF BS,2,AWLBCH [ CHANGELIST
5#XW THEN
5*CG OUTMESS JWLCHANGE
5*X6 LDX 6 PCOUNTMESS2(1)
5BBQ FI
5BWB MHUNTW 2,ADATA,AWHATLIST
5CB2 IF +AWLCOUNTUN(2),NZ [ LISTFILES NOT AFFECTED
5CTL THEN
5D*= OUTNUM AWLCOUNTUN(2),0
5DSW LDX 6 PCOUNTMESS3(1)
5F#G FI
5FS6 HUNT 2,ADATA,CREADL
5G?Q IF 2,PZ [ SELECTION DETAILS
5GRB THEN
5H?2 OUTPARAM A1(2),A1+2,ADATA,CREADL
5HQL MFREE ADATA,CREADL
5J== FI
5JPW MHUNTW 2,ADATA,AWHATLIST
5K9G LDX 0 AWLCOUNT(2)
5KP6 ADX 0 AWLCOUNTUN(2)
5L8Q IF 0,ZE [ NO LISTFILES FOUND
5LNB THEN
5M82 MONOUTX 6
5MML ELSE
5N7= IF BS,2,AWLBLIST [ LIST FULL OUTPUT
5NLW THEN
5P6G REWIND
5PL6 STEP
5Q5Q CALL 7 SINSERT
5QKB LDX 6 PHEADING(1) [ ASSUME STANDARD HEADING
5R52 MHUNTW 2,ADATA,AWHATLIST
5RJL IF BS,2,AWLBNARROW [ NARROW FORMAT
5S4= THEN
5SHW DELETE [ REPLACE BLANK LINE BY "DEV UR" HEADING
5T3G STEP
5TH6 LDX 6 PHEADNAR(1)
5W2Q FI
5WGB CALL 7 SINSERT [ INSERT APPROPRIATE HEADING IN FILE
5X22 MHUNTW 2,ADATA,AWHATLIST
5XFL STOZ 7
5X^= IF BS,2,AWLBLISTPR [ LIST(PR...)
5YDW THEN
5YYG MHUNT 2,CPB,CUNI
5^D6 LDEX 7 ANUM(2)
5^XQ FI
62CB ADN 7 CPDATA-A1*4+51
62X2 SRL 7 2
63BL SETUPCORE 7,3,ADATA,CREADL
63W= MHUNTW 2,ADATA,AWHATLIST
64*W IF BS,2,AWLBOPER [ OPERATOR CONTEXT
64TG THEN [ RUNJOB
65*6 LDN 5 PRUNJOB(1)
65SQ LDN 6 CPDATA(3)
66#B MVCH 5 32
66S2 IF BS,2,AWLBLISTPR [ ,PARAM(PR...)
67?L THEN
67R= LDN 5 PRJPROP(1)
68=W MVCH 5 9 [,PARAM(PR
68QG MHUNT 2,CPB,CUNI
69=6 LDN 5 APARA(2)
69PQ LDEX 2 ANUM(2)
6=9B MVCH 5 0(2) [ PROPERTY STRING
6=P2 LDN 5 PRJBRAC(1)
6?8L MVCH 5 1
6?N= FI
6#7W LDX 2 FX2
6#MG LDX 4 AWORK1(2)
6*76 LDN 5 0
6*LQ DVR 4 P10000(1)
6B6B LDX 4 5
6BL2 LDCT 5 #200
6C5L LDN 1 CPDATA+2(3)
6CK= LDN 0 4
6D4W DO [ CONVERT GENERATION NO.
6DJG CBD 4 0(1)
6F46 BCHX 1 £
6FHQ REPEAT CT 0
6G3B SBN 6 CPDATA(3)
6GH2 SLC 6 2
6H2L STO 6 A1(3)
6HG= LDX 5 GSIGN [ FOR SYSTEM ISSUED CONTEXT
6H^W ORS 5 CONTEXT(2)
6JFG ISSUCOMB XCOMERRJ,XCOMERRJ
6J^6 XCOMERRJ
6KDQ ERS 5 CONTEXT(2)
6KYB ELSE [ LISTFILE
6LD2 LDN 5 PLF(1)
6LXL LDN 6 CPDATA(3)
6MC= MVCH 5 17 [ LF
6MWW IF BS,2,AWLBLISTPR [ ,PR...
6NBG THEN
6NW6 LDN 5 PLFPROP(1)
6P*Q MVCH 5 3
6PTB MHUNT 2,CPB,CUNI
6Q*2 LDN 5 APARA(2)
6QSL LDEX 2 ANUM(2)
6R#= MVCH 5 0(2) [ PROPERTY STRING
6RRW FI
6S?G SBN 6 CPDATA(3)
6SR6 SLC 6 2
6T=Q STO 6 A1(3) [ LENGTH
6TQB ISSUCOMB XCOMERLF,XCOMERLF
6W=2 XCOMERLF
6WPL FI
6X9= ELSF BS,2,AWLBHERE [ FULL OUTPUT HERE
6XNW THEN
6Y8G IF BS,2,AWLBOPER [ OPERATOR CONTEXT
6YN6 THEN
6^7Q XLOCK
6^MB [ IF CONSOLE FREE
7272 BSON AWHATBIT,WAIT
72LL [ THEN LOCK OUT CONSOLE
736= ON AWHATBIT
73KW BRN XLOCKED
745G [ ELSE WAIT,THEN TRY AGAIN
74K6 WAIT
754Q COOR3 #114
75JB BRN XLOCK
7642 [ FI
76HL XLOCKED
773= FI
77GW LDN 5 0 [ X5 = 0(NORMAL HEADING) OR 1(NARROW)
782G MONOUTX 6 [ COUNT MESSAGE
78G6 LDX 6 PHEADING(1) [ SET X6 TO HEADING MESSAGE
78^Q [ DEPENDING ON WHETHER NARROW OR NOT
79FB [ (RESETTING X5 IF NECESSARY)
79^2 MHUNTW 2,ADATA,AWHATLIST
7=DL IF BS,2,AWLBNARROW
7=Y= THEN
7?CW LDN 5 1
7?XG LDX 6 PHEADNAR(1)
7#C6 FI
7#WQ MONOUTX 6 [ HEADING MESSAGE
7*BB [
7*W2 REWIND
7B*L IF 5,NZ [ DON'T OUTPUT FIRST (BLANK) LINE IF
7BT= THEN [ NARROW FORMAT - HEADING ACTS AS SEPARATOR
7C#W STEP
7CSG FI
7D#6 WHILE TRUE
7DRQ READ
7F?B MHUNT 3,FILE,FRB
7FR2 LDX 0 ALOGLEN(3)
7G=L SBN 0 1
7GQ= ORX 0 A1(3)
7H9W AND 0,NZ [ NOT END OF FILE
7HPG DO
7J96 TESTBRKIN ZHEREBRK
7JNQ LDEX 6 A1+FRH(3)
7K8B SLL 6 2
7KN2 SBN 6 8
7L7L OUTMON 6,A1+FRH+2,A1+FRH+1(3),FILE,FRB
7LM= MFREE FILE,FRB
7M6W REPEAT
7MLG MHUNTW 2,ADATA,AWHATLIST
7N66 IF BS,2,AWLBOPER [ OPERATOR CONTEXT
7NKQ THEN
7P5B OFF AWHATBIT [ RELEASE CONSOLE
7PK2 FON #114
7Q4L FI
7QJ= ELSE [ OUTPUT COUNT MESSAGE
7R3W MONOUTX 6
7RHG FI
7S36 FI
7SGQ CALL 7 SCLOSE
7T2B ENDCOM
7TG2 ELSE
7T^L CLOSEOUT
7WF= CALL 7 SCLOSE
7WYW SPARANOT 1
7XDG COMERR HWSUSER
7XY6 FI
7YCQ [
7YXB [***********************************************************************
7^C2 [
7^WL [
82B= [***********************************************************************
82TW [
83*G [ BREAKIN
83T6 [
84#Q [***********************************************************************
84SB [
85#2 [
85RL [***********************************************************************
86?= [
86QW [
87=G ZWLDBRK [ BREAKIN IN SEGMENT WLD
87Q6 [
889Q IF REP2,OPEN
88PB THEN
8992 CLOSEOUT
89NL FI
8=8= CALL 7 SCLOSE
8=MW ABANDCOM
8?7G [
8?M6 ZHEREBRK [ BREAKIN DURING HERE OUTPUT
8#6Q [
8#LB MHUNTW 2,ADATA,AWHATLIST
8*62 IF BS,2,AWLBOPER [ OPERATOR CONTEXT
8*KL THEN
8B5= OFF AWHATBIT [ RELEASE CONSOLE
8BJW FON #114
8C4G FI
8CJ6 [
8D3Q ZSTOPBRK [ BREAKIN ON WAIT FOR :SYSTEM.OUTPUT
8DHB [
8F32 ZSOUTBRK [ BREAKIN ON OPENING :SYSTEM.OUTPUT
8FGL [
8G2= CALL 7 SCLOSE
8GFW [
8G^G ZOUTFILEBRK [ BREAKIN ON OPENING OUTPUT FILE
8HF6 [
8HYQ ABANDCOM
8JDB [
8JY2 [
8KCL [***********************************************************************
8KX= [
8LBW [
8LWG [***********************************************************************
8MB6 [
8MTQ [ GEOERRS
8N*B [
8NT2 [***********************************************************************
8P#L [
8PS= [
8Q?W [***********************************************************************
8QRG [
8R?6 [
8RQQ ZERROOW
8S=B ZERROW
8SQ2 GEOERR 1,WLOPEN
8T9L ZERREOW
8TP= ZERREW
8W8W GEOERR 1,WLERASE
8WNG [
8X86 #END
^^^^ ...706744740001