Added base source
[retro-software/dec/tops10/v4.5.git] / src / jobdat.mac
1 TITLE   JOBDAT - JOB DATA AREA (FIRST 140 LOC OF USER AREA)
2 SUBTTL  T. HASTINGS/RAP TS3.19 24 SEP 68  V003
3         XP      VJOBDT,003      ;DEFINE GLOBAL VERSION NUMBER FOR LOADER MAP.
4
5 ENTRY DATJOB
6 DATJOB:
7
8 ;THIS AREA PROVIDES STORAGE OF ITEMS OF INTEREST TO BOTH
9 ;THE MONITOR AND THE USER
10
11 ;MACRO TO DEFINE SYMBOLS FOR MONITOR USE ONLY
12 ;THESE MAY BE CHANGED TO SUIT MONITOR
13
14 DEFINE M(SYMBOL,VALUE,LENGTH)
15 <SYMBOL=VALUE
16 INTERNAL SYMBOL
17 LOC=VALUE+LENGTH>
18
19 ;MACRO TO DEFINE SYMBOLS FOR USER USE
20 ;THESE CANNOT BE CHANGED WITHOUT INVALIDATING OLD SAVED FILES
21
22 DEFINE U(SYMBOL,VALUE,LENGTH)
23 <SYMBOL=VALUE
24 ENTRY SYMBOL
25 LOC=VALUE+LENGTH>
26
27 ;MACRO TO DEFINE PARAMETERS OF INTEREST TO MONITOR ONLY
28 ;THESE MAY BE CHANGED TO SUIT MONITOR
29 ;MUST ASSEMBLE WITH SYSPAR TAPE FIRST
30
31 DEFINE XP(SYMBOL,VALUE)
32 <INTERNAL SYMBOL
33 SYMBOL=VALUE>
34 \f
35 M JOBAC,0,20
36                         ;PLACE WHERE USER ACS ARE STORED ON UUO CALLS
37                         ;IE RELATIVE 0-17 IN USER AREA
38 M JOBDAC,LOC,17
39                         ;PLACE WHERE HARDWARE ACS(0-16) ARE STORED
40                         ;WHEN JOB IS INACTIVE. THESE ARE EITHER THE
41                         ;USERS AC IF JOB WAS STOPPED IN USER MODE
42                         ;OR ARE THE EXEC IF STOPED IN EXEC MODE
43                         ;0-16 ALSO STORED HERE ON CLK INTERRUPTS
44 XP JOBDPD,JOBDAC+PDP
45                         ;AC PDP DUMPED HERE
46 XP JOBDPG,JOBDAC+PROG
47                         ;AC PROG DUMPED HERE
48 XP JOBD14,JOBDAC+14
49                         ;AC 14 DUMPED HERE
50 XP JOBD15,JOBDAC+15
51                         ;AC 15 DUMPED HERE
52 XP JOBD16,JOBDAC+16
53                         ;AC 16 DUMPED HERE
54 XP JOBD17,JOBDAC+17
55                         ;AC 17 DUMPED HERE
56 U JOBUUO,40,1
57                         ;USER UUO TRAP LOC.(UUO STORED HERE)
58 U JOB41,41,1
59                         ;USER UUO JSR LOCATION
60 U JOBERR,42,1
61                         ;LH UNUSED-SAVE FOR LATER THINGS, SO USER PROGRAMS
62                         ;SHOULD IGNORE LH IN ALL PROGRAMS
63                         ;RH=COUNT OF NO. OF ERRORS IN RPG(RAPID PROGRAM
64                         ;GENERATION) SEQUENCE OF CUSPS.
65                         ;NOT CHANGED FROM GET TO GET.
66 M JOBENB,43,1
67                         ;LH=UNUSED
68                         ;RH=APR CONSO FLAGS FOR USER APR TRAPPING
69                         ;SET BY CALL [SIXBIT /APRENB/]
70 U JOBREL,44,1
71                         ;LH=0,RH=HIGHEST REL. ADR. IN USER AREA(IE LOW SEGMENT)
72                         ;SET BY MONITOR EACH TIME JOB RUNS OR CHANGES CORE SIZE
73 M JOBPD1,LOC,0
74                         ;FIRST LOC. OF SYSTEM UUO PUSHDOWN LIST
75 XP JOBPDL,JOBPD1-1
76                         ;FIRST LOC.-1
77 U JOBBLT,JOBPD1,3
78                         ;3 WORDS USED BY LINKING LOADER TO MOVE PROGRAM DOWN
79                         ;BEFORE CALLING EXIT.
80                         ;OK TO USE EXEC PD LIST BEFORE EXECUTING UUO
81 \fLOC=72
82 XP MJOBPD,JOBPDL-LOC
83                         ;MINUS LENGTH OF PUSHDOWN LIST
84 XP MJOBP1,MJOBPD+1
85                         ;-LENGTH+1
86 XP JOBPRT,LOC
87                         ;FIRST LOC PROTECTED BY BEING COPIED INTO MONITOR
88 XP JOBPR1,JOBPRT+1
89                         ;FIRST LOC+1
90 M JOBHCU,LOC,1
91                         ;HIGHEST USER IO CHANNEL IN USE
92                         ;ONLY JOBJDA...JOBJDA+C(JOBHCU) ARE COPIED INTO
93                         ;MONITOR WHEN JOB IS RUN. 0 MEANS NONE OR
94                         ;CHAN. 0 IN USE, -1 MEANS SAVEGET HAS ACTIVE IO
95 M JOBPC,LOC,1
96                         ;JOB PC WHEN JOB INACTIVE
97 U JOBDDT,74,1
98                         ;LH UNUSED,RH=STARTING ADDRESS OF USER DDT
99 XP JOBSAV,JOBDDT-1
100                         ;FIRST LOC.-1 WRITTEN BY SAVE COMMAND
101 M JOBJDA,LOC,20
102                         ;JOB DEVICE ASSIGNMENT TABLE
103                         ;LH=UUOS DONE SO FAR,RH=ADR. OF DEVICE DATA BLOCK IN MONITOR
104 XP JOBJMH,JOBHCU-JOBJDA
105                         ;JOBHCU-JOBJDA
106                         ;USED BY ANYACT ROUT. IN CORE1
107 XP JOBPFI,JOBJDA+17
108                         ;HIGHEST LOC. IN JOB DATA AREA PROTECTED FROM IO
109 XP MJOBCK,JOBPFI-JOBDAC
110                         ;AREA CHECKSUMMED DURING SWAPPING
111 U JOBHRL,115,1          ;LH IS ANALOGOUS TO LH OF JOBSA, IE FIRST
112                         ;FREE LOC IN HIGH SEG, SET BY LINKING LOADER
113                         ;USED BY SAVE.
114                         ;RH ANALOGOUS TO JOBREL, IE HIGHEST LEGAL
115                         ;USER ADDRESS IN HIGH SEG. SET BY MONITOR EVERY TIME
116                         ;USER RUNS.  IF JOBHRL=0, JOB DOES NOT HAVE A HIGH SEG
117                         ;USER PROGRAMS SHOULD BE WRITTEN SO THAT
118                         ;THEY CAN BE ONE OR TWO SEGMENT PROGRAMS. JOBHRL
119                         ;CAN BE TESTED FOR NON-ZERO TO SEE IF HIGH SEG EXISTS
120 U JOBSYM,116,1
121                         ;POINTER TO LOADER AND DDT SYMBOL TABLE POINTER
122 U JOBUSY,117,1
123                         ;POINTER TO UNDEFINED SYMBOL TABLE
124                         ;SET BY LOADER, NOT YET USED BY DDT
125 U JOBSA,120,1
126                         ;LH=FIRST LOC NOT LOADED BY RELOCATING LOADER
127                         ;RH=STARTING ADDRESS OF USER PROGRAM
128 U JOBFF,121,1
129                         ;FIRST FREE LOCATION IN USER AREA
130                         ;USED BY MONITOR TO ASSIGN I/O BUFFERS IN TOP
131                         ;OF USER AREA
132 \fU JOBS41,122,1
133                         ;C(JOB41) SAVED HERE ON SAVE COMMAND
134                         ;RESTORE FROM HERE ON GET
135 M JOBEXM,LOC,1
136                         ;LAST LOC EXAMINED OR DEPOSITED USING 
137                         ;D OR E COMMANDS
138                         ;LH=-1 IF LAST COM WAS AN E, 0 IF IT WAS A D
139 U JOBREN,124,1
140                         ;REENTER ADDRESS FOR REENTER COMMAND
141 U JOBAPR,125,1
142                         ;PLACE TO TRAP TO IN USER AREA ON APR TRAP
143                         ;ENABLED BY APRENB UUO
144 U JOBCNI,126,1
145                         ;APR IS CONIED INTO C(JOBCNI) ON APR TRAP
146 U JOBTPC,127,1
147                         ;PC IS STORED HERE ON USER APR TRAP
148 U JOBOPC,130,1
149                         ;OLD PC IS STORED HERE ON START,DDT,REENTER,
150                         ;STARTC COMMANDS
151 U JOBCHN,131,1
152                         ;LH=FIRST LOC AFTER FIRST FORTRAN 4 LOADED PROGRAM
153                         ;RH=FIRST LOC AFTER FIRST FORTRAN 4 BLOCK DATA
154                         ;TO BE USED FOR JOB CHAINING
155 M JOBFDV,LOC,1
156                         ;DEV. DATA BLOCK ADR. FOR FINISH COMMAND
157 U JOBCOR,133,1
158                         ;SIZE OF CORE FOR JOB ON RUN,SAVE,GET COM.
159 ;134-136 UNUSED
160 U JOBVER,137,1  
161                         ;CONTAINS VERSION NO.(OCTAL) OF CUSP BEING RUN
162                         ;GET LOADS FROM SAVE FILE.  NEVER CONVERTED
163                         ;TO DECIMAL BY MAN OR MACHINE. E 137 WILL PRINT VERSION NO.
164                         ;SET BY LOC 137 IN CUSP SOURCE
165 XP JOBDA,140
166                         ;FIRST LOC NOT USED BY JOB DATA AREA
167
168         END,