mirror of
https://github.com/PDP-10/stacken.git
synced 2026-03-02 09:37:06 +00:00
475 lines
18 KiB
Plaintext
475 lines
18 KiB
Plaintext
SUBTTL T. HASTINGS/TH/PFC/JNG TS 10 SEP 85 V433(457)
|
||
|
||
%JOBDT==:43300,,457
|
||
|
||
.ORG 0 ;PUT COPYRIGHT NOTICE IN .REL FILE
|
||
ASCIZ &
|
||
COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1969,1988.
|
||
ALL RIGHTS RESERVED.
|
||
&
|
||
.ORG ;BACK TO CODE AREA
|
||
|
||
|
||
;COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION
|
||
; 1969,1974,1979,1980,1982,1984,1986,1988.
|
||
;ALL RIGHTS RESERVED.
|
||
;
|
||
;
|
||
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
|
||
;ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
|
||
;INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
|
||
;COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
|
||
;OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
|
||
;TRANSFERRED.
|
||
;
|
||
;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
|
||
;AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
|
||
;CORPORATION.
|
||
;
|
||
;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
|
||
;SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
|
||
|
||
|
||
;DATE LOAD EDIT
|
||
;---- ---- ----
|
||
;
|
||
;
|
||
;TO ELIMINATE MOST OF UNWANTED GLOBALS USERS
|
||
;ASSEMBLING INSTRUCTIONS TO MAKE USER VERSION FOR CUSP:
|
||
;.COMPILE JOBDAT
|
||
; INSTEAD, THIS MAKES A JOBDAT.UNV FOR USERS
|
||
; IF SYMBOL %..UNV IS DEFINED
|
||
|
||
;MONITOR ASSEMBLY INSTRUCTIONS:
|
||
;.COMPILE EJBDAT.REL=F.MAC+S.MAC+JOBDAT.MAC ;IF PRE 5.07
|
||
;.COMPILE F??.MAC,S.MAC,EJBDAT.REL=FTEJBD.MAC+JOBDAT.MAC ;IF 5.07 OR LATER
|
||
;.COMPILE FVM.MAC,S.MAC,VJBDAT.REL=FTEJBD.MAC+JOBDAT.MAC ;IF 6.01 OR LATER
|
||
; WHERE FTEJBD.MAC IS JUST P=1
|
||
; NOTE--IF LEVEL C S.MAC IS USED, EJBDAT WILL BE FOR LEVEL C
|
||
; OTHERWISE, IT WILL BE FOR LEVEL D.
|
||
; USER VERSION IS THE SAME IN EITHER CASE.
|
||
|
||
;CONDITIONAL ASSEMBLY OPTIONS:
|
||
|
||
IFNDEF FTCN6,<FTCN6==0> ;REMOVE .JBCN6
|
||
IFNDEF FTJOB,<FTJOB==0> ;REMOVE "JOB" SYMBOLS
|
||
SUBTTL REVISION HISTORY
|
||
|
||
;%426(431) MAY 1971, WITH 5.03
|
||
|
||
;432 COSMETIC IMPROVMENTS TO CLEAN UP COMMENTS;
|
||
; SYMBOLS NOT DEFINING WORDS ARE NOW TABBED IN; FIX
|
||
; USER SYMBOLS AT CONSTANT LOCATIONS.
|
||
;433 ADD CHECKOUT INSTRUCTIONS.
|
||
;434 DEFINE .JBHSA,.JBH41,.JBHRN AS USER SYMBOLS.
|
||
;435 DEFINE .JBPFH,.JBHGA AND MAKE 6.01(VM) CHANGES.
|
||
;436 DEFINE .JBOVL FOR LINK-10 V.2.
|
||
;437 REMOVE .JBCN6 (UNDER FTCN6)
|
||
;440 REMOVE JOBXXX IN USER VERSION (UNDER FTJOB)
|
||
;%427(440) JAN, 1974
|
||
|
||
;441 (10-13,901) PRODUCE JOBDAT.UNV
|
||
;442 PURGE LOCAL MJDA
|
||
;443 PURGE LOCAL MACROS
|
||
;444 IF FTJOB=0, DON'T PUT JOBXXX SYMBOLS IN THE ENTRY BLOCK
|
||
;447 ADD .JBEDV
|
||
;%431(447) JUL 1979 7.00 RELEASE
|
||
SUBTTL CHECKOUT INSTRUCTIONS
|
||
|
||
;1. PRODUCE NEW USER VERSION: .COMPILE JOBDAT
|
||
; RUN GLOB TO GET LIST OF SYMBOLS: .R GLOB
|
||
; *NUJBDT=JOBDAT$
|
||
; COMPARE WITH PREVIOUS USER VERSION: .R GLOB
|
||
; *OUJBDT=JOBDAT[10,7]$
|
||
; .R FILCOM
|
||
; *TTY:=OUJBDT.GLB,NUJBDT/1L
|
||
; VERIFY OUTPUT.
|
||
;
|
||
;2. PRODUCE NEW EXEC VERSION: .COMPILE F??,S,EJBDAT.REL=FTEJBD+JOBDAT
|
||
; RUN GLOB TO GET LIST OF SYMBOLS: .R GLOB
|
||
; *NEJBDT=EJBDAT$
|
||
; COMPARE WITH PREVIOUS EXEC VERSION: .R GLOB
|
||
; *OEJBDT=EJBDAT[10,7]$
|
||
; .R FILCOM
|
||
; *TTY:=OEJBDT.GLB,NEJBDT/1L
|
||
; VERIFY OUTPUT.
|
||
SUBTTL MACRO DEFINITIONS FOR THIS ROUTINE
|
||
|
||
;THIS AREA PROVIDES STORAGE OF ITEMS OF INTEREST TO BOTH
|
||
;THE MONITOR AND THE USER
|
||
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
;;; ALL NEW USER SYMBOLS MUST BE OF THE FORM: ;;;
|
||
;;; .JBXXX IF THE SYMBOL IS IN THE LOW SEGMENT ;;;
|
||
;;; .JBHXX IF THE SYMBOL IS IN THE HIGH SEGMENT ;;;
|
||
;;; ;;;
|
||
;;; THE OLD FORMS OF JOBXXX AND JOBHXX ARE LEGAL ONLY FOR ;;;
|
||
;;; COMPATABILITY WITH OLD PROGRAMS AND WILL EVENTUALLY DIE ;;;
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
;;; SYMBOLS NOT DEFINING WORDS ARE TABBED IN ONCE ;;;
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
|
||
;MACRO TO DEFINE SYMBOLS FOR USER USE
|
||
;THESE CANNOT BE CHANGED WITHOUT INVALIDATING OLD SAVED FILES
|
||
|
||
DEFINE U(SYMBOL,VALUE,LENGTH)
|
||
<SYMBOL=VALUE
|
||
IFNDEF %..UNV,ENTRY SYMBOL
|
||
LOC=VALUE+LENGTH>
|
||
|
||
;MACRO TO DEFINE SUPPRESSED SYMBOLS FOR USER USE
|
||
|
||
DEFINE US(SYMBOL,VALUE,LENGTH)
|
||
<SYMBOL==VALUE
|
||
IFNDEF %..UNV,INTERN SYMBOL
|
||
LOC=VALUE+LENGTH>
|
||
|
||
;MACRO TO DEFINE SYMBOLS FOR USER USE OF BOTH JOB AND .JB FORMAT
|
||
;SAME AS U
|
||
|
||
DEFINE UJOB(SYMBOL,VALUE,LENGTH)
|
||
<.JB'SYMBOL=VALUE
|
||
IFNDEF %..UNV,ENTRY .JB'SYMBOL
|
||
IFN FTJOB,<
|
||
JOB'SYMBOL=VALUE
|
||
IFNDEF %..UNV,ENTRY JOB'SYMBOL>
|
||
LOC=VALUE+LENGTH>
|
||
|
||
;MACRO TO DEFINE SYMBOLS FOR USER USE OF BOTH JOB AND .JB FORMAT
|
||
;SAME AS US
|
||
|
||
DEFINE USJOB(SYMBOL,VALUE,LENGTH)
|
||
<.JB'SYMBOL==VALUE
|
||
IFNDEF %..UNV,ENTRY .JB'SYMBOL
|
||
IFN FTJOB,<
|
||
JOB'SYMBOL==VALUE
|
||
IFNDEF %..UNV,ENTRY JOB'SYMBOL>
|
||
LOC=VALUE+LENGTH>
|
||
;THESE MACROS PROVIDE STORAGE OF ITEMS OF INTEREST TO ONLY MONITOR
|
||
|
||
|
||
;MACRO TO DEFINE SYMBOLS FOR MONITOR USE ONLY
|
||
;THESE MAY BE CHANGED TO SUIT MONITOR
|
||
|
||
DEFINE M(SYMBOL,VALUE,LENGTH)
|
||
<IFE U2,< SYMBOL==VALUE
|
||
IFNDEF UJOBDAT,<INTERNAL SYMBOL> ;MAKE GLOBAL ONLY IF ASSEM FOR MONITOR
|
||
LOC=VALUE+LENGTH>
|
||
IFN U2,<PURGE SYMBOL>>
|
||
|
||
;MACRO TO DEFINE PARAMETERS OF INTEREST TO MONITOR ONLY
|
||
;THESE MAY BE CHANGED TO SUIT MONITOR & WILL NOT PRINT OUT WITH DDT
|
||
|
||
DEFINE XP(SYMBOL,VALUE)
|
||
<IFE U2,< SYMBOL==VALUE
|
||
IFNDEF UJOBDAT,<INTERN SYMBOL>> ;MAKE GLOBAL ONLY IF ASSEM FOR MONITOR
|
||
IFN U2,<PURGE SYMBOL>>
|
||
;DEFINE ASSEMBLY PARAMETERS:
|
||
; UJOBDAT=DEFINED IF USER JOBDAT
|
||
; U2=USER JOBDAT PASS 2
|
||
; LC=4S72 (LEVEL-C) MONITOR JOBDAT
|
||
; UNIV=MONITOR WITH UNIVERSAL F, S
|
||
; VM=6.01 (VM) MONITOR JOBDAT
|
||
|
||
IFNDEF P,<IFNDEF PDP,<UJOBDAT==1>> ;IF NOT ASSEMBLED WITH S.MAC, MAKE USER VERSION
|
||
|
||
IFDEF UJOBDAT,<
|
||
R=0 ;DEFINE MONITOR ACS SO USER VERSION WILL ASSEMBLE
|
||
P=0 ;OK TO DEFINE TO BE WRONG SINCE DO NOT APPEAR IN U MACRO
|
||
IF2,< U2==1> ;FLAG SPECIAL HANDLE IN PASS 2 FOR USER VERSION
|
||
>
|
||
IFNDEF U2,<U2==0>
|
||
|
||
IFNDEF UJOBDAT,<IFDEF FTDISK,<IFNDEF P1,<LC=0>>> ;SET LC=0 IF LEV.C MONITOR VERSION
|
||
IFNDEF LC,<LC=1> ;ELSE, SET IT TO 1
|
||
|
||
IFNDEF UJOBDAT,<IFNDEF FTDISK,<UNIV==1 ;IF MONITOR BUT FTDISK UNDEFINED,
|
||
SEARCH F,S ;5.07 USES UNIVERSAL F??.MAC,S.MAC
|
||
PURGE P>> ;REMOVE DUMMY P
|
||
; THEN MUST BE UNIVERSAL F,S
|
||
IFNDEF UNIV,<UNIV==0> ; ELSE, PRE 5.07, SO NO UNIVERSALS
|
||
|
||
IF1,<
|
||
IFN UNIV,<VM=FTVM>
|
||
IFE UNIV,<IFDEF FTVM,<VM=FTVM>> ;IF 6-SERIES MONITORS, VM=FTVM
|
||
>
|
||
IFNDEF VM,<VM=0>
|
||
|
||
|
||
|
||
IFDEF UJOBDAT,<
|
||
IFNDEF %..UNV,TITLE JOBDAT - JOB DATA AREA (FIRST 140 LOC OF USER AREA)
|
||
IFDEF %..UNV,<.DIRECTIVE .NOBIN ;SUPPRESS BINARY
|
||
%%JOBD==%JOBDT ;STANDARD UNIVERSAL VERSION
|
||
PURGE %JOBDT
|
||
UNIVERSAL JOBDAT - JOB DATA AREA (FIRST 140 LOC OF USER AREA)
|
||
> ;END IFDEF %..UNV
|
||
>
|
||
|
||
IFNDEF UJOBDAT,<
|
||
FTJOB==1 ;FORCE JOBXXX SYMBOLS
|
||
IFE VM,<
|
||
DATJOB: IFNDEF %..UNV,ENTRY DATJOB
|
||
TITLE EJBDAT - EXEC VERSION OF JOB DATA AREA
|
||
IFNDEF P,<P==PDP> ;IN CASE OF OLD MONITORS
|
||
IFNDEF R,<R==PROG> ; ..
|
||
>
|
||
IFN VM,<
|
||
VMDTJB: IFNDEF %..UNV,ENTRY VMDTJB
|
||
TITLE VJBDAT - VM EXEC VERSION OF JOB DATA AREA
|
||
>
|
||
>
|
||
SUBTTL LOW SEGMENT DATA AREA
|
||
|
||
M JOBAC,0,20 ;PLACE WHERE USER ACS ARE STORED ON UUO CALLS
|
||
;IE RELATIVE 0-17 IN USER AREA
|
||
M JOBDAC,LOC,20 ;PLACE WHERE HARDWARE ACS(0-17) ARE STORED
|
||
;WHEN JOB IS INACTIVE. THESE ARE EITHER THE
|
||
;USERS AC IF JOB WAS STOPPED IN USER MODE
|
||
;OR ARE THE EXEC IF STOPED IN EXEC MODE
|
||
;0-16 ALSO STORED HERE ON CLK INTERRUPTS
|
||
XP JOBDPD,JOBDAC+P ;AC P DUMPED HERE
|
||
XP JOBDPG,JOBDAC+R ;AC R DUMPED HERE
|
||
IFE LC,<
|
||
XP JOBD14,JOBDAC+14 ;AC 14 DUMPED HERE
|
||
>
|
||
XP JOBD15,JOBDAC+15 ;AC 15 DUMPED HERE
|
||
XP JOBD16,JOBDAC+16 ;AC 16 DUMPED HERE
|
||
XP JOBD17,JOBDAC+17 ;AC 17 DUMPED HERE
|
||
UJOB UUO,40,1 ;USER UUO TRAP LOC.(UUO STORED HERE)
|
||
UJOB 41,41,1 ;USER UUO JSR LOCATION
|
||
;(SET FROM HIGH SEG DATA AREA ON GET IN NO LOW FILE)
|
||
UJOB ERR,42,1 ;LH UNUSED-SAVE FOR LATER THINGS - SO USER PROGRAMS
|
||
;SHOULD IGNORE LH IN ALL PROGRAMS
|
||
;RH=COUNT OF NO. OF ERRORS IN RPG(RAPID PROGRAM
|
||
;GENERATION) SEQUENCE OF CUSPS.
|
||
;NOT CHANGED FROM GET TO GET.
|
||
M JOBENB,43,1 ;LH UNUSED
|
||
;RH=APR CONSO FLAGS FOR USER APR TRAPPING
|
||
;SET BY CALL [SIXBIT /APRENB/]
|
||
UJOB REL,44,1 ;LH=0 - RH=HIGHEST REL. ADR. IN USER AREA(IE LOW SEGMENT)
|
||
;SET BY MONITOR EACH TIME JOB RUNS OR CHANGES CORE SIZE
|
||
IFN VM,<LOC=JOBPDO-.JDAT>
|
||
M JOBPD1,LOC,0 ;FIRST LOC. OF SYSTEM UUO PUSHDOWN LIST
|
||
XP JOBPDL,JOBPD1-1 ;FIRST LOC.-1
|
||
XP JOBPD3,JOBPDL+3 ;PLACE FOR STORING FIRST PUSH IN A UUO ROUTINE
|
||
; (THIRD ENTRY)USED BY RUN AND GETSEG UUOS
|
||
UJOB BLT,45,3 ;3 WORDS USED BY LINKING LOADER TO MOVE
|
||
; PROGRAM DOWN BEFORE CALLING EXIT.
|
||
;JBBLT USED BY FOROTS TO STORE ADDRESS OF FUNCT. FOR USE BY DBMS
|
||
;OK TO USE EXEC PD LIST BEFORE EXECUTING UUO
|
||
IFN LC,<LOC=71> ;(LEVEL D)
|
||
IFE LC,<LOC=72> ;(LEVEL C)
|
||
;LAST LOC+1 OF PD LIST. IE THIS LOC CLOBBERED
|
||
; ON PUSH DOWN LIST OVERFLOW DURING EXEC UUO
|
||
; WHICH IS OK SINCE CONTENTS ARE COPIED
|
||
; INTO THE MONITOR WHEN JOB RUNS
|
||
IFN VM,<LOC=JOBPDL+PDLLEN>
|
||
XP JOBLPD,LOC-1 ;LAST LOC OF PDL AREA
|
||
; FROM JOBPD1+1 THRUJOB LPD ARE RESTORED FROM
|
||
; EXTENDED PDL WHEN IT IS BEING RETURNED
|
||
XP MJOBPD,JOBPDL-LOC ;MINUS LENGTH OF PUSHDOWN LIST
|
||
XP MJOBP1,MJOBPD+1 ;-LENGTH+1
|
||
XP MAXPDL,-MJOBPD ;MAX. LENGTH OF ALL PD LISTS IN MONITOR
|
||
; NULPDL AND ERRPDL ARE SHORTER
|
||
XP MMXPDL,MJOBPD ;MINUS MAX. LENGTH OF ALL PD LISTS IN MONITOR
|
||
IFN VM,<LOC=LOC+1>
|
||
XP JOBPRT,LOC ;FIRST LOC PROTECTED BY BEING COPIED INTO MONITOR
|
||
XP JOBPR1,JOBPRT+1 ;FIRST LOC+1
|
||
;
|
||
;HERE DOWN PROTECTED
|
||
;
|
||
IFN LC,<IFE VM,< ;(5-SERIES ONLY)
|
||
M JOBEPL,LOC,1 ;LH=UNUSED AND IS ASSUMED ZERO.
|
||
; COULD BE USED FOR SOMETHING WITH SMALL CODE CHANGE
|
||
;RH=0 OR EXEC CORE ADDRESS OF EXTENDED EXEC PD LIST
|
||
; IF PD LIST IN JOB DATA AREA OVERFLOWED ON EXEC UUO
|
||
; 0 MEANS JOB DOES NOT HAVE EXEC CORE. EXEC CORE
|
||
; IS RETURNED ON UUO RETURN TO USER, CALL RESET,AND
|
||
; CORE 0 COMMAND AND KJOB UUO.
|
||
>> ;(END LEVEL D ONLY)
|
||
M JOBHCU,LOC,1 ;HIGHEST USER IO CHANNEL IN USE
|
||
M JOBPC,LOC,1 ;JOB PC WHEN JOB INACTIVE
|
||
IFN VM,<
|
||
M JBMDDT,LOC,1 ;PMP COPY OF .JBDDT
|
||
>
|
||
MJDA==LOC
|
||
UJOB DDT,74,1 ;LH = FIRST ADDRESS PAST DDT (DDT END + 1)
|
||
;RH = STARTING ADDRESS OF USER DDT
|
||
UJOB HSO,75,1 ;HIGH SEGMENT ORIGIN PAGE NUMBER (TOPS-20 ONLY)
|
||
UJOB BPT,76,1 ;ADDRESS OF UNSOLICITED BREAKPOINT ENTRY INTO DDT
|
||
; UTILIZE VIA "JSR @.JBBPT"
|
||
XP .JBLUL,16 ;MAXIMUM LENGTH OF A MONITOR MUUO ARGUMENT LIST
|
||
XP JOBUAL,.JBBPT+1 ;WHERE MONITOR MUUO ARGUMENTS ARE STORED
|
||
IFE VM,<MJDA==LOC>
|
||
;
|
||
;HERE DOWN "SAVED"
|
||
;
|
||
XP JOBSAV,.JBDDT-1 ;FIRST LOC.-1 WRITTEN BY SAVE COMMAND
|
||
M JOBJDA,MJDA,20 ;JOB DEVICE ASSIGNMENT TABLE
|
||
;LH=UUOS DONE SO FAR, RH=ADR. OF DEVICE DATA BLOCK IN MONITOR
|
||
XP JOBSV,JOBUAL+2 ;FIRST LOC READ OR WRITTEN BY SAVGET
|
||
; WHICH ZERO COMPRESSES ON ALL DEVICES
|
||
; THIS LOC CONTAINS THE FIRST IOWD WITH NO. OF
|
||
; DATA WORDS IN LH, FIRST ADR-1 IN RH
|
||
; MONITOR SUPPRESSES STORING IN RH OF JOBHRL
|
||
; DURING SAVEGET(USRCHU NEG.)
|
||
; SO THAT OLD ZERO COMPRESSED DECTAPE FILES WILL
|
||
; ALWAYS FIT IN CORE (JOBHRL USED TO BE 0). THIS
|
||
; CHECK COULD HAVE BEEN ELIMINATED, IF JOBSV HAD BEEN
|
||
; DEFINED AS JOBHRL+1(JOBSYM), HOWEVER JOBSYM ALMOST
|
||
; ALWAYS HAS NON-ZERO DATA, SO SAVEGET WOULD HAVE TO
|
||
; BE WRITTEN TO EXPAND DOWN OR UP RATHER THAN JUST UP
|
||
XP JOBSVM,JOBSV-1 ;FIRST LOC-1, USED FOR SETTING UP DUMP MODE
|
||
; COMMAND LIST FOR SAVGET
|
||
XP JOBSV3,JOBSV+3 ;LOC WHICH SHOULD NOT CONTAIN 0 UNLESS FILE WAS
|
||
; CREATED BY CONVERTING OLD FORMAT TO NEW FORMAT
|
||
; DECTAPE USING CONVRT PROGRAM
|
||
XP JOBNSV,JOBSV+14 ;JOBSV+4...JOBSV+7--USED TO WRITE NULL HIGH AND
|
||
; LOW FILE ON MTA ONLY WHEN SEGMENT HAS NOTHING
|
||
; TO BE WRITTEN. THUS MTA ALWAYS WRITES 2 FILES.
|
||
XP JOBSVD,JOBSVM-JOBSAV ;NO. OF LOC. TO MOVE DOWN OLD (NON-COMPRESSED DSK)
|
||
; SAVE FILES WHICH WERE ALWAYS WRITTEN FROM JOBSAV+1
|
||
XP JOBSDP,JOBSV-JOBSAV ;NO. OF LOCATIONS TO MOVE DOWN CONVRTED SAVE FILES
|
||
; WHICH ARE ALWAYS WRITTEN FROM JOBSAV+1 AND HAVE
|
||
; AN IOWD ADDED ON FRONT TO LOOK LIKE A COMPRESSED FILE
|
||
IFN FTCN6,<
|
||
UJOB CN6,106,1 ;6 TEMP LOCATIONS USED BY CHAIN
|
||
>
|
||
U .JBEDV,112,1 ;POINTER TO EXEC DATA VECTOR
|
||
IFN VM,<
|
||
XP JOBEXM,JOBUAL+.JBLUL-2 ;SEE DESCRIPTION FURTHER DOWN
|
||
>
|
||
XP JOBSDD,JOBUAL+.JBLUL-1 ;PLACE TO SAVE JOBDDT ON SAVE SO ZERO EXPANSION ON GET
|
||
;ALWAYS MOVES UP
|
||
XP JOBSD1,JOBSDD-1 ;FOR COMPUTING IOWD'S
|
||
XP JOBJMH,JOBHCU-JOBJDA ;JOBHCU-JOBJDA
|
||
;USED BY ANYACT ROUT. IN CORE1
|
||
UJOB PFI,.JBDDT,1 ;HIGHEST LOC. IN JOB DATA AREA PROTECTED FROM IO
|
||
IFE LC,<
|
||
XP MJOBCK,JOBDAC-JOBPFI ;AREA CHECKSUMMED DURING SWAPPING
|
||
>
|
||
;
|
||
;BEFORE HERE PROTECTED
|
||
;
|
||
UJOB HRL,115,1 ;LH IS FIRST FREE LOC IN HIGH SEG RELATIVE TO ITS ORIGIN
|
||
;ANALOGOUS TO LH OF JOBSA FOR LOW SEG
|
||
; (IN OTHER WORDS LH=LENGTH TO SAVE ON SAVE COMMAND)
|
||
; SET BY LOADER
|
||
;RH ANALOGOUS TO JOBREL, IE HIGHEST LEGAL
|
||
;USER ADDRESS IN HIGH SEG. SET BY MONITOR EVERY TIME
|
||
;USER RUNS. IF JOBHRL=0, JOB DOES NOT HAVE A HIGH SEG
|
||
;USER PROGRAMS SHOULD BE WRITTEN SO THAT
|
||
;THEY CAN BE ONE OR TWO SEGMENT PROGRAMS. JOBHRL
|
||
;CAN BE TESTED FOR NON-ZERO TO SEE IF HIGH SEG EXISTS
|
||
UJOB SYM,116,1 ;POINTER TO LOADER AND DDT SYMBOL TABLE POINTER
|
||
UJOB USY,117,1 ;POINTER TO UNDEFINED SYMBOL TABLE
|
||
;SET BY LOADER, NOT YET USED BY DDT
|
||
UJOB SA,120,1 ;LH=INITIAL FIRST FREE LOCATION IN LOW SEG (SET BY LOADER)
|
||
;RH=STARTING ADDRESS OF USER PROGRAM
|
||
UJOB FF,121,1 ;(SET FROM HIGH DATA AREA ON GET IF NO LOW FILE)
|
||
;CURRENT FIRST FREE LOCATION IN LOW SEG
|
||
; USED AND UPDATED BY MONITOR TO ASSIGN I/O BUFFERS IN TOP
|
||
; OF USER AREA. USER MAY CHANGE CONTENTS IN ORDER TO AFFECT
|
||
; PLACEMENT OF BUFFERS BY MONITOR
|
||
M JOBS41,122,1 ;C(JOB41) SAVED HERE ON SAVE COMMAND
|
||
;RESTORE FROM HERE ON GET
|
||
U .JBPFH,123,1 ;LH=LENGTH OF PAGE FAULT HANDLER
|
||
;RH=START OF PAGE FAULT HANDLER
|
||
IFE VM,<
|
||
XP JOBEXM,.JBPFH ;LAST LOC EXAMINED OR DEPOSITED USING
|
||
;D OR E COMMANDS
|
||
;LH=-1 IF LAST COM WAS AN E. 0 IF IT WAS A D
|
||
>
|
||
UJOB REN,124,1 ;REENTER ADDRESS FOR REENTER COMMAND
|
||
; (SET FROM HIGH DATA AREA ON GET IF NO LOW FILE)
|
||
UJOB APR,125,1 ;PLACE TO TRAP TO IN USER AREA ON APR TRAP
|
||
;ENABLED BY APRENB UUO
|
||
UJOB CNI,126,1 ;APR IS CONIED INTO C(JOBCNI) ON APR TRAP
|
||
UJOB TPC,127,1 ;PC IS STORED HERE ON USER APR TRAP
|
||
UJOB OPC,130,1 ;OLD PC IS STORED HERE ON START,DDT,REENTER,
|
||
;STARTC COMMANDS
|
||
UJOB CHN,131,1 ;LH=FIRST LOC AFTER FIRST FORTRAN 4 LOADED PROGRAM
|
||
;RH=FIRST LOC AFTER FIRST FORTRAN 4 BLOCK DATA
|
||
;TO BE USED FOR JOB CHAINING
|
||
U .JBOVL,131,1 ;(SAME AS .JBCHN)
|
||
;LH=NEGATIVE COUNT OF ROOT SEGMENT OVERLAYS
|
||
;RH=ADDRESS OF ROOT SEGMENT POINTER
|
||
M JOBFDV,LOC,1 ;DEV. DATA BLOCK ADR. FOR FINISH COMMAND
|
||
; ALSO USER START ADR FOR DDT, REENTER, START
|
||
; IF TYPED WHILE JOB WAS IN MONITOR. UUO EXIT
|
||
; USES TO JUMP TO USER.
|
||
UJOB COR,133,1 ;(SET FROM HIGH DATA AREA ON GET IF NO LOW FILE)
|
||
;LH=HIGHEST LOCATION LOADED(LOW SEG) WITH PROG OR DATA
|
||
; SET BY LOADER(BLOCK STATEMENTS DO NOT COUNT HERE)
|
||
; SAVE WILL NOT WRITE THE LOW SEG OF A TWO SEG PROG,
|
||
; IF LH IS 137 OR LESS AND GET WILL NOT READ
|
||
;RH=SIZE OF CORE FOR LOW SEG ON RUN,SAVE,GET COM.
|
||
;(SET FROM HIGH DATA AREA ON GET IF NO LOW FILE)
|
||
;SET BY SAVE TO CORE ASSIGNMENT TO BE USED ON GET
|
||
; (UNLESS USER TYPES A LARGER ARG TO GET)
|
||
; TO FIRST FREE LOC-1(OR TOP IF USER DDT) OR
|
||
; TO USER'S CORE ARG TO SAVE IF BIGGER
|
||
;GET ALWAYS SETS RH TO INITIAL CORE ASSIGNMENT SO THAT PROG
|
||
; CAN RESTORE CORE TO ORIGINAL ASSIGNMENT ON RESTARTING
|
||
UJOB INT,134,1 ;RH=LOC OF DATA BLOCK FOR ERROR INTERCEPTING
|
||
U .JBOPS,135,1 ;RESERVED TO OBJECT TIME SYSTEMS
|
||
U .JBCST,136,1 ;RESERVED TO CUSTOMERS
|
||
UJOB VER,137,1 ;CONTAINS VERSION NO.(OCTAL) OF PROGRAM BEING RUN
|
||
;GENERAL FORMAT IS:
|
||
; BITS 0-2 WHO LAST EDITTED THIS:
|
||
; 0=DIGITAL DEVELOPMENT GROUP
|
||
; 1=OTHER DIGITAL
|
||
; 2-4=RESERVED TO CUSTOMER
|
||
; 5-7=RESERVED TO HIS USERS
|
||
; 3-11 DIGITAL MAJOR VERSION NUMBER
|
||
; 12-17 DIGITAL MINOR VERSION NUMBER
|
||
; 18-35 EDIT NUMBER
|
||
;GET LOADS IT FROM THE SAVE FILE. NEVER CONVERTED
|
||
;TO DECIMAL BY MAN OR MACHINE. E 137 WILL PRINT VERSION NO.
|
||
;SET BY LOC 137 IN CUSP SOURCE
|
||
;(SET FROM HIGH DATA AREA ON GET IF NO LOW FILE)
|
||
UJOB DA,140 ;FIRST LOC NOT USED BY JOB DATA AREA
|
||
XP MJOBDA,-.JBDA ;-LENGTH OF JOB DATA AREA
|
||
|
||
SUBTTL HIGH SEGMENT DATA AREA
|
||
|
||
; LOCATIONS ARE RELATIVE TO BEGINNING OF HIGH SEGMENT, SINCE
|
||
; THE HIGH SEGMENT CAN BEGIN AT 400000 OR HIGHER
|
||
; THIS AREA IS USED TO INITIALIZE CERTAIN LOCATIONS IN THE LOW SEG JOB DATA AREA
|
||
; IN CASE THER WAS NO LOW SEG SAVED.(LH JOBCOR 137 OR LESS AS SET BY LOADER)
|
||
; LOW SEG JOB DATA AREA LOCATIONS SET FROM HIGH SEG DATA AREA ARE INDICATED ABOVE BY:
|
||
;(SET FROM HIGH SEG IF NEC)
|
||
; THESE LOCATIONS ARE SET FROM LOW JOB DATA AREA ONLY IF HIGH SEG IS NON-SHARABLE
|
||
; AT THE TIME THE SAVE IS PERFORMED (SHRSEG=0 IN JBTSTS)
|
||
|
||
USJOB HGH,400000 ;NORMAL BEGINNING ADDRESS OF HIGH SEGMENT
|
||
US .JBHSA,0 ;USED TO RESTORE JOBSA
|
||
XP JOBHSA,.JBHSA;
|
||
US .JBH41,1 ;USED TO RESTORE JOB41
|
||
XP JOBH41,.JBH41;
|
||
US .JBHCR,2 ;USED TO RESTORE JOBCOR(BOTH HALVES)
|
||
XP JOBHCR,.JBHCR;
|
||
US .JBHRN,3 ;LH RESTORES LH OF JOBHRL(FIRST REL. FREE LOC. IN HIGH)
|
||
XP JOBHRN,.JBHRN;RH RESTORES JOBREN,LH SET TO 0 FOR FUTURE
|
||
USJOB HVR,4 ;RESTORE BOTH HALVES OF JOBVER
|
||
XP JOBPOP,4 ;HIGHEST LOC TO BE RESTORED(POPPED) BY GET
|
||
USJOB HNM,5 ;HIGH SEGMENT NAME SO DDT KNOWS ABOUT GETSEGS
|
||
USJOB HSM,6 ;HIGH SEGMENT SYMBOL TABLE POINTER
|
||
US .JBHGA,7 ; BYTE(9) RESERVED
|
||
; BYTE(9) GET ADDRESS PAGE NUMBER TO START SEGMENT
|
||
; BYTE (18) [FUTURE] RELATIVE ADDRESS OF EXTENSION BLOCK IF NON-ZERO
|
||
USJOB HDA,10 ;FIRST LOC NOT USED BY HIGH SEG DATA AREA
|
||
;LOADER WILL LOAD FIRST WORD HERE
|
||
|
||
|
||
IFDEF UJOBDAT,<PURGE P,R> ;CLEAN UP USER VERSION SYMBOL TABLE
|
||
IFN U2,<PURGE UJOBDAT> ;DITTO
|
||
PURGE LOC,U2,MJDA ;CLEAN UP SYMBOL TABLE
|
||
IF2 <PURGE LC,VM,FTCN6,FTJOB,FTDISK,UNIV,%..UNV> ;DITTO
|
||
IF2 <PURGE R,P,P1,FTVM,PDP,PROG> ;DITTO
|
||
IF2 <PURGE U,US,UJOB,USJOB,M,XP> ;DITTO
|
||
|
||
|
||
END
|
||
|