SUBTTL T. HASTINGS/TH/PFC TS 1-MAR-75 V430(443) ;***COPYRIGHT 1969,1970,1971,1972,1973,1974,1975 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.*** ;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, ;REMOVE .JBCN6 IFNDEF FTJOB, ;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 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) ;MACRO TO DEFINE SUPPRESSED SYMBOLS FOR USER USE DEFINE US(SYMBOL,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 JOB'SYMBOL=VALUE IFNDEF %..UNV,ENTRY JOB'SYMBOL IFE FTJOB,> 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 JOB'SYMBOL==VALUE IFNDEF %..UNV,ENTRY .JB'SYMBOL,JOB'SYMBOL IFE FTJOB,> 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) ;MAKE GLOBAL ONLY IF ASSEM FOR MONITOR LOC=VALUE+LENGTH> IFN U2,> ;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) > ;MAKE GLOBAL ONLY IF ASSEM FOR MONITOR IFN U2,> ;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,> ;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, IFNDEF UJOBDAT,>> ;SET LC=0 IF LEV.C MONITOR VERSION IFNDEF LC, ;ELSE, SET IT TO 1 IFNDEF UJOBDAT,> ;REMOVE DUMMY P ; THEN MUST BE UNIVERSAL F,S IFNDEF UNIV, ; ELSE, PRE 5.07, SO NO UNIVERSALS IF1,< IFN UNIV, IFE UNIV,> ;IF 6-SERIES MONITORS, VM=FTVM > IFNDEF VM, 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, ;IN CASE OF OLD MONITORS IFNDEF R, ; .. > 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, 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. ;OK TO USE EXEC PD LIST BEFORE EXECUTING UUO IFN LC, ;(LEVEL D) IFE LC, ;(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, 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, XP JOBPRT,LOC ;FIRST LOC PROTECTED BY BEING COPIED INTO MONITOR XP JOBPR1,JOBPRT+1 ;FIRST LOC+1 ; ;HERE DOWN PROTECTED ; IFN LC,> ;(END LEVEL D ONLY) M JOBHCU,LOC,1 ;HIGHEST USER IO CHANNEL IN USE ;ONLY JOBJDA...JOBJDA+C(JOBHCU) ARE COPIED INTO ;MONITOR WHEN JOB IS RUN. 0 MEANS NONE OR ;CHAN. 0 IN USE, NEG LH MEANS SAVEGET HAS ACTIVE IO(RH STILL ; HIGHEST CHAN 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 UNUSED,RH=STARTING ADDRESS OF USER DDT IFE VM, JDA==LOC ; ;HERE DOWN "SAVED" ; XP JOBSAV,JOBDDT-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,JDA+1 ;FIRST LOC READ INTO OR WRITTEN FROM BY NEW 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 > IFN VM,< XP JOBEXM,JDA+16 ;SEE DESCRIPTION FURTHER DOWN > XP JOBSDD,JDA+17 ;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,114,1 ;HIGHEST LOC. IN JOB DATA AREA PROTECTED FROM IO IFN <.JBPFI-JDA-17>,< PRINTX ? JOBJDA WRONG> 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,-JOBDA ;-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, ;CLEAN UP USER VERSION SYMBOL TABLE IFN U2, ;DITTO PURGE LOC,U2,JDA,MJDA ;CLEAN UP SYMBOL TABLE IF2 ;DITTO IF2 ;DITTO IF2 ;DITTO END