Google
 

Trailing-Edge - PDP-10 Archives - dec-10-omona-u-mc9 - monmkg.ctl
There are 2 other files named monmkg.ctl in the archive. Click here to see a list.
;%1(26) VERSION OF MONMKG      1 MAR 1977      ALAN FRANTZ/MS/RAP
;THIS .CTL FILE ASSEMBLES THE MONITOR SOURCES FOR KA10 CONFIGURATIONS
; (BUT WITHOUT VIRTUAL MEMORY), CREATES THE TOPG10.REL FILE, AND OPTIONALLY
; PRODUCES CREF LISTINGS AND/OR A GLOB CROSS-REFERENCE LISTING.
;
; WARNING-----NEEDS MUCH CPU TIME    SUBMIT WITH /TIME:1::
;
;
MGGO::  ;
.CHKPNT MGGO
.SET WATCH ALL
.IF (ERROR)  ;Okay, it's not critical to watch version numbers, etc.
;
;AVOID USING VIRTUAL MEMORY
.SET PHYSICAL 256
.IF (ERROR)  ;OK, WE MUST BE ON A KA10
;
.PLEASE  MONMKG--KA10 "LUG" MONITOR ASSEMBLY--RESTRICT SYSTEM USAGE TO GAIN SPEED
;
;
;BEFORE ASSEMBLING THE MONITOR, WE NEED FLUG.MAC.  THIS FILE WAS TRANSFERRED
; FROM THE BLACK PACKS BY MONFIL.CCL@, BUT THAT VERSION OF FLUG.MAC MAY BE
; OUT OF DATE IF FGEN.HLP HAS BEEN EDITTED.  IF RUNNING MONGEN PRODUCES AN
; IDENTICAL FILE, IT IS BETTER TO USE THE OLD FLUG.MAC (TO AVOID UNNECESSARY
; ASSEMBLIES).  THEREFORE, WE WILL OVERWRITE FLUG.MAC WITH A NEWLY CREATED
; FILE ONLY IF IT IS DIFFERENT.  THIS TAKES SOME SLEIGHT OF HAND......
.DELETE FLUG.FAK
.IF (ERROR)  ;O.K. ONLY FOR REENTRANCY
.RUN DSKB:PIP[10,7]
*FLUG.FAK/R_FLUG.MAC
.IF (ERROR)  *FLUG.FAK_MONMKG.CTL
.GET DSK:MONGEN
.VERSION
.IF (ERROR)  .E 137
.START
*
*F
*FLUG
*KALUG
*Y	;STANDARD SWITCH SETTINGS
;MONGEN HAS JUST CREATED A KA10 "LUG" FEATURE TEST SWITCHES FILE, FLUG.MAC.
;NOW WE COMPARE IT TO ITS PREDECESSOR FLUG.MAC (RECENTLY RENAMED TO FLUG.FAK)
.RUN DSKB:FILCOM[10,7]
*FAKLUG.FAK_FLUG.FAK,FLUG.MAC
.RUN DSKB:TECO[10,7]
*ERFAKLUG.FAKYZ=C
.IF (NOERROR)  .GOTO MGNUF
;THIS ERROR HAPPENS ONLY IF FILCOM WROTE A ZERO-LENGTH FAKLUG.FAK FILE.
;IN THIS CASE, RETAIN THE PREVIOUS FLUG.MAC BECAUSE IT IS IDENTICAL.
.DELETE FLUG.MAC
.RENAME FLUG.MAC=FLUG.FAK
MGNUF::  ;
.DELETE FAKLUG.FAK,FLUG.FAK
.IF (ERROR)  ;OKAY
;END OF DIDDLING WITH FLUG.MAC......
;
;TO ASSEMBLE THE MONITOR USING CONLUG WE ALSO NEED FILES NAMED
; HDWLUG, TTYLUG, AND NETLUG.  GET THESE FILES FOR THE SYSTEM #040
; CONFIGURATION AND USE THEM HERE.  THIS IS ACCOMPLISHED BY A KLUDGEY
; "CALL" ON PART OF THE MK040G.CTL FILE.
;
.RUN DSKB:TECO[10,7]
*HK@I#.SUBMIT MONMKG/UNIQ:0/TIME:1::/TAG:MGREE/AFTER:+0:01
*.IF (ERROR)  .PLEASE COULD NOT RE-ENTER MONMKG.CTL
*.KJOB/F
*#EWMK040G.KLGHPEF
.IF (ERROR)  .PLEASE MONMKG.CTL CANNOT CALL MK040G.CTL
;NOW CALL MK040G.CTL AS A SUBROUTINE
.SUBMIT MK040G/UNIQ:0/TIME:10:/TAG:G040G
.IF (ERROR)  .PLEASE MONMKG.CTL CANNOT CALL MK040G.CTL
;NOW GO AWAY UNTIL MK040G.CTL HAS FINISHED RUNNING
.KJOB/F
;COME BACK HERE WHEN MK040G.CTL IS FINISHED
;
;THIS IS WHERE THE KLUDGE RE-ENTERS MONMKG AFTER RUNNING THE
; MONGEN PART OF MK040G.CTL
MGREE::  ;
.CHKPNT MGREE
.SET WATCH ALL
.IF (ERROR) ;O.K.
.PLEASE CHKPNT MGREE
.DELETE MK040G.KLG
.IF (ERROR) ;O.K.
.DELETE HDWLUG.MAC,TTYLUG.MAC,NETLUG.MAC
.IF (ERROR) ;FOR REENTRANCY ONLY
.RENAME HDWLUG.MAC=HDW40G.MAC
.RENAME TTYLUG.MAC=TTY40G.MAC
.RENAME NETLUG.MAC=NET40G.MAC
;NOW WE HAVE ALL THE NEEDED FILES, SO TURN THE ASSEMBLER LOOSE......
;
;FIRST WE ASK THE QUESTION "DO YOU WANT CREF LISTINGS ?"
;
MGASK::  ;
.CHKPNT MGASK
.SET WATCH ALL
.IF (ERROR)  ;O.K.
.PLEASE CHKPNT MGASK
.RUN DSKB:TECO[10,7]
.OPERATOR %
*!BEG!
*% OPERATOR - DO YOU WANT MONMKG CREF LISTINGS ?  (YES/NO)
*
*!GET! ^^TUM QM-9"EOGET' QM-32"EOGET' QMUN
*!MORE! QN-10"EOEOL' QN-27"EOEOL' QN-125"EOEOL' ^^TUN OMORE
*!EOL! QM-^^^^Y"E 
*GENERATE CREF LISTINGS
* ODONE'
*QM-^^^^N"E 
* ? CANCEL CREF LISTINGS
* ODONE' 
*% OPERATOR - YOU MUST TYPE YES OR NO
* OGET
=!DONE!
.NOOPERATOR
.IF (ERROR) .GOTO MGMAC
;HERE IF ANSWER WAS YES -- MAKE CREF'S
MGMCC::  ;
.CHKPNT MGMCC
.SET WATCH ALL
.IF (ERROR)  ;O.K.
.PLEASE CHKPNT MGMCC--BEGINNING COMPILE @CONLUG/CREF
;AVOID USING VIRTUAL MEMORY
.SET PHYSICAL 256
.IF (ERROR)  ;OK, WE MUST BE ON A KA10
;
.ASSIGN DSK SYS
; Force use of FIELD IMAGE cusps for assembling the monitor . . .
.ERROR %
.COMPILE /CREF @CONLUG
.IF (ERROR)  .GOTO MGAER
.ERROR
.GOTO MGAOK
;HERE IF ANSWER WAS NO -- (NO CREF'S)
MGMAC::  ;
.CHKPNT MGMAC
.SET WATCH ALL
.IF (ERROR)  ;O.K.
.PLEASE CHKPNT MGMAC--BEGINNING COMPILE @CONLUG
;AVOID USING VIRTUAL MEMORY
.SET PHYSICAL 256
.IF (ERROR)  ;OK, WE MUST BE ON A KA10
;
.ASSIGN DSK SYS
; Force use of FIELD IMAGE cusps for assembling the monitor . . .
.ERROR %
.COMPILE @CONLUG
.IF (NOERROR)  .GOTO MGAOK
.ERROR
MGAER::  ;
.IF (ERROR)  ;OK
.PLEASE KA10 "LUG" MONITOR ASSEMBLY ERRORS EXIST--MONMKG
.DEASSIGN SYS
.QUEUE L:ERRORG=MONMKG.LOG/DISPOSE:PRESERVE/PRIORITY:51
.IF (ERROR) .PLEASE COULDN'T PRINT MONMKG.LOG - PLEASE QUEUE IT AND
.PLEASE EXAMINE ERROR LOG ON LPT, THEN KILL OR PROCEED ?
;THIS WAITS FOR OPERATOR RESPONSE......
.GOTO MGAGO
MGAOK::  ;
.PLEASE MONMKG CHKPNT MGAOK--KA10 "LUG" MONITOR ASSEMBLES CORRECTLY
;
MGAGO::	;
.CHKPNT MGAGO
.SET WATCH ALL
.IF (ERROR)  ; OKAY
.DEASSIGN SYS
.IF (ERROR)  ; OKAY
.RUN DSKB:PIP[10,7] 10
*CMBLUG@
; CMBLUG.CCL COMBINES .RLG FILES INTO TOPG10.REL LIBRARY FILE.
.RUN DSKB:PIP[10,7] 10
;
;NOW TO COPY RESULTS TO THE BLACK PACKS
MGCPY::  ;
.CHKPNT MGCPY
.SET WATCH ALL
.IF (ERROR)  ;O.K.
.PLEASE CHKPNT MGCPY--READY TO COPY FLUG.MAC, ..., TOPG10.REL TO BLKA: ?
;THIS WAITS FOR OPERATOR TO CONTINUE......
;
;CMBLUG.CCL CREATES TOPMON.RLG AND TOPEND.RLG IN ADDITION TO TOPG10.REL.
; THESE FILES ARE BASICALLY HISTORICAL ARTIFACTS LEFT OVER FROM THE DAYS WHEN
; WE COPIED THE TOPG10.REL FILE ONTO DECTAPE AND IT BECAME TOO BIG TO FIT
; ON ONE DECTAPE.  NOW WE WANT TO DELETE THESE FILES TO SAVE SPACE ON OUR
; DISK PACK, BUT THE DELETION IS HERE AFTER THE PAUSE FOR OPERATOR
; RESPONSE IN CASE ANYONE WANTS A DECTAPE COPY OF THE .RLG FILES.
.DELETE TOPMON.RLG,TOPEND.RLG
.IF (ERROR) ;OKAY
.MOUNT BLKA:
.IF (ERROR) .PLEASE CAN'T MOUNT BLKA:--BETTER ABORT
.RUN DSKB:PIP[10,7]
*BLKA:[7,5112]<100>/X/B_FLUG.MAC,HDWLUG.MAC,TTYLUG.MAC,NETLUG.MAC,TOPG10.REL
.IF (ERROR) .PLEASE TROUBLE COPYING ONTO BLKA:
;
;NEXT PRODUCE GLOBAL CROSS-REFERENCE LISTING TOPG10.GLB
;
MGGLB::  ;
.CHKPNT MGGLB
.SET WATCH ALL
.IF (ERROR)  ; OKAY
.PLEASE MONMKG CHKPNT MGGLB--KILL THIS JOB IF NO KA10 "LUG" MONITOR GLOB DESIRED
;THIS PAUSES FOR OPERATOR RESPONSE
;
.RUN DSKB:FUDGE2[10,7]
=DSK:TOPG10.FUD_TOPG10/L
.IF (ERROR) ; NICE TRY
.R GLOB 15
*COMMON.RLG,COMDEV.RLG,COMNET.RLG,COMMOD.RLG
*TOPG10.GLB=TOPG10.REL
.IF (ERROR) ; NICE TRY
;THESE FILES ARE CREATED BUT NOT PRINTED AUTOMATICALLY (AS OF JUNE 1973)
;.QUEUE TOPG10.GLB,TOPG10.FUD/PRIORITY:1/FORM:NORMAF
;.IF (ERROR) .PLEASE COULDN'T PRINT FILES TOPG10.FUD OR TOPG10.GLB - PROCEEDING
;
;AS OF JUNE 1973, THE TOPG10 GLOB FILE IS NO LONGER COPIED TO THE BLACK PACKS.
;
MGCRF::  ;
.CHKPNT MGCRF
.SET WATCH ALL
.IF (ERROR)  ; OKAY
.PLEASE MONMKG CHKPNT MGCRF
;
; NOW GET ALL THE KA10 CREF LISTINGS THAT HAVE BEEN MADE
.PLEASE READY TO CREF (NORMALLY DELETED FOR "LUG" MONITOR) ?
;THIS WAITS FOR OPERATOR TO CONTINUE (PAUSE SO OPERATOR CAN, OPTIONALLY,
; HAVE LPTSPL DO ITS OUTPUT TO A LISTING MAGTAPE OR CAN DELETE
; UNWANTED .CRF FILES)......
.PLEASE KA10 "LUG" MONITOR CREFS BEGUN. EDDT AND EJBDAT MUST BE
.PLEASE CREF'D BY HAND IF LISTINGS DESIRED (USUALLY DISCARDED)
.ASSIGN DSK LPT
;USE A PRIVATE QUE SO WE CAN RUN A PRIVATE COPY OF LPTSPL
.ASSIGN MON QUE
;WE MUST NOW DO THINGS DIFFERENTLY IF GALAXY IS RUNNING
.R ISIT ;GALAXY
.IF (NOERROR)  .LOCATE 50
.RUN DSKB:CREF[10,7]
*FLUG
.IF (NOERROR) .QUEUE FLUG.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*S
.IF (NOERROR) .QUEUE S.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*COMMON
.IF (NOERROR) .QUEUE COMMON.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*COMDEV
.IF (NOERROR) .QUEUE COMDEV.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*COMMOD
.IF (NOERROR) .QUEUE COMMOD.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*FILFND
.IF (NOERROR) .QUEUE FILFND.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*FILIO
.IF (NOERROR) .QUEUE FILIO.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*FILUUO
.IF (NOERROR) .QUEUE FILUUO.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*DPXKON
.IF (NOERROR) .QUEUE DPXKON.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*FHXKON
.IF (NOERROR) .QUEUE FHXKON.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*FSXKON
.IF (NOERROR) .QUEUE FSXKON.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*CDPSER
.IF (NOERROR) .QUEUE CDPSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*CDRSRX
.IF (NOERROR) .QUEUE CDRSRX.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*CLOCK1
.IF (NOERROR) .QUEUE CLOCK1.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*COMCON
.IF (NOERROR) .QUEUE COMCON.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*CORE1
.IF (NOERROR) .QUEUE CORE1.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*DATMAN
.IF (NOERROR) .QUEUE DATMAN.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*DISSER
.IF (NOERROR) .QUEUE DISSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*DLSINT
.IF (NOERROR) .QUEUE DLSINT.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*DL1INT
.IF (NOERROR) .QUEUE DL1INT.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*DTASRN
.IF (NOERROR) .QUEUE DTASRN.LST/PRIORITY:1/FORM:NORMAF
.DELETE EDDT.CRF
.IF (ERROR)  ; IT'S OKAY--OPERATOR MAY HAVE CREF'D BY HAND
.RUN DSKB:CREF[10,7]
*ERRCON
.IF (NOERROR) .QUEUE ERRCON.LST/PRIORITY:1/FORM:NORMAF
.DELETE EJBDAT.CRF
.IF (ERROR)  ; IT'S OKAY--OPERATOR MAY HAVE CREF'D BY HAND
.RUN DSKB:CREF[10,7]
*KASER
.IF (NOERROR) .QUEUE KASER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*LPTSER
.IF (NOERROR) .QUEUE LPTSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*MSGSER
.IF (NOERROR) .QUEUE MSGSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*NULSEG
.IF (NOERROR) .QUEUE NULSEG.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*PLTSER
.IF (NOERROR) .QUEUE PLTSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*PSISER
.IF (NOERROR) .QUEUE PSISER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*PTPSER
.IF (NOERROR) .QUEUE PTPSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*PTRSER
.IF (NOERROR) .QUEUE PTRSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*PTYSER
.IF (NOERROR) .QUEUE PTYSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*SCHED1
.IF (NOERROR) .QUEUE SCHED1.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*SCNSER
.IF (NOERROR) .QUEUE SCNSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*SEGCON
.IF (NOERROR) .QUEUE SEGCON.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*SWPSER
.IF (NOERROR) .QUEUE SWPSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*TMPUUO
.IF (NOERROR) .QUEUE TMPUUO.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*UUOCON
.IF (NOERROR) .QUEUE UUOCON.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*VBCSER
.IF (NOERROR) .QUEUE VBCSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*PATCH
.IF (NOERROR) .QUEUE PATCH.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*SYSINI
.IF (NOERROR) .QUEUE SYSINI.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*SYSCHK
.IF (NOERROR) .QUEUE SYSCHK.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*ONCMOD
.IF (NOERROR) .QUEUE ONCMOD.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*REFSTR
.IF (NOERROR) .QUEUE REFSTR.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*ONCE
.IF (NOERROR) .QUEUE ONCE.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*NETPRM
.IF (NOERROR) .QUEUE NETPRM.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*COMNET
.IF (NOERROR) .QUEUE COMNET.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*CCIINT
.IF (NOERROR) .QUEUE CCIINT.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*D76INT
.IF (NOERROR) .QUEUE D76INT.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*D78INT
.IF (NOERROR) .QUEUE D78INT.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*D85INT
.IF (NOERROR) .QUEUE D85INT.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*NETSER
.IF (NOERROR) .QUEUE NETSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*RDXSER
.IF (NOERROR) .QUEUE RDXSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*RPXKON
.IF (NOERROR) .QUEUE RPXKON.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*TAPSER
.IF (NOERROR) .QUEUE TAPSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*TAPUUO
.IF (NOERROR) .QUEUE TAPUUO.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*TCXKON
.IF (NOERROR) .QUEUE TCXKON.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*TM2KON
.IF (NOERROR) .QUEUE TM2KON.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*TMXKON
.IF (NOERROR) .QUEUE TMXKON.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*TSKSER
.IF (NOERROR) .QUEUE TSKSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*TYPSER
.IF (NOERROR) .QUEUE TYPSER.LST/PRIORITY:1/FORM:NORMAF
.RUN DSKB:CREF[10,7]
*XTCSER
.IF (NOERROR) .QUEUE XTCSER.LST/PRIORITY:1/FORM:NORMAF
.DEASSIGN LPT
.DEASSIGN QUE
.LOCATE
;
;
.GOTO MGXIT
MGCP2::  ;
.CHKPNT MGCP2
.SET WATCH ALL
.IF (ERROR)  ;O.K.
.PLEASE CHKPNT MGCP2--READY TO COPY TOPG10..FUD, TOPG10.GLB TO BLKA: ?
;THIS WAITS FOR OPERATOR TO CONTINUE......
.MOUNT BLKA:
.IF (ERROR) .PLEASE CAN'T MOUNT BLKA:--BETTER ABORT
.RUN DSKB:PIP[10,7]
*BLKA:[7,5112]<100>/X/B_TOPG10.FUD,TOPG10.GLB
.IF (ERROR) .PLEASE TROUBLE COPYING ONTO BLKA:
.GOTO MGXIT
%ERR:: .GOTO MGERR
%CERR:: .GOTO MGERR
MGERR:: .PLEASE ERROR IN MONMKG--EXAMINE .LOG FILE
.QUEUE MONMKG.LOG/DISPOSE:PRESERVE
.GOTO MGXIT
MGXIT:: .PLEASE MONMKG FINISHED--LOAD KA10 "LUG" MONITOR NEXT
%FIN::  ;
.KJOB/F
;[END OF MONMKG.CTL]