Fixed typos.
[retro-software/dec/tops10/v4.5.git] / src / jobdat.mac
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
5 >\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
9 ;UJOBDAT=1\r
10 ;^Z\r
11 IFDEF DEVDAT,<PRINTX PLEASE REASSEMBLE WITHOUT S.MAC\r
12 >\r
13 \r
14 IFNDEF UJOBDAT,<\r
15 ENTRY DATJOB\r
16 DATJOB:\r
17 >\r
18 \r
19 ;THIS AREA PROVIDES STORAGE OF ITEMS OF INTEREST TO BOTH\r
20 ;THE MONITOR AND THE USER\r
21 \r
22 ;MACRO TO DEFINE SYMBOLS FOR MONITOR USE ONLY\r
23 ;THESE MAY BE CHANGED TO SUIT MONITOR\r
24 \r
25 DEFINE M(SYMBOL,VALUE,LENGTH)\r
26 <               SYMBOL=VALUE\r
27 IFNDEF UJOBDAT,<INTERNAL SYMBOL> ;MAKE GLOBAL ONLY IF ASSEM FOR MONITOR\r
28 LOC=VALUE+LENGTH>\r
29 \r
30 ;MACRO TO DEFINE SYMBOLS FOR USER USE\r
31 ;THESE CANNOT BE CHANGED WITHOUT INVALIDATING OLD SAVED FILES\r
32 \r
33 DEFINE U(SYMBOL,VALUE,LENGTH)\r
34 <               SYMBOL=VALUE\r
35 ENTRY SYMBOL\r
36 LOC=VALUE+LENGTH>\r
37 \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
41 \r
42 DEFINE XP(SYMBOL,VALUE)\r
43 <               SYMBOL==VALUE\r
44 IFNDEF UJOBDAT,<INTERN SYMBOL>> ;MAKE GLOBAL ONLY IF ASSEM FOR MONITOR\r
45 \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
49 \r
50 PDP=3\r
51 PROG=7\r
52 \f\r
53 M JOBAC,0,20\r
54                         ;PLACE WHERE USER ACS ARE STORED ON UUO CALLS\r
55                         ;IE RELATIVE 0-17 IN USER AREA\r
56 M JOBDAC,LOC,17\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
63                         ;AC PDP DUMPED HERE\r
64 XP JOBDPG,JOBDAC+PROG\r
65                         ;AC PROG DUMPED HERE\r
66 XP JOBD14,JOBDAC+14\r
67                         ;AC 14 DUMPED HERE\r
68 XP JOBD15,JOBDAC+15\r
69                         ;AC 15 DUMPED HERE\r
70 XP JOBD16,JOBDAC+16\r
71                         ;AC 16 DUMPED HERE\r
72 XP JOBD17,JOBDAC+17\r
73                         ;AC 17 DUMPED HERE\r
74 U JOBUUO,40,1\r
75                         ;USER UUO TRAP LOC.(UUO STORED HERE)\r
76 U JOB41,41,1\r
77                         ;USER UUO JSR LOCATION\r
78 U JOBERR,42,1\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
84 M JOBENB,43,1\r
85                         ;LH=UNUSED\r
86                         ;RH=APR CONSO FLAGS FOR USER APR TRAPPING\r
87                         ;SET BY CALL [SIXBIT /APRENB/]\r
88 U JOBREL,44,1\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
91 M JOBPD1,LOC,0\r
92                         ;FIRST LOC. OF SYSTEM UUO PUSHDOWN LIST\r
93 XP JOBPDL,JOBPD1-1\r
94                         ;FIRST LOC.-1\r
95 XP JOBPD3,JOBPDL+3\r
96                         ;PLACE FOR SSTORING FIRST PUSH IN A UUO ROUTINE(THIRD ENTRY)\r
97                         ; USED BY RUN AND GETSEG UUOS\r
98 U JOBBLT,JOBPD1,3\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
102 \fLOC=72\r
103 XP MJOBPD,JOBPDL-LOC\r
104                         ;MINUS LENGTH OF PUSHDOWN LIST\r
105 XP MJOBP1,MJOBPD+1\r
106                         ;-LENGTH+1\r
107 XP JOBPRT,LOC\r
108                         ;FIRST LOC PROTECTED BY BEING COPIED INTO MONITOR\r
109 XP JOBPR1,JOBPRT+1\r
110                         ;FIRST LOC+1\r
111 M JOBHCU,LOC,1\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
116 M JOBPC,LOC,1\r
117                         ;JOB PC WHEN JOB INACTIVE\r
118 U JOBDDT,74,1\r
119                         ;LH UNUSED,RH=STARTING ADDRESS OF USER DDT\r
120 XP JOBSAV,JOBDDT-1\r
121                         ;FIRST LOC.-1 WRITTEN BY SAVE COMMAND\r
122 M JOBJDA,LOC,20\r
123                         ;JOB DEVICE ASSIGNMENT TABLE\r
124                         ;LH=UUOS DONE SO FAR,RH=ADR. OF DEVICE DATA BLOCK IN MONITOR\r
125 XP JOBSV,JOBJDA+1\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
138 XP JOBSVM,JOBSV-1\r
139                         ;FIRST LOC-1, USED FOR SETTING UP DUMPE MODE\r
140                         ; COMMAND LIST FOR SAVGET\r
141 XP JOBSV3,JOBSV+3\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
160                         ;ALWAYS MOVES UP\r
161 XP JOBSD1,JOBSDD-1\r
162                         ;FOR COMPUTING IOWD'S\r
163 \r
164 XP JOBJMH,JOBHCU-JOBJDA\r
165                         ;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
173                         ;USED BY SAVE.\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
180 U JOBSYM,116,1\r
181                         ;POINTER TO LOADER AND DDT SYMBOL TABLE POINTER\r
182 U JOBUSY,117,1\r
183                         ;POINTER TO UNDEFINED SYMBOL TABLE\r
184                         ;SET BY LOADER, NOT YET USED BY DDT\r
185 U JOBSA,120,1\r
186                         ;LH=FIRST LOC NOT LOADED BY RELOCATING LOADER\r
187                         ;RH=STARTING ADDRESS OF USER PROGRAM\r
188 \f\r
189 U JOBFF,121,1\r
190                         ;FIRST FREE LOCATION IN USER AREA\r
191                         ;USED BY MONITOR TO ASSIGN I/O BUFFERS IN TOP\r
192                         ;OF USER AREA\r
193 \fU JOBS41,122,1\r
194                         ;C(JOB41) SAVED HERE ON SAVE COMMAND\r
195                         ;RESTORE FROM HERE ON GET\r
196 M JOBEXM,LOC,1\r
197                         ;LAST LOC EXAMINED OR DEPOSITED USING \r
198                         ;D OR E COMMANDS\r
199                         ;LH=-1 IF LAST COM WAS AN E, 0 IF IT WAS A D\r
200 U JOBREN,124,1\r
201                         ;REENTER ADDRESS FOR REENTER COMMAND\r
202 U JOBAPR,125,1\r
203                         ;PLACE TO TRAP TO IN USER AREA ON APR TRAP\r
204                         ;ENABLED BY APRENB UUO\r
205 U JOBCNI,126,1\r
206                         ;APR IS CONIED INTO C(JOBCNI) ON APR TRAP\r
207 U JOBTPC,127,1\r
208                         ;PC IS STORED HERE ON USER APR TRAP\r
209 U JOBOPC,130,1\r
210                         ;OLD PC IS STORED HERE ON START,DDT,REENTER,\r
211                         ;STARTC COMMANDS\r
212 U JOBCHN,131,1\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
216 M JOBFDV,LOC,1\r
217                         ;DEV. DATA BLOCK ADR. FOR FINISH COMMAND\r
218 \f\r
219 U JOBCOR,133,1\r
220                         ;SIZE OF CORE FOR JOB ON RUN,SAVE,GET COM.\r
221 ;134-136 UNUSED\r
222 U JOBVER,137,1  \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
227 XP JOBDA,140\r
228                         ;FIRST LOC NOT USED BY JOB DATA AREA\r
229 \r
230         END,\r
231 \0\0\0\0\r