{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: SETUPB867)}}
====== SETUPB867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BXGE|BXGE]], [[george:macro:CHAIN|CHAIN]], [[george:macro:DOWN|DOWN]], [[george:macro:EMSACTX|EMSACTX]], [[george:macro:EMSCORE|EMSCORE]], [[george:macro:FINDCORE|FINDCORE]], [[george:macro:FINDPEREC|FINDPEREC]], [[george:macro:FIXEMSACTX|FIXEMSACTX]], [[george:macro:FIXEMSCR|FIXEMSCR]], [[george:macro:FLONGWAIT|FLONGWAIT]], [[george:macro:FON|FON]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FSHTEST|FSHTEST]], [[george:macro:FWAIT|FWAIT]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GEOPACK|GEOPACK]], [[george:macro:JENVNOT|JENVNOT]], [[george:macro:JNCMESH|JNCMESH]], [[george:macro:LGEOG|LGEOG]], [[george:macro:LINKSET|LINKSET]], [[george:macro:LONGSET|LONGSET]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:NAME|NAME]], [[george:macro:OUTBLOCN|OUTBLOCN]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:OUTPACKX|OUTPACKX]], [[george:macro:PAIR|PAIR]], [[george:macro:SEGENTRY|SEGENTRY]]
22FL #SEG SETUPB [GENERAL EMS - COMM
22PD ...[ (C) INTERNATIONAL COMPUTERS LIMITED 1982
22^= #OPT K0SETUPB=0
23DW #LIS K0SETUP>K0EMS>K0ALLGEO>K0SETUPB
23YG 8HSETUPB
24D6 # E.M.S. SEGMENT
24XQ # ENTRY POINTS
25CB SEGENTRY K1SETUPB,Z1SETUPB
25X2 MENDAREA 10,K100SETUPBSLINK3
26BL [
26W= SLINK3
27*W PAIR MOPSTART,3
28SQ SLINK6
29#B PAIR SJLOOP,1
29S2 SLINK7
2=?L PAIR LISTPROC,1
2=R= SLINK8
2?=W PAIR SCHEDMTX,1
2#=6 #UNS FSHTEST
2#PQ #SKI
2C97 ...SLINK10
2C=D ... PAIR PERFLOGS,1
2C?R ...[
2CCN ...[ SUBROUTINES
2CHK ...[
2CMG #SKI G3
2D76 (
2DLQ SCORAG4 [IN GEORGE 3 THIS ENTRY POINT IS EQUIVALENT TO SCORA
2F6B SCORA
2FL2 SLL 6 12
2G5L EMSACTX 6,2 [GET PERMANENT ACTIVITY FROM
2GK= # [TOP OF STORE AND LOCATE IT
2H4W LDX 2 BPTR(2)
2HJG EXIT 4 0
2J46 SCOREG4 [IN G3 THIS ENTRY POINT IS EQUIVALENT TO SCORE
2JHQ SCOREG4A
2K3B SCORE
2KH2 STOZ 0
2L2L SCOREG4F
2LG= EMSCORE 2,0 [EMSCORE WITH A DIFFERENCE
2L^W EXIT 4 0
2MFG )
2M^6 #SKI G4
2NDQ (
2NYB # NO ROUNDING IF X0 0
2PD2 SCOREG4F
2PXL EMSCORE 2,0
2QC= EXIT 4 0
2QWW SCORA SLL 6 12 [THIS ENTRY IS USED IF CORE MUST BE GOT AT TOP
2RBG BRN SCORAM [OF STORE SO WE JUMP INTO FIXEMSACTX TO DO
2RW6 [A STRAIGHT FORWARD EMSACTX
2S*Q SCORAG4 [THIS ENTRY IS USED IFCORE CAN BE OBTAINED FROM
2STB SLL 6 12 [SPARE SPACE AT END OF FIXED CORE
2T*2 FIXEMSACTX 6,2,SCORAM
2TSL LDX 2 BPTR(2)
2W#= EXIT 4 0
2WRW SCORE BRN SCOREM [THIS ENTRY IS USED IF CORE MUST BE GOT AT TOP
2X?G [OF STORE-J INTO FIXEMSCR TO DO A STRAIGHT
2XR6 [FORWARD EMSCORE
2Y=Q SCOREG4 [THIS ENTRY IS USED IF CORE CAN BE OBTAINED FROM
2YQB [SUT PAGE OR AT END OF FIXED CORE
2^=2 LDX 0 2 [ATTEMPT TO GET CORE FROM SUT PAGE
2^PL ADN 0 A1
329= LDN 1 1024
32NW SBX 1 FSUTPAGE
338G SBX 1 0
33N6 #
347Q # AFTER THE INTRODUCTION OF THE 'VOPA IN G4' ENHANCEMENT, A DUMMY
34MB # BLOCK IS PLACED AT THE END OF THE SUT PAGE (JUST RED TAPE WORDS)
3572 # - SO WE MAKE SURE WE DONT TRY TO USE THESE WORDS.
35LL #
366= #SKI G4VOPA
36KW (
375G #UNS CA1D
37K6 #SKI
384Q SBN 1 A1D
38JB #UNS CA1D
3942 SBX 1 CA1D
39HL )
3=3= #
3=GW BNG 1 SCOREG4A
3?2G LDX 1 FSUTPAGE
3?G6 ADX 1 BSUT
3?^Q ADS 0 FSUTPAGE
3#FB STO 0 ASIZE(1)
3#^2 STO 2 ALOGLEN(1)
3*DL LDX 2 FX2
3*Y= STO 2 BPTR(1)
3BCW LDX 0 FPTR(2)
3BXG STO 0 FPTR(1)
3CC6 SMO 0
3CWQ STO 1 BPTR
3DBB STO 1 FPTR(2)
3DW2 LDX 1 FX1
3F*L EXIT 4 0
3FT= SCOREG4A [THIS ENTRY IS USED IF CORE MUST NOT BE IN SUT PAGE
3G#W FIXEMSCR 2,SCOREM
3GSG EXIT 4 0
3H#6 )
3H*N ...[
3HC= ...[ SUBROUTINE PARAMETER
3HDS ...[
3HGB ...PARAMETER
3HHY ... SBX 6 FX1
3HKG ... OUTPACKX 3,4,5,PARM
3HLD ... ADN 6 1
3HMB ...PARM
3HN# ... MHUNTW 2,ADATA,EMS
3HP= ... ADX 6 FX1
3HQ8 ... EXIT 6 0
3HRQ [*
3J?B [*
3JR2 [* K1 ENTRY POINT
3K=L [*
3KQ= [*
3L9W Z1SETUPB
3LPG [ CURRENT ACTIVITY IS BLANKET
3M96 [
3MNQ LDX 3 ADMULTACT [J. IF NO MOP ACTIVITIES
3N8B BZE 3 NOMOP
3NN2 LDN 2 BMOPLEN+IMOPQLEN [OTHERWISE GET AMOP/IMOPQ ACTIVITY
3P7L LDN 6 AMOP+IMOPQ [TO QUEUE MOP ACTIVITIES' CORE REQUE
3PM= CALL 4 SCORAG4 [STS.
3Q6W LINKSET 2,SLINK3(1) [LINK TO K3MOPSTART
3QLG NWMOP
3R66 STO 2 IMOPADDR(3) [STORE ADDRESS OF QUEUING
3RKQ LDX 3 ADMP(3) [ACTIVITY IN EACH AMOP.
3S5B BNZ 3 NWMOP
3SK2 FWAIT #54 [WAIT FOR END OF E.M.S.
3T4L NOMOP
3WHG # SYSTEM.JOURNAL ACTIVITY
3X36 LDN 2 BSALEN+JOUROPENLEN [LENGTH
3XGQ LDN 6 BSA+JOUROPEN [TYPE
3Y2B CALL 4 SCORAG4 [FROM TOP OF CORE
3YG2 LINKSET 2,SLINK6(1) [LINK TO K1SJLOOP
3Y^L LDCT 0 #400
3^F= ... ADS 0 2
3^YW STO 2 JSJPTR [PTR TO ACTIVITY
42DG XFSHNJRNL
43CQ # LISTFILE ACTIVITY
43XB LDN 2 ACTLFLEN+BSCHEDLEN [LENGTH
44C2 LDN 6 ACTLF+BSCHED [TYPE
44WL CALL 4 SCORAG4
46*G LINKSET 2,SLINK7(1) [LINK TO K1LISTPROC
46T6 XFSHNBLKSET
4==G LDCT 0 #400
4=Q6 ADX 0 2
4?9Q STO 0 BOUTACT [PTR TO ACTIVITY
4#NL FWAIT #54 [WAIT FOR END OF EMS
4*8= XFSHNBSCHED
4C6Q # MT ACTIVITY
4CLB LDN 2 ACTDOCLEN+ASCHEDELEN
4D62 LDN 6 ACTDOC+ASCHEDE [TYPE
4DKL CALL 4 SCORAG4
4F5= LINKSET 2,SLINK8(1) [LINK TO K1SCHEDMT
4FJW STO 2 BRETACT
4G4G #UNS FIRSTR
4GJ6 (
4H3Q LDX 6 2 [LONGSET CORRUPTS X2
4HHB LONGSET #170,XMTGER,,2 [LONGSET DTS ACTIVITY
4J32 LDX 2 6 [RESET X2
4JGL FLONGWAIT #170 [PUT DTSA ON QUEUE WITH WAITING STYLE
4K2= )
4KFW XFSHNBDCHED
4LF6 LDN 2 ASWINTLEN [SET UP ACTIVITY TO CONTROL
4LYQ LDN 6 ASWINT [OBJECT PROGRAM SWAPPING.
4MDB CALL 4 SCORAG4
4MY2 STO 2 BSWINT [POINTER TO SWAP ACTIVITY.
4QTQ #UNS CAFSINT
4R*B (
4RT2 # FOR THE CAFS INTERFACE, WE SET UP A BSA/CAFS ACTIVITY
4S#L # AT THIS POINT IN THE PROCEEDINGS. THIS IS DONE IN A
4SS= # 'CAFS' SEGMENT
4T?W #
4TRG DOWN CAFSCTRL,1
4W?6 )
575M ...[
576Y ...[ ERROR LOGGING ACTIVITY
5789 ...[
578T ... JENVNOT NOELOGACT,DME
579G ... LDN 2 BSALEN+ELOGLEN
57=R ... LDN 6 BSA+ELOG
57#4 ... CALL 4 SCORAG4 [SET UP ERROR LOGGING ACTIVITY
57** ... LINKSET 2,SLINK10(1)
57BL ... LDCT 0 #400
57CX ... ADX 0 2
57F8 ... STO 0 BELOGACT [ST PTR. TO BASE PTR
57GF ... FWAIT #54
5825 ...NOELOGACT
58H= # THE EMSCORE BELOW MUST BE THE LAST ONE ISSUED.
58H^ ... LDX 2 GLENFCHAP [GET CORE FOR FIXED CHAPTER SPACE.
58JN ... LDN 0 1
58KC ... CALL 4 SCOREG4F
58L6 ... FINDCORE 2
58LT ... NAME 2,BSTB,CHAPTER [SET NORMAL CHAPTER TYPE
58MJ ... LDN 0 1
58N? ... STO 0 BACK1(2)
58P2 ... STOZ BACK2(2)
58PP ... STOZ A1(2)
58QD ... STO 0 ALOGLEN(2) [INITIALISE AT 1 FOR P1M CHECKSUM
58R7 ... STO 2 GFIXCHAP [PTR. TO FIXCHAP
58RW ...#SKI CAMK7>5-5
58SK ...(
58T# ... STO 2 CTOP [ INITIALISE LONGLOCK AREA BOUNDARY
58W3 ... LDN 1 #210 [ MARK GFIXCHAP A CHAPTER BLOCK
58WQ ... STO 1 AFLAG(2) [ AND
58XF ...)
58Y8 ... CHAIN 2,BCHAP+1 [CHAIN INTO CHAPTER CHAIN
58YX ...#SKI CAMK7<6-6
58^L ...(
592W LDX 2 AFREE [TOTAL MOVEABLE CORE.
59GG LDX 5 2 [SAVE CURRENT CONTENTS OF AFREE.
5=26 #SKI G4
5=FQ SRA 2 5 [1/32ND PART THEREOF
5=^B #SKI G3
5?F2 SRA 2 4 [1/16TH.PART THEREOF,ROUNDED UP.
5?YL ADN 2 1024*3/2 [ADD 1.5K.
5#D= CALL 4 SCORE [SPLIT OFF 'LONGLOC' AREA.
5#XW STO 5 AFREE [RESET TOTAL MOVEABLE CORE
5*CG FINDCORE 3
5*X6 STO 3 CTOP [STORE ADDRESS OF LONGLOCK AREA
5BBQ FREECORE 3
5BWB )
5CB2 #SKI CAMK7>5-5^G4
5CTL FON HLLOCKAREA [WAKE ACTS WAITING FOR LONGLOCK AREA
5F#G DOWN BACKMAP,1 [RESTORE IF NECESSARY
5FS6 XFSHNBBACK
5G#5 ... JENVNOT XNOTEXI,CME
5G#= ... JENVNOT XMES,CME,EXCL
5G#D ... DOWN CMEMILL,2
5G#K ...XMES
5G#R ... LDN 7 0 [LD. MOD DOWN BLK
5G*6 ... OUTBLOCN 13 [ONE WD EACH PARAM + ONE FOR EACH P
5G*F ...XNEXMES
5G*S ... MHUNTW 2,ADATA,EMS
5GB7 ... BNG 2 XNOTEXI
5GBG ... BXGE 7 A1(2),XENDMES
5GBT ...SL1 SMO 7
5GC8 ... LDN 3 A1+1(2) [DEVICE PTR
5GCH ... LDN 4 1
5GCW ... LDN 5 JPDNUMA
5GD9 ... CALL 6 PARAMETER [CONVERT PARAMETER FOR MESSAGE
5GDJ ... BRN SL1
5GDX ...SL2 SMO 7
5GF= ... LDN 3 A1+2(2) [RIGHT OR WRONG
5GFK ... LDN 4 2
5GFY ... LDN 5 JPDVARCHAR
5GG? ... CALL 6 PARAMETER
5GGL ... BRN SL2 [CONVERT PARAMETER FOR MESSAGE
5GG^ ...SL3 SMO 7
5GH# ... LDN 3 A1+4(2) [IN OR OUT
5GHM ... LDN 4 1
5GJ2 ... CALL 6 PARAMETER [CONVERT PARAMETER FOR MESSAGE
5GJ* ... BRN SL3
5GJN ...SL4 SMO 7
5GK3 ... LDN 3 A1+5(2) [DIS OR SPACES
5GKB ... CALL 6 PARAMETER
5GKP ... BRN SL4
5GL4 ...SL5 SMO 7
5GLC ... LDX 5 A1+6(2) [LD, ADDRESS
5GLQ ... GEOPACK 2,5,NJS [GEOPACK GEOG NO.
5GM5 ... LDN 3 2
5GMD ... LDN 4 1
5GMR ... LDN 5 JPDGEOPER
5GN6 ... CALL 6 PARAMETER
5GNF ... BRN SL5
5GNG ...SL6 SMO 7
5GNH ... LDN 3 A1+7(2) [LD. TYPE OF DEVICE
5GNJ ... LDN 4 1
5GNK ... LDN 5 JPDPERITYPE
5GNL ... CALL 6 PARAMETER
5GNM ... BRN SL6
5GNS ... MONOUT EMSJOURN [OUTPUT MESSAGE TO JOURNAL
5GP7 ... ADN 7 7
5GPG ... BRN XNEXMES
5GPT ...XENDMES
5GQ8 ...[ ALL MESSAGES OUTPUT SO FREE OFF THE DATA BLOCK
5GQH ... FREECORE 2
5GQJ ...#UNS ASHARE1
5GQK ...(
5GQL ...[ NOW OUTPUT INFORMATORY MESSAGES FOR CME SHARED D.A. DEVICES
5GQM ... LDN 5 26
5GQN ... FINDPEREC 3,APFOTY,5,XFINDSH
5GQP ... BNG 3 XNOTEXI
5GQQ ... JNCMESH 3,XFINDSH [^ IF NOT CME SHARED
5GQR ... LGEOG 3,4
5GQS ... OUTPACK 4,1,GEOPER [OUTPACK GEOG UNIT NO
5GQT ... MONOUT CMESH [UNIT NN IS CME SHARED
5GQW ... BRN XFINDSH
5GQX ...)
5GQY ...XNOTEXI
5YDW ACROSS SETUP,7
5^XQ XMTGER
62CB GEOERR 1,MTSETUP
62X2 XFSHMT
63W= #END
^^^^ ...303071000004