Trailing-Edge
-
PDP-10 Archives
-
cuspjul86upd_bb-jf24a-bb
-
10,7/galaxy/galkil.mac
There are 7 other files named galkil.mac in the archive. Click here to see a list.
TITLE GALKIL
SEARCH GLXMAC
PROLOG (GALKIL)
STACK: BLOCK 100
PPN: BLOCK 1
FILE: 1000,,0
BLOCK ^D99 ;SAVE SPACE FOR TEMP FILE
KILL: SIXBIT/SYS/
SIXBIT/KILL/
SIXBIT/EXE/
EXP 0,0,0
FN.KIL==4
FN.RUN==13
PROGS: SIXBIT/QUASAR/
SIXBIT/ORION/
SIXBIT/CATLOG/
SIXBIT/BATCON/
SIXBIT/LPTSPL/
SIXBIT/CDRIVE/
SIXBIT/PULSAR/
SIXBIT/SPROUT/
SIXBIT/SPRINT/
SIXBIT/IBMSPL/
SIXBIT/NEBULA/
SIXBIT/FAL/
SIXBIT/OPR/
PGMLEN==.-PROGS
FRCBLK: .TOTYP
0,,0
REST
REST: ASCIZ/
LOG
ORION
LOG
QUASAR
LOG
CATLOG
LOG
PULSAR
LOG
LPTSPL
LOG
BATCON
LOG
CDRIVE
LOG
SPROUT
LOG
SPRINT
LOG
FAL
LOG
IBMSPL
/
GO: JRST GALKIL
JRST RESTART
GALKIL: RESET
MOVE P,[IOWD 100,STACK]
MOVSI T1,-^D200 ;CREATE THE SEARCH AOBJN AC.
PJOB S1, ;GET OUR JOB NUMBER.
HRLS S1 ;MOVE RIGHT TO LEFT
HRRI S1,.GTPPN ;PPN GETTAB
GETTAB S1, ;GET OUT PPN.
JRST ERROR ;NO GOOD,,END IT.
MOVEM S1,PPN ;SAVE OUT PPN.
OUTSTR [ASCIZ/*Killing all GALAXY jobs*/]
OUTSTR [BYTE(7) 15,12,12,0,0]
MOVEI P1,FILE+1 ;GET THE TEMP FILE ADDRESS.
MOVEI P2,1 ;SET TABLE LENGTH TO 1
GETINF: MOVX S1,.GTPRG ;GETTAB JOBNAME TABLE #
HRLM T1,S1 ;GETTAB JOB #
GETTAB S1, ;GET THE JOB NAME
JRST NEXT ;ERROR,,SKIP THIS JOB
MOVSI T2,-PGMLEN ;IS THE PROGRAM 'QUASAR'
CHECK: CAME S1,PROGS(T2) ; OR 'LPTSPL' OR 'OPR'
JRST [AOBJN T2,CHECK ; OR 'BATCON' OR 'ORION' ???
JRST NEXT ] ;NO,,SKIP THIS JOB
MOVX S1,.GTPPN ;GETTAB PPN PARAMETER
HRL S1,T1 ;GETTAB JOB NBR PARM
GETTAB S1, ;GET THE JOBS [PPN]
JRST ERROR ;NO GOOD,,END IT.
CAME S1,PPN ;IS THIS OUR JOB ???
JRST NEXT ;NO,,GET THE NEXT ONE.
MOVX S1,FN.KIL ;GET THE FUNCTION CODE
MOVEM S1,0(P1) ;SAVE IT.
HRRZM T1,1(P1) ;SAVE THE JOB NBR
MOVE S1,PPN ;GET MY PPN
MOVEM S1,2(P1) ;SAVE IT
ADDI P1,3 ;POINT TO THE NEXT BLOCK
ADDI P2,3 ;BUMP THE FILE LENGTH
NEXT: AOBJN T1,GETINF ;TRY THE NEXT JOB.
MOVX S1,FN.RUN ;WANT TO RUN THIS AGAIN
MOVEM S1,0(P1) ;SAVE THE FCN CODE
MOVEI S1,1 ;WANT CCL ENTRY POINT
MOVEM S1,1(P1) ;SAVE IT
MOVSI S1,'SYS' ;FROM SYS
MOVEM S1,2(P1) ;SAVE IT
MOVE S1,[SIXBIT/GALKIL/] ;GET PROG NAME
MOVEM S1,3(P1) ;SAVE IT
MOVSI S1,'EXE' ;WANT GALKIL.EXE
MOVEM S1,4(P1) ;CREATE IT
SETZM 5(P1) ;WANT A ZERO (I DON'T KNOW WHY !!)
MOVE S1,[1,,4] ;WANT PPN 1,4
MOVEM S1,6(P1) ;SAVE IT
SETZM 7(P1) ;ANOTHER NULL
MOVEI P1,10(P1) ;POINT TO THE END OF THE BLOCK
MOVEI P2,10(P2) ;BUMP WORD COUNT
MOVE P1,[SIXBIT/KIL/] ;GET THE FILE NAME
MOVNS P2 ;GET A NEGATIVE LENGTH
HRLS P2 ;MOVE LENGTH LEFT TO RIGHT
HRRI P2,FILE-1 ;GET THE FILE ADDRESS
MOVE S1,[.TCRWF,,P1] ;GET TMPCOR PARM LIST
TMPCOR S1, ;WRITE THE FILE
JRST TMPERR ;ERROR,,END IT.
MOVSI S1,1 ;GET RUN OFFSET
HRRI S1,KILL ;GET PARM BLOCK
RUN S1, ;GET KILL
JRST RUNERR ;NO GOOD,,END IT
RESTAR: RESET
MOVE P,[IOWD 100,STACK]
OUTSTR [ASCIZ/Do you want GALAXY restarted (Y or N) ?/]
INCHRW S1
CAIE S1,"n"
CAIN S1,"N"
JRST LEAVE
CAIE S1,"Y"
CAIN S1,"y"
SKIPA
JRST RESTAR
MOVX S1,%CNFLN ;GET FRCLIN TTY #
GETTAB S1, ;ASK MONITOR
JRST FRCERR ;NOT THERE,,WIERD!!!!
TXO S1,.UXTRM ;ADD UDX
MOVEM S1,FRCBLK+1 ;SAVE IT
MOVE S1,[3,,FRCBLK] ;GET TRMOP ARGS
TRMOP. S1, ;RESTART US
JRST TRMERR ;DIDN'T WORK !!!
JRST LEAVE
TRMERR: OUTSTR [ASCIZ/TRMOP. to FRCLIN failed, GALAXY not restarted/]
JRST LEAVE
FRCERR: OUTSTR [ASCIZ/GETTAB to get FRCLIN TTY number failed/]
JRST LEAVE
TMPERR: OUTSTR [ASCIZ/Cannot Write Temp File./]
JRST LEAVE
RUNERR: OUTSTR [ASCIZ/Cannot Get Kill Program./]
JRST LEAVE
ERROR: OUTSTR [ASCIZ/Gettab Error Occured./]
LEAVE: OUTSTR [BYTE(7) 12,15,0,0,0]
EXIT
TEMFDB:: 0
END GO