X-Git-Url: http://git.sky-visions.com/cgi-bin/gitweb.cgi/retro-software/dec/tops10/v4.5.git/blobdiff_plain/cda2ba6d27526e5ef6f27f7b3391cfb55055bf2e..8975ed2f727e4bb0190f22b1401821e5981cf7c2:/src/jobdat.mac diff --git a/src/jobdat.mac b/src/jobdat.mac index 2d8dc0e..c73431e 100644 --- a/src/jobdat.mac +++ b/src/jobdat.mac @@ -1,168 +1,276 @@ -TITLE JOBDAT - JOB DATA AREA (FIRST 140 LOC OF USER AREA) -SUBTTL T. HASTINGS/RAP TS3.19 24 SEP 68 V003 - XP VJOBDT,003 ;DEFINE GLOBAL VERSION NUMBER FOR LOADER MAP. - -ENTRY DATJOB -DATJOB: - -;THIS AREA PROVIDES STORAGE OF ITEMS OF INTEREST TO BOTH -;THE MONITOR AND THE USER - -;MACRO TO DEFINE SYMBOLS FOR MONITOR USE ONLY -;THESE MAY BE CHANGED TO SUIT MONITOR - -DEFINE M(SYMBOL,VALUE,LENGTH) - - -;MACRO TO DEFINE SYMBOLS FOR USER USE -;THESE CANNOT BE CHANGED WITHOUT INVALIDATING OLD SAVED FILES - -DEFINE U(SYMBOL,VALUE,LENGTH) - - -;MACRO TO DEFINE PARAMETERS OF INTEREST TO MONITOR ONLY -;THESE MAY BE CHANGED TO SUIT MONITOR -;MUST ASSEMBLE WITH SYSPAR TAPE FIRST - -DEFINE XP(SYMBOL,VALUE) - - -M JOBAC,0,20 - ;PLACE WHERE USER ACS ARE STORED ON UUO CALLS - ;IE RELATIVE 0-17 IN USER AREA -M JOBDAC,LOC,17 - ;PLACE WHERE HARDWARE ACS(0-16) 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+PDP - ;AC PDP DUMPED HERE -XP JOBDPG,JOBDAC+PROG - ;AC PROG DUMPED HERE -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 -U JOBUUO,40,1 - ;USER UUO TRAP LOC.(UUO STORED HERE) -U JOB41,41,1 - ;USER UUO JSR LOCATION -U JOBERR,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/] -U JOBREL,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 -M JOBPD1,LOC,0 - ;FIRST LOC. OF SYSTEM UUO PUSHDOWN LIST -XP JOBPDL,JOBPD1-1 - ;FIRST LOC.-1 -U JOBBLT,JOBPD1,3 - ;3 WORDS USED BY LINKING LOADER TO MOVE PROGRAM DOWN - ;BEFORE CALLING EXIT. - ;OK TO USE EXEC PD LIST BEFORE EXECUTING UUO - LOC=72 -XP MJOBPD,JOBPDL-LOC - ;MINUS LENGTH OF PUSHDOWN LIST -XP MJOBP1,MJOBPD+1 - ;-LENGTH+1 -XP JOBPRT,LOC - ;FIRST LOC PROTECTED BY BEING COPIED INTO MONITOR -XP JOBPR1,JOBPRT+1 - ;FIRST LOC+1 -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, -1 MEANS SAVEGET HAS ACTIVE IO -M JOBPC,LOC,1 - ;JOB PC WHEN JOB INACTIVE -U JOBDDT,74,1 - ;LH UNUSED,RH=STARTING ADDRESS OF USER DDT -XP JOBSAV,JOBDDT-1 - ;FIRST LOC.-1 WRITTEN BY SAVE COMMAND -M JOBJDA,LOC,20 - ;JOB DEVICE ASSIGNMENT TABLE - ;LH=UUOS DONE SO FAR,RH=ADR. OF DEVICE DATA BLOCK IN MONITOR -XP JOBJMH,JOBHCU-JOBJDA - ;JOBHCU-JOBJDA - ;USED BY ANYACT ROUT. IN CORE1 -XP JOBPFI,JOBJDA+17 - ;HIGHEST LOC. IN JOB DATA AREA PROTECTED FROM IO -XP MJOBCK,JOBPFI-JOBDAC - ;AREA CHECKSUMMED DURING SWAPPING -U JOBHRL,115,1 ;LH IS ANALOGOUS TO LH OF JOBSA, IE FIRST - ;FREE LOC IN HIGH SEG, SET BY LINKING LOADER - ;USED BY SAVE. - ;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 -U JOBSYM,116,1 - ;POINTER TO LOADER AND DDT SYMBOL TABLE POINTER -U JOBUSY,117,1 - ;POINTER TO UNDEFINED SYMBOL TABLE - ;SET BY LOADER, NOT YET USED BY DDT -U JOBSA,120,1 - ;LH=FIRST LOC NOT LOADED BY RELOCATING LOADER - ;RH=STARTING ADDRESS OF USER PROGRAM -U JOBFF,121,1 - ;FIRST FREE LOCATION IN USER AREA - ;USED BY MONITOR TO ASSIGN I/O BUFFERS IN TOP - ;OF USER AREA - U JOBS41,122,1 - ;C(JOB41) SAVED HERE ON SAVE COMMAND - ;RESTORE FROM HERE ON GET -M JOBEXM,LOC,1 - ;LAST LOC EXAMINED OR DEPOSITED USING - ;D OR E COMMANDS - ;LH=-1 IF LAST COM WAS AN E, 0 IF IT WAS A D -U JOBREN,124,1 - ;REENTER ADDRESS FOR REENTER COMMAND -U JOBAPR,125,1 - ;PLACE TO TRAP TO IN USER AREA ON APR TRAP - ;ENABLED BY APRENB UUO -U JOBCNI,126,1 - ;APR IS CONIED INTO C(JOBCNI) ON APR TRAP -U JOBTPC,127,1 - ;PC IS STORED HERE ON USER APR TRAP -U JOBOPC,130,1 - ;OLD PC IS STORED HERE ON START,DDT,REENTER, - ;STARTC COMMANDS -U JOBCHN,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 -M JOBFDV,LOC,1 - ;DEV. DATA BLOCK ADR. FOR FINISH COMMAND -U JOBCOR,133,1 - ;SIZE OF CORE FOR JOB ON RUN,SAVE,GET COM. -;134-136 UNUSED -U JOBVER,137,1 - ;CONTAINS VERSION NO.(OCTAL) OF CUSP BEING RUN - ;GET LOADS FROM SAVE FILE. NEVER CONVERTED - ;TO DECIMAL BY MAN OR MACHINE. E 137 WILL PRINT VERSION NO. - ;SET BY LOC 137 IN CUSP SOURCE -XP JOBDA,140 - ;FIRST LOC NOT USED BY JOB DATA AREA - - END, +TITLE JOBDAT - JOB DATA AREA (FIRST 140 LOC OF USER AREA) V407 +SUBTTL T. HASTINGS/TH TS 15 MAR 69 +IFNDEF UJOBDAT, +;TO ELIMINATE MOST OF UNWANTED GLOBALS USERS +;ASSEMBLING INSTRUCTIONS TO MAKE USER VERSION FOR CUSP: +;DSK:JOBDAT_TTY:,DSK:JOBDAT +;UJOBDAT=1 +;^Z +IFDEF DEVDAT, + +IFNDEF UJOBDAT,< +ENTRY DATJOB +DATJOB: +> + +;THIS AREA PROVIDES STORAGE OF ITEMS OF INTEREST TO BOTH +;THE MONITOR AND THE USER + +;MACRO TO DEFINE SYMBOLS FOR MONITOR USE ONLY +;THESE MAY BE CHANGED TO SUIT MONITOR + +DEFINE M(SYMBOL,VALUE,LENGTH) +< SYMBOL=VALUE +IFNDEF UJOBDAT, ;MAKE GLOBAL ONLY IF ASSEM FOR MONITOR +LOC=VALUE+LENGTH> + +;MACRO TO DEFINE SYMBOLS FOR USER USE +;THESE CANNOT BE CHANGED WITHOUT INVALIDATING OLD SAVED FILES + +DEFINE U(SYMBOL,VALUE,LENGTH) +< SYMBOL=VALUE +ENTRY SYMBOL +LOC=VALUE+LENGTH> + +;MACRO TO DEFINE PARAMETERS OF INTEREST TO MONITOR ONLY +;THESE MAY BE CHANGED TO SUIT MONITOR +;MUST ASSEMBLE WITH SYSPAR TAPE FIRST + +DEFINE XP(SYMBOL,VALUE) +< SYMBOL==VALUE +IFNDEF UJOBDAT,> ;MAKE GLOBAL ONLY IF ASSEM FOR MONITOR + +;DEFINE MONITOR ACS AS LOCALS SO JOBDAT DOES NOT NEED TO BE ASEMBLED WITH S.MAC +;THIS IS SO THE USER IS NOT FACED WITH A LOT OF INTERNAL SYMBOLS +;WHICH MAY CONFLIT WITH HIS AND GIVE HIM MULTIPLY DEFINED GLOBALS + +PDP=3 +PROG=7 + +M JOBAC,0,20 + ;PLACE WHERE USER ACS ARE STORED ON UUO CALLS + ;IE RELATIVE 0-17 IN USER AREA +M JOBDAC,LOC,17 + ;PLACE WHERE HARDWARE ACS(0-16) 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+PDP + ;AC PDP DUMPED HERE +XP JOBDPG,JOBDAC+PROG + ;AC PROG DUMPED HERE +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 +U JOBUUO,40,1 + ;USER UUO TRAP LOC.(UUO STORED HERE) +U JOB41,41,1 + ;USER UUO JSR LOCATION +U JOBERR,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/] +U JOBREL,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 +M JOBPD1,LOC,0 + ;FIRST LOC. OF SYSTEM UUO PUSHDOWN LIST +XP JOBPDL,JOBPD1-1 + ;FIRST LOC.-1 +XP JOBPD3,JOBPDL+3 + ;PLACE FOR SSTORING FIRST PUSH IN A UUO ROUTINE(THIRD ENTRY) + ; USED BY RUN AND GETSEG UUOS +U JOBBLT,JOBPD1,3 + ;3 WORDS USED BY LINKING LOADER TO MOVE PROGRAM DOWN + ;BEFORE CALLING EXIT. + ;OK TO USE EXEC PD LIST BEFORE EXECUTING UUO + + LOC=72 +XP MJOBPD,JOBPDL-LOC + ;MINUS LENGTH OF PUSHDOWN LIST +XP MJOBP1,MJOBPD+1 + ;-LENGTH+1 +XP JOBPRT,LOC + ;FIRST LOC PROTECTED BY BEING COPIED INTO MONITOR +XP JOBPR1,JOBPRT+1 + ;FIRST LOC+1 +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, -1 MEANS SAVEGET HAS ACTIVE IO +M JOBPC,LOC,1 + ;JOB PC WHEN JOB INACTIVE +U JOBDDT,74,1 + ;LH UNUSED,RH=STARTING ADDRESS OF USER DDT +XP JOBSAV,JOBDDT-1 + ;FIRST LOC.-1 WRITTEN BY SAVE COMMAND +M JOBJDA,LOC,20 + ;JOB DEVICE ASSIGNMENT TABLE + ;LH=UUOS DONE SO FAR,RH=ADR. OF DEVICE DATA BLOCK IN MONITOR +XP JOBSV,JOBJDA+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-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 USERD 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 THEN JUST UP +XP JOBSVM,JOBSV-1 + ;FIRST LOC-1, USED FOR SETTING UP DUMPE 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 JOBSVD,JOBSVM-JOBSAV + ;NO. OF LOCATIONS TO MOVE DOWN OLD (NON-COMPRESSED DSK) + ; SAVE FILES WHICH WERE ALWAYS WRITTEN FROM JOBSAV+1 +XP JOBSDP,JOBSV-JOBSAV + ;NO. OF LOCATION TO MOVE DOWN CONVERTED SAVE FILES + ; WHICH ARE ALWAYS WRITTEN FORM JOBSAV+1 AND HAVE + ; AN IOWD ADDED ON FRONT SO IT LOOKS LIKE A COMPRESSED FILE + + U JOBCN6,JOBJDA+11 + ;6 TEMP LOCATIONS USED BY CHAIN TO HOLD ERROR ROUTINE + ; WHEN IT LOADS NEXT CHAIN LINK.(JOBJDA+11...16) + ; THESE LOCATIONS ARE OK TO USE SINCE CHAIN RELEASES ALL + ; USER CHANNELS AND MONITOR WILL NOT DESTROY THEM + ; WHEN JOB CONTEXT IS SWITCHED +XP JOBSDD,JOBJDA+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 +XP JOBPFI,JOBJDA+17 + ;HIGHEST LOC. IN JOB DATA AREA PROTECTED FROM IO +XP MJOBCK,JOBDAC-JOBPFI + ;AREA CHECKSUMMED DURING SWAPPING +U JOBHRL,115,1 + ;LH IS ANALOGOUS TO LH OF JOBSA, IE FIRST + ;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 LINKING 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 +U JOBSYM,116,1 + ;POINTER TO LOADER AND DDT SYMBOL TABLE POINTER +U JOBUSY,117,1 + ;POINTER TO UNDEFINED SYMBOL TABLE + ;SET BY LOADER, NOT YET USED BY DDT +U JOBSA,120,1 + ;LH=INITIAL FIRST FREE LOCATION IN LOW SEG (SET BY LINKING LOADER) + ;RH=STARTING ADDRESS OF USER PROGRAM + +U JOBFF,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 +U JOBS41,122,1 + ;C(JOB41) SAVED HERE ON SAVE COMMAND + ;RESTORE FROM HERE ON GET +M JOBEXM,LOC,1 + ;LAST LOC EXAMINED OR DEPOSITED USING + ;D OR E COMMANDS + ;LH=-1 IF LAST COM WAS AN E, 0 IF IT WAS A D +U JOBREN,124,1 + ;REENTER ADDRESS FOR REENTER COMMAND +U JOBAPR,125,1 + ;PLACE TO TRAP TO IN USER AREA ON APR TRAP + ;ENABLED BY APRENB UUO +U JOBCNI,126,1 + ;APR IS CONIED INTO C(JOBCNI) ON APR TRAP +U JOBTPC,127,1 + ;PC IS STORED HERE ON USER APR TRAP +U JOBOPC,130,1 + ;OLD PC IS STORED HERE ON START,DDT,REENTER, + ;STARTC COMMANDS +U JOBCHN,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 +M JOBFDV,LOC,1 + ;DEV. DATA BLOCK ADR. FOR FINISH COMMAND + U JOBCOR,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 WRIT 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 RG TO SAAVE IF BIGGER + ;GET ALWAYS SETS RH TO INITIAL CORE ASSIGNMENT SO THAT PROG + ; CAN RESTORE CORE TO ORIGINAL ASSIGNMENT ON RESTARTING + ;134-136 UNUSED +U JOBVER,137,1 + ;CONTAINS VERSION NO.(OCTAL) OF CUSP BEING RUN IN RH + ;PROGRAMMER NUMBER IN LH OF PROGRAMMER MAKING LAST CHANGE + ;GET LOADS FROM 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) +XP JOBDA,140 + ;FIRST LOC NOT USED BY JOB DATA AREA + ; HIGH SEGMENT DATA AREA +; LOCATIONS ARE RELATIVE TO BEGINNING OF HIGH SEGMENT, SINCE +; THE HIGH SEGMENT CAN BEGIN AT 400000 OF HIGHER +; THIS AREA IS USED TO INITIALIZE CERTIAN 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 FORM LOW JOB DATA AREA ONLY IF HIGH SEG IS NON-SHARABLE +; AT THE TIME THE SAVE IS PREFORMED (SHRSEG=0 IN JBTSTS) + +XP JOBHSA,0 + ;USED TO RESTORE JOBSA +XP JOBH41,1 + ;USED TO RESTORE JOB41 +XP JOBHCR,2 + ;USED TO RESTORE JOBCOR(BOTH HALVES) +XP JOBHRN,3 + ;LH RESTORES LH OF JOBHRL(FIRST REL. FREE LOC. IN HIGH) + ;RH RESTORES JOBREN,LH SET TO 0 FOR FUTURE +XP JOBHVR,4 + ;RESTORE BOTH HALVES OF JOBVER + XP JOBPOP,4 + ;HIGHEST LOC TO BE RESTORED(POPPED) BY GET +XP JOBHDA,10 + ;FIRST LOC NOT USED BY HIGH SEG DATA AREA + ;LOADER WILL LOAD FIRST WORD HERE + ;VALUE CANNOT BE CHNGED WITHOUT + ;CHANGING LOADER AND RELOADING TO MAKE NEW SAVE FILES + END