1 TITLE JOBDAT - JOB DATA AREA (FIRST 140 LOC OF USER AREA) V407
\r
2 SUBTTL T. HASTINGS/TH TS 15 MAR 69
\r
3 IFNDEF UJOBDAT,<VJOBDT=407
\r
4 INTERN VJOBDT ;PUT VERSION NUMBER IF NOT JSER VERSION
\r
6 ;TO ELIMINATE MOST OF UNWANTED GLOBALS USERS
\r
7 ;ASSEMBLING INSTRUCTIONS TO MAKE USER VERSION FOR CUSP:
\r
8 ;DSK:JOBDAT_TTY:,DSK:JOBDAT
\r
11 IFDEF DEVDAT,<PRINTX PLEASE REASSEMBLE WITHOUT S.MAC
\r
19 ;THIS AREA PROVIDES STORAGE OF ITEMS OF INTEREST TO BOTH
\r
20 ;THE MONITOR AND THE USER
\r
22 ;MACRO TO DEFINE SYMBOLS FOR MONITOR USE ONLY
\r
23 ;THESE MAY BE CHANGED TO SUIT MONITOR
\r
25 DEFINE M(SYMBOL,VALUE,LENGTH)
\r
27 IFNDEF UJOBDAT,<INTERNAL SYMBOL> ;MAKE GLOBAL ONLY IF ASSEM FOR MONITOR
\r
30 ;MACRO TO DEFINE SYMBOLS FOR USER USE
\r
31 ;THESE CANNOT BE CHANGED WITHOUT INVALIDATING OLD SAVED FILES
\r
33 DEFINE U(SYMBOL,VALUE,LENGTH)
\r
38 ;MACRO TO DEFINE PARAMETERS OF INTEREST TO MONITOR ONLY
\r
39 ;THESE MAY BE CHANGED TO SUIT MONITOR
\r
40 ;MUST ASSEMBLE WITH SYSPAR TAPE FIRST
\r
42 DEFINE XP(SYMBOL,VALUE)
\r
44 IFNDEF UJOBDAT,<INTERN SYMBOL>> ;MAKE GLOBAL ONLY IF ASSEM FOR MONITOR
\r
46 ;DEFINE MONITOR ACS AS LOCALS SO JOBDAT DOES NOT NEED TO BE ASEMBLED WITH S.MAC
\r
47 ;THIS IS SO THE USER IS NOT FACED WITH A LOT OF INTERNAL SYMBOLS
\r
48 ;WHICH MAY CONFLIT WITH HIS AND GIVE HIM MULTIPLY DEFINED GLOBALS
\r
54 ;PLACE WHERE USER ACS ARE STORED ON UUO CALLS
\r
55 ;IE RELATIVE 0-17 IN USER AREA
\r
57 ;PLACE WHERE HARDWARE ACS(0-16) ARE STORED
\r
58 ;WHEN JOB IS INACTIVE. THESE ARE EITHER THE
\r
59 ;USERS AC IF JOB WAS STOPPED IN USER MODE
\r
60 ;OR ARE THE EXEC IF STOPED IN EXEC MODE
\r
61 ;0-16 ALSO STORED HERE ON CLK INTERRUPTS
\r
62 XP JOBDPD,JOBDAC+PDP
\r
64 XP JOBDPG,JOBDAC+PROG
\r
65 ;AC PROG DUMPED HERE
\r
75 ;USER UUO TRAP LOC.(UUO STORED HERE)
\r
77 ;USER UUO JSR LOCATION
\r
79 ;LH UNUSED-SAVE FOR LATER THINGS, SO USER PROGRAMS
\r
80 ;SHOULD IGNORE LH IN ALL PROGRAMS
\r
81 ;RH=COUNT OF NO. OF ERRORS IN RPG(RAPID PROGRAM
\r
82 ;GENERATION) SEQUENCE OF CUSPS.
\r
83 ;NOT CHANGED FROM GET TO GET.
\r
86 ;RH=APR CONSO FLAGS FOR USER APR TRAPPING
\r
87 ;SET BY CALL [SIXBIT /APRENB/]
\r
89 ;LH=0,RH=HIGHEST REL. ADR. IN USER AREA(IE LOW SEGMENT)
\r
90 ;SET BY MONITOR EACH TIME JOB RUNS OR CHANGES CORE SIZE
\r
92 ;FIRST LOC. OF SYSTEM UUO PUSHDOWN LIST
\r
96 ;PLACE FOR SSTORING FIRST PUSH IN A UUO ROUTINE(THIRD ENTRY)
\r
97 ; USED BY RUN AND GETSEG UUOS
\r
99 ;3 WORDS USED BY LINKING LOADER TO MOVE PROGRAM DOWN
\r
100 ;BEFORE CALLING EXIT.
\r
101 ;OK TO USE EXEC PD LIST BEFORE EXECUTING UUO
\r
103 XP MJOBPD,JOBPDL-LOC
\r
104 ;MINUS LENGTH OF PUSHDOWN LIST
\r
108 ;FIRST LOC PROTECTED BY BEING COPIED INTO MONITOR
\r
112 ;HIGHEST USER IO CHANNEL IN USE
\r
113 ;ONLY JOBJDA...JOBJDA+C(JOBHCU) ARE COPIED INTO
\r
114 ;MONITOR WHEN JOB IS RUN. 0 MEANS NONE OR
\r
115 ;CHAN. 0 IN USE, -1 MEANS SAVEGET HAS ACTIVE IO
\r
117 ;JOB PC WHEN JOB INACTIVE
\r
119 ;LH UNUSED,RH=STARTING ADDRESS OF USER DDT
\r
121 ;FIRST LOC.-1 WRITTEN BY SAVE COMMAND
\r
123 ;JOB DEVICE ASSIGNMENT TABLE
\r
124 ;LH=UUOS DONE SO FAR,RH=ADR. OF DEVICE DATA BLOCK IN MONITOR
\r
126 ;FIRST LOC READ INTO OR WRITTEN FROM BY NEW SAVGET
\r
127 ; WHICH ZERO COMPRESSES ON ALL DEVICES
\r
128 ; THIS LOC CONTAINS THE FIRST IOWD WITH NO-NO. OF DATA WORDS
\r
129 ; IN LH, FIRST ADR-1 IN RH
\r
130 ; MONITOR SUPPRESSES STORING IN RH OF JOBHRL DURING
\r
131 ; SAVEGET(USRCHU NEG.)
\r
132 ; SO THAT OLD ZERO COMPRESSED DECTAPE FILES WILL
\r
133 ; ALWAYS FIT IN CORE (JOBHRL USERD TO BE 0)
\r
134 ; THIS CHECK COULD HAVE BEEN ELIMINATED, IF JOBSV HAD BEEN
\r
135 ; DEFINED AS JOBHRL+1(JOBSYM), HOWEVER JOBSYM ALMOST
\r
136 ; ALWAYS HAS NON-ZERO DATA, SO SAVEGET WOULD HAVE TO
\r
137 ; BE WRITTEN TO EXPAND DOWN OR UP RATHER THEN JUST UP
\r
139 ;FIRST LOC-1, USED FOR SETTING UP DUMPE MODE
\r
140 ; COMMAND LIST FOR SAVGET
\r
142 ;LOC WHICH SHOULD NOT CONTAIN 0 UNLESS FILE WAS
\r
143 ; CREATED BY CONVERTING OLD FORMAT TO NEW FORMAT
\r
144 ; DECTAPE USING CONVRT PROGRAM
\r
145 XP JOBSVD,JOBSVM-JOBSAV
\r
146 ;NO. OF LOCATIONS TO MOVE DOWN OLD (NON-COMPRESSED DSK)
\r
147 ; SAVE FILES WHICH WERE ALWAYS WRITTEN FROM JOBSAV+1
\r
148 XP JOBSDP,JOBSV-JOBSAV
\r
149 ;NO. OF LOCATION TO MOVE DOWN CONVERTED SAVE FILES
\r
150 ; WHICH ARE ALWAYS WRITTEN FORM JOBSAV+1 AND HAVE
\r
151 ; AN IOWD ADDED ON FRONT SO IT LOOKS LIKE A COMPRESSED FILE
\r
152 \fU JOBCN6,JOBJDA+11
\r
153 ;6 TEMP LOCATIONS USED BY CHAIN TO HOLD ERROR ROUTINE
\r
154 ; WHEN IT LOADS NEXT CHAIN LINK.(JOBJDA+11...16)
\r
155 ; THESE LOCATIONS ARE OK TO USE SINCE CHAIN RELEASES ALL
\r
156 ; USER CHANNELS AND MONITOR WILL NOT DESTROY THEM
\r
157 ; WHEN JOB CONTEXT IS SWITCHED
\r
158 XP JOBSDD,JOBJDA+17
\r
159 ;PLACE TO SAVE JOBDDT ON SAVE SO ZERO EXPANSION ON GET
\r
162 ;FOR COMPUTING IOWD'S
\r
164 XP JOBJMH,JOBHCU-JOBJDA
\r
166 ;USED BY ANYACT ROUT. IN CORE1
\r
167 XP JOBPFI,JOBJDA+17
\r
168 ;HIGHEST LOC. IN JOB DATA AREA PROTECTED FROM IO
\r
169 XP MJOBCK,JOBPFI-JOBDAC
\r
170 ;AREA CHECKSUMMED DURING SWAPPING
\r
171 U JOBHRL,115,1 ;LH IS ANALOGOUS TO LH OF JOBSA, IE FIRST
\r
172 ;FREE LOC IN HIGH SEG, SET BY LINKING LOADER
\r
174 ;RH ANALOGOUS TO JOBREL, IE HIGHEST LEGAL
\r
175 ;USER ADDRESS IN HIGH SEG. SET BY MONITOR EVERY TIME
\r
176 ;USER RUNS. IF JOBHRL=0, JOB DOES NOT HAVE A HIGH SEG
\r
177 ;USER PROGRAMS SHOULD BE WRITTEN SO THAT
\r
178 ;THEY CAN BE ONE OR TWO SEGMENT PROGRAMS. JOBHRL
\r
179 ;CAN BE TESTED FOR NON-ZERO TO SEE IF HIGH SEG EXISTS
\r
181 ;POINTER TO LOADER AND DDT SYMBOL TABLE POINTER
\r
183 ;POINTER TO UNDEFINED SYMBOL TABLE
\r
184 ;SET BY LOADER, NOT YET USED BY DDT
\r
186 ;LH=FIRST LOC NOT LOADED BY RELOCATING LOADER
\r
187 ;RH=STARTING ADDRESS OF USER PROGRAM
\r
190 ;FIRST FREE LOCATION IN USER AREA
\r
191 ;USED BY MONITOR TO ASSIGN I/O BUFFERS IN TOP
\r
194 ;C(JOB41) SAVED HERE ON SAVE COMMAND
\r
195 ;RESTORE FROM HERE ON GET
\r
197 ;LAST LOC EXAMINED OR DEPOSITED USING
\r
199 ;LH=-1 IF LAST COM WAS AN E, 0 IF IT WAS A D
\r
201 ;REENTER ADDRESS FOR REENTER COMMAND
\r
203 ;PLACE TO TRAP TO IN USER AREA ON APR TRAP
\r
204 ;ENABLED BY APRENB UUO
\r
206 ;APR IS CONIED INTO C(JOBCNI) ON APR TRAP
\r
208 ;PC IS STORED HERE ON USER APR TRAP
\r
210 ;OLD PC IS STORED HERE ON START,DDT,REENTER,
\r
213 ;LH=FIRST LOC AFTER FIRST FORTRAN 4 LOADED PROGRAM
\r
214 ;RH=FIRST LOC AFTER FIRST FORTRAN 4 BLOCK DATA
\r
215 ;TO BE USED FOR JOB CHAINING
\r
217 ;DEV. DATA BLOCK ADR. FOR FINISH COMMAND
\r
220 ;SIZE OF CORE FOR JOB ON RUN,SAVE,GET COM.
\r
223 ;CONTAINS VERSION NO.(OCTAL) OF CUSP BEING RUN
\r
224 ;GET LOADS FROM SAVE FILE. NEVER CONVERTED
\r
225 ;TO DECIMAL BY MAN OR MACHINE. E 137 WILL PRINT VERSION NO.
\r
226 ;SET BY LOC 137 IN CUSP SOURCE
\r
228 ;FIRST LOC NOT USED BY JOB DATA AREA
\r