{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: EMSENTER867)}}
====== EMSENTER867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BSON|BSON]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:DOWN|DOWN]], [[george:macro:FSHTEST|FSHTEST]], [[george:macro:ISSUJOB|ISSUJOB]], [[george:macro:JBS|JBS]], [[george:macro:MASK|MASK]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:OPENDIR|OPENDIR]], [[george:macro:RUNJSA|RUNJSA]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SKIP|SKIP]], [[george:macro:SUICIDE|SUICIDE]]
22?B ... SEG EMSENTER,867,SECTION CENT
22JQ ...[
22W6 ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LIMITED 1982
237G ...[
23DW #OPT K0EMSENTER=K0HLS>K0INCDUMP>K0EMS>K0ALLGEO>K0GREATGEO
23YG #LIS K0EMSENTER
24D6 #
24XQ # A COMMAND PROCESSING ACTIVITY IS SET UP DURING E.M.S. (BY SETUP) WITH
25CB # PAIR TO K1 OF THIS SEGMENT. IT IS RELEASED AT END OF E.M.S..
25X2 # INITIATES 1) THE INITIAL INCREMENTAL DUMPER JOB (ALWAYS).
26BL # ALSO HLSJOB IF HLSON. BOTH THESE ARE SYS. ISSUED
26W= # AND 2) JUGGERNAUT RESTORER JOB (BUT ONLY AFTER A GENERAL RESTO
27*W # AND 3) JOB TO ASK OPERATORS ABOUT INCREMENTS ONLY APPEARING ON
27TG # WRONGED DUMP TAPES (BUT ONLY IF "WRONGED INCREMENTS"
28*6 # MARKER SET [B23 OF INCWORD]).
28SQ # AND 4) MACRO EMSJOBS WISH IS USED TO INITIATE ANY JOBS REQUIRE
29#B # ALWAYS,+ PARAMETER INDICATING GEN REST OR NOT, AS
29S2 # APPROPRIATE
29^8 ...# AND 5) IF LPS ON HAS BEEN USED, "LPSJOB",
2=6B ...# THE LPS14 SPOOLING JOB.
2=?L # THE DUMPER IS SET UP AS SYSTEM-ISSUED JOB BUT JUGGERNAUT, Q & EMSJOBS
2=R= # ARE NOT. UNFORTUNATELY (VERY), THE SEGMENT IS NOT TOLD IF ANY OF THE
2?=W # RUNJOBS (ETC.) FAIL. TO COMPENSATE FOR THIS, IT TRIES TO AVOID A
2?QG # NON-UNIQUE JOB NAME FOR DUMPER OR HLS. NO ATTEMPT MADE TO CATER
2#=6 # FOR FAILURE OF OTHER RJ'S ETC
2#PQ #
2*9B #
2*P2 # ENTRY POINTS
2B8L #
2BN= SEGENTRY K1EMSENTER,START
2C7W # THE FOLLOWING TABLE CONSISTS OF CELLS WITH THE
2CMG # FOLLOWING FORMAT:
2D76 #
2DLQ # WORD 0 = INSTRUCTION TO CHECK IF COMMAND IS REQUIRED
2F6B # WORD 1 = CHARACTER COUNT OF COMMAND
2FL2 # WORD 2 = INSTRUCTION TO ADJUST IF NECESSARY THE ADATA/CREADL
2G5L # WORD 3 ETC. = THE COMMAND
2GK= #
2H4W # THE LAST CELL TERMINATES THE PROCEDURE BY SUICIDE
2HJG #
2J46 #SKI CPDATA-A1-2
2JHQ ! USE OF TABLE ASSUMES CPDATA=A1+2 !
2K3B TABLE
2KH2 BRN RET1 [DUMPER ALWAYS REQUIRED
2L2L +24
2LG= BRN QDUMP [ADJUST JOBNAME IF NECESSARY
2L^W 24HRJ A0,:DUMPER,INCJOB
2MFG #
2M^6 BRN QHLS1 [SEE IF HLS ON OR OFF
2NDQ +28
2NYB BRN QHLS2 [ADJUST JOBNAME IF NECESSARY
2PD2 28HRJ HLSJOB ,:SYSTEM,HLSFILE
2PXL #
2QC= BRN QJUGG [SEE IF JUGGERNAUT REQUIRED
2QWW +36
2RBG BRN RET2 [NO CHANGE TO DATA/CREADL
2RW6 36HRJ JUGGERNAUTJB,:MANAGER,JUGGERNAUT
2S*Q #
2STB BRN QQ [SEE IF :DUMPER,Q REQUIRED
2T*2 +36
2TSL BRN RET2 [NO CHANGE TO ADATA/CREADL
2W#= 36HRJ Q,:DUMPER,PROCESSOR,PARAM(QUEST)
2WRW #
2X?G BRN RET1 [EMSJOBS ALWAYS ISSUED
2XR6 +20
2Y=Q BRN QEMS [PUT IN NORES/REST PARAMETER
2YQB 20HEMSJOBS
2^=2 #
2^#H ... SEGENTRY K53EMSENTER
2^*5 ... BRN SKIP [NIP RESTORE MAC MENDS TO BRN K52EMSENTER (S
2^*M ...[ OR TO BRN K51EMSENTER (ISSUE RJ)
2^B9 ... +32
2^C4 ... BRN QNIP2 [ADJUST JOBNAME IF NEC
2^CX ... 32HRJ LPSJOB ,:LPSCONTROL,LPSJDF
2^FS ... SEGENTRY K50EMSENTER
2^HB ...#UNS FSHTEST
2^JY ... ACROSS FSHAUTO,1
2^LG ...#UNS FSHTEST
2^N4 ...#SKI
2^PL SUICIDE [END OF TABLE
329= #
32NW MDUMP +10
338G 12HDUMPER
33N6 12HA0
347Q 0,0,0
34MB MHLS +10
3572 12HSYSTEM
35LL 12HHLSJOB
366= 0,0,0
36#4 ...MNIP +10
36B2 ... 12HLPSCONTROL
36CY ... 12HLPSJOB
36FW ... 0,0,0
36KW NORES 12HNORESTORE
375G REST 12HGENRESTORE
37=N ...#UNS FPARTRES
37CW ...PARTRES 12HPARTRESTORE
37K6 MASK #57777777
384Q #
38JB QDUMP
3942 LDN 3 MDUMP
39HL LDCT 5 #200 [=0.1
3=3= BRN UNIQUE [ADJUST JOBNAME TO BE UNIQUE
3=GW #
3?2G QHLS1
3?G6 LDX 0 MASK(1)
3?^Q ANDS 0 CLONG1(2) [LOSE BS PRIVILEGE
3#FB BSON HLSBIT,SKIP [SKIP RJ IF HLS OFF
3#^2 BRN RET1
3*2P ...[
3*4D ...QNIP2
3*67 ... LDN 3 1
3*7W ... STO 3 ANIPSW [SET LPS INDICATOR
3*9K ... LDN 3 MNIP
3*?B ... BRN QNIP3
3*DL QHLS2
3*Y= LDN 3 MHLS
3B84 ...QNIP3
3BCW LDCT 5 #400
3BXG ADN 5 1 [=1.2
3CC6 UNIQUE
3CWQ LDN 6 1
3DBB SETNCORE 10,2,FILE,FABSNB
3DW2 LDN 4 A1(2)
3F*L ADX 3 1
3FT= MOVE 3 10
3G#W ULOOP [ATTEMPT TO FIND FILE = JOBNAME
3GSG OPENDIR (GEOERR),READ,ERASING,QUERY
3H#6 TESTREPN OK,UOK [J IF JOBNAME SHOULD BE UNIQUE
3HRQ MFREEW FILE,ENT
3J?B CLOSETOP
3JR2 MHUNT 3,FILE,FABSNB
3K=L ADX 3 A1(3)
3KQ= ADX 3 5
3L9W DCH 6 A1-6(3) [UPDATE JOBNAME
3LPG STOZ A1-3(3)
3M96 STOZ A1-2(3)
3MNQ STOZ A1-1(3)
3N8B MHUNT 3,ADATA,CREADL
3NN2 ADX 3 5
3P7L DCH 6 CPDATA+1(3)
3PM= ADN 6 1
3Q6W BRN ULOOP
3QLG UOK
3R66 ISSUJOB 0 [ISSUE RUNJOB FOR DUMPER/HLS
3R?# ...[ %A=0 MEANS CONTROL RETURNED
3RDG ...[ TO ISSUING ROUTINE
3RKQ BRN RET3 [BACK TO MAIN LOOP
3S5B #
3SK2 QJUGG
3T4L SEGENTRY K20EMSENTER [USED BY NOJUGG MACRO
3TJ= LDX 0 GINCTSN
3W3W BZE 0 SKIP [J IF NO GEN REST
3WHG BRN RET1
3X36 #
3XGQ QQ
3Y2B LDX 0 INCWORD
3YG2 ANDN 0 1
3Y^L BZE 0 SKIP [J IF NO WRONGED INCREMENTS
3^F= BRN RET1
3^YW #
42DG QEMS
42Y6 LDN 4 CPDATA+2(3)
436L ... LDX 0 GINCTSN
43*6 ... BZE 0 NGRES [^ IF NO GEN RES
43HL ... LDN 3 REST(1)
43Q6 ... BRN NRES
43YL ...NGRES
4476 ...#UNS FPARTRES
44*L ...(
44J6 ... LDN 3 PARTRES(1)
44QL ... JBS NRES,,BFPRDONE [^ IF NO PART RES
44^6 ...)
457L ... LDN 3 NORES(1)
45B= NRES MOVE 3 3 [MOVE IN APPROPRIATE PARAMETER
45TW BRN RET2
46*G #
46T6 # MAIN PATH STARTS HERE
47#Q #
47SB START
4848 ... STOZ ANIPSW [INITIALISE LPS INDICATOR
48#2 # SET UP JWELL SLOTS ETC.
48RL RUNJSA
49QW LDN 6 0 [INITIALISE TABLE POINTER
4==G XLOOP
4=Q6 STO 6 AWORK1(2)
4?9Q SMO 6
4?PB BRN TABLE [GO SEE IF COMMAND IS NECESSARY
4#3Q ... SEGENTRY K51EMSENTER
4#92 RET1 [RETURN HERE MEANS IT IS(SKIP IF NOT)
4#NL LDX 6 AWORK1(2)
4*8= SMO 6
4*MW LDX 4 TABLE+1(1) [CHAR. COUNT OF COMMAND
4B7G SRL 4 2
4BM6 ADN 4 CPDATA-A1
4C6Q SETUPCOR 4,3,ADATA,CREADL [SET UP BLOCK BIG ENOUGH FOR COMMAND
4CLB LDN 0 A1(3)
4D62 SMO 6
4DKL LDN 7 TABLE+1(1)
4F5= SMO 4
4FJW MOVE 7 0 [MOVE COUNT/COMMAND INTO ADATA/CREADL
4G4G SMO 6
4GJ6 BRN TABLE+2 [ADJUST ADATA/CREADL IF REQUIRED
4H3Q
4HHB RET2
4J32 DOWN REDON,3 [ISSUE COMMAND - BUT NOT SYS. ISS.
4JGL RET3 [RETURN FROM DUMPER/HLS ISSUJOB
4JT2 ... SEGENTRY K52EMSENTER
4K2= SKIP
4KFW LDX 6 AWORK1(2)
4K^G SMO 6
4LF6 LDX 4 TABLE+1(1)
4LYQ SRL 4 2
4MDB ADX 6 4
4MY2 ADN 6 3 [STEP ON TABLE POINTER
4NCL BRN XLOOP
4NX= #
4PBW MENDAREA 10,K99EMSENTER
4PWG #END
^^^^ ...03110442000200000000