{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: BCAST867)}}
====== BCAST867 ======
(George Source)
**Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:ASSMESS|ASSMESS]], [[george:macro:BC|BC]], [[george:macro:BS|BS]], [[george:macro:BXE|BXE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CAPCA|CAPCA]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CHEKLFN2|CHEKLFN2]], [[george:macro:CHNUMCOD|CHNUMCOD]], [[george:macro:COOR3|COOR3]], [[george:macro:DOWN|DOWN]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:ERRORX|ERRORX]], [[george:macro:FCAJO|FCAJO]], [[george:macro:FINDJOBQ|FINDJOBQ]], [[george:macro:FPCAJO|FPCAJO]], [[george:macro:FPUT|FPUT]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FSHENTRY|FSHENTRY]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:LA|LA]], [[george:macro:LIMBO|LIMBO]], [[george:macro:LINK|LINK]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:NAME|NAME]], [[george:macro:OUTPAR|OUTPAR]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:RUNPROG|RUNPROG]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETREP|SETREP]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SPARABEG|SPARABEG]], [[george:macro:SPARANOX|SPARANOX]], [[george:macro:SPARAPAS|SPARAPAS]], [[george:macro:SPARUNAC|SPARUNAC]], [[george:macro:STOPIT|STOPIT]], [[george:macro:TEST|TEST]], [[george:macro:TESTCOR|TESTCOR]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TRACE|TRACE]], [[george:macro:UNPLUG|UNPLUG]], [[george:macro:UNQUEUE|UNQUEUE]], [[george:macro:UP|UP]]
22FL #OPT K0BCAST=0
22^= #LIS K0BCAST>K0COMMAND>K0ALLGEO
23=L ... SEG BCAST,867,SECTION CENT
23J2 ...[
23TB ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
246Q ...[
24D6 #
24XQ SEGENTRY K1BCAST,XK1 [COMMAND ENTRY POINT
25CB SEGENTRY K2BCAST,XK2 [MACRO ENTRY POINT
25H? # SHARED FILESTORE ENHANCEMENT ENTRY POINT
25M8 FSHENTRY K3BCAST,,XK3,XK3 [TRANSBEG ENTRY POINT IF ACTIVITY IS
25R5 [ INERT IN MACHINE A
25T3 FSHENTRY K4BCAST,XK4,,XK4 [UNANTICIPATED CLOSEDOWN ENTRY POINT
25TC #
25TR # ENTRY POINT REQUIRED BY BROADCAST IMPROVEMENTS ENHANCEMENT
25W7 #UNS BCMILLEN
25WH SEGENTRY K5BCAST,XK5 [ENTRY PT TO BC WHILE PROGRAM STOPPED
25X2 #
26BL # THIS SEGMENT IMPLEMENTS THE BROADCAST (BC) COMMAND AND THE
26W= # BROADCAST MACRO TO OUTPUT A SPECIFIED TEXT TO ALL OR A SELECTION
27*W # OF CPA'S WHICH SATISFY A CERTAIN CONDITION. (I.E. THOSE IN MOP
27TG # CONTEXT.)
28*6 #
28SQ # COMMAND FORMATS:
29#B # 1) BC TEXT,ALL
29S2 # 2) BC TEXT,JOBNAME,:USERNAME
2=?L # 3) BC TEXT,JOB NUMBER LIST
2=R= # 4) BC TEXT IN WHICH CASE "ALL" IS ASSUMED
2?=W #
2?QG # MACRO USAGE:
2#=6 # ACOMMUNE1=MESSAGE IDENTIFIER
2#PQ # ACOMMUNE2=JOBNUMBER OR ZERO (ZERO => ALL)
2*9B #
2*P2 #
2*QJ #UNS BCMILLEN
2*S6 (
2*TN SEGENTRY K55BCAST
2*X= SBC +0 [SWITCH FOR BC ENHANCEMENT,0=ON,1=OFF
2*YS SLINK5
2B2B LINK BCAST,5
2B3Y #
2B5G #
2B74 )
2B8L #DEF TESTING=0
2BN= XALL 4HALL
2C7W XCOLON 1,4H:
2CMG XBCAST +BCAST
2D76 X51 51
2DLQ #
2F6B # THE FOLLOWING ROUTINE CHECKS THAT THE ACTIVITY WHOSE ACTRING
2FL2 # IS POINTED TO BY X2 MAY BE BROADCASTED TO. EXITS 6 0 IF NOT,
2G5L # EXITS 6 1 IF IT CAN BE.
2GK= #
2H4W OKACT SBN 2 ACTRING
2HJG LDX 0 ATYPE(2)
2J46 SRL 0 12
2JHQ ERN 0 CPAT
2K3B BNZ 0 NO
2KH2 LIMBO 0,2
2L2L NO ADN 2 ACTRING
2LG= BNZ 0 (6)
2L^W LDX 0 CONTEXT-ACTRING(2)
2MFG ANDN 0 #10
2M^6 BZE 0 (6) [J IF NOT MOP
2NDQ EXIT 6 1
2NYB #
2PD2 # THE FOLLOWING ROUTINE PASSES THE NEXT BC PARAMETER,CHECKING FOR
2PXL # ITS EXISTENCE AND NON-NULLITY. EXITS 4 0 IF NON-EXISTENT:4 1 IF
2QC= # NULL:4 2 IF PRESENT AND NOT NULL WITH X5=CHAR COUNT AND X3
2QWW # POINTING TO CPB/CUNI. FIRST TWO EXITS FREE CPB/CUNI.
2RBG #
2RW6 PASS SBX 4 FX1
2S*Q SPARAPAS
2STB ADX 4 FX1
2T58 PASSED
2T*2 MHUNT 3,CPB,CUNI
2TSL LDX 5 ANUM(3)
2W#= BPZ 5 PRES [J IF PRESENT
2WRW XFR FREECORE 3
2X?G LDN 5 0 [SEE CALL AT "XP2"
2XR6 EXIT 4 0
2Y=Q PRES ADN 4 1
2YQB BZE 5 XFR [J IF NULL
2^=2 ANDN 5 #7777
2^PL EXIT 4 1
329= #
32NW # THE NEXT ROUTINE FINDS ALOGLEN OF THE GMON/AOUT AND STORES
338G # IT IN AWORK3. IT USES X0 AND 3. LINK IN X6.
33N6 #
347Q SETLEN
34MB MHUNTW 3,GMON,AOUT
3572 LDX 0 ALOGLEN(3)
35LL STO 0 AWORK3(2)
366= EXIT 6 0
36KW #
375G # NOW FOLLOWS THE MAIN CODE
37K6 #
384Q XK1 [COMMAND ENTRY POINT
38JB #SKI TESTING
3942 RGTRACE 1
39HL STOZ AWORK1(2) [COMMAND INDICATOR
3=3= STOZ AWORK2(2) [HOLDS JPARNUM LATER
3=5T SEGENTRY K52BCAST
3=8D LDN 0 0
3=?3 ANDN 0 #12
3=*L ERN 0 #12
3=D9 BZE 0 NOTALLOWED [J IF BC NOT OK IN NO-USER-MOP
3=GW CALL 4 PASS [PASS TEXT PARAMETER
3?2G BRN NOPARS
3?G6 BRN NOPARS [ERROR IF NULL OR NON-EXISTENT
3?^Q #SKI TESTING
3#FB RGTRACE 2
3#^2 OUTPAR TIMENOW
3*DL BXL 5 X51(1),SH [J IF SHORT ENOUGH
3*Y= LDN 5 50 [TRUNCATE
3BCW SH OUTPARAM 5,APARA,CPB,CUNI
3BXG MFREE CPB,CUNI
3CC6 ASSMESS XBCAST(1) [ASSEMBLE GMON/AOUT
3CWQ #SKI TESTING
3DBB RGTRACE 3
3DW2 [
3F*L SPARABEG 1,XCOLON(1) [LOOK FOR USEREPNAME
3FT= CALL 4 PASSED [FINDS & CHECKS CPB-CUNI
3G#W BRN NOCOLON [J IF NO USERNAME
3GSG BRN USNA [J IF NULL
3H#6 [
3HRQ [ USERNAME HAS BEEN FOUND
3J?B USERNM
3JR2 CHEKLFN2 USNA,USFORM,3 [CHECK FORMAT OF USERNAME
3K=L LDX 6 ACES [SPACE-FILL ACOMMUNE1-6
3KQ= STO 6 ACOMMUNE1(2)
3L9W LDN 6 ACOMMUNE1(2)
3LPG LDN 7 ACOMMUNE2(2)
3M96 MOVE 6 5
3MNQ [ MOVE USERNAME INTO ACOMMUNE4,5,6
3N8B LDN 6 APARA(3)
3NN2 LDN 7 ACOMMUNE4(2)
3P7L SMO 5 [X5 SET BY SUBROUTINE PASS(PASSED)
3PM= MVCH 6 0
3Q6W FREECORE 3
3QLG [
3R66 [ NOW LOOK FOR JOBNAME
3RKQ SPARUNAC
3S5B MHUNT 3,CPB,CUNI
3SK2 CHEKLFN2 USNA,RONGJOB,3 [CHECK FORMAT
3TJ= LDN 4 APARA(3)
3W3W LDN 5 ACOMMUNE1(2)
3WHG SMO ANUM(3)
3X36 MVCH 4 0 [MOVE JOBNAME
3XGQ #SKI TESTING
3Y2B RGTRACE 5
3YG2 LDN 3 BJOBQ
3Y^L XJQ LDX 3 FPTR(3) [GO ROUND JOBQ LOOKING FOR THIS JOB
3^F= TXU 3 CXJO
3^YW BCC XJEND [ERROR IF JOB NOT FOUND
42DG LDN 7 6
42Y6 TEST SMO 7
43CQ LDX 5 ACOMMUNE1-1(2)
43XB SMO 7
44C2 TXU 5 JNAME-1(3)
44WL BCS XJQ [J IF NOT THIS JOB
45B= BCT 7 TEST
45TW LDX 7 JOBNUM(3) [GET SPECIFIED JOB'S JOBNUMBER
46*G MFREE CPB,CUNI [FREE JOBNAME
46T6 BRN XHUNT
46TC [
46TN [
46T^ NOCOLON
46W= [ NOT USERNAME,JOBNAME SO CHECK FOR "ALL" OR JOB NO. LIST
46WH LDN 7 0 [SET "ALL" INDICATOR
46WS XP CALL 4 PASS
46X5 SEGENTRY K50BCAST
46XB BRN XHUNT [BC TO ALL
46XM BRN XP [SKIP NULL PARAMETERS
46XY #SKI TESTING
46Y9 RGTRACE 4
46YG SBN 5 3
46YR BNZ 5 XJLIST [CAN'T BE "ALL" UNLESS IT'S 3 CHARS
46^4 LDX 5 APARA(3)
46^* BXU 5 XALL(1),XJLIST [J IF NOT "ALL"
46^L FREECORE 3
46^X BRN XHUNT
47BD [
47KB [
47SB XK2 [MACRO ENTRY POINT
48#2 #SKI TESTING
48RL RGTRACE 6
49?= STO 1 AWORK1(2) [MACRO INDICATOR
49QW LDX 7 ACOMMUNE2(2) [JOBNUMBER
4==G ASSMESS ACOMMUNE1(2)
4=G# SEGENTRY K53BCAST
4=Q6 XHUNT CALL 6 SETLEN [SET LENGTH OF AOUT IN AWORK3
4=X# LDN 0 #7777 [TOP HALF OF WORD MAY HOLD MESSAGE NO
4?4G ANDS 0 A1(3) [ SO MASK OUT TO PREVENT ANY TROUBLE!
4?9Q #SKI TESTING
4?PB RGTRACE 7
4#92 LDN 5 0
4#NL BNZ 7 REN1 [J IF ONLY ONE JOB TO BC TO
4*8= # WE MUST NOW MAKE A NOTE OF ALL THE ACTIVITIES TO BC TO BY PUTTING
4*MW # THEIR ACTNUM'S IN AN ADATA/CSTORE BLOCK. WE GO ROUND THE ACT. LIST
4B7G # FIRST TO SEE HOW BIG A BLOCK WE'RE GOING TO NEED.
4BM6 LDN 4 0
4C6Q LDN 7 ACTRING(2)
4CLB LDX 2 7
4D62 ROUND LDX 2 0(2)
4DKL BXE 2 7,XEND [J IF WE'RE BACK AT FX2
4F5= CALL 6 OKACT [SEE IF ACT. IS BC'ABLE TO
4FJW BRN ROUND [J IF NOT
4G4G BUX 4 ROUND [ ELSE INCREMENT COUNT
4GJ6 XEND BZE 4 NUN [J IF NO SUITABLE ACTIVITIES
4H3Q #SKI TESTING
4HHB RGTRACE 71
4J32 SETUPCORE 4,1,ADATA,CSTORE
4JGL RETRY LDX 3 1
4K2= LDN 7 ACTRING(2)
4KFW LDX 2 7
4K^G ROUNE LDX 2 0(2)
4LF6 BXE 2 7,YEND [J IF HOME
4LYQ CALL 6 OKACT
4MDB BRN ROUNE
4MY2 BZE 4 MORE [J IF NO ROOM IN ADATA/CSTORE
4NCL LDX 6 ACTNUM-ACTRING(2)
4NX= STO 6 A1(3)
4PBW SBN 4 1
4PWG BUX 3 ROUNE
4QB6 MORE LDX 4 ALOGLEN(1)
4QTQ ADN 4 5
4R*B ALTLEN 1,4 [ENLARGE DATA BLOCK
4RT2 #SKI TESTING
4S#L RGTRACE 72
4SS= MHUNTW 1,ADATA,CSTORE
4T?W BRN RETRY
4TRG YEND LDX 5 ALOGLEN(1)
4W?6 SBX 5 4 [SET X5=COUNT OF ACTS TO BC TO
4WD# #UNS BCMILLEN
4WKG STO 5 ALOGLEN(1) [REMEMBER COUNT OF ACTIVITIES
4WQQ BZE 5 NUN1 [J IF NOW NONE
4X=B #SKI TESTING
4XQ2 RGTRACE 8
4Y9L LDN 7 0 [INDICATE "ALL"
4YP= LDX 2 FX2
4YPS #UNS BCMILLEN
4YQB (
4YQY LDX 1 FX1
4YRG LDX 0 SBC(1)
4YS4 BNZ 0 NOENH1 [J IF MILLENHANCEMENT NOT ON
4YSL ORX 5 GSIGN [INDICATE 1ST PASS THRU ADATA-CSTORE
4YT8 NOENH1
4YTQ )
4^8W #
4^NG # AT THIS POINT THE FOLLOWING WORDS ARE SIGNIFICANT
5286 #
52MQ # AWORK1=0 IF COMMAND: =NON ZERO IF MACRO
537B # X7=0 IF "ALL",ELSE = JOBNUMBER
53M2 # AWORK3=ALOGLEN OF GMON/AOUT
546L # IF X7=0 THEN X5=COUNT OF ACTIVITIES TO BC TO
54L= #
54MD #UNS BCMILLEN
54NL (
54PS #
54R2 # BC IMPROVEMENTS ENHANCEMENT: IF THIS IS SWITCHED ON, AN ATTEMPT IS
54S8 # MADE TO STOP A JOB RUNNING A PROGRAM, SO AS TO BC.
54TB # IN THE "ALL" CASE THERE CAN BE 2 PASSES THROUGH ADATA/CSTORE. IN
54WJ # THE 1ST, THE ACTIVITY NUMBER OF ANY JOB WHOSE PROGRAM CANNOT BE
54XQ # STOPPED IS LEFT UNZEROISED IN CSTORE; IN THE 2ND, ANOTHER ATTEMPT
54YY # IS MADE, THIS TIME WAITING.
5526 # "NON-ALL" CASES ARE TREATED AS IF 2ND PASS.
553# # B0 OF X5 = 1 FOR 1ST PASS, 0 FOR 2ND PASS.
554G )
555W # N.B. TRYING TO BE CLEVER,WE RENAME THE GMON/AOUT AMXOR/BBC FOR
55KG # THE LAST ACTIVITY.
5656 #
56JQ NXT BCT 5 NEXT [J UNLESS LAST ACTIVITY
56PY #UNS BCMILLEN
56X6 BNG 5 NEXT [J IF 1ST PASS THROUGH ADATA/CSTORE
574B REN MHUNTW 3,GMON,AOUT
57J2 REN1 NAME 3,AMXOR,BBC
583L BRN XCHN
58H= NEXT LDX 2 FX2
592W SETUPCORE AWORK3(2),3,AMXOR,BBC
59GG MHUNTW 1,GMON,AOUT
5=26 LDN 0 A1(1)
5=FQ LDN 1 A1(3)
5=^B SMO AWORK3(2)
5?F2 MOVE 0 0
5?YL XCHN
5#D= #SKI TESTING
5#XW RGTRACE 9
5*CG BNZ 7 XJOB [J IF X7 SPECIFIES A JOB NUMBER
5*X6 MHUNTW 1,ADATA,CSTORE
5BBQ LDX 4 1
5BWB ADX 1 5
5BY^ #UNS BCMILLEN
5C3J (
5C67 SLL 1 1 [LOSE B0
5C8Q SRL 1 1
5C?* )
5CB2 FINDACTN 1,A1(1),NFND
5CTL XBACK LDN 2 ACTRING(1)
5D*= CALL 6 OKACT
5DSW BRN NBC [J IF ACTIVITY NOT BC'ABLE TO
5F?* #UNS BCMILLEN
5F?B (
5F?C LDX 1 FX1
5F?D LDX 0 SBC(1)
5F?F BNZ 0 XCHAIN [J IF ENHANCEMENT NOT ON
5F?G SBN 2 ACTRING
5F?H LDX 1 JOBRING+FPTR(2) [FIND JOB BLOCK
5F?J SBN 1 AJBRING
5F?K LDCH 0 ATYPE(1)
5F?L SBN 0 JOBQE/64
5F?M BNZ 0 XCHAD [J IF NOT FOUND
5F?N JBC XCHAD,1,JBPLUG [J IF NO PLUGGED-IN PROGRAM
5F?P FPCAJO 2,1 [FIND PCA
5F?Q LDX 4 IREVIEW [SET WAIT TIME AT -CURRENTLY- 2 SECS
5F?R ADX 4 IREVIEW
5F?S LDX 6 JOBNO(2)
5F?T BS 2,ASTOPBC [SET STOP BIT FOR BC
5F?W TRYSTOP
5F?X STOPIT 2
5F?Y LA ASTOPBC,0
5F?^ BXE 0 ASTOP(2),STOPPED
5F#2 TPASS
5F#3 BNG 5 NOSTOP [J IF 1ST PASS, DONT WAIT
5F#4 COOR3 #41 [WAIT FOR EVENT TO CLEAR
5F#5 FINDJOBQ 1,6,NOJB
5F#6 JBC NOJBPL,1,JBPLUG [J IF NOW NO PLUGGED-IN PROGRAM
5F#7 FPCAJO 2,1 [FIND PCA
5F#8 BCT 4 TRYSTOP
5F#9 BC 2,ASTOPBC
5F#= XFCA
5F#? FCAJO 2,1 [REFIND CPA
5F## XCHAD
5F#* ADN 2 ACTRING
5F#B MHUNTW 3,AMXOR,BBC
5F#C XCHAIN
5F#D )
5F#G LDX 6 2
5FS6 LDX 2 0(2)
5G?Q SBN 2 ACTRING
5GRB CHAIN 3,BPTR(2)
5H?2 LDX 2 6
5HQL SBN 2 ACTRING
5J== LDCT 0 #10
5JPW ORS 0 CLONG1(2) [SET BC BIT
5K9G LDN 0 #2000
5KP6 ANDX 0 ATYPE(2)
5KS= #UNS BCMILLEN
5KXB BZE 0 ZOK [J IF ACTIVITY NOT IN LONGWAIT
5L2G #UNS BCMILLEN
5L5L #SKI
5L8Q BZE 0 NOWT [J IF ACTIVITY NOT IN LONGWAIT
5LNB UNQUEUE
5M82 FPUT
5M8= #UNS BCMILLEN
5M8G (
5M8Q ZOK
5M92 LDN 4 0 [SET "SUCCESSFUL" MARKER
5M9= )
5MLL NOWT
5N3Q #UNS BCMILLEN
5N3W (
5N42 BNZ 7 TDONE [J IF NOT ALL
5N46 BNZ 4 TDONE [J IF NOT SUCCESSFUL
5N4= MHUNTW 1,ADATA,CSTORE
5N4B SMO 5
5N4G STOZ A1(1) [ZEROISE ACT.NUMBER IN CSTORE
5N4L [IF "SUCCESSFUL- IE NO 2ND TRY NEEDE
5N4Q TDONE
5N4W )
5N5= BZE 5 XDONE [J IF ALL DONE
5N7= #SKI TESTING
5NLW RGTRACE 10
5NNS #UNS BCMILLEN
5NQQ #SKI
5NSN BZE 7 NXT [J IF "ALL"
5NWL #UNS BCMILLEN
5NYJ (
5P2G BZE 7 PASSTST [J IF ALL"
5P4D )
5P6G BZE 7 NXT [J IF "ALL"
5PL6 XCH CHNUMCOD [CONVERT THE ALREADY PASSED APRAMETER
5Q5Q MHUNT 1,CPB,CUNI
5QKB LDX 0 JPARNUM(1)
5R52 STO 0 AWORK2(2) [SAVE FOR ERROR ROUTINE
5RJL FREECORE 1
5S4= TESTREP2 OK,XOK
5SHW XP1 CALL 4 PASS
5T3G BRN XFIN
5TH6 BRN XP1
5W2Q BRN XCH
5WGB XOK LDX 7 ACOMMUNE1(2) [JOBNUMBER FROM CHNUMCOD
5X22 BNZ 7 XP2
5XFL LDCT 7 #400 [X7=0 WOULD LOOK LIKE "ALL"
5X^= XP2 CALL 4 PASS
5YDW BRN REN [J IF NO MORE PARAMETERS
5YYG BRN XP2
5^D6 LDN 5 1
5^XQ BRN NEXT
62CB XJLIST
62X2 CALL 6 SETLEN [SET LENGTH OF AOUT IN AWORK3
63BL BRN XCH
63BT #UNS BCMILLEN
63C4 (
63C? PASSTST
63CG TXU 5 GSIGN
63CP BCC SECCHK [J IF END OF 1ST PASS
63CY BRN NXT
63D7 #
63DB # NOW COUNT THE NUMBER OF NON-ZERO ACTIVITY NUMBERS IN ADATA/CSTORE,
63DK # I.E. THOSE WHOSE PROGRAMS NOT YET STOPPED; X5 WILL CONTAIN THE
63DS # COUNT AND INDICATE 2ND PASS. ACTIVITY NUMBERS ARE MOVED TO A1 ETC
63F3 # OF CSTORE, LOSING ANY INTERVENING ZEROES.
63F= #
63FF SECCHK
63FN MHUNTW 1,ADATA,CSTORE
63FX LDN 6 0
63G6 LDN 5 0
63G* SECSTRT
63GJ SMO 6
63GR LDX 0 A1(1)
63H2 BZE 0 SECADD
63H9 SMO 5
63HD STO 0 A1(1)
63HM ADN 5 1
63HW SECADD
63J5 ADN 6 1
63J# TXU 6 ALOGLEN(1)
63JH BCC SECFIN
63JQ BRN SECSTRT
63J^ SECFIN
63K8 BZE 5 XDONE [2ND PASS NOT NEEDED
63KC BRN NXT
63KL )
63L? #UNS BCMILLEN
63LG (
63LP STOPPED
63LY BS 2,ASTOPEXEC [SET B0 OF ASTOP IN PCA
63M7 LDX 4 2 [REMEMBER PCA
63MB FCAJO 2,1 [FIND CPA
63MK LDCT 0 #10
63MS ORS 0 CLONG1(2)
63N3 # [SET BC BIT
63N= ADN 2 ACTRING
63NF MHUNTW 3,AMXOR,BBC [REFIND BBC
63NN LDX 2 0(2)
63NX SBN 2 ACTRING
63P6 CHAIN 3,BPTR(2) [CHAIN BBC AFTER CPA
63P* LDX 2 4 [PCA
63PJ LDX 1 FX1
63PR LDX 0 SLINK5(1)
63Q2 STO 0 ALINK1(2) [SET LINK IN PCA
63Q9 FPUT
63QD BRN ZOK
63QM #
63QW XK5 [NEW ENTRY POINT FOR MILL ENHANCEMENT
63R5 TRACE JOBNO(2),BCAST5
63R# UNPLUG
63RH BC 2,ASTOPBC
63RQ CAPCA
63R^ DOWN MULTIPLX,1 [DO BC
63SC RUNPROG
63SL #
63ST )
63W= NBC LDX 6 1
64*W BNZ 7 XNBC [J IF NOT "ALL"
64FR NFND
6599 FREECORE 3 [FREE AMXOR/BBC
659T #UNS BCMILLEN
65=F #SKI
65?5 BRN NOWT
65?P #UNS BCMILLEN
65#* BRN ZOK
65*6 BRN NOWT
65SQ XJOB FINDJOBQ 1,7,NOJOB
66#B JBS NBC,1,JBSAVING [IF BEING SAVED-A NON CANDIDATE
66S2 FCAJO 1
67?L BRN XBACK
67R= XDONE BNZ 7 NOCS [J IF NOT "ALL"
6833 MHUNTW 2,ADATA,CSTORE
685L LDX 4 2
68=W FREECORE 4 [FREE ADATA/CSTORE
68QG NOCS LDX 2 FX2
69=6 #SKI TESTING
69PQ RGTRACE 11
6=9B LDX 4 AWORK1(2)
6=?K BNZ 4 UPP [J IF MACRO
6=*S XFIN
6=XJ ENDCOM
6#7W NOPARS
6#MG CALL 3 XERR
6*76 +JPARMIS,+JAMESSAGE
6*85 SEGENTRY K51BCAST
6*94 CALL 3 XERR
6*=3 +JPARMIS,-1
6*?3 NOTALLOWED
6*BY CALL 3 XERR
6*GT +JNOMANCON,-1
6*LQ USNA
6B6B CALL 3 XERR
6BL2 +JPARMIS,+JUSNA
6C5L USFORM
6CK= CALL 3 XERR
6D4W +ERUSERFORM,-1
6D7F RONGJOB
6D=4 [ INVALID JOBNAME
6D#M CALL 3 XERR
6DC= +JOBIN,-1
6DFT [
6DJG XJEND
6F46 CALL 3 XERR
6FHQ +EWHSTAT,-1
6G3B NUN1 FREECORE 1
6GH2 NUN MFREE GMON,AOUT
6H2L CALL 3 XERR
6HG= +HNOMOP,-1
6H^W 0
6J=2 #UNS BCMILLEN
6J=# (
6J=L NOJB
6J=Y BC 2,ASTOPBC
6J#S BRN XCHN
6J*6 NOJBPL
6J*D TESTCOR 1,STILPCA
6J*Q BRN XFCA [J IF NO PCA
6JB4 STILPCA
6JBB FPCAJO 2,1
6JBN BC 2,ASTOPBC
6JC2 BRN XFCA
6JC# NOSTOP
6JCL BC 2,ASTOPBC
6JCY LDN 4 1 [SET "NOT SUCCESSFUL" MARKER
6JD= FREECORE 3 [FREE BBC
6JDJ BRN NOWT
6JDW )
6JFG NOJOB FREECORE 3
6J^6 CALL 3 XERR1
6KDQ +FWHSTAT,-1
6KYB 1
6LD2 XNBC FREECORE 3
6LMS LDX 2 FX2
6LXL LDX 0 AWORK2(2)
6MC= BNZ 0 XNBC1 [J IF NUMBER LIST CASE
6MWW LDN 0 2
6NBG STO 0 AWORK2(2)
6NW6 CALL 3 XERR1
6P*Q +HMOPJNO1,-1
6PTB 0
6Q*2 XNBC1 CALL 3 XERR1
6QSL +HMOPJNO,-1
6R#= 0
6RRW #
6S?G XERR1 NGNC 6 1
6SR6 XERR LDN 6 0
6T=Q #SKI TESTING
6TQB RGTRACE 12
6W=2 LDX 2 FX2
6WPL LDX 0 AWORK1(2)
6X9= BNZ 0 MAC [J IF FROM MACRO
6XNW BZE 6 XER
6Y8G SBX 3 FX1
6YN6 SPARANOX AWORK2(2)
6^7Q ADX 3 FX1
6^MB XER ERRORX 0(3),1(3)
7272 BZE 6 XFIN [ENDCOM IF NOT NUM LIST
72LL MFREE CPB,CUNI
736= BRN NOWT
73KW MAC LDX 7 2(3)
745G SETREP NOMOP
74K6 BZE 7 UPP
754Q SETREP NOJOB
757W UPP
75YW UP
7642 #
76HL MENDAREA 20,K99BCAST
773= #END
^^^^ ...17011466000100000000