3 DEFINE XP(A,B) ;SYSTEM PARAMETER
\r
8 XP IOS,0; IO STATUS WORD
\r
10 XP TAC1,2; TEMPORARY
\r
11 XP PDP,3; C(LH)=NUMBER OF LOCATIONS LEFT IN PD LIST
\r
12 , C(RH)=PUSHDOWN POINTER
\r
13 REPEAT 0,< XP SUB,10 RETURN (PC) FOR ONE LEVEL SUBROUTINES
\r
16 XP ITEM,4; BYTE OR WORD POINTER. ITEM COUNT
\r
17 XP DAT,5; DATA OR TEMPORARY
\r
18 XP DEVDAT,6; C(LH)=UNUSED.
\r
19 , C(RH)=ADDRESS OF DEVICE DATA BLOCK
\r
20 XP JBUF,DAT; ADDRESS OF JOB BUFFER AREA=JBFADR
\r
21 XP PROG,7; C(LH)=UNUSED
\r
22 , C(RH)=ADDRES OF USER'S PROGRAM AREA
\r
23 XP JDAT,11; C(RH)=ADDRESS OF JOB DATA
\r
24 ,ONLY 0 TO 10 NORMALLY REQUIRED
\r
25 ,FOR INTERRUPT SERVICE
\r
26 XP BUFPNT,12; C(JBFADR 18-35)
\r
27 XP BUFWRD,13; BIT 0=IOUSE
\r
28 , BITS 1-17=BUFFER SIZE
\r
29 , BITS 18-35=NEXT BUFFER ADDRESS
\r
30 XP UUO,14; LAST UUO PROCESSED
\r
31 XP AC1,15 ;TEMPORARY ACS(MORE TEMPORARY
\r
32 XP AC2,16 ;THEN TAC,TAC1)
\r
34 \f, DEVICE DATA BLOCK NAMES
\r
35 XP DEVNAM,0; NAME IN SIX BIT ASCII
\r
36 , C(LH)=DEVICE MNEMONIC
\r
37 , C(RH)=DEVICE NUMBER, LEFT JUSTIFIED
\r
38 XP DEVCHR,1; CHARACTERISTIC
\r
39 , BITS 0-8=JOB NUMBER
\r
40 , ZERO VALUE IMPLIES NOT ASSIGNED
\r
41 , BITS 9-11=PRIORITY CHANNEL FOR DEVICE
\r
42 XP PICHN,100 ;RIGHTMOST BIT OF PI CHAN. FIELD
\r
44 , BIT 13=IORET. 0 IF DEVICE HAS A SHORT
\r
45 , DISPATCH TABLE. 1 IF LONG
\r
46 XP IORET,20 ;FOR RETRIEVABLE DEVICES.
\r
47 ;SHORT DISPATCH TABLE =0. LONG = 1
\r
48 , BITS 14-17=JOB DEVICE CHANNEL NUMBER
\r
49 , BITS 18-23=DEVICE NUMBER, BINARY
\r
50 , BITS 24-35=BUFFER SIZE
\r
51 XP DEVIOS,2; STATUS WORD. SEE BELOW
\r
52 XP DEVSER,3; C(LH)=NEXT DEVICE DATA BLOCK
\r
53 , C(RH)=DEVICE SERVICE DISPATCH TABLE
\r
54 , DEVICE SERVICE DISPATCH TABLE ASSIGNMENTS
\r
55 XP DRL,0; XXXDSP : RELEASE
\r
56 XP DCL,1; XXXDSP +1: CLOSE
\r
57 ;IMMEDIATE ADDRESS PART OF CLOSE UUO
\r
58 XP CLSOUT,1 ;INHIBIT CLOSING OUTPUT
\r
59 XP CLSIN,2 ;INHIBIT CLOSING INPUT
\r
60 XP DOU,2; XXDSP +2: OUTPUT
\r
61 XP DIN,3; XXXDSP +3: INPUT;SHORT DISPATCH TABLE
\r
62 XP DEN,4; XXXDSP +4: ENTER
\r
63 XP DLK,5; XXXDSP +5: LOOKUP
\r
64 XP DDO,6; XXXDSP +6: DMPO
\r
65 XP DDI,7; XXXDSP +7: DMPI
\r
66 XP DSO,10; XXXDSP+10: SETO
\r
67 XP DSI,11; XXXDSP+11: SETI
\r
68 XP DGF,12; XXXDSP+12: GETF;LOGN DISPATCH TABLE
\r
69 XP DEVMOD,4 ;BITS 6-11=LEFT HALF OF IMAGE MODE BYTE POINTER
\r
70 ;BIT 35-J=1 IF MODE J IS LEGAL FOR THIS DEVICE
\r
71 ;BIT 18 DEVICE ASSIGNED BY CONSOLE COMMAND
\r
72 ;BIT 19 DEVICE ASSGINED BY PROGRAM (INIT)
\r
73 ;IRGHT HALT OF DEVICE MODE WORD
\r
74 XP ASSCON,400000 ;ASSIGNED BY CONSOLE COMMAND ASSIGN
\r
75 XP ASSPRG,200000 ;ASSIGNED BY PROGRAM(INIT UUO)
\r
76 ;LEFT HALF DEVICE CHARACTERISTICS(DEVCHR UUO)
\r
77 XP DVOUT,1 ;OUTPUT DEVICE
\r
78 XP DVIN,2 ;INPUT DEVICE
\r
79 XP DVDIR,4 ;HAS A DIRECTORY
\r
80 XP DVTTY,10 ;IS A TTY
\r
81 XP DVMTA,20 ;IS A MAG TAPE(REWIND)
\r
82 XP DVAVAL,40 ;1 IF DEVICE IS AVAILABLE TO THIS JOB
\r
84 XP TTYUSE,10000 ;TTY DDB IN USE FLAG
\r
85 XP TTYATC,20000 ;TTY ATTACHED TO JOB IF 1
\r
86 XP DVLPT,40000 ;IS A LPT (CARRIAGE CONTROL IN FORTRAN)
\r
87 XP DVCDR,100000 ;IS A CARD READER(TRAILING SPACES FOR MACRO)
\r
88 XP DVDIRIN,400000 ;DIRECTORY IN CORE IF 1
\r
90 XP DEVLOG,5; LOGICAL NAME FOR JOB DEVICE
\r
91 XP DEVBUF,6; C(LH)=OUTPUT BUFFER AREA DDRESS
\r
92 , C(RH)=INPUT BUFFER AREA ADDRESS (JBFADR)
\r
93 XP DEVIAD,7; C(LH)=PROG IN INDEX FIELD
\r
95 , C(RH)=CURRENT INPUT BUFFER ADDRESS
\r
96 XP DEVOAD,10; C(LH)=PROG IN INDEX FIELD
\r
98 , C(RH)=CURRENT OUTPUT BUFFER ADDRESS
\r
100 \f, I/O STATUS WORD ASSIGNMENTS
\r
101 ,DATA MODES; BITS 32-35
\r
103 XP AL,1; ASCII LINE
\r
105 XP IB,13; IMAGE BINARY
\r
107 XP DR,16 ;DUMP BY RECORDS
\r
108 XP D,17 ;DUMP ACROSS RECORDS
\r
111 XP IOWC,20; DON'T COMPUTE WORD COUNT
\r
112 XP IOCON,40; CONTINUOUS (CONT=0)
\r
113 XP IORDEL,100; READ AND DELETE
\r
114 XP IONRCK,100; READ WITH NO. REREAD CHECK
\r
115 XP IODEND,20000; DATA END ENCOUNTERED
\r
116 XP IODERR,200000; DEVICE ERROR
\r
117 XP IODTER,100000; DATA ERROR
\r
118 XP IOIMPM,400000; IMPROPER MODE REQUESTED
\r
119 XP IOBKTL,40000; BLOCK TOO LARGE
\r
120 XP IOACT,10000; DEVICE ACTIVE
\r
121 , LEFT HALFF (SYSTEM)
\r
123 XP IOBEG,2; VIRGIN DEVICE
\r
124 XP IODISC,400000; DISCONNECT REQUEST
\r
125 XP IOFST,4; NEXT ITEM WILL BE THE FIRST ITEM OF A BUFFER
\r
126 XP IOSTRT,10; IO READY TO START
\r
127 XP IO,20; OUT=1, IN=0
\r
128 XP IOEND,40; SERVICE ROUTINE HAS TRANSMITTED LAST DATA
\r
131 ;LEFT HALF USRJDA (JOB DEVICE ASSIGNMENTS) UUO'S FOR THIS CHANNEL SINCE LAST INIT
\r
132 XP INITB,400000; INIT
\r
133 XP IBUFB,200000; INIT WITH INPUT BUFFER SPECIFIED
\r
134 XP OBUFB,100000; INIT WITH OUTPUT BUFFER SPECIFIED
\r
135 XP LOOKB,40000; LOOKUP
\r
136 XP ENTRB,20000; ENTER
\r
137 XP INPB,10000; INPUT
\r
138 XP OUTPB,4000; OUTPUT
\r
139 XP CLOSB,2000; CLOSE
\r
140 ;RELEASE CLEARS THEM ALL
\r
142 XP CLSOUT,1 ;INHIBIT CLOSING OUTPUT
\r
143 XP CLSIN,2 ;INHIBIT CLOSING INPUT
\r
144 \f, JOB BUFFER AREA HEADER
\r
145 XP JBFADR,0; BIT 0=1 IF THIS BUFFER RING HAS NEVER BEEN
\r
146 , REFERENCED FROM THE USER'S PROGRAM BY
\r
147 , AN INPUT OR OUTPUT COMMAND.
\r
149 , BITS 18-35=CURENT BUFFER ADDRESS
\r
150 XP JBFPTR,1; BYTE POINTER TO NEXT BYTE -1
\r
151 XP JBFCTR,2; POSITIVE ITEM COUNT
\r
152 , JOB BUFFER HEADER BIT 0=IOUSE
\r
153 XP IOUSE,400000; 1 IF BUFFER IS FULL (OR BEING EMPTIED)
\r
154 , BITS 1-17=BUFFER SIZE
\r
155 , BITS 18-35=NEXT BUFFER ADDRESS
\r
156 \f,SYSTEM PARAMETERS
\r
157 XP USRMOD,10000; USER MODE BIT IN APR FLAGS, PC WORD
\r
159 ,JOB STATUS WORD (JBTSTS)
\r
160 XP IOWS,400000; IO WAIT SATISFIED
\r
161 XP RUN,200000; READY TO RUN OR IS RUNNING
\r
162 XP JIOW,100000; JOB IN IO-WAIT STATE
\r
163 XP DTW,40000; DECTAPE CONTROL WAIT
\r
164 XP DCW,20000; DATA CONTROL WAIT
\r
165 XP MTW,10000; MAG TAPE CONTROL WIAT
\r
166 XP JNA,4000; JOB NUMBER ASSIGNED
\r
167 XP JERR,2000; JOB ERROR(ILLEGAL MEM. ETC.)
\r
169 XP RUNABLE,RUN+JNA; STATUS BIT PATTERN FOR A JOB TO STAY RUNABLE
\r
170 \f;SPECIAL ABSOLUTE LOCATIONS IN LOWER MEMORY
\r
171 ;THESE ARE INTENDED TO BE EXAMINED AND CHANGED BY
\r
172 ;USING THE DATA SWITCHES BEFORE SYSTEM IS STARTED AFTER BEING LOADED
\r
173 ;ONLY TODAY AND BOOTIM NEED BE SET
\r
174 ;ALL OTHERS ARE ASSEMBLED IN AND SHOULD BE SET ONLY IF A CHANGE IS DESIRED
\r
176 XP DDTMEM,37 ;MEMORY SIZE FOR SYSTEM DDT AND SYSMAK ONLY
\r
177 XP DDTSYM,36 ;SYSTEM DDT SYMBOL TABLE POINTER (USED TO BE 77)
\r