Trailing-Edge
-
PDP-10 Archives
-
bb-x141b-bb
-
parser.lst
There are 2 other files named parser.lst in the archive. Click here to see a list.
DATAB -- COMMAND PARSER DATA B MACRO M1113 03-APR-86 22:51
TABLE OF CONTENTS
35- 1474 DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
36- 1618 .SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
37- 1669 DATAB -- DTE-20 OPERATION BUFFERS 7709.20
38- 1688 DATAB -- INPUT / OUTPUT BUFFERS 7709.20
39- 1704 DATAB -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
40- 1744 .CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
47- 2065 .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
48- 2121 .CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
49- 2160 .CKCOL -- CHECK FOR A EQUAL 7709.21
50- 2195 .CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
51- 2225 .CKEOC -- CHECK END OF COMMAND 7602.16
52- 2263 .CKEOS -- CHECK END OF SYMBOL 7709.21
53- 2291 .CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
54- 2318 .CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
55- 2369 .CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
56- 2398 .EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
57- 2463 .PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
59- 2543 .PARER -- SPECIAL ERROR ROUTINES 7609.24
64- 2687 .PTDIE -- RECURSIVE TRAP HANDLER 7609.24
65- 2724 .PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
68- 2844 .PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
69- 2938 FILE INTERFACE DATA
70- 3036 .FNDIR -- ROUTINE TO FIND DIRECTORY FILE ID
71- 3099 .LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FID
72- 3163 .ENTER -- ROUTINE TO ENTER A FILE
73- 3213 .OPEN -- ROUTINE TO OPEN A FILE
74- 3268 .EXTND -- ROUTINE TO EXTEND A FILE
75- 3317 .CLOSE -- ROUTINE TO CLOSE A FILE
76- 3381 .SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK
77- 3420 .READR -- ROUTINE TO READ A RECORD
78- 3476 .READW -- READ A WORD FROM A FILE
79- 3513 .READB -- READ A BYTE FROM A FILE
80- 3546 .READ -- ROUTINE TO READ A BLOCK
81- 3594 .WRITR -- ROUTINE TO WRITE A RECORD
82- 3650 .WRITW -- WRITE A WORD TO A FILE
83- 3686 .WRITB -- WRITE A BYTE TO A FILE
84- 3717 .WRITZ -- WRITE OUT CURRENT BLOCK
85- 3758 .WRITE -- ROUTINE TO WRITE A BLOCK
88- 3840 .BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
89- 3880 .CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
90- 3919 .CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
92- 3976 .DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
96- 4116 .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
98- 4180 .EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
103- 4368 .EXCTF -- FAST INTERNAL EXECUTE 7602.17
105- 4458 .FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
107- 4535 .FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
109- 4632 .FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
112- 4734 .KLCON -- KL CONTINUE SUBROUTINE 7710.11
114- 4799 .KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
116- 4889 .KLST -- SUBROUTINE TO START THE KL 7512.08
117- 4934 .KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
118- 4993 .KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
120- 5052 .KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
121- 5091 .LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
123- 5137 .LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
125- 5218 .LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51
TABLE OF CONTENTS
127- 5272 .MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
129- 5343 .RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 7510.09
132- 5473 .RDCRD -- SUBROUTINE TO READ THE KL CRAM DISP FIELD 7511.22
133- 5506 .RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19
135- 5599 .RDCRO -- SUBROUTINE TO READ THE KL CRAM OUTPUT 7511.05
136- 5632 .RDFMA -- SUBROUTINE TO READ THE KL FM ADDRESS 7511.14
137- 5680 .RDFMO -- SUBROUTINE TO READ KL FAST MEMORY OUTPUT 7708.30
138- 5713 .RDFMP -- READ FM PARITY ERROR BIT
139- 5746 .RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
140- 5797 .RESET -- KL RESET SUBROUTINES 7511.18
142- 5870 .RESTD -- DTE-20 RESET SUBROUTINE 7607.20
143- 5913 .RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
144- 5959 .RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
146- 6009 .RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
147- 6039 .STCLK -- START KL CLOCK SUBROUTINE 7607.15
148- 6070 .STPKL -- SUBROUTINE TO STOP THE KL 7602.25
149- 6100 .STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
150- 6134 .STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
151- 6166 .STUCD -- START KL MICROCODE SUBROUTINE 7511.22
153- 6237 .SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
154- 6268 .WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
155- 6314 .WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03
156- 6436 .NULLC -- THE NULL COMMAND 7602.10
158- 6480 .DOCMD -- DECODE A SINGLE COMMAND 7602.03
160- 6554 .EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
161- 6607 .START -- COMMAND PARSER MAIN LOOP 7602.02
162- 6633 .RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
164- 6702 .TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
168- 6819 .SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
172- 6912 .REPTC -- THE "REPEAT" COMMAND 7703.25
174- 7007 .CMDTB -- THE MAIN COMMAND TABLE 7703.25
175- 7089 .DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
176- 7104 .DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
177- 7125 .EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
178- 7140 .EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
179- 7213 .KLMTB -- THE KLINIK MODE TABLE 7702.16
180- 7231 .MONTB -- THE MONTH TABLE 7702.16
181- 7262 .NSETB -- NORMAL ERROR CODE TABLE 7710.11
182- 7362 .RSTTB -- THE RESTORE COMMAND TABLE 8306.09
183- 7369 .SAVTB -- THE SAVE COMMAND TABLE 8306.09
184- 7378 .RESTB -- THE RESET COMMAND TABLE 7602.18
185- 7399 .SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
186- 7426 .SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
187- 7435 .SCCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
188- 7448 .SCOTT -- THE "SET OUTPUT" COMMAND TABLE
189- 7459 .SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
190- 7478 .SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
191- 7519 .SPETB -- SPECIAL ERROR CODE TABLE 7702.16
192- 7538 .STRTB -- THE START COMMAND TABLE 7602.26
193- 7547 .WHATB -- THE WHAT COMMAND TABLE 7703.25
196- 7626 .SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
197- 7667 .TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
200- 7763 .TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
201- 7815 .TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
202- 7855 .TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
203- 7891 .TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
204- 7925 .TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51
TABLE OF CONTENTS
205- 7962 .TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
206- 8002 .TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
209- 8080 .TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
210- 8130 .TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
213- 8229 .TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
215- 8312 .DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
218- 8401 .EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
222- 8542 .GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
223- 8585 .GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
225- 8715 .ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
226- 8757 .GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
227- 8788 .GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
228- 8821 .GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
230- 8906 .GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"
231- 9009 .GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
233- 9069 .GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
235- 9137 .GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
238- 9258 .GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
242- 9361 .TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
244- 9425 .TYACE -- TYPE AC ADDR AND CONTENTS
245- 9498 .TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
246- 9542 .TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
247- 9588 .TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
248- 9630 .TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
249- 9677 .TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
251- 9750 .TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.23
253- 9831 .TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF> 7601.23
254- 9878 .TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVICE 7601.23
255- 9907 .TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
257- 9962 .TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
259-10032 .TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 1
1 .IIF NDF FTLCMN,.NLIST
2 .TITLE DEFINE -- LOCAL DEFINITION MODULE 7709.20
3
4 .IDENT "015500"
5
6 ;
7 ; COPYRIGHT (C) 1977, 1984,1985 BY
8 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
9 ; ALL RIGHTS RESERVED
10 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
11 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
12 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
13 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
14 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
15 ;
16 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
17 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
18 ; CORPORATION.
19 ;
20 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
21 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
22 ;
23 ; MODULE: LOCAL DEFINITIONS
24 ;
25 ; VERSION: 15-50
26 ;
27 ; AUTHOR: R. BELANGER
28 ;
29 ; DATE: 7905.10
30 ;
31 ; THIS MODULE CONTAINS:
32 ;
33 ; 1) LOCAL MACRO DEFINITIONS
34 ; 2) LOCAL ASSEMBLY SWITCHES
35 ; 3) LOCAL DEFINITIONS
36 ; 4) LOCAL EQUATED SYMBOLS
37 ;
38 ; MODIFICATIONS:
39 ;
40 ; NO. DATE PROGRAMMER REASON
41 ; --- ---- ---------- ------
42 ; 001 11-DEC-77 A. PECKHAM DELETE LOCAL DEFINITIONS
43 ; OF PROTOCOL CHANGE AND
44 ; CONTROL-C EVENT FLAGS
45 ; 002 16-FEB-77 R. BELANGER REMOVE KLINIK CONDITIONALS
46 ;
47 ; SET VERSION OF THE PARSER HERE
48 ;
49 000015 PAR$$V = 15 ; VERSION 15
50 000050 PAR$$E = 50 ; EDIT 50
51 ;
52 ; THIS IS BEING EXPERIMENTED
53 ;
54 000126 PAR$$K = 'V ; KEY FOR RELEASE
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 2
DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20
56 .SBTTL DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20
57
58 000000 FT1145=0 ; ASSEMBLE FOR PDP-11/45 IF .NE. 0
59 000001 FT1140=1 ; ASSEMBLE FOR PDP-11/40 IF .NE. 0
60 000000 FT1135=0 ; ASSEMBLE FOR PDP-11/35 IF .NE. 0
61 000000 FT1120=0 ; ASSEMBLE FOR PDP-11/20 IF .NE. 0
62 000000 FT1115=0 ; ASSEMBLE FOR PDP-11/15 IF .NE. 0
63 000000 FT1110=0 ; ASSEMBLE FOR PDP-11/10 IF .NE. 0
64 000000 FT1105=0 ; ASSEMBLE FOR PDP-11/05 IF .NE. 0
65 000000 FTBYTE=0 ; ASSEMBLE BYTE SUPPORT IF .NE 0
66 000000 FTCRAM=0 ; ASSEMBLE CRAM FEATURES IF .NE. 0
67 000001 FTDEBUG=1 ; ASSEMBLE DEBUG FEATURES IF .NE. 0
68 000000 FTDISP=0 ; ASSEMBLE DISPATCH TABLE IF .NE 0
69 000000 FTDRAM=0 ; ASSEMBLE DRAM FEATURES IF .NE. 0
70 000000 FTHELP=0 ; ASSEMBLE HELP FEATURE IF .NE. 0
71 000000 FTKLER=0 ; ASSEMBLE "KLERR" SUPPORT IF .NE. 0
72 000000 FTLCVT=0 ; ASSEMBLE LOWER CASE SUPPORT IF .NE. 0
73 000001 FTLIST=1 ; ASSEMBLE LPT SUPPORT IF .NE. 0
74 000001 FTTRAK=1 ; ASSEMBLE TRACK FEATURE IF .NE. 0
75 000001 FTTRP4=1 ; ASSEMBLE TRAP AT 4 CODE IF .NE. 0
76 000130 FTUCVR=130 ; MICROCODE FEATURE SWITCH
77 000001 FTKLE=1 ; KLERR SNAPSHOT SUPPORT FLAG
78 ;DEB880=0 ; DEFINED IF DEBUGGING ON RSX-11M SYS880
79
80 .IF NE FT1145
81 FT1140=1
82 .ENDC ; FT1145
83
84 .IF NE FT1140
85 000001 FT1135=1
86 .ENDC ; FT1140
87
88 .IF NE FT1135
89 000001 FT1120=1
90 .ENDC ; FT1135
91
92 .IF NE FT1120
93 000001 FT1115=1
94 .ENDC ; FT1135
95
96 .IF NE FT1115
97 000001 FT1110=1
98 .ENDC ; FT1115
99
100 .IF NE FT1110
101 000001 FT1105=1
102 .ENDC ; FT1110
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 3
DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
104 .SBTTL DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
105
106 .LIST MEB, SYM
107 .NLIST CND
108 .ENABL AMA
109
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 4
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
114 .SBTTL DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
115
116 ; SUBROUTINE CALL MACROS
117
118 .MACRO CALL REG,DEST
119 .NTYPE $$,REG
120 .IF EQ $$&70
121 JSR REG,DEST
122 .IFF
123 JSR PC,REG
124 .ENDC ; IF EQ
125 .ENDM CALL
126
127 .MACRO CALLR DEST
128 JMP DEST
129 .ENDM CALLR
130
131 ; STACK OPERATION MACROS
132
133 .MACRO POP ARG
134 .IRP A,<ARG>
135 MOV (SP)+,A
136 .ENDR
137 .ENDM POP
138
139 .MACRO PUSH ARG
140 .IRP A,<ARG>
141 MOV A,-(SP)
142 .ENDR
143 .ENDM PUSH
144
145 ; SUBROUTINE RETURN MACRO
146
147 .MACRO RETURN REG
148 .IF NB <REG>
149 RTS REG
150 .IFF
151 RTS PC
152 .ENDC ; IF NB
153 .ENDM RETURN
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 5
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
155 ; DEFINE THE ERROR TRAP MACRO FOR ".PTTRP"
156
157 .MACRO ERROR$ CODE
158 PUSH #^R'CODE
159 TRAP TC.ERR
160 .ENDM ERROR$
161
162 ; DEFINE THE FATAL TRAP MACRO FOR ".PTTRP"
163
164 .MACRO FATAL$ CODE
165 FA$'CODE=.
166 PUSH #^R'CODE
167 TRAP TC.RST
168 .ENDM FATAL$
169
170 ; DEFINE THE CONTINUE TRAP MACRO FOR ".PTTRP"
171
172 .MACRO ERCON$ CODE
173 EC$'CODE=.
174 PUSH #^R'CODE
175 TRAP TC.CON
176 TST (SP)+
177 .ENDM ERCON$
178
179 ; DEFINE THE COMMAND TABLE MACRO
180
181 .MACRO COMND$ COMMAND,LGLBTS,DISPAT,NAM
182 .PSECT MESSAG
183 .IF NDF,NAM'MSG
184 $$$'NAM=0
185 NAM'MSG:: .ASCIZ %COMMAND%
186 .ENDC
187 .IF DF,$$PASS2
188 $$$'NAM=$$$'NAM+1
189 .IF EQ,$$$'NAM-1
190 NAM'MSG:: .ASCIZ %COMMAND%
191 .ENDC
192 .ENDC
193 .PSECT DATA
194 .WORD NAM'MSG ; POINTER TO "COMMAND" SYMBOL
195 .WORD LGLBTS ; LEGAL BITS
196 .WORD DISPAT ; ROUTINE TO CALL OR DATA
197 .ENDM COMND$
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 6
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
199 ; DEFINE THE NORMAL ERROR CODE MACRO
200
201 .MACRO NSERR$ COD,STRING
202 .PSECT ERRMSG
203 COD'ERM: .ASCIZ %COD - STRING%
204 .PSECT DATA
205 .RAD50 /COD/ ; "COD" IN .RAD50
206 .WORD COD'ERM ; POINTER TO MESSAGE
207 .ENDM NSERR$
208
209 ; DEFINE THE SPECIAL ERROR CODE MACRO
210
211 .MACRO SPERR$ COD,STRING
212 .PSECT ERRMSG
213 COD'ERM:
214 .ASCIZ %COD - STRING%
215 .PSECT DATA
216 .RAD50 /COD/ ; "COD" IN .RAD50
217 .WORD .SE'COD ; DISPATCH TO HANDLER
218 .WORD COD'ERM ; POINTER TO MESSAGE
219 .ENDM SPERR$
220
221 ; DEFINE AN "EXCHANGE" MACRO
222
223 .MACRO EXCH$ ARG1,ARG2
224 MOV ARG1,-(SP)
225 MOV ARG2,ARG1
226 MOV (SP)+,ARG2
227 .ENDM EXCH$
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 7
DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
229 .SBTTL DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
230
231 ; DEFINE KL I/O OPCODES
232
233 000000 BLKI=0 ; BLOCK IN
234 000001 DATAI=1 ; DATA IN
235 000002 BLKO=2 ; BLOCK OUT
236 000003 DATAO=3 ; DATA OUT
237 000004 CONO=4 ; CONDITIONS OUT
238 000005 CONI=5 ; CONDITIONS IN
239 000006 CONSZ=6 ; " " SKIP IF ZERO
240 000007 CONSO=7 ; " " " " ONES
241
242 ; DEFINE KL INTERNAL I/O DEVICES
243
244 000000 APR=0 ; ARITHMETIC PROCESSOR (ALU)
245 000004 PI=4 ; PRIORITY INTERRUPT SYSTEM
246 000010 PAG=10 ; PAGING SYSTEM
247 000014 CCA=14 ; CACHE CONTROL
248 000574 KLP=574 ; [**]
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 8
DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
250 ; DEFINE KL INSTRUCTION MACRO
251
252 .MACRO IKL$ OP,DAC,DI,DAD,DXR
253 ADH=0
254 ADL=0
255 .IF NB,DAD
256 .IRPC AD1,DAD
257 .IIF GE,<ADL-10000>,ADH=ADL/10000
258 ADL=10*<ADL&7777>+AD1
259 .ENDR
260 .ENDC ; .IF NB
261 .IIF B,DAC,AC=0
262 .IIF NB,DAC,AC=DAC
263 .IIF B,DI,I=0
264 .IIF NB,DI,I=DI
265 .IIF B,DXR,XR=0
266 .IIF NB,DXR,XR=DXR
267 $$A=<ADL&377>
268 $$B=<<ADL/400>!<ADH*200&377>>
269 $$C=<AC&1*200+<I*100+<XR*4>>+<ADH/2>>
270 $$D=<OP&37*10+<AC/2>>
271 $$E=<OP/40>
272 $$F=0
273 .BYTE $$A,$$B
274 .BYTE $$C,$$D
275 .BYTE $$E,$$F
276 .ENDM IKL$
277
278 ; DEFINE KL I/O INSTRUCTION MACRO
279
280 .MACRO IOKL$ OP,DDV,DI,DAD,DXR
281 .IIF B,DI,I=0
282 .IIF NB,DI,I=DI
283 .IIF B,DXR,XR=0
284 .IIF NB,DXR,XR=DXR
285 ADH = 0
286 ADL = 0
287 .IRPC AD1,DAD
288 .IIF GE,<ADL-10000>, ADH=ADL/10000
289 ADL=10*<ADL&7777>+AD1
290 .ENDR
291 $$A=<ADL&377>
292 $$B=<<ADL/400>!<ADH*200&377>>
293 $$C=<OP&1*200+<I*100+<XR*4>>+<ADH/2>>
294 $$D=<DDV&374+<OP/2>>
295 $$E=<DDV/400+16>
296 $$F=0
297 .BYTE $$A,$$B
298 .BYTE $$C,$$D
299 .BYTE $$E,$$F
300 .ENDM IOKL$
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 9
DEFINE -- LOCAL DEFINITIONS 7709.20
302 .SBTTL DEFINE -- LOCAL DEFINITIONS 7709.20
303
304 ; LOCAL DEFINITIONS
305
306 000001 BIT00=000001 ; DEFINE LOW BITS FOR SYMMETRY
307 000002 BIT01=000002
308 000004 BIT02=000004
309 000010 BIT03=000010
310 000020 BIT04=000020
311 000040 BIT05=000040
312 000100 BIT06=000100
313 000200 BIT07=000200
314 000400 BIT08=000400
315 001000 BIT09=001000
316 002000 BIT10=002000
317 004000 BIT11=004000
318 010000 BIT12=010000
319 020000 BIT13=020000
320 040000 BIT14=040000
321 100000 BIT15=100000
322
323 ; DEFINE EXAMINE DEPOSIT MODE BYTES
324
325 000000 ED.EPT=0*40 ; EXEC PROCESS TABLE (RELATIVE)
326 000040 ED.EXV=1*40 ; EXEC VIRTUAL SPACE
327 000100 ED.UPT=2*40 ; USER PROCESS TABLE (RELATIVE)
328 000140 ED.USV=3*40 ; USER VIRTUAL SPACE
329 000200 ED.PHY=4*40 ; PHYSICAL ADDRESSES
330
331 ; DEFINE BITS IN ".PEWRD"
332
333 000001 PE.CES=1 ; CLOCK ERROR STOP
334 000002 PE.DRM=2 ; DRAM PARITY ERROR
335 000004 PE.CRM=4 ; CRAM PARITY ERROR
336 000010 PE.FMP=10 ; FAST MEMORY PARITY ERROR
337 000020 PE.FSS=20 ; FIELD SERVICE STOP
338 000037 PE.ALL=PE.CES!PE.DRM!PE.CRM!PE.FMP!PE.FSS
339
340 ; DEFINE BITS IN ".APRWD"
341
342 000001 AP.PWF=1 ; APR POWER FAIL
343 000002 AP.SAP=2 ; APR SBUS ADDRESS PARITY ERROR
344 000004 AP.CDP=4 ; APR CACHE DIRECTORY PARITY ERROR
345 000010 AP.MPE=10 ; APR MB (MEMORY) PARITY ERROR
346 000020 AP.IPF=20 ; APR I/O PAGE FAIL ERROR
347 000040 AP.NXM=40 ; APR NON-EX-MEM ERROR
348 000100 AP.SBE=100 ; APR SBUS ERROR
349 000177 AP.ALL=AP.PWF!AP.SAP!AP.CDP!AP.MPE!AP.IPF!AP.NXM!AP.SBE
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 10
DEFINE -- LOCAL DEFINITIONS 7709.20
351 ; DEFINE OFFSETS INTO DTE-20 DIAG REGISTERS
352
353 000000 .DIAG1=0 ; DTE-20 DIAG1 WORD
354 000002 .DIAG2=2 ; DTE-20 DIAG2 WORD
355 000004 .DTSTW=4 ; DTE-20 STATUS WORD
356 000006 .DIAG3=6 ; DTE-20 DIAG3 WORD
357
358 ; DEFINE DTE-20 DIAG1 BITS
359
360 100000 D1.DS0=BIT15 ; DIAGNOSTIC SELECT CODE 00 [WRITE]
361 040000 D1.DS1=BIT14 ; " " " 01 "
362 020000 D1.DS2=BIT13 ; " " " 02 "
363 010000 D1.DS3=BIT12 ; " " " 03 "
364 004000 D1.DS4=BIT11 ; " " " 04 "
365 002000 D1.DS5=BIT10 ; " " " 05 "
366 001000 D1.DS6=BIT09 ; " " " 06 "
367 004000 D1.CES=BIT11 ; KL CLOCK ERROR STOP [READ]
368 002000 D1.RUN=BIT10 ; KL RUN FLAG [READ]
369 001000 D1.HLP=BIT09 ; KL IS IN HALT LOOP [READ]
370 000400 D1.DEX=BIT08 ; DTE-20 IS IN DEPOSIT / EXAMINE STATE [READ]
371 000200 D1.T10=BIT07 ; DTE-20 IS IN TO KL STATE [READ]
372 000200 D1.LBK=BIT07 ; PUT DTE-20 IN LOOPBACK MODE [WRITE]
373 000100 D1.T11=BIT06 ; DTE-20 IS IN TO 11 STATE [READ]
374 000040 D1.DDT=BIT05 ; SET DTE-20 DIAGNOSTIC MODE [WRITE]
375 ; DTE-20 IS IN DIAGNOSTIC MODE [READ]
376 000020 D1.V04=BIT04 ; VECTOR INTERRUPT ADDRESS BIT 04 [READ]
377 000020 D1.PLS=BIT04 ; GENERATE A CLOCK CYCLE IF D1.DDT SET [WRITE]
378 000010 D1.DFM=BIT03 ; CHANGE EX / DEP TO DIAG FUNCTIONS IF PRIVILEGED [WRITE]
379 000004 D1.XFR=BIT02 ; SEND DATA TO KL IF = 1 [READ]
380 ; RECEIVE DATA FROM KL IF = 0 [READ]
381
382 ; BIT 01 IS UNUSED [MBZ]
383
384 000001 D1.DCS=BIT00 ; DIAG COMMAND IN PROGRESS [READ]
385 ; SET DIAGNOSTIC COMMAND START IF = 1 [WRITE]
386 ; CLEAR DIAGNOSTIC COMMAND START IF = 0 [WRITE]
387 000442 D1.MBZ=D1.DEX!D1.DDT!BIT01 ; MUST BE ZERO ON WRITE
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 11
DEFINE -- LOCAL DEFINITIONS 7709.20
389 ; DEFINE DTE-20 DIAG2 BITS
390
391 100000 D2.RA0=BIT15 ; RFM ADDRESS BIT 0 [READ]
392 040000 D2.RA1=BIT14 ; RFM ADDRESS BIT 1 [READ]
393 040000 D2.EBD=BIT14 ; SET EBUS DONE IF = 1 [WRITE]
394 ; CLEAR EBUS DONE IF = 0 [WRITE]
395 020000 D2.RA2=BIT13 ; RFM ADDRESS BIT 2 [READ]
396
397 ; BITS 11 THRU 7 ARE UNUSED [MBZ]
398
399 000100 D2.RST=BIT06 ; RESET THE DTE-20 IF = 1 [WRITE]
400
401 ; BIT 5 IS UNUSED [MBZ]
402
403 000020 D2.MS8=BIT04 ; MINOR STATE COUNTER BIT 8 [WRITE]
404 000010 D2.MS4=BIT03 ; " " " " 4 "
405 000004 D2.MS2=BIT02 ; " " " " 2 "
406 000002 D2.MS1=BIT01 ; " " " " 1 "
407
408 ; BIT 0 IS UNUSED [MBZ]
409
410 177641 D2.MBZ=BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT05!BIT00
411
412 ; DEFINE DTE-20 DIAG3 BITS
413
414 100000 D3.SSL=BIT15 ; SWAP SELECT LEFT [READ]
415 040000 D3.PAR=BIT14 ; PARITY FLOP [READ]
416
417 ; BITS 13 THRU 08 ARE UNIBUS PARITY ERROR INFO [READ]
418
419 ; BITS 07 AND 06 ARE UNUSED [MBZ]
420
421 000040 D3.SCD=BIT05 ; SHIFT DATA IN 13-08 FOR NEXT READ [WRITE]
422 000020 D3.UPE=BIT04 ; DATO UNIBUS PARITY ERROR (DUPE) [READ]
423 000020 D3.CDD=BIT04 ; CLEAR DUPE AND DURE FLAGS
424 000010 D3.WEP=BIT03 ; WRITE EVEN UNIBUS PARITY FLOP [READ]
425 ; WRITE EVEN UNIBUS PARITY IF = 1 [WRITE]
426 ; WRITE ODD (GOOD) UNIBUS PARITY IF = 0 [WRITE]
427 000004 D3.URE=BIT02 ; DATO UNIBUS RECEIVE ERROR FLAG (DURE) [READ]
428 000002 D3.NPE=BIT01 ; NPR UNIBUS PARITY ERROR FLAG (NUPE) [READ]
429 ; CLEAR NUPE [WRITE]
430 000001 D3.TXB=BIT00 ; SET TO KL BYTE TRANSFER MODE [WRITE]
431
432 177704 D3.MBZ=BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT06!BIT02
433
434 000001 D3.RST=D3.TXB ; DIAG WORD 3 RESET BIT
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 12
DEFINE -- LOCAL DEFINITIONS 7709.20
436 ; DEFINE DTE-20 STATUS BITS
437
438 100000 ST.TXD=BIT15 ; TO KL TRANSFER DONE FLAG [READ]
439 ; SET TO KL TRANSFER DONE [WRITE]
440 040000 ST.CTD=BIT14 ; CLEAR TO KL TRANSFER DONE FLAG [WRITE]
441 020000 ST.TXE=BIT13 ; TO KL ERROR DONE FLAG [READ]
442 ; SET TO KL ERROR DONE FLAG [WRITE]
443 010000 ST.RIZ=BIT12 ; DTE-20 RAM LOCATION IS ZEROES [READ]
444 010000 ST.CTE=BIT12 ; CLEAR TO KL ERROR DONE FLAG [WRITE]
445 004000 ST.EDB=BIT11 ; 11 DOORBELL FLAG [READ]
446 ; SET THE 11 DOORBELL FLAG [WRITE]
447 002000 ST.DW1=BIT10 ; YES, THIS BIT IS HERE
448 001000 ST.MPE=BIT09 ; 11 MEMORY PARITY ERROR DURING TO KL XFER [READ]
449 ; CLEAR ST.MPE [WRITE]
450 000400 ST.XDB=BIT08 ; KL DOORBELL FLAG [READ]
451 ; RING THE KL DOORBELL [WRITE]
452 000200 ST.TED=BIT07 ; TO 11 TRANSFER DONE FLAG [READ]
453 ; SET ST.TED [WRITE]
454 000100 ST.EBS=BIT06 ; E BUFFER SELECT [READ]
455 000100 ST.CED=BIT06 ; CLEAR ST.TED [WRITE]
456 000040 ST.NST=BIT05 ; TO 11 XFER STOPPED BECAUSE STOP BIT WAS SET [READ]
457 000040 ST.IEN=BIT05 ; ENABLE DTE-20 TO GENERATE BR REQUESTS IF = 1
458 000020 ST.EPE=BIT04 ; EBUS PARITY ERROR FLAG [READ]
459 ; CLEAR EBUS PARITY ERROR FLAG IF = 1 [WRITE]
460 000010 ST.MOD=BIT03 ; DTE-20 IS PRIVILEGED IF = 0 [READ]
461 ; " " RESTRICTED " " 1 "
462 000010 ST.IDS=BIT03 ; DISABLE DTE-20 BR REQUESTS [WRITE]
463 000004 ST.DXD=BIT02 ; DEPOSIT / EXAMINE DONE FLAG [READ]
464 000004 ST.SEP=BIT02 ; SET EBUS PARITY ERROR IF = 1 [WRITE]
465 000002 ST.TER=BIT01 ; TO 11 BYTE XFER ERROR FLAG [READ]
466 000002 ST.STE=BIT01 ; SET ST.TER IF = 1 [WRITE]
467 000001 ST.ION=BIT00 ; 11 CAN GENERATE BR REQUESTS [READ]
468 000001 ST.CLE=BIT00 ; CLEAR ST.TER IF = 1 [WRITE]
469
470 011121 ST.RST=ST.CTE!ST.MPE!ST.CED!ST.EPE!ST.CLE
471
472 000000 ST.MBZ=0 ; BIT MASK FOR WRITE
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 13
DEFINE -- LOCAL DEFINITIONS 7709.20
474 ; DEFINE FLAG BITS IN ".KLFLG"
475
476 100000 KF.CLK=BIT15 ; KL CLOCK IS RUNNING IF .NE. 0
477 040000 KF.RUN=BIT14 ; KL RUN FLOP IS ON IF .NE. 0
478 020000 KF.MRS=BIT13 ; KL MASTER RESET FLOP IS ON IF .NE. 0
479 010000 KF.SIM=BIT12 ; KL IS IN SINGLE INSTRUCTION MODE IF .NE. 0
480 004000 KF.SMC=BIT11 ; KL IS IN SINGLE PULSE MBOX MODE IF .NE. 0
481 002000 KF.SPM=BIT10 ; " " " " " EBOX " " " "
482 001000 KF.BRM=BIT09 ; KL IS IN BURST MODE IF .NE. 0
483 000400 KF.KLO=BIT08 ; KL IS IN KL INSTRUCTION MODE IF .NE. 0
484 000200 KF.CON=BIT07 ; KL IS CONTINUABLE IF .NE. 0
485 000100 KF.CES=BIT06 ; KL IS IN CLOCK ERROR STOP STATE IF .NE. 0
486 000200 KF.DEF=KF.CON ; DEFAULT FLAGS (SEE ".INKLF")
487
488 ; DEFINE BITS IN ".TRKWD"
489
491 000001 TR.FXC=BIT00 ; TRACK FUNCTION EXECUTES IF .NE. 0
492 000002 TR.FRD=BIT01 ; TRACK FUNCTION READS IF .NE. 0
493 000004 TR.FWR=BIT02 ; TRACK FUNCTION EXECUTES IF .NE. 0
494 000010 TR.EXM=BIT03 ; TRACK MEMORY EXAMINES IF .NE. 0
495 000020 TR.DEP=BIT04 ; TRACK MEMORY DEPOSITS IF .NE. 0
496 000040 TR.DTE=BIT05 ; TRACK DTE-20 OPERATIONS IF .NE. 0
497 000077 TR.ALL=TR.FXC!TR.FRD!TR.FWR!TR.EXM!TR.DEP!TR.DTE
499
500 ; DEFINE KL PC FLAGS (FROM "C.MAC" V. 1, EDIT 24 7511.25)
501
502 010000 PC.OVF=BIT12 ; KL OVERFLOW FLAG (BIT 00)
503 004000 PC.CY0=BIT11 ; KL CARRY 0 FLAG (BIT 01)
504 002000 PC.CY1=BIT10 ; KL CARRY 1 FLAG (BIT 02)
505 001000 PC.FOV=BIT09 ; KL FLOATING OVERFLOW FLAG (BIT 03)
506 000400 PC.BIS=BIT08 ; KL BYTE INCREMENT SUPPRESSION FLAG (BIT 04)
507 000200 PC.USR=BIT07 ; KL USER MODE FLAG (BIT 05)
508 000100 PC.UIO=BIT06 ; KL USER IOT MODE FLAG (BIT 06)
509 000040 PC.LIP=BIT05 ; KL LAST INSTRUCTION PUBLIC FLAG (BIT 07)
510 000020 PC.AFI=BIT04 ; KL ADDRESS FAILURE INHIBIT FLAG (BIT 08)
511 000010 PC.AT1=BIT03 ; KL APR TRAP 1 FLAG (BIT 09)
512 000004 PC.AT0=BIT02 ; KL APR TRAP 0 FLAG (BIT 10)
513 000002 PC.FUF=BIT01 ; KL FLOATING UNDERFLOW FLAG (BIT 11)
514 000001 PC.NDV=BIT00 ; KL NO DIVIDE FLAG (BIT 12)
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 14
DEFINE -- LOCAL DEFINITIONS 7709.20
516 ; DEFINE DIAGNOSTIC FUNCTION EXECUTE CODES
517
518 000000 FX.000=0
519 000000 FX.CSP=FX.000 ; STOP THE KL CLOCK
520 000002 FX.001=1*2
521 000002 FX.CST=FX.001 ; START THE KL CLOCK
522 000004 FX.002=2*2
523 000004 FX.MBC=FX.002 ; PULSE THE MBOX CLOCK
524 000006 FX.003=3*2
525 000006 FX.EBC=FX.003 ; PULSE THE EBOX CLOCK
526 000010 FX.004=4*2
527 000010 FX.SYC=FX.004 ; SYNCH THE EBOX CLOCK LOW
528 000012 FX.005=5*2
529 000012 FX.BMC=FX.005 ; BURST THE MBOX CLOCK
530 000014 FX.006=6*2
531 000014 FX.CMR=FX.006 ; CLEAR MASTER RESET STATE
532 000016 FX.007=7*2
533 000016 FX.SMR=FX.007 ; SET MASTER RESET STATE
534
535 000020 FX.010=10*2
536 000020 FX.CRF=FX.010 ; CLEAR THE KL RUN FLOP
537 000022 FX.011=11*2
538 000022 FX.SRF=FX.011 ; SET THE KL RUN FLOP
539 000024 FX.012=12*2
540 000024 FX.CON=FX.012 ; SET THE KL CONTINUE FLOP
541 000026 FX.013=13*2
542 000030 FX.014=14*2
543 000030 FX.UIR=FX.014 ; UNLATCH THE IR
544 000032 FX.015=15*2
545 000032 FX.UDR=FX.015 ; UNLATCH THE DRAM REGISTER
546 000034 FX.016=16*2
547 000036 FX.017=17*2
548
549 000040 FX.020=20*2
550 000042 FX.021=21*2
551 000044 FX.022=22*2
552 000046 FX.023=23*2
553 000050 FX.024=24*2
554 000052 FX.025=25*2
555 000054 FX.026=26*2
556 000056 FX.027=27*2
557
558 000060 FX.030=30*2
559 000062 FX.031=31*2
560 000064 FX.032=32*2
561 000066 FX.033=33*2
562 000070 FX.034=34*2
563 000072 FX.035=35*2
564 000074 FX.036=36*2
565 000076 FX.037=37*2
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 15
DEFINE -- LOCAL DEFINITIONS 7709.20
567 ; DEFINE DIAGNOSTIC FUNCTION WRITE CODES
568
569 000100 FW.040=40*2
570 000102 FW.041=41*2
571 000104 FW.042=42*2
572 000104 FW.LBR=FW.042 ; LOAD BURST COUNTER RIGHT 4 BITS
573 000106 FW.043=43*2
574 000106 FW.LBL=FW.043 ; LOAD BURST COUNTER LEFT 4 BITS
575 000110 FW.044=44*2
576 000110 FW.CSR=FW.044 ; LOAD THE KL CLOCK SOURCE AND RATE
577
578 ; CLOCK SOURCE AND RATE CODES, EBUS 32-33 AND 34-35, RESPECTIVELY,
579 ; IN LOW BYTE OF CLOCK CONTROL WORD (".CLKWD").
580
581 000000 CS.NRM=0&14 ; KL NORMAL CLOCK SOURCE (EBUS 32-33)
582 000004 CS.CS1=4&14 ; KL CLOCK SOURCE 1
583 000010 CS.CS2=10&14 ; KL CLOCK SOURCE 2
584 000004 CS.FST=4&14 ; KL FAST CLOCK SOURCE
585 000004 CS.MGN=CS.FST ; KL MARGIN CLOCK SOURCE
586 000010 CS.EXT=10&14 ; KL EXTERNAL CLOCK SOURCE
587 000014 CS.UDF=14&14 ; UNDEFINED (DEFAULT TO FAST)
588 000014 CS.ALL=CS.CS1!CS.CS2 ; CLOCK SOURCE BIT MASK
589
590 000000 CR.NRM=0&3 ; KL NORMAL CLOCK SOURCE (EBUS 34-35)
591 000001 CR.CR1=1&3 ; KL CLOCK RATE 1
592 000002 CR.CR2=2&3 ; KL CLOCK RATE 2
593 000000 CR.FUL=0&3 ; KL CLOCK FULL SPEED
594 000001 CR.HLF=1&3 ; " " HALF "
595 000002 CR.QTR=2&3 ; " " QRTR "
596 000003 CR.SLO=3&3 ; " " SLOW "
597 000003 CR.ALL=CR.CR1!CR.CR2 ; CLOCK RATE BIT MASK
598
599 000112 FW.045=45*2
600 000112 FW.CDR=FW.045 ; LOAD THE KL CLOCK DISTRIBUTION REGISTER
601
602 ; CLOCK DISTRIBUTION DISABLE CODES, EBUS 33-35 TO THE KL, ALSO IN
603 ; THE HIGH BYTE OF THE CLOCK CONTROL WORD (".CLKWD").
604
605 002000 CD.CRC=<4&7>*400 ; DISABLE CONTROL RAM CLOCKS
606 001000 CD.DPC=<2&7>*400 ; DISABLE DATA PATHS CLOCKS
607 000400 CD.CLC=<1&7>*400 ; DISABLE CONTROL LOGIC CLOCKS
608 000000 CD.NRM=<0&7>*400 ; NORMAL CLOCK ENABLES
609 003400 CD.ALL=<7&7>*400 ; CLOCK DISABLE BIT MASK
610
611 000000 CC.NRM=0 ; NORMAL CLOCK CONTROL WORD
612 003417 CC.ALL=CS.ALL!CR.ALL!CD.ALL ; CLOCK CONTROL BIT MASK
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 16
DEFINE -- LOCAL DEFINITIONS 7709.20
614 000114 FW.046=46*2
615 000114 FW.IPE=FW.046 ; LOAD INTERNAL PARITY ENABLES
616
617 ; INTERNAL KL PARITY ENABLE CODES, EBUS 32 - 35 TO THE KL,
618 ; ALSO IN LOW BYTE OF THE PARITY STOP CONTROL WORD (".PSCWD").
619
620 000010 IP.FMP=10&17 ; FAST MEMORY PARITY STOP ENABLE
621 000004 IP.CRP=4&17 ; CRAM PARITY STOP ENABLE
622 000002 IP.DRP=2&17 ; DRAM PARITY STOP ENABLE
623 000001 IP.FSS=1&17 ; FIELD SERVICE STOP ENABLE
624 000016 IP.NRM=IP.FMP!IP.CRP!IP.DRP
625 000017 IP.ALL=IP.NRM!IP.FSS
626
627 000116 FW.047=47*2
628 000116 FW.APE=FW.047 ; LOAD AR/ARX PARITY ENABLES (ET AL.)
629
630 ; INTERNAL KL PARITY STOP CODES, EBUS 32 - 35 TO KL, "AP.EIP" MUST
631 ; BE SET TO ALLOW "IP.XXX" CONDITIONS TO STOP THE KL CLOCK
632 ; MAINTAINED IN HIGH BYTE OF THE PARITY STOP CONTROL WORD (".PSCWD").
633
634 001000 AP.ARP=<2&17>*400 ; ALLOW AR/ARX PARITY TO CAUSE A
635 ; PAGE FAIL TRAP IN THE KL
636 000400 AP.EIP=<1&17>*400 ; ENABLE INTERNAL PARITY ENABLES TO
637 ; STOP THE KL CLOCK
638 001400 AP.NRM=AP.EIP!AP.ARP ; NORMAL PARITY STOP ENABLES
639
640 001416 PS.NRM=AP.NRM!IP.NRM ; NORMAL PARITY STOP CONTROL WORD
641
642 000120 FW.050=50*2
643 000122 FW.051=51*2
644 000122 FW.CA1=FW.051 ; LOAD LOW CRAM ADDRESS
645 000124 FW.052=52*2
646 000124 FW.CA2=FW.052 ; LOAD HIGH CRAM ADDRESS
647 000126 FW.053=53*2
648 000126 FW.CRD=FW.053 ; LOAD CRAM DISPATCH
649 000130 FW.054=54*2
650 000130 FW.CR4=FW.054 ; LOAD CRAM BITS 60 THRU 78
651 000132 FW.055=55*2
652 000132 FW.CR3=FW.055 ; LOAD CRAM BITS 40 THRU 59
653 000134 FW.056=56*2
654 000134 FW.CR2=FW.056 ; LOAD CRAM BITS 20 THRU 39
655 000136 FW.057=57*2
656 000136 FW.CR1=FW.057 ; LOAD CRAM BITS 00 THRU 19
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 17
DEFINE -- LOCAL DEFINITIONS 7709.20
658 000140 FW.060=60*2
659 000140 FW.DR1=FW.060 ; LOAD DRAM A AND B EVEN
660 000142 FW.061=61*2
661 000142 FW.DR2=FW.061 ; LOAD DRAM A AND B ODD
662 000144 FW.062=62*2
663 000144 FW.DR3=FW.062 ; LOAD DRAM J COMMON
664 000146 FW.063=63*2
665 000146 FW.DJE=FW.063 ; LOAD DRAM J EVEN
666 000150 FW.064=64*2
667 000150 FW.DJO=FW.064 ; LOAD DRAM J ODD
668 000152 FW.065=65*2
669 000152 FW.IOJ=FW.065 ; DISABLE SPECIAL DECODE OF I/O AND JRST
670 000154 FW.066=66*2
671 000154 FW.IAC=FW.066 ; DISABLE IR AC OUTPUTS
672 000156 FW.067=67*2
673 000156 FW.KLO=FW.067 ; ENABLE KL OPCODES AND ACS
674
675 000160 FW.070=70*2
676 000160 FW.CHN=FW.070 ; CHANNEL CONTROL FUNCTIONS
677 000162 FW.071=71*2
678 000162 FW.MBX=FW.071 ; MBOX CONTROL FUNCTIONS
679 000164 FW.072=72*2
680 000166 FW.073=73*2
681 000170 FW.074=74*2
682 000172 FW.075=75*2
683 000174 FW.076=76*2
684 000174 FW.EBL=FW.076 ; EBUS REGISTER LOAD FUNCTION
685 000174 FW.SBR=FW.076 ; SBUS RESET FUNCTION
686 000176 FW.077=77*2
687 000176 FW.LAR=FW.077 ; LOAD AR REGISTER
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 18
DEFINE -- LOCAL DEFINITIONS 7709.20
689 ; DEFINE DIAGNOSTIC FUNCTION READ CODES
690
691 000200 FR.100=100*2
692 000200 FR.PI0=FR.100 ; PI BOARD READ 0
693 000202 FR.101=101*2
694 000202 FR.PI1=FR.101 ; PI BOARD READ 1
695 000204 FR.102=102*2
696 000206 FR.103=103*2
697 000210 FR.104=104*2
698 000212 FR.105=105*2
699 000214 FR.106=106*2
700 000216 FR.107=107*2
701
702 000220 FR.110=110*2
703 000220 FR.APR=FR.110 ; APR STATUS
704 000222 FR.111=111*2
705 000224 FR.112=112*2
706 000226 FR.113=113*2
707 000230 FR.114=114*2
708 000232 FR.115=115*2
709 000234 FR.116=116*2
710 000236 FR.117=117*2
711
712 000240 FR.120=120*2
713 000240 FR.RAR=FR.120 ; ARITHMETIC REGISTER [AR 00 - 35]
714 000242 FR.121=121*2
715 000242 FR.RBR=FR.121 ; BUFFER REGISTER [BR 00 - 35]
716 000244 FR.122=122*2
717 000244 FR.RMQ=FR.122 ; MQ REGISTER [MQ 00 - 35]
718 000246 FR.123=123*2
719 000246 FR.RFM=FR.123 ; FM REGISTER [FM 00 - 35]
720 000250 FR.124=124*2
721 000250 FR.BRX=FR.124 ; BR EXTENSION REGISTER [BRX 00 - 35]
722 000252 FR.125=125*2
723 000252 FR.ARX=FR.125 ; AR EXTENSION REGISTER [ARX 00 - 35]
724 000254 FR.126=126*2
725 000254 FR.ADX=FR.126 ; AD EXTENSION REGISTER [ADX 00 - 35]
726 000256 FR.127=127*2
727 000256 FR.RAD=FR.127 ; ADDER REGISTER [AD 00 - 35]
728
729 000260 FR.130=130*2
730 000260 FR.SC2=FR.130 ; SHIFT COUNT REGISTER 2
731 000260 FR.DA1=FR.130 ; DRAM ADDR 1
732 000262 FR.131=131*2
733 000262 FR.SC1=FR.131 ; SHIFT COUNT REGISTER 1
734 000262 FR.DA2=FR.131 ; DRAM ADDR 2
735 000264 FR.132=132*2
736 000264 FR.FE2=FR.132 ; FLOATING EXPONENT REGISTER 2
737 000266 FR.133=133*2
738 000266 FR.FE1=FR.133 ; FLOATING EXPONENT REGISTER 1
739 000270 FR.134=134*2
740 000272 FR.135=135*2
741 000274 FR.136=136*2
742 000276 FR.137=137*2
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 19
DEFINE -- LOCAL DEFINITIONS 7709.20
744 000300 FR.140=140*2
745 000302 FR.141=141*2
746 000302 FR.CRD=FR.141 ; READ CRAM DISP FIELD
747 000304 FR.142=142*2
748 000304 FR.SR2=FR.142 ; CRAM SBR RET 2
749 000306 FR.143=143*2
750 000306 FR.SR1=FR.143 ; CRAM SBR RET 1
751 000310 FR.144=144*2
752 000310 FR.CA2=FR.144 ; READ CRAM ADDRESS LOW
753 000310 FR.CR4=FR.CA2 ; CRAM DATA 60 - 78
754 000312 FR.145=145*2
755 000312 FR.CA1=FR.145 ; READ CRAM ADDRESS HIGH
756 000312 FR.CR3=FR.CA1 ; CRAM DATA 40 - 59
757 000314 FR.146=146*2
758 000314 FR.CR2=FR.146 ; CRAM DATA 20 - 39
759 000314 FR.CL2=FR.CR2 ; CRAM LOC 05 - 10
760 000316 FR.147=147*2
761 000316 FR.CR1=FR.147 ; CRAM DATA 00 - 19
762 000316 FR.CL1=FR.CR1 ; CRAM LOC 00 - 04
763
764 000320 FR.150=150*2
765 000320 FR.VM0=FR.150 ; VMA REGISTER 0
766 000322 FR.151=151*2
767 000322 FR.VM1=FR.151 ; VMA REGISTER 1
768 000324 FR.152=152*2
769 000324 FR.VM2=FR.152 ; VMA REGISTER 2
770 000326 FR.153=153*2
771 000326 FR.VM3=FR.153 ; VMA REGISTER 3
772 000330 FR.154=154*2
773 000330 FR.VM4=FR.154 ; VMA REGISTER 4
774 000332 FR.155=155*2
775 000332 FR.VM5=FR.155 ; VMA REGISTER 5
776 000334 FR.156=156*2
777 000334 FR.VM6=FR.156 ; VMA REGISTER 6
778 000336 FR.157=157*2
779 000336 FR.VM7=FR.157 ; VMA REGISTER 7
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 20
DEFINE -- LOCAL DEFINITIONS 7709.20
781 000340 FR.160=160*2
782 000342 FR.161=161*2
783 000344 FR.162=162*2
784 000346 FR.163=163*2
785 000350 FR.164=164*2
786 000352 FR.165=165*2
787 000354 FR.166=166*2
788 000356 FR.167=167*2
789 000356 FR.EBS=FR.167 ; [EBUS REG 00 THRU 35]
790
791 000360 FR.170=170*2
792 000362 FR.171=171*2
793 000364 FR.172=172*2
794 000366 FR.173=173*2
795 000370 FR.174=174*2
796 000372 FR.175=175*2
797 000374 FR.176=176*2
798 000376 FR.177=177*2
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 21
DEFINE -- LOCAL DEFINITIONS 7709.20
800 ; DEFINE EVENT FLAG CODES
801
802 000001 E.FHTO=^D1 ; KL HALT TIMEOUT EVENT FLAG
803 000002 E.FCID=^D2 ; CONSOLE DEVICE INPUT DONE EVENT FLAG
804 000003 E.FCOD=^D3 ; CONSOLE DEVICE OUTPUT DONE EVENT FLAG
805 000004 E.FKLN=^D4 ; KLINIK EVENT LOG DONE FLAG
806 000005 E.FLOD=^D5 ; LIST DEVICE OUTPUT DONE FLAG
807 000006 E.FFIL=^D6 ; FILE I/O DONE FLAG
808
809 ; DEFINE LOCAL OFFSETS FOR "QIOW$" DPBS
810
811 000014 Q.IOPL=14 ; **TEMPORARY**
812 000014 Q.IBUF=Q.IOPL ; INPUT BUFFER ADDRESS
813 000014 Q.OBUF=Q.IOPL ; OUTPUT BUFFER ADDRESS
814 000016 Q.BYCT=Q.IOPL+2 ; BUFFER BYTE COUNT (INPUT AND OUTPUT)
815 000020 Q.OVFC=Q.IOPL+4 ; OUTPUT CARRIAGE CONTROL CHARACTER
816
817 ; DEFINE THE LOGICAL UNIT NUMBERS
818
819 000001 CIDLUN=1 ; CONSOLE INPUT DEVICE LUN
820 000002 CODLUN=2 ; CONSOLE OUTPUT DEVICE LUN
821 000003 LSTLUN=3 ; LIST DEVICE LUN
822 000004 LOGLUN=4 ; LOG DEVICE LUN
823 000005 INDLUN=5 ; INDIRECT COMMAND FILE LUN
824
825 ; DEFINE THE VERTICAL FORMAT CODES FOR "QIOW$"
826
827 000000 VF.INT=000 ; <NULL> INTERNAL FORMAT CONTROL
828 000040 VF.SSP=040 ; <SPACE> SINGLE SPACE ALL LINES
829 000060 VF.DSP=060 ; "0" DOUBLE SPACE ALL LINES
830 000061 VF.FFD=061 ; "1" FORM FEED BEFORE OUTPUT
831 000053 VF.OVR=053 ; "+" OVER PRINT THE LINE
832 000044 VF.PRM=044 ; "$" PRINT LINE AS A PROMPT
833
834 ; DEFINE SOME SPECIAL CHARACTERS
835
836 000054 .COMMA=54 ; COMMA
837 000040 .SPACE=40 ; SPACE
838 000033 .ATLMD=33 ; ALT-MODE
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 22
DEFINE -- LOCAL DEFINITIONS 7709.20
840 ; DEFINE THE BITS IN THE CHARACTER PROPERTY TABLE ".CHTAB" (Q.V.)
841
842 000000 CH.NUL=0 ; CHARACTER IS NULL
843 000001 CH.ALP=BIT00 ; CHARACTER IS ALPHABETIC
844 000002 CH.NUM=BIT01 ; CHARACTER IS NUMERIC
845 000004 CH.EOL=BIT02 ; CHARACTER MAY END A LINE
846 000010 CH.EOC=BIT03 ; CHARACTER MAY END A COMMAND
847 000020 CH.EOS=BIT04 ; CHARACTER MAY END A SYMBOL
848 000040 CH.PFX=BIT05 ; CHARACTER MAY PREFIX A SYMBOL
849 000100 CH.AOP=BIT06 ; CHARACTER IS AN ARITHMETIC OPERATOR
850 000200 CH.ILL=BIT07 ; CHARACTER IS ILLEGAL
851 000034 CH.END=CH.EOL!CH.EOC!CH.EOS ; CHARACTER IS AN END CHARACTER
852 000003 CH.ANM=CH.ALP!CH.NUM ; CHARACTER IS ALPHANUMERIC
853
854 ; DEFINE THE LEGAL BITS IN THE COMMAND TABLES (Q.V.)
855
856 000000 LG.NUL=0 ; NULL
857 000001 LG.OPR=BIT00 ; COMMAND IS LEGAL IN OPERATOR MODE
858 000002 LG.PRG=BIT01 ; COMMAND IS LEGAL IN PROGRAMMER MODE
859 000004 LG.MNT=BIT02 ; COMMAND IS LEGAL IN MAINTENANACE MODE
860 000010 LG.ARG=BIT03 ; COMMAND MAY ACCEPT ARGUMENTS
861 000020 LG.MAR=BIT04 ; COMMAND MAY ACCEPT MULTIPLE ARGUMENTS
862 000040 LG.MOD=BIT05 ; COMMAND MAY ACCEPT MODIFIERS
863 000100 LG.RNG=BIT06 ; COMMAND MAY ACCEPT RANGE ARGUMENTS
864 000200 LG.STR=BIT07 ; COMMAND MAY ACCEPT STRING ARGUMENTS
865 000400 LG.RPT=BIT08 ; COMMAND MAY BE REPEATED
866 000003 LG.PRM=LG.OPR!LG.PRG ; INSURE COMMAND IS LEGAL IN BOTH MODES
867 000007 LG.ALL=LG.PRM!LG.MNT ; INSURE COMMAND IS LEGAL IN ALL MODES
868
869 ; DEFINE THE TRAP STATUS CODES
870
871 000002 TC.CTC=2 ; CONTROL-C TRAP, ABORT, RESTART, AND RETURN
872 000001 TC.RST=1 ; ABORT PROCESS AND RESTART THE KL
873 000000 TC.ERR=0 ; ABORT PROCESS AND RETURN TO PARSER
874 000377 TC.CON=377 ; REPORT ERROR AND ATTEMPT RECOVERY
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 23
DEFINE -- LOCAL DEFINITIONS 7709.20
876 ; DEFINE KL OPCODES
877
878 000270 ADD=270 ; ADD
879 000273 ADDB=273 ; ADD TO BOTH
880 000271 ADDI=271 ; ADD IMMEDIATE
881 000272 ADDM=272 ; ADD TO MEMORY
882 ;
883 000404 AND=404 ; AND
884 000407 ANDB=407 ; AND TO BOTH
885 000410 ANDCA=410 ; AND COMPLEMENT OF AC
886 000413 ANDCAB=413 ; AND COMPLEMENT OF AC TO BOTH
887 000411 ANDCAI=411 ; AND COMPLEMENT OF AC IMMEDIATE
888 000412 ANDCAM=412 ; AND COMPLEMENT OF AC TO MEMORY
889 000440 ANDCB=440 ; AND COMPLEMENT OF BOTH
890 000443 ANDCBB=443 ; AND COMPLEMENT OF BOTH TO BOTH
891 000441 ANDCBI=441 ; AND COMPLEMENT OF BOTH IMMEDIATE
892 000442 ANDCBM=442 ; AND COMPLEMENT OF BOTH TO MEMORY
893 000420 ANDCM=420 ; AND COMPLEMENT OF MEMORY
894 000423 ANDCMB=423 ; AND COMPLEMENT OF MEMORY TO BOTH
895 000421 ANDCMI=421 ; AND COMPLEMENT OF MEMORY IMMEDIATE
896 000422 ANDCMM=422 ; AND COMPLEMENT OF MEMORY TO MEMORY
897 000405 ANDI=405 ; AND IMMEDIATE
898 000406 ANDM=406 ; AND TO MEMORY
899 ;
900 000253 AOBJN=253 ; ADD 1 TO BOTH HALVES, JUMP IF NEGATIVE
901 000252 AOBJP=252 ; ADD 1 TO BOTH HALVES, JUMP IF POSITIVE
902 ;
903 000340 AOJ=340 ; ADD 1 AND (DON'T) JUMP
904 000344 AOJA=344 ; ADD 1 AND JUMP ALWAYS
905 000342 AOJE=342 ; ADD 1 AND JUMP IF .EQ. 0
906 000347 AOJG=347 ; ADD 1 AND JUMP IF .GT. 0
907 000345 AOJGE=345 ; ADD 1 AND JUMP IF .GE. 0
908 000341 AOJL=341 ; ADD 1 AND JUMP IF .LT. 0
909 000343 AOJLE=343 ; ADD 1 AND JUMP IF .LE. 0
910 000346 AOJN=346 ; ADD 1 AND JUMP IF .NE. 0
911 ;
912 000350 AOS=350 ; ADD 1 AND (DON'T) SKIP
913 000354 AOSA=354 ; ADD 1 AND SKIP ALWAYS
914 000352 AOSE=352 ; ADD 1 AND SKIP IF .EQ. 0
915 000357 AOSG=357 ; ADD 1 AND SKIP IF .GT. 0
916 000355 AOSGE=355 ; ADD 1 AND SKIP IF .GT. 0
917 000351 AOSL=351 ; ADD 1 AND SKIP IF .LT. 0
918 000353 AOSLE=353 ; ADD 1 AND SKIP IF .LE. 0
919 000356 AOSN=356 ; ADD 1 AND SKIP IF .NE. 0
920 ;
921 000240 ASH=240 ; ARITHMETIC SHIFT
922 000244 ASHC=244 ; ARITHMETIC SHIFT COMBINED
923 ;
924 000251 BLT=251 ; BLOCK TRANSFER
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 24
DEFINE -- LOCAL DEFINITIONS 7709.20
926 000300 CAI=300 ; COMPARE AC IMMEDIATE, DON'T SKIP
927 000304 CAIA=304 ; COMPARE AC IMMEDIATE, SKIP ALWAYS
928 000302 CAIE=302 ; COMPARE AC IMMEDIATE, SKIP IF .EQ.
929 000307 CAIG=307 ; COMPARE AC IMMEDIATE, SKIP IF .GT.
930 000305 CAIGE=305 ; COMPARE AC IMMDEIATE, SKIP IF .GE.
931 000301 CAIL=301 ; COMAPRE AC IMMEDIATE, SKIP IF .LT.
932 000303 CAILE=303 ; COMPARE AC IMMEDIATE, SKIP IF .LE.
933 000306 CAIN=306 ; COMPARE AC IMMEDIATE, SKIP IF .NE.
934 ;
935 000040 CALL=040 ; "CALL" UUO
936 000047 CALLI=047 ; "CALLI" UUO
937 ;
938 000310 CAM=310 ; COMPARE AC TO MEMORY, DON'T SKIP
939 000314 CAMA=314 ; COMPARE AC TO MEMORY, ALWAYS SKIP
940 000312 CAME=312 ; COMPARE AC TO MEMORY, SKIP IF .EQ.
941 000317 CAMG=317 ; COMPARE AC TO MEMORY, SKIP IF .GT.
942 000315 CAMGE=315 ; COMPARE AC TO MEMORY, SKIP IF .GE.
943 000311 CAML=311 ; COMPARE AC TO MEMORY, SKIP IF .LT.
944 000313 CAMLE=313 ; COMPARE AC TO MEMORY, SKIP IF .LE.
945 000316 CAMN=316 ; COMPARE AC TO MEMORY, SKIP IF .NE.
946 ;
947 000400 CLEAR=400 ; CLEAR AC
948 000403 CLEARB=403 ; CLEAR BOTH
949 000401 CLEARI=401 ; CLEAR IMMEDIATE
950 000402 CLEARM=402 ; CLEAR MEMORY
951 ;
952 000070 CLOSE=070 ; "CLOSE" UUO
953 ;
954 000110 DFAD=110 ; DOUBLE FLOATING ADD
955 000113 DFDV=113 ; DOUBLE FLOATING DIVIDE
956 000112 DFMP=112 ; DOUBLE FLOATING MULTIPLY
957 000131 DFN=131 ; DOUBLE FLOATING NEGATE
958 000111 DFSB=111 ; DOUBLE FLOATING SUBTRACT
959 ;
960 000234 DIV=234 ; DIVIDE
961 000237 DIVB=237 ; DIVIDE BOTH
962 000235 DIVI=235 ; DIVIDE IMMEDIATE
963 000236 DIVM=236 ; DIVIDE MEMORY
964 ;
965 000120 DMOVE=120 ; DOUBLE MOVE
966 000124 DMOVEM=124 ; DOUBLE MOVE TO MEMORY
967 000121 DMOVN=121 ; DOUBLE MOVE NEGATED
968 000125 DMOVNM=125 ; DOUBLE MOVE NEGATED TO MEMORY
969 ;
970 000137 DPB=137 ; DEPOSIT BYTE
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 25
DEFINE -- LOCAL DEFINITIONS 7709.20
972 000077 ENTER=077 ; "ENTER" UUO
973 ;
974 000444 EQV=444 ; EQUIVALENCE TO AC
975 000447 EQVB=447 ; EQUIVALENCE TO BOTH
976 000445 EQVI=445 ; EQUIVALENCE IMMEDIATE
977 000446 EQVM=446 ; EQUIVALENCE TO MEMORY
978 ;
979 000250 EXCH=250 ; EXCHANGE
980 000123 EXTEND=123 ; EXTEND
981 ;
982 000140 FAD=140 ; FLOATING ADD
983 000143 FADB=143 ; FLOATING ADD BOTH
984 000141 FADL=141 ; FLOATING ADD LONG
985 000142 FADM=142 ; FLOATING ADD MEMORY
986 ;
987 000144 FADR=144 ; FLOATING ADD, ROUNDED
988 000147 FADRB=147 ; FLOATING ADD, ROUNDED TO BOTH
989 000145 FADRI=145 ; FLOATING ADD, ROUNDED IMMEDIATE
990 000146 FADRM=146 ; FLOATING ADD, ROUNDED TO MEMORY
991 ;
992 000170 FDV=170 ; FLOATING DIVIDE
993 000173 FDVB=173 ; FLOATING DIVIDE TO BOTH
994 000171 FDVL=171 ; FLOATING DIVIDE LONG
995 000172 FDVM=172 ; FLOATING DIVIDE TO MEMORY
996 ;
997 000174 FDVR=174 ; FLOATING DIVIDE, ROUNDED
998 000177 FDVRB=177 ; FLOATING DIVIDE, ROUNDED TO BOTH
999 000175 FDVRI=175 ; FLOATING DIVIDE, ROUNDED IMMMEDIATE
1000 000176 FDVRM=176 ; FLOATING DIVIDE, ROUNDED TO MEMORY
1001 ;
1002 000122 FIX=122 ; FIX
1003 000126 FIXR=126 ; FIX AND ROUND
1004 ;
1005 000127 FLTR=127 ; FLOAT AND ROUND
1006 ;
1007 000160 FMP=160 ; FLOATING MULTIPLY
1008 000163 FMPB=163 ; FLOATING MULTIPLY TO BOTH
1009 000161 FMPL=161 ; FLOATING MULTIPLY LONG
1010 000162 FMPM=162 ; FLOATING MULTIPLY TO MEMORY
1011 ;
1012 000164 FMPR=164 ; FLOATING MUTIPLY ROUNDED
1013 000167 FMPRB=167 ; FLOATING MULTIPLY ROUNDED, TO BOTH
1014 000165 FMPRI=165 ; FLOATING MULTIPLY ROUNDED, IMMEDIATE
1015 000166 FMPRM=166 ; FLOATING MULTIPLY ROUNDED, TO MEMORY
1016 ;
1017 000150 FSB=150 ; FLOATING SUBTRACT
1018 000153 FSBB=153 ; FLOATING SUBTRACT TO BOTH
1019 000151 FSBL=151 ; FLOATING SUBTRACT LONG
1020 000152 FSBM=152 ; FLOATING SUBTRACT TO MEMORY
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 26
DEFINE -- LOCAL DEFINITIONS 7709.20
1022 000154 FSBR=154 ; FLOATING SUBTRACT ROUNDED
1023 000157 FSBRB=157 ; FLOATING SUBTRACT ROUNDED, TO BOTH
1024 000155 FSBRI=155 ; FLOATING SUBTRACT ROUNDED, IMMEDIATE
1025 000156 FSBRM=156 ; FLOATING SUBTRACT ROUNDED, TO MEMORY
1026 ;
1027 000132 FSC=132 ; FLOATING SCALE
1028 ;
1029 000062 GETSTS=062 ; "GETSTS" UUO
1030 ;
1031 000500 HLL=500 ; HALFWORD LEFT TO LEFT
1032 000530 HLLE=530 ; " " " " EXTEND
1033 000531 HLLEI=531 ; " " " " " IMMEDIATE
1034 000532 HLLEM=532 ; " " " " " TO MEMORY
1035 000533 HLLES=533 ; " " " " " TO SELF
1036 ;
1037 000501 HLLI=501 ; HALFWORD LEFT TO LEFT IMMEDIATE
1038 000502 HLLM=502 ; " " " " TO MEMORY
1039 ;
1040 000520 HLLO=520 ; " " " " ONES
1041 000521 HLLOI=521 ; " " " " " IMMEDIATE
1042 000522 HLLOM=522 ; " " " " " MEMORY
1043 000523 HLLOS=523 ; " " " " " SELF
1044 ;
1045 000503 HLLS=503 ; HALFWORD LEFT TO LEFT SELF
1046 ;
1047 000510 HLLZ=510 ; HALFWORD LEFT TO LEFT ZERO, ET AL.
1048 000511 HLLZI=511
1049 000512 HLLZM=512
1050 000513 HLLZS=513
1051 ;
1052 000544 HLR=544 ; HALFWORD LEFT TO RIGHT
1053 ;
1054 000574 HLRE=574 ; HALFWORD LEFT TO RIGHT EXTEND, ET AL.
1055 000575 HLREI=575
1056 000576 HLREM=576
1057 000577 HLRES=577
1058 ;
1059 000564 HLRO=564 ; HALFWORD LEFT TO RIGHT ONES, ET AL.
1060 000565 HLROI=565
1061 000566 HLROM=566
1062 000567 HLROS=567
1063 ;
1064 000547 HLRS=547 ; HALFWORD LEFT TO RIGHT SELF
1065 ;
1066 000554 HLRZ=554 ; HALFWORD LEFT TO RIGHT ZEROS, ET AL.
1067 000555 HLRZI=555
1068 000556 HLRZM=556
1069 000557 HLRZS=557
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 27
DEFINE -- LOCAL DEFINITIONS 7709.20
1071 000504 HRL=504 ; HALFWORD RIGHT TO LEFT
1072 ;
1073 000534 HRLE=534 ; HALFWORD RIGHT TO LEFT EXTEND, ET AL.
1074 000535 HRLEI=535
1075 000536 HRLEM=536
1076 000537 HRLES=537
1077 ;
1078 000505 HRLI=505 ; HALFWORD RIGHT TO LEFT IMMEDIATE
1079 000506 HRLM=506 ; " " " " MEMORY
1080 ;
1081 000564 HRLO=564 ; HALFWORD RIGHT TO LEFT ONES, ET AL.
1082 000565 HRLOI=565
1083 000566 HRLOM=566
1084 000567 HRLOS=567
1085 ;
1086 000507 HRLS=507 ; HALFWORD RIGHT TO LEFT SELF
1087 ;
1088 000514 HRLZ=514 ; HALFWORD RIGHT TO LEFT ZERO, ET AL.
1089 000515 HRLZI=515
1090 000516 HRLZM=516
1091 000517 HRLZS=517
1092 ;
1093 000540 HRR=540 ; HALFWORD RIGHT TO RIGHT
1094 ;
1095 000570 HRRE=570 ; HALFWORD RIGHT TO RIGHT EXTEND, ET AL.
1096 000571 HRREI=571
1097 000572 HRREM=572
1098 000573 HRRES=573
1099 ;
1100 000541 HRRI=541 ; HALFWORD RIGHT TO RIGHT IMMEDIATE
1101 000542 HRRM=542 ; " " " " MEMORY
1102 ;
1103 000560 HRRO=560 ; HALFWORD RIGHT TO RIGHT ONES, ET AL.
1104 000561 HRROI=561
1105 000562 HRROM=562
1106 000563 HRROS=563
1107 ;
1108 000543 HRRS=543
1109 ;
1110 000550 HRRZ=550 ; HALFWORD RIGHT TO RIGHT ZERO, ET AL.
1111 000551 HRRZI=551
1112 000552 HRRZM=552
1113 000553 HRRZS=553
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 28
DEFINE -- LOCAL DEFINITIONS 7709.20
1115 000133 IBP=133 ; INCREMENT BYTE POINTER
1116 ;
1117 000230 IDIV=230 ; INTEGER DIVIDE
1118 000233 IDIVB=233 ; " " BOTH
1119 000231 IDIVI=231 ; " " IMMEDIATE
1120 000232 IDIVM=232 ; " " MEMORY
1121 ;
1122 000136 IDPB=136 ; INCREMENT AND DEPOSIT BYTE
1123 ;
1124 000134 ILDB=134 ; DECREMENT AND LOAD BYTE
1125 ;
1126 000220 IMUL=220 ; INTEGER MULTIPLY
1127 000223 IMULB=223 ; " " BOTH
1128 000221 IMULI=221 ; " " IMMEDIATE
1129 000222 IMULM=222 ; " " MEMORY
1130 ;
1131 000056 IN=056 ; "IN" UUO
1132 000064 INBUF=064 ; "INBUF" UUO
1133 000041 INIT=041 ; "INIT" UUO
1134 000066 INPUT=066 ; "INPUT" UUO
1135 ;
1136 000434 IOR=434 ; INCLUSIVE OR, ET AL.
1137 000437 IORB=437
1138 000435 IORI=435
1139 000436 IORM=436
1140 ;
1141 000255 JFCL=255 ; JUMP ON FLAGS AND CLEAR
1142 ;
1143 000243 JFFO=243 ; JUMP IF FOUND FIRST 1
1144 ;
1145 000267 JRA=267 ; JUMP AND RESTORE AC
1146 ;
1147 000254 JRST=254 ; JUMP AND RESTORE (PC FLAGS)
1148 ;
1149 000266 JSA=266 ; JUMP AND SAVE AC
1150 ;
1151 000265 JSP=265 ; JUMP AND SAVE PC
1152 ;
1153 000264 JSR=264 ; JUMP TO SUBROUTINE
1154 ;
1155 000104 JSYS=104 ; JSYS CALL
1156 ;
1157 000320 JUMP=320 ; JUMP (NEVER)
1158 000324 JUMPA=324 ; JUMP ALWAYS
1159 000322 JUMPE=322 ; JUMP IF AC .EQ. 0
1160 000327 JUMPG=327 ; JUMP IF AC .GT. 0
1161 000325 JUMPGE=325 ; JUMP IF AC .GE. 0
1162 000321 JUMPL=321 ; JUMP IF AC .LT. 0
1163 000323 JUMPLE=323 ; JUMP IF AC .LE. 0
1164 000326 JUMPN=326 ; JUMP IF AC .NE. 0
1165 ;
1166 000700 KLIOT=700 ; KL I/O INSTRUCTION BASE
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 29
DEFINE -- LOCAL DEFINITIONS 7709.20
1168 000135 LDB=135 ; LOAD BYTE
1169 ;
1170 000076 LOOKUP=076 ; "LOOKUP" UUO
1171 ;
1172 000242 LSH=242 ; LOGICAL SHIFT
1173 000246 LSHC=246 ; LOGICAL SHIFT COMBINED
1174 ;
1175 000257 MAP=257 ; MAP PAGED ADDRESS
1176 ;
1177 000200 MOVE=200 ; MOVE
1178 000201 MOVEI=201 ; MOVE IMMEDIATE
1179 000202 MOVEM=202 ; MOVE TO MEMORY
1180 000203 MOVES=203 ; MOVE TO SELF
1181 ;
1182 000214 MOVM=214 ; MOVE MAGNITUDE, ET AL.
1183 000215 MOVMI=215
1184 000216 MOVMM=216
1185 000217 MOVMS=217
1186 ;
1187 000210 MOVN=210 ; MOVE NEGATED, ET AL.
1188 000211 MOVNI=211
1189 000212 MOVNM=212
1190 000213 MOVNS=213
1191 ;
1192 000204 MOVS=204 ; MOVE SWAPPED, ET AL.
1193 000205 MOVSI=205
1194 000206 MOVSM=206
1195 000207 MOVSS=207
1196 ;
1197 000224 MUL=224 ; MULTIPLY
1198 000227 MULB=227 ; MULTIPLY BOTH
1199 000225 MULI=225 ; MULTIPLY IMMEDIATE
1200 000226 MULM=226 ; MULTIPLY MEMORY
1201 ;
1202 000050 OPEN=050 ; "OPEN" UUO
1203 ;
1204 000434 OR=IOR ; (INCLUSIVE) OR, ET AL.
1205 000437 ORB=IORB
1206 ;
1207 000454 ORCA=454 ; OR WITH COMPLEMENT OF AC
1208 000457 ORCAB=457 ; " " " " " BOTH
1209 000455 ORCAI=455 ; " " " " " IMMEDIATE
1210 000456 ORCAM=456 ; " " " " " MEMORY
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 30
DEFINE -- LOCAL DEFINITIONS 7709.20
1212 000470 ORCB=470 ; OR WITH COMPLEMENT OF BOTH, ET AL.
1213 000473 ORCBB=473
1214 000471 ORCBI=471
1215 000472 ORCBM=472
1216 ;
1217 000464 ORCM=464 ; OR WITH COMPLEMENT OF MEMORY, ET AL.
1218 000467 ORCMB=467
1219 000465 ORCMI=465
1220 000466 ORCMM=466
1221 ;
1222 000435 ORI=IORI ; (INCLUSIVE) OR, ET AL.
1223 000436 ORM=IORM
1224 ;
1225 000057 OUT=057 ; "OUT" UUO
1226 000065 OUTBUF=065 ; "OUTBUF" UUO
1227 000067 OUTPUT=067 ; "OUTPUT" UUO
1228 ;
1229 000262 POP=262 ; POP
1230 000263 POPJ=263 ; POP (RETURN) AND JUMP
1231 ;
1232 000261 PUSH=261 ; PUSH
1233 000260 PUSHJ=260 ; PUSH (RETURN) AND JUMP
1234 ;
1235 000071 RELEAS=071 ; "RELEAS(E)" UUO
1236 000055 RENAME=055 ; "RENAME" UUO
1237 ;
1238 000241 ROT=241 ; ROTATE
1239 000245 ROTC=245 ; ROTATE COMBINED
1240 ;
1241 000424 SETA=424 ; SET TO AC
1242 000427 SETAB=427 ; " " " BOTH
1243 000425 SETAI=425 ; " " " IMMEDIATE
1244 000426 SETAM=426 ; " " " MEMORY
1245 ;
1246 000450 SETCA=450 ; SET TO COMPLEMENT OF AC, ET AL.
1247 000453 SETCAB=453
1248 000451 SETCAI=451
1249 000452 SETCAM=452
1250 ;
1251 000460 SETCM=460 ; SET TO COMLEMENT OF MEMORY, ET AL.
1252 000463 SETCMB=463
1253 000461 SETCMI=461
1254 000462 SETCMM=462
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 31
DEFINE -- LOCAL DEFINITIONS 7709.20
1256 000414 SETM=414 ; SET TO MEMORY, ET AL
1257 000417 SETMB=417
1258 000415 SETMI=415
1259 000416 SETMM=416
1260 ;
1261 000474 SETO=474 ; SET TO ONES, ET AL.
1262 000477 SETOB=477
1263 000475 SETOI=475
1264 000476 SETOM=476
1265 ;
1266 000060 SETSTS=060 ; "SETSTS" UUO
1267 ;
1268 000400 SETZ=400 ; SET TO ZEROS, ET AL
1269 000403 SETZB=403
1270 000401 SETZI=401
1271 000402 SETZM=402
1272 ;
1273 000330 SKIP=330 ; SKIP (NEVER)
1274 000334 SKIPA=334 ; SKIP ALWAYS
1275 000332 SKIPE=332 ; SKIP IF MEMORY .EQ. 0
1276 000337 SKIPG=337 ; SKIP IF MEMORY .GT. 0
1277 000335 SKIPGE=335 ; SKIP IF MEMORY .GE. 0
1278 000331 SKIPL=331 ; SKIP IF MEMORY .LT. 0
1279 000333 SKIPLE=333 ; SKIP OF MEMORY .LE. 0
1280 000336 SKIPN=336 ; SKIP IF MEMORY .NE. 0
1281 ;
1282 000360 SOJ=360 ; SUBTRACT 1 AND NEVER JUMP
1283 000364 SOJA=364 ; SUBTRACT 1 (FROM AC) AND ALWAYS JUMP
1284 000362 SOJE=362 ; SUBTRACT 1 AND JUMP IF AC .EQ. 0
1285 000367 SOJG=367 ; SUBTRACT 1 AND JUMP IF AC .GT. 0
1286 000365 SOJGE=365 ; SUBTRACT 1 AND JUMP IF AC .GE. 0
1287 000361 SOJL=361 ; SUBTRACT 1 AND JUMP IF AC .LT. 0
1288 000363 SOJLE=363 ; SUBTRACT 1 AND JUMP IF AC .LE. 0
1289 000366 SOJN=366 ; SUBTRACT 1 AND JUMP IF AC .NE. 0
1290 ;
1291 000370 SOS=370 ; SUBTRACT 1 (FROM MEMORY) AND NEVER SKIP
1292 000374 SOSA=374 ; SUBTRACT 1 AND ALWAYS SKIP
1293 000372 SOSE=372 ; SUBTRACT 1 AND SKIP IF .EQ. 0
1294 000377 SOSG=377 ; SUBTRACT 1 AND SKIP IF .GT. 0
1295 000375 SOSGE=375 ; SUBTRACT 1 AND SKIP IF .GE. 0
1296 000371 SOSL=371 ; SUBTRACT 1 AND SKIP IF .LT. 0
1297 000373 SOSLE=373 ; SUBTRACT 1 AND SKIP IF .LE. 0
1298 000376 SOSN=376 ; SUBTRACT 1 AND SKIP IF .NE. 0
1299 ;
1300 000061 STATO=061 ; "STATO" UUO
1301 000062 STATUS=062 ; "STATUS" UUO
1302 000063 STATZ=063 ; "STATZ" UUO
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 32
DEFINE -- LOCAL DEFINITIONS 7709.20
1304 000274 SUB=274 ; SUBTRACT
1305 000277 SUBB=277 ; SUBTRACT BOTH
1306 000275 SUBI=275 ; SUBTRACT IMMEDIATE
1307 000276 SUBM=276 ; SUBTRACT MEMORY
1308 ;
1309 000106 SXCT=106 ; SECTION EXECUTE
1310 ;
1311 000650 TDC=650 ; TEST DIRECT COMPLEMENT NEVER SKIP
1312 000654 TDCA=654 ; " " " SKIP ALWAYS
1313 000652 TDCE=652 ; " " " " ON ZERO
1314 000656 TDCN=656 ; " " " " ON NON-ZERO
1315 ;
1316 000610 TDN=610 ; TEST DIRECT NO MODIFICATION, ET AL.
1317 000614 TDNA=614
1318 000612 TDNE=612
1319 000616 TDNN=616
1320 ;
1321 000670 TDO=670 ; TEST DIRECT ONES, ET AL.
1322 000674 TDOA=674
1323 000672 TDOE=672
1324 000676 TDON=676
1325 ;
1326 000630 TDZ=630 ; TEST DIRECT ZEROS, ET AL.
1327 000634 TDZA=634
1328 000632 TDZE=632
1329 000636 TDZN=636
1330 ;
1331 000641 TLC=641 ; TEST LEFT COMPLEMENT, ET AL.
1332 000645 TLCA=645
1333 000643 TLCE=643
1334 000647 TLCN=647
1335 ;
1336 000601 TLN=601 ; TEST LEFT NO MODIFICATION, ET AL.
1337 000605 TLNA=605
1338 000603 TLNE=603
1339 000607 TLNN=607
1340 ;
1341 000661 TLO=661 ; TEST LEFT ONES, ET AL.
1342 000665 TLOA=665
1343 000663 TLOE=663
1344 000667 TLON=667
1345 ;
1346 000621 TLZ=621 ; TEST LEFT ZEROS, ET AL.
1347 000625 TLZA=625
1348 000623 TLZE=623
1349 000627 TLZN=627
1350 ;
1351 000640 TRC=640 ; TEST RIGHT COMPLEMENT, ET AL.
1352 000644 TRCA=644
1353 000642 TRCE=642
1354 000646 TRCN=646
DEFINE -- LOCAL DEFINITION MODU MACRO M1113 03-APR-86 22:51 PAGE 33
DEFINE -- LOCAL DEFINITIONS 7709.20
1356 000600 TRN=600 ; TEST RIGHT NO MODIFICATION, ET AL.
1357 000604 TRNA=604
1358 000602 TRNE=602
1359 000606 TRNN=606
1360 ;
1361 000660 TRO=660 ; TEST RIGHT ONES, ET AL.
1362 000664 TROA=664
1363 000662 TROE=662
1364 000666 TRON=666
1365 ;
1366 000620 TRZ=620 ; TEST RIGHT ZEROS, ET AL.
1367 000624 TRZA=624
1368 000622 TRZE=622
1369 000626 TRZN=626
1370 ;
1371 000651 TSC=651 ; TEST SWAPPED COMLEMENT, ET AL.
1372 000655 TSCA=655
1373 000653 TSCE=653
1374 000657 TSCN=657
1375 ;
1376 000611 TSN=611 ; TEST SWAPPED NO MODIFICATION, ET AL.
1377 000615 TSNA=615
1378 000613 TSNE=613
1379 000617 TSNN=617
1380 ;
1381 000671 TSO=671 ; TEST SWAPPED ONES, ET AL.
1382 000675 TSOA=675
1383 000673 TSOE=673
1384 000677 TSON=677
1385 ;
1386 000631 TSZ=631 ; TEST SWAPPED ZEROS, ET AL.
1387 000635 TSZA=635
1388 000633 TSZE=633
1389 000637 TSZN=637
1390 ;
1391 000051 TTCALL=051 ; "TTCALL" UUO
1392 ;
1393 000073 UGETF=073 ; "UGETF" UUO
1394 ;
1395 000100 UJEN=100 ; "UJEN" CALL
1396 ;
1397 000074 USETI=074 ; "USETI" UUO
1398 000075 USETO=075 ; "USETO" UUO
1399 ;
1400 000256 XCT=256 ; EXECUTE
1401 ;
1402 000430 XOR=430 ; EXCLUSIVE OR, ET AL.
1403 000433 XORB=433
1404 000431 XORI=431
1405 000432 XORM=432
1406
1407 .SBTTL COPYRIGHT PAGE
1408
1410 .TITLE DATAB -- COMMAND PARSER DATA BASE 7709.20
1411
1412 .IDENT "007030"
1413
DATAB -- COMMAND PARSER DATA B MACRO M1113 03-APR-86 22:51 PAGE 33-1
COPYRIGHT PAGE
1414 ;
1415 ; COPYRIGHT (C) 1975, 1984, 1985 BY
1416 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
1417 ; ALL RIGHTS RESERVED.
1418 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
1419 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
1420 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
1421 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
1422 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
1423 ;
1424 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
1425 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
1426 ; CORPORATION.
1427 ;
1428 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
1429 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
1430 ;
1431 ; MODULE: COMMAND PARSER DATA BASE
1432 ;
1433 ; VERSION: 06-13
1434 ;
1435 ; AUTHOR: R. BELANGER
1436 ;
1437 ; DATE: 7709.20
1438 ;
1439 ; THIS MODULE CONTAINS:
1440 ;
1441 ; 1) THE IMPURE DATA BASE FOR THE COMMAND PARSER
1442 ;
1443 ; EDIT HISTORY
1444 ;
1445 ;20-JUN-83 TCO 6.1675 D. WEAVER
1446 ; ADD STORAGE FOR SAVE AC-BLOCK COMMAND.
1447 ;
DATAB -- COMMAND PARSER DATA B MACRO M1113 03-APR-86 22:51 PAGE 34
COPYRIGHT PAGE
1449 .MACRO PARVR$ KEY,FRM,VER,EDT,NUM
1450 .IF B,NUM
1451 .IF NB,FRM
1452 PARVR$ \KEY,\FRM,\VER,\EDT,0
1453 .IFF
1454 PARVR$ \KEY,200,\VER,\EDT,0
1455 .ENDC
1456 .MEXIT
1457 .IFF
1458 .IF GE,VER-10
1459 .IF GE,EDT-10
1460 .ASCIZ <KEY><FRM>\'VER'-'EDT'\<200>
1461 .IFF
1462 .ASCIZ <KEY><FRM>\'VER'-0'EDT'\<200>
1463 .ENDC
1464 .IFF
1465 .IF GE,EDT-10
1466 .ASCIZ <KEY><FRM>\0'VER'-'EDT'\<200>
1467 .IFF
1468 .ASCIZ <KEY><FRM>\0'VER'-0'EDT'\<200>
1469 .ENDC
1470 .ENDC
1471 .ENDC
1472 .ENDM PARVR$
DATAB -- COMMAND PARSER DATA B MACRO M1113 03-APR-86 22:51 PAGE 35
DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
1474 .SBTTL DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
1475
1476 ; COMMAND PARSER VARIABLES ARE MAINTAINED IN THIS AREA
1477
1478 000000 .PSECT DATA
1479
1480 000000 .ACBLK::
1481 000000 000000 .WORD 0 ; [6.1675] STORAGE FOR SAVE/RESTORE AC-BLOCK
1482 000002 .APRWD::
1483 000002 000000 .WORD 0 ; KL APR ERROR STATUS WORD
1484 000004 .CCMDN::
1485 000004 000021' .WORD PARNAM ; POINTER TO CURRENT COMMAND NAME
1486 000006 .CISTS::
1487 000006 000000 000000 .WORD 0,0 ; I/O STATUS BLOCK FOR CONSOLE INPUT
1488 000012 .CLKWD::
1489 000012 100000 .WORD BIT15 ; KL CLOCK CONTROL WORD
1490 000014 .COSTS::
1491 000014 000000 000000 .WORD 0,0 ; I/O STATUS BLOCK FOR CONSOLE OUTPUT
1492 000020 .CRAMA::
1493 000020 000000 .WORD 0 ; KL CRAM ADDRESSS
1494 000022 .CRAMR::
1495 000022 000000 000000 000000 .WORD 0,0,0 ; BLOCK FOR KL CRAM READ
1496 000030 000000 000000 000000 .WORD 0,0,0
1497 000036 000000 000000 000000 .WORD 0,0,0
1498 000044 .CRAMW::
1499 000044 000000 000000 000000 .WORD 0,0,0 ; BLOCK FOR CRAM WRITE
1500 000052 000000 000000 000000 .WORD 0,0,0
1501 000060 000000 000000 000000 .WORD 0,0,0
1503 000066 .DBGSW::
1504 000066 000000 .WORD 0 ; DEBUG SWITCH
1506 000070 .DPBFR::
1507 000070 000000 000000 000000 .WORD 0,0,0 ; KL DEPOSIT DATA BUFFER
1508 000076 .DPBFX::
1509 000076 000000 000000 000000 .WORD 0,0,0 ; KL AUXILLIARY DEPOSIT DATA BUFFER
1518 000104 .EDELA::
1519 000104 000000 .WORD 0 ; LAST PDP-11 EXAMINE / DEPOSIT ADDRESS
1520 000106 .EDKLA::
1521 000106 000000 000000 000000 .WORD 0,0,0 ; KL EXAMINE / DEPOSIT ADDRESS BUFFER
1522 000114 .EDKLX::
1523 000114 000000 000000 000000 .WORD 0,0,0 ; KL AUXILLIARY EXAM / DEPOS ADDRESS BUFFER
1524 000122 .ELDDW::
1525 000122 000000 .WORD 0 ; LAST PDP-11 DEPOSIT DATA
1526 000124 .ELEDW::
1527 000124 000000 .WORD 0 ; LAST PDP-11 EXAMINE DATA
1528 000126 000000 000000 000000 Q0:: .WORD 0,0,0 ; [**]
1529 000134 000000 000000 000000 Q1:: .WORD 0,0,0 ; [**]
1530 000142 000000 000000 000000 Q2:: .WORD 0,0,0 ; [**]
1531 000150 000000 000000 000000 Q3:: .WORD 0,0,0 ; [**]
1532 000156 .EXBFR::
1533 000156 000000 000000 000000 .WORD 0,0,0 ; KL EXAMINE DATA BUFFER
1534 000164 .INCHC::
1535 000164 000000 .WORD 0 ; INPUT CHARACTER COUNT
1536 000166 .IRADX::
1537 000166 000010 .WORD ^D8 ; INPUT RADIX
1538 000170 .KLINC::
1539 000170 000001 000000 000000 .WORD ^D1,0,0 ; KL EXAMINE DEPOSIT INCREMENT
1540 000176 .KLEDF:: ; [5.1006]KLE DEFAULT COMMAND FLAG
DATAB -- COMMAND PARSER DATA B MACRO M1113 03-APR-86 22:51 PAGE 35-1
DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
1541 000176 000001 .WORD 1
1542 000200 .KLEPT:: ; [5.1006]DEFAULT COMMAND TABLE POINTER
1543 000200 000000 .WORD 0
1544 000202 .KLEVL:: ; [5.1006]POINTER VALID FLAG
1545 000202 000 .BYTE 0
1546 000203 .KLSNP:: ; [5.1006]SNAPSHOT COMMAND IN PROGRESS
1547 000203 000 .BYTE 0
1548 000204 .PASS:: ; [4.1.1049]FM SWEEP PASS FLAG
1549 000204 000000 .WORD 0
1550 000206 .OUTLG::
1551 000206 000 .BYTE 0 ; [5.1000]LOG OUTPUT FLAG
1552 000207 .OUTLP::
1553 000207 000 .BYTE 0 ; [5.1000]PRINT OUTPUT FLAG
1554 000210 .OUTTY::
1555 000210 001 .BYTE 1 ; [5.1000]TYPE OUTPUT FLAG
1556 .EVEN
1557 000212 .LDSTS::
1558 000212 000000 000000 .WORD 0,0 ; I/O STATUS BLOCK FOR LIST DEVICE
1559 000216 .LGLWD::
1560 000216 000000 .WORD 0 ; LEGAL BITS OF CURRENT COMMAND
1561 000220 .LDZFL::
1562 000220 177777 .WORD -^D1 ; PRINT LEADING ZEROES FLAG
1563 000222 .MEMFL::
1564 000222 000000 .WORD 0 ; EXAMINE DEPOSIT MEMORY OFFSET
1565 000224 .NOTSW::
1566 000224 000000 .WORD 0 ; "NOT" SWITCH
1567 000226 .ORADX::
1568 000226 000010 .WORD ^D8 ; OUTPUT RADIX
1569 000230 .PEWRD::
1570 000230 000000 .WORD 0 ; KL PARITY ERROR FLAGS
1571 000232 .PITAB::
1572 000232 000000 000000 .WORD 0,0 ; EXAMINE PI DATA BLOCK
1573 000236 .PSCWD::
1574 000236 100000 .WORD BIT15 ; KL PARITY STOP CONTROL WORD
1575 000240 .RDXSV::
1576 000240 000010 .WORD ^D8 ; SAVED RADIX
1577 000242 .RELWD::
1578 000242 000002' .WORD .APRWD ; RELOCATION VALUE
1579 000244 .RPTCT::
1580 000244 000000 000000 000000 .WORD 0,0,0 ; REPEAT COUNT
1581 000252 .RPTPT::
1582 000252 000000 .WORD 0 ; POINTER TO STACKED REPEAT COUNT
1583 000254 .STRTV::
1584 000254 010354' .WORD .START ; START VECTOR
1585 000256 .SVESP::
1586 000256 000000 .WORD 0 ; TO REINIT STACK POINTER
1587 000260 .SVKLF::
1588 000260 000000 .WORD 0 ; SAVED COPY OF ".KLFLG"
1589 000262 .SWPIP:: ; SWEEP IN PROGRESS FLAG
1590 000262 000000 .WORD 0
1592 000264 .TRKWD::
1593 000264 000000 .WORD 0 ; "TRACK" FLAGS
1595 000266 .TRP4V::
1596 000266 001352' .WORD .PTOAT ; TRAP AT 4 VECTOR
1597 000270 .TRPEC::
1598 000270 000000 .WORD 0 ; ERROR CODE RETURNED FROM TRAP
1599 000272 .TRPIP::
DATAB -- COMMAND PARSER DATA B MACRO M1113 03-APR-86 22:51 PAGE 35-2
DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
1600 000272 000002 .WORD ^D2 ; TRAP IN PROGRESS INTERLOCK
1601 000274 .TRPPC::
1602 000274 000000 .WORD 0 ; TRAP PC
1603 000276 .TRPPS::
1604 000276 000000 .WORD 0 ; TRAP PSW
1605 000300 .TRPSB::
1606 000300 000000 .WORD 0 ; TRAP STATUS BYTE
1607 000302 .TRPTV::
1608 000302 000000 .WORD 0 ; TRAP TRAP VECTOR
1609 000304 .TYOBC::
1610 000304 000204 .WORD ^D132 ; CONSOLE OUTPUT BYTE COUNT
1611 000306 .TYOBP::
1612 000306 000576' .WORD .COBFR ; CONSOLE OUTPUT BYTE POINTER
1613 000310 .VFYFL::
1614 000310 000000 .WORD 0 ; DEPOSIT VERIFY FLAG
1615 000312 DATABX::
1616 000312 000137 000000G JMP .INICP ; EXIT TO INIT
DATAB -- COMMAND PARSER DATA B MACRO M1113 03-APR-86 22:51 PAGE 36
.SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
1618 .SBTTL .SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
1619
1620 ; +
1621 ; .SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE.
1622 ;
1623 ; THESE ARE THE ENTRY POINTS FOR ALL SYNCHRONOUS TRAPS IN THE KL FRONT
1624 ; END COMMAND PARSER. THE PARSER USES SYNCHRONOUS TRAPS, (SST'S),
1625 ; PRIMARILY TO HANDLE INTERNAL ERRORS VIA THE "TRAP" INSTRUCTION. SST'S
1626 ; MAY ALSO BE USED TO HANDLE ODD ADDRESS TRAPS, BREAKPOINTS, AND OTHER
1627 ; ERROR CONDITIONS, AS WELL AS THE PREVIOUSLY MENTIONED ERROR TRAPS.
1628 ;
1629 ; SYNCHRONOUS TRAPS ARE ENABLED BY THE "SVTK$" DIRECTIVE (Q.V.) AS
1630 ; ALLOWED BY THE ENTRIES IN ".SSTTB", THE SST VECTOR TABLE, BELOW.
1631 ; A NON-ZERO ENTRY IN ".SSTTB" INDICATES THAT CONTROL IS TO BE PASSED
1632 ; TO THE ADDRESS IN THAT ENTRY UPON OCCURANCE OF THE ASSOCIATED
1633 ; CONDITION. A ZERO ENTRY IN THE VECTOR TABLE INDICATES THAT THE
1634 ; SYSTEM IS TO HANDLE THE ASSOCIATED CONDITION.
1635 ;
1636 ; THE FORMAT OF THE SST VECTOR TABLE IS AS FOLLOWS:
1637 ;
1638 ; !===============================================!
1639 ; 00 ! ODD ADDRESS TRAP HANDLER ADDRESS !
1640 ; !-----------------------------------------------!
1641 ; 02 ! MEMORY PROTECTION VIOLATION HANDLER ADDRESS !
1642 ; !-----------------------------------------------!
1643 ; 04 ! T-BIT TRAP HANDLER ADDRESS !
1644 ; !-----------------------------------------------!
1645 ; 06 ! IOT TRAP HANDLER ADDRESS !
1646 ; !-----------------------------------------------!
1647 ; 10 ! RESERVED INSTRUCTION TRAP HANDLER ADDRESS !
1648 ; !-----------------------------------------------!
1649 ; 12 ! ILLEGAL EMT TRAP HANDLER ADDRESS !
1650 ; !-----------------------------------------------!
1651 ; 14 ! TRAP INSTRUCTION TRAP HANDLER ADDRESS !
1652 ; !-----------------------------------------------!
1653 ; 16 ! FLOATING POINT TRAP HANDLER ADDRESS !
1654 ; !===============================================!
1655 ;-
1656
1657 000316 .SSTTB::
1658 000316 000000 .WORD 0 ; ODD ADDRESS TRAP HANDLER
1659 000320 000000 .WORD 0 ; MEMORY PROTECTION VIOLATION
1660 000322 000000 .WORD 0 ; BREAKPOINT TRAP HANDLER
1661 000324 000000 .WORD 0 ; "IOT" INSTRUCTION TRAP
1662 000326 000000 .WORD 0 ; RESERVED INSTRUCTION TRAP
1663 000330 000000 .WORD 0 ; NON-STANDARD EMT TRAP
1664 000332 001124' .WORD .PTTRP ; "TRAP" INSTRUCTION TRAP
1665 000334 000000 .WORD 0 ; FLOATING POINT TRAP
1666 000010 SSTLEN==.-.SSTTB/2 ; LENGTH OF THIS TABLE
1667 000334' SSTTBE==.-2
DATAB -- COMMAND PARSER DATA B MACRO M1113 03-APR-86 22:51 PAGE 37
DATAB -- DTE-20 OPERATION BUFFERS 7709.20
1669 .SBTTL DATAB -- DTE-20 OPERATION BUFFERS 7709.20
1670
1671 000336 .DFBLK::
1672 000336 .DFWB::
1673 000336 000000 000000 000000 .WORD 0,0,0 ; FUNCTION WRITE BUFFER
1674 000344 .DFRB::
1675 000344 000000 000000 000000 .WORD 0,0,0 ; FUNCTION READ BUFFER
1676
1677 000352 .DREG::
1678 000352 .DTDI1::
1679 000352 000000 .WORD 0 ; DTE-20 DIAG WORD 1 BUFFER
1680 000354 .DTDI2::
1681 000354 000000 .WORD 0 ; DTE-20 DIAG WORD 2 BUFFER
1682 000356 .DTSTS::
1683 000356 000000 .WORD 0 ; DTE-20 STATUS WORD BUFFER
1684 000360 .DTDI3::
1685 000360 000000 .WORD 0 ; DTE-20 DIAG WORD 3 BUFFER
1686 000362' DFBEND==.
DATAB -- COMMAND PARSER DATA B MACRO M1113 03-APR-86 22:51 PAGE 38
DATAB -- INPUT / OUTPUT BUFFERS 7709.20
1688 .SBTTL DATAB -- INPUT / OUTPUT BUFFERS 7709.20
1689
1690 ; THESE ARE THE I/O BUFFERS
1691
1692 000362 .CIBFR::
1693 000362 .BLKW ^D70 ; CONSOLE DEVICE INPUT BUFFER
1694 000214 .CIBFL==.-.CIBFR
1695
1696 000576 .COBFR::
1697 000576 .BLKW ^D70 ; CONSOLE DEVICE OUTPUT BUFFER
1698 000204 .COBFL==^D132
1699
1700 001012 .COMND::
1701 001012 .BLKW ^D140 ; COMMAND BUFFER
1702 000430 .CMNDL==.-.COMND
DATAB -- COMMAND PARSER DATA B MACRO M1113 03-APR-86 22:51 PAGE 39
DATAB -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
1704 .SBTTL DATAB -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
1705
1706 001442 .R50TB::
1707 001442 000022 .WORD <'0-36>-<50-50>
1708 001444 060 000 .ASCIZ %0%
1709 001446 177766 .WORD <'%-35>-<'0-36>
1710 001450 045 000 .ASCIZ /%/
1711 001452 000012 .WORD <'.-34>-<'%-35>
1712 001454 056 000 .ASCIZ %.%
1713 001456 177767 .WORD <'$-33>-<'.-34>
1714 001460 044 000 .ASCIZ %$%
1715 001462 000067 .WORD <'A-01>-<'$-33>
1716 001464 101 000 .ASCIZ %A%
1717 001466 177740 .WORD <' -00>-<'A-01>
1718 001470 000040 .WORD .SPACE
1719
1720 001472 .T50TB::
1721 001472 003100 .WORD 50*50
1722 001474 000050 .WORD 50
1723 001476 000001 .WORD 1
1724 001500 000000 .WORD 0
1725
1726 000000 .PSECT MESSAG
1727
1728 000000 CPVMSG::
1729 000000 PARVR$ PAR$$K,,PAR$$V,PAR$$E
000000 126 200 061 .ASCIZ <126><200>\15-50\<200>
000003 065 055 065
000006 060 200 000
1730 000011 PARMSG::
1731 000011 120 101 122 .ASCIZ %PAR -- %
000014 040 055 055
000017 040 000
1732 000021 PARNAM::
1733 000021 120 101 122 .ASCIZ %PARSER%
000024 123 105 122
000027 000
1734 000030 PROMPT::
1735 000030 120 101 122 .ASCIZ %PAR%
000033 000
1736 000034 KLEPRM::
1737 000034 113 114 105 .ASCIZ %KLE>%
000037 076 000
1738 000041 ONMSG::
1739 000041 117 116 000 .ASCIZ %ON%
1740 000044 OFFMSG::
1741 000044 117 106 106 .ASCIZ %OFF%
000047 000
1742 000000 .PSECT
DATAB -- COMMAND PARSER DATA B MACRO M1113 03-APR-86 22:51 PAGE 40
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1744 .SBTTL .CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1745
1746 ;+
1747 ; .CHTAB -- THE CHARACTER PROPERTY TABLE
1748 ;
1749 ; THIS IS A TABLE OF ASCII CHARACTER PROPERTIES. THERE IS ONE ENTRY
1750 ; FOR EACH CHARACTER IN THE ASCII STANDARD CHARACTER SET. EACH ENTRY
1751 ; IS ONE BYTE LONG, AND CONTAINS BITS ASSOCIATED WITH THE GENERAL
1752 ; PROPETIES OF THE ASCII CHARACTER IT REPRESENTS. ".CHTAB" IS
1753 ; REFERENCED BY USING THE ASCII CHARACTER UNDER TEST AS AN OFFSET
1754 ; INTO THE TABLE. ONE ASCII CHARACTER MAY HAVE MULTIPLE CHARACTERISTICS.
1755 ; THE DEFINITIONS FOR THE CHARACTERISTIC BITS ARE IN "COMMON.MAC",
1756 ; (Q.V.), WHICH ARE:
1757 ;
1758 ; "CH.ALP" -- (BIT00) -- CHARACTER IS ALPHABETIC,
1759 ; "CH.NUM" -- (BIT01) -- CHARACTER IS NUMERIC,
1760 ; "CH.EOL" -- (BIT02) -- CHARACTER MAY END A LINE,
1761 ; "CH.EOC" -- (BIT03) -- CHARACTER MAY END A COMMAND,
1762 ; "CH.EOS" -- (BIT04) -- CHARACTER MAY SUFFIX A SYMBOL,
1763 ; "CH.PFX" -- (BIT05) -- CHARACTER MAY PREFIX A SYMBOL,
1764 ; "CH.AOP" -- (BIT06) -- CHARACTER MAY PREFIX AN ARITHMETIC OPERATOR,
1765 ; "CH.ILL" -- (BIT07) -- CHARACTER IS ILLEGAL.
1766 ;
1767 ; TABS, (ASCII 011), AND LOWER CASE ALPHABETICS ARE ILLEGAL CHARACTERS
1768 ; SINCE THE INPUT ROUTINES CONVERT THESE CHARACTERS TO SPACES AND
1769 ; UPPER CASE ALPHABETICS, RESPECTIVELY.
1770 ;-
1771
1772 001502 .PSECT DATA
1773
1774 001502 .CHTAB::
1775 001502 034 .BYTE CH.EOL!CH.EOC!CH.EOS ; <NULL> (000)
1776 001503 030 .BYTE CH.EOS!CH.EOC ; ^A (001)
1777 001504 200 .BYTE CH.ILL ; ^B (002)
1778 001505 200 .BYTE CH.ILL ; ^C (003)
1779 001506 200 .BYTE CH.ILL ; ^D (004)
1780 001507 200 .BYTE CH.ILL ; ^E (005)
1781 001510 200 .BYTE CH.ILL ; ^F (006)
1782 001511 200 .BYTE CH.ILL ; ^G <BELL> (007)
1783 001512 200 .BYTE CH.ILL ; ^H (010)
1784 001513 200 .BYTE CH.ILL ; ^I <HORIZONTAL-TAB> (011)
1785 001514 200 .BYTE CH.ILL ; ^J <NEW-LINE> (012)
1786 001515 200 .BYTE CH.ILL ; ^K <VERTICAL-TAB> (013)
1787 001516 200 .BYTE CH.ILL ; ^L <FORM-FEED> (014)
1788 001517 200 .BYTE CH.ILL ; ^M <CARRIAGE-RETURN> (015)
1789 001520 200 .BYTE CH.ILL ; ^N (016)
1790 001521 200 .BYTE CH.ILL ; ^O (017)
1791 001522 200 .BYTE CH.ILL ; ^P (020)
1792 001523 200 .BYTE CH.ILL ; ^Q (021)
1793 001524 200 .BYTE CH.ILL ; ^R (022)
1794 001525 200 .BYTE CH.ILL ; ^S (023)
1795 001526 200 .BYTE CH.ILL ; ^T (024)
1796 001527 200 .BYTE CH.ILL ; ^U (025)
1797 001530 200 .BYTE CH.ILL ; ^V (026)
1798 001531 200 .BYTE CH.ILL ; ^W (027)
DATAB -- COMMAND PARSER DATA B MACRO M1113 03-APR-86 22:51 PAGE 41
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1800 001532 200 .BYTE CH.ILL ; ^X (030)
1801 001533 200 .BYTE CH.ILL ; ^Y (031)
1802 001534 200 .BYTE CH.ILL ; ^Z (032)
1803 001535 200 .BYTE CH.ILL ; <ALT-MODE> (033)
1804 001536 200 .BYTE CH.ILL ; ^\ (034)
1805 001537 200 .BYTE CH.ILL ; ^] (035)
1806 001540 200 .BYTE CH.ILL ; ^^ (036)
1807 001541 200 .BYTE CH.ILL ; ^_ (037)
1808 001542 020 .BYTE CH.EOS ; <SPACE> (040)
1809 001543 200 .BYTE CH.ILL ; ! (041)
1810 001544 020 .BYTE CH.EOS ; " (042)
1811 001545 200 .BYTE CH.ILL ; # (043)
1812 001546 200 .BYTE CH.ILL ; $ (044)
1813 001547 200 .BYTE CH.ILL ; % (045)
1814 001550 200 .BYTE CH.ILL ; & (046)
1815 001551 020 .BYTE CH.EOS ; ' (047)
1816 001552 140 .BYTE CH.AOP!CH.PFX ; ( (050)
1817 001553 100 .BYTE CH.AOP ; ) (051)
1818 001554 120 .BYTE CH.AOP!CH.EOS ; * (052)
1819 001555 160 .BYTE CH.AOP!CH.EOS!CH.PFX ; + (053)
1820 001556 030 .BYTE CH.EOS!CH.EOC ; , (054)
1821 001557 160 .BYTE CH.AOP!CH.EOS!CH.PFX ; - (055)
1822 001560 200 .BYTE CH.ILL ; . (056)
1823 001561 120 .BYTE CH.AOP!CH.EOS ; / (057)
1824 ;
1825 001562 002 .BYTE CH.NUM ; 0 (060)
1826 001563 002 .BYTE CH.NUM ; 1 (061)
1827 001564 002 .BYTE CH.NUM ; 2 (062)
1828 001565 002 .BYTE CH.NUM ; 3 (063)
1829 001566 002 .BYTE CH.NUM ; 4 (064)
1830 001567 002 .BYTE CH.NUM ; 5 (065)
1831 001570 002 .BYTE CH.NUM ; 6 (066)
1832 001571 002 .BYTE CH.NUM ; 7 (067)
1833 001572 002 .BYTE CH.NUM ; 8 (070)
1834 001573 002 .BYTE CH.NUM ; 9 (071)
1835 ;
1836 001574 030 .BYTE CH.EOS!CH.EOC ; : (072)
1837 001575 030 .BYTE CH.EOS!CH.EOC ; ; (073)
1838 001576 200 .BYTE CH.ILL ; < (074)
1839 001577 020 .BYTE CH.EOS ; = (075)
1840 001600 020 .BYTE CH.EOS ; > (076)
1841 001601 041 .BYTE CH.PFX!CH.ALP ; ? (077)
1842 001602 200 .BYTE CH.ILL ; @ (100)
DATAB -- COMMAND PARSER DATA B MACRO M1113 03-APR-86 22:51 PAGE 42
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1844 001603 001 .BYTE CH.ALP ; A (101)
1845 001604 101 .BYTE CH.ALP!CH.AOP ; B (102)
1846 001605 101 .BYTE CH.ALP!CH.AOP ; C (103)
1847 001606 101 .BYTE CH.ALP!CH.AOP ; D (104)
1848 001607 001 .BYTE CH.ALP ; E (105)
1849 001610 001 .BYTE CH.ALP ; F (106)
1850 001611 001 .BYTE CH.ALP ; G (107)
1851 001612 001 .BYTE CH.ALP ; H (110)
1852 001613 001 .BYTE CH.ALP ; I (111)
1853 001614 001 .BYTE CH.ALP ; J (112)
1854 001615 001 .BYTE CH.ALP ; K (113)
1855 001616 001 .BYTE CH.ALP ; L (114)
1856 001617 001 .BYTE CH.ALP ; M (115)
1857 001620 001 .BYTE CH.ALP ; N (116)
1858 001621 101 .BYTE CH.ALP!CH.AOP ; O (117)
1859 001622 001 .BYTE CH.ALP ; P (120)
1860 001623 001 .BYTE CH.ALP ; Q (121)
1861 001624 001 .BYTE CH.ALP ; R (122)
1862 001625 001 .BYTE CH.ALP ; S (123)
1863 001626 001 .BYTE CH.ALP ; T (124)
1864 001627 001 .BYTE CH.ALP ; U (125)
1865 001630 001 .BYTE CH.ALP ; V (126)
1866 001631 001 .BYTE CH.ALP ; W (127)
1867 001632 001 .BYTE CH.ALP ; X (130)
1868 001633 001 .BYTE CH.ALP ; Y (131)
1869 001634 001 .BYTE CH.ALP ; Z (132)
1870 ;
1871 001635 200 .BYTE CH.ILL ; [ (133)
1872 001636 200 .BYTE CH.ILL ; \ (134)
1873 001637 200 .BYTE CH.ILL ; ] (135)
1874 001640 140 .BYTE CH.AOP!CH.PFX ; ^ (136)
1875 001641 120 .BYTE CH.AOP!CH.EOS ; _ (137)
1876 001642 200 .BYTE CH.ILL ; @ (140)
1911 .EVEN
1912 000000 .PSECT
DATAB -- COMMAND PARSER DATA B MACRO M1113 03-APR-86 22:51 PAGE 44
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1915
1916 .TITLE DEB880 -- DEBUG PARSER DATA BASE
1917
1918 .IDENT "006110"
1919
1920 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO M1113 03-APR-86 22:51 PAGE 46
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
2019 .TITLE CHECK -- GENERAL ARGUMENT CHECK MODULE 7709.21
2020
2021 .IDENT "006020"
2022
2023 ;
2024 ; COPYRIGHT (C) 1975, 1984, 1985 BY
2025 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
2026 ; ALL RIGHTS RESERVED.
2027 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
2028 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
2029 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2030 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
2031 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2032 ;
2033 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2034 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2035 ; CORPORATION.
2036 ;
2037 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2038 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2039 ;
2040 ; MODULE: ALPANUMERIC ARGUMENT CHECK
2041 ;
2042 ; VERSION: 06-02
2043 ;
2044 ; AUTHOR: R. BELANGER
2045 ;
2046 ; DATE: 709.21
2047 ;
2048 ; THIS MODULE CONTAINS:
2049 ;
2050 ; 1) ALPHANUMERIC ARGUMENT CHECK CODE
2051 ; 2) TRAILING COLON CHECK CODE
2052 ; 3) END OF COMMAND CHECK CODE
2053 ; 4) END OF SYMBOL CHECK CODE
2054 ; 5) TRAILING OBJECT CHECK CODE
2055 ; 6) TRAILING SYMBOL CHECK CODE
2056 ;
2057 ; MODIFICATION:
2058 ;
2059 ; NO. DATE PROGRAMMER REASON
2060 ; --- ---- ---------- ------
2061 ; TCO 5.1002 18-SEP-79 K. LEFEBVRE ADD RETURN TO CES ON SWEEP
2062
2063 .MCALL CLEF$S
CHECK -- GENERAL ARGUMENT CHECK MACRO M1113 03-APR-86 22:51 PAGE 47
.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
2065 .SBTTL .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
2066
2067 ;+
2068 ; .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP BY READING
2069 ; DTE-20 DIAG WORD 1.
2070 ;
2071 ; THIS SUBROUTINE CHECKS FOR THE KL CLOCK ERROR STOP ("D1.CES") FLAG
2072 ; IN THE DTE-20 DIAG1 REGISTER, AND WILL RETURN NORMALLY IF THE BIT IS OFF.
2073 ;
2074 ; SEQUENCE OF OPERATION:
2075 ;
2076 ; (A) READ DTE-20 DIAG WORD 1,
2077 ; (B) TEST THE CLOCK ERROR STOP FLAG FROM (A),
2078 ; (C) IF THE FLAG IS CLEAR, EXIT, ELSE GO TO (D),
2079 ; (D) RESET THE STATE OF ".KLFLG" AND ".SVKLF" (Q.V.),
2080 ; (E) FORCE A CONTEXT SWITCH INTO SECONDARY PROTOCOL,
2081 ; (F) RETURN A .RAD50 "CES" ERROR CODE VIA ERROR TRAP.
2082 ;
2083 ; INPUT ARGUMENTS:
2084 ;
2085 ; NONE.
2086 ;
2087 ; OUTPUT ARGUMENTS:
2088 ;
2089 ; R0 CONTAINS A COPY OF DTE-20 DIAG WORD 1.
2090 ; CC-C IS SET IF CES AND SWEEP IN PROGRESS
2091 ;
2092 ; ERROR CODES RETURNED:
2093 ;
2094 ; CES -- KL CLOCK ERROR STOP.
2095 ; DSF -- DTE-20 STATUS FAILURE.
2096 ;-
2097
2098 000000 .CESCK::
2102 000000 CALL .DTDW1 ; READ DIAG WORD 1
000000 004737 003530' JSR PC,.DTDW1
2103 000004 032700 004000 BIT #D1.CES,R0 ; IS CLOCK ERROR STOP LIT?
2104 000010 001002 BNE CESCES ; YES -- GIVE "CES" ERROR
2105 000012 000241 CLC ; [5.1002]NO -- CLEAR CARRY
2106 000014 RETURN ; JUST RETURN
000014 000207 RTS PC
2107 000016 CESCES:
2108 000016 CALL ..DTSP ; [5.1002]STOP ALL PROTOCOLS
000016 004737 000000G JSR PC,..DTSP
2109 000022 112737 000001 000000G MOVB #1,.NOERR ; AND DISABLE ERROR INTERRUPT
2110 000030 005037 000260' CLR .SVKLF ; DISALLOW RESTARTS
2111 000034 042737 140200 000000G BIC #KF.CON!KF.RUN!KF.CLK,.KLFLG
2112 ; CLEAR THE CLOCK AND CONTINUEABLE FLAGS
2113 000042 052737 000100 000000G BIS #KF.CES,.KLFLG ; FLAG THE CLOCK ERROR STOP
2114 000050 005737 000262' TST .SWPIP ; [5.1002]SWEEP IN PROGRESS?
2115 000054 001402 BEQ 10$ ; [5.1002]NO -- TAKE ERROR TRAP
2116 000056 000261 SEC ; [5.1002]YES -- SET CARRY
2117 000060 RETURN ; [5.1002]EXIT
000060 000207 RTS PC
2118 000062 10$: ERROR$ CES ; ERROR -- CLOCK ERROR STOP
000062 012746 011633 MOV #^RCES,-(SP)
000066 104400 TRAP TC.ERR
CHECK -- GENERAL ARGUMENT CHECK MACRO M1113 03-APR-86 22:51 PAGE 47-1
.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
2119 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO M1113 03-APR-86 22:51 PAGE 48
.CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
2121 .SBTTL .CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
2122
2123 ;+
2124 ; .CKARG -- CHECK FOR AN ALPHANUMERIC ARGUMENT
2125 ;
2126 ; THIS ROUTINE WILL CHECK THE FIRST CHARACTER OF THE NEXT SYMBOL
2127 ; IN THE INPUT STREAM TO SEE IF IT IS ALPHABETIC OR NUMERIC.
2128 ;
2129 ; INPUT ARGUMENTS:
2130 ;
2131 ; R5 POINTS TO THE INPUT STREAM
2132 ;
2133 ; OUTPUT ARGUMENTS:
2134 ;
2135 ; R5 POINTS TO THE FIRST CHARACTER IN THE SYMBOL
2136 ; CC-N IS SET IF IT IS NUMERIC
2137 ; CC-Z IS SET IF IT IS ALPHABETIC
2138 ;
2139 ; ERROR CODES RETURNED:
2140 ;
2141 ; MRA -- MISSING REQUIRED ARGUMENT
2142 ;-
2143
2144 000070 .CKARG::
2145 000070 CALL .CKSYM ; GET OVER LEADING BLANKS
000070 004737 000374' JSR PC,.CKSYM
2146 000074 132764 000001 001502' BITB #CH.ALP,.CHTAB(R4)
2147 000102 001403 BEQ 10$ ; SEE IF IT IS NUMERIC
2148 000104 000250 CLN ; CLEAR CC-N
2149 000106 000264 SEZ ; SET CC-Z TO SAY ALPHABETIC
2150 000110 000406 BR 20$ ; AND EXIT
2151 ;
2152 000112 10$:
2153 000112 132764 000042 001502' BITB #CH.NUM!CH.PFX,.CHTAB(R4)
2154 000120 001417 BEQ CKCMRA ; NOT NUMERIC -- GIVE ERROR
2155 000122 000244 CLZ ; CLEAR CC-Z
2156 000124 000270 SEN ; SET CC-N TO SAY NUMERIC
2157 000126 20$:
2158 000126 RETURN ; TO CALLER
000126 000207 RTS PC
CHECK -- GENERAL ARGUMENT CHECK MACRO M1113 03-APR-86 22:51 PAGE 49
.CKCOL -- CHECK FOR A EQUAL 7709.21
2160 .SBTTL .CKCOL -- CHECK FOR A EQUAL 7709.21
2161
2162 ;+
2163 ; .CKCOL -- CHECK FOR A EQUAL
2164 ;
2165 ; THIS ROUTINE CHECKS FOR A EQUAL AFTER A SYMBOL
2166 ;
2167 ; INPUT ARGUMENTS:
2168 ;
2169 ; R5 POINTS TO THE INPUT STREAM
2170 ;
2171 ; OUTPUT ARGUMENTS:
2172 ;
2173 ; R5 POINTS TO THE FIRST CHARACTER AFTER THE EQUAL.
2174 ;
2175 ; ERROR CODES RETURNED:
2176 ;
2177 ; ILS -- ILLEGAL SEPARATOR CHARACTER.
2178 ; MRA -- MISSING REQUIRED ARGUMENT
2179 ;-
2180
2181 000130 .CKCOL::
2182 000130 112504 MOVB (R5)+,R4 ; GET THE CHARACTER
2183 000132 132764 000010 001502' BITB #CH.EOC,.CHTAB(R4)
2184 000140 001007 BNE CKCMRA ; MISSING ARGUMENT IF E-O-C
2185 000142 122704 000075 CMPB #'=,R4 ; IS IT A EQUAL?
2186 000146 001001 BNE CKCILS ; NO -- GIVE "ILS" ERROR
2187 000150 RETURN ; YES -- JUST RETURN
000150 000207 RTS PC
2188 000152 CKCILS:
2189 000152 ERROR$ ILS ; ERROR -- ILLEGAL SEPARATOR CHARACTER
000152 012746 035063 MOV #^RILS,-(SP)
000156 104400 TRAP TC.ERR
2190 ;
2191 000160 CKCMRA:
2192 000160 ERROR$ MRA ; ERROR -- MISSING REQUIRED ARGUMENT
000160 012746 052021 MOV #^RMRA,-(SP)
000164 104400 TRAP TC.ERR
2193 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO M1113 03-APR-86 22:51 PAGE 50
.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
2195 .SBTTL .CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
2196
2197 ;+
2198 ; .CKCTC -- CHECK FOR CONTROL-C TYPED
2199 ;
2200 ; THIS SUBROUTINE CHECKS THE CONTROL-C EVENT FLAG, "E.FCTC" AND WILL
2201 ; RETURN TO THE CALLING ROUTINE IF IT IS CLEAR OR TRAP IF IT IS SET.
2202 ;
2203 ; INPUT ARGUMENTS:
2204 ;
2205 ; NONE.
2206 ;
2207 ; OUTPUT ARGUMENTS:
2208 ;
2209 ; NONE
2210 ;
2211 ; ERROR CODES RETURNED:
2212 ;
2213 ; NONE.
2214 ;-
2215
2216 000166 .CKCTC::
2217 000166 CLEF$S #E.FCTC ; CLEAR THE EVENT FLAG
000166 012746 000000G MOV #E.FCTC,-(SP)
000172 012746 MOV (PC)+,-(SP)
000174 037 002 .BYTE 31.,2
000176 104375 EMT 375
2218 000200 022737 000000G 000000G CMP #IS.SET,$DSW ; WAS IT SET?
2219 000206 001401 BEQ 10$ ; YES -- TRAP OUT
2220 000210 RETURN ; NO -- JUST RETURN
000210 000207 RTS PC
2221 000212 10$: ; PC OF CALL WILL BE IN ".TRPEC"
2222 000212 104402 TRAP TC.CTC ; .TRAP AND RESTART
2223 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO M1113 03-APR-86 22:51 PAGE 51
.CKEOC -- CHECK END OF COMMAND 7602.16
2225 .SBTTL .CKEOC -- CHECK END OF COMMAND 7602.16
2226
2227 ;+
2228 ; .CKEOC -- CHECK FOR END OF COMMAND
2229 ;
2230 ; THIS ROUTINE CHECKS FOR AN END OF COMMAND CHARACTER
2231 ;
2232 ; INPUT ARGUMENTS:
2233 ;
2234 ; R5 POINTS TO THE INPUT STREAM
2235 ;
2236 ; OUTPUT ARGUMENTS:
2237 ;
2238 ; R5 IS UNCHANGED
2239 ;
2240 ; ERROR CODES RETURNED:
2241 ;
2242 ; EOC -- END OF COMMAND REQUIRED
2243 ; ILS -- ILLEGAL SEPARATOR CHARACTER
2244 ;-
2245
2246 000214 .CKEOC::
2247 000214 111504 MOVB (R5),R4 ; GET THE CHARACTER
2248 000216 132764 000010 001502' BITB #CH.EOC,.CHTAB(R4)
2249 000224 001401 BEQ 10$ ; MAY BE ERROR IF NOT E-O-C
2250 000226 RETURN ; TO CALLER
000226 000207 RTS PC
2251 000230 10$:
2252 000230 PUSH R4 ; SAVE THE CHARACTER
000230 010446 MOV R4,-(SP)
2253 000232 CALL .CKSYM ; .LOOK FOR A NON-BLANK CHARACTER
000232 004737 000374' JSR PC,.CKSYM
2254 000236 122704 000077 CMPB #'?,R4 ; .IS THIS AN INQUIRY?
2255 000242 001402 BEQ CKEEOC ; .YES -- GIVE "EOC" ERROR
2256 000244 POP R4 ; .NO -- GIVE "ILS" ERROR
000244 012604 MOV (SP)+,R4
2257 000246 000741 BR CKCILS ; ERROR -- ILLEGAL SEPARATOR CHARACTER
2258 ;
2259 000250 CKEEOC:
2260 000250 ERROR$ EOC ; ERROR -- END OF COMMAND
000250 012746 020633 MOV #^REOC,-(SP)
000254 104400 TRAP TC.ERR
2261 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO M1113 03-APR-86 22:51 PAGE 52
.CKEOS -- CHECK END OF SYMBOL 7709.21
2263 .SBTTL .CKEOS -- CHECK END OF SYMBOL 7709.21
2264
2265 ;+
2266 ; .CKEOS -- CHECK FOR A NON-BLANK END OF SYMBOL
2267 ;
2268 ; THIS ROUTINE CHECKS FOR A NON-BLANK END-OF-SYMBOL CHARACTER
2269 ;
2270 ; INPUT ARGUMENTS:
2271 ;
2272 ; R5 POINTS TO THE END-OF-SYMBOL CHARACTER
2273 ;
2274 ; OUTPUT ARGUMENTS:
2275 ;
2276 ; R5 IS UNCHANGED
2277 ;
2278 ; ERROR CODES RETURNED:
2279 ;
2280 ; ILS -- ILLEGAL SEPARATOR CHRARACTER
2281 ;-
2282
2283 000256 .CKEOS::
2284 000256 111504 MOVB (R5),R4 ; GET THE CHARACTER INTO R4
2285 000260 132764 000020 001502' BITB #CH.EOS,.CHTAB(R4)
2286 000266 001731 BEQ CKCILS ; ILLEGAL IF NOT E-O-S
2287 000270 122704 000040 CMPB #.SPACE,R4 ; IS IS A <SPACE>?
2288 000274 001726 BEQ CKCILS ; YES -- COMPLAIN
2289 000276 RETURN ; NO -- JUST RETURN
000276 000207 RTS PC
CHECK -- GENERAL ARGUMENT CHECK MACRO M1113 03-APR-86 22:51 PAGE 53
.CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
2291 .SBTTL .CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
2292
2293 ;+
2294 ; .CKOBJ -- CHECK FOR A TRAILING OBJECT.
2295 ;
2296 ; THIS SUBROUTINE CHECKS TO SEE IF AN OBJECT SYMBOL FOLLOWS THE
2297 ; CURRENT SYMBOL.
2298 ;
2299 ; INPUT ARGUMENTS:
2300 ;
2301 ; NONE.
2302 ;
2303 ; OUTPUT ARGUMENTS:
2304 ;
2305 ; NONE.
2306 ;
2307 ; ERROR CODES RETURNED:
2308 ;
2309 ; MRA -- MISSING REQUIRED ARGUMENT.
2310 ;-
2311
2312 000300 .CKOBJ::
2313 000300 CALL .CKSYM ; GET OVER LEADING BLANKS
000300 004737 000374' JSR PC,.CKSYM
2314 000304 132764 000010 001502' BITB #CH.EOC,.CHTAB(R4)
2315 000312 001322 BNE CKCMRA ; ILLEGAL IF E-O-C
2316 000314 RETURN ; NOT E-O-C -- RETURN
000314 000207 RTS PC
CHECK -- GENERAL ARGUMENT CHECK MACRO M1113 03-APR-86 22:51 PAGE 54
.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
2318 .SBTTL .CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
2319
2320 ;+
2321 ; .CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING
2322 ; .CKRNP -- SPECIAL RUN CHECK FOR PROGRAMMER MODE
2323 ;
2324 ; THIS SUBROUTINE WILL CHECK IF THE KL IS RUNNING FROM ".KLFLG"
2325 ; OR IF THE FRONT END IS IN MAINTENANCE MODE.
2326 ;
2327 ; INPUT ARGUMENTS:
2328 ;
2329 ; NONE.
2330 ;
2331 ; OUTPUT ARGUMENTS:
2332 ;
2333 ; NONE.
2334 ;
2335 ; ERROR CODES RETURNED:
2336 ;
2337 ; KLR -- KL IS RUNNING.
2338 ;-
2339
2340 .ENABL LSB
2341
2342 000316 .CKRNP::
2343 000316 PUSH R0 ; SAVE R0
000316 010046 MOV R0,-(SP)
2344 000320 012700 000002 MOV #LG.PRG,R0 ; .SET PROGRAMMER ALLOWED
2345 000324 000402 BR 10$ ; .AND CONTINUE TEST
2346 ;
2347 000326 .CKRUN::
2348 000326 PUSH R0 ; SAVE R0
000326 010046 MOV R0,-(SP)
2349 000330 005000 CLR R0 ; .CLEAR R0
2350 000332 10$:
2351 000332 052700 000004 BIS #LG.MNT,R0 ; .SET MAINTENANCE ALLOWED
2352 000336 PUSH .KLFLG ; .SAVE ".KLFLG"
000336 013746 000000G MOV .KLFLG,-(SP)
2353 000342 005116 COM (SP) ; ..INVERT ".KLFLG"
2354 000344 032716 140000 BIT #KF.RUN!KF.CLK,(SP)
2355 000350 001003 BNE 20$ ; ..BRANCH IF THE KL IS NOT RUNNING
2356 000352 030037 000000G BIT R0,.FEMOD ; ..ARE WE IN ALLOWED MODE?
2357 000356 001403 BEQ CKRKLR ; ..NO -- GIVE "KLR" ERROR
2358 000360 20$:
2359 000360 005726 TST (SP)+ ; ..YES -- RESET THE STACK
2360 000362 POP R0 ; .RESTORE R0
000362 012600 MOV (SP)+,R0
2361 000364 RETURN ; TO CALLER
000364 000207 RTS PC
2362
2363 .DSABL LSB
2364
2365 000366 CKRKLR:
2366 000366 ERROR$ KLR ; ..ERROR -- KL IS RUNNING
000366 012746 043262 MOV #^RKLR,-(SP)
000372 104400 TRAP TC.ERR
2367 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO M1113 03-APR-86 22:51 PAGE 55
.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
2369 .SBTTL .CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
2370
2371 ;+
2372 ; .CKSYM -- SUBROUTINE TO FIND THE FIRST CHARACTER IN A SYMBOL.
2373 ;
2374 ; THIS SUBROUTINE WILL FIND THE FIRST NON-BLANK CHARACTER IN AN INPUT
2375 ; SYMBOL POINTED TO BY R5. THE SYMBOL IS THEN CHECKED TO SEE IF IT IS
2376 ; ALPAHBETIC, NUMERIC, OR A LEGAL PREFIX CHARACTER.
2377 ;
2378 ; INPUT ARGUMENTS:
2379 ;
2380 ; R5 POINTS TO THE INPUT STREAM.
2381 ;
2382 ; OUTPUT ARGUMENTS:
2383 ;
2384 ; R5 POINTS TO THE FIRST NON-BLANK CHARACTER.
2385 ;
2386 ; ERROR CODES RETURNED:
2387 ;
2388 ; NONE.
2389 ;-
2390
2391 000374 .CKSYM::
2392 000374 112504 MOVB (R5)+,R4 ; GET THE CHARACTER
2393 000376 122704 000040 CMPB #.SPACE,R4 ; IS IT A <SPACE>?
2394 000402 001774 BEQ .CKSYM ; YES -- DO NEXT CHARACTER
2395 000404 105745 TSTB -(R5) ; NO -- BACK THE POINTER UP
2396 000406 RETURN ; TO CALLER
000406 000207 RTS PC
CHECK -- GENERAL ARGUMENT CHECK MACRO M1113 03-APR-86 22:51 PAGE 56
.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
2398 .SBTTL .EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
2399
2400 ;+
2401 ; .EBPCK -- SUBROUTINE TO CHECK FOR EBUS PARITY ERRORS
2402 ;
2403 ; THIS SUBROUTINE WILL CAUSE AN ERROR TRAP IF THE EBUS PARITY ERROR
2404 ; FLAG IS TRUE IN THE DTE-20 STATUS WORD.
2405 ;
2406 ; INPUT ARGUMENTS:
2407 ;
2408 ; NONE.
2409 ;
2410 ; OUTPUT ARGUMENTS:
2411 ;
2412 ; R0 CONTAINS A COPY OF THE DTE-20 STATUS WORD
2413 ;
2414 ; ERROR CODES RETURNED:
2415 ;
2416 ; DSF -- DTE-20 STATUS FAILURE.
2417 ; EPE -- EBUS PARITY ERROR.
2418 ;-
2419
2420 000410 .EBPCK::
2421 000410 CALL .DTSTA ; READ DTE-20 STATUS WORD
000410 004737 003546' JSR PC,.DTSTA
2422 000414 032700 000020 BIT #ST.EPE,R0 ; EBUS PARITY ERROR?
2424 000420 001001 BNE EBPEPE ; YES -- GIVE "EPE" ERROR
2426 000422 RETURN ; NO -- JUST RETURN
000422 000207 RTS PC
2427 000424 EBPEPE:
2428 000424 ERROR$ EPE ; ERROR -- EBUS PARITY ERROR
000424 012746 020705 MOV #^REPE,-(SP)
000430 104400 TRAP TC.ERR
2429 ;
2430
2431 .TITLE ERROR -- PARSER ERROR HANDLER MODULE 7609.24
2432
2433 .IDENT "006020"
2434 ;
2435 ; COPYRIGHT (C) 1975, 1984, 1985 BY
2436 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
2437 ; ALL RIGHTS RESERVED.
2438 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
2439 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
2440 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2441 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
2442 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2443 ;
2444 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2445 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2446 ; CORPORATION.
2447 ;
2448 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2449 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2450 ;
2451 ; MODULE: ERROR HANDLER
2452 ;
ERROR -- PARSER ERROR HANDLER M MACRO M1113 03-APR-86 22:51 PAGE 56-1
.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
2453 ; VERSION: 06-02
2454 ;
2455 ; AUTHOR: R. BELANGER
2456 ;
2457 ; DATE: 7609.24
2458 ;
2459 ; THIS MODULE CONTAINS:
2460 ;
2461 ; 1) ERROR DECODER
ERROR -- PARSER ERROR HANDLER M MACRO M1113 03-APR-86 22:51 PAGE 57
.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
2463 .SBTTL .PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
2464
2465 ;+
2466 ; .PARER -- ERROR DECODE AND PRINT ROUTINE.
2467 ;
2468 ; THIS ROUTINE WILL DECODE THE .RAD50 ERROR CODE PASSED TO IT IN R0
2469 ; AND PRINT AN APPROPRIATE ENGLISH ERROR MESSAGE. THIS ROUTINE IS
2470 ; CALLED FROM THE TRAP HANDLER, ".PTTRP".
2471 ;
2472 ; TWO ERROR CODE TABLES ARE SCANNED, ONE FOR SPECIAL ERRORS AND ONE FOR
2473 ; NORMAL ERRORS, UNTIL A MATCH IS FOUND. IF NO MATCH IS FOUND, ".PARER"
2474 ; WILL ISSUE A "UEC" ERROR CODE.
2475 ;
2476 ; THE SPECIAL ERROR CODES REQUIRE SPECIAL HANDLING BY SEPARATE ROUTINES,
2477 ; THIER ENTRIES LOOK LIKE THIS:
2478 ;
2479 ; !===============================!
2480 ; ! .RAD50 ERROR CODE !
2481 ; !-------------------------------!
2482 ; ! DISPATCH ADDRESS !
2483 ; !-------------------------------!
2484 ; ! MESSAGE POINTER !
2485 ; !===============================!
2486 ;
2487 ; THE NORMAL ERRORS SIMPLY REQUIRE THAT THE ERROR MESSAGE BE PRINTED
2488 ; AND THE ENTRIES IN THIER TABLE LOOK LIKE THIS:
2489 ;
2490 ; !===============================!
2491 ; ! .RAD50 ERROR CODE !
2492 ; !-------------------------------!
2493 ; ! MESSAGE POINTER !
2494 ; !===============================!
2495 ;
2496 ; INPUT ARGUMENTS:
2497 ;
2498 ; R0 HOLDS THE .RAD50 ERROR CODE
2499 ;
2500 ; OUTPUT ARGUMENTS:
2501 ;
2502 ; NONE.
2503 ;
2504 ; ERROR MESSAGES RETURNED:
2505 ;
2506 ; IF THE CONSOLE DEVICE CANNOT BE ATTACHED OR DEATCHED,
2507 ; THE PARSER EXITS.
2508 ;
2509 ; UEC -- UNMATCHED ERROR CODE.
2510 ;-
ERROR -- PARSER ERROR HANDLER M MACRO M1113 03-APR-86 22:51 PAGE 58
.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
2512 000432 .PARER::
2513 000432 PUSH <R0,R1,R2> ; SAVE CALLER'S REGISTERS
000432 010046 MOV R0,-(SP)
000434 010146 MOV R1,-(SP)
000436 010246 MOV R2,-(SP)
2514 000440 012701 006740' MOV #.SPETB,R1 ; ...SPECIAL ERRORS GET CHECKED FIRST
2515 000444 10$:
2516 000444 012102 MOV (R1)+,R2 ; ...ERROR CODE TO R2
2517 000446 001405 BEQ 30$ ; ...END-OF-TABLE TRY OTHER ERROR CODES
2518 000450 020002 CMP R0,R2 ; ...DO THEY MATCH?
2519 000452 001402 BEQ 20$ ; ...YES -- DISPATCH TO SPECIAL HANDLER
2520 000454 022121 CMP (R1)+,(R1)+ ; ...NO -- GET OVER DISPATCH
2521 000456 000772 BR 10$ ; ...AND TRY THE NEXT ONE
2522 ;
2523 000460 20$:
2524 000460 000131 JMP @(R1)+ ; ...AWAY TO SPECIAL ROUTINE
2525 ;
2526 000462 30$:
2527 000462 012701 005542' MOV #.NSETB,R1 ; ...TABLE POINTER TO R1
2528 000466 40$:
2529 000466 012102 MOV (R1)+,R2 ; ...ERROR CODE TO R2
2530 000470 001521 BEQ PARUEC ; ...END-OF-TABLE -- GIVE UEC ERROR
2531 000472 020002 CMP R0,R2 ; ...DO THEY MATCH?
2532 000474 001402 BEQ 50$ ; ...YES -- PRINT THE MESSAGE
2533 000476 005721 TST (R1)+ ; ...NO -- GET OVER MESSAGE POINTER
2534 000500 000772 BR 40$ ; ...AND TRY NEXT CODE
2535 ;
2536 000502 50$:
2537 000502 CALL PARERC ; ...DO COMMON OUTPUT CODE
000502 004737 000662' JSR PC,PARERC
2538 000506 PARERX:
2539 000506 POP <R2,R1,R0> ; ...RESTORE THE REGISTERS
000506 012602 MOV (SP)+,R2
000510 012601 MOV (SP)+,R1
000512 012600 MOV (SP)+,R0
2540 000514 CALLR .TCRLF ; END THE LINE AND RETURN
000514 000137 015552' JMP .TCRLF
2541 ;
ERROR -- PARSER ERROR HANDLER M MACRO M1113 03-APR-86 22:51 PAGE 59
.PARER -- SPECIAL ERROR ROUTINES 7609.24
2543 .SBTTL .PARER -- SPECIAL ERROR ROUTINES 7609.24
2544
2545 .ENABL LSB
2546
2547 000520 .SEAMB::
2548 000520 .SENSK::
2549 000520 CALL PARERC ; ...DO COMMON CODE
000520 004737 000662' JSR PC,PARERC
2550 000524 10$:
2551 000524 112500 MOVB (R5)+,R0 ; ...LOAD THE OFFENDING SYMBOL
2552 000526 132760 000034 001502' BITB #CH.END,.CHTAB(R0)
2553 000534 001017 BNE 30$ ; ...UNTIL THE END
2554 000536 CALL .TYCHR ; ...OUTPUT THE CHARACTER
000536 004737 015520' JSR PC,.TYCHR
2555 000542 000770 BR 10$ ; ...CONTINUE
2556 ;
2557 000544 .SEILC::
2558 000544 .SEILS::
2559 000544 .SEIPC::
2560 000544 CALL PARERC ; ...DO COMMON CODE
000544 004737 000662' JSR PC,PARERC
2561 000550 110400 MOVB R4,R0 ; ...GET THE CHARACTER
2562 000552 122700 000040 CMPB #.SPACE,R0 ; ...IS IT A CONTROL CHARACTER?
2563 000556 003404 BLE 20$ ; ...NO -- JUST PRINT IT
2564 000560 CALL .TYUPA ; ...YES -- TYPE AN <UPARROW>
000560 004737 014612' JSR PC,.TYUPA
2565 000564 052700 000100 BIS #100,R0 ; ...MAKE IT A PRINTING CHARACTER
2566 000570 20$:
2567 000570 CALL .TYCHR ; ...PRINT THE CHARACTER
000570 004737 015520' JSR PC,.TYCHR
2568 000574 30$:
2569 000574 112700 000042 MOVB #'",R0 ; ...END QUOTE
2570 000600 CALL .TYCHR ; ...PRINT THAT
000600 004737 015520' JSR PC,.TYCHR
2571 000604 000740 BR PARERX ; ...AND EXIT
2572 ;
ERROR -- PARSER ERROR HANDLER M MACRO M1113 03-APR-86 22:51 PAGE 60
.PARER -- SPECIAL ERROR ROUTINES 7609.24
2574 000606 .SEFRF::
2575 000606 PUSH .KLDFR+2 ; ...SAVE THE READ CODE
000606 013746 000340' MOV .KLDFR+2,-(SP)
2576 000612 000405 BR 40$ ; ....TO COMMON CODE
2577 ;
2578 000614 .SEFWF::
2579 000614 PUSH .KLDFW+2 ; ...SAVE THE WRITE CODE
000614 013746 000352' MOV .KLDFW+2,-(SP)
2580 000620 000402 BR 40$ ; ....TO COMMON CODE
2581 ;
2582 000622 .SEFXF::
2583 000622 PUSH .KLDFX+2 ; ...SAVE THE EXECUTE CODE
000622 013746 000364' MOV .KLDFX+2,-(SP)
2584 000626 40$:
2585 000626 CALL PARERC ; ....DO COMMON STUFF
000626 004737 000662' JSR PC,PARERC
2586 000632 POP R0 ; ....GET THE CODE
000632 012600 MOV (SP)+,R0
2587 000634 000300 SWAB R0 ; ...SWAP THE BYTES
2588 000636 042700 177400 BIC #^C377,R0 ; ...CLEAR JUNK
2589 000642 006200 ASR R0 ; ...DIVIDE BY 2
2590 000644 CALL .TYP3D ; ...PRINT CODE
000644 004737 015032' JSR PC,.TYP3D
2591 000650 012700 000050' MOV #FLDMSG,R0 ; ...END MESSAGE
2592 000654 CALL .TYMSG ; ...PRINT IT
000654 004737 015462' JSR PC,.TYMSG
2593 000660 000712 BR PARERX ; ...AND EXIT
2594 ;
2595
2596 000050 .PSECT MESSAG
2597
2598 000050 FLDMSG:
2599 000050 040 106 101 .ASCIZ % FAILED%
000053 111 114 105
000056 104 000
2600 000662 .PSECT
ERROR -- PARSER ERROR HANDLER M MACRO M1113 03-APR-86 22:51 PAGE 61
.PARER -- SPECIAL ERROR ROUTINES 7609.24
2602 ; THIS IS THE COMMON ERROR CODE ROUTINE
2603
2604 000662 PARERC:
2605 000662 012700 000011' MOV #PARMSG,R0 ; ...PREAMBLE
2606 000666 CALL .TYMSG ; ...PRINT IT
000666 004737 015462' JSR PC,.TYMSG
2607 000672 012700 000133 MOV #'[,R0 ; ...LEFT BRACKET
2608 000676 CALL .TYCHR ; ...PRINT IT
000676 004737 015520' JSR PC,.TYCHR
2609 000702 013700 000004' MOV .CCMDN,R0 ; ...CURRENT COMMAND NAME
2610 000706 CALL .TYMSG ; ...PRINT IT
000706 004737 015462' JSR PC,.TYMSG
2611 000712 012700 000135 MOV #'],R0 ; ...RIGHT BRACKET
2612 000716 CALL .TYCHR ; ...PRINT IT
000716 004737 015520' JSR PC,.TYCHR
2613 000722 CALL .TYSPC ; ...<SPACE>
000722 004737 014602' JSR PC,.TYSPC
2614 000726 011100 MOV (R1),R0 ; ...ERROR MESSAGE
2615 000730 CALLR .TYMSG ; ...PRINT IT AND RETURN
000730 000137 015462' JMP .TYMSG
2616 ;
2617 000734 PARUEC:
2618 000734 PUSH R0 ; ...SAVE THE ERROR CODE
000734 010046 MOV R0,-(SP)
2619 000736 012701 001644' MOV #UECMSP,R1 ; ...."UEC" MESSAGE POINTER TO R1
2620 000742 CALL PARERC ; ....DO COMMON CODE
000742 004737 000662' JSR PC,PARERC
2621 000746 POP R0 ; ....RESTORE THE ERROR CODE
000746 012600 MOV (SP)+,R0
2622 000750 CALL .TYR50 ; ...PRINT IT
000750 004737 015772' JSR PC,.TYR50
2623 000754 000707 BR 30$ ; ...AND EXIT
2624 ;
2625
2626 .DSABL LSB
2627
2628 001644 .PSECT DATA
2629
2630 001644 UECMSP:
2631 001644 000060' .WORD UECMSG
2632
2633 000060 .PSECT MESSAG
2634
2635 000060 UECMSG:
2636 000060 125 116 115 .ASCIZ %UNMATCHED ERROR CODE "%
000063 101 124 103
000066 110 105 104
000071 040 105 122
000074 122 117 122
000077 040 103 117
000102 104 105 040
000105 042 000
2637
2638 000756 .PSECT
ERROR -- PARSER ERROR HANDLER M MACRO M1113 03-APR-86 22:51 PAGE 62
.PARER -- SPECIAL ERROR ROUTINES 7609.24
2640 000756 .SECES::
2641 000756 CALL PARERC ; ...DO COMMON CODE
000756 004737 000662' JSR PC,PARERC
2642 000762 CALL .RDIPE ; ...READ THE ERROR BITS
000762 004737 006704' JSR PC,.RDIPE
2643 000766 PUSH R0 ; ....SAVE THEM
000766 010046 MOV R0,-(SP)
2644 000770 001420 BEQ 30$ ; ....BAD NEWS IF NONE THERE
2645 000772 012701 001646' MOV #SPCEST,R1 ; ....TABLE POINTER TO R1
2646 000776 10$:
2647 000776 032716 000001 BIT #BIT00,(SP) ; ....IS THE BIT ON
2648 001002 001407 BEQ 20$ ; ....NO -- GO ON
2649 001004 011100 MOV (R1),R0 ; ....YES -- SAY SO
2650 001006 CALL .TYMSG ; ....PRINT IT
001006 004737 015462' JSR PC,.TYMSG
2651 001012 CALL .TYCOM ; ....PRINT A COMMA
001012 004737 014552' JSR PC,.TYCOM
2652 001016 CALL .TYSPC ; ....AND A SPACE
001016 004737 014602' JSR PC,.TYSPC
2653 001022 20$:
2654 001022 005721 TST (R1)+ ; ....ADVANCE THE POINTER
2655 001024 006216 ASR (SP) ; ....SHIFT THE ERROR BITS
2656 001026 001363 BNE 10$ ; ....AND KEEP GOING
2657 001030 000404 BR 40$ ; ....FINISHED -- EXIT
2658 ;
2659 001032 30$:
2660 001032 012700 000122' MOV #NEBMSG,R0 ; ....NO ERROR BIT ARE SET
2661 001036 CALL .TYMSG ; ....SAY SO
001036 004737 015462' JSR PC,.TYMSG
2662 001042 40$:
2663 001042 005726 TST (SP)+ ; ....FLUSH THE STACK
2664 001044 000620 BR PARERX ; ...AND EXIT
2665 ;
2666
2667 001646 .PSECT DATA
2668
2669 001646 SPCEST:
2670 001646 000107' .WORD ERSMSG
2671 001650 001573' .WORD DRMMSG
2672 001652 001450' .WORD CRMMSG
2673 001654 001040' .WORD FMMSG
2674 001656 001607' .WORD FSSMSG
2675
2676 001046 .PSECT
ERROR -- PARSER ERROR HANDLER M MACRO M1113 03-APR-86 22:51 PAGE 63
.PARER -- SPECIAL ERROR ROUTINES 7609.24
2678 000107 .PSECT MESSAG
2679
2680 000107 ERSMSG:
2681 000107 105 122 122 .ASCIZ %ERROR STOP%
000112 117 122 040
000115 123 124 117
000120 120 000
2682 000122 NEBMSG:
2683 000122 116 117 040 .ASCIZ %NO ERROR STOP BITS SET%
000125 105 122 122
000130 117 122 040
000133 123 124 117
000136 120 040 102
000141 111 124 123
000144 040 123 105
000147 124 000
2684
2685 001046 .PSECT
ERROR -- PARSER ERROR HANDLER M MACRO M1113 03-APR-86 22:51 PAGE 64
.PTDIE -- RECURSIVE TRAP HANDLER 7609.24
2687 .SBTTL .PTDIE -- RECURSIVE TRAP HANDLER 7609.24
2688
2689 ;+
2690 ; .PTDIE -- RECURSIVE TRAP HANDLER.
2691 ;
2692 ; THIS ROUTINE HANDLES RECURSIVE TRAPS, WHICH ARE FATAL ERRORS. THE
2693 ; OTHER TRAP HANDLERS IN "PARTRP" ENABLE THIS HANDLER BY PLACING ITS
2694 ; ENTRY POINT IN THE APPROPRIATE PLACE IN THE SST VECTOR TABLE.
2695 ; ".PTDIE" WILL PRINT A MESSAGE WITH THE PC OF THE RECURSIVE TRAP AND
2696 ; EXIT TO THE SYSTEM VIA AN "IOT" TRAP. THIS ROUTINE IS ENTERED WITH
2697 ; THE TRAP PC AND PSW ON THE STACK IN THE NORMAL MANNER.
2698 ;
2699 ; ERROR CODES RETURNED:
2700 ;
2701 ; NONE.
2702 ;-
2703
2704
2705 001046 .PTDIE::
2706 001046 005337 000272' DEC .TRPIP ; ..DECREMENT THE INTERLOCK
2707 001052 001423 BEQ 20$ ; ..KILL NOW IF RECURSIVE
2708 001054 PUSH R0 ; ..SAVE R0
001054 010046 MOV R0,-(SP)
2709 001056 012700 000316' MOV #.SSTTB,R0 ; ...TABLE POINTER TO R0
2710 001062 10$:
2711 001062 005020 CLR (R0)+ ; ...CLEAR THIS ENTRY
2712 001064 020027 000334' CMP R0,#SSTTBE ; ...ARE WE DONE?
2713 001070 003774 BLE 10$ ; ...NO -- KEEP GOING
2714 001072 CALL .TCRLF ; ...START THE LINE
001072 004737 015552' JSR PC,.TCRLF
2715 001076 012700 000151' MOV #PTRTEM,R0 ; ...RECURSIVE ERROR MESSAGE
2716 001102 CALL .TYLIN ; ...PRINT IT
001102 004737 015446' JSR PC,.TYLIN
2717 001106 016600 000002 MOV 2(SP),R0 ; ...GET THE TRAP PC
2718 001112 CALL .TYELN ; ...TYPE THAT
001112 004737 014766' JSR PC,.TYELN
2719 001116 CALL .TCRLF ; ...END THE LINE
001116 004737 015552' JSR PC,.TCRLF
2720 001122 20$:
2721 001122 000004 IOT ; ...AND GO AWAY
2722 ;
ERROR -- PARSER ERROR HANDLER M MACRO M1113 03-APR-86 22:51 PAGE 65
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
2724 .SBTTL .PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
2725
2726 ;+
2727 ; .PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER.
2728 ;
2729 ; THIS ROUTINE HANDLES TRAPS FROM THE "TRAP" INSTRUCTION, WHICH IS USED
2730 ; BY THE RSX20F COMMAND PARSER TO HANDLE INTERNAL ERRORS. THE ACTION
2731 ; TAKEN BY THIS ROUTINE IS DICTATED BY THE TRAP STATUS BYTE, WHICH IS
2732 ; THE FIRST ITEM ON THE STACK UPON ENTRY. THERE ARE FOUR STATUS CODES
2733 ; WHICH ARE RETURNED IN THE TRAP STATUS BYTE:
2734 ;
2735 ; (A) "TC.CTC" -- CONTROL-C TRAP -- SAME EFFECT AS "TC.RST", EXCEPT THAT NO
2736 ; ERROR MESSAGE IS TYPED. THE VALUE OF "TC.CTC" IS +2.
2737 ;
2738 ; (B) "TC.RST" -- ABORT THE CURRENT PROCESS AND ATTEMPT TO RESTORE THE
2739 ; STATE OF THE KL. THE "ABORT$" MACRO (Q.V.) GENERATES
2740 ; THIS CODE. THE PREVIOUS STATE OF THE KL MAY BE
2741 ; RECOVERED FROM THESE ERRORS. THE VALUE OF "TC.RST" IS +1.
2742 ;
2743 ; (C) "TC.ERR" -- SIMPLY ABORT THE CURRENT PROCESS AND RETURN TO THE MAIN
2744 ; THE MAIN PARSER. THE "ERROR$" MACRO (Q.V.) GENERATES
2745 ; THIS CODE. THESE ERRORS DO NOT USUALLY AFFECT THE STATE
2746 ; OF THE KL. THE VALUE OF "TC.ERR" IS 0.
2747 ;
2748 ; (D) "TC.CON" -- SIMPLY REPORT THE ERROR AND CONTINUE THE PROCESS.
2749 ; THIS CODE IS GENERATED BY THE "ERCON$" MACRO (Q.V.)
2750 ; THESE ERRORS ALLOW ERROR SPECIFIC RECOVERY TO BE
2751 ; ATTEMPTED. THE VALUE OF "TC.CON" IS -1.
2752 ;
2753 ; THE DECISION TO RECOVER OR NOT IS MADE BASED ON THE TRAP STATUS BYTE,
2754 ; AFTER WHICH THE ERROR CODE IS PICKED UP, DECODED AND PRINTED BY ".PARER".
2755 ;
2756 ; UPON ENTRY TO THE TRAP INSTRUCTION TRAP HANDLER, THE STACK CONTAINS
2757 ; THE FOLLOWING INFORMATION:
2758 ;
2759 ; !=======================================!
2760 ; 6(SP)==> ! TRAP ERROR CODE !
2761 ; !---------------------------------------!
2762 ; 4(SP)==> ! TRAP PROCESSOR STATUS WORD !
2763 ; !---------------------------------------!
2764 ; 2(SP)==> ! TRAP PROGRAM COUNTER !
2765 ; !---------------------------------------!
2766 ; (SP)==> ! TRAP STATUS BYTE * 2 !
2767 ; !=======================================!
2768 ;
2769 ; EXECUTION MAY BE RESUMED AFTER THE TRAP BY ISSUING AN "RTI" INSTRUCTION.
2770 ;
2771 ; ERROR CODES RETURNED:
2772 ;
2773 ; RTH -- RECURSION IN TRAP HANDLER.
2774 ; UEC -- UNMATCHED ERROR CODE.
2775 ;-
ERROR -- PARSER ERROR HANDLER M MACRO M1113 03-APR-86 22:51 PAGE 66
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
2777 001124 .PTTRP::
2778 001124 005037 000262' CLR .SWPIP ; [5.1002]CLEAR SWEEP IN PROGRESS FLAG
2779 001130 005337 000272' DEC .TRPIP ; ....DECREMENT THE TRAP IN PROGRESS FLAG
2780 001134 002471 BLT 30$ ; ....SECOND RECURSION -- KILL TASK
2781 001136 011637 000300' MOV (SP),.TRPSB ; ....SAVE THE TRAP STATUS BYTE
2782 001142 016637 000002 000274' MOV 2(SP),.TRPPC ; ....SAVE THE TRAP PC
2783 001150 016637 000004 000276' MOV 4(SP),.TRPPS ; ....SAVE THE TRAP PSW
2784 001156 016637 000006 000270' MOV 6(SP),.TRPEC ; ....SAVE THE TRAP ERROR CODE
2785 001164 CALL R5,.REGSV ; ....SAVE TRAP REGISTERS
001164 004537 010316' JSR R5,.REGSV
2786 001170 PUSH R0 ; ....SAVE R0 TOO
001170 010046 MOV R0,-(SP)
2787 001172 105737 000300' TSTB .TRPSB ; .....TEST THE TRAP STATUS BYTE
2788 001176 003405 BLE 10$ ; .....DON'T TRY TO RECOVER THE KL
2789 001200 005737 000260' TST .SVKLF ; .....DID WE SAVE THE PREVIOUS STATE?
2790 001204 001402 BEQ 10$ ; .....NO -- FORGET RECOVERY
2791 001206 CALL .RSTKL ; .....RESTORE THE KL
001206 004737 007220' JSR PC,.RSTKL
2792 001212 10$:
2793 001212 013737 000240' 000166' MOV .RDXSV,.IRADX ; .....RESET THE INPUT RADIX
2794 001220 013737 000240' 000226' MOV .RDXSV,.ORADX ; .....AND OUTPUT RADIX
2795 001226 122737 000004 000300' CMPB #TC.CTC*2,.TRPSB; .....WAS THIS A CONTROL-C TRAP?
2796 001234 001425 BEQ 20$ ; .....YES -- JUST RESTART THE PARSER
2797 001236 013700 000302' MOV .TRPTV,R0 ; .....NO -- IS THIS A NORMAL TRAP??
2798 001242 001406 BEQ 15$ ; .....YES -- GO ON
2799 001244 010006 MOV R0,SP ; .....NO -- RESET THE STACK
2800 001246 005237 000272' INC .TRPIP ; .....RESET TRAP IN PROGRESS FLAG
2801 001252 005037 000302' CLR .TRPTV ; .....RESET THE TRAP TRAP VECTOR
2802 001256 CALLR @(SP)+ ; .....AND GO AWAY TO OTHER ROUTINE
001256 000136 JMP @(SP)+
2803 ;
2804 001260 15$:
2805 001260 CALL .TCRLF ; .....GIVE A FREE <CRLF>
001260 004737 015552' JSR PC,.TCRLF
2806 001264 013700 000270' MOV .TRPEC,R0 ; .....GET THE ERROR CODE IN R0
2807 001270 CALL .PARER ; .....DECODE AND PRINT THE ERROR
001270 004737 000432' JSR PC,.PARER
2808 001274 005737 000272' TST .TRPIP ; .....IS THIS A RECURSIVE TRAP?
2809 001300 001407 BEQ 30$ ; .....YES -- GIVE UP
2810 001302 105737 000300' TSTB .TRPSB ; .....TEST THE TRAP STATUS BYTE
2811 001306 002413 BLT 40$ ; .....RECOVER THE ERROR
2812 001310 20$:
2813 001310 005237 000272' INC .TRPIP ; .....RESET TRAP IN PROGRESS FLAG
2814 001314 000177 000254' JMP @.STRTV ; .....RESTART THE PARSER
2815 ;
2816
2817 ; [CONTINUED ON THE FOLLOWING PAGE]
ERROR -- PARSER ERROR HANDLER M MACRO M1113 03-APR-86 22:51 PAGE 67
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
2819 ; [CONTINUED FROM THE PREVIOUS PAGE]
2820
2821 001320 30$: ; .....HERE ON RECURSIVE TRAP
2822 001320 012700 000221' MOV #PTRTHM,R0 ; .....MESSAGE POINTER
2823 001324 CALL .TYLIN ; .....PRINT IT
001324 004737 015446' JSR PC,.TYLIN
2824 001330 CALL .TCRLF ; .....END THE LINE
001330 004737 015552' JSR PC,.TCRLF
2825 001334 000004 IOT ; .....AND GO "RIBIT"
2826 ;
2827 001336 40$: ; .....HERE TO RECOVER THE ERROR
2828 001336 005237 000272' INC .TRPIP ; .....DECREMENT THE INTERLOCK
2829 001342 POP R0 ; .....RESTORE R0
001342 012600 MOV (SP)+,R0
2830 001344 CALL @(SP)+ ; ....AND THE OTHER REGISTERS
001344 004736 JSR PC,@(SP)+
2831 001346 005726 TST (SP)+ ; ....GET OVER THE TRAP STATUS BYTE
2832 001350 000002 RTI ; ...TO WHEREVER WE WERE CALLED FROM
2833 ;
2834
2835 000151 .PSECT MESSAG
2836
2837 000151 PTRTEM:
2838 000151 120 101 122 .ASCIZ %PAR -- *FATAL* RECURSIVE TRAP FROM PC: %
000154 040 055 055
000157 040 052 106
000162 101 124 101
000165 114 052 040
000170 122 105 103
000173 125 122 123
000176 111 126 105
000201 040 124 122
000204 101 120 040
000207 106 122 117
000212 115 040 120
000215 103 072 040
000220 000
2839 000221 PTRTHM:
2840 000221 120 101 122 .ASCIZ %PAR -- RTH - RECURSION IN TRAP HANDLER%
000224 040 055 055
000227 040 122 124
000232 110 040 055
000235 040 122 105
000240 103 125 122
000243 123 111 117
000246 116 040 111
000251 116 040 124
000254 122 101 120
000257 040 110 101
000262 116 104 114
000265 105 122 000
2841
2842 001352 .PSECT
ERROR -- PARSER ERROR HANDLER M MACRO M1113 03-APR-86 22:51 PAGE 68
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
2844 .SBTTL .PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
2845
2846 ;+
2847 ; .PTOAT -- TRAP AT 4 TRAP HANDLER.
2848 ;
2849 ; THIS ROUTINE HANDLES TRAP AT 4 TRAPS FOR THE RSX20F COMMAND PARSER.
2850 ; AN ERROR MESSAGE WITH THE PC OF THE TRAP AT 4 TRAP IS PRINTED ON THE
2851 ; CONSOLE AND THE CURRENT OPERATION IS ABORTED. IF THE TRAP IS RECURSIVE,
2852 ; CONTROL IS PASSED TO ".PTDIE", AS THE TASK IS HOPELESSLY CONFUSED.
2853 ;
2854 ; UPON ENTRY TO THE TRAP AT 4 TRAP HANDLER, THE STACK CONTAINS
2855 ; THE FOLLOWING INFORMATION:
2856 ;
2857 ; !=======================================!
2858 ; 2(SP)==> ! TRAP PROCESSOR STATUS WORD !
2859 ; !---------------------------------------!
2860 ; (SP)==> ! TRAP PROGRAM COUNTER !
2861 ; !=======================================!
2862 ;
2863 ; ERROR CODES RETURNED:
2864 ;
2865 ; NONE.
2866 ;-
2867
2868 001352 .PTOAT::
2869 001352 POP .TRPPC ; ..SAVE THE TRAP PC
001352 012637 000274' MOV (SP)+,.TRPPC
2870 001356 POP .TRPPS ; .AND THE TRAP PSW
001356 012637 000276' MOV (SP)+,.TRPPS
2871 001362 CALL R5,.REGSV ; SAVE THE REGISTERS FROM TRAP
001362 004537 010316' JSR R5,.REGSV
2872 001366 PUSH R0 ; AND R0
001366 010046 MOV R0,-(SP)
2873 001370 012737 001046' 000316' MOV #.PTDIE,.SSTTB ; .SET UP TO DIE ON RECURSION
2874 001376 CALL .TCRLF ; .GIVE A FREE <CRLF>
001376 004737 015552' JSR PC,.TCRLF
2875 001402 012700 000270' MOV #PTOATM,R0 ; .GET THE MESSAGE POINTER
2876 001406 CALL .TYMSG ; .TYPE IT
001406 004737 015462' JSR PC,.TYMSG
2877 001412 013700 000104' MOV .EDELA,R0 ; .ADDRESS TO R0
2878 001416 CALL .TYELN ; .TYPE THAT
001416 004737 014766' JSR PC,.TYELN
2879 001422 CALL .TCRLF ; .AND A CRLF
001422 004737 015552' JSR PC,.TCRLF
2881 001426 005737 000066' TST .DBGSW ; .IS THE DEBUG SWITCH SET?
2882 001432 001403 BEQ 10$ ; .NO -- JUST RESTART
2883 001434 POP R0 ; .RESTORE R0
001434 012600 MOV (SP)+,R0
2884 001436 CALL @(SP)+ ; .AND THE REGISTERS
001436 004736 JSR PC,@(SP)+
2885 001440 000000 HALT ; SO WE CAN LOOK
2886 001442 10$:
2888 001442 005037 000316' CLR .SSTTB ; RESET THE TRAP VECTOR
2889 001446 000177 000254' JMP @.STRTV ; .AND START OVER
2890 ;
2891
2892 000270 .PSECT MESSAG
ERROR -- PARSER ERROR HANDLER M MACRO M1113 03-APR-86 22:51 PAGE 68-1
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
2893
2894 000270 PTOATM:
2895 000270 120 101 122 .ASCIZ %PAR -- ILLEGAL MEMORY REFERENCE TO: %
000273 040 055 055
000276 040 111 114
000301 114 105 107
000304 101 114 040
000307 115 105 115
000312 117 122 131
000315 040 122 105
000320 106 105 122
000323 105 116 103
000326 105 040 124
000331 117 072 040
000334 000
2896
2897 001452 .PSECT
2898
2899 .TITLE FILIO -- FILE INTERFACE ROUTINES
2900
2901 .IDENT "006150"
2902
2903 ; COPYRIGHT (C) 1975, 1984, 1985 BY
2904 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
2905 ; ALL RIGHTS RESERVED.
2906 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
2907 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
2908 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2909 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
2910 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2911 ;
2912 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2913 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2914 ; CORPORATION.
2915 ;
2916 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2917 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2918 ;
2919 ; MODULE: PARSER FILE INTERFACE ROUTINES
2920 ;
2921 ; VERSION: 06-15
2922 ;
2923 ; AUTHOR: K. LEFEBVRE
2924 ;
2925 ; DATE: 29-AUG-79
2926 ;
2927 ; THIS MODULE CONTAINS:
2928 ;
2929 ; 1) FILE ACCESSING ROUTINES
2930 ; 2) FILE READ ROUTINES
2931 ; 3) FILE WRITE ROUTINES
2932 ;
2933 ;
2934 ; THESE ROUTINES WERE ADDED FOR TCO 5.1000
2935
2936 .MCALL DIR$,ALUN$,QIOW$,QIOW$S
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 69
FILE INTERFACE DATA
2938 .SBTTL FILE INTERFACE DATA
2939
2940 001660 .PSECT DATA
2941
2943
2944 001660 .INDFG:: ; INDIRECT COMMAND FILE FLAG
2945 001660 000000 .WORD 0
2946
2948 001662 .FISTS:: ; FILE I/O STATUS BLOCK
2949 001662 000000 000000 .WORD 0,0
2950
2951 001000 .BUFSZ==1000 ; BUFFER SIZE
2952
2954
2955 001666 .INFN:: ; INDIRECT COMMAND FILE NAME
2956 001666 000000 000000 000000 .WORD 0,0,0 ; FILE NAME
2957 001674 012314 .RAD50 /CMD/ ; EXTENSION
2958 001676 000000 .WORD 0 ; VERSION
2959 001700 005 005 .BYTE 5,5 ; OWNER
2960 001702 054523 .WORD "SY ; DEVICE
2961 001704 000000 .WORD 0 ; UNIT
2962
2963 001706 .INVBN:: ; CURRENT VIRTUAL BLOCK NO.
2964 001706 000000 000000 .WORD 0,0
2965 001712 .INBBC:: ; INPUT BUFFER BYTE COUNT
2966 001712 000000 .WORD 0
2967 001714 .INPOS:: ; INPUT BUFFER CURRENT POSITION
2968 001714 000000 .WORD 0
2969 001716 .INBUF:: ; INPUT BUFFER
2970 001716 .BLKW .BUFSZ/2
2971
2972 002716 .INFNB:: ; INPUT FILE NAME BLOCK
2973 002716 000000 000000 000000 .WORD 0,0,0 ; N.FID
2974 002724 140123 140123 000000 .RAD50 /005005 / ; N.FNAM
2975 002732 015172 .RAD50 /DIR/ ; N.FTYP
2976 002734 000000 .WORD 0 ; N.FVER
2977 002736 000000 .WORD 0 ; N.STAT
2978 002740 000000 .WORD 0 ; N.NEXT
2979 002742 177777 177777 .WORD -1,-1 ; DIRECTORY FID
2980 002746 005 005 .BYTE 5,5 ; OWNER
2981
2982 002750 .INATT:: ; FILE ATTRIBUTES
2983 002750 000 .BYTE 0 ; RECORD TYPE
2984 002751 000 .BYTE 0 ; RECORD ATTRIBUTES
2985 002752 000000 .WORD 0 ; LARGEST RECORD SIZE
2986 002754 000000 000000 .WORD 0,0 ; HIGHEST ALLOCATED BLOCK
2987 002760 000000 000000 .WORD 0,0 ; HIGHEST USED BLOCK
2988 002764 000000 .WORD 0 ; FIRST FREE BYTE
2989
2991
2992 002766 .OTFN:: ; LOG FILE NAME
2993 002766 062072 073632 000000 .RAD50 /PARSER / ; FILE NAME
2994 002774 046537 .RAD50 /LOG/ ; EXTENSION
2995 002776 000000 .WORD 0 ; VERSION
2996 003000 005 005 .BYTE 5,5 ; OWNER
2997 003002 054523 .WORD "SY ; DEVICE
2998 003004 000000 .WORD 0 ; UNIT
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 69-1
FILE INTERFACE DATA
2999
3000 003006 .OTVBN:: ; CURRENT VIRTUAL BLOCK NO.
3001 003006 000000 000000 .WORD 0,0
3002 003012 .OTBBC:: ; OUTPUT BUFFER BYTE COUNT
3003 003012 000000 .WORD 0
3004 003014 .OTPOS:: ; OUTPUT BUFFER CURRENT POSITION
3005 003014 000000 .WORD 0
3006 003016 .OTBUF:: ; OUTPUT BUFFER
3007 003016 .BLKW .BUFSZ/2
3008
3009 004016 .OTFNB:: ; OUTPUT FILE NAME BLOCK
3010 004016 000000 000000 000000 .WORD 0,0,0 ; N.FID
3011 004024 140123 140123 000000 .RAD50 /005005 / ; N.FNAM
3012 004032 015172 .RAD50 /DIR/ ; N.FTYP
3013 004034 000000 .WORD 0 ; N.FVER
3014 004036 000000 .WORD 0 ; N.STAT
3015 004040 000000 .WORD 0 ; N.NEXT
3016 004042 177777 177777 .WORD -1,-1 ; DIRECTORY FID
3017 004046 005 005 .BYTE 5,5 ; OWNER
3018
3019 004050 .OTATT:: ; FILE ATTRIBUTES
3020 004050 000 .BYTE 0 ; RECORD TYPE
3021 004051 000 .BYTE 0 ; RECORD ATTRIBUTES
3022 004052 000000 .WORD 0 ; LARGEST RECORD SIZE
3023 004054 000000 000000 .WORD 0,0 ; HIGHEST ALLOCATED BLOCK
3024 004060 000000 000000 .WORD 0,0 ; HIGHEST USED BLOCK
3025 004064 000000 .WORD 0 ; FIRST FREE BYTE
3026
3027 004066 .RECNT:: ; CURRENT RECORD SIZE
3028 004066 000000 .WORD 0
3029 004070 .RECPT:: ; CURRENT RECORD POSITION POINTER
3030 004070 004072' .WORD .RECRD
3031 004072 .RECRD::
3032 004072 .BLKB 80. ; CURRENT RECORD
3033
3034 001452 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 70
.FNDIR -- ROUTINE TO FIND DIRECTORY FILE ID
3036 .SBTTL .FNDIR -- ROUTINE TO FIND DIRECTORY FILE ID
3037
3038 ;+
3039 ;
3040 ; .FNDIR -- ROUTINE TO FIND THE [5,5] DIRECTORY FILE ID
3041 ;
3042 ; THIS ROUTINE WILL FIND THE FILE ID FOR THE [5,5] DIRECTORY IF
3043 ; IT HAS NOT ALREADY BEEN FOUND. IT WILL ALSO ASSIGN A LUN TO THE
3044 ; SYSTEM DEVICE.
3045 ;
3046 ; INPUT ARGUMENTS:
3047 ;
3048 ; R1=FILE NAME BLOCK
3049 ; R2=LUN
3050 ;
3051 ; OUTPUT ARGUMENTS:
3052 ;
3053 ; NONE
3054 ;
3055 ; ERROR CODES RETURNED:
3056 ;
3057 ; CAL -- CAN'T ASSIGN LUN
3058 ; DNF -- DIRECTORY FILE NOT FOUND
3059 ;-
3060
3061 001452 .FNDIR::
3062 001452 026127 000024 177777 CMP 24(R1),#-1 ; DIRECTORY FID ALREADY FOUND?
3063 001460 001032 BNE 10$ ; YES -- EXIT
3064 001462 010237 000002' MOV R2,FNDALU ; NO -- SET UP LUN
3065 001466 DIR$ #FNDALN ; ASSIGN LUN
001466 012746 000000' MOV #FNDALN,-(SP)
001472 104375 EMT 375
3066 001474 103425 BCS FNDCAL ; ERROR IF CC-C IS SET
3067 001476 010237 000014' MOV R2,FNDLUN ; SET LUN
3068 001502 010137 000036' MOV R1,FNDFNB ; SET FNB
3069 001506 DIR$ #FNDFNA ; GET FID
001506 012746 000010' MOV #FNDFNA,-(SP)
001512 104375 EMT 375
3070 001514 103420 BCS FNDDNF ; ERROR IF CC-C IS SET
3071 001516 105737 001662' TSTB .FISTS ; DID WE REALLY SUCCEED?
3072 001522 002415 BLT FNDDNF ; NO -- ERROR
3073 001524 016161 000000 000024 MOV 0(R1),24(R1) ; SAVE DIRECTORY FID
3074 001532 016161 000002 000026 MOV 2(R1),26(R1) ; SAVE DIRECTORY FID
3075 001540 016161 000004 000030 MOV 4(R1),30(R1) ; SAVE DIRECTORY FID
3076 001546 10$: RETURN ; DONE
001546 000207 RTS PC
3077 ;
3078 001550 FNDCAL:
3079 001550 ERROR$ CAL ; ERROR -- CAN'T ASSIGN LUN
001550 012746 011364 MOV #^RCAL,-(SP)
001554 104400 TRAP TC.ERR
3080 001556 FNDDNF:
3081 001556 ERROR$ DNF ; ERROR -- DIRECTORY FILE NOT FOUND
001556 012746 015466 MOV #^RDNF,-(SP)
001562 104400 TRAP TC.ERR
3082 ;
3083
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 70-1
.FNDIR -- ROUTINE TO FIND DIRECTORY FILE ID
3084 000000 .PSECT DPBS
3085
3086 000000 FNDALN: ; ASSIGN LUN DIRECTIVE
3087 000000 ALUN$ 0,SY,0
000000 007 004 .BYTE 7,4
000002 000000 .WORD 0
000004 123 .ASCII /S/
000005 131 .ASCII /Y/
000006 000000 .WORD 0
3088
3089 000002' FNDALU=FNDALN+A.LULU
3090
3091 000010 FNDFNA: ; FIND FID DIRECTIVE
3092 000010 QIOW$ IO.FNA,,E.FFIL,,.FISTS,,<,,,,,0>
000010 003 014 .BYTE 3,$$$ARG
000012 000000G .WORD IO.FNA
000014 000000 .WORD
000016 006 000 .BYTE E.FFIL,
000020 001662' .WORD .FISTS
000022 000000 .WORD
000024 000000 .WORD
000026 000000 .WORD
000030 000000 .WORD
000032 000000 .WORD
000034 000000 .WORD
000036 000000 .WORD 0
3093
3094 000014' FNDLUN=FNDFNA+Q.IOLU
3095 000036' FNDFNB=FNDFNA+Q.IOPL+12
3096
3097 001564 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 71
.LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FID
3099 .SBTTL .LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FID
3100
3101 ;+
3102 ; .LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FILE ID
3103 ;
3104 ; THIS ROUTINE WILL LOOK UP A FILE TO GET ITS FILE ID SO THAT ALL
3105 ; FUTURE OPERATIONS CAN BE DONE BY FILE ID. IF THE FILE IS NOT
3106 ; FOUND THEN THE CC-C BIT IS SET AND THE ROUTINE RETURNS.
3107 ;
3108 ; INPUT ARGUMENTS:
3109 ;
3110 ; R0=FILE NAME
3111 ; R1=FILE NAME BLOCK
3112 ; R2=LUN
3113 ;
3114 ; OUTPUT ARGUMENTS:
3115 ;
3116 ; CC-C IS SET IF FILE NOT FOUND
3117 ;
3118 ; ERROR CODES RETURNED:
3119 ;
3120 ; CAL -- CAN'T ASSIGN LUN
3121 ; DNF -- DIRECTORY FILE NOT FOUND
3122 ; FLF -- FILE LOOKUP FAILURE
3123 ;-
3124
3125 .ENABL LSB
3126
3127 001564 .REMOV::
3128 001564 012737 000000G 000042' MOV #IO.RNA,LOKIOF ; REMOVE FROM DIRECTORY
3129 001572 000403 BR 3$ ; GO ON
3130 001574 .LOKUP::
3131 001574 012737 000000G 000042' MOV #IO.FNA,LOKIOF ; FIND DIRECTORY
3132 001602 3$: CALL .FNDIR ; FIND THE DIRECTORY FID
001602 004737 001452' JSR PC,.FNDIR
3133 001606 CALL .SETFN ; SET THE FILE NAME IN THE FNB
001606 004737 002166' JSR PC,.SETFN
3134 001612 010237 000044' MOV R2,LOKLUN ; SET LUN
3135 001616 010137 000066' MOV R1,LOKFNB ; SET FNB
3136 001622 DIR$ #LOKFNA ; GET FID
001622 012746 000040' MOV #LOKFNA,-(SP)
001626 104375 EMT 375
3137 001630 103412 BCS LOKFLF ; ERROR IF CC-C IS SET
3138 001632 105737 001662' TSTB .FISTS ; DID WE REALLY SUCCEED?
3139 001636 002401 BLT 10$ ; NO -- SEE WHY
3140 001640 5$: RETURN ; YES -- RETURN
001640 000207 RTS PC
3141 001642 122737 000000G 001662' 10$: CMPB #IE.NSF,.FISTS ; NO SUCH FILE?
3142 001650 001002 BNE LOKFLF ; NO -- ERROR
3143 001652 000261 SEC ; YES -- SET CC-C
3144 001654 RETURN ; DONE
001654 000207 RTS PC
3145
3146 .DSABL LSB
3147 ;
3148 001656 LOKFLF:
3149 001656 ERROR$ FLF ; ERROR -- FILE LOOKUP FAILURE
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 71-1
.LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FID
001656 012746 023546 MOV #^RFLF,-(SP)
001662 104400 TRAP TC.ERR
3150 ;
3151
3152 000040 .PSECT DPBS
3153
3154 000040 LOKFNA: ; GET FID DIRECTIVE
3155 000040 QIOW$ 0,,E.FFIL,,.FISTS,,<,,,,,0>
000040 003 014 .BYTE 3,$$$ARG
000042 000000 .WORD 0
000044 000000 .WORD
000046 006 000 .BYTE E.FFIL,
000050 001662' .WORD .FISTS
000052 000000 .WORD
000054 000000 .WORD
000056 000000 .WORD
000060 000000 .WORD
000062 000000 .WORD
000064 000000 .WORD
000066 000000 .WORD 0
3156
3157 000042' LOKIOF=LOKFNA+Q.IOFN
3158 000044' LOKLUN=LOKFNA+Q.IOLU
3159 000066' LOKFNB=LOKFNA+Q.IOPL+12
3160
3161 001664 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 72
.ENTER -- ROUTINE TO ENTER A FILE
3163 .SBTTL .ENTER -- ROUTINE TO ENTER A FILE
3164
3165 ;+
3166 ; .ENTER -- ROUTINE TO ENTER A FILE INTO A DIRECTORY
3167 ;
3168 ; THIS ROUTINE WILL CREATE A FILE OF A GIVEN NAME AND THEN ENTER IT
3169 ; INTO A DIRECTORY.
3170 ;
3171 ; INPUT ARGUMENTS:
3172 ;
3173 ; NONE
3174 ;
3175 ; OUTPUT ARGUMENTS:
3176 ;
3177 ; NONE
3178 ;
3179 ; ERROR CODES RETURNED:
3180 ;
3181 ; FEN -- FILE ENTER FAILURE
3182 ;-
3183
3184 001664 .ENTER::
3185 001664 DIR$ #ENTCRE ; CREATE THE FILE
001664 012746 000070' MOV #ENTCRE,-(SP)
001670 104375 EMT 375
3186 001672 103416 BCS ENTFEN ; ERROR IF CC-C IS SET
3187 001674 105737 001662' TSTB .FISTS ; DID WE REALLY SUCCEED?
3188 001700 002413 BLT ENTFEN ; NO -- ERROR
3189 001702 DIR$ #ENTENA ; YES -- ENTER THE FILE IN A DIRECTORY
001702 012746 000114' MOV #ENTENA,-(SP)
001706 104375 EMT 375
3190 001710 103404 BCS 10$ ; ERROR IF CC-C IS SET
3191 001712 105737 001662' TSTB .FISTS ; DID WE REALLY SUCCEED
3192 001716 002401 BLT 10$ ; NO -- ERROR
3193 001720 RETURN ; RETURN
001720 000207 RTS PC
3194 001722 10$: DIR$ #ENTDEL ; DELETE NEW FILE
001722 012746 000144' MOV #ENTDEL,-(SP)
001726 104375 EMT 375
3195 ;
3196 001730 ENTFEN:
3197 001730 ERROR$ FEN ; ERROR -- FILE ENTER FAILURE
001730 012746 023126 MOV #^RFEN,-(SP)
001734 104400 TRAP TC.ERR
3198 ;
3199
3200 000070 .PSECT DPBS
3201
3202 000070 ENTCRE: ; CREATE FILE DIRECTIVE
3203 000070 QIOW$ IO.CRE,LOGLUN,E.FFIL,,.FISTS,,<.OTFNB,,BIT15,1>
000070 003 012 .BYTE 3,$$$ARG
000072 000000G .WORD IO.CRE
000074 000004 .WORD LOGLUN
000076 006 000 .BYTE E.FFIL,
000100 001662' .WORD .FISTS
000102 000000 .WORD
000104 004016' .WORD .OTFNB
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 72-1
.ENTER -- ROUTINE TO ENTER A FILE
000106 000000 .WORD
000110 100000 .WORD BIT15
000112 000001 .WORD 1
3204
3205 000114 ENTENA: ; ENTER FILE DIRECTIVE
3206 000114 QIOW$ IO.ENA,LOGLUN,E.FFIL,,.FISTS,,<,,,,,.OTFNB>
000114 003 014 .BYTE 3,$$$ARG
000116 000000G .WORD IO.ENA
000120 000004 .WORD LOGLUN
000122 006 000 .BYTE E.FFIL,
000124 001662' .WORD .FISTS
000126 000000 .WORD
000130 000000 .WORD
000132 000000 .WORD
000134 000000 .WORD
000136 000000 .WORD
000140 000000 .WORD
000142 004016' .WORD .OTFNB
3207
3208 000144 ENTDEL: ; DELETE FILE DIRECTIVE
3209 000144 QIOW$ IO.DEL,LOGLUN,E.FFIL
000144 003 006 .BYTE 3,$$$ARG
000146 000000G .WORD IO.DEL
000150 000004 .WORD LOGLUN
000152 006 000 .BYTE E.FFIL,
000154 000000 .WORD
000156 000000 .WORD
3210
3211 001736 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 73
.OPEN -- ROUTINE TO OPEN A FILE
3213 .SBTTL .OPEN -- ROUTINE TO OPEN A FILE
3214
3215 ;+
3216 ; .OPEN -- ROUTINE TO OPEN A FILE WITH SOME ACCESS FUNCTION
3217 ;
3218 ; THIS ROUTINE WILL OPEN A FILE WITH SOME SPECIFIED ACCESS RIGHTS.
3219 ; IT WILL ALSO READ THE FILE ATTRIBUTES.
3220 ;
3221 ; INPUT ARGUMENTS:
3222 ;
3223 ; R1=FILE NAME BLOCK (FIRST 2 WORDS ARE FILE ID)
3224 ; R2=LUN
3225 ; R4=ACCESS FUNCTION
3226 ;
3227 ; OUTPUT ARGUMENTS:
3228 ;
3229 ; NONE
3230 ;
3231 ; ERROR CODES RETURNED:
3232 ;
3233 ; FOF -- FILE OPEN FAILURE
3234 ;-
3235
3236 001736 .OPEN::
3237 001736 010437 000162' MOV R4,OPEFUN ; SET FUNCTION
3238 001742 010237 000164' MOV R2,OPELUN ; SET LUN
3239 001746 010137 000174' MOV R1,OPEFID ; SET FID
3240 001752 010137 000210' MOV R1,OPEATT ; SET FILE ATTRIBUTES
3241 001756 062737 000032 000210' ADD #32,OPEATT ; POINT TO CORRECT ADDR
3242 001764 DIR$ #OPEACC ; OPEN THE FILE WITH SOME ACCESS
001764 012746 000160' MOV #OPEACC,-(SP)
001770 104375 EMT 375
3243 001772 103401 BCS OPEFOF ; ERROR IF CC-C IS SET
3244 001774 RETURN
001774 000207 RTS PC
3245 ;
3246 001776 OPEFOF:
3247 001776 ERROR$ FOF ; ERROR -- FILE OPEN FAILURE
001776 012746 023736 MOV #^RFOF,-(SP)
002002 104400 TRAP TC.ERR
3248 ;
3249
3250 000160 .PSECT DPBS
3251
3252 000160 OPEACC: ; OPEN FILE DIRECTIVE
3253 000160 QIOW$ 0,0,E.FFIL,,.FISTS,,<0,OPERAT,,,BIT15>
000160 003 013 .BYTE 3,$$$ARG
000162 000000 .WORD 0
000164 000000 .WORD 0
000166 006 000 .BYTE E.FFIL,
000170 001662' .WORD .FISTS
000172 000000 .WORD
000174 000000 .WORD 0
000176 000206' .WORD OPERAT
000200 000000 .WORD
000202 000000 .WORD
000204 100000 .WORD BIT15
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 73-1
.OPEN -- ROUTINE TO OPEN A FILE
3254
3255 000162' OPEFUN=OPEACC+Q.IOFN
3256 000164' OPELUN=OPEACC+Q.IOLU
3257 000174' OPEFID=OPEACC+Q.IOPL
3258
3259 000206 OPERAT:
3260 000206 374 016 .BYTE -4,16
3261 000210 000000 .WORD 0
3262 000212 000 000 .BYTE 0,0
3263
3264 000210' OPEATT=OPERAT+2
3265
3266 002004 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 74
.EXTND -- ROUTINE TO EXTEND A FILE
3268 .SBTTL .EXTND -- ROUTINE TO EXTEND A FILE
3269
3270 ;+
3271 ; .EXTND -- ROUTINE TO EXTEND A FILE BY ONE BLOCK
3272 ;
3273 ; THIS ROUTINE WILL EXTEND A CURRENTLY OPEN FILE WITH EXTEND ACCESS
3274 ; BY ONE BLOCK.
3275 ;
3276 ; INPUT ARGUMENTS:
3277 ;
3278 ; NONE
3279 ;
3280 ; OUTPUT ARGUMENTS:
3281 ;
3282 ; NONE
3283 ;
3284 ; ERROR CODES RETURNED:
3285 ;
3286 ; FEF -- FILE EXTEND FAILURE
3287 ;-
3288
3289 002004 .EXTND::
3290 002004 DIR$ #EXTEXT ; EXTEND THE FILE
002004 012746 000214' MOV #EXTEXT,-(SP)
002010 104375 EMT 375
3291 002012 103411 BCS EXTFEF ; ERROR IF CC-C IS SET
3292 002014 105737 001662' TSTB .FISTS ; DID WE REALLY SUCCEED?
3293 002020 002406 BLT EXTFEF ; NO -- ERROR
3294 002022 062737 000001 004056' ADD #1,.OTATT+6 ; INCREASE BLOCKS ALLOCATED
3295 002030 005537 004054' ADC .OTATT+4 ; PROPAGATE CARRY
3296 002034 RETURN ; DONE
002034 000207 RTS PC
3297 ;
3298 002036 EXTFEF:
3299 002036 013737 003014' 004064' MOV .OTPOS,.OTATT+14 ; SET NEXT FREE BYTE
3300 002044 162737 003016' 004064' SUB #.OTBUF,.OTATT+14 ; MAKE RELATIVE
3301 002052 012701 004050' MOV #.OTATT,R1 ; SET ATTRIBUTE ADDR
3302 002056 012702 000004 MOV #LOGLUN,R2 ; SET LUN
3304 002062 105037 000206' CLRB .OUTLG ; INDICATE FILE CLOSED
3306 002066 CALL .CLOSE ; CLOSE FILE
002066 004737 002114' JSR PC,.CLOSE
3307 002072 ERROR$ FEF ; ERROR -- FILE EXTEND FAILURE
002072 012746 023116 MOV #^RFEF,-(SP)
002076 104400 TRAP TC.ERR
3308 ;
3309
3310 000214 .PSECT DPBS
3311
3312 000214 EXTEXT: ; FILE EXTEND DIRECTIVE
3313 000214 QIOW$ IO.EXT,LOGLUN,E.FFIL,,.FISTS,,<,,BIT15,1>
000214 003 012 .BYTE 3,$$$ARG
000216 000000G .WORD IO.EXT
000220 000004 .WORD LOGLUN
000222 006 000 .BYTE E.FFIL,
000224 001662' .WORD .FISTS
000226 000000 .WORD
000230 000000 .WORD
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 74-1
.EXTND -- ROUTINE TO EXTEND A FILE
000232 000000 .WORD
000234 100000 .WORD BIT15
000236 000001 .WORD 1
3314
3315 002100 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 75
.CLOSE -- ROUTINE TO CLOSE A FILE
3317 .SBTTL .CLOSE -- ROUTINE TO CLOSE A FILE
3318
3319 ;+
3320 ; .CLOSE -- ROUTINE TO CLOSE A SPECIFIED FILE
3321 ;
3322 ; THIS ROUTINE WILL CLOSE AND DEACCESS A SPECIFIED FILE.
3323 ; IT WILL ALSO WRITE OUT THE CURRENT ATTRIBUTES.
3324 ;
3325 ; INPUT ARGUMENTS:
3326 ;
3327 ; R1=ATTRIBUTE BLOCK
3328 ; R2=LUN
3329 ;
3330 ; OUTPUT ARGUMENTS:
3331 ;
3332 ; NONE
3333 ;
3334 ; ERROR CODES RETURNED:
3335 ;
3336 ; FCF -- FILE CLOSE FAILURE
3337 ;-
3338
3339 .ENABL LSB
3340
3341 002100 .DELET::
3342 002100 012737 000000G 000242' MOV #IO.DEL,CLOIOF ; I/O FUNCTION FOR DELETE
3343 002106 005037 000256' CLR CLOATR ; NO ATTRIBUTES
3344 002112 000406 BR 5$ ; DO IT
3345 002114 .CLOSE::
3346 002114 012737 000000G 000242' MOV #IO.DAC,CLOIOF ; I/O FUNCTION FOR DEACCESS
3347 002122 012737 000260' 000256' MOV #CLOWAT,CLOATR ; WRITE ATTRIBUTES
3348 002130 010237 000244' 5$: MOV R2,CLOLUN ; SET LUN
3349 002134 010137 000262' MOV R1,CLOATT ; SET FILE ATTRIBUTES
3350 002140 DIR$ #CLODAC ; CLOSE FILE
002140 012746 000240' MOV #CLODAC,-(SP)
002144 104375 EMT 375
3351 002146 103404 BCS CLOFCF ; ERROR IF CC-C IS SET
3352 002150 105737 001662' TSTB .FISTS ; DID WE REALLY SUCCEED?
3353 002154 002401 BLT CLOFCF ; NO -- ERROR
3354 002156 RETURN ; YES -- DONE
002156 000207 RTS PC
3355 ;
3356
3357 .DSABL LSB
3358
3359 002160 CLOFCF:
3360 002160 ERROR$ FCF ; ERROR -- FILE CLOSE FAILURE
002160 012746 022776 MOV #^RFCF,-(SP)
002164 104400 TRAP TC.ERR
3361 ;
3362
3363 000240 .PSECT DPBS
3364
3365 000240 CLODAC: ; FILE CLOSE DIRECTIVE
3366 000240 QIOW$ 0,0,E.FFIL,,.FISTS,,<0,0>
000240 003 010 .BYTE 3,$$$ARG
000242 000000 .WORD 0
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 75-1
.CLOSE -- ROUTINE TO CLOSE A FILE
000244 000000 .WORD 0
000246 006 000 .BYTE E.FFIL,
000250 001662' .WORD .FISTS
000252 000000 .WORD
000254 000000 .WORD 0
000256 000000 .WORD 0
3367
3368 000242' CLOIOF=CLODAC+Q.IOFN
3369 000244' CLOLUN=CLODAC+Q.IOLU
3370 000256' CLOATR=CLODAC+Q.IOPL+2
3371
3372 000260 CLOWAT:
3373 000260 004 016 .BYTE 4,16
3374 000262 000000 .WORD 0
3375 000264 000 000 .BYTE 0,0
3376
3377 000262' CLOATT=CLOWAT+2
3378
3379 002166 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 76
.SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK
3381 .SBTTL .SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK
3382
3383 ;+
3384 ; .SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK
3385 ;
3386 ; THIS ROUTINE WILL INITIALIZE A FILE NAME BLOCK WITH A FILE NAME,
3387 ; VERSION NUMBER, AND STATUS VALUES.
3388 ;
3389 ; INPUT ARGUMENTS:
3390 ;
3391 ; R0=FILE NAME PTR
3392 ; R1=FILE NAME BLOCK ADDR
3393 ;
3394 ; OUTPUT ARGUMENTS:
3395 ;
3396 ; NONE
3397 ;
3398 ; ERROR CODES RETURNED:
3399 ;
3400 ; NONE
3401 ;-
3402
3403 002166 .SETFN::
3404 002166 PUSH <R1,R0> ; SAVE R0,R1
002166 010146 MOV R1,-(SP)
002170 010046 MOV R0,-(SP)
3405 002172 005021 CLR (R1)+ ; CLEAR FID
3406 002174 005021 CLR (R1)+ ; CLEAR FID
3407 002176 005021 CLR (R1)+ ; CLEAR FID
3408 002200 012021 MOV (R0)+,(R1)+ ; FILE NAME
3409 002202 012021 MOV (R0)+,(R1)+ ; FILE NAME
3410 002204 012021 MOV (R0)+,(R1)+ ; FILE NAME
3411 002206 012021 MOV (R0)+,(R1)+ ; EXTENSION
3412 002210 012021 MOV (R0)+,(R1)+ ; VERSION
3413 002212 005021 CLR (R1)+ ; STATUS
3414 002214 005011 CLR (R1) ; NEXT PTR
3415 002216 POP <R0,R1> ; RESTORE R0,R1
002216 012600 MOV (SP)+,R0
002220 012601 MOV (SP)+,R1
3416 002222 RETURN ; DONE
002222 000207 RTS PC
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 77
.SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK
3419
3420 .SBTTL .READR -- ROUTINE TO READ A RECORD
3421
3422 ;+
3423 ; .READR -- ROUTINE TO READ A RECORD FROM THE INDIRECT COMMAND FILE.
3424 ;
3425 ; THIS ROUTINE WILL GET A RECORD (EQUIVILENT TO A TYPED COMMAND) FROM
3426 ; THE CURRENTLY OPEN INDIRECT COMMAND FILE. IT WILL INVISIBLY READ
3427 ; VIRTUAL BLOCKS INORDER TO BLOCK THE RECORDS. IF AN E-O-F IS
3428 ; ENCOUNTERED THE OPEN FILE IS CLOSED AND INPUT IS REDIRECTED TO CTY.
3429 ;
3430 ; INPUT ARGUMENTS:
3431 ;
3432 ; R2=OUTPUT BUFFER
3433 ; R3=STATUS BLOCK
3434 ;
3435 ; OUTPUT ARGUMENTS:
3436 ; R2 POINTS TO END OF RECORD
3437 ; 2(R3) CONTAINS BYTE COUNT OF RECORD
3438 ;
3439 ; ERROR CODES RETURNED:
3440 ;
3441 ; FRD -- FILE READ FAILURE
3442 ;-
3443
3444 002224 .READR::
3445 002224 PUSH <R0,R1> ; SAVE R1 AND R0
002224 010046 MOV R0,-(SP)
002226 010146 MOV R1,-(SP)
3446 002230 10$: CALL .READW ; READ RECORD LENGTH FROM FILE
002230 004737 002330' JSR PC,.READW
3447 002234 103415 BCS 30$ ; EOF IF CC-C IS SET
3448 002236 005700 TST R0 ; SEE IF A NULL RECORD?
3449 002240 001773 BEQ 10$ ; YES -- READ NEXT RECORD
3450 002242 010001 MOV R0,R1 ; NO -- SAVE BYTE COUNT
3451 002244 010063 000002 MOV R0,2(R3) ; SET RETURNED BYTE COUNT
3452 002250 20$: CALL .READB ; READ CHARACTER
002250 004737 002406' JSR PC,.READB
3453 002254 103405 BCS 30$ ; EOF IF CC-C IS SET
3454 002256 110022 MOVB R0,(R2)+ ; SAVE CHARACTER
3455 002260 077105 SOB R1,20$ ; DONE?
3456 002262 25$: POP <R1,R0> ; YES -- RESTORE R1 AND R0
002262 012601 MOV (SP)+,R1
002264 012600 MOV (SP)+,R0
3457 002266 RETURN ; RETURN
002266 000207 RTS PC
3458 002270 005037 001660' 30$: CLR .INDFG ; REDIRECT INPUT TO CTY
3459 002274 012701 002716' MOV #.INFNB,R1 ; INPUT FILE NAME BLOCK
3460 002300 012702 000005 MOV #INDLUN,R2 ; FILE LUN
3461 002304 CALL .CLOSE ; CLOSE FILE AND DEACCESS
002304 004737 002114' JSR PC,.CLOSE
3462 002310 012700 000335' MOV #EOFMSG,R0 ; E-O-F MESSAGE PTR
3463 002314 CALL .TYMSG ; OUTPUT MESSAGE
002314 004737 015462' JSR PC,.TYMSG
3464 002320 005063 000002 40$: CLR 2(R3) ; CLEAR BYTE COUNT
3465 002324 000261 SEC ; SET CC-C BIT
3466 002326 000755 BR 25$ ; DONE
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 77-1
.READR -- ROUTINE TO READ A RECORD
3467 ;
3468
3469 000335 .PSECT MESSAG
3470
3471 000335 EOFMSG:
3472 000335 040 074 105 .ASCIZ % <EOF> %
000340 117 106 076
000343 040 000
3473
3474 002330 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 78
.READW -- READ A WORD FROM A FILE
3476 .SBTTL .READW -- READ A WORD FROM A FILE
3477
3478 ;+
3479 ; .READW -- ROUTINE TO READ A WORD FROM A FILE
3480 ;
3481 ; THIS ROUTINE WILL READ A WORD FROM THE CURRENTLY OPEN INDIRECT
3482 ; COMMAND FILE. IF THE CURRENT BLOCK IS EMPTY IT WILL READ IN THE
3483 ; NEXT ONE. THE WORD READ MUST BE WORD ALIGNED. IF AN E-O-F IS
3484 ; ENCOUNTERED THE CC-C BIT IS SET AND THE ROUTINE RETURNS.
3485 ;
3486 ; INPUT ARGUMENTS:
3487 ;
3488 ; NONE
3489 ;
3490 ; OUTPUT ARGUMENTS:
3491 ;
3492 ; R0 CONTAINS WORD READ
3493 ;
3494 ; ERROR CODES RETURNED:
3495 ;
3496 ; FRD -- FILE READ FAILURE
3497 ;-
3498
3499 002330 .READW::
3500 002330 032737 000001 001714' BIT #1,.INPOS ; ARE WE ON A WORD BOUNDRY?
3501 002336 001404 BEQ 10$ ; YES -- GO ON
3502 002340 005237 001714' INC .INPOS ; NO -- GET ON A WORD BOUNDRY
3503 002344 005337 001712' DEC .INBBC ; DECREMENT BYTE COUNT
3504 002350 005737 001712' 10$: TST .INBBC ; IS CURRENT BUFFER EMPTY?
3505 002354 003003 BGT 20$ ; NO -- GO ON
3506 002356 CALL .READ ; YES -- READ NEXT BLOCK
002356 004737 002440' JSR PC,.READ
3507 002362 103410 BCS 30$ ; EOF IF CC-C IS SET
3508 002364 017700 001714' 20$: MOV @.INPOS,R0 ; GET WORD INTO R0
3509 002370 062737 000002 001714' ADD #2,.INPOS ; UPDATE BUFFER POSITION PTR
3510 002376 162737 000002 001712' SUB #2,.INBBC ; UPDATE BUFFER BYTE COUNT
3511 002404 30$: RETURN ; DONE
002404 000207 RTS PC
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 79
.READB -- READ A BYTE FROM A FILE
3513 .SBTTL .READB -- READ A BYTE FROM A FILE
3514
3515 ;+
3516 ; .READB -- ROUTINE TO READ A BYTE FROM A FILE
3517 ;
3518 ; THIS ROUTINE WILL READ A BYTE FROM THE CURRENTLY OPEN INDIRECT
3519 ; COMMAND FILE. IF THE CURRENT BLOCK IS EMPTY IT WILL READ IN THE
3520 ; NEXT ONE. IF AN E-O-F IS ENCOUNTERED THE CC-C BIT IS SET AND THE
3521 ; ROUTINE RETURNS.
3522 ;
3523 ; INPUT ARGUMENTS:
3524 ;
3525 ; NONE
3526 ;
3527 ; OUTPUT ARGUMENTS:
3528 ;
3529 ; R0 CONTAINS BYTE READ
3530 ;
3531 ; ERROR CODES RETURNED:
3532 ;
3533 ; FRD -- FILE READ FAILURE
3534 ;-
3535
3536 002406 .READB::
3537 002406 005737 001712' TST .INBBC ; IS CURRENT BUFFER EMPTY?
3538 002412 003003 BGT 10$ ; NO -- GO ON
3539 002414 CALL .READ ; YES -- READ NEXT BLOCK
002414 004737 002440' JSR PC,.READ
3540 002420 103406 BCS 20$ ; EOF IF CC-C IS SET
3541 002422 117700 001714' 10$: MOVB @.INPOS,R0 ; GET WORD INTO R0
3542 002426 005237 001714' INC .INPOS ; UPDATE BUFFER POSITION PTR
3543 002432 005337 001712' DEC .INBBC ; UPDATE BUFFER BYTE COUNT
3544 002436 20$: RETURN ; DONE
002436 000207 RTS PC
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 80
.READ -- ROUTINE TO READ A BLOCK
3546 .SBTTL .READ -- ROUTINE TO READ A BLOCK
3547
3548 ;+
3549 ; .READ -- ROUTINE TO READ A BLOCK FROM INDIRECT COMMAND FILE
3550 ;
3551 ; THIS ROUTINE WILL READ A BLOCK FROM THE CURRENTLY OPEN INDIRECT
3552 ; COMMAND FILE. THE BUFFER COUNTS AND POINTERS WILL THEN BE SET.
3553 ; IF AN E-O-F IS ENCOUNTERED THE CC-C BIT IS SET AND THE ROUTINE
3554 ; RETURNS.
3555 ;
3556 ; INPUT ARGUMENTS:
3557 ;
3558 ; NONE
3559 ;
3560 ; OUTPUT ARGUMENTS:
3561 ;
3562 ; NONE
3563 ;
3564 ; ERROR CODES RETURNED:
3565 ;
3566 ; FRD -- FILE READ FAILURE
3567 ;-
3568
3569 002440 .READ::
3570 002440 062737 000001 001710' ADD #1,.INVBN+2 ; NEXT VIRTUAL BLOCK
3571 002446 005537 001706' ADC .INVBN ; PROPAGATE CARRY
3572 002452 023737 001710' 002762' CMP .INVBN+2,.INATT+12 ; EOF?
3573 002460 003041 BGT 10$ ; YES -- EXIT
3574 002462 QIOW$S #IO.RVB,#INDLUN,#E.FFIL,,#.FISTS,,<#.INBUF,#.BUFSZ,,.INVBN,.INVBN+2>
002462 013746 001710' MOV .INVBN+2,-(SP)
002466 013746 001706' MOV .INVBN,-(SP)
002472 005046 CLR -(SP)
002474 012746 001000 MOV #.BUFSZ,-(SP)
002500 012746 001716' MOV #.INBUF,-(SP)
002504 005046 CLR -(SP)
002506 012746 001662' MOV #.FISTS,-(SP)
002512 005046 CLR -(SP)
002514 112716 000006 MOVB #E.FFIL,(SP)
002520 012746 000005 MOV #INDLUN,-(SP)
002524 012746 000000G MOV #IO.RVB,-(SP)
002530 012746 MOV (PC)+,-(SP)
002532 003 013 .BYTE 3,$$$T1
002534 104375 EMT 375
3575 002536 103414 BCS REAFRD ; ERROR IF CC-C IS SET
3576 002540 105737 001662' TSTB .FISTS ; SEE IF WE REALLY SUCCEEDED?
3577 002544 002411 BLT REAFRD ; NO -- CHECK ERROR
3578 002546 012737 001716' 001714' MOV #.INBUF,.INPOS ; YES -- SET BUFFER POSITION PTR
3579 002554 013737 001664' 001712' MOV .FISTS+2,.INBBC ; SET BUFFER BYTE COUNT
3580 002562 RETURN ; DONE
002562 000207 RTS PC
3581 002564 000261 10$: SEC ; YES -- SET CC-C
3582 002566 RETURN ; DONE
002566 000207 RTS PC
3583 ;
3584 002570 REAFRD:
3585 002570 012701 002750' MOV #.INATT,R1 ; SET ATTRIBUTE ADDR
3586 002574 012702 000005 MOV #INDLUN,R2 ; SET LUN
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 80-1
.READ -- ROUTINE TO READ A BLOCK
3587 002600 005037 001660' CLR .INDFG ; INDICATE FILE CLOSED
3588 002604 CALL .CLOSE ; CLOSE FILE
002604 004737 002114' JSR PC,.CLOSE
3589 002610 20$: ERROR$ FRD ; ERROR -- FILE READ FAILURE
002610 012746 024124 MOV #^RFRD,-(SP)
002614 104400 TRAP TC.ERR
3590 ;
3591
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 81
.WRITR -- ROUTINE TO WRITE A RECORD
3594 .SBTTL .WRITR -- ROUTINE TO WRITE A RECORD
3595
3596 ;+
3597 ; .WRITR -- ROUTINE TO WRITE A RECORD TO THE LOG FILE
3598 ;
3599 ; THIS ROUTINE WILL WRITE A RECORD TO THE FILE PARSER.LOG WHEN
3600 ; OUTPUT IS DIRECTED TO THE LOG FILE.
3601 ;
3602 ; INPUT ARGUMENTS:
3603 ;
3604 ; R2=RECORD PTR
3605 ; R1=BYTE COUNT
3606 ;
3607 ; OUTPUT ARGUMENTS:
3608 ;
3609 ; NONE
3610 ;
3611 ; ERROR CODES RETURNED:
3612 ;
3613 ; FEF -- FILE EXTEND FAILURE
3614 ; FWT -- FILE WRITE FAILURE
3615 ;-
3616
3617 002616 .WRITR::
3618 002616 PUSH R0 ; SAVE R0
002616 010046 MOV R0,-(SP)
3619 002620 121227 000012 5$: CMPB (R2),#12 ; CHARACTER A <LF>?
3620 002624 001414 BEQ 7$ ; YES -- WRITE OUT RECORD
3621 002626 121227 000015 CMPB (R2),#15 ; NO -- CHARACTER A <CR>?
3622 002632 001444 BEQ 40$ ; YES -- PROCESS IT
3623 002634 112277 004070' MOVB (R2)+,@.RECPT ; NO -- WRITE CHAR TO RECORD
3624 002640 005237 004070' INC .RECPT ; UPDATE POINTER
3625 002644 005237 004066' INC .RECNT ; INCREMENT COUNT
3626 002650 077115 SOB R1,5$ ; DONE?
3627 002652 6$: POP R0 ; YES -- RESTORE R0
002652 012600 MOV (SP)+,R0
3628 002654 RETURN ; EXIT
002654 000207 RTS PC
3629 002656 7$: PUSH <R2,R1> ; SAVE R2,R1
002656 010246 MOV R2,-(SP)
002660 010146 MOV R1,-(SP)
3630 002662 012702 004072' MOV #.RECRD,R2 ; R2 POINTS TO RECORD
3631 002666 013701 004066' MOV .RECNT,R1 ; R1 HAS RECORD COUNT
3632 002672 020137 004052' CMP R1,.OTATT+2 ; IS THIS THE BIGGEST RECORD?
3633 002676 101402 BLOS 10$ ; NO -- GO ON
3634 002700 010137 004052' MOV R1,.OTATT+2 ; YES -- SAVE IT
3635 002704 010100 10$: MOV R1,R0 ; WRITE OUT RECORD BYTE COUNT
3636 002706 CALL .WRITW ; WRITE IT
002706 004737 002754' JSR PC,.WRITW
3637 002712 005701 TST R1 ; IS THIS A NULL RECORD?
3638 002714 001404 BEQ 30$ ; YES -- DONE
3639 002716 112200 20$: MOVB (R2)+,R0 ; NO -- GET NEXT BYTE OF RECORD
3640 002720 CALL .WRITB ; WRITE IT
002720 004737 003030' JSR PC,.WRITB
3641 002724 077104 SOB R1,20$ ; ALL BYTES WRITTEN?
3642 002726 30$: POP <R1,R2> ; YES -- RESTORE R2,R1
002726 012601 MOV (SP)+,R1
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 81-1
.WRITR -- ROUTINE TO WRITE A RECORD
002730 012602 MOV (SP)+,R2
3643 002732 012737 004072' 004070' MOV #.RECRD,.RECPT ; RESET RECORD POINTER
3644 002740 005037 004066' CLR .RECNT ; CLEAR RECORD COUNT
3645 002744 105722 40$: TSTB (R2)+ ; REMOVE NEW LINE CHARACTER
3646 002746 005301 DEC R1 ; REMOVE FROM COUNT
3647 002750 001323 BNE 5$ ; NO -- GO ON
3648 002752 000737 BR 6$ ; YES -- EXIT
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 82
.WRITW -- WRITE A WORD TO A FILE
3650 .SBTTL .WRITW -- WRITE A WORD TO A FILE
3651
3652 ;+
3653 ; .WRITW -- ROUTINE TO WRITE A WORD TO A FILE
3654 ;
3655 ; THIS ROUTINE WILL WRITE A WORD TO A CURRENTLY OPEN FILE. IF THE
3656 ; CURRENT BLOCK IS FULL THEN THE BLOCK WILL BE WRITTEN TO DISK AND
3657 ; THE WORD WILL BE WRITTEN TO THE NEW BLOCK.
3658 ;
3659 ; INPUT ARGUMENTS:
3660 ;
3661 ; R0=WORD TO WRITE
3662 ;
3663 ; OUTPUT ARGUMENTS:
3664 ;
3665 ; NONE
3666 ;
3667 ; ERROR CODES RETURNED:
3668 ;
3669 ; FEF -- FILE EXTEND FAILURE
3670 ; FWT -- FILE WRITE FAILURE
3671 ;-
3672
3673 002754 .WRITW::
3674 002754 032737 000001 003014' BIT #1,.OTPOS ; ARE WE ON A WORD BOUNDRY?
3675 002762 001404 BEQ 10$ ; YES -- GO ON
3676 002764 005237 003014' INC .OTPOS ; NO -- POSITION TO WORD BOUNDRY
3677 002770 005337 003012' DEC .OTBBC ; DECREMENT FREE BYTE COUNT
3678 002774 005737 003012' 10$: TST .OTBBC ; BLOCK FULL?
3679 003000 003002 BGT 20$ ; NO -- GO ON
3680 003002 CALL .WRITE ; YES -- WRITE OUT BLOCK
003002 004737 003160' JSR PC,.WRITE
3681 003006 010077 003014' 20$: MOV R0,@.OTPOS ; WRITE WORD TO BUFFER
3682 003012 062737 000002 003014' ADD #2,.OTPOS ; UPDATE BUFFER POINTER
3683 003020 162737 000002 003012' SUB #2,.OTBBC ; UPDATE BYTE COUNT
3684 003026 RETURN ; DONE
003026 000207 RTS PC
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 83
.WRITB -- WRITE A BYTE TO A FILE
3686 .SBTTL .WRITB -- WRITE A BYTE TO A FILE
3687
3688 ;+
3689 ; .WRITB -- ROUTINE TO WRITE A BYTE TO A FILE
3690 ;
3691 ; THIS ROUTINE WILL WRITE A BYTE TO A BUFFER THAT WILL THEN BE WRITTEN
3692 ; TO DISK WHEN IT IS FULL.
3693 ;
3694 ; INPUT ARGUMENTS:
3695 ;
3696 ; R0=BYTE TO WRITE
3697 ;
3698 ; OUTPUT ARGUMENTS:
3699 ;
3700 ; NONE
3701 ;
3702 ; ERROR CODES RETURNED:
3703 ;
3704 ; FEF -- FILE EXTEND FAILURE
3705 ; FWT -- FILE WRITE FAILURE
3706 ;-
3707
3708 003030 .WRITB::
3709 003030 005737 003012' TST .OTBBC ; BUFFER FULL?
3710 003034 003002 BGT 10$ ; NO -- GO ON
3711 003036 CALL .WRITE ; YES -- WRITE OUT BLOCK
003036 004737 003160' JSR PC,.WRITE
3712 003042 110077 003014' 10$: MOVB R0,@.OTPOS ; WRITE BYE TO BUFFER
3713 003046 005237 003014' INC .OTPOS ; UPDATE POSITION
3714 003052 005337 003012' DEC .OTBBC ; UPDATE BYTE COUNT
3715 003056 RETURN ; DONE
003056 000207 RTS PC
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 84
.WRITZ -- WRITE OUT CURRENT BLOCK
3717 .SBTTL .WRITZ -- WRITE OUT CURRENT BLOCK
3718
3719 ;+
3720 ; .WRITZ -- ROUTINE TO WRITE OUT CURRENT BUFFER
3721 ;
3722 ; THIS ROUTINE WILL WRITE OUT THE CURRENT BUFFER TO THE DISK FILE.
3723 ; IF THE BUFFER IS NOT FULL THE THE EXCESS SPACE IS ZEROED.
3724 ;
3725 ; INPUT ARGUMENTS:
3726 ;
3727 ; NONE
3728 ;
3729 ; OUTPUT ARGUMENTS:
3730 ;
3731 ; NONE
3732 ;
3733 ; ERROR CODES RETURNED:
3734 ;
3735 ; FEF -- FILE EXTEND FAILURE
3736 ; FWT -- FILE WRITE FAILURE
3737 ;-
3738
3739 003060 .WRITZ::
3740 003060 013737 003014' 004064' MOV .OTPOS,.OTATT+14 ; NEXT FREE BYTE
3741 003066 162737 003016' 004064' SUB #.OTBUF,.OTATT+14 ; MAKE RELATIVE ADDR
3742 003074 023727 003012' 000002 CMP .OTBBC,#2 ; MORE THAN 1 BYTE LEFT?
3743 003102 002413 BLT 10$ ; NO -- JUST ZERO BUFFER
3744 003104 013700 003012' MOV .OTBBC,R0 ; YES -- WRITE ZERO RECORD
3745 003110 032737 000001 003014' BIT #1,.OTPOS ; ON WORD BOUNDRY?
3746 003116 001401 BEQ 5$ ; YES -- GO ON
3747 003120 005300 DEC R0 ; NO -- DECREMENT COUNT
3748 003122 162700 000002 5$: SUB #2,R0 ; DISCOUNT RECORD COUNT FIELD
3749 003126 CALL .WRITW ; WRITE COUNT
003126 004737 002754' JSR PC,.WRITW
3750 003132 005737 003012' 10$: TST .OTBBC ; BUFFER FULL?
3751 003136 001405 BEQ 20$ ; YES -- DONE
3752 003140 112700 000000 MOVB #0,R0 ; WRITE OUT ZEROS
3753 003144 12$: CALL .WRITB ; NO -- FILL BUFFER
003144 004737 003030' JSR PC,.WRITB
3754 003150 000770 BR 10$ ; NEXT
3755 003152 20$: CALL .WRITE ; WRITE OUT BUFFER
003152 004737 003160' JSR PC,.WRITE
3756 003156 RETURN ; DONE
003156 000207 RTS PC
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 85
.WRITE -- ROUTINE TO WRITE A BLOCK
3758 .SBTTL .WRITE -- ROUTINE TO WRITE A BLOCK
3759
3760 ;+
3761 ; .WRITE -- ROUTINE TO WRITE A BLOCK TO A FILE
3762 ;
3763 ; THIS ROUTINE WILL WRITE A BLOCK TO A CURRENTLY OPEN FILE ON DISK.
3764 ; IF THE FILE SPACE IS FULL THE FILE WILL BE EXTENDED.
3765 ;
3766 ; INPUT ARGUMENTS:
3767 ;
3768 ; NONE
3769 ;
3770 ; OUTPUT ARGUMENTS:
3771 ;
3772 ; NONE
3773 ;
3774 ; ERROR CODES RETURNED:
3775 ;
3776 ; FEF -- FILE EXTEND FAILURE
3777 ; FWT -- FILE WRITE FAILURE
3778 ;-
3779
3780 003160 .WRITE::
3781 003160 062737 000001 003010' ADD #1,.OTVBN+2 ; NEXT VIRTUAL BLOCK
3782 003166 005537 003006' ADC .OTVBN ; PROPAGATE CARRY
3783 003172 10$: QIOW$S #IO.WVB,#LOGLUN,#E.FFIL,,#.FISTS,,<#.OTBUF,#.BUFSZ,,.OTVBN,.OTVBN+2>
003172 013746 003010' MOV .OTVBN+2,-(SP)
003176 013746 003006' MOV .OTVBN,-(SP)
003202 005046 CLR -(SP)
003204 012746 001000 MOV #.BUFSZ,-(SP)
003210 012746 003016' MOV #.OTBUF,-(SP)
003214 005046 CLR -(SP)
003216 012746 001662' MOV #.FISTS,-(SP)
003222 005046 CLR -(SP)
003224 112716 000006 MOVB #E.FFIL,(SP)
003230 012746 000004 MOV #LOGLUN,-(SP)
003234 012746 000000G MOV #IO.WVB,-(SP)
003240 012746 MOV (PC)+,-(SP)
003242 003 013 .BYTE 3,$$$T1
003244 104375 EMT 375
3784 003246 103427 BCS WRIFWT ; ERROR IF CC-C IS SET
3785 003250 105737 001662' TSTB .FISTS ; DID WE REALLY SUCCEED?
3786 003254 002415 BLT 20$ ; NO -- SEE WHY
3787 003256 013737 003010' 004062' MOV .OTVBN+2,.OTATT+12 ; SET HIGHEST USED BLOCK
3788 003264 013737 003006' 004060' MOV .OTVBN,.OTATT+10 ; SET HIGHEST USED BLOCK
3789 003272 012737 003016' 003014' MOV #.OTBUF,.OTPOS ; YES -- SET BUFFER POINTER
3790 003300 012737 001000 003012' MOV #.BUFSZ,.OTBBC ; SET BYTE COUNT
3791 003306 RETURN ; DONE
003306 000207 RTS PC
3792 003310 122737 000000G 001662' 20$: CMPB #IE.EOF,.FISTS ; E-O-F FOUND?
3793 003316 001003 BNE WRIFWT ; NO -- ERROR
3794 003320 CALL .EXTND ; YES -- EXTEND FILE
003320 004737 002004' JSR PC,.EXTND
3795 003324 000722 BR 10$ ; TRY AGAIN
3796 ;
3797 003326 WRIFWT:
3798 003326 ERROR$ FWT ; ERROR -- FILE WRITE FAILURE
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 85-1
.WRITE -- ROUTINE TO WRITE A BLOCK
003326 012746 024454 MOV #^RFWT,-(SP)
003332 104400 TRAP TC.ERR
3799 ;
FILIO -- FILE INTERFACE ROUTINE MACRO M1113 03-APR-86 22:51 PAGE 87
.WRITE -- ROUTINE TO WRITE A BLOCK
3802
3803 .TITLE KL10F -- KL10 FUNCTION MODULE 7812.21
3804
3805 .IDENT "007050"
3806
3807 ;
3808 ; COPYRIGHT (C) 1975, 1984 BY
3809 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3810 ;
3811 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3812 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3813 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3814 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3815 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3816 ;
3817 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3818 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3819 ; CORPORATION.
3820 ;
3821 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3822 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3823 ;
3824 ; MODULE: KL10 FUNCTIONS
3825 ;
3826 ; VERSION: 07-05
3827 ;
3828 ; AUTHOR: R. BELANGER
3829 ;
3830 ; DATE: 7812.21
3831 ;
3832 ; THIS MODULE CONTAINS:
3833 ;
3834 ; 1) KL MBOX CLOCK BURST CODE
3835
3836 .MCALL $DEF,DIR$,MRKT$,PREX$,PRDP$,KLDR$,KLDW$,KLDX$,WTSE$S
3837
3838 003334 $DEF
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 88
.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
3840 .SBTTL .BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
3841
3842 ;+
3843 ; .BRMBC -- SUBROUTINE TO STOP THE KL CLOCK AND BURST THE MBOX
3844 ; CLOCK AS IN ".BURST".
3845 ; .BURST -- SUBROUTINE TO BURST THE KL MBOX CLOCK
3846 ; A MAXIMUM OF 255 DECIMAL TICKS PER CALL.
3847 ;
3848 ; THIS SUBROUTINE LOADS THE KL BURST COUNT REGISTER
3849 ; AND RUNS THE MBOX CLOCK FROM THE BURST COUNT REGISTER. IT WILL
3850 ; FAIL IF A BURST COUNT .GT. 255 DECIMAL IS REQUESTED IN ONE CALL.
3851 ;
3852 ; INPUT ARGUMENTS:
3853 ;
3854 ; R0 CONTAINS THE BURST COUNT
3855 ;
3856 ; OUTPUT ARGUMENTS:
3857 ;
3858 ; NONE.
3859 ;
3860 ; ERROR CODES RETURNED:
3861 ;
3862 ; BAE -- BURST ARGUMENT ERROR.
3863 ; FWF -- FUNCTION WRITE FAILED.
3864 ; FXF -- FUNCTION EXECUTE FAILED.
3865 ;-
3866
3867 003334 .BRMBC::
3868 003334 CALL .STPXC ; STOP THE KL CLOCK
003334 004737 007316' JSR PC,.STPXC
3869 003340 .BURST::
3870 003340 022700 000377 CMP #^D255,R0 ; IS ARGUMENT .GT. 255 DECIMAL?
3871 003344 103406 BLO BCCTER ; YES -- ERROR
3872 003346 CALL .LDBRG ; NO -- LOAD THE BURST COUNTER
003346 004737 005472' JSR PC,.LDBRG
3873 003352 012700 000012 MOV #FX.BMC,R0 ; SET UP TO BURST THE MBOX CLOCK
3874 003356 CALLR .FXCT ; DO IT
003356 000137 004566' JMP .FXCT
3875 ;
3876 003362 BCCTER:
3877 003362 ERROR$ BAE ; ERROR -- ARGUMENT OUT OF RANGE
003362 012746 006255 MOV #^RBAE,-(SP)
003366 104400 TRAP TC.ERR
3878 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 89
.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
3880 .SBTTL .CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
3881
3882 ;+
3883 ; .CLDFB -- SUBROUTINE TO CLEAR THE DTE-20 TRANSFER BUFFERS
3884 ; .CLDFR -- SUBROUTINE TO CLEAR THE DTE-20 READ BUFFER
3885 ; .CLDFW -- SUBROUTINE TO CLEAR THE DTE-20 WRITE BUFFER
3886 ;
3887 ; THE SUBROUTINES CLEAR THE INDICATED BUFFERS
3888 ;
3889 ; INPUT ARGUMENTS:
3890 ;
3891 ; NONE.
3892 ;
3893 ; OUTPUT ARGUMENTS:
3894 ;
3895 ; NONE.
3896 ;
3897 ; ERROR CODES RETURNED:
3898 ;
3899 ; NONE.
3900 ;-
3901
3902 .ENABL LSB
3903
3904 003370 .CLDFB::
3905 003370 CALL .CLDFW ; CLEAR THE WRITE HALF OF THE BUFFER
003370 004737 003404' JSR PC,.CLDFW
3906 003374 .CLDFR::
3907 003374 PUSH R0 ; SAVE R0
003374 010046 MOV R0,-(SP)
3908 003376 012700 000344' MOV #.DFRB,R0 ; .CLEAR THE FUNCTION READ BUFFER
3909 003402 000403 BR 10$ ; .
3910 ;
3911 003404 .CLDFW::
3912 003404 PUSH R0 ; SAVE R0
003404 010046 MOV R0,-(SP)
3913 003406 012700 000336' MOV #.DFWB,R0 ; .CLEAR THE FUNCTION WRITE BUFFER
3914 003412 10$:
3915 003412 CALL .TPCLR ; .CLEAR THE BUFFER
003412 004737 011372' JSR PC,.TPCLR
3916 003416 000414 BR 20$ ; .RESTORE R0 AND EXIT
3917 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 90
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
3919 .SBTTL .CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
3920
3921 ;+
3922 ; .CLRFF -- SUBROUTINE TO CLEAR THE KL RUN FLOP.
3923 ;
3924 ; THIS SUBROUTINE CLEARS THE KL RUN FLOP AND ISSUES A
3925 ; "MARK TIME" DIRECTIVE FOR THE CLOCK SHUTDOWN IN ".KLHLT".
3926 ;
3927 ; INPUT ARGUMENTS:
3928 ;
3929 ; NONE.
3930 ;
3931 ; OUTPUT ARGUMENTS:
3932 ;
3933 ; NONE
3934 ;
3935 ; ERROR CODES RETURNED:
3936 ;
3937 ; FXF -- FUNCTION EXECUTE FAILED.
3938 ;-
3939
3940 003420 .CLRFF::
3941 003420 000241 CLC ; CLEAR CC-C
3943 003422 DIR$ #.MTDPB ; REQUEST MARK TIME (FOR ".KLHLT")
003422 012746 000266' MOV #.MTDPB,-(SP)
003426 104375 EMT 375
3945 003430 PUSH R0 ; SAVE R0
003430 010046 MOV R0,-(SP)
3946 003432 112737 000001 000000G MOVB #1,.NOHLT ; TELL RSX20F NOT TO WORRY ABOUT THIS
3947 003440 012700 000020 MOV #FX.CRF,R0 ; .SET UP TO CLEAR KL RUN FLOP
3948 003444 CALL .FXCT ; .DO IT
003444 004737 004566' JSR PC,.FXCT
3949 003450 20$:
3950 003450 POP R0 ; .RESTORE R0
003450 012600 MOV (SP)+,R0
3951 003452 RETURN ; TO CALLER
003452 000207 RTS PC
3952
3953 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 91
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
3955 ; DPB FOR MARK TIME DIRECTIVE
3956
3957 ; !===============================================!
3958 ; 00 ! DPB SIZE ! DIC !
3959 ; !-----------------------------------------------!
3960 ; 02 ! EVENT FLAG !
3961 ; !-----------------------------------------------!
3962 ; 04 ! TIME INTERVAL IN CLOCK TICKS !
3963 ; !-----------------------------------------------!
3964 ; 06 ! RESCHEDULE INTERVAL IN CLOCK TICKS !
3965 ; !-----------------------------------------------!
3966 ; 10 ! AST HANDLER ENTRY POINT !
3967 ; !===============================================!
3968
3969 000266 .PSECT DPBS
3970
3971 000266 .MTDPB::
3972 000266 MRKT$ E.FHTO,30.,0,0
000266 027 005 .BYTE 23.,5
000270 000001 .WORD E.FHTO
000272 000036 .WORD 30.
000274 000000 .WORD 0
000276 000000 .WORD 0
3973
3974 003454 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 92
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
3976 .SBTTL .DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
3977
3978 ;+
3979 ; .DTDW1 -- SUBROUTINE TO READ DTE-20 DIAG WORD 1.
3980 ; .DTDW2 -- SUBROUTINE TO READ DTE-20 DIAG WORD 2.
3981 ; .DTSTA -- SUBROUTINE TO READ DTE-20 STATUS WORD.
3982 ; .DTDW3 -- SUBROUTINE TO READ DTE-20 DIAG WORD 3.
3983 ; .DWDW1 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 1.
3984 ; .DWDW2 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 2.
3985 ; .DWSTA -- SUBROUTINE TO WRITE DTE-20 STATUS WORD.
3986 ; .DWDW3 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 3.
3987 ;
3988 ; THESE SUBROUTINES READ OR WRITE THE CONTENT OF THE SPECIFIED
3989 ; DTE-20 REGISTER.
3990 ;
3991 ; THE CONTENT OF THE REGISTER TO BE WRITTEN IS PASSED IN R0.
3992 ; WHETHER A READ OR WRITE IS SPECIFIED, THE CONTENT OF THE REGISTER
3993 ; AFTER THE READ OR WRITE IS ALWAYS RETURNED IN R0 AND IN ".DREG".
3994 ;
3995 ; INPUT ARGUMENTS:
3996 ;
3997 ; (READ) NONE.
3998 ; (WRITE) R0 POINTS TO THE DATA TO BE WRITTEN.
3999 ;
4000 ; OUTPUT ARGUMENTS:
4001 ;
4002 ; R0 CONTAINS THE DATA FROM THE REGISTER WHICH WAS
4003 ; READ OR WRITTEN.
4004 ;
4005 ; ERROR CODES RETURNED:
4006 ;
4007 ; DSF -- DTE-20 STATUS FAILURE.
4008 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 93
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
4010 .ENABL LSB
4011
4012 003454 .DWDW1:: ; DIAG WORD 1 WRITE ENTRY
4013 003454 105037 000303' CLRB .REGRW+3 ; SET DIAG1 OFFSET
4014 003460 000413 BR 10$ ; DO COMMON WRITE CODE
4015 ;
4016 003462 .DWDW2:: ; DIAG WORD 2 WRITE ENTRY
4017 003462 112737 000002 000303' MOVB #.DIAG2,.REGRW+3; DIAG2 OFFSET
4018 003470 000407 BR 10$ ; DO COMMON WRITE CODE
4019 ;
4020 003472 .DWSTA:: ; STATUS WRITE ENTRY
4021 003472 112737 000004 000303' MOVB #.DTSTW,.REGRW+3; OFFSET FOR STATUS
4022 003500 000403 BR 10$ ; DO COMMON WRITE CODE
4023 ;
4024 003502 .DWDW3:: ; DIAG WORD 3 WRITE ENTRY
4025 003502 112737 000006 000303' MOVB #.DIAG3,.REGRW+3; SET DIAG WORD 3 OFFSET
4026 003510 10$: ; COMMON WRITE CODE
4027 003510 010037 000304' MOV R0,.REGRW+4 ; SET THE DATA POINTER IN THE DPB
4028 003514 113700 000303' MOVB .REGRW+3,R0 ; GET THE REGISTER OFFSET
4029 003520 046077 004212' 000304' BIC MBZTAB(R0),@.REGRW+4
4030 ; ZERO THE MBZ BITS
4031 003526 000420 BR 30$ ; WRITE IT
4032 ;
4033 003530 .DTDW1:: ; DIAG WORD 1 READ ENTRY
4034 003530 105037 000303' CLRB .REGRW+3 ; DIAG WORD 1 OFFSET IS 0
4035 003534 000413 BR 20$ ; GO READ IT
4036 ;
4037 003536 .DTDW2:: ; DIAG WORD 2 READ ENTRY
4038 003536 112737 000002 000303' MOVB #.DIAG2,.REGRW+3; DIAG WORD 2 OFFSET IS 2
4039 003544 000407 BR 20$ ; GO READ IT
4040 ;
4041 003546 .DTSTA:: ; STATUS WORD READ ENTRY
4042 003546 112737 000004 000303' MOVB #.DTSTW,.REGRW+3; SET THE OFFSET FOR THE STATUS WORD
4043 003554 000403 BR 20$ ; GO READ THE DTE-20 STATUS REGISTER
4044 ;
4045 003556 .DTDW3:: ; DIAG WORD 3 READ ENTRY
4046 003556 112737 000006 000303' MOVB #.DIAG3,.REGRW+3; SET THE OFFSET FOR DIAG WORD 3
4047
4048 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 94
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
4050 ; [CONTINUED FROM THE PREVIOUS PAGE]
4051
4052 003564 20$:
4053 003564 005037 000304' CLR .REGRW+4 ; THIS IS NOT A WRITE
4054 003570 30$: ; DATA BUFFER ALREADY LOADED FOR WRITE
4055 003570 005037 000352' CLR .DREG ; CLEAR RETURNED DATA BUFFER
4059 003574 DIR$ #.REGRW ; READ OR WRITE THE REGISTER
003574 012746 000300' MOV #.REGRW,-(SP)
003600 104375 EMT 375
4061 003602 103411 BCS DTEDSF ; ERROR IF CC-C IS SET
4062 003604 013700 000352' MOV .DREG,R0 ; PUT A COPY IN R0
4064 003610 032737 000040 000264' BIT #TR.DTE,.TRKWD ; NO -- ARE WE TRACKING DTE-20 OPS?
4065 003616 001402 BEQ 40$ ; NO -- JUST RETURN
4066 003620 CALLR .DTTRK ; YES -- TRACK IT AND RETURN
003620 000137 012332' JMP .DTTRK
4067 ;
4068 003624 40$:
4070 003624 RETURN ; GO AWAY
003624 000207 RTS PC
4071
4072 .DSABL LSB
4073
4074 003626 DTEDSF:
4075 003626 ERROR$ DSF ; ERROR -- DTE-20 REGISTER READ OR WRITE FAILED
003626 012746 015776 MOV #^RDSF,-(SP)
003632 104400 TRAP TC.ERR
4076 ;
4077
4078 ; TABLE TO CLEAR MBZ BITS ON REGISTER WRITE
4079
4080 004212 .PSECT DATA
4081
4082 004212 MBZTAB:
4083 004212 000442 .WORD D1.MBZ
4084 004214 177641 .WORD D2.MBZ
4085 004216 000000 .WORD ST.MBZ
4086 004220 177704 .WORD D3.MBZ
4087
4088 003634 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 95
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
4090 ; DPB TO READ OR WRITE THE DTE-20 REGISTERS
4091
4092 ; !===============================================!
4093 ; 00 ! DPB SIZE ! DIC !
4094 ; !-----------------------------------------------!
4095 ; 02 ! REGISTER OFFSET ! DIRECTIVE CODE !
4096 ; !-----------------------------------------------!
4097 ; 04 ! POINTER TO DATA TO BE WRITTEN !
4098 ; !-----------------------------------------------!
4099 ; 06 ! DESTINATION ADDRESS FOR DATA READ !
4100 ; !-----------------------------------------------!
4101 ; 10 ! DTE-20 NUMBER !
4102 ; !===============================================!
4103
4104 000300 .PSECT DPBS
4105
4106 000300 .REGRW::
4107 000300 002411 .WORD 2411
4108 000302 017 000 .BYTE 17,0
4109 000304 000000 .WORD 0
4110 000306 000352' .WORD .DREG
4111 000310 000000 .WORD 0
4112 000310' RGDTEN==.-2
4113
4114 003634 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 96
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
4116 .SBTTL .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
4117
4118 ;+
4119 ; .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK VIA MBOX CLOCKS
4120 ;
4121 ; THIS SUBROUTINE WILL SIMULATE AN EBOX CLOCK WITH MBOX CLOCKS.
4122 ; DOING THIS PREVENTS THE EBOX AND MBOX FROM BECOMING UNSYNCHRONIZED.
4123 ; THE EBOX CLOCK IS SYNCHED LOW ON EXIT.
4124 ;
4125 ; SEQUENCE OF OPERATION:
4126 ;
4127 ; (A) AN MBOX CLOCK IS ISSUED (FX.002),
4128 ; (B) THE STATE OF [CLK EBOX SRC H] IS TESTED:
4129 ; (1) IF FALSE GO TO (A),
4130 ; (2) IF TRUE GO TO (C),
4131 ; (C) THE EBOX CLOCK IS SYNCHED LOW.
4132 ;
4133 ; INPUT ARGUMENTS:
4134 ;
4135 ; NONE.
4136 ;
4137 ; OUTPUT ARGUMENTS:
4138 ;
4139 ; NONE.
4140 ;
4141 ; ERROR CODES RETURNED:
4142 ;
4143 ; CES -- CLOCK ERROR STOP.
4144 ; DSF -- DTE-20 STATUS FAILURE.
4145 ; ECT -- EBOX CLOCK TIMEOUT.
4146 ; FRF -- FUNCTION READ FAILED.
4147 ; FXF -- FUNCTION EXECUTE FAILED.
4148 ;
4149 ; NOTE:
4150 ;
4151 ; THIS SUBROUTINE ASSUMES THAT THE KL CLOCK IS OFF.
4152 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 97
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
4154 003634 .EBCLK::
4155 003634 PUSH <R2,R1,R0> ; SAVE CALLER'S REGISTERS
003634 010246 MOV R2,-(SP)
003636 010146 MOV R1,-(SP)
003640 010046 MOV R0,-(SP)
4156 003642 CALL .CESCK ; ...SEE IF CLOCK ERROR STOP IS UP
003642 004737 000000' JSR PC,.CESCK
4157 003646 012702 000310 MOV #^D200,R2 ; ...TIMEOUT COUNT TO R2
4158 003652 10$:
4159 003652 005001 CLR R1 ; ...CLEAR R1
4160 003654 012700 000004 MOV #FX.MBC,R0 ; ...DO ONE MBOX CLOCK
4161 003660 CALL .FXCT ; ...DO IT
003660 004737 004566' JSR PC,.FXCT
4162 003664 012700 000210 MOV #FR.104,R0 ; ...READ STATE OF [CLK EBX SRC H]
4163 003670 CALL .FREAD ; ...DO IT
003670 004737 004362' JSR PC,.FREAD
4164 003674 032710 000004 BIT #BIT02,(R0) ; ...IS IT THERE?
4168 003700 001001 BNE 20$ ; ...YES -- SYNCH THE CLOCK AND EXIT
4169 003702 077215 SOB R2,10$ ; ...NO -- LOOP TILL COUNT EXHAUSTED
4170 003704 20$:
4171 003704 005702 TST R2 ; ...WHAT'S IN R2?
4172 003706 003405 BLE EBCECT ; ...TIMED OUT IF .LE. 0
4173 003710 POP <R0,R1,R2> ; ...RESTORE CALLER'S REGISTERS
003710 012600 MOV (SP)+,R0
003712 012601 MOV (SP)+,R1
003714 012602 MOV (SP)+,R2
4174 003716 CALLR .SYNXC ; FORCE SYNCH THE CLOCK AND EXIT
003716 000137 007470' JMP .SYNXC
4175 ;
4176 003722 EBCECT:
4177 003722 ERROR$ ECT ; ERROR -- EBOX CLOCK TIME OUT
003722 012746 017714 MOV #^RECT,-(SP)
003726 104400 TRAP TC.ERR
4178 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 98
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4180 .SBTTL .EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4181
4182 ;+
4183 ; .EXKLM -- SUBROUTINE TO EXAMINE KL MEMORY.
4184 ; .DPKLM -- SUBROUTINE TO DEPOSIT KL MEMORY.
4185 ;
4186 ; THIS SUBROUTINE EXAMINES OR DEPOSITS ONE LOCATION OF KL MEMORY.
4187 ;
4188 ; INPUT ARGUMENTS:
4189 ;
4190 ; R0 MUST CONTAIN ONE OF THE FOLLOWING ADDRESS SPACE CODES:
4191 ;
4192 ; (A) ED.EPT (000) EXEC PROCESS TABLE (RELATIVE),
4193 ; (B) ED.EXV (040) EXEC VIRTUAL ADDRESS SPACE,
4194 ; (C) ED.UPT (100) USER PROCESS TABLE (RELATIVE),
4195 ; (D) ED.USV (140) USER VIRTUAL ADDRESS SPACE,
4196 ; (E) ED.PHY (200) PHYSICAL ADDRESS SPACE.
4197 ;
4198 ; R1 MUST CONTAIN A POINTER TO A TWO WORD POINTER BLOCK OF THE FORM:
4199 ;
4200 ; !===================================!
4201 ; 00 ! POINTER TO KL ADDRESS !
4202 ; !-----------------------------------!
4203 ; 02 ! POINTER TO KL DATA !
4204 ; !===================================!
4205 ;
4206 ; THE KL ADDRESS POINTER MUST POINT TO A TWO WORD BLOCK OF THE FORM:
4207 ;
4208 ; !===================================!
4209 ; 00 ! KL ADDRESS 20 - 35 !
4210 ; !-----------------------------------!
4211 ; 02 ! KL ADDRESS 19 - 14 !
4212 ; !===================================!
4213 ;
4214 ; THE KL DATA POINTER POINTS TO A TRIPLET IN DEXWORD FORMAT.
4215 ;
4216 ; OUTPUT ARGUMENTS:
4217 ;
4218 ; SAME AS INPUT ARGUMENTS.
4219 ;
4220 ; ERROR CODES RETURNED:
4221 ;
4222 ; ESD -- EBOX STOPPED - DEPOSIT.
4223 ; ESE -- EBOX STOPPED - EXAMINE.
4224 ; EMF -- EXAMINE KL MEMORY FAILED.
4225 ; DMF -- DEPOSIT KL MEMORY FAILED.
4226 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 99
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4228 .ENABL LSB
4229
4230 003730 .EXKLM::
4231 003730 PUSH <R2,R3> ; SAVE R2 AND R3 ON THE STACK
003730 010246 MOV R2,-(SP)
003732 010346 MOV R3,-(SP)
4232 003734 012702 004222' MOV #.ETAB,R2 ; ..POINTER TO EXAMINE TABLE
4233 003740 CALL .EXDPM ; ..GO DO EXAMINE
003740 004737 004020' JSR PC,.EXDPM
4240 003744 032737 000010 000264' BIT #TR.EXM,.TRKWD ; ..ARE WE TRACKING EXAMINES?
4241 003752 001417 BEQ 10$ ; ..NO -- GO ON
4242 003754 CALL .EXTRK ; ..YES -- TRACK IT
003754 004737 012442' JSR PC,.EXTRK
4244 003760 000414 BR 10$ ; ..AND GO AWAY
4245 ;
4246 003762 .DPKLM::
4247 003762 PUSH <R2,R3> ; SAVE R2 AND R3 ON THE STACK
003762 010246 MOV R2,-(SP)
003764 010346 MOV R3,-(SP)
4248 003766 012702 004232' MOV #.DTAB,R2 ; ..POINTER TO DEPOSIT TABLE
4249 003772 CALL .EXDPM ; ..DO THE DEPOSIT
003772 004737 004020' JSR PC,.EXDPM
4256 003776 032737 000020 000264' BIT #TR.DEP,.TRKWD ; ..ARE WE TRACKING DEPOSITS?
4257 004004 001402 BEQ 10$ ; ..NO -- GO ON
4258 004006 CALL .DPTRK ; ..YES -- TRACK THE DEPOSIT
004006 004737 012454' JSR PC,.DPTRK
4260 004012 10$:
4261 004012 POP <R3,R2> ; ..RESTORE R2 AND R3
004012 012603 MOV (SP)+,R3
004014 012602 MOV (SP)+,R2
4262 004016 RETURN ; RETURN TO CALLER
004016 000207 RTS PC
4263
4264 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 100
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4266 ; THIS IS THE COMMON DEPOSIT / EXAMINE CODE
4267
4268 004020 .EXDPM::
4269 004020 000241 CLC ; CLEAR CC-C
4270 004022 012203 MOV (R2)+,R3 ; GET THE DPB POINTER INTO R3
4271 004024 110023 MOVB R0,(R3)+ ; PUT THE MODE INTO THE DPB
4272 004026 011123 MOV (R1),(R3)+ ; PUT THE POINTER TO THE KL ADDRESS IN THE DPB
4273 004030 016113 000002 MOV 2(R1),(R3) ; AND DESTINATION POINTER TOO
4274 004034 011303 MOV (R3),R3 ; GET ADDRESS OF CALLER'S DATA BLOCK
4275 004036 042763 177760 000004 BIC #177760,4(R3) ; CLEAR EXTRANEOUS BITS
4279 004044 DIR$ (R2)+ ; DO THE EXAMINE OR DEPOSIT
004044 012246 MOV (R2)+,-(SP)
004046 104375 EMT 375
4281 004050 103401 BCS 10$ ; ERROR IF CC-C IS SET
4282 004052 RETURN ; TO CALLER
004052 000207 RTS PC
4283 004054 10$:
4284 004054 022737 000000G 000000G CMP #IE.EBX,$DSW ; IS THE EBOX STOPPED?
4285 004062 001401 BEQ 20$ ; YES -- EBOX IS STOPPED
4286 004064 005722 TST (R2)+ ; NO -- OTHER ERROR
4287 004066 20$:
4288 004066 CALL .CESCK ; SEE IF CLOCK ERROR STOP IS UP
004066 004737 000000' JSR PC,.CESCK
4289 004072 103001 BCC 25$ ; [5.1002]CES SWEEP RETURN?
4290 004074 RETURN ; [5.1002]YES -- EXIT
004074 000207 RTS PC
4291 004076 25$: CALL .RESTD ; RESET THE DTE-20 SINCE IT MAY BE CONFUSED
004076 004737 007102' JSR PC,.RESTD
4292 004102 000132 JMP @(R2)+ ; GIVE THE EXAMINE ERROR TRAP
4293 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 101
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4295 ; TABLES FOR EXAMINE / DEPOSIT KL MEMORY
4296
4297 004222 .PSECT DATA
4298
4299 004222 .ETAB:
4300 004222 000327' .WORD .EXDPB+3 ; POINTER FOR EXAMINE MODE IN DPB
4301 004224 000324' .WORD .EXDPB ; EXAMINE DPB POINTER
4302 004226 004120' .WORD EXDESE ; EBOX STOPPED - EXAMINE
4303 004230 004142' .WORD EXDEMF ; EXAMINE KL FAILED
4304
4305 004232 .DTAB:
4306 004232 000315' .WORD .DPDPB+3 ; POINTER FOR DEPOSIT MODE IN DPB
4307 004234 000312' .WORD .DPDPB ; DEPOSIT DPB POINTER
4308 004236 004104' .WORD EXDESD ; EBOX STOPPED - DEPOSIT
4309 004240 004134' .WORD EXDDMF ; DEPOSIT KL FAILED
4310
4311 004104 .PSECT
4312
4313 004104 EXDESD:
4314 004104 042737 100000 000000G BIC #KF.CLK,.KLFLG ; FLAG THE EBOX STOP
4315 004112 ERROR$ ESD ; ERROR -- EBOX STOPPED - DEPOSIT
004112 012746 021074 MOV #^RESD,-(SP)
004116 104400 TRAP TC.ERR
4316 ;
4317 004120 EXDESE:
4318 004120 042737 100000 000000G BIC #KF.CLK,.KLFLG ; FLAG THE EBOX STOP
4319 004126 ERROR$ ESE ; ERROR -- EBOX STOPPED - EXAMINE
004126 012746 021075 MOV #^RESE,-(SP)
004132 104400 TRAP TC.ERR
4320 ;
4321 004134 EXDDMF:
4322 004134 ERROR$ DMF ; ERROR -- DEPOSIT MEMORY FAILED
004134 012746 015416 MOV #^RDMF,-(SP)
004140 104400 TRAP TC.ERR
4323 ;
4324 004142 EXDEMF:
4325 004142 ERROR$ EMF ; ERROR -- EXAMINE MEMORY FAILED
004142 012746 020516 MOV #^REMF,-(SP)
004146 104400 TRAP TC.ERR
4326 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 102
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4328 ; DPB FOR PRIVILEGED DEPOSIT
4329
4330 ; !===============================================!
4331 ; 00 ! DPB SIZE ! DIC !
4332 ; !-----------------------------------------------!
4333 ; 02 ! DEPOSIT TYPE ! DIRECTIVE CODE !
4334 ; !-----------------------------------------------!
4335 ; 04 ! KL DEPOSIT ADDRESS POINTER !
4336 ; !-----------------------------------------------!
4337 ; 06 ! KL DEPOSIT DATA POINTER !
4338 ; !-----------------------------------------------!
4339 ; 10 ! DTE-20 NUMBER !
4340 ; !===============================================!
4341
4342 000312 .PSECT DPBS
4343
4344 000312 .DPDPB::
4345 000312 PRDP$ 0,.EDKLA,.DPBFR,ED.PHY
000312 011 005 .BYTE DR.DTE,5
000314 016 200 .BYTE DF.PDP,ED.PHY
000316 000106' .WORD .EDKLA
000320 000070' .WORD .DPBFR
000322 000000 .WORD 0
4346 000322' DPDTEN==.-2
4347
4348 ; DPB FOR PRIVILEGED EXAMINE
4349
4350 ; !===============================================!
4351 ; 00 ! DPB SIZE ! DIC !
4352 ; !-----------------------------------------------!
4353 ; 02 ! EXAMINE TYPE ! DIRECTIVE CODE !
4354 ; !-----------------------------------------------!
4355 ; 04 ! KL ADDRESS WORD POINTER !
4356 ; !-----------------------------------------------!
4357 ; 06 ! DATA DESTINATION POINTER !
4358 ; !-----------------------------------------------!
4359 ; 10 ! DTE-20 NUMBER !
4360 ; !===============================================!
4361
4362 000324 .EXDPB::
4363 000324 PREX$ 0,.EDKLA,.EXBFR,ED.PHY
000324 011 005 .BYTE DR.DTE,5
000326 015 200 .BYTE DF.PEX,ED.PHY
000330 000106' .WORD .EDKLA
000332 000156' .WORD .EXBFR
000334 000000 .WORD 0
4364 000334' EXDTEN==.-2
4365
4366 004150 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 103
.EXCTF -- FAST INTERNAL EXECUTE 7602.17
4368 .SBTTL .EXCTF -- FAST INTERNAL EXECUTE 7602.17
4369
4370 ;+
4371 ; .EXCTF -- FST INTERNAL EXECUTE.
4372 ;
4373 ; THIS SUBROUTINE WILL EXECUTE A KL INSTRUCTION WITHOUT
4374 ; CLOCKING THE KL OUT THE HALT LOOP; THE KL IS SIMPLY
4375 ; CONTINUED
4376 ;
4377 ; INPUT ARGUMENTS:
4378 ;
4379 ; NONE.
4380 ;
4381 ; OUTPUT ARGUMENTS:
4382 ;
4383 ; NONE.
4384 ;
4385 ; ERROR CODES RETURNED:
4386 ;
4387 ; NONE
4388 ;-
4389
4390 004150 .EXCTF::
4391 004150 PUSH .KLFLG ; SAVE ".KLFLG"
004150 013746 000000G MOV .KLFLG,-(SP)
4392 004154 005116 COM (SP) ; .INVERT IT
4393 004156 032716 140000 BIT #KF.CLK!KF.RUN,(SP)
4394 004162 001013 BNE 10$ ; .NOT REALLY RUNNING -- DO OTHER XCT
4395 004164 005116 COM (SP) ; .RESET SAVED ".KLFLG"
4396 004166 PUSH R0 ; .SAVE R0
004166 010046 MOV R0,-(SP)
4397 004170 CALL .STPKL ; ..STOP THE KL
004170 004737 007272' JSR PC,.STPKL
4398 004174 POP R1 ; ..INSTRUCTION POINTER TO R1
004174 012601 MOV (SP)+,R1
4399 004176 CALL .KLXCT ; .EXECUTE THE INSTRUCTION
004176 004737 005442' JSR PC,.KLXCT
4400 004202 POP .SVKLF ; .SET UP ".SVKLF"
004202 012637 000260' MOV (SP)+,.SVKLF
4401 004206 CALLR .RSTKL ; RESTART THE KL
004206 000137 007220' JMP .RSTKL
4402 ;
4403 004212 10$:
4404 004212 005726 TST (SP)+ ; .FLUSH THE STACK
4405 004214 022020 CMP (R0)+,(R0)+ ; ADVANCE THE POINTER
4406 004216 PUSH <(R0),-(R0),-(R0)>
004216 011046 MOV (R0),-(SP)
004220 014046 MOV -(R0),-(SP)
004222 014046 MOV -(R0),-(SP)
4407 004224 010600 MOV SP,R0 ; ...POINT TO STACKED INSTRUCTION
4408
4409 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 104
.EXCTF -- FAST INTERNAL EXECUTE 7602.17
4411 ; [CONTINUED FROM THE PREVIOUS PAGE]
4412
4413 004226 .EXECT::
4414 004226 010001 MOV R0,R1 ; ...POINTER TO R1
4415 004230 PUSH .KLFLG ; ...SAVE ".KLFLG"
004230 013746 000000G MOV .KLFLG,-(SP)
4416 004234 CALL .KLXCT ; ....START THE EXECUTE
004234 004737 005442' JSR PC,.KLXCT
4417 004240 10$:
4418 004240 CALL .EBCLK ; ....GIVE ONE EBOX CLOCK
004240 004737 003634' JSR PC,.EBCLK
4419 004244 CALL .DTDW1 ; ....READ DTE-20 DIAG WORD 1
004244 004737 003530' JSR PC,.DTDW1
4420 004250 032700 001000 BIT #D1.HLP,R0 ; ....IS THE HALT LOOP UP?
4422 004254 001371 BNE 10$ ; ....YES -- WAIT TILL IT ISN'T
4424 004256 CALL .STCLK ; ....OUT OF HALT LOOP -- START THE CLOCK
004256 004737 007246' JSR PC,.STCLK
4425 004262 012701 005000 MOV #5000,R1 ; ....WAIT COUNT TO R1
4426 004266 20$:
4427 004266 CALL .DTDW1 ; ....READ DTE-20 DIAG WORD 1
004266 004737 003530' JSR PC,.DTDW1
4428 004272 032700 001000 BIT #D1.HLP,R0 ; ....LOOK FOR THE HALT LOOP AGAIN
4432 004276 001002 BNE 30$ ; ....IN THE HALT LOOP -- FINISH UP
4433 004300 077106 SOB R1,20$ ; ....NOT YET -- TRY AGAIN
4434 004302 000424 BR EXECTO ; ....EXECUTE TIMED OUT
4435 ;
4436 004304 30$:
4437 004304 005116 COM (SP) ; ....INVERT OLD ".KLFLG"
4438 004306 032716 140000 BIT #KF.CLK!KF.RUN,(SP) ; ....WAS THE KL RUNNING??
4439 004312 001003 BNE 40$ ; ....NO -- GO ON
4440 004314 CALL .KLCON ; ....YES -- CONTINUE THE KL
004314 004737 004736' JSR PC,.KLCON
4441 004320 000412 BR 60$ ; ....AND EXIT
4442 ;
4443 004322 40$:
4444 004322 032716 100000 BIT #KF.CLK,(SP) ; ....WAS THE CLOCK ON?
4445 004326 001402 BEQ 50$ ; ....YES -- GO ON
4446 004330 CALL .STPXC ; ....NO -- STOP IT
004330 004737 007316' JSR PC,.STPXC
4447 004334 50$:
4448 004334 032716 040000 BIT #KF.RUN,(SP) ; ....WAS THE RUN FLOP ON??
4449 004340 001002 BNE 60$ ; ....NO -- GO ON
4450 004342 CALL .STRUN ; ....YES -- SET IT
004342 004737 007346' JSR PC,.STRUN
4451 004346 60$:
4452 004346 062706 000010 ADD #^D8,SP ; ....RESET THE STACK
4453 004352 RETURN ; AND EXIT
004352 000207 RTS PC
4454 004354 EXECTO:
4455 004354 ERROR$ XTO ; ERROR -- EXECUTE TIMED OUT
004354 012746 114457 MOV #^RXTO,-(SP)
004360 104400 TRAP TC.ERR
4456 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 105
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
4458 .SBTTL .FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
4459
4460 ;+
4461 ; .FREAD -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION READ.
4462 ;
4463 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION READ.
4464 ;
4465 ; SEQUENCE OF OPERATION:
4466 ;
4467 ; THE DFR IS EXECUTED AND DATA LOADED THRU R1 IF R1 .NE. 0,
4468 ; IF R1 IS .EQ. 0 THE DATA IS NOT MOVED FROM ".DFRB".
4469 ;
4470 ; INPUT ARGUMENTS:
4471 ;
4472 ; R0 HOLDS THE FUNCTION READ CODE
4473 ; R1 POINTS TO A DESTINATION BUFFER
4474 ;
4475 ; OUTPUT ARGUMENTS:
4476 ;
4477 ; R0 POINTS TO THE SUBROUTINE DATA BLOCK
4478 ; R1 POINTS TO THE CALLER'S READ BLOCK
4479 ;
4480 ; ERROR CODES RETURNED:
4481 ;
4482 ; FRF -- FUNCTION READ FAILED.
4483 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 106
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
4485 004362 .FREAD::
4486 004362 110037 000341' MOVB R0,.KLDFR+3 ; SET THE DFR# IN THE DPB
4490 004366 DIR$ #.KLDFR ; CALL THE EXEC TO DO THE READ
004366 012746 000336' MOV #.KLDFR,-(SP)
004372 104375 EMT 375
4492 004374 103420 BCS FRDFRF ; ERROR IF CC-C IS SET
4493 004376 012700 000344' MOV #.DFRB,R0 ; POINT TO TOP OF READ BLOCK
4494 004402 005701 TST R1 ; TEST R1
4495 004404 001405 BEQ 10$ ; EXIT IF R1 .EQ. 0
4496 004406 012021 MOV (R0)+,(R1)+ ; LOAD HIS BUFFER FROM OURS
4497 004410 012021 MOV (R0)+,(R1)+
4498 004412 011011 MOV (R0),(R1)
4499 004414 024040 CMP -(R0),-(R0) ; BACK THE POINTERS UP
4500 004416 024141 CMP -(R1),-(R1)
4501 004420 10$:
4503 004420 032737 000002 000264' BIT #TR.FRD,.TRKWD ; ARE WE TRACKING FUNCTION READS?
4504 004426 001402 BEQ 20$ ; NO -- JUST EXIT
4505 004430 CALL .FRTRK ; YES -- DO IT
004430 004737 012172' JSR PC,.FRTRK
4506 004434 20$:
4508 004434 RETURN ; TO CALLER
004434 000207 RTS PC
4509 004436 FRDFRF:
4510 004436 ERROR$ FRF ; ERROR -- FUNCTION READ FAILED
004436 012746 024126 MOV #^RFRF,-(SP)
004442 104400 TRAP TC.ERR
4511 ;
4512
4513 ; DPB FOR DIAGNOSTIC FUNCTION READ
4514
4515 ; !===============================================!
4516 ; 00 ! DPB SIZE ! DIC !
4517 ; !-----------------------------------------------!
4518 ; 02 ! DFR OPCODE ! DFR CODE !
4519 ; !-----------------------------------------------!
4520 ; 04 ! TRANSFER BUFFER ADDRESS !
4521 ; !-----------------------------------------------!
4522 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
4523 ; !-----------------------------------------------!
4524 ; 10 ! DTE-20 NUMBER !
4525 ; !===============================================!
4526
4527 000336 .PSECT DPBS
4528
4529 000336 .KLDFR::
4530 000336 KLDR$ .-.,.DFBLK,.DREG,0
000336 002411 .WORD 400*5.+DR.DTE
000340 012 000 .BYTE DF.KLR,.-./400
000342 000336' .WORD .DFBLK
000344 000352' .WORD .DREG
000346 000000 .WORD 0
4531 000346' FRDTEN==.-2
4532
4533 004444 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 107
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
4535 .SBTTL .FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
4536
4537 ;+
4538 ; .FWRIT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION WRITE.
4539 ;
4540 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION WRITE.
4541 ;
4542 ; SEQUENCE OF OPERATION:
4543 ;
4544 ; .FWRIT:
4545 ;
4546 ; (A) THE DATA IS LOADED THRU R1 IF R1 .NE. 0,
4547 ; IF R1 IS .EQ. 0 THE DATA IS ASSUMED TO BE IN ".DFWB",
4548 ; (B) THE FUNCTION WRITE IS EXECUTED.
4549 ;
4550 ; INPUT ARGUMENTS:
4551 ;
4552 ; R0 HOLDS THE FUNCTION WRITE CODE
4553 ; R1 POINTS TO A SOURCE BUFFER
4554 ;
4555 ; OUTPUT ARGUMENTS:
4556 ;
4557 ; R0 POINTS TO THE SUBROUTINE DATA BLOCK
4558 ; R1 POINTS TO THE CALLER'S WRITE BLOCK
4559 ;
4560 ; ERROR CODES RETURNED:
4561 ;
4562 ; FWF -- FUNCTION WRITE FAILED.
4563 ;-
4564
4565 004444 .FWRIT::
4566 004444 110037 000353' MOVB R0,.KLDFW+3 ; SET THE DFW# IN THE DPB
4567 004450 012700 000336' MOV #.DFWB,R0 ; POINT TO TOP OF WRITE BLOCK
4568 004454 005701 TST R1 ; TEST R1
4569 004456 001405 BEQ 10$ ; ALREADY IN ".DFWB" IF R1 .EQ. 0
4570 004460 012120 MOV (R1)+,(R0)+ ; LOAD THE DATA BLOCK
4571 004462 012120 MOV (R1)+,(R0)+
4572 004464 011110 MOV (R1),(R0)
4573 004466 024040 CMP -(R0),-(R0) ; BACK THE POINTERS UP
4574 004470 024141 CMP -(R1),-(R1)
4575
4576
4577 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 108
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
4579 ; [CONTINUED FROM THE PREVIOUS PAGE]
4580
4581 004472 10$:
4582 004472 042760 177760 000004 BIC #177760,4(R0) ; FLUSH EXTRANEOUS BITS
4586 004500 DIR$ #.KLDFW ; CALL THE EXEC TO DO THE WRITE
004500 012746 000350' MOV #.KLDFW,-(SP)
004504 104375 EMT 375
4588 004506 103424 BCS FWRFWF ; ERROR IF CC-C IS SET
4589 004510 PUSH R0 ; SAVE THE BUFFER POINTER
004510 010046 MOV R0,-(SP)
4590 004512 113700 000353' MOVB .KLDFW+3,R0 ; .GET THE WRITE CODE
4591 004516 120027 000110 CMPB R0,#FW.044 ; .DID WE WRITE THE CLOCK BOARD?
4592 004522 002406 BLT 20$ ; .NO -- JUST EXIT
4593 004524 120027 000116 CMPB R0,#FW.047 ; .MAYBE -- DID WE REALLY?
4594 004530 003003 BGT 20$ ; .NO -- JUST EXIT
4595 004532 042737 100000 000000G BIC #KF.CLK,.KLFLG ; .YES -- TURN THE CLOCK BIT OFF
4596 004540 20$:
4598 004540 032737 000004 000264' BIT #TR.FWR,.TRKWD ; .ARE WE TRACKING FUNCTION WRITES?
4599 004546 001402 BEQ 30$ ; .NO -- GO ON
4600 004550 CALL .FWTRK ; .YES -- LEAVE TRACKS ON CONSOLE
004550 004737 012212' JSR PC,.FWTRK
4601 004554 30$:
4603 004554 POP R0 ; .RESTORE THE BUFFER POINTER
004554 012600 MOV (SP)+,R0
4604 004556 RETURN ; YES -- RETURN TO CALLER
004556 000207 RTS PC
4605
4606 004560 FWRFWF:
4607 004560 ERROR$ FWF ; ERROR -- FUNCTION WRITE FAILED
004560 012746 024436 MOV #^RFWF,-(SP)
004564 104400 TRAP TC.ERR
4608 ;
4609
4610 ; DPB FOR DIAGNOSTIC FUNCTION WRITE
4611
4612 ; !===============================================!
4613 ; 00 ! DPB SIZE ! DIC !
4614 ; !-----------------------------------------------!
4615 ; 02 ! DFW OPCODE ! DFW CODE !
4616 ; !-----------------------------------------------!
4617 ; 04 ! TRANSFER BUFFER ADDRESS !
4618 ; !-----------------------------------------------!
4619 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
4620 ; !-----------------------------------------------!
4621 ; 10 ! DTE-20 NUMBER !
4622 ; !===============================================!
4623
4624 000350 .PSECT DPBS
4625
4626 000350 .KLDFW::
4627 000350 KLDW$ .-.,.DFBLK,.DREG,0
000350 002411 .WORD 400*5.+DR.DTE
000352 013 000 .BYTE DF.KLW,.-./400
000354 000336' .WORD .DFBLK
000356 000352' .WORD .DREG
000360 000000 .WORD 0
4628 000360' FWDTEN==.-2
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 108-1
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
4629
4630 004566 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 109
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
4632 .SBTTL .FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
4633 ;+
4634 ; .FXCT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
4635 ;
4636 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION EXECUTE AND MAINTAIN
4637 ; THE STATE OF THE KL CLOCK ("KF.CLK") AND RUN FLOP ("KF.RUN") FLAGS
4638 ; IN THE KL STATE FLAG WORD, ".KLFLG".
4639 ;
4640 ; SEQUENCE OF OPERATION:
4641 ;
4642 ; THE DFX IS SIMPLY EXECUTED.
4643 ;
4644 ; INPUT ARGUMENTS:
4645 ;
4646 ; R0 CONTAINS THE FUNCTION EXECUTE CODE
4647 ;
4648 ; OUTPUT ARGUMENTS:
4649 ;
4650 ; NONE.
4651 ;
4652 ; ERROR CODES RETURNED:
4653 ;
4654 ; FXF -- FUNCTION EXECUTE FAILED.
4655 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 110
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
4657 004566 .FXCT::
4658 004566 110037 000365' MOVB R0,.KLDFX+3 ; SET THE EXECUTE CODE IN THE DPB
4662 004572 DIR$ #.KLDFX ; CALL THE EXEC TO DO THE DFX
004572 012746 000362' MOV #.KLDFX,-(SP)
004576 104375 EMT 375
4664 004600 103453 BCS FXCFXF ; ERROR IF CC-C IS SET
4665 004602 113746 000365' MOVB .KLDFX+3,-(SP) ; PUT THE EXECUTE CODE ON THE STACK
4666 004606 012700 100000 MOV #KF.CLK,R0 ; .FLAG BIT TO R0
4667 004612 121627 000002 CMPB (SP),#FX.CST ; .IS DFX CODE .EQ. 1?
4668 004616 001411 BEQ 10$ ; .YES -- DO CLOCK STARTED STUFF
4669 004620 121627 000016 CMPB (SP),#FX.SMR ; .NO -- IS DFX CODE .GT. 7?
4670 004624 101014 BHI 20$ ; .YES -- LEAVE NOW
4671 004626 030037 000000G BIT R0,.KLFLG ; .NO -- IS THE FLAG OFF ALREADY?
4672 004632 001426 BEQ 40$ ; .YES -- LEAVE NOW
4673 004634 040037 000000G BIC R0,.KLFLG ; .NO -- TURN IF OFF
4674 004640 000423 BR 40$ ; .AND GO AWAY
4675 ;
4676 004642 10$:
4677 004642 030037 000000G BIT R0,.KLFLG ; .IS THE FLAG ON ALREADY?
4678 004646 001020 BNE 40$ ; .YES -- LEAVE NOW
4679 004650 050037 000000G BIS R0,.KLFLG ; .NO -- LIGHT IT UP
4680 004654 000415 BR 40$ ; .AND EXIT
4681 ;
4682 004656 20$:
4683 004656 012700 040000 MOV #KF.RUN,R0 ; .DO RUN FLAG STUFF
4684 004662 121627 000022 CMPB (SP),#FX.SRF ; .SET THE RUN FLOP?
4685 004666 001003 BNE 30$ ; .NO -- GO ON
4686 004670 050037 000000G BIS R0,.KLFLG ; .YES -- SET THE FLAG
4687 004674 000405 BR 40$ ; .AND GO AWAY
4688 ;
4689 004676 30$:
4690 004676 121627 000020 CMPB (SP),#FX.CRF ; .CLEAR RUN FLOP?
4691 004702 001002 BNE 40$ ; .NO -- JUST GO AWAY
4692 004704 040037 000000G BIC R0,.KLFLG ; .YES -- CLEAR THE FLAG
4693
4694 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 111
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
4696 ; [CONTINUED FROM THE PREVIOUS PAGE]
4697
4698 004710 40$:
4700 004710 032737 000001 000264' BIT #TR.FXC,.TRKWD ; .ARE WE TRACKING FUNCTION EXECUTES?
4701 004716 001402 BEQ 50$ ; .NO -- JUST EXIT
4702 004720 CALL .FXTRK ; .YES -- DO IT
004720 004737 012232' JSR PC,.FXTRK
4703 004724 50$:
4705 004724 POP R0 ; .RESTORE R0
004724 012600 MOV (SP)+,R0
4706 004726 RETURN ; TO CALLER
004726 000207 RTS PC
4707 004730 FXCFXF:
4708 004730 ERROR$ FXF ; FUNCTION EXECUTE FAILED
004730 012746 024506 MOV #^RFXF,-(SP)
004734 104400 TRAP TC.ERR
4709 ;
4710
4711 ; DIRECTIVE PARAMETER BLOCK DIAGNOSTIC FUNCTION EXECUTE
4712
4713 ; !===============================================!
4714 ; 00 ! DPB SIZE ! DIC !
4715 ; !-----------------------------------------------!
4716 ; 02 ! DFX OPCODE ! DFX CODE !
4717 ; !-----------------------------------------------!
4718 ; 04 ! TRANSFER BUFFER ADDRESS !
4719 ; !-----------------------------------------------!
4720 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
4721 ; !-----------------------------------------------!
4722 ; 10 ! DTE-20 NUMBER !
4723 ; !===============================================!
4724
4725
4726 000362 .PSECT DPBS
4727
4728 000362 .KLDFX::
4729 000362 KLDX$ .-.,.DFBLK,.DREG,0
000362 002411 .WORD 400*5.+DR.DTE
000364 014 000 .BYTE DF.KLX,.-./400
000366 000336' .WORD .DFBLK
000370 000352' .WORD .DREG
000372 000000 .WORD 0
4730 000372' FXDTEN==.-2
4731
4732 004736 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 112
.KLCON -- KL CONTINUE SUBROUTINE 7710.11
4734 .SBTTL .KLCON -- KL CONTINUE SUBROUTINE 7710.11
4735
4736 ;+
4737 ; .KLCON -- SUBROUTINE TO CONTINUE THE KL.
4738 ; .KLGO -- SUBROUTINE TO FINISH STARTING THE KL.
4739 ;
4740 ; THIS SUBROUTINE STARTS THE KL CLOCK AND SETS THE KL
4741 ; RUN FLOP ".KLCON" SETS THE CONTINUE FLOP PRIOR TO THIS.
4742 ;
4743 ; SEQUENCE OF OPERATION:
4744 ;
4745 ; .KLCON:
4746 ;
4747 ; (A) THE KL CONTINUE FLOP IS SET,
4748 ;
4749 ; .KLGO:
4750 ;
4751 ; (A) THE KL CLOCK IS STARTED IF NOT IN SINGLE PULSE MODE,
4752 ; (B) THE KL RUN FLOP IS SET IF NOT IN SINGLE INSTRUCTION MODE
4753 ; OR SINGLE PULSE MODE.
4754 ;
4755 ; INPUT ARGUMENTS:
4756 ;
4757 ; NONE.
4758 ;
4759 ; OUTPUT ARGUMENTS:
4760 ;
4761 ; NONE.
4762 ;
4763 ; ERROR CODES RETURNED:
4764 ;
4765 ; CFH -- CAN'T FIND KL HALT LOOP.
4766 ; CSK -- CAN'T START KL.
4767 ; DSF -- DTE-20 STATUS FAILURE.
4768 ; FRF -- FUNCTION READ FAILED.
4769 ; FWF -- FUNCTION WRITE FAILED.
4770 ; FXF -- FUNCTION EXECUTE FAILED.
4771 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 113
.KLCON -- KL CONTINUE SUBROUTINE 7710.11
4773 004736 .KLCON::
4774 004736 PUSH R1 ; SAVE R1 ON THE STACK
004736 010146 MOV R1,-(SP)
4775 004740 012701 000000G MOV #.KLFLG,R1 ; .FLAG WORD POINTER TO R1
4776 004744 .KLGO::
4777 004744 032711 002000 BIT #KF.SPM,(R1) ; .SINGLE PULSE MODE?
4778 004750 001027 BNE 30$ ; .YES -- JUST EXIT
4779 004752 032711 010000 BIT #KF.SIM,(R1) ; .NO -- SINGLE INSTRUCTION MODE?
4780 004756 001002 BNE 10$ ; .YES -- GO ON
4781 004760 CALL .STRUN ; .NO -- SET THE KL RUN FLOP
004760 004737 007346' JSR PC,.STRUN
4782 004764 10$:
4783 004764 012700 000024 MOV #FX.CON,R0 ; .SET THE CONTINUE BUTTON
4784 004770 CALL .FXCT ; .DO IT
004770 004737 004566' JSR PC,.FXCT
4785 004774 032711 100000 BIT #KF.CLK,(R1) ; .IS THE CLOCK RUNNING?
4786 005000 001002 BNE 20$ ; .YES -- EXIT
4787 005002 CALL .STCLK ; .NO -- START THE KL CLOCK
005002 004737 007246' JSR PC,.STCLK
4788 005006 20$:
4789 005006 011100 MOV (R1),R0 ; .GET ".KLFLG" INTO R0
4790 005010 005100 COM R0 ; .INVERT IT
4791 005012 032700 140000 BIT #KF.CLK!KF.RUN,R0 ; .IS THE KL RUNNING??
4792 005016 001004 BNE 30$ ; .NO -- JUST EXIT
4793 005020 052711 000200 BIS #KF.CON,(R1) ; .YES -- KL IS NOW CONTINUEABLE
4794 005024 105037 000000G CLRB .NOHLT ; .LET RSX20F CATCH KL HALTS
4795 005030 30$:
4796 005030 POP R1 ; .RESTORE R1
005030 012601 MOV (SP)+,R1
4797 005032 RETURN ; EXIT
005032 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 114
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
4799 .SBTTL .KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
4800
4801 ;+
4802 ; .KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP
4803 ; AND SYNCH THE EBOX CLOCK LOW.
4804 ;
4805 ; THIS SUBROUTINE CLEARS THE KL RUN FLOP, GETS THE KL INTO
4806 ; THE MICROCODE HALT LOOP, AND TURNS THE KL CLOCK OFF.
4807 ;
4808 ; SEQUENCE OF OPERATION:
4809 ;
4810 ; (A) THE KL RUN FLOP IS TURNED OFF,
4811 ; (B) THE KL IS MOVED INTO THE UCODE HALT LOOP,
4812 ; (C) A SMALL WAIT IS TIMED OUT (TO LET KL I/O SETTLE)
4813 ; (D) THE KL CLOCK IS TURNED OFF,
4814 ; (E) THE KL CLOCK IS SYNCHED LOW.
4815 ;
4816 ; INPUT ARGUMENTS:
4817 ;
4818 ; NONE.
4819 ;
4820 ; OUTPUT ARGUMENTS:
4821 ;
4822 ; NONE.
4823 ;
4824 ; ERROR CODES RETURNED:
4825 ;
4826 ; CFH -- CAN'T FIND KL HALT LOOP.
4827 ; DSF -- DTE-20 STATUS FAILURE.
4828 ; FWF -- FUNCTION WRITE FAILED.
4829 ; FXF -- FUNCTION EXECUTE FAILED.
4830 ;
4831 ; NOTE: THIS SUBROUTINE EXITS WITH THE KL CLOCK OFF.
4832 ;-
4833
4834 005034 .KLHLT::
4835 005034 PUSH <R0,R1,R2> ; SAVE CALLER'S REGISTERS
005034 010046 MOV R0,-(SP)
005036 010146 MOV R1,-(SP)
005040 010246 MOV R2,-(SP)
4836 005042 CALL .DTDW1 ; ...READ DIAG WORD 1
005042 004737 003530' JSR PC,.DTDW1
4837 005046 032700 004000 BIT #D1.CES,R0 ; ...IS CLOCK ERROR STOP UP?
4839 005052 001016 BNE 40$ ; ...YES -- JUST EXIT
4841 005054 CALL .CLRFF ; ...NO -- CLEAR THE RUN FLOP
005054 004737 003420' JSR PC,.CLRFF
4842 005060 012701 000024 MOV #^D20,R1 ; ...SET UP WAIT COUNT
4843
4844 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 115
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
4846 ; [CONTINUED FROM THE PREVIOUS PAGE]
4847
4848 005064 10$:
4849 005064 CALL .DTDW1 ; ...READ THE DTE-20 DIAG WORD 1
005064 004737 003530' JSR PC,.DTDW1
4850 005070 032700 001000 BIT #D1.HLP,R0 ; ...IN THE HALT LOOP YET?
4854 005074 001001 BNE 20$ ; ...YES -- EXIT
4855 005076 077106 SOB R1,10$ ; ...NO -- TRY TILL COUNT EXHAUSTED
4856 005100 20$:
4857 005100 005701 TST R1 ; ...IS R1 .GT. 0?
4858 005102 003407 BLE 50$ ; ...NO -- GO MOVE THE CLOCK MANUALLY
4859 005104 30$:
4860 005104 CALL .STPXC ; ...STOP THE KL CLOCK
005104 004737 007316' JSR PC,.STPXC
4861 005110 40$:
4862 005110 POP <R2,R1,R0> ; ...RESTORE CALLER'S REGISTERS
005110 012602 MOV (SP)+,R2
005112 012601 MOV (SP)+,R1
005114 012600 MOV (SP)+,R0
4863 005116 CALLR .SYNXC ; SYNCH THE EBOX CLOCK LOW AND EXIT
005116 000137 007470' JMP .SYNXC
4864 ;
4865
4866 ; GET HERE IF WE CAN'T GET INTO HALT LOOP NORMALLY.
4867 ; THIS MEANS THAT:
4868 ;
4869 ; (A) MICROCODE WASN'T RUNNING, OR
4870 ; (B) MICROCODE WASN'T LOADED.
4871
4872 005122 50$:
4873 005122 CALL .STPXC ; ...MAKE SURE THE CLOCK IS OFF
005122 004737 007316' JSR PC,.STPXC
4874 005126 012702 000012 MOV #^D10,R2 ; ...ITERATION COUNT TO R2
4875 005132 60$:
4876 005132 012700 000310 MOV #^D200,R0 ; ...200 (DECIMAL) CLOCKS PER PASS
4877 005136 CALL .BURST ; ...BURST THE CLOCK
005136 004737 003340' JSR PC,.BURST
4878 005142 CALL .DTDW1 ; ...READ DTE-20 DIAG WORD 1
005142 004737 003530' JSR PC,.DTDW1
4879 005146 032700 001000 BIT #D1.HLP,R0 ; ...ARE WE IN HALT LOOP NOW?
4883 005152 001354 BNE 30$ ; ...YES -- GO STOP AND SYNCH THE CLOCK
4884 005154 077212 SOB R2,60$ ; ...NO -- LOOP TILL COUNT EXHAUSTED
4885 005156 KLHCFH:
4886 005156 ERROR$ CFH ; ERROR -- CAN'T FIND HALT LOOP
005156 012746 011670 MOV #^RCFH,-(SP)
005162 104400 TRAP TC.ERR
4887 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 116
.KLST -- SUBROUTINE TO START THE KL 7512.08
4889 .SBTTL .KLST -- SUBROUTINE TO START THE KL 7512.08
4890
4891 ; .KLST -- SUBROUTINE TO START THE KL.
4892 ;
4893 ; THIS SUBROUTINE STARTS THE KL FROM THE HALT LOOP AT THE ADDRESS
4894 ; POINTED T0 BY R1 IN THE CALL.
4895 ;
4896 ; SEQUENCE OF OPERATION:
4897 ;
4898 ; (A) THE KL IS STOPPED IN THE HALT LOOP,
4899 ; (B) THE PC WORD IS LOADED INTO THE AR REGISTER,
4900 ; (C) THE KL IS ALLOWED TO RUN THRU ".KLCON".
4901 ;
4902 ; INPUT ARGUMENTS:
4903 ;
4904 ; R1 POINTS TO A 23 BIT KL ADDRESS
4905 ;
4906 ; OUTPUT ARGUMENTS:
4907 ;
4908 ; NONE.
4909 ;
4910 ; ERROR CODES RETURNED:
4911 ;
4912 ; CFH -- CAN'T FIND KL HALT LOOP.
4913 ; CSK -- CAN'T START KL.
4914 ; DSF -- DTE-20 STATUS FAILURE.
4915 ; FRF -- FUNCTION READ FAILED.
4916 ; FWF -- FUNCTION WRITE FAILED.
4917 ; FXF -- FUNCTION EXECUTE FAILED.
4918 ;
4919 ; NOTE:
4920 ;
4921 ; THIS SUBROUTINE IS DEPENDENT UPON MICROCODE VERSION 122.
4922 ;-
4923
4924 005164 .KLST::
4925 005164 PUSH R1 ; SAVE POINTER ON THE STACK
005164 010146 MOV R1,-(SP)
4926 005166 CALL .KLHLT ; .HALT THE KL
005166 004737 005034' JSR PC,.KLHLT
4927 005172 011601 MOV (SP),R1 ; .GET THE POINTER
4928 005174 012700 000176 MOV #FW.LAR,R0 ; .LOAD THE AR REGISTER
4929 005200 CALL .FWRIT ; .DO IT
005200 004737 004444' JSR PC,.FWRIT
4930 005204 012701 000000G MOV #.KLFLG,R1 ; .POINT TO ".KLFLG"
4931 005210 000655 BR .KLGO ; .AND FINISH THE START
4932 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 117
.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
4934 .SBTTL .KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
4935
4936 ;+
4937 ; .KLSTP -- SUBROUTINE TO PUT THE KL INTO THE HALT LOOP.
4938 ;
4939 ; THIS SUBROUTINE WILL PUT THE KL INTO THE MICROCODE HALT LOOP
4940 ; AND EXIT WITH THE KL CLOCK RUNNING.
4941 ;
4942 ; INPUT ARGUMENTS:
4943 ;
4944 ; NONE.
4945 ;
4946 ; OUTPUT ARGUMENTS:
4947 ;
4948 ; NONE.
4949 ;
4950 ; ERROR CODES RETURNED:
4951 ;
4952 ; CFH -- CAN'T FIND HALT LOOP.
4953 ; DSF -- DTE-20 STATUS FAILURE.
4954 ; FXF -- FUNCTION EXECUTE FAILED.
4955 ;-
4956
4957
4958 005212 .KLSTP::
4959 005212 032737 100000 000000G BIT #KF.CLK,.KLFLG ; IS THE CLOCK OFF?
4960 005220 001001 BNE 10$ ; NO -- GO ON
4961 005222 000704 BR .KLHLT ; YES -- HALT THE KL
4962 ;
4963 005224 10$:
4964 005224 PUSH <R0,R1> ; SAVE R0 AND R1 ON THE STACK
005224 010046 MOV R0,-(SP)
005226 010146 MOV R1,-(SP)
4965 005230 012701 000144 MOV #^D100,R1 ; ..SETUP WAIT COUNT
4966 005234 CALL .CLRFF ; ..CLEAR THE RUN FLOP
005234 004737 003420' JSR PC,.CLRFF
4967 005240 20$:
4968 005240 CALL .DTDW1 ; ..READ DIAG WORD 1
005240 004737 003530' JSR PC,.DTDW1
4969 005244 032700 001000 BIT #D1.HLP,R0 ; ..ARE WE IN THE HALT LOOP?
4973 005250 001001 BNE 30$ ; ..YES -- GO ON
4974 005252 077106 SOB R1,20$ ; ..NO -- KEEP TRYING
4975 005254 30$:
4976 005254 005701 TST R1 ; ..IS R1 .GT. 0?
4977 005256 003403 BLE KLSCFH ; ..NO -- GIVE "CFH" ERROR
4978 005260 POP <R1,R0> ; ..YES -- RESTORE REGISTERS
005260 012601 MOV (SP)+,R1
005262 012600 MOV (SP)+,R0
4979 005264 RETURN ; TO CALLER
005264 000207 RTS PC
4980 005266 KLSCFH:
4981 005266 ERROR$ CFH ; ERROR -- CAN'T FIND KL HALT LOOP
005266 012746 011670 MOV #^RCFH,-(SP)
005272 104400 TRAP TC.ERR
4982 ;
4983 004242 .PSECT DATA
4984 004242 STPCI:
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 117-1
.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
4985 004242 IOKL$ CONO KLP,,400000
004242 000 000 .BYTE $$A,$$B
004244 002 176 .BYTE $$C,$$D
004246 017 000 .BYTE $$E,$$F
4986 005274 .PSECT
4987 005274 KLPSTP::
4988 005274 PUSH R0
005274 010046 MOV R0,-(SP)
4989 005276 012700 004242' MOV #STPCI,R0
4990 005302 CALL .EXCTF
005302 004737 004150' JSR PC,.EXCTF
4991 005306 POP R0
005306 012600 MOV (SP)+,R0
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 118
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
4993 .SBTTL .KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
4994
4995 ;+
4996 ; .KLRST -- SUBROUTINE TO RESTART THE KL.
4997 ;
4998 ; THIS SUBROUTINE WILL RESTART THE KL AS DIRECTED BY ".SVKLF",
4999 ; THE SAVED KL STATE FLAG WORD.
5000 ;
5001 ; INPUT ARGUMENTS:
5002 ;
5003 ; THE SAVED COPY OF ".KLFLG" IS IN ".SVKLF"
5004 ;
5005 ; OUTPUT ARGUMENTS:
5006 ;
5007 ; ".SVKLF" IS CLEARED.
5008 ;
5009 ; ERROR CODES RETURNED:
5010 ;
5011 ; CFH -- CAN'T FIND KL HALT LOOP.
5012 ; DSF -- DTE-20 STATUS FAILURE.
5013 ; FRF -- FUNCTION READ FAILED.
5014 ; FWF -- FUNCTION WRITE FAILED.
5015 ; FXF -- FUNCTION EXECUTE FAILED.
5016 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 119
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
5018 005310 .KLRST::
5019 005310 PUSH <R1,R0> ; SAVE R0 AND R1
005310 010146 MOV R1,-(SP)
005312 010046 MOV R0,-(SP)
5020 005314 013701 000260' MOV .SVKLF,R1 ; ..GET COPY OF OLD FLAGS
5021 005320 032701 013000 BIT #KF.SPM!KF.SIM!KF.BRM,R1
5022 005324 001016 BNE 20$ ; ..BRANCH IF BURST, SINGLE INSTRUCTION OR PULSE MODE
5023 005326 005101 COM R1 ; ..INVERT R1
5024 005330 032701 140000 BIT #KF.RUN!KF.CLK,R1
5025 005334 001011 BNE 10$ ; ..BRANCH IF NOT RUNNING
5026 005336 CALL .STRUN ; ..SET THE RUN FLOP
005336 004737 007346' JSR PC,.STRUN
5027 005342 012700 000024 MOV #FX.CON,R0 ; ..NOW DO THE CONTINUE BUTTON
5028 005346 CALL .FXCT ; ..SO
005346 004737 004566' JSR PC,.FXCT
5029 005352 013701 000260' MOV .SVKLF,R1 ; ..ELSE GET THE WORD AGAIN
5030 005356 000406 BR 30$ ; ..AND GO AWAY
5031 ;
5032 005360 10$:
5033 005360 005101 COM R1 ; ..STRAIGHTEN R1 OUT
5034 005362 20$:
5035 005362 032701 040000 BIT #KF.RUN,R1 ; ..WAS RUN FLOP SET?
5036 005366 001402 BEQ 30$ ; ..NO -- GO ON
5037 005370 CALL .STRUN ; ..YES -- SET THE RUN FLOP
005370 004737 007346' JSR PC,.STRUN
5038 005374 30$:
5039 005374 032701 100000 BIT #KF.CLK,R1 ; ..WAS CLOCK RUNNING?
5040 005400 001413 BEQ 40$ ; ..NO -- JUST EXIT
5041 005402 032737 100000 000000G BIT #KF.CLK,.KLFLG ; ..YES -- IS THE CLOCK ALREADY ON?
5042 005410 001007 BNE 40$ ; ..YES -- JUST EXIT
5043 005412 CALL .STCLK ; ..NO -- START THE CLOCK
005412 004737 007246' JSR PC,.STCLK
5044 005416 032701 040000 BIT #KF.RUN,R1 ; ..DID WE LET IT RUN ?
5045 005422 001402 BEQ 40$ ; ..NO -- JUST EXIT
5046 005424 105037 000000G CLRB .NOHLT ; ..YES -- LET RSX20F CHECK FOR HALTS
5047 005430 40$:
5048 005430 POP <R0,R1> ; ..RESTORE R0 AND R1
005430 012600 MOV (SP)+,R0
005432 012601 MOV (SP)+,R1
5049 005434 005037 000260' CLR .SVKLF ; RESET ".SVKLF"
5050 005440 RETURN ; AND EXIT
005440 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 120
.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
5052 .SBTTL .KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
5053
5054 ;+
5055 ; .KLXCT -- SUBROUTINE TO EXECUTE A KL INSTRUCTION.
5056 ;
5057 ; THIS SUBROUTINE LOADS A KL INSTRUCTION INTO THE AR REGISTER
5058 ; AND CAUSES THAT INSTRUCTION TO BE EXECUTED.
5059 ;
5060 ; SEQUENCE OF OPERATION:
5061 ;
5062 ; (A) THE KL IS STOPPED IN THE HALT LOOP WITH THE CLOCK OFF,
5063 ; (B) INSTRUCTION TO BE EXECUTED IS LOADED INTO THE AR,
5064 ; (C) THE KL CONTINUE FLOP IS SET.
5065 ;
5066 ; INPUT ARGUMENTS:
5067 ;
5068 ; R1 POINTS TO A 36 BIT KL INSTRUCTION WORD
5069 ;
5070 ; OUTPUT ARGUMENTS:
5071 ;
5072 ; NONE.
5073 ;
5074 ; ERROR CODES RETURNED:
5075 ;
5076 ; CFH -- CAN'T FIND KL HALT LOOP.
5077 ; DSF -- DTE-20 STATUS FAILURE.
5078 ; FRF -- FUNCTION READ FAILED.
5079 ; FWF -- FUNCTION WRITE FAILED.
5080 ; FXF -- FUNCTION EXECUTE FAILED.
5081 ;-
5082
5083 005442 .KLXCT::
5084 005442 CALL .KLHLT ; STOP THE KL IN THE HALT LOOP
005442 004737 005034' JSR PC,.KLHLT
5085 005446 012700 000176 MOV #FW.LAR,R0 ; LOAD THE AR REGISTER
5086 005452 CALL .FWRIT ; DO IT
005452 004737 004444' JSR PC,.FWRIT
5087 005456 012700 000024 MOV #FX.CON,R0 ; SET THE "CONTINUE BUTTON"
5088 005462 CALLR .FXCT ; DO IT AND RETURN
005462 000137 004566' JMP .FXCT
5089 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 121
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
5091 .SBTTL .LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
5092
5093 ;+
5094 ; .LDBRC -- SUBROUTINE TO STOP THE KL CLOCK AND LOAD THE
5095 ; MBOX BURST COUNT REGISTER AS IN ".LDBRG".
5096 ; .LDBRG -- SUBROUTINE TO LOAD THE MBOX CLOCK BURST COUNTER.
5097 ;
5098 ; THIS SUBROUTINE LOADS THE KL MBOX BURST COUNT REGISTER
5099 ; WITH THE COUNT PASSED TO IT IN R0.
5100 ;
5101 ; INPUT ARGUMENTS:
5102 ;
5103 ; R0 CONTAINS THE CLOCK COUNT
5104 ;
5105 ; OUTPUT ARGUMENTS:
5106 ;
5107 ; NONE.
5108 ;
5109 ; ERROR CODES RETURNED:
5110 ;
5111 ; FWF -- FUNCTION WRITE FAILED.
5112 ; FXF -- FUNCTION EXECUTE FAILED.
5113 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 122
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
5115 005466 .LDBRC::
5116 005466 CALL .STPXC ; STOP THE KL CLOCK
005466 004737 007316' JSR PC,.STPXC
5117 005472 .LDBRG::
5118 005472 PUSH <R1,R0> ; SAVE R1 AND R0 ON THE STACK
005472 010146 MOV R1,-(SP)
005474 010046 MOV R0,-(SP)
5119 005476 CALL .CLDFB ; ..CLEAR THE DFW BUFFERS
005476 004737 003370' JSR PC,.CLDFB
5120 005502 011600 MOV (SP),R0 ; ..GET THE BURST COUNT FROM THE STACK
5121 005504 042700 177760 BIC #177760,R0 ; ..CLEAR UNUSED BITS
5122 005510 010037 000336' MOV R0,.DFWB ; ..SET RIGHT COUNT IN THE BUFFER
5123 005514 012700 000104 MOV #FW.LBR,R0 ; ..SET UP TO LOAD THE RIGHT HALF
5124 005520 005001 CLR R1 ; ..CLEAR R1
5125 005522 CALL .FWRIT ; ..DO IT
005522 004737 004444' JSR PC,.FWRIT
5126 005526 011600 MOV (SP),R0 ; ..GET THE ORIGINAL COUNT FROM THE STACK
5127 005530 012701 177774 MOV #-^D4,R1 ; ..SHIFT COUNT TO R1
5128 005534 CALL .SHIFT ; ..SHIFT IT RIGHT 4 PLACES
005534 004737 011130' JSR PC,.SHIFT
5129 005540 042700 177760 BIC #177760,R0 ; ..CLEAR UNUSED BITS
5130 005544 010037 000336' MOV R0,.DFWB ; ..PUT THE HIGH COUNT IN THE WRITE BUFFER
5131 005550 005001 CLR R1 ; ..CLEAR R1
5132 005552 012700 000106 MOV #FW.LBL,R0 ; ..SET UP TO LOAD THE LEFT HALF
5133 005556 CALL .FWRIT ; ..DO IT
005556 004737 004444' JSR PC,.FWRIT
5134 005562 POP <R0,R1> ; ..RESTORE R0 AND R1
005562 012600 MOV (SP)+,R0
005564 012601 MOV (SP)+,R1
5135 005566 RETURN ; AND LEAVE
005566 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 123
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
5137 .SBTTL .LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
5138
5139 ;+
5140 ; .LDCLK -- SUBROUTINE TO LOAD THE KL CLOCK CONTROL REGISTERS.
5141 ; .LDPAR -- SUBROUTINE TO LOAD THE KL PARITY CONTROL REGISTERS.
5142 ;
5143 ; THESE SUBROUTINES SET UP THE KL CLOCK SOURCE, RATE, AND
5144 ; DISTRIBUTION REGISTERS OR THE PARITY CONTROL REGISTERS.
5145 ;
5146 ; SEQUENCE OF OPERATION:
5147 ;
5148 ; .LDCLK:
5149 ;
5150 ; (A) THE KL CLOCK SOURCE, RATE, AND DISTRIBUTION
5151 ; PARAMETERS ARE SET IN THE CLOCK CONTROL REGISTERS,
5152 ; (B) THE PARAMETERS WRITTEN IN (A) ARE SAVED IN THE
5153 ; CLOCK STATUS WORD (".CLKWD").
5154 ;
5155 ; .LDPAR:
5156 ;
5157 ; (A) THE KL INTERNAL PARITY CONTROL BITS ARE WRITTEN INTO THE
5158 ; PARITY CONTROL REGISTER,
5159 ; (B) THE CONTROL BITS WITTEN IN (A) ARE SAVED IN THE PARITY
5160 ; CONTROL WORD (".PSCWD").
5161 ;
5162 ; INPUT ARGUMENTS:
5163 ;
5164 ; R1 POINTS TO A PARAMETER WORD
5165 ;
5166 ; THE CLOCK PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
5167 ;
5168 ; !========================================!
5169 ; ! DISTRIBUTION ! SOURCE AND RATE !
5170 ; !========================================!
5171 ;
5172 ; THE PARITY PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
5173 ;
5174 ; !========================================!
5175 ; ! CONTROL BITS ! CLOCK STOP BITS !
5176 ; !========================================!
5177 ;
5178 ; OUTPUT ARGUMENTS:
5179 ;
5180 ; R0 CONTAINS A COPY OF THE UPDATED PARAMTER WORD
5181 ;
5182 ; ERROR CODES RETURNED:
5183 ;
5184 ; FWF -- FUNCTION WRITE FAILED.
5185 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 124
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
5187 .ENABL LSB
5188
5189 005570 .LDCLK::
5190 005570 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
005570 004537 010316' JSR R5,.REGSV
5191 005574 012703 000012' MOV #.CLKWD,R3 ; CONTROL WORD POINTER TO R3
5192 005600 012704 000110 MOV #FW.CSR,R4 ; BASE CLOCK WRITE TO R4
5193 005604 000406 BR 10$ ; DO COMMON CODE
5194 ;
5195 005606 .LDPAR::
5196 005606 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
005606 004537 010316' JSR R5,.REGSV
5197 005612 012703 000236' MOV #.PSCWD,R3 ; CONTROL WORD POINTER TO R3
5198 005616 012704 000114 MOV #FW.IPE,R4 ; BASE PARITY WRITE TO R4
5199 ; FALL INTO COMMON CODE
5200 005622 10$:
5201 005622 010102 MOV R1,R2 ; CALLER'S PARAMETER POINTER TO R2
5202 005624 CALL .CLDFW ; CLEAR THE WRITE BUFFER
005624 004737 003404' JSR PC,.CLDFW
5203 005630 005001 CLR R1 ; CLEAR R1
5204 005632 111237 000336' MOVB (R2),.DFWB ; SET LOW BYTE PARAMETER
5205 005636 010400 MOV R4,R0 ; DFW CODE TO R0
5206 005640 CALL .FWRIT ; DO IT
005640 004737 004444' JSR PC,.FWRIT
5207 005644 112223 MOVB (R2)+,(R3)+ ; MARK THE NEW LOW BYTE CODE
5208 005646 005724 TST (R4)+ ; NEXT WRITE CODE
5209 005650 111210 MOVB (R2),(R0) ; SET THE HIGH BYTE PARAMETERS
5210 005652 010400 MOV R4,R0 ; DFW CODE TO R0
5211 005654 CALL .FWRIT ; DO IT
005654 004737 004444' JSR PC,.FWRIT
5212 005660 111223 MOVB (R2),(R3)+ ; MARK THE NEW HIGH BYTE CODE
5213 005662 014300 MOV -(R3),R0 ; PUT A COPY IN R0
5214 005664 RETURN ; EXIT
005664 000207 RTS PC
5215
5216 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 125
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
5218 .SBTTL .LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
5219
5220 ;+
5221 ; .LDCRA -- SUBROUTINE TO LOAD A 12 BIT ADDRESS INTO THE
5222 ; KL CRAM ADDRESS REGISTER.
5223 ;
5224 ; THIS SUBROUTINE LOADS A 12 BIT CRAM ADDRESS INTO THE
5225 ; KL CRAM ADDRESS REGISTER.
5226 ;
5227 ; SEQUENCE OF OPERATION:
5228 ;
5229 ; (A) THE KL CLOCK IS TURNED OFF (BY (B)),
5230 ; (B) THE KL CRAM ADDRESS IS CLEARED BY ".RESET",
5231 ; (C) THE ADDRESS IS LOADED INTO CRAM DIAG ADDR.
5232 ;
5233 ; INPUT ARGUMENTS:
5234 ;
5235 ; R0 CONTAINS THE CRAM ADDRESS TO BE LOADED
5236 ;
5237 ; OUTPUT ARGUMENTS:
5238 ;
5239 ; NONE.
5240 ;
5241 ; ERROR CODES RETURNED:
5242 ;
5243 ; FWF -- FUNCTION WRITE FAILED.
5244 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 126
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
5246 005666 .LDCRA::
5247 005666 042700 170000 BIC #170000,R0 ; CLEAR UNUSED BITS
5248 005672 PUSH <R1,R0> ; PUT R0 AND R1 ON THE STACK
005672 010146 MOV R1,-(SP)
005674 010046 MOV R0,-(SP)
5249 005676 CALL .RESTP ; ..CLEAR CRAM DIAG ADDR AND CRAM ADDR
005676 004737 007146' JSR PC,.RESTP
5250 ; ..ALSO RETAIN CLOCK AND PARITY CONTROL
5251 005702 CALL .CLDFW ; ..CLEAR THE FW BUFFER
005702 004737 003404' JSR PC,.CLDFW
5252 005706 012700 000336' MOV #.DFWB,R0 ; ..SET UP THE BUFFER ADDRESS
5253 005712 011610 MOV (SP),(R0) ; ..LOAD THE ADDRESS FROM THE STACK
5254 005714 001427 BEQ 10$ ; ..LEAVE NOW IF ZERO
5255 005716 042710 174077 BIC #174077,(R0) ; ..CLEAR UNWANTED BITS
5256 005722 012701 000030 MOV #^D24,R1 ; ..SHIFT COUNT TO R1
5257 005726 CALL .TPSHI ; ..SHIFT IT OVER
005726 004737 011772' JSR PC,.TPSHI
5258 005732 005001 CLR R1 ; ..CLEAR R1
5259 005734 012700 000124 MOV #FW.CA2,R0 ; ..SET UP TO WRITE IT
5260 005740 CALL .FWRIT ; ..DO IT
005740 004737 004444' JSR PC,.FWRIT
5261 005744 011610 MOV (SP),(R0) ; ..GET ADDRESS FROM THE STACK AGAIN
5262 005746 042710 177700 BIC #177700,(R0) ; ..CLEAR UNWANTED BITS
5263 005752 012701 000036 MOV #^D30,R1 ; ..SHIFT COUNT TO R1
5264 005756 CALL .TPSHI ; ..SHIFT THAT OVER
005756 004737 011772' JSR PC,.TPSHI
5265 005762 005001 CLR R1 ; ..CLEAR R1
5266 005764 012700 000122 MOV #FW.CA1,R0 ; ..SET UP TO WRITE IT
5267 005770 CALL .FWRIT ; ..DO IT
005770 004737 004444' JSR PC,.FWRIT
5268 005774 10$:
5269 005774 POP <R0,R1> ; ..RESTORE REGISTERS
005774 012600 MOV (SP)+,R0
005776 012601 MOV (SP)+,R1
5270 006000 RETURN ; EXIT TO CALLER
006000 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 127
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
5272 .SBTTL .MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
5273
5274 ;+
5275 ; .MRCLR -- SUBROUTINE TO CLEAR THE KL IN THE MASTER RESET STATE.
5276 ;
5277 ; THIS SUBROUTINE SETS THE KL MASTER RESET FLOP AND ALLOWS THE
5278 ; KL CLOCK TO RUN, CLEARING THE KL.
5279 ;
5280 ; SEQUENCE OF OPERATION:
5281 ;
5282 ; (A) THE MASTER RESET FLOP IS SET,
5283 ; (B) THE KL CLOCK IS ALLOWED TO RUN FOR A SHORT TIME,
5284 ; (C) THE NXM TIMERS ARE RESYNCHRONIZED,
5285 ; (D) THE KL CLOCK IS STOPPED AND SYNCHED,
5286 ; (E) THE MASTER RESET FLOP IS CLEARED.
5287 ;
5288 ; INPUT ARGUMENTS:
5289 ;
5290 ; NONE.
5291 ;
5292 ; OUTPUT ARGUMENTS:
5293 ;
5294 ; NONE.
5295 ;
5296 ; ERROR CODES RETURNED:
5297 ;
5298 ; FRF -- FUNCTION READ FAILED.
5299 ; FWF -- FUNCTION WRITE FAILED.
5300 ; FXF -- FUNCTION EXECUTE FAILED.
5301 ;-
5302
5303 006002 .MRCLR::
5304 006002 PUSH <R0,R1,R2> ; SAVE REGISTERS
006002 010046 MOV R0,-(SP)
006004 010146 MOV R1,-(SP)
006006 010246 MOV R2,-(SP)
5305 006010 012700 000016 MOV #FX.SMR,R0 ; ...SET MASTER RESET FLOP
5306 006014 CALL .FXCT ; ...DO IT
006014 004737 004566' JSR PC,.FXCT
5307 006020 052737 020000 000000G BIS #KF.MRS,.KLFLG ; ...SET THE FLAG
5308 006026 CALL .STCLF ; ...FORCE START THE KL CLOCK
006026 004737 007254' JSR PC,.STCLF
5309 006032 012701 000764 MOV #^D500,R1 ; ...SET UP WAIT COUNT
5310
5311 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 128
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
5313 ; [CONTINUED FROM THE PREVIOUS PAGE]
5314
5315 006036 10$:
5316 006036 077101 SOB R1,10$ ; ...STALL A WHILE
5317 006040 CALL .STPXC ; ...STOP THE KL CLOCK
006040 004737 007316' JSR PC,.STPXC
5318 006044 CALL .CLDFB ; ...CLEAR THE FUNCTION BUFFERS
006044 004737 003370' JSR PC,.CLDFB
5319 006050 012700 000160 MOV #FW.CHN,R0 ; ...CLEAR THE CHANNELS
5320 006054 CALL .FWRIT ; ...DO IT
006054 004737 004444' JSR PC,.FWRIT
5321 006060 012702 000003 MOV #^D3,R2 ; ...LOOP COUNT TO R2
5322 006064 20$: ; ...HERE TO RESYNCH THE NXM TIMERS
5323 006064 005001 CLR R1 ; ...CLEAR R1
5324 006066 012700 000344 MOV #FR.162,R0 ; ...LOOK FOR [A CHANGE COMING L]
5325 006072 CALL .FREAD ; ...DO THE READ
006072 004737 004362' JSR PC,.FREAD
5326 006076 032710 000010 BIT #BIT03,(R0) ; ...IS IT THERE?
5330 006102 001405 BEQ 30$ ; ...YES -- GO ON
5331 006104 012700 000004 MOV #FX.MBC,R0 ; ...NO -- STEP THE CLOCK
5332 006110 CALL .FXCT ; ...DO IT
006110 004737 004566' JSR PC,.FXCT
5333 006114 077215 SOB R2,20$ ; ...LOOP THREE TIMES MAX
5334 006116 30$:
5335 006116 CALL .SYNXC ; ...SYNCH THE CLOCK
006116 004737 007470' JSR PC,.SYNXC
5336 006122 012700 000014 MOV #FX.CMR,R0 ; ...CLEAR MASTER RESET FLOP
5337 006126 CALL .FXCT ; ...DO IT
006126 004737 004566' JSR PC,.FXCT
5338 006132 042737 020300 000000G BIC #KF.MRS!KF.CON!KF.CES,.KLFLG
5339 ; ...CLEAR THE FLAGS
5340 006140 POP <R2,R1,R0> ; ...RESTORE REGISTERS
006140 012602 MOV (SP)+,R2
006142 012601 MOV (SP)+,R1
006144 012600 MOV (SP)+,R0
5341 006146 RETURN ; EXIT TO CALLER
006146 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 129
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75
5343 .SBTTL .RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 7510.09
5344
5345 ;+
5346 ; .RDCPP -- SUBROUTINE TO READ THE KL CLOCK AND INTERNAL PARITY
5347 ; CHECKING PARAMETERS.
5348 ;
5349 ; THIS SUBROUTINE READS THE KL CLOCK SOURCE, RATE AND DISTRIBUTION
5350 ; ENABLES AS WELL AS THE KL INTERNAL PARITY ENABLES AND MAINTAINS
5351 ; THEM IN ".CLKWD" AND ".PSCWD", RESPECTIVELY.
5352 ;
5353 ; INPUT ARGUMENTS:
5354 ;
5355 ; NONE.
5356 ;
5357 ; OUTPUT ARGUMENTS:
5358 ;
5359 ; ".CLKWD" AND ".PSCWD" CONTAIN THE UPDATED CLOCK AND
5360 ; PARITY ENABLES.
5361 ;
5362 ; ERROR CODES RETURNED:
5363 ;
5364 ; FRF -- FUNCTION READ FAILED.
5365 ;-
5366
5367 006150 .RDCPP::
5368 006150 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
006150 004537 010316' JSR R5,.REGSV
5369 006154 PUSH R0 ; R0 TOO
006154 010046 MOV R0,-(SP)
5370 006156 012704 000004 MOV #^D4,R4 ; .USE R4 AS A COUNTER
5371 006162 012703 004270' MOV #RDCPT1,R3 ; .BIT TEST TABLE POINTER TO R3
5372 006166 012705 004260' MOV #RDCPT3,R5 ; .SAVE AREA POINTER TO R5
5373 006172 10$:
5374 006172 112300 MOVB (R3)+,R0 ; .FR CODE TO R0
5375 006174 005001 CLR R1 ; .CLEAR R1
5376 006176 CALL .FREAD ; .READ A WORD
006176 004737 004362' JSR PC,.FREAD
5377 006202 011025 MOV (R0),(R5)+ ; .SAVE BITS 20 THRU 35 IN TABLE
5378 006204 077406 SOB R4,10$ ; .READ ALL FOUR OF THEM
5379 006206 005037 000012' CLR .CLKWD ; .CLEAR THE OLD CLOCK PARAMETERS
5380 006212 005037 000236' CLR .PSCWD ; .AND THE OLD PARITY STOP PARAMETERS
5381
5382 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 130
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75
5384 ; [CONTINUED FROM THE PREVIOUS PAGE]
5385
5386 006216 012700 000004 MOV #^D4,R0 ; .DO OUTER LOOP 4 TIMES
5387 006222 012705 004260' MOV #RDCPT3,R5 ; .KL SAVE AREA POINTER TO R5
5388 006226 20$:
5389 006226 012704 000004 MOV #^D4,R4 ; .DO INNER LOOP 4 TIMES
5390 006232 012702 004250' MOV #RDCPT2,R2 ; .KL MASK POINTER TO R2
5391 006236 30$:
5392 006236 012701 000012' MOV #.CLKWD,R1 ; .CLOCK WORD POINTER TO R1
5393 006242 020427 000002 CMP R4,#^D2 ; .IS INNER LOOP COUNT .GT. 2?
5394 006246 101004 BHI 50$ ; .YES -- CONTINUE
5395 006250 001001 BNE 40$ ; .NO -- IS IT .LT. 2?
5396 006252 005115 COM (R5) ; .NO -- INVERT THE WORD SO REST OF CODE WORKS
5397 006254 40$:
5398 006254 012701 000236' MOV #.PSCWD,R1 ; .DO PARITY WORD
5399 006260 50$:
5400 006260 041311 BIC (R3),(R1) ; .FLUSH THE BIT IN THE FLAG WORD
5401 006262 031215 BIT (R2),(R5) ; .TEST THE BIT WE READ IN THIS WORD
5402 006264 001401 BEQ 60$ ; .BRANCH IF BIT IS OFF
5403 006266 051311 BIS (R3),(R1) ; .TURN THE BIT ON IN THE FLAG WORD
5404 006270 60$:
5405 006270 022322 CMP (R3)+,(R2)+ ; .ADVANCE THE MASK POINTERS
5406 006272 077417 SOB R4,30$ ; .DO INNER LOOP 4 TIMES
5407 006274 005125 COM (R5)+ ; .ADVANCE THE SAVE AREA POINTER
5408 ; .AND STRAIGHTEN THE WORD OUT
5409 006276 077025 SOB R0,20$ ; .DO OUTER LOOP 4 TIMES
5410 006300 POP R0 ; .GIVE R0 BACK
006300 012600 MOV (SP)+,R0
5411 006302 RETURN ; AND GO AWAY
006302 000207 RTS PC
5412
5413 ; THESE BITS ARE USED TO MASK THE DATA FROM THE FUNCTION READS
5414
5415 004250 .PSECT DATA
5416
5417 004250 RDCPT2:
5418 004250 000010 .WORD BIT03 ; KL BIT 32
5419 004252 000004 .WORD BIT02 ; KL BIT 33
5420 004254 000002 .WORD BIT01 ; KL BIT 34
5421 004256 000001 .WORD BIT00 ; KL BIT 35
5422
5423 ; THE DATA FROM THE FUNCTION READS ARE STORED IN THIS TABLE
5424
5425 004260 RDCPT3:
5426 004260 000000 .WORD 0 ; FR.104 BITS 20 - 35
5427 004262 000000 .WORD 0 ; FR.105 BITS 20 - 35
5428 004264 000000 .WORD 0 ; FR.106 BITS 20 - 35
5429 004266 000000 .WORD 0 ; FR.107 BITS 20 - 35
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 131
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75
5431 ; TABLES USED TO READ AND SET CLOCK AND PARITY ENABLES
5432 ; THE FIRST FOUR BYTES IN THIS TABLE ARE THE FUNCTION READ CODES
5433 ; TO BE EXECUTED, THE REMAINING WORDS ARE USED TO SET OR CLEAR
5434 ; THE APPROPRIATE BITS IN ".CLKWD" AND ".PSCWD"
5435
5436 004270 RDCPT1:
5437 004270 210 .BYTE FR.104
5438 004271 212 .BYTE FR.105
5439 004272 214 .BYTE FR.106
5440 004273 216 .BYTE FR.107
5441 004274 000010 .WORD CS.CS2 ; CLK SOURCE 2 H [FR.104 - BIT 32]
5442 ; [FW 44 - BIT 32]
5443 004276 000000 .WORD 0 ; BLANK [FR.104 - BIT 33]
5444 004300 000010 .WORD IP.FMP ; FM PAR EN L [FR.104 - BIT 34]
5445 ; [FW 46 - BIT 32]
5446 004302 000000 .WORD 0 ; BLANK [FR.104 - BIT 35]
5447 004304 000004 .WORD CS.CS1 ; CLK SOURCE 1 H [FR.105 - BIT 32]
5448 ; [FW 44 - BIT 33]
5449 004306 002000 .WORD CD.CRC ; CLK CRAM DIS H [FR.105 - BIT 33]
5450 ; [FW 45 - BIT 33]
5451 004310 000004 .WORD IP.CRP ; CRAM PAR EN L [FR.105 - BIT 34]
5452 ; [FW 46 - BIT 33]
5453 004312 000000 .WORD 0 ; BLANK [FR.105 BIT - 35]
5454 004314 000002 .WORD CR.CR2 ; CLK RATE 2 H [FR.106 - BIT 32]
5455 ; [FW 44 - BIT 34]
5456 004316 001000 .WORD CD.DPC ; CLK EDP DIS H [FR.106 - BIT 33]
5457 ; [FW 45 - BIT 34]
5458 004320 000002 .WORD IP.DRP ; DRAM PAR EN L [FR.106 - BIT 34]
5459 ; [FW 46 - BIT 34]
5460 004322 001000 .WORD AP.ARP ; AR/ARX PAR EN L [FR.106 - BIT 35]
5461 ; [FW 47 - BIT 34]
5462 004324 000001 .WORD CR.CR1 ; CLK RATE 1 H [FR.107 - BIT 32]
5463 ; [FW 44 - BIT 35]
5464 004326 000400 .WORD CD.CLC ; CLK CTL DIS H [FR.107 - BIT 33]
5465 ; [FW 45 - BIT 35]
5466 004330 000001 .WORD IP.FSS ; FS STOP EN L [FR.107 -BIT 34]
5467 ; [FW 46 - BIT 35]
5468 004332 000400 .WORD AP.EIP ; CLK ERR STOP EN L [FR.107 - BIT 35]
5469 ; [FW 47 - BIT 35]
5470
5471 006304 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 132
.RDCRD -- SUBROUTINE TO READ THE KL CRAM DISP FIELD 7511.22
5473 .SBTTL .RDCRD -- SUBROUTINE TO READ THE KL CRAM DISP FIELD 7511.22
5474
5475 ;+
5476 ; .RDCRD -- SUBROUTINE TO READ THE KL CRAM DISP FIELD.
5477 ;
5478 ; THIS SUBROUTINE READS AND RETURNS THE CONTENT OF THE CRAM DISP FIELD
5479 ; IN R0.
5480 ;
5481 ; INPUT ARGUMENTS:
5482 ;
5483 ; NONE.
5484 ;
5485 ; OUTPUT ARGUMENTS:
5486 ;
5487 ; R0 CONTAINS THE CURRENT CRAM DISP FIELD
5488 ;
5489 ; ERROR CODES RETURNED:
5490 ;
5491 ; FRF -- FUNCTION READ FAILED.
5492 ;-
5493
5494 006304 .RDCRD::
5495 006304 PUSH R1 ; SAVE R1 ON THE STACK
006304 010146 MOV R1,-(SP)
5496 006306 005001 CLR R1 ; .CLEAR R1
5497 006310 012700 000302 MOV #FR.CRD,R0 ; .FR CODE TO R0
5498 006314 CALL .FREAD ; .READ IT
006314 004737 004362' JSR PC,.FREAD
5499 006320 012701 177742 MOV #-^D30,R1 ; .SHIFT COUNT TO R1
5500 006324 CALL .TPSHI ; .SHIFT IT
006324 004737 011772' JSR PC,.TPSHI
5501 006330 042710 177700 BIC #^C77,(R0) ; .MASK UNWANTED BITS
5502 006334 011000 MOV (R0),R0 ; .COPY TO R0
5503 006336 POP R1 ; .RESTORE R1
006336 012601 MOV (SP)+,R1
5504 006340 RETURN ; AND GO AWAY
006340 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 133
.RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19
5506 .SBTTL .RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19
5507
5508 ;+
5509 ; .RDCRM -- SUBROUTINE TO READ A LOCATION IN THE KL CONTROL RAM.
5510 ; .RDCRR -- SUBROUTINE TO READ THE OUTPUT OF THE CRAM REGISTER.
5511 ;
5512 ; THIS SUBROUTINE WILL READ ONE LOCATION IN THE KL CONTROL RAM.
5513 ;
5514 ; SEQUENCE OF OPERATION:
5515 ;
5516 ; .RDCRM:
5517 ;
5518 ; (A) THE KL IS HALTED IN THE HALT LOOP,
5519 ; (B) THE CONTROL RAM ADDRESS IS LOADED,
5520 ;
5521 ; .RDCRR:
5522 ;
5523 ; (C) THE CONTENT OF THE CURRENT CRAM ADDRESS IS READ.
5524 ;
5525 ; INPUT ARGUMENTS:
5526 ;
5527 ; R0 CONTAINS THE CRAM ADDRESS TO BE READ IN THE CALL TO ".RDCRM".
5528 ;
5529 ; OUTPUT ARGUMENTS:
5530 ;
5531 ; R0 CONTAINS A POINTER TO THE RAM DATA.
5532 ;
5533 ; THE FOLLOWING IS A PICTURE OF THRE DATA RETURNED BY THIS SUBROUTINE:
5534 ;
5535 ; WORD CRAM DATA
5536 ; ---- ---------
5537 ; +==================================+
5538 ; 00 | CRAM BITS 68 THRU 78 |
5539 ; +----------------------------------+
5540 ; 01 | CRAM BITS 60 THRU 66 |
5541 ; +----------------------------------+
5542 ; 02 | CRAM BITS 48 THRU 59 |
5543 ; +----------------------------------+
5544 ; 03 | CRAM BITS 40 THRU 47 |
5545 ; +----------------------------------+
5546 ; 04 | CRAM BITS 28 THRU 39 |
5547 ; +----------------------------------+
5548 ; 05 | CRAM BITS 20 THRU 27 |
5549 ; +----------------------------------+
5550 ; 06 | CRAM BITS 08 THRU 19 |
5551 ; +----------------------------------+
5552 ; 07 | CRAM BITS 00 THRU 07 |
5553 ; +----------------------------------+
5554 ; 08 | CRAM DISP BITS 00 THRU 04 |
5555 ; +==================================+
5556 ;
5557 ; ERROR CODES RETURNED:
5558 ;
5559 ; CAE -- CRAM ADDRESS ERROR.
5560 ; FRF -- FUNCTION READ FAILED.
5561 ; FWF -- FUNCTION WRITE FAILED.
5562 ; FXF -- FUNCTION EXECUTE FAILED.
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 133-1
.RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19
5563 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 134
.RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19
5565 006342 .RDCRM::
5566 006342 PUSH <R1,R2,R3,R4> ; SAVE CALLER'S REGISTERS
006342 010146 MOV R1,-(SP)
006344 010246 MOV R2,-(SP)
006346 010346 MOV R3,-(SP)
006350 010446 MOV R4,-(SP)
5567 006352 020027 003777 CMP R0,#3777 ; ....[TCO 6.????]IS THE ADDRESS IN RANGE?
5568 006356 101052 BHI RDCRME ; ....NO -- GIVE "CRA" ERROR
5569 006360 CALL .LDCRA ; ....YES -- LOAD THE CRAM ADDRESS
006360 004737 005666' JSR PC,.LDCRA
5570 006364 012700 000006 MOV #FX.EBC,R0 ; ....NOW CLOCK THE DATA OUT OF THE RAM
5571 006370 CALL .FXCT ; ....DO IT
006370 004737 004566' JSR PC,.FXCT
5572 006374 .RDCRR:: ; ....HERE TO READ THE CRAM REGISTER
5573 006374 012702 000022' MOV #.CRAMR,R2 ; ....SAVE AREA POINTER TO R2
5574 006400 012704 000310 MOV #FR.CR4,R4 ; ....BASE READ TO R4
5575 006404 012703 000004 MOV #^D4,R3 ; ....USE R3 AS A COUNTER
5576 006410 10$:
5577 006410 005001 CLR R1 ; ....CLEAR R1
5578 006412 010400 MOV R4,R0 ; ....PASS THE FREAD CODE
5579 006414 CALL .FREAD ; ....DO IT
006414 004737 004362' JSR PC,.FREAD
5580 006420 012022 MOV (R0)+,(R2)+ ; ....LOAD CALLER'S BUFFER FROM OURS
5581 006422 012022 MOV (R0)+,(R2)+ ; ....
5582 006424 062704 000002 ADD #^D2,R4 ; ....INCREMENT THE FREAD CODE
5583 006430 077311 SOB R3,10$ ; ....LOOP TILL DONE
5584 006432 CALL .RDCRD ; ....READ THE DISPATCH FIELD
006432 004737 006304' JSR PC,.RDCRD
5585 006436 010012 MOV R0,(R2) ; ....PUT IT IN THE DATA BLOCK
5586 006440 CALL .CLDFW ; ....CLEAR THE FUNCTION WRITE BUFFER
006440 004737 003404' JSR PC,.CLDFW
5587 006444 005001 CLR R1 ; ....CLEAR R1
5588 006446 012700 000122 MOV #FW.CA1,R0 ; ....CLEAR CRAM DIAG ADDR
5589 006452 CALL .FWRIT ; ....SO
006452 004737 004444' JSR PC,.FWRIT
5590 006456 012700 000124 MOV #FW.CA2,R0 ; ....NOW THE OTHER HALF
5591 006462 CALL .FWRIT ; ....SO
006462 004737 004444' JSR PC,.FWRIT
5592 006466 012700 000022' MOV #.CRAMR,R0 ; ....POINT TO SAVE AREA
5593 006472 POP <R4,R3,R2,R1> ; ....RESTORE THE REGISTERS
006472 012604 MOV (SP)+,R4
006474 012603 MOV (SP)+,R3
006476 012602 MOV (SP)+,R2
006500 012601 MOV (SP)+,R1
5594 006502 RETURN ; TO CALLER
006502 000207 RTS PC
5595 006504 RDCRME:
5596 006504 ERROR$ CAE ; ERROR -- CRAM ADDRESS ERROR
006504 012746 011355 MOV #^RCAE,-(SP)
006510 104400 TRAP TC.ERR
5597 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 135
.RDCRO -- SUBROUTINE TO READ THE KL CRAM OUTPUT 7511.05
5599 .SBTTL .RDCRO -- SUBROUTINE TO READ THE KL CRAM OUTPUT 7511.05
5600
5601 ;+
5602 ; .RDCRO -- SUBROUTINE TO READ THE KL CRAM OUTPUT.
5603 ;
5604 ; THIS SUBROUTINE WILL READ THE CURRENT OUTPUT OF THE KL CRAM
5605 ; AND IS USEFUL ON CLOCK ERROR STOPS (Q.V.) WHICH ARE CAUSED BY
5606 ; CRAM PARITY ERRORS.
5607 ;
5608 ; INPUT ARGUMENTS:
5609 ;
5610 ; NONE.
5611 ;
5612 ; OUTPUT ARGUMENTS:
5613 ;
5614 ; R0 CONTAINS A POINTER TO A TEN WORD BLOCK WHICH CONTAINS THE
5615 ; CURRENT CRAM ADDRESS FOLLOWED BY THE CURRENT CRAM CONTENTS
5616 ;
5617 ; ERROR CODES RETURNED:
5618 ;
5619 ; CAE -- CRAM ADDRESS ERROR.
5620 ; FRF -- FUNCTION READ FAILED.
5621 ; FWF -- FUNCTION WRITE FAILED.
5622 ; FXF -- FUNCTION EXECUTE FAILED.
5623 ;-
5624
5625 006512 .RDCRO:
5626 006512 CALL .RDCRA ; READ THE CRAM ADDRESS
006512 004737 000000G JSR PC,.RDCRA
5627 006516 010037 000020' MOV R0,.CRAMA ; SAVE THE ADDRESS
5628 006522 CALL .RDCRR ; READ THE CRAM DATA
006522 004737 006374' JSR PC,.RDCRR
5629 006526 005740 TST -(R0) ; RETURN POINTER
5630 006530 RETURN ; TO CALLER
006530 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 136
.RDFMA -- SUBROUTINE TO READ THE KL FM ADDRESS 7511.14
5632 .SBTTL .RDFMA -- SUBROUTINE TO READ THE KL FM ADDRESS 7511.14
5633
5634 ;+
5635 ; .RDFMA -- SUBROUTINE TO READ THE KL FAST MEMORY ADDRESS REGISTER.
5636 ;
5637 ; THIS SUBROUTINE WILL READ AND RETURN THE KL FAST MEMORY ADDRESS
5638 ; A LOCATION POINTED TO BY R1 IN THE CALL. IF R1 IS ZERO, THE DATA
5639 ; IS RETURNED ONLY IN R0.
5640 ;
5641 ; INPUT ARGUMENTS:
5642 ;
5643 ; R1 POINTS TO A BUFFER FOR THE DATA
5644 ;
5645 ; OUTPUT ARGUMENTS:
5646 ;
5647 ; R0 CONTAINS THE DATA
5648 ; THE BUFFER POINTED TO BY R1 CONTAINS THE DATA
5649 ;
5650 ; THE FORMAT OF THE DATA RETURNED IS:
5651 ;
5652 ; !===============================================!
5653 ; ! FM BLOCK ! FM ADDRESS !
5654 ; !===============================================!
5655 ;
5656 ; ERROR CODES RETURNED:
5657 ;
5658 ; FRF -- FUNCTION READ FAILED.
5659 ;-
5660
5661 006532 .RDFMA::
5662 006532 PUSH R1 ; SAVE R1 ON THE STACK
006532 010146 MOV R1,-(SP)
5663 006534 005001 CLR R1 ; .CLEAR R1
5664 006536 012700 000230 MOV #FR.114,R0 ; .FR CODE TO READ FM ADDRESS
5665 006542 CALL .FREAD ; .READ IT
006542 004737 004362' JSR PC,.FREAD
5666 006546 012701 177753 MOV #-^D21,R1 ; .SHIFT COUNT TO R1
5667 006552 CALL .TPSHI ; .SHIFT IT
006552 004737 011772' JSR PC,.TPSHI
5668 006556 PUSH (R0) ; .SAVE THE WORD ON THE STACK
006556 011046 MOV (R0),-(SP)
5669 006560 042716 177760 BIC #177760,(SP) ; ..MASK FM ADDRESS
5670 006564 042710 176017 BIC #176017,(R0) ; ..MASK OUT THE FM BLOCK NUMBER
5671 006570 012701 000004 MOV #^D4,R1 ; ..SHIFT IT INTO THE HIGH BYTE
5672 006574 CALL .TPSHI ; ..SO
006574 004737 011772' JSR PC,.TPSHI
5673 006600 052610 BIS (SP)+,(R0) ; ..SET IN THE FAST MEMORY ADDRESS
5674 006602 011000 MOV (R0),R0 ; .GET IT INTO R0
5675 006604 POP R1 ; .DO WE HAVE A POINTER?
006604 012601 MOV (SP)+,R1
5676 006606 001401 BEQ 10$ ; NO -- JUST EXIT
5677 006610 010011 MOV R0,(R1) ; YES -- PUT IT WHERE HE WANTS IT
5678 006612 10$: RETURN ; AND LEAVE
006612 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 137
.RDFMO -- SUBROUTINE TO READ KL FAST MEMORY OUTPUT 7708.30
5680 .SBTTL .RDFMO -- SUBROUTINE TO READ KL FAST MEMORY OUTPUT 7708.30
5681
5682 ;+
5683 ; .RDFMO -- SUBROUTINE TO READ THE KL FAST MEMORY REGISTERS
5684 ;
5685 ; THIS SUBROUTINE WILL READ AND STORE THE FAST MEMORY ADDRESS AND
5686 ; OUTPUT IN A FOUR WORD BLOCK STARTING AT ".FMADR", AND IS USEFUL
5687 ; FOR GATHERING DATA ON FAST MEMORY PARITY ERRORS.
5688 ;
5689 ; INPUT ARGUMENTS:
5690 ;
5691 ; R0 POINTS TO OUTPUT BUFFER
5692 ;
5693 ; OUTPUT ARGUMENTS:
5694 ;
5695 ; R0 POINTS TO OUTPUT BUFFER
5696 ;
5697 ; ERROR CODES RETURNED:
5698 ;
5699 ; FRF -- FUNCTION READ FAILED.
5700 ;-
5701
5702 006614 .RDFMO::
5703 006614 PUSH <R1,R0> ; SAVE R0,R1 ON THE STACK
006614 010146 MOV R1,-(SP)
006616 010046 MOV R0,-(SP)
5704 006620 005001 CLR R1 ; ..CLEAR R1
5705 006622 CALL .RDFMA ; ..READ THE FAST MEMORY ADDRESS
006622 004737 006532' JSR PC,.RDFMA
5706 006626 011601 MOV (SP),R1 ; ..SET UP POINTER
5707 006630 010021 MOV R0,(R1)+ ; ..SAVE FM ADDRESS
5708 006632 012700 000246 MOV #FR.RFM,R0 ; ..READ FM REGISTER FUNCTION READ
5709 006636 CALL .FREAD ; ..READ IT
006636 004737 004362' JSR PC,.FREAD
5710 006642 POP <R0,R1> ; ..RESTORE R1,R0
006642 012600 MOV (SP)+,R0
006644 012601 MOV (SP)+,R1
5711 006646 RETURN ; TO CALLER
006646 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 138
.RDFMP -- READ FM PARITY ERROR BIT
5713 .SBTTL .RDFMP -- READ FM PARITY ERROR BIT
5714
5715 ;+
5716 ; .RDFMP -- SUBROUTINE TO READ FM PARITY BIT
5717 ;
5718 ; THIS ROUTINE WILL:
5719 ; 1. READ FM BLOCK,ADDR,AND PARITY
5720 ; 2. SHIFT PARITY BIT INTO R0
5721 ;
5722 ; INPUT ARGUMENTS:
5723 ;
5724 ; NONE
5725 ;
5726 ; OUTPUT ARGUMENTS:
5727 ;
5728 ; R0-PARITY ERROR BIT VALUE
5729 ;
5730 ; ERROR CODES RETURNED:
5731 ;
5732 ; FRF -- FUNCTION READ FAILED
5733 ;-
5734
5735 006650 .RDFMP::
5736 006650 005001 CLR R1 ; NO BUFFER FOR .FREAD OUTPUT
5737 006652 012700 000230 MOV #FR.114,R0 ; FUNCTION READ 114
5738 006656 CALL .FREAD ; DO READ
006656 004737 004362' JSR PC,.FREAD
5739 006662 103407 BCS 10$ ; ERROR
5740 006664 012701 177756 MOV #-^D18,R1 ; SHIFT KL BIT 17 TO ELEVEN BIT 0
5741 006670 CALL .TPSHI ; SHIFT IT
006670 004737 011772' JSR PC,.TPSHI
5742 006674 011000 MOV (R0),R0 ; GET VALUE
5743 006676 042700 177776 BIC #177776,R0 ; CLEAR ALL BUT BIT 0
5744 006702 10$: RETURN
006702 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 139
.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
5746 .SBTTL .RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
5747
5748 ;+
5749 ; .RDIPE -- SUBROUTINE TO READ THE KL INTERNAL PARITY ERROR FLAGS.
5750 ;
5751 ; THIS SUBROUTINE READS THE INTERNAL KL PARITY ERROR FLAGS AND
5752 ; STORES THEM IN ".PEWRD" IN THE FOLLOWING FORMAT:
5753 ;
5754 ; (A) BIT00 ("PE.CES") [CLK ERROR STOP H],
5755 ; (B) BIT01 ("PE.DRM") [CLK DRAM PAR ERR H],
5756 ; (C) BIT02 ("PE.CRM") [CLK CRAM PAR ERR H],
5757 ; (D) BIT03 ("PE.FMP") [CLK FM PAR ERR H],
5758 ; (E) BIT04 ("PE.FSS") [CLK FS ERROR H].
5759 ;
5760 ; INPUT ARGUMENTS:
5761 ;
5762 ; NONE.
5763 ;
5764 ; OUTPUT ARGUMENTS:
5765 ; R0 CONTAINS A COPY OF THE FLAGS IN ".PEWRD".
5766 ;
5767 ; ERROR CODES RETURNED:
5768 ;
5769 ; FRF -- FUNCTION READ FAILED.
5770 ;-
5771
5772 006704 .RDIPE::
5773 006704 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
006704 004537 010316' JSR R5,.REGSV
5774 006710 012702 000204 MOV #FR.102,R2 ; BASE FUNCTION READ TO R2
5775 006714 012703 000040 MOV #BIT05,R3 ; MASK BIT TO R3
5776 006720 012704 000230' MOV #.PEWRD,R4 ; WORD POINTER TO R4
5777 006724 005014 CLR (R4) ; CLEAR THE WORD
5778 006726 012705 000001 MOV #BIT00,R5 ; BASE WORD MASK TO R5
5779 006732 005001 CLR R1 ; CLEAR R1
5780 006734 10$:
5781 006734 010200 MOV R2,R0 ; GET THE FR NUMBER
5782 006736 CALL .FREAD ; DO THE READ
006736 004737 004362' JSR PC,.FREAD
5783 006742 030310 BIT R3,(R0) ; IS THE BIT ON?
5784 006744 001401 BEQ 20$ ; NO -- GO ON
5785 006746 050514 BIS R5,(R4) ; YES -- SET THE BIT IN THE WORD
5786 006750 20$:
5787 006750 062702 000002 ADD #^D2,R2 ; NEXT FUNCTION READ
5788 006754 006305 ASL R5 ; SHIFT THE WORD MASK
5789 006756 020503 CMP R5,R3 ; ARE WE DONE?
5790 006760 001365 BNE 10$ ; NO -- KEEP GOING
5794 006762 011400 MOV (R4),R0 ; YES -- PUT THE WORD IN R0
5795 006764 RETURN ; AND GO AWAY
006764 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 140
.RESET -- KL RESET SUBROUTINES 7511.18
5797 .SBTTL .RESET -- KL RESET SUBROUTINES 7511.18
5798
5799 ;+
5800 ; .RESET -- SUBROUTINE TO RESET THE KL.
5801 ;
5802 ; THIS SUBROUTINE PERFORM ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
5803 ; THE KL MICROPROCESSOR AND SET UP CLOCK ENABLES AND PARITY STOPS.
5804 ;
5805 ; SEQUENCE OF OPERATION:
5806 ;
5807 ; (A) THE DTE-20 IS CLEARED,
5808 ; (B) THE MASTER RESET SUBROUTINE IS INVOKED,
5809 ; (C) THE MAJOR KL CONTROL REGISTERS ARE CLEARED
5810 ; (THIS IS A FULL KL MASTER RESET).
5811 ;
5812 ; INPUT ARGUMENTS:
5813 ;
5814 ; NONE.
5815 ;
5816 ; OUTPUT ARGUMENTS:
5817 ;
5818 ; NONE.
5819 ;
5820 ; ERROR CODES RETURNED:
5821 ;
5822 ; DSF -- DTE-20 STATUS FAILURE.
5823 ; FRF -- FUNCTION READ FAILED.
5824 ; FWF -- FUNCTION WRITE FAILED.
5825 ; FXF -- FUNCTION EXECUTE FAILED.
5826 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 141
.RESET -- KL RESET SUBROUTINES 7511.18
5828 006766 .RESET::
5829 006766 PUSH <R0,R1,R2> ; SAVE CALLER'S REGISTERS
006766 010046 MOV R0,-(SP)
006770 010146 MOV R1,-(SP)
006772 010246 MOV R2,-(SP)
5830 006774 CALL .RESTD ; ...RESET THE DTE-20
006774 004737 007102' JSR PC,.RESTD
5831 007000 012702 004334' MOV #RESETT,R2 ; ...FUNCTION TABLE POINTER TO R2
5832 007004 CALL .STPXC ; ...STOP THE KL CLOCK
007004 004737 007316' JSR PC,.STPXC
5833 007010 005046 CLR -(SP) ; ...CLEAR A TEMP BUFFER
5834 007012 010601 MOV SP,R1 ; ....POINT TO TEMP BUFFER
5835 007014 CALL .LDCLK ; ....CLEAR THE CLOCKS OUT
007014 004737 005570' JSR PC,.LDCLK
5836 007020 CALL .LDPAR ; ....RESET THE PARITY REGISTERS
007020 004737 005606' JSR PC,.LDPAR
5837 007024 CALL .MRCLR ; ....DO MASTER RESET STUFF
007024 004737 006002' JSR PC,.MRCLR
5838 007030 CALL .CLDFB ; ....CLEAR THE FUNCTION BUFFERS
007030 004737 003370' JSR PC,.CLDFB
5839 007034 10$:
5840 007034 005001 CLR R1 ; ....CLEAR R1
5841 007036 112200 MOVB (R2)+,R0 ; ....FUNCTION WRITE CODE TO R0
5842 007040 CALL .FWRIT ; ....DO THE WRITE
007040 004737 004444' JSR PC,.FWRIT
5843 007044 022702 004342' CMP #RSTEND,R2 ; ....ARE WE CLOSE TO END?
5844 007050 101371 BHI 10$ ; ....NO -- KEEP GOING
5845 007052 112210 MOVB (R2)+,(R0) ; ....YES -- GET THE DATA
5846 007054 111200 MOVB (R2),R0 ; ....FOR LAST WRITE
5847 007056 CALL .FWRIT ; ....DO IT
007056 004737 004444' JSR PC,.FWRIT
5848 007062 005726 TST (SP)+ ; ....CLEAR THE STACK
5849 007064 POP <R2,R1,R0> ; ...RESTORE REGISTERS
007064 012602 MOV (SP)+,R2
007066 012601 MOV (SP)+,R1
007070 012600 MOV (SP)+,R0
5850 007072 052737 000000G 000002G BIS #EF.CRI,.COMEF+2 ; DECLARE THE COMM REGION INVALID
5851 007100 RETURN ; TO CALLER
007100 000207 RTS PC
5852
5853 ; TABLE OF FUNCTION WRITE CODES FOR RESET
5854
5855 004334 .PSECT DATA
5856
5857 004334 RESETT:
5858 004334 104 .BYTE FW.LBR ; CLEAR BURST COUNTER - RIGHT
5859 004335 106 .BYTE FW.LBL ; CLEAR BURST COUNTER - LEFT
5860 004336 124 .BYTE FW.CA2 ; CLEAR CRAM DIAG ADDR - LEFT
5861 004337 122 .BYTE FW.CA1 ; CLEAR CRAM DIAG ADDR - RIGHT
5862 004340 156 .BYTE FW.KLO ; ENABLE KL OPCODES
5863 004341 174 .BYTE FW.EBL ; EBUS LOAD
5864 004342' RSTEND=.
5865 004342 012 .BYTE 12 ; DATA FOR
5866 004343 162 .BYTE FW.MBX ; MBOX CONTROL
5867 .EVEN
5868 007102 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 142
.RESTD -- DTE-20 RESET SUBROUTINE 7607.20
5870 .SBTTL .RESTD -- DTE-20 RESET SUBROUTINE 7607.20
5871
5872 ;+
5873 ; .RESTD -- SUBROUTINE TO RESET THE DTE-20.
5874 ;
5875 ; THIS SUBROUTINE RESETS THE DTE-20.
5876 ;
5877 ; SEQUENCE OF OPERATION:
5878 ;
5879 ; (A) THE DTE-20 IS CLEARED.
5880 ;
5881 ; INPUT ARGUMENTS:
5882 ;
5883 ; NONE.
5884 ;
5885 ; OUTPUT ARGUMENTS:
5886 ;
5887 ; NONE.
5888 ;
5889 ; ERROR CODES RETURNED:
5890 ;
5891 ; DSF -- DTE-20 STATUS FAILURE.
5892 ; FRF -- FUNCTION READ FAILED.
5893 ; FWF -- FUNCTION WRITE FAILED.
5894 ; FXF -- FUNCTION EXECUTE FAILED.
5895 ;-
5896
5897 007102 .RESTD::
5898 007102 012700 004344' MOV #D2RST,R0 ; DIAG WORD 2 RESET
5899 007106 CALL .DWDW2 ; WRITE IT
007106 004737 003462' JSR PC,.DWDW2
5900 007112 012700 004346' MOV #D3RST,R0 ; DIAG WORD 3 RESET
5901 007116 CALLR .DWDW3 ; WRITE IT
007116 000137 003502' JMP .DWDW3
5902 ;
5903
5904 004344 .PSECT DATA
5905
5906 004344 D2RST:
5907 004344 000100 .WORD D2.RST ; DIAG WORD 2 RESET
5908 004346 D3RST:
5909 004346 000001 .WORD D3.RST ; DIAG WORD 3 RESET
5910
5911 007122 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 143
.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
5913 .SBTTL .RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
5914
5915 ;+
5916 ; .RESTI -- SUBROUTINE TO RESET THE KL AND SET UP NORMAL
5917 ; KL CLOCK ENABLES AND PARITY STOPS.
5918 ;
5919 ; THIS SUBROUTINE PERFORMS ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
5920 ; THE KL MICROPROCESSOR AND SET UP NORMAL CLOCK ENABLES AND PARITY STOPS
5921 ;
5922 ; SEQUENCE OF OPERATION:
5923 ;
5924 ; (A) ".RESET" IS INVOKED,
5925 ; (B) NORMAL KL CLOCKS ARE ENABLED,
5926 ; (C) NORMAL KL PARITY STOPS ARE ENABLED.
5927 ;
5928 ; INPUT ARGUMENTS:
5929 ;
5930 ; NONE.
5931 ;
5932 ; OUTPUT ARGUMENTS:
5933 ;
5934 ; NONE.
5935 ;
5936 ; ERROR CODES RETURNED:
5937 ;
5938 ; DSF -- DTE-20 STATUS FAILURE.
5939 ; FRF -- FUNCTION READ FAILED.
5940 ; FWF -- FUNCTION WRITE FAILED.
5941 ; FXF -- FUNCTION EXECUTE FAILED.
5942 ;-
5943
5944 .ENABL LSB
5945
5946 007122 .RESTI::
5947 007122 PUSH R1 ; SAVE R1
007122 010146 MOV R1,-(SP)
5948 007124 005046 CLR -(SP) ; .CLEAR A LOCATION ON THE STACK
5949 007126 CALL .RESET ; ..RESET THE KL
007126 004737 006766' JSR PC,.RESET
5950 007132 010601 MOV SP,R1 ; ..POINT TO SCRATCH BUFFER
5954 007134 CALL .LDCLK ; ..SET NORMAL CLOCK ENABLES
007134 004737 005570' JSR PC,.LDCLK
5955 007140 012716 001416 MOV #PS.NRM,(SP) ; ..SET UP NORMAL PARITY ENABLES
5956 007144 000417 BR 10$ ; ..AND GO SET THEM
5957 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 144
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
5959 .SBTTL .RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
5960
5961 ;+
5962 ; .RESTP -- SUBROUTINE TO RESET THE KL AND RESTORE THE
5963 ; PREVIOUS KL PARITY STOPS.
5964 ;
5965 ; THIS SUBROUTINE PERFORMS ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
5966 ; THE KL MICROPROCESSOR AND SET UP CURRENT CLOCK ENABLES AND PARITY STOPS
5967 ;
5968 ; SEQUENCE OF OPERATION:
5969 ;
5970 ; (A) ".RESET" IS INVOKED.
5971 ; (B) THE PREVIOUSLY ENABLED CLOCK AND PARITY CONTROLS ARE
5972 ; REENABLED.
5973 ;
5974 ; INPUT ARGUMENTS:
5975 ;
5976 ; NONE.
5977 ;
5978 ; OUTPUT ARGUMENTS:
5979 ;
5980 ; NONE.
5981 ;
5982 ; ERROR CODES RETURNED:
5983 ;
5984 ; DSF -- DTE-20 STATUS FAILURE.
5985 ; FRF -- FUNCTION READ FAILED.
5986 ; FWF -- FUNCTION WRITE FAILED.
5987 ; FXF -- FUNCTION EXECUTE FAILED.
5988 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 145
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
5990 007146 .RESTP::
5991 007146 PUSH R1 ; SAVE R1
007146 010146 MOV R1,-(SP)
5992 007150 CALL .STPXC ; .STOP THE KL CLOCK
007150 004737 007316' JSR PC,.STPXC
5993 007154 CALL .RDCPP ; .READ CURRENT CLOCK AND PARITY ENABLES
007154 004737 006150' JSR PC,.RDCPP
5994 007160 PUSH .PSCWD ; .SAVE THE PARITY CONTROL WORD
007160 013746 000236' MOV .PSCWD,-(SP)
5995 007164 PUSH .CLKWD ; ..SAVE THE CLOCK CONTROL WORD
007164 013746 000012' MOV .CLKWD,-(SP)
5996 007170 CALL .RESET ; ...DO A MASTER RESET
007170 004737 006766' JSR PC,.RESET
5997 007174 010601 MOV SP,R1 ; ...POINT TO THE CLOCK WORD
5998 007176 CALL .LDCLK ; ...LOAD THE CLOCKS AGAIN
007176 004737 005570' JSR PC,.LDCLK
5999 007202 005726 TST (SP)+ ; ...FLUSH SAVED CLOCK WORD
6000 007204 10$:
6001 007204 010601 MOV SP,R1 ; ..POINT TO THE PARITY WORD
6002 007206 CALL .LDPAR ; ..LOAD THE PARITY STOPS
007206 004737 005606' JSR PC,.LDPAR
6003 007212 005726 TST (SP)+ ; ..FLUSH THE PARITY WORD
6004 007214 POP R1 ; .RESTORE R1
007214 012601 MOV (SP)+,R1
6005 007216 RETURN ; AND GO AWAY
007216 000207 RTS PC
6006
6007 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 146
.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
6009 .SBTTL .RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
6010
6011 ;+
6012 ; .RSTKL -- SUBROUTINE TO RESTART THE KL
6013 ;
6014 ; THIS SUBROUTINE WILL RESTART THE KL, IF IT WAS STOPPED BY ".STPKL".
6015 ;
6016 ; INPUT ARGUMENTS:
6017 ;
6018 ; THE STATE FLAGS IN ".SVKLF" REPRESENT THE STATE TO WHICH
6019 ; THE KL IS TO BE RESTORED.
6020 ;
6021 ; OUTPUT ARGUMENTS:
6022 ;
6023 ; ".SVKLF" IS CLEARED.
6024 ;
6025 ; ERROR CODES RETURNED:
6026 ;
6027 ; NONE.
6028 ;-
6029
6030 007220 .RSTKL::
6031 007220 032737 040000 000260' BIT #KF.RUN,.SVKLF ; DID WE STOP THE KL?
6032 007226 001404 BEQ 10$ ; NO -- JUST RETURN
6033 007230 CALL .KLRST ; YES -- RESTART THE KL
007230 004737 005310' JSR PC,.KLRST
6034 007234 105037 000000G CLRB .NOHLT ; LET RSX20F DETECT HALTS
6035 007240 10$:
6036 007240 005037 000260' CLR .SVKLF ; CLEAR SAVED FLAGS
6037 007244 RETURN ; TO CALLER
007244 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 147
.STCLK -- START KL CLOCK SUBROUTINE 7607.15
6039 .SBTTL .STCLK -- START KL CLOCK SUBROUTINE 7607.15
6040
6041 ;+
6042 ; .STCLK -- SUBROUTINE TO START THE KL CLOCK.
6043 ;
6044 ; THIS SUBROUTINE WILL START THE KL CLOCK.
6045 ;
6046 ; INPUT ARGUMENTS:
6047 ;
6048 ; NONE.
6049 ;
6050 ; OUTPUT ARGUMENTS:
6051 ;
6052 ; NONE.
6053 ;
6054 ; ERROR CODES RETURNED:
6055 ;
6056 ; CES -- CLOCK ERROR STOP.
6057 ; FXF -- FUNCTION EXECUTE FAILED.
6058 ;-
6059
6060 007246 .STCLK::
6061 007246 000241 CLC ; CLEAR CC-C
6062 007250 CALL .CESCK ; CHECK FOR CLOCK ERROR STOP
007250 004737 000000' JSR PC,.CESCK
6063 007254 .STCLF:: ; HERE TO START THE CLOCK ANYWAY
6064 007254 PUSH R0 ; SAVE R0
007254 010046 MOV R0,-(SP)
6065 007256 012700 000002 MOV #FX.CST,R0 ; .SET UP TO START THE KL CLOCK
6066 007262 CALL .FXCT ; .DO IT
007262 004737 004566' JSR PC,.FXCT
6067 007266 POP R0 ; .RESTORE R0
007266 012600 MOV (SP)+,R0
6068 007270 RETURN ; RETURN TO CALLER
007270 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 148
.STPKL -- SUBROUTINE TO STOP THE KL 7602.25
6070 .SBTTL .STPKL -- SUBROUTINE TO STOP THE KL 7602.25
6071
6072 ;+
6073 ; .STPKL -- SUBROUTINE TO STOP THE KL.
6074 ;
6075 ; THIS SUBROUTINE WILL STOP THE KL HALT LOOP IF IT BELIEVES THAT
6076 ; THE KL RUN FLOP IS SET ("KF.RUN" IN ".KLFLG").
6077 ;
6078 ; INPUT ARGUMENTS:
6079 ;
6080 ; THE STATE OF THE KL IS IN ".KLFLG"
6081 ;
6082 ; OUTPUT ARGUMENTS:
6083 ;
6084 ; THE CURRENT STATE OF THE KL IS IN ".KLFLG"
6085 ; THE PREVIOUS STATE OF THE KL IS IN ".SVKLF"
6086 ;
6087 ; ERROR CODES RETURNED:
6088 ;
6089 ; NONE.
6090 ;-
6091
6092 007272 .STPKL::
6093 007272 032737 040000 000000G BIT #KF.RUN,.KLFLG ; IS THE KL RUNNING?
6094 007300 001405 BEQ 10$ ; NO -- JUST EXIT
6095 007302 013737 000000G 000260' MOV .KLFLG,.SVKLF ; YES -- SAVE CURRENT KL STATE
6096 007310 CALL .KLSTP ; STOP THE KL
007310 004737 005212' JSR PC,.KLSTP
6097 007314 10$:
6098 007314 RETURN ; TO CALLER
007314 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 149
.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
6100 .SBTTL .STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
6101
6102 ;+
6103 ; .STPXC -- SUBROUTINE TO STOP THE KL CLOCK.
6104 ;
6105 ; THIS SUBROUTINE STOPS THE KL CLOCK.
6106 ;
6107 ; INPUT ARGUMENTS:
6108 ;
6109 ; NONE.
6110 ;
6111 ; OUTPUT ARGUMENTS:
6112 ;
6113 ; NONE
6114 ;
6115 ; ERROR CODES RETURNED:
6116 ;
6117 ; FXF -- FUNCTION EXECUTE FAILED
6118 ;-
6119
6120 .ENABL LSB
6121
6122 007316 .STPXC::
6123 007316 000241 CLC ; CLEAR CC-C
6125 007320 WTSE$S #E.FHTO ; WAIT FOR KL I/O TO SETTLE FROM ".CLRFF"
007320 012746 000001 MOV #E.FHTO,-(SP)
007324 012746 MOV (PC)+,-(SP)
007326 051 002 .BYTE 41.,2
007330 104375 EMT 375
6127 007332 PUSH R0 ; SAVE R0
007332 010046 MOV R0,-(SP)
6128 007334 112737 000001 000000G MOVB #1,.NOERR ; TELL RSX20F NOT TO PANIC ABOUT CLOCK STOP
6129 007342 005000 CLR R0 ; .SET UP TO STOP THE KL CLOCK
6130 ; .FUNCTION CODE IS ZERO
6131 007344 000404 BR 10$ ; .DO IT
6132 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 150
.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
6134 .SBTTL .STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
6135
6136 ;+
6137 ; .STRUN -- SUBROUTINE TO SET THE KL RUN FLOP.
6138 ;
6139 ; THIS SUBROUTINE SETS THE KL RUN FLOP.
6140 ;
6141 ;
6142 ; INPUT ARGUMENTS:
6143 ;
6144 ; NONE.
6145 ;
6146 ; OUTPUT ARGUMENTS:
6147 ;
6148 ; NONE
6149 ;
6150 ; ERROR CODES RETURNED:
6151 ;
6152 ; FXF -- FUNCTION EXECUTE FAILED
6153 ;-
6154
6155 007346 .STRUN::
6156 007346 000241 CLC ; CLEAR CC-C
6157 007350 PUSH R0 ; SAVE R0
007350 010046 MOV R0,-(SP)
6158 007352 012700 000022 MOV #FX.SRF,R0 ; .SET UP TO SET KL RUN FLOP
6159 007356 10$:
6160 007356 CALL .FXCT ; .DO IT
007356 004737 004566' JSR PC,.FXCT
6161 007362 POP R0 ; .RESTORE R0
007362 012600 MOV (SP)+,R0
6162 007364 RETURN ; TO CALLER
007364 000207 RTS PC
6163
6164 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 151
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
6166 .SBTTL .STUCD -- START KL MICROCODE SUBROUTINE 7511.22
6167
6168 ;+
6169 ; .STUCD -- SUBROUTINE TO START THE KL MICROCODE AT THE
6170 ; ADDRESS SPECIFIED IN R0.
6171 ;
6172 ; SEQUENCE OF OPERATION:
6173 ;
6174 ; (A) THE KL RUN FLOP IS CLEARED,
6175 ; (B) THE KL RUN FLOP IS TURNED OFF,
6176 ; (C) THE KL IS CLEARED,
6177 ; (D) THE CRAM ADDRESS IS LOADED,
6178 ; (E) THE KL CLOCK IS RESTARTED.
6179 ;
6180 ; THE SUBROUTINE EXITS WHEN THE KL HAS FOUND THE HALT LOOP.
6181 ; IF THE HALT LOOP IS NOT FOUND, AN ERROR RETURN IS GIVEN.
6182 ;
6183 ; INPUT ARGUMENTS:
6184 ;
6185 ; R0 CONTAINS THE CRAM ADDRESS
6186 ;
6187 ; OUTPUT ARGUMENTS:
6188 ;
6189 ; NONE.
6190 ;
6191 ; ERROR CODES RETURNED:
6192 ;
6193 ; CAE -- CRAM ADDRESS ERROR.
6194 ; FRF -- FUNCTION READ FAILED.
6195 ; FWF -- FUNCTION WRITE FAILED.
6196 ; FXF -- FUNCTION EXECUTE FAILED
6197 ; UNL -- UCODE NOT LOADED.
6198 ;
6199 ; NOTE:
6200 ;
6201 ; THE NORMAL CRAM STARTING ADDRESS IS 0. ATTEMPTING TO
6202 ; START THE CONTROL RAM AT AN ADDRESS OTHER THAN 0 CAN
6203 ; PRODUCE STRANGE RESULTS. CAVEAT PROGRAMMATOR (OPERATOR).
6204 ; CONSIDER YOURSELF WARNED.
6205 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 152
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
6207 007366 .STUCD::
6208 007366 020027 003777 CMP R0,#3777 ; [TCO 6.????]IS IT IN RANGE?
6209 007372 101030 BHI STUCAE ; NO -- GIVE "CAE" ERROR
6210 007374 PUSH <R1,R0> ; YES -- SAVE THE ADDRESS ON THE STACK
007374 010146 MOV R1,-(SP)
007376 010046 MOV R0,-(SP)
6211 007400 CALL .CLRFF ; ..CLEAR THE KL RUN FLOP
007400 004737 003420' JSR PC,.CLRFF
6212 007404 CALL .STPXC ; ..STOP THE KL CLOCK
007404 004737 007316' JSR PC,.STPXC
6213 007410 011600 MOV (SP),R0 ; ..CRAM ADDRESS TO R0
6214 007412 CALL .LDCRA ; ..LOAD IT
007412 004737 005666' JSR PC,.LDCRA
6215 007416 CALL .STCLK ; ..START THE KL CLOCK
007416 004737 007246' JSR PC,.STCLK
6216 007422 012701 000310 MOV #^D200,R1 ; ..SETUP WAIT LOOP
6217 007426 10$:
6218 007426 CALL .DTDW1 ; ..READ DTE-20 DIAG WORD 1
007426 004737 003530' JSR PC,.DTDW1
6219 007432 032700 001000 BIT #D1.HLP,R0 ; ..ARE WE IN THE HALT LOOP?
6223 007436 001001 BNE 20$ ; ..YES -- EXIT
6224 007440 077106 SOB R1,10$ ; ..NO -- TRY TILL COUNT EXHAUSTED
6225 007442 20$:
6226 007442 005701 TST R1 ; ..DID COUNT GET EXHAUSTED?
6227 007444 003406 BLE STUUNL ; ..YES -- WE LOST
6228 007446 POP <R0,R1> ; ..NO -- RESTORE R0 AND R1
007446 012600 MOV (SP)+,R0
007450 012601 MOV (SP)+,R1
6229 007452 RETURN ; TO CALLER
007452 000207 RTS PC
6230 007454 STUCAE:
6231 007454 ERROR$ CAE ; ERROR -- CRAM ADDRESSING ERROR
007454 012746 011355 MOV #^RCAE,-(SP)
007460 104400 TRAP TC.ERR
6232 ;
6233 007462 STUUNL:
6234 007462 ERROR$ UNL ; ERROR -- UCODE NOT LOADED
007462 012746 102574 MOV #^RUNL,-(SP)
007466 104400 TRAP TC.ERR
6235 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 153
.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
6237 .SBTTL .SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
6238
6239 ;+
6240 ; .SYNXC -- SUBROUTINE TO SYNCH THE EBOX CLOCK LOW.
6241 ;
6242 ; THIS SUBROUTINE SYNCHS THE KL EBOX CLOCK LOW
6243 ;
6244 ;
6245 ; INPUT ARGUMENTS:
6246 ;
6247 ; NONE.
6248 ;
6249 ; OUTPUT ARGUMENTS:
6250 ;
6251 ; NONE
6252 ;
6253 ; ERROR CODES RETURNED:
6254 ;
6255 ; FXF -- FUNCTION EXECUTE FAILED
6256 ;-
6257
6258 .ENABL LSB
6259
6260 007470 .SYNXC::
6261 007470 000241 CLC ; CLEAR CC-C
6262 007472 PUSH R0 ; SAVE R0
007472 010046 MOV R0,-(SP)
6263 007474 012700 000010 MOV #FX.SYC,R0 ; .SET UP TO SYNCH EBOX CLOCK
6264 007500 CALL .FXCT ; .DO IT
007500 004737 004566' JSR PC,.FXCT
6265 007504 000411 BR 10$ ; .RESTORE R0 AND EXIT
6266 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 154
.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
6268 .SBTTL .WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
6269
6270 ;+
6271 ; .WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER.
6272 ; .WRAR1 -- SUBROUTINE TO WRITE THE KL AR REGISTER WITHOUT
6273 ; STOPPING THE KL CLOCK.
6274 ;
6275 ; THIS SUBROUTINE WILL WRITE A 36 BIT WORD TO THE KL AR REGISTER.
6276 ;
6277 ; SEQUENCE OF OPERATION:
6278 ;
6279 ; .WRTAR:
6280 ;
6281 ; (A) THE KL CLOCK IS STOPPED,
6282 ;
6283 ; .WRAR1:
6284 ;
6285 ; (B) THE EBOX CLOCK IS SYNCHED LOW,
6286 ; (C) THE DATA IS WRITTEN INTO THE KL AR REGISTER.
6287 ;
6288 ; INPUT ARGUMENTS:
6289 ;
6290 ; R1 POINTS TO THE DATA TO BE WRITTEN
6291 ;
6292 ; OUTPUT ARGUMENTS:
6293 ;
6294 ; NONE.
6295 ;
6296 ; ERROR CODES RETURNED:
6297 ;
6298 ; FWF -- FUNCTION WRITE FAILED.
6299 ;-
6300
6301 007506 .WRTAR::
6302 007506 CALL .STPXC ; STOP THE KL CLOCK
007506 004737 007316' JSR PC,.STPXC
6303 007512 .WRAR1::
6304 007512 CALL .SYNXC ; FORCE THE EBOX CLOCK LOW
007512 004737 007470' JSR PC,.SYNXC
6305 007516 PUSH R0 ; SAVE R0
007516 010046 MOV R0,-(SP)
6306 007520 012700 000176 MOV #FW.LAR,R0 ; .FUNCTION WRITE CODE TO R0
6307 007524 CALL .FWRIT ; .LOAD THE AR
007524 004737 004444' JSR PC,.FWRIT
6308 007530 10$:
6309 007530 POP R0 ; .RESTORE R0
007530 012600 MOV (SP)+,R0
6310 007532 RETURN ; RETURN TO CALLER
007532 000207 RTS PC
6311
6312 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 155
.WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03
6314 .SBTTL .WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03
6315
6316 ;+
6317 ; .WRCRM -- SUBROUTINE TO WRITE A LOCATION IN THE KL CONTROL RAM.
6318 ;
6319 ; THIS SUBROUTINE WILL WRITE ONE LOCATION IN THE KL CONTROL RAM.
6320 ; THE CRAM ADDRESS TO BE WRITTEN IS SPECIFIED IN R0.
6321 ;
6322 ; SEQUENCE OF OPERATION:
6323 ;
6324 ; (A) THE KL IS HALTED IN THE HALT LOOP,
6325 ; (B) THE CONTROL RAM ADDRESS IS LOADED,
6326 ; (C) THE CONTENT OF THAT CRAM ADDRESS IS WRITTEN.
6327 ;
6328 ; INPUT ARGUMENTS:
6329 ;
6330 ; R0 CONTAINS THE CRAM ADDRESS TO BE WRITTEN.
6331 ; R1 POINTS TO A NINE WORD DATA BLOCK TO BE WRITTEN.
6332 ;
6333 ; OUTPUT ARGUMENTS:
6334 ;
6335 ; NONE.
6336 ;
6337 ; THE FOLLOWING IS A PICTURE OF THE DATA WRITTEN BY THIS SUBROUTINE:
6338 ;
6339 ; WORD CRAM DATA
6340 ; ---- ---------
6341 ; +==================================+
6342 ; 00 | CRAM BITS 68 THRU 78 |
6343 ; +----------------------------------+
6344 ; 01 | CRAM BITS 60 THRU 66 |
6345 ; +----------------------------------+
6346 ; 02 | CRAM BITS 48 THRU 59 |
6347 ; +----------------------------------+
6348 ; 03 | CRAM BITS 40 THRU 47 |
6349 ; +----------------------------------+
6350 ; 04 | CRAM BITS 28 THRU 39 |
6351 ; +----------------------------------+
6352 ; 05 | CRAM BITS 20 THRU 27 |
6353 ; +----------------------------------+
6354 ; 06 | CRAM BITS 08 THRU 19 |
6355 ; +----------------------------------+
6356 ; 07 | CRAM BITS 00 THRU 07 |
6357 ; +----------------------------------+
6358 ; 08 | CRAM DISP BITS 00 THRU 04 |
6359 ; +==================================+
6360 ;
6361 ; ERROR CODES RETURNED:
6362 ;
6363 ; CAE -- CRAM ADDRESS ERROR.
6364 ; FRF -- FUNCTION READ FAILED.
6365 ; FWF -- FUNCTION WRITE FAILED.
6366 ; FXF -- FUNCTION EXECUTE FAILED.
6367 ;-
6368
6369 007534 .WRCRM::
6370 007534 020027 003777 CMP R0,#3777 ; [TCO 6.????]IS THE ADDRESS IN RANGE?
KL10F -- KL10 FUNCTION MODULE MACRO M1113 03-APR-86 22:51 PAGE 155-1
.WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03
6371 007540 101063 BHI WRCRME ; NO -- GIVE "CAE" ERROR
6372 007542 PUSH <R4,R3,R2,R1,R0>; YES -- SAVE CALLER'S REGISTERS
007542 010446 MOV R4,-(SP)
007544 010346 MOV R3,-(SP)
007546 010246 MOV R2,-(SP)
007550 010146 MOV R1,-(SP)
007552 010046 MOV R0,-(SP)
6373 007554 010102 MOV R1,R2 ; .....CALLER'S POINTER TO R2
6374 007556 012704 000130 MOV #FW.CR4,R4 ; .....BASE WRITE TO R4
6375 007562 011600 MOV (SP),R0 ; .....GET CRAM ADDRESS FROM THE STACK
6376 007564 CALL .LDCRA ; .....LOAD IT
007564 004737 005666' JSR PC,.LDCRA
6377 007570 012703 000004 MOV #^D4,R3 ; .....USE R3 AS A COUNTER
6378 007574 012700 000336' 10$: MOV #.DFWB,R0 ; .....POINT TO THE WRITE BUFFER
6379 007600 012220 MOV (R2)+,(R0)+ ; .....LOAD OUR BUFFER FROM CALLER'S
6380 007602 012220 MOV (R2)+,(R0)+ ; .....
6381 007604 005010 CLR (R0) ; .....
6382 007606 005001 CLR R1 ; .....CLEAR R1
6383 007610 010400 MOV R4,R0 ; .....PASS THE FWRITE CODE
6384 007612 CALL .FWRIT ; .....DO IT
007612 004737 004444' JSR PC,.FWRIT
6385 007616 062704 000002 ADD #^D2,R4 ; .....INCREMENT THE FWRITE CODE
6386 007622 077314 SOB R3,10$ ; .....LOOP TILL DONE
6387 007624 011210 MOV (R2),(R0) ; .....LOAD THE CRAM DISP BITS
6388 007626 012701 000036 MOV #^D30,R1 ; .....SHIFT COUNT
6389 007632 CALL .TPSHI ; .....SHIFT IT
007632 004737 011772' JSR PC,.TPSHI
6390 007636 005001 CLR R1 ; .....CLEAR R1
6391 007640 012700 000126 MOV #FW.CRD,R0 ; .....WRITE CODE
6392 007644 CALL .FWRIT ; .....WRITE IT
007644 004737 004444' JSR PC,.FWRIT
6393 007650 CALL .CLDFW ; .....CLEAR THE FUNCTION WRITE BUFFER
007650 004737 003404' JSR PC,.CLDFW
6394 007654 012700 000122 MOV #FW.CA1,R0 ; .....CLEAR CRAM DIAG ADDR
6395 007660 CALL .FWRIT ; .....SO
007660 004737 004444' JSR PC,.FWRIT
6396 007664 012700 000124 MOV #FW.CA2,R0 ; .....NOW FOR THE OTHER HALF
6397 007670 CALL .FWRIT ; .....SO
007670 004737 004444' JSR PC,.FWRIT
6398 007674 POP <R0,R1,R2,R3,R4>; .....RESTORE REGISTERS
007674 012600 MOV (SP)+,R0
007676 012601 MOV (SP)+,R1
007700 012602 MOV (SP)+,R2
007702 012603 MOV (SP)+,R3
007704 012604 MOV (SP)+,R4
6399 007706 RETURN ; TO CALLER
007706 000207 RTS PC
6400 007710 WRCRME:
6401 007710 ERROR$ CAE ; ERROR -- CRAM ADDRESSING ERROR
007710 012746 011355 MOV #^RCAE,-(SP)
007714 104400 TRAP TC.ERR
6402 ;
6403 .TITLE NULLC -- NULL COMMAND MODULE 7603.30
6404
6405 .IDENT "005000"
6406
6407 ;
NULLC -- NULL COMMAND MODULE 76 MACRO M1113 03-APR-86 22:51 PAGE 155-2
.WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03
6408 ; COPYRIGHT (C) 1975, 1984, 1985 BY
6409 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6410 ; ALL RIGHTS RESERVED.
6411 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
6412 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
6413 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
6414 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
6415 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
6416 ;
6417 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
6418 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
6419 ; CORPORATION.
6420 ;
6421 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6422 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
6423 ;
6424 ; MODULE: NULL COMMAND
6425 ;
6426 ; VERSION: 01-01
6427 ;
6428 ; AUTHOR: R. BELANGER
6429 ;
6430 ; DATE: 7603.30
6431 ;
6432 ; THIS MODULE CONTAINS:
6433 ;
6434 ; 1) NULL COMMAND CODE
NULLC -- NULL COMMAND MODULE 76 MACRO M1113 03-APR-86 22:51 PAGE 156
.NULLC -- THE NULL COMMAND 7602.10
6436 .SBTTL .NULLC -- THE NULL COMMAND 7602.10
6437
6438 007716 .NULLC::
6439 007716 012737 000021' 000004' MOV #PARNAM,.CCMDN ; RESET THE COMMAND NAME
6440 007724 CALLR .CKEOC ; CHECK E-O-C CHARACTER
007724 000137 000214' JMP .CKEOC
6441 ;
NULLC -- NULL COMMAND MODULE 76 MACRO M1113 03-APR-86 22:51 PAGE 157
.NULLC -- THE NULL COMMAND 7602.10
6443
6444
6445 .TITLE PARSE -- TOP-LEVEL COMMAND DECODER MODULE 7603.30
6446
6447 .IDENT "006270"
6448
6449 ;
6450 ; COPYRIGHT (C) 1975, 1984, 1985 BY
6451 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6452 ; ALL RIGHTS RESERVED.
6453 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
6454 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
6455 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
6456 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
6457 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
6458 ;
6459 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
6460 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
6461 ; CORPORATION.
6462 ;
6463 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6464 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
6465 ;
6466 ; MODULE: TOP-LEVEL COMMAND DECODER
6467 ;
6468 ; VERSION: 06-27
6469 ;
6470 ; AUTHOR: R. BELANGER
6471 ;
6472 ; DATE: 7603.30
6473 ;
6474 ; THIS MODULE CONTAINS:
6475 ;
6476 ; 1) COMMAND DECODER
6477
6478 .MCALL DIR$,EXIT$S,QIOW$S,.ENB6,.INH6
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1113 03-APR-86 22:51 PAGE 158
.DOCMD -- DECODE A SINGLE COMMAND 7602.03
6480 .SBTTL .DOCMD -- DECODE A SINGLE COMMAND 7602.03
6481
6482 ;+
6483 ; .DOCMD -- DECODE AND DISPATCH FOR A SINGLE COMMAND
6484 ;
6485 ; THIS SUBROUTINE WILL DECODE THE INPUT STREAM FROM THE MAIN COMMAND
6486 ; SYMBOL TABLE, ".CMDTB", SET UP THE LEGAL BITS FOR EACH COMMAND
6487 ; DECODED, AND PERFORM THE DISPATCH FOR THAT COMMAND.
6488 ;
6489 ; INPUT ARGUMENTS:
6490 ;
6491 ; R0 POINTS TO A REPEAT COUNT
6492 ; R5 POINTS TO THE INPUT STREAM.
6493 ;
6494 ; OUTPUT ARGUMENTS:
6495 ;
6496 ; R0 POINTS TO THE COMMAND NAME POINTER IN THE COMMAND TABLE
6497 ;
6498 ; ERROR CODES RETURNED:
6499 ;
6500 ; CNR -- COMMAND IS NOT REPEATABLE
6501 ;-
6502
6503 007730 .DOCMD::
6504 007730 022020 CMP (R0)+,(R0)+ ; POINT TO THE END OF THE REPEAT COUNT
6505 007732 PUSH <(R0),-(R0),-(R0)>
007732 011046 MOV (R0),-(SP)
007734 014046 MOV -(R0),-(SP)
007736 014046 MOV -(R0),-(SP)
6506 007740 010600 MOV SP,R0 ; ...POINT TO THE REPEAT COUNT
6507 007742 PUSH R5 ; ...SAVE COMMAND LINE POINTER
007742 010546 MOV R5,-(SP)
6508 007744 PUSH R0 ; ....SAVE THE REPEAT COUNT POINTER
007744 010046 MOV R0,-(SP)
6509 007746 010037 000252' MOV R0,.RPTPT ; .....FOR "CLEAR REPEAT"
6510 007752 10$:
6511 007752 012700 004350' MOV #.CMDTB,R0 ; .....POINT TO THE COMMAND TABLE
6512 007756 012737 000021' 000004' MOV #PARNAM,.CCMDN ; ....."PARSER" IS CURRENT COMMAND
6513 007764 CALL .TSCAN ; .....SCAN THE TABLE
007764 004737 010524' JSR PC,.TSCAN
6514 007770 011037 000216' MOV (R0),.LGLWD ; .....SET UP THE LEGAL BITS FOR COMMAND
6515 007774 014037 000004' MOV -(R0),.CCMDN ; .....SET THE POINTER TO THIS NAME
6516
6517 ; [CONTINUED ON THE FOLLOWING PAGE]
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1113 03-APR-86 22:51 PAGE 159
.DOCMD -- DECODE A SINGLE COMMAND 7602.03
6519 ; [CONTINUED FROM THE PREVIOUS PAGE]
6520
6521 010000 20$:
6522 010000 CALL @4(R0) ; .....DO THE COMMAND
010000 004770 000004 JSR PC,@4(R0)
6523 010004 011600 MOV (SP),R0 ; .....POINT TO THE REPEAT COUNT
6524 010006 CALL .TPTST ; .....IS THERE REALLY ONE THERE
010006 004737 011474' JSR PC,.TPTST
6525 010012 001404 BEQ 30$ ; .....NO -- JUST GO ON
6526 010014 032737 000400 000216' BIT #LG.RPT,.LGLWD ; .....YES -- IS THIS COMMAND REPEATABLE?
6527 010022 001427 BEQ DOCCNR ; .....NO -- GIVE "CNR" ERROR
6528 010024 30$:
6529 010024 105725 TSTB (R5)+ ; .....YES -- IS THIS THE END??
6530 010026 001010 BNE 40$ ; .....NO -- GO ON SCANNING THIS LINE
6531 010030 105745 TSTB -(R5) ; .....YES -- BACK THE POINTER UP
6532 010032 CALL .TPDEC ; .....DECREMENT STACKED REPEAT COUNT
010032 004737 011550' JSR PC,.TPDEC
6533 010036 CALL .TPTST ; .....SEE WHAT THE COUNT IS
010036 004737 011474' JSR PC,.TPTST
6534 010042 003405 BLE 50$ ; .....DONE IF .LE. 0
6535 010044 016605 000002 MOV 2(SP),R5 ; .....RESTORE INPUT STREAM POINTER
6536 010050 40$:
6537 010050 005037 000216' CLR .LGLWD ; .....CLEAR THE LEGAL BITS
6538 010054 000736 BR 10$ ; .....AND REITERATE OR CONTINUE
6539 ;
6540 010056 50$:
6541 010056 062706 000012 ADD #^D10,SP ; .....FLUSH THE STACK
6543 010062 005737 000000G TST .KLERQ ; [5.1006]SNAPSHOT IN PROGRESS?
6544 010066 001401 BEQ 55$ ; [5.1006]NO -- DO ERROR CHECKS
6545 010070 RETURN ; [5.1006]YES -- DONE
010070 000207 RTS PC
6547 010072 55$: CALL .CESCK ; CHECK FOR CLOCK ERROR STOP
010072 004737 000000' JSR PC,.CESCK
6548 010076 CALLR .EBPCK ; AND EBUS PARITY ERROR
010076 000137 000410' JMP .EBPCK
6549 ;
6550 010102 DOCCNR:
6551 010102 ERROR$ CNR ; ERROR -- COMMAND IS NOT REPEATABLE
010102 012746 012402 MOV #^RCNR,-(SP)
010106 104400 TRAP TC.ERR
6552 ;
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1113 03-APR-86 22:51 PAGE 160
.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
6554 .SBTTL .EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
6555
6556 ;+
6557 ; .EXITP -- THE COMMAND PARSER EXIT POINT.
6558 ;
6559 ; THIS ROUTINE IS THE COMMAND PARSER EXIT POINT
6560 ;
6561 ; INPUT ARGUMENTS:
6562 ;
6563 ; NONE.
6564 ;
6565 ; OUTPUT ARGUMENTS:
6566 ;
6567 ; NONE.
6568 ;
6569 ; ERROR CODES RETURNED:
6570 ;
6571 ; NONE.
6572 ;-
6573
6574 010110 .EXITP::
6576 010110 005737 000066' TST .DBGSW ; LOOK AT THE DEBUG SWITCH
6577 010114 001401 BEQ 5$ ; CLEAR -- DON'T HALT
6578 010116 000000 HALT ; FOR DEBUGGING
6579 010120 5$:
6581 010120 005737 001660' TST .INDFG ; [5.1000]INDIRECT FILE OPEN?
6582 010124 001410 BEQ 10$ ; [5.1000]NO -- GO ON
6583 010126 012701 002750' MOV #.INATT,R1 ; [5.1000]SET ATTRIBUTE ADDR
6584 010132 012702 000005 MOV #INDLUN,R2 ; [5.1000]SET LUN
6585 010136 005037 001660' CLR .INDFG ; [5.1000]INDICATE FILE CLOSED
6586 010142 CALL .CLOSE ; [5.1000]CLOSE FILE
010142 004737 002114' JSR PC,.CLOSE
6587 010146 105737 000206' 10$: TSTB .OUTLG ; [5.1000]LOG FILE OPEN?
6588 010152 001412 BEQ 20$ ; [5.1000]NO -- GO NO
6589 010154 105037 000206' CLRB .OUTLG ; [5.1000]INDICATE FILE CLOSED
6590 010160 CALL .WRITZ ; [5.1000]WRITE OUT CURRENT BLOCK
010160 004737 003060' JSR PC,.WRITZ
6591 010164 012701 004050' MOV #.OTATT,R1 ; [5.1000]YES -- SET ATTRIBUTE ADDR
6592 010170 012702 000004 MOV #LOGLUN,R2 ; [5.1000]SET LUN
6593 010174 CALL .CLOSE ; [5.1000]CLOSE FILE
010174 004737 002114' JSR PC,.CLOSE
6594 010200 20$: QIOW$S #IO.DET,#CIDLUN,#E.FCID,#0,#0,#0
010200 005046 CLR -(SP)
010202 005046 CLR -(SP)
010204 112746 000002 MOVB #E.FCID,-(SP)
010210 112766 000000 000001 MOVB #0,1(SP)
010216 012746 000001 MOV #CIDLUN,-(SP)
010222 012746 000000G MOV #IO.DET,-(SP)
010226 012746 MOV (PC)+,-(SP)
010230 003 006 .BYTE 3,$$$T1
010232 104375 EMT 375
6595 010234 005037 000000G CLR .KLERQ ; [5.1006]CLEAR SNAPSHOT FLAG
6596 010240 142737 000000G 000000G BICB #M.PARQ,.MISC ; CLEAR THE PRIORITY FLAG
6597 010246 .INH6 ; DISALLOW INTERRUPTS
010246 013746 177776 MOV @#PS,-(SP)
010252 112737 000300 177776 MOVB #300,@#PS
6598 010260 013705 000000G MOV CTYPTR,R5 ; POINT TO THE CTY
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1113 03-APR-86 22:51 PAGE 160-1
.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
6599 010264 042765 000000G 000000G BIC #TT.OUT,STSW1(R5) ; CLEAR ANY I/O IN PROGRESS WE MAY HAVE SCREWED
6600 010272 012703 000000G MOV #D.CDLS,R3 ;;; SEND A FREE ACK FOR THE CTY
6601 010276 CALL ..SACK ;;;
010276 004737 000000G JSR PC,..SACK
6602 010302 .ENB6 ; ALLOW INTERRUPTS
010302 012637 177776 MOV (SP)+,@#PS
6603 010306 EXIT$S ; EXIT
010306 012746 MOV (PC)+,-(SP)
010310 063 001 .BYTE 51.,1
010312 104375 EMT 375
6604 010314 000004 IOT ; HELP....
6605 ;
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1113 03-APR-86 22:51 PAGE 161
.START -- COMMAND PARSER MAIN LOOP 7602.02
6607 .SBTTL .START -- COMMAND PARSER MAIN LOOP 7602.02
6608
6609 ;+
6610 ; .START -- COMMAND PARSER MAIN LOOP.
6611 ;
6612 ; THIS IS THE MAIN LOOP AND TOPMOST LEVEL OF THE RSX20F CONSOLE
6613 ; COMMAND PARSER. CONTROL IS PASSED HERE ON STARTUP AND ON ERROR
6614 ; RESTARTS FROM ".PTTRP". THE PROMPT STRING IS OUTPUT TO THE CONSOLE
6615 ; OUTPUT DEVICE AND THE NEXT COMMAND STRING IS SOLICITED FROM
6616 ; THE OPERATOR.
6617 ;
6618 ; INPUT ARGUMENTS:
6619 ;
6620 ; NONE.
6621 ;
6622 ; OUTPUT ARGUMENTS:
6623 ;
6624 ; R0 POINTS TO THE REPEAT COUNT
6625 ; R5 POINTS TO THE INPUT STREAM
6626 ;
6627 ; ERROR CODES RETURNED:
6628 ;
6629 ; IF THE CONSOLE DEVICE CANNOT BE ATTACHED OR DETACHED, THE
6630 ; PARSER EXITS.
6631 ;-
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1113 03-APR-86 22:51 PAGE 162
.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
6633 .SBTTL .RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
6634
6635 ;+
6636 ; .REGSV -- SUBROUTINE TO SAVE AND RESTORE R5 - R1 ON THE STACK.
6637 ;
6638 ; R1 - R5 ARE SAVED ON THE STACK, AND MAY BE RESTORED BY EITHER:
6639 ;
6640 ; RETURN ; RETURNS TO HIGHER LEVEL
6641 ; -OR-
6642 ; CALL @(SP)+ ; RETURNS TO SAME LEVEL
6643 ;
6644 ; NO REGISTERS ARE DESTROYED BY THIS SUBROUTINE, AND SUBSEQUENT CALLS
6645 ; WILL NEST.
6646 ;
6647 ; CALLING SEQUENCE IS:
6648 ;
6649 ; CALL R5,.REGSV
6650 ; ONLY RETURN
6651 ;-
6652
6653 010316 .REGSV:: ; DEFINE AS GLOBAL
6654 010316 PUSH <R4,R3,R2,R1,R5>
010316 010446 MOV R4,-(SP)
010320 010346 MOV R3,-(SP)
010322 010246 MOV R2,-(SP)
010324 010146 MOV R1,-(SP)
010326 010546 MOV R5,-(SP)
6655 010330 016605 000012 MOV 12(SP),R5 ; .....RESTORE R5
6656 010334 000241 CLC ; .....CLEAR CC-C
6657 010336 CALL @(SP)+ ; .....RETURN WITH RESTORE ADDRESS ON THE STACK
010336 004736 JSR PC,@(SP)+
6658
6659 ; HERE TO RESTORE R1 - R5 AND RETURN
6660
6661 010340 POP <R1,R2,R3,R4,R5>
010340 012601 MOV (SP)+,R1
010342 012602 MOV (SP)+,R2
010344 012603 MOV (SP)+,R3
010346 012604 MOV (SP)+,R4
010350 012605 MOV (SP)+,R5
6662 010352 RETURN ; RETURN
010352 000207 RTS PC
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1113 03-APR-86 22:51 PAGE 163
.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
6664 010354 .START::
6665 010354 013706 000256' MOV .SVESP,SP ; INIT THE STACK POINTER
6666 010360 10$:
6667 010360 005037 000260' CLR .SVKLF ; RESET ".SVKLF"
6668 010364 012737 000021' 000004' MOV #PARNAM,.CCMDN ; SET UP PARSER NAME
6669 010372 CALL .TYINI ; INIT OUTPUT POINTERS
010372 004737 015736' JSR PC,.TYINI
6670 010376 012701 000000G MOV #.KLFLG,R1 ; POINT TO ".KLFLG"
6672 010402 012700 000034' MOV #KLEPRM,R0 ; [5.1006]KLE PROMPT
6673 010406 005737 000000G TST .KLERQ ; [5.1006]KL CRASH?
6674 010412 001003 BNE 12$ ; [5.1006]YES -- GET KLE INPUT
6675 010414 005037 000176' CLR .KLEDF ; [5.1006]NO -- CLEAR DEFAULT FLAG
6676 010420 000403 BR 15$ ; [5.1006]GO ON
6677 010422 12$: CALL .TYMSF ; [5.1006]YES -- OUTPUT PROMPT
010422 004737 015454' JSR PC,.TYMSF
6678 010426 000423 BR 35$ ; [5.1006]GET COMMANDS
6680 010430 012700 000030' 15$: MOV #PROMPT,R0 ; POINT TO THE PROMPT STRING
6681 010434 CALL .TYMSG ; PRINT IT
010434 004737 015462' JSR PC,.TYMSG
6682 010440 012700 000076 MOV #'>,R0 ; ASSUME THE KL IS RUNNING
6683 010444 032711 100000 BIT #KF.CLK,(R1) ; IS THE CLOCK ON?
6684 010450 001406 BEQ 20$ ; NO -- PRINT "#"
6685 010452 032711 040000 BIT #KF.RUN,(R1) ; YES -- IS THE RUN FLOP ON?
6686 010456 001005 BNE 30$ ; YES -- PRINT ">"
6687 010460 012700 000045 MOV #'%,R0 ; NO -- PRINT "%"
6688 010464 000402 BR 30$ ; GO DO IT
6689 ;
6690 010466 20$:
6691 010466 012700 000043 MOV #'#,R0 ; KL CLOCK IS OFF
6692 010472 30$:
6693 010472 CALL .TFCHR ; FORCE PRINT THE PROMPT CHARACTER
010472 004737 015504' JSR PC,.TFCHR
6694 010476 012705 001012' 35$: MOV #.COMND,R5 ; SET UP COMMAND BUFFER POINTER
6695 010502 CALL .GTCMD ; GO READ A COMMAND LINE
010502 004737 012610' JSR PC,.GTCMD
6696 010506 005037 000216' CLR .LGLWD ; FLUSH OLD LEGAL BITS
6697 010512 012700 000244' MOV #.RPTCT,R0 ; GET THE REPEAT COUNT POINTER
6698 010516 CALL .DOCMD ; NOW GO EXECUTE A COMMAND
010516 004737 007730' JSR PC,.DOCMD
6699 010522 000716 BR 10$ ; AND START OVER AGAIN
6700 ;
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1113 03-APR-86 22:51 PAGE 164
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
6702 .SBTTL .TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
6703
6704 ;+
6705 ; .TSCAN -- ROUTINE TO SCAN AN ".ASCIZ" SYMBOL TABLE.
6706 ;
6707 ; THIS ROUTINE WILL SCAN A SYMBOL TABLE AND RETURN THE DISPATCH
6708 ; ADDRESS ASSOCIATED WITH THE SYMBOL IN R0.
6709 ;
6710 ; THE ENTRIES IN THE SYMBOL TABLE ARE OF THE FORM:
6711 ;
6712 ; !=======================================!
6713 ; ! POINTER TO ".ASCIZ" SYMBOL !
6714 ; !---------------------------------------!
6715 ; ! LEGAL BITS FOR OBJECT !
6716 ; !---------------------------------------!
6717 ; ! DISPATCH FOR OBJECT !
6718 ; !=======================================!
6719 ;
6720 ; INPUT ARGUMENTS:
6721 ;
6722 ; R0 POINTS TO THE SYMBOL TABLE
6723 ;
6724 ; OUTPUT ARGUMENTS:
6725 ;
6726 ; R0 POINTS TO THE "LEGAL" BITS OF THE MATCHED SYMBOL
6727 ;
6728 ; ERROR CODES RETURNED:
6729 ;
6730 ; AMB -- AMBIGUOUS KEYWORD.
6731 ; NSK -- NON-EXISTENT KEYWORD.
6732 ; WRM -- WRONG MODE FOR COMMAND.
6733 ;-
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1113 03-APR-86 22:51 PAGE 165
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
6735 010524 .TSCAN::
6736 010524 CALL .CKCTC ; SEE IF "^C" WAS TYPED
010524 004737 000166' JSR PC,.CKCTC
6737 010530 CALL .CKSYM ; GET OVER LEADING BLANKS
010530 004737 000374' JSR PC,.CKSYM
6738 010534 122704 000077 CMPB #'?,R4 ; IS THIS AN INQUIRY?
6739 010540 001442 BEQ 50$ ; YES -- DISPLAY THE TABLE
6740 010542 PUSH R1 ; NO -- SAVE R1 ON THE STACK
010542 010146 MOV R1,-(SP)
6741 010544 PUSH R5 ; .SAVE THE INPUT POINTER
010544 010546 MOV R5,-(SP)
6742 010546 010001 MOV R0,R1 ; ..TABLE POINTER TO R1
6743 010550 PUSH R5 ; ..SAVE THE INPUT POINTER AGAIN
010550 010546 MOV R5,-(SP)
6744 010552 005046 CLR -(SP) ; ...CLEAR A SCRATCH AREA
6745 010554 10$:
6746 010554 012100 MOV (R1)+,R0 ; ....GET THE ADDRESS OF THE SYMBOL
6747 010556 CALL .SSCAN ; ....SCAN IT
010556 004737 010774' JSR PC,.SSCAN
6748 010562 103412 BCS 30$ ; ....NO MATCH -- TRY NEXT ENTRY
6749 010564 001004 BNE 20$ ; ....MATCH -- SAVE POINTER AND CONTINUE
6750 010566 010100 MOV R1,R0 ; ....EXACT MATCH -- PUT THE POINTER IN R0
6751 010570 010566 000004 MOV R5,4(SP) ; ....FIX THE INPUT POINTER
6752 010574 000414 BR 40$ ; ....AND SET UP FOR EXIT
6753 ;
6754 010576 20$:
6755 010576 005716 TST (SP) ; ....HAVE WE ALREADY FOUND A MATCH?
6756 010600 001062 BNE TSCAMB ; ....YES -- GIVE "AMB" ERROR
6757 010602 010116 MOV R1,(SP) ; ....NO -- SAVE POINTER AND GO ON
6758 010604 010566 000004 MOV R5,4(SP) ; ....SAVE THE BUFFER POINTER
6759 010610 30$:
6760 010610 016605 000002 MOV 2(SP),R5 ; ....RESET THE INPUT POINTER
6761 010614 022121 CMP (R1)+,(R1)+ ; ....ADVANCE THE POINTER
6762 010616 005711 TST (R1) ; ....IS THIS THE END OF THE TABLE?
6763 010620 001355 BNE 10$ ; ....NO -- TRY THIS SYMBOL
6764 010622 011600 MOV (SP),R0 ; ....YES -- DID WE FIND A MATCH?
6765 010624 001455 BEQ TSCNSK ; ....NO -- GIVE "NSK" ERROR
6766 010626 40$:
6767 010626 033710 000000G BIT .FEMOD,(R0) ; ....YES -- CAN WE DO THIS COMMAND?
6768 010632 001455 BEQ TSCWRM ; ....NO -- GIVE "WRM" ERROR
6769 010634 022626 CMP (SP)+,(SP)+ ; ....YES -- CLEAR THE STACK
6770 010636 POP R5 ; ..RETURN UPDATED LINE POINTER
010636 012605 MOV (SP)+,R5
6771 010640 111504 MOVB (R5),R4 ; .PUT THE DELIMITER IN R4
6772 010642 POP R1 ; .RESTORE R1
010642 012601 MOV (SP)+,R1
6773 010644 RETURN ; WITH POINTER TO LEGAL BITS IN R0
010644 000207 RTS PC
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1113 03-APR-86 22:51 PAGE 166
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
6775 010646 50$:
6776 010646 105725 TSTB (R5)+ ; GET OVER THE "?"
6777 010650 CALL .CKEOC ; CHECK FOR E-O-C
010650 004737 000214' JSR PC,.CKEOC
6778 010654 010001 MOV R0,R1 ; TABLE POINTER TO R1
6779 010656 CALL .TCRLF ; TYPE A <CRLF>
010656 004737 015552' JSR PC,.TCRLF
6780 010662 013700 000004' MOV .CCMDN,R0 ; CURRENT COMMAND NAME
6781 010666 CALL .TYMSG ; PRINT THAT
010666 004737 015462' JSR PC,.TYMSG
6782 010672 012700 000345' MOV #TDMSG0,R0 ; REST OF LINE
6783 010676 CALL .TYLIN ; PRINT IT
010676 004737 015446' JSR PC,.TYLIN
6784 010702 60$:
6785 010702 012100 MOV (R1)+,R0 ; NAME POINTER TO R0
6786 010704 001414 BEQ 80$ ; EXIT IF NULL
6787 010706 031137 000000G BIT (R1),.FEMOD ; COMMAND LEGAL IN THIS MODE?
6788 010712 001407 BEQ 70$ ; NO -- GO ON
6789 010714 105760 000001 TSTB 1(R0) ; [5.1012]ONE CHAR COMMAND?
6790 010720 001404 BEQ 70$ ; [5.1012]YES -- SKIP IT
6791 010722 CALL .TYSPC ; YES -- SPACE OVER
010722 004737 014602' JSR PC,.TYSPC
6792 010726 CALL .TYLIN ; PRINT THIS NAME
010726 004737 015446' JSR PC,.TYLIN
6793 010732 70$:
6794 010732 022121 CMP (R1)+,(R1)+ ; POINT TO THE NEXT NAME
6795 010734 000762 BR 60$ ; AND GO ON
6796 ;
6797 010736 80$:
6798 010736 013706 000256' MOV .SVESP,SP ; RESET THE STACK
6799 010742 000177 000254' JMP @.STRTV ; AND START OVER
6800 ;
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1113 03-APR-86 22:51 PAGE 167
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
6802 010746 TSCAMB:
6803 010746 016605 000002 MOV 2(SP),R5 ; RESET INPUT POINTER
6804 010752 ERROR$ AMB ; .ERROR -- MULTIPLE MATCH
010752 012746 004112 MOV #^RAMB,-(SP)
010756 104400 TRAP TC.ERR
6805 ;
6806 010760 TSCNSK:
6807 010760 ERROR$ NSK ; .ERROR -- NON-EXISTENT KEYWORD
010760 012746 055203 MOV #^RNSK,-(SP)
010764 104400 TRAP TC.ERR
6808 ;
6809 010766 TSCWRM:
6810 010766 ERROR$ WRM ; .ERROR -- WRONG MODE FOR COMMAND
010766 012746 111235 MOV #^RWRM,-(SP)
010772 104400 TRAP TC.ERR
6811 ;
6812
6813 000345 .PSECT MESSAG
6814
6815 000345 TDMSG0:
6816 000345 040 103 117 .ASCIZ % COMMANDS ARE:%
000350 115 115 101
000353 116 104 123
000356 040 101 122
000361 105 072 000
6817 010774 .PSECT
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1113 03-APR-86 22:51 PAGE 168
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
6819 .SBTTL .SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
6820
6821 ;+
6822 ; .SSCAN -- ROUTINE TO SCAN A SYMBOL IN THE INPUT STREAM FOR A MATCH
6823 ; WITH AN ".ASCIZ" SYMBOL IN A TABLE.
6824 ;
6825 ; THIS ROUTINE WILL FIND A MATCH OR NON-MATCH ON A SYMBOL POINTED TO
6826 ; BY R5 WITH THE ".ASCIZ" SYMBOLS IN THE TABLE POINTED TO BY R0.
6827 ;
6828 ; INPUT ARGUMENTS:
6829 ;
6830 ; R0 POINTS TO AN ".ASCIZ" SYMBOL IN A TABLE DESCRIBED IN
6831 ; ".TSCAN" (Q.V.).
6832 ; R5 POINTS TO THE INPUT STREAM, OR THE OTHER SYMBOL TO BE
6833 ; MATCHED.
6834 ;
6835 ; OUTPUT ARGUMENTS:
6836 ;
6837 ; ON FAILURE, (NO MATCH):
6838 ; R5 POINTS TO THE BEGINNING OF THE SYMBOL IN THE INPUT STREAM
6839 ; R4 CONTAINS THE LAST CHARACTER PROCESSED IN THE INPUT STREAM
6840 ; CC-C IS SET.
6841 ;
6842 ; ON SUCCESS, (MATCH):
6843 ; R5 POINTS TO THE DELIMITER AFTER THE SYMBOL
6844 ; R4 CONTAINS THAT DELIMITER CHARACTER
6845 ; CC-C IS CLEAR
6846 ; IF CC-Z IS SET, THE MATCH WAS EXACT.
6847 ;
6848 ; ERROR CODES RETURNED:
6849 ;
6850 ; ILS -- ILLEGAL SEPARATOR CHARCATER.
6851 ;-
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1113 03-APR-86 22:51 PAGE 169
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
6853 010774 .SSCAN::
6854 010774 121510 CMPB (R5),(R0) ; TEST CHARACTERS FOR MATCH
6855 010776 001006 BNE 20$ ; NO MATCH -- CHECK DELIMITER
6856 011000 105720 TSTB (R0)+ ; ADVANCE THE POINTERS
6857 011002 001402 BEQ 10$ ; MATCH ON ".ASCIZ" SYMBOLS?
6858 011004 105725 TSTB (R5)+ ; NO -- ADVANCE OTHER POINTER
6859 011006 000772 BR .SSCAN ; AND TRY NEXT TWO CHARACTERS
6860 ;
6861 011010 10$:
6862 011010 105740 TSTB -(R0) ; BACK THE POINTER UP
6863 011012 000405 BR 30$ ; AND EXIT
6864 ;
6865 011014 20$:
6866 011014 111504 MOVB (R5),R4 ; GET LAST CHARACTER FROM INPUT
6867 011016 132764 000034 001502' BITB #CH.END,.CHTAB(R4)
6868 011024 001402 BEQ 40$ ; NOT LEGAL DELIMITER -- GIVE NO MATCH
6869 011026 30$:
6870 011026 105710 TSTB (R0) ; LOOK AT THE LAST CHARACTER IN OUR SYMBOL
6871 011030 000401 BR 50$ ; AND EXIT
6872 ;
6873 011032 40$:
6874 011032 000261 SEC ; SET CC-C TO SAY "NO MATCH"
6875 011034 50$:
6876 011034 RETURN ; TO CALLER
011034 000207 RTS PC
REPTC -- REPEAT COMMAND MODULE MACRO M1113 03-APR-86 22:51 PAGE 171
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
6879 .TITLE REPTC -- REPEAT COMMAND MODULE 7703.25
6880
6881 .IDENT "005000"
6882
6883 ;
6884 ; COPYRIGHT (C) 1975, 1984, 1985 BY
6885 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6886 ; ALL RIGHTS RESERVED.
6887 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
6888 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
6889 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
6890 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
6891 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
6892 ;
6893 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
6894 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
6895 ; CORPORATION.
6896 ;
6897 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6898 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
6899 ;
6900 ; MODULE: REPEAT COMMAND
6901 ;
6902 ; VERSION: 05-00
6903 ;
6904 ; AUTHOR: R. BELANGER
6905 ;
6906 ; DATE: 7703.25
6907 ;
6908 ; THIS MODULE CONTAINS:
6909 ;
6910 ; 1) REPEAT COMMAND CODE
REPTC -- REPEAT COMMAND MODULE MACRO M1113 03-APR-86 22:51 PAGE 172
.REPTC -- THE "REPEAT" COMMAND 7703.25
6912 .SBTTL .REPTC -- THE "REPEAT" COMMAND 7703.25
6913
6914 ;+
6915 ; .REPTC -- THE "REPEAT" COMMAND
6916 ;
6917 ; THIS ROUTINE WILL ACCEPT AND CHECK A 36 BIT REPEAT COUNT BEFORE
6918 ; CALLING THE TOP LEVEL OF THE COMMAND PARSER.
6919 ;
6920 ; INPUT ARGUMENTS:
6921 ;
6922 ; NONE.
6923 ;
6924 ; OUTPUT ARGUMENTS:
6925 ;
6926 ; R0 POINTS TO A 36 BIT REPEAT COUNT
6927 ;
6928 ; ERROR CODES RETURNED:
6929 ;
6930 ; IRC -- ILLEGAL REPEAT COUNT
6931 ;-
6932
6933 011036 .REPTC::
6934 011036 013737 000166' 000240' MOV .IRADX,.RDXSV ; SAVE CURRENT INPUT RADIX
6935 011044 012737 000012 000166' MOV #^D10,.IRADX ; SET IT TO DECIMAL
6936 011052 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
6937 011054 005046 CLR -(SP) ; .
6938 011056 005046 CLR -(SP) ; ..
6939 011060 010600 MOV SP,R0 ; ...POINT TO IT
6940 011062 CALL .GTKLN ; ...READ THE NUMBER
011062 004737 013302' JSR PC,.GTKLN
6941 011066 013737 000240' 000166' MOV .RDXSV,.IRADX ; ...RESET INPUT RADIX
6942 011074 CALL .TPTST ; ...SEE WHAT WE GOT
011074 004737 011474' JSR PC,.TPTST
6943 011100 003410 BLE REPIRC ; ...ILLEGAL IF .LE. 0
6944 011102 CALL .CKEOC ; ...CHECK E-O-C
011102 004737 000214' JSR PC,.CKEOC
6945 011106 105725 TSTB (R5)+ ; ...GET OVER THE E-O-C CHARACTER
6946 011110 CALL .DOCMD ; ...CONTINUE PROCESSING THE LINE
011110 004737 007730' JSR PC,.DOCMD
6947 011114 062706 000006 ADD #^D6,SP ; ...FLUSH THE STACK
6948 011120 RETURN ; TO CALLER
011120 000207 RTS PC
6949 011122 REPIRC:
6950 011122 ERROR$ IRC ; ERROR -- ILLEGAL REPEAT COUNT
011122 012746 035423 MOV #^RIRC,-(SP)
011126 104400 TRAP TC.ERR
6951 ;
REPTC -- REPEAT COMMAND MODULE MACRO M1113 03-APR-86 22:51 PAGE 173
.REPTC -- THE "REPEAT" COMMAND 7703.25
6953
6954 .TITLE TABLE -- COMMAND PARSER COMMAND TABLES 7812.20
6955
6956 .IDENT "007030"
6957
6958 ;
6959 ; COPYRIGHT (C) 1975, 1984, 1985 BY
6960 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6961 ; ALL RIGHTS RESERVED.
6962 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
6963 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
6964 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
6965 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
6966 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
6967 ;
6968 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
6969 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
6970 ; CORPORATION.
6971 ;
6972 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6973 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
6974 ;
6975 ; MODULE: MAIN COMMAND PARSER TABLES
6976 ;
6977 ; VERSION: 07-03
6978 ;
6979 ; AUTHOR: R. BELANGER
6980 ;
6981 ; DATE: 7812.20
6982 ;
6983 ; THIS MODULE CONTAINS:
6984 ;
6985 ; 1) THE MAIN COMMAND TABLES
6986 ;
6987 ; MODIFICATIONS:
6988 ;
6989 ; NO. DATE PROGRAMMER REASON
6990 ; --- ---- ---------- ------
6991 ; 001 28-FEB-77 R. BELANGER ADD DISCONNECT COMMAND
6992 ;
6993 ; [5.1000] 24-AUG-79 K. LEFEBVRE ADD "TAKE" COMMAND
6994 ; ADD "SET OUTPUT" COMMAND
6995 ; [5.1002] 14-SEP-79 K. LEFEBVRE ADD "SET AC-BLOCK" COMMAND
6996 ; ADD "SWEEP" COMMAND
6997 ; [5.1010] 17-OCT-79 K.LEFEBVRE ADD "SHOW" COMMAND
6998 ; [5.1011] 19-OCT-79 R.BELANGER ADD "WHAT HARDWARE" COMMAND
6999 ; [5.1012] 19-OCT-79 R.BELANGER ADD "MARK-MICROCODE" COMMAND
7000 ; ADD "UNMARK-MICROCODE" COMMAND
7001 ; 002 05-NOV-80 S. LEAPLINE ADD "AUTO-TAKE" COMMAND
7002 ;
7003 ;09-JUN-83 TCO 6.1675 D. WEAVER
7004 ; REMOVE THE "SET/CLEAR/WHAT AUTO-TAKE" COMMANDS.
7005 ;
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 174
.CMDTB -- THE MAIN COMMAND TABLE 7703.25
7007 .SBTTL .CMDTB -- THE MAIN COMMAND TABLE 7703.25
7008
7009 004350 .PSECT DATA
7010
7011 004350 .CMDTB::
7012 004350 COMND$ ,<LG.OPR!LG.RPT>,.NULLC,NUL
000364 000 NULMSG:: .ASCIZ %%
004350 000364' .WORD NULMSG ; POINTER TO "" SYMBOL
004352 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
004354 007716' .WORD .NULLC ; ROUTINE TO CALL OR DATA
7013 ;
7014 004356 COMND$ ABORT,LG.OPR,.ABRTC,ABO
000365 101 102 117 ABOMSG:: .ASCIZ %ABORT%
000370 122 124 000
004356 000365' .WORD ABOMSG ; POINTER TO "ABORT" SYMBOL
004360 000001 .WORD LG.OPR ; LEGAL BITS
004362 000000G .WORD .ABRTC ; ROUTINE TO CALL OR DATA
7015 ;
7016 004364 COMND$ CLEAR,<LG.OPR!LG.RPT>,.CLRCM,CLR
000373 103 114 105 CLRMSG:: .ASCIZ %CLEAR%
000376 101 122 000
004364 000373' .WORD CLRMSG ; POINTER TO "CLEAR" SYMBOL
004366 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
004370 000000G .WORD .CLRCM ; ROUTINE TO CALL OR DATA
7017 ;
7018 004372 COMND$ CONTINUE,<LG.PRG!LG.RPT>,.CONTC,CNT
000401 103 117 116 CNTMSG:: .ASCIZ %CONTINUE%
000404 124 111 116
000407 125 105 000
004372 000401' .WORD CNTMSG ; POINTER TO "CONTINUE" SYMBOL
004374 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004376 000000G .WORD .CONTC ; ROUTINE TO CALL OR DATA
7019 ;
7020 004400 COMND$ DEPOSIT,<LG.PRG!LG.RPT>,.DPOSC,DEP
000412 104 105 120 DEPMSG:: .ASCIZ %DEPOSIT%
000415 117 123 111
000420 124 000
004400 000412' .WORD DEPMSG ; POINTER TO "DEPOSIT" SYMBOL
004402 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004404 000000G .WORD .DPOSC ; ROUTINE TO CALL OR DATA
7021 ;
7022 004406 COMND$ DISCONNECT,LG.ALL,.DISCC,DIS
000422 104 111 123 DISMSG:: .ASCIZ %DISCONNECT%
000425 103 117 116
000430 116 105 103
000433 124 000
004406 000422' .WORD DISMSG ; POINTER TO "DISCONNECT" SYMBOL
004410 000007 .WORD LG.ALL ; LEGAL BITS
004412 000000G .WORD .DISCC ; ROUTINE TO CALL OR DATA
7023 ;
7024 004414 COMND$ EXAMINE,<LG.OPR!LG.RPT>,.EXAMC,EXA
000435 105 130 101 EXAMSG:: .ASCIZ %EXAMINE%
000440 115 111 116
000443 105 000
004414 000435' .WORD EXAMSG ; POINTER TO "EXAMINE" SYMBOL
004416 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
004420 000000G .WORD .EXAMC ; ROUTINE TO CALL OR DATA
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 174-1
.CMDTB -- THE MAIN COMMAND TABLE 7703.25
7025 ;
7026 004422 COMND$ FREAD,<LG.MNT!LG.RPT>,.DFRED,FRD
000445 106 122 105 FRDMSG:: .ASCIZ %FREAD%
000450 101 104 000
004422 000445' .WORD FRDMSG ; POINTER TO "FREAD" SYMBOL
004424 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004426 000000G .WORD .DFRED ; ROUTINE TO CALL OR DATA
7027 ;
7028 004430 COMND$ FWRITE,<LG.MNT!LG.RPT>,.DFWRT,FWR
000453 106 127 122 FWRMSG:: .ASCIZ %FWRITE%
000456 111 124 105
000461 000
004430 000453' .WORD FWRMSG ; POINTER TO "FWRITE" SYMBOL
004432 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004434 000000G .WORD .DFWRT ; ROUTINE TO CALL OR DATA
7029 ;
7030 004436 COMND$ FXCT,<LG.MNT!LG.RPT>,.DFXCT,FXC
000462 106 130 103 FXCMSG:: .ASCIZ %FXCT%
000465 124 000
004436 000462' .WORD FXCMSG ; POINTER TO "FXCT" SYMBOL
004440 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004442 000000G .WORD .DFXCT ; ROUTINE TO CALL OR DATA
7031 ;
7032 004444 COMND$ HALT,<LG.PRG!LG.RPT>,.HALTC,HLT
000467 110 101 114 HLTMSG:: .ASCIZ %HALT%
000472 124 000
004444 000467' .WORD HLTMSG ; POINTER TO "HALT" SYMBOL
004446 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004450 000000G .WORD .HALTC ; ROUTINE TO CALL OR DATA
7033 ;
7038 004452 COMND$ INITIALIZE,<LG.PRG!LG.RPT>,.INITC,INI
000474 111 116 111 INIMSG:: .ASCIZ %INITIALIZE%
000477 124 111 101
000502 114 111 132
000505 105 000
004452 000474' .WORD INIMSG ; POINTER TO "INITIALIZE" SYMBOL
004454 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004456 000000G .WORD .INITC ; ROUTINE TO CALL OR DATA
7039 ;
7040 004460 COMND$ JUMP,LG.OPR,.JUMPC,JMP
000507 112 125 115 JMPMSG:: .ASCIZ %JUMP%
000512 120 000
004460 000507' .WORD JMPMSG ; POINTER TO "JUMP" SYMBOL
004462 000001 .WORD LG.OPR ; LEGAL BITS
004464 000000G .WORD .JUMPC ; ROUTINE TO CALL OR DATA
7041 ;
7042 004466 COMND$ M,LG.OPR,.RUNCM,M
000514 115 000 MMSG:: .ASCIZ %M%
004466 000514' .WORD MMSG ; POINTER TO "M" SYMBOL
004470 000001 .WORD LG.OPR ; LEGAL BITS
004472 000000G .WORD .RUNCM ; ROUTINE TO CALL OR DATA
7043 ;
7044 004474 COMND$ MARK-MICROCODE,LG.MNT,.MARKC,MRK
000516 115 101 122 MRKMSG:: .ASCIZ %MARK-MICROCODE%
000521 113 055 115
000524 111 103 122
000527 117 103 117
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 174-2
.CMDTB -- THE MAIN COMMAND TABLE 7703.25
000532 104 105 000
004474 000516' .WORD MRKMSG ; POINTER TO "MARK-MICROCODE" SYMBOL
004476 000004 .WORD LG.MNT ; LEGAL BITS
004500 000000G .WORD .MARKC ; ROUTINE TO CALL OR DATA
7045 ;
7046 004502 COMND$ MCR,LG.OPR,.RUNCM,MCR
000535 115 103 122 MCRMSG:: .ASCIZ %MCR%
000540 000
004502 000535' .WORD MCRMSG ; POINTER TO "MCR" SYMBOL
004504 000001 .WORD LG.OPR ; LEGAL BITS
004506 000000G .WORD .RUNCM ; ROUTINE TO CALL OR DATA
7047 ;
7048 004510 COMND$ R,LG.OPR,.RUNCM,R
000541 122 000 RMSG:: .ASCIZ %R%
004510 000541' .WORD RMSG ; POINTER TO "R" SYMBOL
004512 000001 .WORD LG.OPR ; LEGAL BITS
004514 000000G .WORD .RUNCM ; ROUTINE TO CALL OR DATA
7049 ;
7050 004516 COMND$ REPEAT,<LG.OPR!LG.RPT>,.REPTC,RPT
000543 122 105 120 RPTMSG:: .ASCIZ %REPEAT%
000546 105 101 124
000551 000
004516 000543' .WORD RPTMSG ; POINTER TO "REPEAT" SYMBOL
004520 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
004522 011036' .WORD .REPTC ; ROUTINE TO CALL OR DATA
7051 ;
7052 ;
7053 004524 COMND$ QREST,LG.OPR,.RESQ,QRES
000552 121 122 105 QRESMSG:: .ASCIZ %QREST%
000555 123 124 000
004524 000552' .WORD QRESMSG ; POINTER TO "QREST" SYMBOL
004526 000001 .WORD LG.OPR ; LEGAL BITS
004530 000000G .WORD .RESQ ; ROUTINE TO CALL OR DATA
7054
7055 004532 COMND$ QSAVE,LG.OPR,.SAVQ,QSAV
000560 121 123 101 QSAVMSG:: .ASCIZ %QSAVE%
000563 126 105 000
004532 000560' .WORD QSAVMSG ; POINTER TO "QSAVE" SYMBOL
004534 000001 .WORD LG.OPR ; LEGAL BITS
004536 000000G .WORD .SAVQ ; ROUTINE TO CALL OR DATA
7056
7057 004540 COMND$ RESET,<LG.PRG!LG.RPT>,.RESTC,RES
000566 122 105 123 RESMSG:: .ASCIZ %RESET%
000571 105 124 000
004540 000566' .WORD RESMSG ; POINTER TO "RESET" SYMBOL
004542 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004544 000000G .WORD .RESTC ; ROUTINE TO CALL OR DATA
7058 ;
7059 004546 COMND$ RESTORE,LG.MNT,.RSTRC,RST
000574 122 105 123 RSTMSG:: .ASCIZ %RESTORE%
000577 124 117 122
000602 105 000
004546 000574' .WORD RSTMSG ; POINTER TO "RESTORE" SYMBOL
004550 000004 .WORD LG.MNT ; LEGAL BITS
004552 000000G .WORD .RSTRC ; ROUTINE TO CALL OR DATA
7060 ;
7061 004554 COMND$ RUN,LG.OPR,.RUNCM,RUN
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 174-3
.CMDTB -- THE MAIN COMMAND TABLE 7703.25
000604 122 125 116 RUNMSG:: .ASCIZ %RUN%
000607 000
004554 000604' .WORD RUNMSG ; POINTER TO "RUN" SYMBOL
004556 000001 .WORD LG.OPR ; LEGAL BITS
004560 000000G .WORD .RUNCM ; ROUTINE TO CALL OR DATA
7062 ;
7063 004562 COMND$ SAVE,LG.MNT,.SAVEC,SAV
000610 123 101 126 SAVMSG:: .ASCIZ %SAVE%
000613 105 000
004562 000610' .WORD SAVMSG ; POINTER TO "SAVE" SYMBOL
004564 000004 .WORD LG.MNT ; LEGAL BITS
004566 000000G .WORD .SAVEC ; ROUTINE TO CALL OR DATA
7064 ;
7065 004570 COMND$ SET,<LG.OPR!LG.RPT>,.SETCM,SET
000615 123 105 124 SETMSG:: .ASCIZ %SET%
000620 000
004570 000615' .WORD SETMSG ; POINTER TO "SET" SYMBOL
004572 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
004574 000000G .WORD .SETCM ; ROUTINE TO CALL OR DATA
7066 ;
7067 004576 COMND$ SHOW,LG.OPR,.WHATC,SHO
000621 123 110 117 SHOMSG:: .ASCIZ %SHOW%
000624 127 000
004576 000621' .WORD SHOMSG ; POINTER TO "SHOW" SYMBOL
004600 000001 .WORD LG.OPR ; LEGAL BITS
004602 000000G .WORD .WHATC ; ROUTINE TO CALL OR DATA
7068 ;
7069 004604 COMND$ SHUTDOWN,LG.OPR,.SHUTC,SHU
000626 123 110 125 SHUMSG:: .ASCIZ %SHUTDOWN%
000631 124 104 117
000634 127 116 000
004604 000626' .WORD SHUMSG ; POINTER TO "SHUTDOWN" SYMBOL
004606 000001 .WORD LG.OPR ; LEGAL BITS
004610 000000G .WORD .SHUTC ; ROUTINE TO CALL OR DATA
7070 ;
7071 004612 COMND$ START,<LG.PRG!LG.RPT>,.STRTC,STR
000637 123 124 101 STRMSG:: .ASCIZ %START%
000642 122 124 000
004612 000637' .WORD STRMSG ; POINTER TO "START" SYMBOL
004614 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004616 000000G .WORD .STRTC ; ROUTINE TO CALL OR DATA
7072 ;
7073 004620 COMND$ SWEEP,<LG.MNT!LG.RPT>,.SWPC,SWP
000645 123 127 105 SWPMSG:: .ASCIZ %SWEEP%
000650 105 120 000
004620 000645' .WORD SWPMSG ; POINTER TO "SWEEP" SYMBOL
004622 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004624 000000G .WORD .SWPC ; ROUTINE TO CALL OR DATA
7074 ;
7075 004626 COMND$ TAKE,<LG.OPR>,.TAKEC,TAK
000653 124 101 113 TAKMSG:: .ASCIZ %TAKE%
000656 105 000
004626 000653' .WORD TAKMSG ; POINTER TO "TAKE" SYMBOL
004630 000001 .WORD LG.OPR ; LEGAL BITS
004632 000000G .WORD .TAKEC ; ROUTINE TO CALL OR DATA
7076 ;
7077 004634 COMND$ UNMARK-MICROCODE,LG.MNT,.UMRKC,UNM
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 174-4
.CMDTB -- THE MAIN COMMAND TABLE 7703.25
000660 125 116 115 UNMMSG:: .ASCIZ %UNMARK-MICROCODE%
000663 101 122 113
000666 055 115 111
000671 103 122 117
000674 103 117 104
000677 105 000
004634 000660' .WORD UNMMSG ; POINTER TO "UNMARK-MICROCODE" SYMBOL
004636 000004 .WORD LG.MNT ; LEGAL BITS
004640 000000G .WORD .UMRKC ; ROUTINE TO CALL OR DATA
7078 ;
7079 004642 COMND$ QUIT,LG.OPR,.QUITC,QUT
000701 121 125 111 QUTMSG:: .ASCIZ %QUIT%
000704 124 000
004642 000701' .WORD QUTMSG ; POINTER TO "QUIT" SYMBOL
004644 000001 .WORD LG.OPR ; LEGAL BITS
004646 000000G .WORD .QUITC ; ROUTINE TO CALL OR DATA
7080 ;
7081 004650 COMND$ WHAT,LG.OPR,.WHATC,WHA
000706 127 110 101 WHAMSG:: .ASCIZ %WHAT%
000711 124 000
004650 000706' .WORD WHAMSG ; POINTER TO "WHAT" SYMBOL
004652 000001 .WORD LG.OPR ; LEGAL BITS
004654 000000G .WORD .WHATC ; ROUTINE TO CALL OR DATA
7082 ;
7083 004656 COMND$ XCT,<LG.PRG!LG.RPT>,.EXCTC,XCT
000713 130 103 124 XCTMSG:: .ASCIZ %XCT%
000716 000
004656 000713' .WORD XCTMSG ; POINTER TO "XCT" SYMBOL
004660 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004662 000000G .WORD .EXCTC ; ROUTINE TO CALL OR DATA
7084 ;
7085 004664 COMND$ ZERO,LG.PRG,.ZEROC,ZER
000717 132 105 122 ZERMSG:: .ASCIZ %ZERO%
000722 117 000
004664 000717' .WORD ZERMSG ; POINTER TO "ZERO" SYMBOL
004666 000002 .WORD LG.PRG ; LEGAL BITS
004670 000000G .WORD .ZEROC ; ROUTINE TO CALL OR DATA
7086 ;
7087 004672 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 175
.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
7089 .SBTTL .DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
7090
7091 004674 .DPETB::
7092 004674 COMND$ DECREMENT,<LG.RPT!LG.OPR>,.DPOSD,DCR
000724 104 105 103 DCRMSG:: .ASCIZ %DECREMENT%
000727 122 105 115
000732 105 116 124
000735 000
004674 000724' .WORD DCRMSG ; POINTER TO "DECREMENT" SYMBOL
004676 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
004700 000000G .WORD .DPOSD ; ROUTINE TO CALL OR DATA
7093 ;
7094 004702 COMND$ INCREMENT,<LG.RPT!LG.OPR>,.DPOSI,INC
000736 111 116 103 INCMSG:: .ASCIZ %INCREMENT%
000741 122 105 115
000744 105 116 124
000747 000
004702 000736' .WORD INCMSG ; POINTER TO "INCREMENT" SYMBOL
004704 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
004706 000000G .WORD .DPOSI ; ROUTINE TO CALL OR DATA
7095 ;
7096 004710 COMND$ NEXT,<LG.RPT!LG.OPR>,.DPOSN,NXT
000750 116 105 130 NXTMSG:: .ASCIZ %NEXT%
000753 124 000
004710 000750' .WORD NXTMSG ; POINTER TO "NEXT" SYMBOL
004712 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
004714 000000G .WORD .DPOSN ; ROUTINE TO CALL OR DATA
7097 ;
7098 004716 COMND$ PREVIOUS,<LG.RPT!LG.OPR>,.DPOSP,PRV
000755 120 122 105 PRVMSG:: .ASCIZ %PREVIOUS%
000760 126 111 117
000763 125 123 000
004716 000755' .WORD PRVMSG ; POINTER TO "PREVIOUS" SYMBOL
004720 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
004722 000000G .WORD .DPOSP ; ROUTINE TO CALL OR DATA
7099 ;
7100 004724 COMND$ THIS,<LG.RPT!LG.OPR>,.DPOSZ,THS
000766 124 110 111 THSMSG:: .ASCIZ %THIS%
000771 123 000
004724 000766' .WORD THSMSG ; POINTER TO "THIS" SYMBOL
004726 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
004730 000000G .WORD .DPOSZ ; ROUTINE TO CALL OR DATA
7101 ;
7102 004732 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 176
.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
7104 .SBTTL .DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
7105
7106 004734 .DPOTB::
7107 004734 COMND$ AR,<LG.PRG!LG.RPT>,.DEPAR,AR
000773 101 122 000 ARMSG:: .ASCIZ %AR%
004734 000773' .WORD ARMSG ; POINTER TO "AR" SYMBOL
004736 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004740 000000G .WORD .DEPAR ; ROUTINE TO CALL OR DATA
7108 ;
7109 004742 COMND$ ELEVEN,<LG.PRG!LG.RPT>,.DPOEL,ELE
000776 105 114 105 ELEMSG:: .ASCIZ %ELEVEN%
001001 126 105 116
001004 000
004742 000776' .WORD ELEMSG ; POINTER TO "ELEVEN" SYMBOL
004744 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004746 000000G .WORD .DPOEL ; ROUTINE TO CALL OR DATA
7110 ;
7111 004750 COMND$ TEN,<LG.PRG!LG.RPT>,.DPOKL,TEN
001005 124 105 116 TENMSG:: .ASCIZ %TEN%
001010 000
004750 001005' .WORD TENMSG ; POINTER TO "TEN" SYMBOL
004752 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004754 000000G .WORD .DPOKL ; ROUTINE TO CALL OR DATA
7112 ;
7113 004756 COMND$ DECREMENT,<LG.RPT!LG.OPR>,.DPOSD,DCR
004756 000724' .WORD DCRMSG ; POINTER TO "DECREMENT" SYMBOL
004760 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
004762 000000G .WORD .DPOSD ; ROUTINE TO CALL OR DATA
7114 ;
7115 004764 COMND$ INCREMENT,<LG.RPT!LG.OPR>,.DPOSI,INC
004764 000736' .WORD INCMSG ; POINTER TO "INCREMENT" SYMBOL
004766 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
004770 000000G .WORD .DPOSI ; ROUTINE TO CALL OR DATA
7116 ;
7117 004772 COMND$ NEXT,<LG.RPT!LG.OPR>,.DPOSN,NXT
004772 000750' .WORD NXTMSG ; POINTER TO "NEXT" SYMBOL
004774 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
004776 000000G .WORD .DPOSN ; ROUTINE TO CALL OR DATA
7118 ;
7119 005000 COMND$ PREVIOUS,<LG.RPT!LG.OPR>,.DPOSP,PRV
005000 000755' .WORD PRVMSG ; POINTER TO "PREVIOUS" SYMBOL
005002 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
005004 000000G .WORD .DPOSP ; ROUTINE TO CALL OR DATA
7120 ;
7121 005006 COMND$ THIS,<LG.RPT!LG.OPR>,.DPOSZ,THS
005006 000766' .WORD THSMSG ; POINTER TO "THIS" SYMBOL
005010 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
005012 000000G .WORD .DPOSZ ; ROUTINE TO CALL OR DATA
7122 ;
7123 005014 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 177
.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
7125 .SBTTL .EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
7126
7127 005016 .EXETB::
7128 005016 COMND$ DECREMENT,<LG.RPT!LG.OPR>,.EXAMD,DCR
005016 000724' .WORD DCRMSG ; POINTER TO "DECREMENT" SYMBOL
005020 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
005022 000000G .WORD .EXAMD ; ROUTINE TO CALL OR DATA
7129 ;
7130 005024 COMND$ INCREMENT,<LG.RPT!LG.OPR>,.EXAMI,INC
005024 000736' .WORD INCMSG ; POINTER TO "INCREMENT" SYMBOL
005026 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
005030 000000G .WORD .EXAMI ; ROUTINE TO CALL OR DATA
7131 ;
7132 005032 COMND$ NEXT,<LG.RPT!LG.OPR>,.EXAMN,NXT
005032 000750' .WORD NXTMSG ; POINTER TO "NEXT" SYMBOL
005034 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
005036 000000G .WORD .EXAMN ; ROUTINE TO CALL OR DATA
7133 ;
7134 005040 COMND$ PREVIOUS,<LG.RPT!LG.OPR>,.EXAMP,PRV
005040 000755' .WORD PRVMSG ; POINTER TO "PREVIOUS" SYMBOL
005042 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
005044 000000G .WORD .EXAMP ; ROUTINE TO CALL OR DATA
7135 ;
7136 005046 COMND$ THIS,<LG.RPT!LG.OPR>,.EXAMZ,THS
005046 000766' .WORD THSMSG ; POINTER TO "THIS" SYMBOL
005050 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
005052 000000G .WORD .EXAMZ ; ROUTINE TO CALL OR DATA
7137 ;
7138 005054 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 178
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
7140 .SBTTL .EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
7141
7142 005056 .EXMTB::
7143 005056 COMND$ AD,<LG.PRG!LG.RPT>,.EXAD,AD
001011 101 104 000 ADMSG:: .ASCIZ %AD%
005056 001011' .WORD ADMSG ; POINTER TO "AD" SYMBOL
005060 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005062 000000G .WORD .EXAD ; ROUTINE TO CALL OR DATA
7144 ;
7145 005064 COMND$ ADX,<LG.PRG!LG.RPT>,.EXADX,ADX
001014 101 104 130 ADXMSG:: .ASCIZ %ADX%
001017 000
005064 001014' .WORD ADXMSG ; POINTER TO "ADX" SYMBOL
005066 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005070 000000G .WORD .EXADX ; ROUTINE TO CALL OR DATA
7146 ;
7147 005072 COMND$ AR,<LG.PRG!LG.RPT>,.EXARR,AR
005072 000773' .WORD ARMSG ; POINTER TO "AR" SYMBOL
005074 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005076 000000G .WORD .EXARR ; ROUTINE TO CALL OR DATA
7148 ;
7149 005100 COMND$ ARX,<LG.PRG!LG.RPT>,.EXARX,ARX
001020 101 122 130 ARXMSG:: .ASCIZ %ARX%
001023 000
005100 001020' .WORD ARXMSG ; POINTER TO "ARX" SYMBOL
005102 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005104 000000G .WORD .EXARX ; ROUTINE TO CALL OR DATA
7150 ;
7151 005106 COMND$ BR,<LG.PRG!LG.RPT>,.EXBRR,BR
001024 102 122 000 BRMSG:: .ASCIZ %BR%
005106 001024' .WORD BRMSG ; POINTER TO "BR" SYMBOL
005110 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005112 000000G .WORD .EXBRR ; ROUTINE TO CALL OR DATA
7152 ;
7153 005114 COMND$ BRX,<LG.PRG!LG.RPT>,.EXBRX,BRX
001027 102 122 130 BRXMSG:: .ASCIZ %BRX%
001032 000
005114 001027' .WORD BRXMSG ; POINTER TO "BRX" SYMBOL
005116 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005120 000000G .WORD .EXBRX ; ROUTINE TO CALL OR DATA
7154 ;
7155 005122 COMND$ EBUS,<LG.PRG!LG.RPT>,.EXEBS,EBS
001033 105 102 125 EBSMSG:: .ASCIZ %EBUS%
001036 123 000
005122 001033' .WORD EBSMSG ; POINTER TO "EBUS" SYMBOL
005124 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005126 000000G .WORD .EXEBS ; ROUTINE TO CALL OR DATA
7156 ;
7157 ;
7158 005130 COMND$ FM,<LG.PRG!LG.RPT>,.EXFMR,FM
001040 106 115 000 FMMSG:: .ASCIZ %FM%
005130 001040' .WORD FMMSG ; POINTER TO "FM" SYMBOL
005132 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005134 000000G .WORD .EXFMR ; ROUTINE TO CALL OR DATA
7159 ;
7160 005136 COMND$ MQ,<LG.PRG!LG.RPT>,.EXMQR,MQ
001043 115 121 000 MQMSG:: .ASCIZ %MQ%
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 178-1
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
005136 001043' .WORD MQMSG ; POINTER TO "MQ" SYMBOL
005140 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005142 000000G .WORD .EXMQR ; ROUTINE TO CALL OR DATA
7161 ;
7162 005144 COMND$ PC,<LG.ALL!LG.RPT>,.EXVPC,PC
001046 120 103 000 PCMSG:: .ASCIZ %PC%
005144 001046' .WORD PCMSG ; POINTER TO "PC" SYMBOL
005146 000407 .WORD LG.ALL!LG.RPT ; LEGAL BITS
005150 000000G .WORD .EXVPC ; ROUTINE TO CALL OR DATA
7163 ;
7164 ;
7165 000012 EXRTBL==<.-.EXMTB>/6
7166 005152 COMND$ AB,<LG.PRG!LG.RPT>,.EXVAB,AB
001051 101 102 000 ABMSG:: .ASCIZ %AB%
005152 001051' .WORD ABMSG ; POINTER TO "AB" SYMBOL
005154 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005156 000000G .WORD .EXVAB ; ROUTINE TO CALL OR DATA
7167 ;
7168 005160 COMND$ CRADDR,<LG.PRG!LG.RPT>,.EXCRA,CRA
001054 103 122 101 CRAMSG:: .ASCIZ %CRADDR%
001057 104 104 122
001062 000
005160 001054' .WORD CRAMSG ; POINTER TO "CRADDR" SYMBOL
005162 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005164 000000G .WORD .EXCRA ; ROUTINE TO CALL OR DATA
7169 ;
7170 005166 COMND$ CRLOC,<LG.PRG!LG.RPT>,.EXCRL,CRL
001063 103 122 114 CRLMSG:: .ASCIZ %CRLOC%
001066 117 103 000
005166 001063' .WORD CRLMSG ; POINTER TO "CRLOC" SYMBOL
005170 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005172 000000G .WORD .EXCRL ; ROUTINE TO CALL OR DATA
7171 ;
7172 005174 COMND$ DRADDR,<LG.PRG!LG.RPT>,.EXDRA,DRA
001071 104 122 101 DRAMSG:: .ASCIZ %DRADDR%
001074 104 104 122
001077 000
005174 001071' .WORD DRAMSG ; POINTER TO "DRADDR" SYMBOL
005176 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005200 000000G .WORD .EXDRA ; ROUTINE TO CALL OR DATA
7173 ;
7174 005202 COMND$ DTE-20,<LG.PRG!LG.RPT>,.EXDTE,DTE
001100 104 124 105 DTEMSG:: .ASCIZ %DTE-20%
001103 055 062 060
001106 000
005202 001100' .WORD DTEMSG ; POINTER TO "DTE-20" SYMBOL
005204 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005206 000000G .WORD .EXDTE ; ROUTINE TO CALL OR DATA
7175 ;
7176 005210 COMND$ EBR,<LG.PRG!LG.RPT>,.EXEBR,EBR
001107 105 102 122 EBRMSG:: .ASCIZ %EBR%
001112 000
005210 001107' .WORD EBRMSG ; POINTER TO "EBR" SYMBOL
005212 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005214 000000G .WORD .EXEBR ; ROUTINE TO CALL OR DATA
7177
7178 005216 COMND$ ELEVEN,<LG.OPR!LG.RPT>,.EXMEL,ELE
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 178-2
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
005216 000776' .WORD ELEMSG ; POINTER TO "ELEVEN" SYMBOL
005220 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
005222 000000G .WORD .EXMEL ; ROUTINE TO CALL OR DATA
7179 ;
7180 005224 COMND$ FE,<LG.PRG!LG.RPT>,.EXFER,FER
001113 106 105 000 FERMSG:: .ASCIZ %FE%
005224 001113' .WORD FERMSG ; POINTER TO "FE" SYMBOL
005226 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005230 000000G .WORD .EXFER ; ROUTINE TO CALL OR DATA
7181 ;
7182 005232 COMND$ FLAGS,<LG.PRG!LG.RPT>,.EXAMF,FLG
001116 106 114 101 FLGMSG:: .ASCIZ %FLAGS%
001121 107 123 000
005232 001116' .WORD FLGMSG ; POINTER TO "FLAGS" SYMBOL
005234 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005236 000000G .WORD .EXAMF ; ROUTINE TO CALL OR DATA
7183 ;
7184 005240 COMND$ KL,<LG.ALL!LG.RPT>,.EXAMK,KL
001124 113 114 000 KLMSG:: .ASCIZ %KL%
005240 001124' .WORD KLMSG ; POINTER TO "KL" SYMBOL
005242 000407 .WORD LG.ALL!LG.RPT ; LEGAL BITS
005244 000000G .WORD .EXAMK ; ROUTINE TO CALL OR DATA
7185 ;
7186 005246 COMND$ PI,<LG.PRG!LG.RPT>,.EXMPI,PI
001127 120 111 000 PIMSG:: .ASCIZ %PI%
005246 001127' .WORD PIMSG ; POINTER TO "PI" SYMBOL
005250 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005252 000000G .WORD .EXMPI ; ROUTINE TO CALL OR DATA
7187 ;
7188 005254 COMND$ REGISTERS,<LG.PRG!LG.RPT>,.EXREG,REG
001132 122 105 107 REGMSG:: .ASCIZ %REGISTERS%
001135 111 123 124
001140 105 122 123
001143 000
005254 001132' .WORD REGMSG ; POINTER TO "REGISTERS" SYMBOL
005256 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005260 000000G .WORD .EXREG ; ROUTINE TO CALL OR DATA
7189 ;
7190 005262 COMND$ TEN,<LG.OPR!LG.RPT>,.EXMKL,TEN
005262 001005' .WORD TENMSG ; POINTER TO "TEN" SYMBOL
005264 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
005266 000000G .WORD .EXMKL ; ROUTINE TO CALL OR DATA
7191 ;
7192 005270 COMND$ UBR,<LG.PRG!LG.RPT>,.EXUBR,UBR
001144 125 102 122 UBRMSG:: .ASCIZ %UBR%
001147 000
005270 001144' .WORD UBRMSG ; POINTER TO "UBR" SYMBOL
005272 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005274 000000G .WORD .EXUBR ; ROUTINE TO CALL OR DATA
7193 005276 COMND$ VMA,<LG.PRG!LG.RPT>,.EXVMA,VMA
001150 126 115 101 VMAMSG:: .ASCIZ %VMA%
001153 000
005276 001150' .WORD VMAMSG ; POINTER TO "VMA" SYMBOL
005300 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005302 000000G .WORD .EXVMA ; ROUTINE TO CALL OR DATA
7194 ;
7195 005304 COMND$ VMAH,<LG.PRG!LG.RPT>,.EXVMH,VMH
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 178-3
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
001154 126 115 101 VMHMSG:: .ASCIZ %VMAH%
001157 110 000
005304 001154' .WORD VMHMSG ; POINTER TO "VMAH" SYMBOL
005306 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005310 000000G .WORD .EXVMH ; ROUTINE TO CALL OR DATA
7196 ;
7197 005312 COMND$ SBR,<LG.PRG!LG.RPT>,.EXSBR,SBR
001161 123 102 122 SBRMSG:: .ASCIZ %SBR%
001164 000
005312 001161' .WORD SBRMSG ; POINTER TO "SBR" SYMBOL
005314 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005316 000000G .WORD .EXSBR ; ROUTINE TO CALL OR DATA
7198 ;
7199 005320 COMND$ SC,<LG.PRG!LG.RPT>,.EXSCR,SCR
001165 123 103 000 SCRMSG:: .ASCIZ %SC%
005320 001165' .WORD SCRMSG ; POINTER TO "SC" SYMBOL
005322 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
005324 000000G .WORD .EXSCR ; ROUTINE TO CALL OR DATA
7200 ;
7201 005326 COMND$ DECREMENT,<LG.RPT!LG.OPR>,.EXAMD,DCR
005326 000724' .WORD DCRMSG ; POINTER TO "DECREMENT" SYMBOL
005330 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
005332 000000G .WORD .EXAMD ; ROUTINE TO CALL OR DATA
7202 ;
7203 005334 COMND$ INCREMENT,<LG.RPT!LG.OPR>,.EXAMI,INC
005334 000736' .WORD INCMSG ; POINTER TO "INCREMENT" SYMBOL
005336 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
005340 000000G .WORD .EXAMI ; ROUTINE TO CALL OR DATA
7204 ;
7205 005342 COMND$ NEXT,<LG.RPT!LG.OPR>,.EXAMN,NXT
005342 000750' .WORD NXTMSG ; POINTER TO "NEXT" SYMBOL
005344 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
005346 000000G .WORD .EXAMN ; ROUTINE TO CALL OR DATA
7206 ;
7207 005350 COMND$ PREVIOUS,<LG.RPT!LG.OPR>,.EXAMP,PRV
005350 000755' .WORD PRVMSG ; POINTER TO "PREVIOUS" SYMBOL
005352 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
005354 000000G .WORD .EXAMP ; ROUTINE TO CALL OR DATA
7208 ;
7209 005356 COMND$ THIS,<LG.RPT!LG.OPR>,.EXAMZ,THS
005356 000766' .WORD THSMSG ; POINTER TO "THIS" SYMBOL
005360 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
005362 000000G .WORD .EXAMZ ; ROUTINE TO CALL OR DATA
7210 ;
7211 005364 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 179
.KLMTB -- THE KLINIK MODE TABLE 7702.16
7213 .SBTTL .KLMTB -- THE KLINIK MODE TABLE 7702.16
7214
7215 005366 .KLMTB::
7216 005366 COMND$ MAINTENANCE,LG.ALL,LG.ALL,MNT
001170 115 101 111 MNTMSG:: .ASCIZ %MAINTENANCE%
001173 116 124 105
001176 116 101 116
001201 103 105 000
005366 001170' .WORD MNTMSG ; POINTER TO "MAINTENANCE" SYMBOL
005370 000007 .WORD LG.ALL ; LEGAL BITS
005372 000007 .WORD LG.ALL ; ROUTINE TO CALL OR DATA
7217 ;
7218 005374 COMND$ OPERATOR,LG.ALL,LG.OPR,OPR
001204 117 120 105 OPRMSG:: .ASCIZ %OPERATOR%
001207 122 101 124
001212 117 122 000
005374 001204' .WORD OPRMSG ; POINTER TO "OPERATOR" SYMBOL
005376 000007 .WORD LG.ALL ; LEGAL BITS
005400 000001 .WORD LG.OPR ; ROUTINE TO CALL OR DATA
7219 ;
7220 005402 COMND$ PROGRAMMER,LG.ALL,LG.PRM,PRG
001215 120 122 117 PRGMSG:: .ASCIZ %PROGRAMMER%
001220 107 122 101
001223 115 115 105
001226 122 000
005402 001215' .WORD PRGMSG ; POINTER TO "PROGRAMMER" SYMBOL
005404 000007 .WORD LG.ALL ; LEGAL BITS
005406 000003 .WORD LG.PRM ; ROUTINE TO CALL OR DATA
7221 ;
7222 005410 000000 .WORD 0 ; END OF TABLE MARKER
7223
7224 005412 .KLMT1::
7225 005412 COMND$ REMOTE,LG.ALL,1,REM
001230 122 105 115 REMMSG:: .ASCIZ %REMOTE%
001233 117 124 105
001236 000
005412 001230' .WORD REMMSG ; POINTER TO "REMOTE" SYMBOL
005414 000007 .WORD LG.ALL ; LEGAL BITS
005416 000001 .WORD 1 ; ROUTINE TO CALL OR DATA
7226 ;
7227 005420 COMND$ USER,LG.ALL,-1,USR
001237 125 123 105 USRMSG:: .ASCIZ %USER%
001242 122 000
005420 001237' .WORD USRMSG ; POINTER TO "USER" SYMBOL
005422 000007 .WORD LG.ALL ; LEGAL BITS
005424 177777 .WORD -1 ; ROUTINE TO CALL OR DATA
7228 ;
7229 005426 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 180
.MONTB -- THE MONTH TABLE 7702.16
7231 .SBTTL .MONTB -- THE MONTH TABLE 7702.16
7232
7233
7234 005430 .MONTB::
7235 005430 COMND$ JANUARY,LG.ALL,1.,JAN
001244 112 101 116 JANMSG:: .ASCIZ %JANUARY%
001247 125 101 122
001252 131 000
005430 001244' .WORD JANMSG ; POINTER TO "JANUARY" SYMBOL
005432 000007 .WORD LG.ALL ; LEGAL BITS
005434 000001 .WORD 1. ; ROUTINE TO CALL OR DATA
7236 ;
7237 005436 COMND$ FEBRUARY,LG.ALL,2.,FEB
001254 106 105 102 FEBMSG:: .ASCIZ %FEBRUARY%
001257 122 125 101
001262 122 131 000
005436 001254' .WORD FEBMSG ; POINTER TO "FEBRUARY" SYMBOL
005440 000007 .WORD LG.ALL ; LEGAL BITS
005442 000002 .WORD 2. ; ROUTINE TO CALL OR DATA
7238 ;
7239 005444 COMND$ MARCH,LG.ALL,3.,MAR
001265 115 101 122 MARMSG:: .ASCIZ %MARCH%
001270 103 110 000
005444 001265' .WORD MARMSG ; POINTER TO "MARCH" SYMBOL
005446 000007 .WORD LG.ALL ; LEGAL BITS
005450 000003 .WORD 3. ; ROUTINE TO CALL OR DATA
7240 ;
7241 005452 COMND$ APRIL,LG.ALL,4.,APR
001273 101 120 122 APRMSG:: .ASCIZ %APRIL%
001276 111 114 000
005452 001273' .WORD APRMSG ; POINTER TO "APRIL" SYMBOL
005454 000007 .WORD LG.ALL ; LEGAL BITS
005456 000004 .WORD 4. ; ROUTINE TO CALL OR DATA
7242 ;
7243 005460 COMND$ MAY,LG.ALL,5.,MAY
001301 115 101 131 MAYMSG:: .ASCIZ %MAY%
001304 000
005460 001301' .WORD MAYMSG ; POINTER TO "MAY" SYMBOL
005462 000007 .WORD LG.ALL ; LEGAL BITS
005464 000005 .WORD 5. ; ROUTINE TO CALL OR DATA
7244 ;
7245 005466 COMND$ JUNE,LG.ALL,6.,JUN
001305 112 125 116 JUNMSG:: .ASCIZ %JUNE%
001310 105 000
005466 001305' .WORD JUNMSG ; POINTER TO "JUNE" SYMBOL
005470 000007 .WORD LG.ALL ; LEGAL BITS
005472 000006 .WORD 6. ; ROUTINE TO CALL OR DATA
7246 ;
7247 005474 COMND$ JULY,LG.ALL,7.,JUL
001312 112 125 114 JULMSG:: .ASCIZ %JULY%
001315 131 000
005474 001312' .WORD JULMSG ; POINTER TO "JULY" SYMBOL
005476 000007 .WORD LG.ALL ; LEGAL BITS
005500 000007 .WORD 7. ; ROUTINE TO CALL OR DATA
7248 ;
7249 005502 COMND$ AUGUST,LG.ALL,8.,AUG
001317 101 125 107 AUGMSG:: .ASCIZ %AUGUST%
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 180-1
.MONTB -- THE MONTH TABLE 7702.16
001322 125 123 124
001325 000
005502 001317' .WORD AUGMSG ; POINTER TO "AUGUST" SYMBOL
005504 000007 .WORD LG.ALL ; LEGAL BITS
005506 000010 .WORD 8. ; ROUTINE TO CALL OR DATA
7250 ;
7251 005510 COMND$ SEPTEMBER,LG.ALL,9.,SEP
001326 123 105 120 SEPMSG:: .ASCIZ %SEPTEMBER%
001331 124 105 115
001334 102 105 122
001337 000
005510 001326' .WORD SEPMSG ; POINTER TO "SEPTEMBER" SYMBOL
005512 000007 .WORD LG.ALL ; LEGAL BITS
005514 000011 .WORD 9. ; ROUTINE TO CALL OR DATA
7252 ;
7253 005516 COMND$ OCTOBER,LG.ALL,10.,OCT
001340 117 103 124 OCTMSG:: .ASCIZ %OCTOBER%
001343 117 102 105
001346 122 000
005516 001340' .WORD OCTMSG ; POINTER TO "OCTOBER" SYMBOL
005520 000007 .WORD LG.ALL ; LEGAL BITS
005522 000012 .WORD 10. ; ROUTINE TO CALL OR DATA
7254 ;
7255 005524 COMND$ NOVEMBER,LG.ALL,11.,NOV
001350 116 117 126 NOVMSG:: .ASCIZ %NOVEMBER%
001353 105 115 102
001356 105 122 000
005524 001350' .WORD NOVMSG ; POINTER TO "NOVEMBER" SYMBOL
005526 000007 .WORD LG.ALL ; LEGAL BITS
005530 000013 .WORD 11. ; ROUTINE TO CALL OR DATA
7256 ;
7257 005532 COMND$ DECEMBER,LG.ALL,12.,DEC
001361 104 105 103 DECMSG:: .ASCIZ %DECEMBER%
001364 105 115 102
001367 105 122 000
005532 001361' .WORD DECMSG ; POINTER TO "DECEMBER" SYMBOL
005534 000007 .WORD LG.ALL ; LEGAL BITS
005536 000014 .WORD 12. ; ROUTINE TO CALL OR DATA
7258 ;
7259 005540 000000 .WORD 0 ; END OF TABLE MARKER
7260
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
7262 .SBTTL .NSETB -- NORMAL ERROR CODE TABLE 7710.11
7263
7264 005542 .NSETB::
7265 005542 NSERR$ APE,<KL APR ERROR>
000000 101 120 105 APEERM: .ASCIZ %APE - KL APR ERROR%
000003 040 055 040
000006 113 114 040
000011 101 120 122
000014 040 105 122
000017 122 117 122
000022 000
005542 004305 .RAD50 /APE/ ; "APE" IN .RAD50
005544 000000' .WORD APEERM ; POINTER TO MESSAGE
7266 ;
7267 005546 NSERR$ BAE,<BURST ARG ERROR>
000023 102 101 105 BAEERM: .ASCIZ %BAE - BURST ARG ERROR%
000026 040 055 040
000031 102 125 122
000034 123 124 040
000037 101 122 107
000042 040 040 105
000045 122 122 117
000050 122 000
005546 006255 .RAD50 /BAE/ ; "BAE" IN .RAD50
005550 000023' .WORD BAEERM ; POINTER TO MESSAGE
7268 ;
7269 005552 NSERR$ CAE,<KL CRAM ADDR. ERROR>
000052 103 101 105 CAEERM: .ASCIZ %CAE - KL CRAM ADDR. ERROR%
000055 040 055 040
000060 113 114 040
000063 103 122 101
000066 115 040 101
000071 104 104 122
000074 056 040 105
000077 122 122 117
000102 122 000
005552 011355 .RAD50 /CAE/ ; "CAE" IN .RAD50
005554 000052' .WORD CAEERM ; POINTER TO MESSAGE
7270 005556 NSERR$ CAL,<CAN'T ASSIGN LUN>
000104 103 101 114 CALERM: .ASCIZ %CAL - CAN'T ASSIGN LUN%
000107 040 055 040
000112 103 101 116
000115 047 124 040
000120 101 123 123
000123 111 107 116
000126 040 114 125
000131 116 000
005556 011364 .RAD50 /CAL/ ; "CAL" IN .RAD50
005560 000104' .WORD CALERM ; POINTER TO MESSAGE
7271 005562 NSERR$ CAP,<CAN'T ATTACH PRINTER>
000133 103 101 120 CAPERM: .ASCIZ %CAP - CAN'T ATTACH PRINTER%
000136 040 055 040
000141 103 101 116
000144 047 124 040
000147 101 124 124
000152 101 103 110
000155 040 120 122
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-1
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
000160 111 116 124
000163 105 122 000
005562 011370 .RAD50 /CAP/ ; "CAP" IN .RAD50
005564 000133' .WORD CAPERM ; POINTER TO MESSAGE
7272 005566 NSERR$ CBO,<COMMAND BUFFER OVERFLOW>
000166 103 102 117 CBOERM: .ASCIZ %CBO - COMMAND BUFFER OVERFLOW%
000171 040 055 040
000174 103 117 115
000177 115 101 116
000202 104 040 102
000205 125 106 106
000210 105 122 040
000213 117 126 105
000216 122 106 114
000221 117 127 000
005566 011437 .RAD50 /CBO/ ; "CBO" IN .RAD50
005570 000166' .WORD CBOERM ; POINTER TO MESSAGE
7273 005572 NSERR$ CDI,<SET/CLEAR DATE ILLEGAL IN PRIMARY PROTOCOL>
000224 103 104 111 CDIERM: .ASCIZ %CDI - SET/CLEAR DATE ILLEGAL IN PRIMARY PROTOCOL%
000227 040 055 040
000232 123 105 124
000235 057 103 114
000240 105 101 122
000243 040 104 101
000246 124 105 040
000251 111 114 114
000254 105 107 101
000257 114 040 111
000262 116 040 120
000265 122 111 115
000270 101 122 131
000273 040 120 122
000276 117 124 117
000301 103 117 114
000304 000
005572 011551 .RAD50 /CDI/ ; "CDI" IN .RAD50
005574 000224' .WORD CDIERM ; POINTER TO MESSAGE
7274 005576 NSERR$ CFH,<CAN'T FIND KL HALT LOOP>
000305 103 106 110 CFHERM: .ASCIZ %CFH - CAN'T FIND KL HALT LOOP%
000310 040 055 040
000313 103 101 116
000316 047 124 040
000321 106 111 116
000324 104 040 113
000327 114 040 110
000332 101 114 124
000335 040 114 117
000340 117 120 000
005576 011670 .RAD50 /CFH/ ; "CFH" IN .RAD50
005600 000305' .WORD CFHERM ; POINTER TO MESSAGE
7275 005602 NSERR$ CLE,<CONSOLE LIMIT EXCEEDED>
000343 103 114 105 CLEERM: .ASCIZ %CLE - CONSOLE LIMIT EXCEEDED%
000346 040 055 040
000351 103 117 116
000354 123 117 114
000357 105 040 114
000362 111 115 111
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-2
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
000365 124 040 105
000370 130 103 105
000373 105 104 105
000376 104 000
005602 012245 .RAD50 /CLE/ ; "CLE" IN .RAD50
005604 000343' .WORD CLEERM ; POINTER TO MESSAGE
7276 005606 NSERR$ CNR,<COMMAND IS NOT REPEATABLE>
000400 103 116 122 CNRERM: .ASCIZ %CNR - COMMAND IS NOT REPEATABLE%
000403 040 055 040
000406 103 117 115
000411 115 101 116
000414 104 040 111
000417 123 040 116
000422 117 124 040
000425 122 105 120
000430 105 101 124
000433 101 102 114
000436 105 000
005606 012402 .RAD50 /CNR/ ; "CNR" IN .RAD50
005610 000400' .WORD CNRERM ; POINTER TO MESSAGE
7277 005612 NSERR$ CPE,<CAN'T PHASE EBOX>
000440 103 120 105 CPEERM: .ASCIZ %CPE - CAN'T PHASE EBOX%
000443 040 055 040
000446 103 101 116
000451 047 124 040
000454 120 110 101
000457 123 105 040
000462 105 102 117
000465 130 000
005612 012505 .RAD50 /CPE/ ; "CPE" IN .RAD50
005614 000440' .WORD CPEERM ; POINTER TO MESSAGE
7278 005616 NSERR$ CRH,<CAN'T READ HARDWARE OPTIONS>
000467 103 122 110 CRHERM: .ASCIZ %CRH - CAN'T READ HARDWARE OPTIONS%
000472 040 055 040
000475 103 101 116
000500 047 124 040
000503 122 105 101
000506 104 040 110
000511 101 122 104
000514 127 101 122
000517 105 040 117
000522 120 124 111
000525 117 116 123
000530 000
005616 012630 .RAD50 /CRH/ ; "CRH" IN .RAD50
005620 000467' .WORD CRHERM ; POINTER TO MESSAGE
7279 ;
7283 005622 NSERR$ DAV,<DATE ALREADY VALID>
000531 104 101 126 DAVERM: .ASCIZ %DAV - DATE ALREADY VALID%
000534 040 055 040
000537 104 101 124
000542 105 040 101
000545 114 122 105
000550 101 104 131
000553 040 126 101
000556 114 111 104
000561 000
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-3
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
005622 014476 .RAD50 /DAV/ ; "DAV" IN .RAD50
005624 000531' .WORD DAVERM ; POINTER TO MESSAGE
7284 005626 NSERR$ DBT,<DATE BEFORE TODAY>
000562 104 102 124 DBTERM: .ASCIZ %DBT - DATE BEFORE TODAY%
000565 040 055 040
000570 104 101 124
000573 105 040 102
000576 105 106 117
000601 122 105 040
000604 124 117 104
000607 101 131 000
005626 014544 .RAD50 /DBT/ ; "DBT" IN .RAD50
005630 000562' .WORD DBTERM ; POINTER TO MESSAGE
7285 005632 NSERR$ DCK,<DIVIDE CHECK>
000612 104 103 113 DCKERM: .ASCIZ %DCK - DIVIDE CHECK%
000615 040 055 040
000620 104 111 126
000623 111 104 105
000626 040 103 110
000631 105 103 113
000634 000
005632 014603 .RAD50 /DCK/ ; "DCK" IN .RAD50
005634 000612' .WORD DCKERM ; POINTER TO MESSAGE
7286 005636 NSERR$ DMF,<DEPOSIT KL MEMORY FAILED>
000635 104 115 106 DMFERM: .ASCIZ %DMF - DEPOSIT KL MEMORY FAILED%
000640 040 055 040
000643 104 105 120
000646 117 123 111
000651 124 040 113
000654 114 040 115
000657 105 115 117
000662 122 131 040
000665 106 101 111
000670 114 105 104
000673 000
005636 015416 .RAD50 /DMF/ ; "DMF" IN .RAD50
005640 000635' .WORD DMFERM ; POINTER TO MESSAGE
7287 005642 NSERR$ DOR,<DATE OUT OF RANGE>
000674 104 117 122 DORERM: .ASCIZ %DOR - DATE OUT OF RANGE%
000677 040 055 040
000702 104 101 124
000705 105 040 117
000710 125 124 040
000713 117 106 040
000716 122 101 116
000721 107 105 000
005642 015552 .RAD50 /DOR/ ; "DOR" IN .RAD50
005644 000674' .WORD DORERM ; POINTER TO MESSAGE
7288 005646 NSERR$ DNF,<DIRECTORY FILE NOT FOUND>
000724 104 116 106 DNFERM: .ASCIZ %DNF - DIRECTORY FILE NOT FOUND%
000727 040 055 040
000732 104 111 122
000735 105 103 124
000740 117 122 131
000743 040 106 111
000746 114 105 040
000751 116 117 124
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-4
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
000754 040 106 117
000757 125 116 104
000762 000
005646 015466 .RAD50 /DNF/ ; "DNF" IN .RAD50
005650 000724' .WORD DNFERM ; POINTER TO MESSAGE
7289 005652 NSERR$ DNP,<DTE-20 IS NOT PRIVILEGED>
000763 104 116 120 DNPERM: .ASCIZ %DNP - DTE-20 IS NOT PRIVILEGED%
000766 040 055 040
000771 104 124 105
000774 055 062 060
000777 040 111 123
001002 040 116 117
001005 124 040 120
001010 122 111 126
001013 111 114 105
001016 107 105 104
001021 000
005652 015500 .RAD50 /DNP/ ; "DNP" IN .RAD50
005654 000763' .WORD DNPERM ; POINTER TO MESSAGE
7290 005656 NSERR$ DSF,<DTE-20 STATUS FAILED>
001022 104 123 106 DSFERM: .ASCIZ %DSF - DTE-20 STATUS FAILED%
001025 040 055 040
001030 104 124 105
001033 055 062 060
001036 040 123 124
001041 101 124 125
001044 123 040 106
001047 101 111 114
001052 105 104 000
005656 015776 .RAD50 /DSF/ ; "DSF" IN .RAD50
005660 001022' .WORD DSFERM ; POINTER TO MESSAGE
7291 005662 NSERR$ DTC,<DTE-20 CONFUSED - RUN AND HALT LOOP>
001055 104 124 103 DTCERM: .ASCIZ %DTC - DTE-20 CONFUSED - RUN AND HALT LOOP%
001060 040 055 040
001063 104 124 105
001066 055 062 060
001071 040 103 117
001074 116 106 125
001077 123 105 104
001102 040 055 040
001105 122 125 116
001110 040 101 116
001113 104 040 110
001116 101 114 124
001121 040 114 117
001124 117 120 000
005662 016043 .RAD50 /DTC/ ; "DTC" IN .RAD50
005664 001055' .WORD DTCERM ; POINTER TO MESSAGE
7292 ;
7293 005666 NSERR$ ECT,<EBOX CLOCK TIMEOUT>
001127 105 103 124 ECTERM: .ASCIZ %ECT - EBOX CLOCK TIMEOUT%
001132 040 055 040
001135 105 102 117
001140 130 040 103
001143 114 117 103
001146 113 040 124
001151 111 115 105
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-5
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
001154 117 125 124
001157 000
005666 017714 .RAD50 /ECT/ ; "ECT" IN .RAD50
005670 001127' .WORD ECTERM ; POINTER TO MESSAGE
7294 005672 NSERR$ EMF,<EXAMINE KL MEMORY FAILED>
001160 105 115 106 EMFERM: .ASCIZ %EMF - EXAMINE KL MEMORY FAILED%
001163 040 055 040
001166 105 130 101
001171 115 111 116
001174 105 040 113
001177 114 040 115
001202 105 115 117
001205 122 131 040
001210 106 101 111
001213 114 105 104
001216 000
005672 020516 .RAD50 /EMF/ ; "EMF" IN .RAD50
005674 001160' .WORD EMFERM ; POINTER TO MESSAGE
7295 005676 NSERR$ EOC,<END OF COMMAND REQUIRED>
001217 105 117 103 EOCERM: .ASCIZ %EOC - END OF COMMAND REQUIRED%
001222 040 055 040
001225 105 116 104
001230 040 117 106
001233 040 103 117
001236 115 115 101
001241 116 104 040
001244 122 105 121
001247 125 111 122
001252 105 104 000
005676 020633 .RAD50 /EOC/ ; "EOC" IN .RAD50
005700 001217' .WORD EOCERM ; POINTER TO MESSAGE
7296 005702 NSERR$ EPE,<EBUS PARITY ERROR>
001255 105 120 105 EPEERM: .ASCIZ %EPE - EBUS PARITY ERROR%
001260 040 055 040
001263 105 102 125
001266 123 040 120
001271 101 122 111
001274 124 131 040
001277 105 122 122
001302 117 122 000
005702 020705 .RAD50 /EPE/ ; "EPE" IN .RAD50
005704 001255' .WORD EPEERM ; POINTER TO MESSAGE
7297 005706 NSERR$ ESD,<EBOX STOPPED - DEPOSIT>
001305 105 123 104 ESDERM: .ASCIZ %ESD - EBOX STOPPED - DEPOSIT%
001310 040 055 040
001313 105 102 117
001316 130 040 123
001321 124 117 120
001324 120 105 104
001327 040 055 040
001332 104 105 120
001335 117 123 111
001340 124 000
005706 021074 .RAD50 /ESD/ ; "ESD" IN .RAD50
005710 001305' .WORD ESDERM ; POINTER TO MESSAGE
7298 005712 NSERR$ ESE,<EBOX STOPPED - EXAMINE>
001342 105 123 105 ESEERM: .ASCIZ %ESE - EBOX STOPPED - EXAMINE%
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-6
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
001345 040 055 040
001350 105 102 117
001353 130 040 123
001356 124 117 120
001361 120 105 104
001364 040 055 040
001367 105 130 101
001372 115 111 116
001375 105 000
005712 021075 .RAD50 /ESE/ ; "ESE" IN .RAD50
005714 001342' .WORD ESEERM ; POINTER TO MESSAGE
7299 ;
7300 005716 NSERR$ FCF,<FILE CLOSE FAILURE>
001377 106 103 106 FCFERM: .ASCIZ %FCF - FILE CLOSE FAILURE%
001402 040 055 040
001405 106 111 114
001410 105 040 103
001413 114 117 123
001416 105 040 106
001421 101 111 114
001424 125 122 105
001427 000
005716 022776 .RAD50 /FCF/ ; "FCF" IN .RAD50
005720 001377' .WORD FCFERM ; POINTER TO MESSAGE
7301 005722 NSERR$ FEF,<FILE EXTEND FAILURE>
001430 106 105 106 FEFERM: .ASCIZ %FEF - FILE EXTEND FAILURE%
001433 040 055 040
001436 106 111 114
001441 105 040 105
001444 130 124 105
001447 116 104 040
001452 106 101 111
001455 114 125 122
001460 105 000
005722 023116 .RAD50 /FEF/ ; "FEF" IN .RAD50
005724 001430' .WORD FEFERM ; POINTER TO MESSAGE
7302 005726 NSERR$ FEN,<FILE ENTER FAILURE>
001462 106 105 116 FENERM: .ASCIZ %FEN - FILE ENTER FAILURE%
001465 040 055 040
001470 106 111 114
001473 105 040 105
001476 116 124 105
001501 122 040 106
001504 101 111 114
001507 125 122 105
001512 000
005726 023126 .RAD50 /FEN/ ; "FEN" IN .RAD50
005730 001462' .WORD FENERM ; POINTER TO MESSAGE
7303 005732 NSERR$ FLF,<FILE LOOKUP FAILURE>
001513 106 114 106 FLFERM: .ASCIZ %FLF - FILE LOOKUP FAILURE%
001516 040 055 040
001521 106 111 114
001524 105 040 114
001527 117 117 113
001532 125 120 040
001535 106 101 111
001540 114 125 122
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-7
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
001543 105 000
005732 023546 .RAD50 /FLF/ ; "FLF" IN .RAD50
005734 001513' .WORD FLFERM ; POINTER TO MESSAGE
7304 005736 NSERR$ FOF,<FILE OPEN FAILURE>
001545 106 117 106 FOFERM: .ASCIZ %FOF - FILE OPEN FAILURE%
001550 040 055 040
001553 106 111 114
001556 105 040 117
001561 120 105 116
001564 040 106 101
001567 111 114 125
001572 122 105 000
005736 023736 .RAD50 /FOF/ ; "FOF" IN .RAD50
005740 001545' .WORD FOFERM ; POINTER TO MESSAGE
7305 005742 NSERR$ FRD,<FILE READ FAILURE>
001575 106 122 104 FRDERM: .ASCIZ %FRD - FILE READ FAILURE%
001600 040 055 040
001603 106 111 114
001606 105 040 122
001611 105 101 104
001614 040 106 101
001617 111 114 125
001622 122 105 000
005742 024124 .RAD50 /FRD/ ; "FRD" IN .RAD50
005744 001575' .WORD FRDERM ; POINTER TO MESSAGE
7306 005746 NSERR$ FSW,<FM SWEEP ERROR>
001625 106 123 127 FSWERM: .ASCIZ %FSW - FM SWEEP ERROR%
001630 040 055 040
001633 106 115 040
001636 123 127 105
001641 105 120 040
001644 105 122 122
001647 117 122 000
005746 024217 .RAD50 /FSW/ ; "FSW" IN .RAD50
005750 001625' .WORD FSWERM ; POINTER TO MESSAGE
7307 005752 NSERR$ FWT,<FILE WRITE FAILURE>
001652 106 127 124 FWTERM: .ASCIZ %FWT - FILE WRITE FAILURE%
001655 040 055 040
001660 106 111 114
001663 105 040 127
001666 122 111 124
001671 105 040 106
001674 101 111 114
001677 125 122 105
001702 000
005752 024454 .RAD50 /FWT/ ; "FWT" IN .RAD50
005754 001652' .WORD FWTERM ; POINTER TO MESSAGE
7308 ;
7309 005756 NSERR$ IDF,<ILLEGAL DATE FORMAT>
001703 111 104 106 IDFERM: .ASCIZ %IDF - ILLEGAL DATE FORMAT%
001706 040 055 040
001711 111 114 114
001714 105 107 101
001717 114 040 104
001722 101 124 105
001725 040 106 117
001730 122 115 101
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-8
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
001733 124 000
005756 034346 .RAD50 /IDF/ ; "IDF" IN .RAD50
005760 001703' .WORD IDFERM ; POINTER TO MESSAGE
7310 005762 NSERR$ IFC,<ILLEGAL FUNCTION CODE>
001735 111 106 103 IFCERM: .ASCIZ %IFC - ILLEGAL FUNCTION CODE%
001740 040 055 040
001743 111 114 114
001746 105 107 101
001751 114 040 106
001754 125 116 103
001757 124 111 117
001762 116 040 103
001765 117 104 105
001770 000
005762 034463 .RAD50 /IFC/ ; "IFC" IN .RAD50
005764 001735' .WORD IFCERM ; POINTER TO MESSAGE
7311 005766 NSERR$ ILI,<ILLEGAL INSTR>
001771 111 114 111 ILIERM: .ASCIZ %ILI - ILLEGAL INSTR%
001774 040 055 040
001777 111 114 114
002002 105 107 101
002005 114 040 111
002010 116 123 124
002013 122 000
005766 035051 .RAD50 /ILI/ ; "ILI" IN .RAD50
005770 001771' .WORD ILIERM ; POINTER TO MESSAGE
7312 005772 NSERR$ IOC,<ILLEGAL KL OPCODE>
002015 111 117 103 IOCERM: .ASCIZ %IOC - ILLEGAL KL OPCODE%
002020 040 055 040
002023 111 114 114
002026 105 107 101
002031 114 040 113
002034 114 040 117
002037 120 103 117
002042 104 105 000
005772 035233 .RAD50 /IOC/ ; "IOC" IN .RAD50
005774 002015' .WORD IOCERM ; POINTER TO MESSAGE
7313 005776 NSERR$ IRC,<ILLEGAL REPEAT COUNT>
002045 111 122 103 IRCERM: .ASCIZ %IRC - ILLEGAL REPEAT COUNT%
002050 040 055 040
002053 111 114 114
002056 105 107 101
002061 114 040 122
002064 105 120 105
002067 101 124 040
002072 103 117 125
002075 116 124 000
005776 035423 .RAD50 /IRC/ ; "IRC" IN .RAD50
006000 002045' .WORD IRCERM ; POINTER TO MESSAGE
7314 006002 NSERR$ IRE,<ILLEGAL RECURSION>
002100 111 122 105 IREERM: .ASCIZ %IRE - ILLEGAL RECURSION%
002103 040 055 040
002106 111 114 114
002111 105 107 101
002114 114 040 122
002117 105 103 125
002122 122 123 111
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-9
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
002125 117 116 000
006002 035425 .RAD50 /IRE/ ; "IRE" IN .RAD50
006004 002100' .WORD IREERM ; POINTER TO MESSAGE
7315 006006 NSERR$ ITF,<ILLEGAL TIME FORMAT>
002130 111 124 106 ITFERM: .ASCIZ %ITF - ILLEGAL TIME FORMAT%
002133 040 055 040
002136 111 114 114
002141 105 107 101
002144 114 040 124
002147 111 115 105
002152 040 106 117
002155 122 115 101
002160 124 000
006006 035546 .RAD50 /ITF/ ; "ITF" IN .RAD50
006010 002130' .WORD ITFERM ; POINTER TO MESSAGE
7316 006012 NSERR$ ITN,<ILLEGAL TASK NAME>
002162 111 124 116 ITNERM: .ASCIZ %ITN - ILLEGAL TASK NAME%
002165 040 055 040
002170 111 114 114
002173 105 107 101
002176 114 040 124
002201 101 123 113
002204 040 116 101
002207 115 105 000
006012 035556 .RAD50 /ITN/ ; "ITN" IN .RAD50
006014 002162' .WORD ITNERM ; POINTER TO MESSAGE
7317 ;
7318 006016 NSERR$ KCN,<KL CLOCK IS OFF>
002212 113 103 116 KCNERM: .ASCIZ %KCN - KL CLOCK IS OFF%
002215 040 055 040
002220 113 114 040
002223 103 114 117
002226 103 113 040
002231 111 123 040
002234 117 106 106
002237 000
006016 042506 .RAD50 /KCN/ ; "KCN" IN .RAD50
006020 002212' .WORD KCNERM ; POINTER TO MESSAGE
7319 006022 NSERR$ KLA,<KL ADDR. ERROR>
002240 113 114 101 KLAERM: .ASCIZ %KLA - KL ADDR. ERROR%
002243 040 055 040
002246 113 114 040
002251 101 104 104
002254 122 056 040
002257 105 122 122
002262 117 122 000
006022 043241 .RAD50 /KLA/ ; "KLA" IN .RAD50
006024 002240' .WORD KLAERM ; POINTER TO MESSAGE
7320 006026 NSERR$ KLR,<ILLEGAL WHILE KL IS RUNNING>
002265 113 114 122 KLRERM: .ASCIZ %KLR - ILLEGAL WHILE KL IS RUNNING%
002270 040 055 040
002273 111 114 114
002276 105 107 101
002301 114 040 127
002304 110 111 114
002307 105 040 113
002312 114 040 111
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-10
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
002315 123 040 122
002320 125 116 116
002323 111 116 107
002326 000
006026 043262 .RAD50 /KLR/ ; "KLR" IN .RAD50
006030 002265' .WORD KLRERM ; POINTER TO MESSAGE
7321 006032 NSERR$ KNC,<KL IS NOT CONTINUABLE>
002327 113 116 103 KNCERM: .ASCIZ %KNC - KL IS NOT CONTINUABLE%
002332 040 055 040
002335 113 114 040
002340 111 123 040
002343 116 117 124
002346 040 103 117
002351 116 124 111
002354 116 125 101
002357 102 114 105
002362 000
006032 043363 .RAD50 /KNC/ ; "KNC" IN .RAD50
006034 002327' .WORD KNCERM ; POINTER TO MESSAGE
7322 006036 NSERR$ KWE,<KLINIK WINDOW ERROR>
002363 113 127 105 KWEERM: .ASCIZ %KWE - KLINIK WINDOW ERROR%
002366 040 055 040
002371 113 114 111
002374 116 111 113
002377 040 127 111
002402 116 104 117
002405 127 040 105
002410 122 122 117
002413 122 000
006036 044135 .RAD50 /KWE/ ; "KWE" IN .RAD50
006040 002363' .WORD KWEERM ; POINTER TO MESSAGE
7323 ;
7324 006042 NSERR$ MRA,<MISSING REQUIRED ARGUMENT>
002415 115 122 101 MRAERM: .ASCIZ %MRA - MISSING REQUIRED ARGUMENT%
002420 040 055 040
002423 115 111 123
002426 123 111 116
002431 107 040 122
002434 105 121 125
002437 111 122 105
002442 104 040 101
002445 122 107 125
002450 115 105 116
002453 124 000
006042 052021 .RAD50 /MRA/ ; "MRA" IN .RAD50
006044 002415' .WORD MRAERM ; POINTER TO MESSAGE
7325 006046 NSERR$ MRH,<HARDWARE OPTIONS MUST BE READ>
002455 115 122 110 MRHERM: .ASCIZ %MRH - HARDWARE OPTIONS MUST BE READ%
002460 040 055 040
002463 110 101 122
002466 104 127 101
002471 122 105 040
002474 117 120 124
002477 111 117 116
002502 123 040 115
002505 125 123 124
002510 040 102 105
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-11
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
002513 040 122 105
002516 101 104 000
006046 052030 .RAD50 /MRH/ ; "MRH" IN .RAD50
006050 002455' .WORD MRHERM ; POINTER TO MESSAGE
7326 ;
7327 006052 NSERR$ NDI,<NULL DATE ILLEGAL>
002521 116 104 111 NDIERM: .ASCIZ %NDI - NULL DATE ILLEGAL%
002524 040 055 040
002527 116 125 114
002532 114 040 104
002535 101 124 105
002540 040 111 114
002543 114 105 107
002546 101 114 000
006052 054051 .RAD50 /NDI/ ; "NDI" IN .RAD50
006054 002521' .WORD NDIERM ; POINTER TO MESSAGE
7328 006056 NSERR$ NER,<NUMERIC EXPRESSION REQUIRED>
002551 116 105 122 NERERM: .ASCIZ %NER - NUMERIC EXPRESSION REQUIRED%
002554 040 055 040
002557 116 125 115
002562 105 122 111
002565 103 040 105
002570 130 120 122
002573 105 123 123
002576 111 117 116
002601 040 122 105
002604 121 125 111
002607 122 105 104
002612 000
006056 054132 .RAD50 /NER/ ; "NER" IN .RAD50
006060 002551' .WORD NERERM ; POINTER TO MESSAGE
7329 006062 NSERR$ NOR,<INPUT NUMBER OUT OF RANGE>
002613 116 117 122 NORERM: .ASCIZ %NOR - INPUT NUMBER OUT OF RANGE%
002616 040 055 040
002621 111 116 120
002624 125 124 040
002627 116 125 115
002632 102 105 122
002635 040 117 125
002640 124 040 117
002643 106 040 122
002646 101 116 107
002651 105 000
006062 054752 .RAD50 /NOR/ ; "NOR" IN .RAD50
006064 002613' .WORD NORERM ; POINTER TO MESSAGE
7330 006066 NSERR$ NPI,<NULL PASSWORD ILLEGAL>
002653 116 120 111 NPIERM: .ASCIZ %NPI - NULL PASSWORD ILLEGAL%
002656 040 055 040
002661 116 125 114
002664 114 040 120
002667 101 123 123
002672 127 117 122
002675 104 040 111
002700 114 114 105
002703 107 101 114
002706 000
006066 055011 .RAD50 /NPI/ ; "NPI" IN .RAD50
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-12
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
006070 002653' .WORD NPIERM ; POINTER TO MESSAGE
7331 006072 NSERR$ NSF,<NO SUCH FILE>
002707 116 123 106 NSFERM: .ASCIZ %NSF - NO SUCH FILE%
002712 040 055 040
002715 116 117 040
002720 123 125 103
002723 110 040 106
002726 111 114 105
002731 000
006072 055176 .RAD50 /NSF/ ; "NSF" IN .RAD50
006074 002707' .WORD NSFERM ; POINTER TO MESSAGE
7332 006076 NSERR$ NST,<NO SUCH TASK>
002732 116 123 124 NSTERM: .ASCIZ %NST - NO SUCH TASK%
002735 040 055 040
002740 116 117 040
002743 123 125 103
002746 110 040 124
002751 101 123 113
002754 000
006076 055214 .RAD50 /NST/ ; "NST" IN .RAD50
006100 002732' .WORD NSTERM ; POINTER TO MESSAGE
7333 006102 NSERR$ NTI,<NULL TIME ILLEGAL>
002755 116 124 111 NTIERM: .ASCIZ %NTI - NULL TIME ILLEGAL%
002760 040 055 040
002763 116 125 114
002766 114 040 124
002771 111 115 105
002774 040 111 114
002777 114 105 107
003002 101 114 000
006102 055251 .RAD50 /NTI/ ; "NTI" IN .RAD50
006104 002755' .WORD NTIERM ; POINTER TO MESSAGE
7334 ;
7335 006106 NSERR$ OAI,<ODD ADDR. ILLEGAL>
003005 117 101 111 OAIERM: .ASCIZ %OAI - ODD ADDR. ILLEGAL%
003010 040 055 040
003013 117 104 104
003016 040 101 104
003021 104 122 056
003024 040 111 114
003027 114 105 107
003032 101 114 000
006106 056761 .RAD50 /OAI/ ; "OAI" IN .RAD50
006110 003005' .WORD OAIERM ; POINTER TO MESSAGE
7336 006112 NSERR$ OFC,<ODD FUNCTION CODE>
003035 117 106 103 OFCERM: .ASCIZ %OFC - ODD FUNCTION CODE%
003040 040 055 040
003043 117 104 104
003046 040 106 125
003051 116 103 124
003054 111 117 116
003057 040 103 117
003062 104 105 000
006112 057263 .RAD50 /OFC/ ; "OFC" IN .RAD50
006114 003035' .WORD OFCERM ; POINTER TO MESSAGE
7337 ;
7338 006116 NSERR$ PTL,<PASSWORD TOO LONG>
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-13
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
003065 120 124 114 PTLERM: .ASCIZ %PTL - PASSWORD TOO LONG%
003070 040 055 040
003073 120 101 123
003076 123 127 117
003101 122 104 040
003104 124 117 117
003107 040 114 117
003112 116 107 000
006116 063454 .RAD50 /PTL/ ; "PTL" IN .RAD50
006120 003065' .WORD PTLERM ; POINTER TO MESSAGE
7339 ;
7340 006122 NSERR$ RPM,<RIGHT PARENTHESES MISSING>
003115 122 120 115 RPMERM: .ASCIZ %RPM - RIGHT PARENTHESES MISSING%
003120 040 055 040
003123 122 111 107
003126 110 124 040
003131 120 101 122
003134 105 116 124
003137 110 105 123
003142 105 123 040
003145 115 111 123
003150 123 111 116
003153 107 000
006122 071415 .RAD50 /RPM/ ; "RPM" IN .RAD50
006124 003115' .WORD RPMERM ; POINTER TO MESSAGE
7341 ;
7342 006126 NSERR$ SCF,<SET CLOCK FAILED>
003155 123 103 106 SCFERM: .ASCIZ %SCF - SET CLOCK FAILED%
003160 040 055 040
003163 123 105 124
003166 040 103 114
003171 117 103 113
003174 040 106 101
003177 111 114 105
003202 104 000
006126 073476 .RAD50 /SCF/ ; "SCF" IN .RAD50
006130 003155' .WORD SCFERM ; POINTER TO MESSAGE
7343 006132 NSERR$ SKI,<SET KLINIK ILLEGAL WHILE KLINIK ACTIVE>
003204 123 113 111 SKIERM: .ASCIZ %SKI - SET KLINIK ILLEGAL WHILE KLINIK ACTIVE%
003207 040 055 040
003212 123 105 124
003215 040 113 114
003220 111 116 111
003223 113 040 111
003226 114 114 105
003231 107 101 114
003234 040 127 110
003237 111 114 105
003242 040 113 114
003245 111 116 111
003250 113 040 101
003253 103 124 111
003256 126 105 000
006132 074201 .RAD50 /SKI/ ; "SKI" IN .RAD50
006134 003204' .WORD SKIERM ; POINTER TO MESSAGE
7344 006136 NSERR$ SPF,<SET PARITY FAILED>
003261 123 120 106 SPFERM: .ASCIZ %SPF - SET PARITY FAILED%
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-14
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
003264 040 055 040
003267 123 105 124
003272 040 120 101
003275 122 111 124
003300 131 040 106
003303 101 111 114
003306 105 104 000
006136 074506 .RAD50 /SPF/ ; "SPF" IN .RAD50
006140 003261' .WORD SPFERM ; POINTER TO MESSAGE
7345 006142 NSERR$ SZI,<START AT ZERO ILLEGAL>
003311 123 132 111 SZIERM: .ASCIZ %SZI - START AT ZERO ILLEGAL%
003314 040 055 040
003317 123 124 101
003322 122 124 040
003325 101 124 040
003330 132 105 122
003333 117 040 111
003336 114 114 105
003341 107 101 114
003344 000
006142 075331 .RAD50 /SZI/ ; "SZI" IN .RAD50
006144 003311' .WORD SZIERM ; POINTER TO MESSAGE
7346 ;
7347 006146 NSERR$ TAA,<TASK IS ALREADY ACTIVE>
003345 124 101 101 TAAERM: .ASCIZ %TAA - TASK IS ALREADY ACTIVE%
003350 040 055 040
003353 124 101 123
003356 113 040 111
003361 123 040 101
003364 114 122 105
003367 101 104 131
003372 040 101 103
003375 124 111 126
003400 105 000
006146 076451 .RAD50 /TAA/ ; "TAA" IN .RAD50
006150 003345' .WORD TAAERM ; POINTER TO MESSAGE
7348 006152 NSERR$ TOR,<TIME OUT OF RANGE>
003402 124 117 122 TORERM: .ASCIZ %TOR - TIME OUT OF RANGE%
003405 040 055 040
003410 124 111 115
003413 105 040 117
003416 125 124 040
003421 117 106 040
003424 122 101 116
003427 107 105 000
006152 077552 .RAD50 /TOR/ ; "TOR" IN .RAD50
006154 003402' .WORD TORERM ; POINTER TO MESSAGE
7349 ;
7350 006156 NSERR$ UNL,<KL MICROCODE NOT LOADED>
003432 125 116 114 UNLERM: .ASCIZ %UNL - KL MICROCODE NOT LOADED%
003435 040 055 040
003440 113 114 040
003443 115 111 103
003446 122 117 103
003451 117 104 105
003454 040 116 117
003457 124 040 114
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-15
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
003462 117 101 104
003465 105 104 000
006156 102574 .RAD50 /UNL/ ; "UNL" IN .RAD50
006160 003432' .WORD UNLERM ; POINTER TO MESSAGE
7351 ;
7352 006162 NSERR$ VFY,<DEPOSIT VERIFY FAILED>
003470 126 106 131 VFYERM: .ASCIZ %VFY - DEPOSIT VERIFY FAILED%
003473 040 055 040
003476 104 105 120
003501 117 123 111
003504 124 040 126
003507 105 122 111
003512 106 131 040
003515 106 101 111
003520 114 105 104
003523 000
006162 105211 .RAD50 /VFY/ ; "VFY" IN .RAD50
006164 003470' .WORD VFYERM ; POINTER TO MESSAGE
7353 ;
7354 006166 NSERR$ WRM,<COMMAND NOT AVAILABLE IN THIS CONSOLE MODE>
003524 127 122 115 WRMERM: .ASCIZ %WRM - COMMAND NOT AVAILABLE IN THIS CONSOLE MODE%
003527 040 055 040
003532 103 117 115
003535 115 101 116
003540 104 040 116
003543 117 124 040
003546 101 126 101
003551 111 114 101
003554 102 114 105
003557 040 111 116
003562 040 124 110
003565 111 123 040
003570 103 117 116
003573 123 117 114
003576 105 040 115
003601 117 104 105
003604 000
006166 111235 .RAD50 /WRM/ ; "WRM" IN .RAD50
006170 003524' .WORD WRMERM ; POINTER TO MESSAGE
7355 ;
7356 006172 NSERR$ YOR,<YEAR OUT OF RANGE>
003605 131 117 122 YORERM: .ASCIZ %YOR - YEAR OUT OF RANGE%
003610 040 055 040
003613 131 105 101
003616 122 040 117
003621 125 124 040
003624 117 106 040
003627 122 101 116
003632 107 105 000
006172 117252 .RAD50 /YOR/ ; "YOR" IN .RAD50
006174 003605' .WORD YORERM ; POINTER TO MESSAGE
7357 ;
7358 006176 NSERR$ XTO,<KL EXECUTE TIMED OUT>
003635 130 124 117 XTOERM: .ASCIZ %XTO - KL EXECUTE TIMED OUT%
003640 040 055 040
003643 113 114 040
003646 105 130 105
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 181-16
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
003651 103 125 124
003654 105 040 124
003657 111 115 105
003662 104 040 117
003665 125 124 000
006176 114457 .RAD50 /XTO/ ; "XTO" IN .RAD50
006200 003635' .WORD XTOERM ; POINTER TO MESSAGE
7359 ;
7360 006202 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 182
.RSTTB -- THE RESTORE COMMAND TABLE 8306.09
7362 .SBTTL .RSTTB -- THE RESTORE COMMAND TABLE 8306.09
7363
7364 006204 .RSTTB::
7365 006204 COMND$ AC-BLOCK,LG.MNT,.RSACB,ACB
001372 101 103 055 ACBMSG:: .ASCIZ %AC-BLOCK%
001375 102 114 117
001400 103 113 000
006204 001372' .WORD ACBMSG ; POINTER TO "AC-BLOCK" SYMBOL
006206 000004 .WORD LG.MNT ; LEGAL BITS
006210 000000G .WORD .RSACB ; ROUTINE TO CALL OR DATA
7366 ;
7367 006212 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 183
.SAVTB -- THE SAVE COMMAND TABLE 8306.09
7369 .SBTTL .SAVTB -- THE SAVE COMMAND TABLE 8306.09
7370
7371 006214 .SAVTB::
7372 006214 COMND$ PC-FLAGS,LG.MNT,.SVPC,SPC
001403 120 103 055 SPCMSG:: .ASCIZ %PC-FLAGS%
001406 106 114 101
001411 107 123 000
006214 001403' .WORD SPCMSG ; POINTER TO "PC-FLAGS" SYMBOL
006216 000004 .WORD LG.MNT ; LEGAL BITS
006220 000000G .WORD .SVPC ; ROUTINE TO CALL OR DATA
7373 ;
7374 006222 COMND$ AC-BLOCK,LG.MNT,.SVACB,ACB
006222 001372' .WORD ACBMSG ; POINTER TO "AC-BLOCK" SYMBOL
006224 000004 .WORD LG.MNT ; LEGAL BITS
006226 000000G .WORD .SVACB ; ROUTINE TO CALL OR DATA
7375 ;
7376 006230 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 184
.RESTB -- THE RESET COMMAND TABLE 7602.18
7378 .SBTTL .RESTB -- THE RESET COMMAND TABLE 7602.18
7379
7380 006232 .RESTB::
7381 006232 COMND$ ALL,<LG.PRG!LG.RPT>,.RSALL,ALL
001414 101 114 114 ALLMSG:: .ASCIZ %ALL%
001417 000
006232 001414' .WORD ALLMSG ; POINTER TO "ALL" SYMBOL
006234 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
006236 000000G .WORD .RSALL ; ROUTINE TO CALL OR DATA
7382 ;
7383 006240 COMND$ APR,<LG.PRG!LG.RPT>,.RSAPR,CPU
001420 101 120 122 CPUMSG:: .ASCIZ %APR%
001423 000
006240 001420' .WORD CPUMSG ; POINTER TO "APR" SYMBOL
006242 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
006244 000000G .WORD .RSAPR ; ROUTINE TO CALL OR DATA
7384 ;
7385 006246 COMND$ DTE-20,<LG.PRG!LG.RPT>,.RSDTE,DTE
006246 001100' .WORD DTEMSG ; POINTER TO "DTE-20" SYMBOL
006250 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
006252 000000G .WORD .RSDTE ; ROUTINE TO CALL OR DATA
7386 ;
7387 006254 COMND$ ERROR,<LG.RPT!LG.PRG>,.RSERR,ERR
001424 105 122 122 ERRMSG:: .ASCIZ %ERROR%
001427 117 122 000
006254 001424' .WORD ERRMSG ; POINTER TO "ERROR" SYMBOL
006256 000402 .WORD LG.RPT!LG.PRG ; LEGAL BITS
006260 000000G .WORD .RSERR ; ROUTINE TO CALL OR DATA
7388 ;
7389 006262 COMND$ INITIALIZE,<LG.PRG!LG.RPT>,.RSTIN,INI
006262 000474' .WORD INIMSG ; POINTER TO "INITIALIZE" SYMBOL
006264 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
006266 000000G .WORD .RSTIN ; ROUTINE TO CALL OR DATA
7390 ;
7391 006270 COMND$ IO,<LG.PRG!LG.RPT>,.RSTIO,IO
001432 111 117 000 IOMSG:: .ASCIZ %IO%
006270 001432' .WORD IOMSG ; POINTER TO "IO" SYMBOL
006272 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
006274 000000G .WORD .RSTIO ; ROUTINE TO CALL OR DATA
7392 ;
7393 006276 COMND$ PAG,<LG.PRG!LG.RPT>,.RSPAG,PAG
001435 120 101 107 PAGMSG:: .ASCIZ %PAG%
001440 000
006276 001435' .WORD PAGMSG ; POINTER TO "PAG" SYMBOL
006300 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
006302 000000G .WORD .RSPAG ; ROUTINE TO CALL OR DATA
7394 ;
7395 006304 COMND$ PI,<LG.PRG!LG.RPT>,.RSTPI,PI
006304 001127' .WORD PIMSG ; POINTER TO "PI" SYMBOL
006306 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
006310 000000G .WORD .RSTPI ; ROUTINE TO CALL OR DATA
7396 ;
7397 006312 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 185
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
7399 .SBTTL .SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
7400
7401 006314 .SCCTB::
7402 006314 COMND$ NORMAL,<LG.MNT!LG.RPT>,.SCCLN,NRM
001441 116 117 122 NRMMSG:: .ASCIZ %NORMAL%
001444 115 101 114
001447 000
006314 001441' .WORD NRMMSG ; POINTER TO "NORMAL" SYMBOL
006316 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
006320 000000G .WORD .SCCLN ; ROUTINE TO CALL OR DATA
7403 ;
7404 006322 COMND$ CRAM,<LG.MNT!LG.RPT>,.SCCEC,CRM
001450 103 122 101 CRMMSG:: .ASCIZ %CRAM%
001453 115 000
006322 001450' .WORD CRMMSG ; POINTER TO "CRAM" SYMBOL
006324 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
006326 000000G .WORD .SCCEC ; ROUTINE TO CALL OR DATA
7405 ;
7406 006330 COMND$ DATA-PATH,<LG.MNT!LG.RPT>,.SCCED,DPT
001455 104 101 124 DPTMSG:: .ASCIZ %DATA-PATH%
001460 101 055 120
001463 101 124 110
001466 000
006330 001455' .WORD DPTMSG ; POINTER TO "DATA-PATH" SYMBOL
006332 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
006334 000000G .WORD .SCCED ; ROUTINE TO CALL OR DATA
7407 ;
7408 006336 COMND$ CONTROL,<LG.MNT!LG.RPT>,.SCCEE,CTL
001467 103 117 116 CTLMSG:: .ASCIZ %CONTROL%
001472 124 122 117
001475 114 000
006336 001467' .WORD CTLMSG ; POINTER TO "CONTROL" SYMBOL
006340 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
006342 000000G .WORD .SCCEE ; ROUTINE TO CALL OR DATA
7409 ;
7410 006344 COMND$ EXTERNAL,<LG.MNT!LG.RPT>,.SCCSE,EXT
001477 105 130 124 EXTMSG:: .ASCIZ %EXTERNAL%
001502 105 122 116
001505 101 114 000
006344 001477' .WORD EXTMSG ; POINTER TO "EXTERNAL" SYMBOL
006346 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
006350 000000G .WORD .SCCSE ; ROUTINE TO CALL OR DATA
7411 ;
7412 006352 COMND$ INTERNAL,<LG.MNT!LG.RPT>,.SCCSI,INT
001510 111 116 124 INTMSG:: .ASCIZ %INTERNAL%
001513 105 122 116
001516 101 114 000
006352 001510' .WORD INTMSG ; POINTER TO "INTERNAL" SYMBOL
006354 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
006356 000000G .WORD .SCCSI ; ROUTINE TO CALL OR DATA
7413 ;
7414 006360 COMND$ MARGIN,<LG.MNT!LG.RPT>,.SCCSM,MGN
001521 115 101 122 MGNMSG:: .ASCIZ %MARGIN%
001524 107 111 116
001527 000
006360 001521' .WORD MGNMSG ; POINTER TO "MARGIN" SYMBOL
006362 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 185-1
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
006364 000000G .WORD .SCCSM ; ROUTINE TO CALL OR DATA
7415 ;
7416 006366 COMND$ FULL,<LG.MNT!LG.RPT>,.SCCRF,FUL
001530 106 125 114 FULMSG:: .ASCIZ %FULL%
001533 114 000
006366 001530' .WORD FULMSG ; POINTER TO "FULL" SYMBOL
006370 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
006372 000000G .WORD .SCCRF ; ROUTINE TO CALL OR DATA
7417 ;
7418 006374 COMND$ HALF,<LG.MNT!LG.RPT>,.SCCRH,HLF
001535 110 101 114 HLFMSG:: .ASCIZ %HALF%
001540 106 000
006374 001535' .WORD HLFMSG ; POINTER TO "HALF" SYMBOL
006376 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
006400 000000G .WORD .SCCRH ; ROUTINE TO CALL OR DATA
7419 ;
7420 006402 COMND$ QUARTER,<LG.MNT!LG.RPT>,.SCCRQ,QTR
001542 121 125 101 QTRMSG:: .ASCIZ %QUARTER%
001545 122 124 105
001550 122 000
006402 001542' .WORD QTRMSG ; POINTER TO "QUARTER" SYMBOL
006404 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
006406 000000G .WORD .SCCRQ ; ROUTINE TO CALL OR DATA
7421 ;
7422 006410 COMND$ SLOW,<LG.MNT!LG.RPT>,.SCCRS,SLO
001552 123 114 117 SLOMSG:: .ASCIZ %SLOW%
001555 127 000
006410 001552' .WORD SLOMSG ; POINTER TO "SLOW" SYMBOL
006412 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
006414 000000G .WORD .SCCRS ; ROUTINE TO CALL OR DATA
7423 ;
7424 006416 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 186
.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
7426 .SBTTL .SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
7427
7428 006420 .SCMTB::
7429 006420 COMND$ ELEVEN,LG.OPR,.SCMEL,ELE
006420 000776' .WORD ELEMSG ; POINTER TO "ELEVEN" SYMBOL
006422 000001 .WORD LG.OPR ; LEGAL BITS
006424 000000G .WORD .SCMEL ; ROUTINE TO CALL OR DATA
7430 ;
7431 006426 COMND$ TEN,LG.OPR,.SCMKL,TEN
006426 001005' .WORD TENMSG ; POINTER TO "TEN" SYMBOL
006430 000001 .WORD LG.OPR ; LEGAL BITS
006432 000000G .WORD .SCMKL ; ROUTINE TO CALL OR DATA
7432 ;
7433 006434 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 187
.SCCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
7435 .SBTTL .SCCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
7436
7437 006436 .SCCOT::
7438 006436 COMND$ MAINTENANCE,LG.OPR,.SCCOM,MNT
006436 001170' .WORD MNTMSG ; POINTER TO "MAINTENANCE" SYMBOL
006440 000001 .WORD LG.OPR ; LEGAL BITS
006442 000000G .WORD .SCCOM ; ROUTINE TO CALL OR DATA
7439 ;
7440 006444 COMND$ OPERATOR,LG.OPR,.SCCOO,OPR
006444 001204' .WORD OPRMSG ; POINTER TO "OPERATOR" SYMBOL
006446 000001 .WORD LG.OPR ; LEGAL BITS
006450 000000G .WORD .SCCOO ; ROUTINE TO CALL OR DATA
7441 ;
7442 006452 COMND$ PROGRAMMER,LG.OPR,.SCCOP,PRG
006452 001215' .WORD PRGMSG ; POINTER TO "PROGRAMMER" SYMBOL
006454 000001 .WORD LG.OPR ; LEGAL BITS
006456 000000G .WORD .SCCOP ; ROUTINE TO CALL OR DATA
7443 ;
7444 006460 COMND$ USER,LG.OPR,.SCCOU,USR
006460 001237' .WORD USRMSG ; POINTER TO "USER" SYMBOL
006462 000001 .WORD LG.OPR ; LEGAL BITS
006464 000000G .WORD .SCCOU ; ROUTINE TO CALL OR DATA
7445 ;
7446 006466 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 188
.SCOTT -- THE "SET OUTPUT" COMMAND TABLE
7448 .SBTTL .SCOTT -- THE "SET OUTPUT" COMMAND TABLE
7449
7450 006470 .SCOTT::
7451 006470 COMND$ LOG,LG.OPR,.SCOTL,LOG
001557 114 117 107 LOGMSG:: .ASCIZ %LOG%
001562 000
006470 001557' .WORD LOGMSG ; POINTER TO "LOG" SYMBOL
006472 000001 .WORD LG.OPR ; LEGAL BITS
006474 000000G .WORD .SCOTL ; ROUTINE TO CALL OR DATA
7452 ;
7453 006476 COMND$ LPT,LG.OPR,.SCOTP,LPT
001563 114 120 124 LPTMSG:: .ASCIZ %LPT%
001566 000
006476 001563' .WORD LPTMSG ; POINTER TO "LPT" SYMBOL
006500 000001 .WORD LG.OPR ; LEGAL BITS
006502 000000G .WORD .SCOTP ; ROUTINE TO CALL OR DATA
7454 ;
7455 006504 COMND$ TTY,LG.OPR,.SCOTY,TTY
001567 124 124 131 TTYMSG:: .ASCIZ %TTY%
001572 000
006504 001567' .WORD TTYMSG ; POINTER TO "TTY" SYMBOL
006506 000001 .WORD LG.OPR ; LEGAL BITS
006510 000000G .WORD .SCOTY ; ROUTINE TO CALL OR DATA
7456 ;
7457 006512 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 189
.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
7459 .SBTTL .SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
7460
7461 006514 .SCPTB::
7462 006514 COMND$ ALL,LG.MNT,.SCPAL,ALL
006514 001414' .WORD ALLMSG ; POINTER TO "ALL" SYMBOL
006516 000004 .WORD LG.MNT ; LEGAL BITS
006520 000000G .WORD .SCPAL ; ROUTINE TO CALL OR DATA
7463 ;
7464 006522 COMND$ AR,LG.MNT,.SCPAR,AR
006522 000773' .WORD ARMSG ; POINTER TO "AR" SYMBOL
006524 000004 .WORD LG.MNT ; LEGAL BITS
006526 000000G .WORD .SCPAR ; ROUTINE TO CALL OR DATA
7465 ;
7466 006530 COMND$ CRAM,LG.MNT,.SCPCR,CRM
006530 001450' .WORD CRMMSG ; POINTER TO "CRAM" SYMBOL
006532 000004 .WORD LG.MNT ; LEGAL BITS
006534 000000G .WORD .SCPCR ; ROUTINE TO CALL OR DATA
7467 ;
7468 006536 COMND$ DRAM,LG.MNT,.SCPDR,DRM
001573 104 122 101 DRMMSG:: .ASCIZ %DRAM%
001576 115 000
006536 001573' .WORD DRMMSG ; POINTER TO "DRAM" SYMBOL
006540 000004 .WORD LG.MNT ; LEGAL BITS
006542 000000G .WORD .SCPDR ; ROUTINE TO CALL OR DATA
7469 ;
7470 006544 COMND$ ENABLE,LG.MNT,.SCPEN,ENB
001600 105 116 101 ENBMSG:: .ASCIZ %ENABLE%
001603 102 114 105
001606 000
006544 001600' .WORD ENBMSG ; POINTER TO "ENABLE" SYMBOL
006546 000004 .WORD LG.MNT ; LEGAL BITS
006550 000000G .WORD .SCPEN ; ROUTINE TO CALL OR DATA
7471 ;
7472 006552 COMND$ FM,LG.MNT,.SCPFM,FM
006552 001040' .WORD FMMSG ; POINTER TO "FM" SYMBOL
006554 000004 .WORD LG.MNT ; LEGAL BITS
006556 000000G .WORD .SCPFM ; ROUTINE TO CALL OR DATA
7473 ;
7474 006560 COMND$ FS-STOP,LG.MNT,.SCPFS,FSS
001607 106 123 055 FSSMSG:: .ASCIZ %FS-STOP%
001612 123 124 117
001615 120 000
006560 001607' .WORD FSSMSG ; POINTER TO "FS-STOP" SYMBOL
006562 000004 .WORD LG.MNT ; LEGAL BITS
006564 000000G .WORD .SCPFS ; ROUTINE TO CALL OR DATA
7475 ;
7476 006566 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 190
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
7478 .SBTTL .SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
7479
7480 006570 .SETTB::
7481 006570 COMND$ AC-BLOCK,<LG.MNT>,.SCACB,ACB
006570 001372' .WORD ACBMSG ; POINTER TO "AC-BLOCK" SYMBOL
006572 000004 .WORD LG.MNT ; LEGAL BITS
006574 000000G .WORD .SCACB ; ROUTINE TO CALL OR DATA
7482 ;
7483 006576 COMND$ CLOCK,<LG.MNT!LG.RPT>,.SCCLK,CLK
001617 103 114 117 CLKMSG:: .ASCIZ %CLOCK%
001622 103 113 000
006576 001617' .WORD CLKMSG ; POINTER TO "CLOCK" SYMBOL
006600 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
006602 000000G .WORD .SCCLK ; ROUTINE TO CALL OR DATA
7484 ;
7485 006604 COMND$ CONSOLE,LG.OPR,.SCCON,CON
001625 103 117 116 CONMSG:: .ASCIZ %CONSOLE%
001630 123 117 114
001633 105 000
006604 001625' .WORD CONMSG ; POINTER TO "CONSOLE" SYMBOL
006606 000001 .WORD LG.OPR ; LEGAL BITS
006610 000000G .WORD .SCCON ; ROUTINE TO CALL OR DATA
7486 ;
7487 006612 COMND$ DATE,LG.PRG,.SCDAT,DAT
001635 104 101 124 DATMSG:: .ASCIZ %DATE%
001640 105 000
006612 001635' .WORD DATMSG ; POINTER TO "DATE" SYMBOL
006614 000002 .WORD LG.PRG ; LEGAL BITS
006616 000000G .WORD .SCDAT ; ROUTINE TO CALL OR DATA
7488 ;
7489 006620 COMND$ FAULT-CONTINUE,LG.PRG,.SFREC,FLT
001642 106 101 125 FLTMSG:: .ASCIZ %FAULT-CONTINUE%
001645 114 124 055
001650 103 117 116
001653 124 111 116
001656 125 105 000
006620 001642' .WORD FLTMSG ; POINTER TO "FAULT-CONTINUE" SYMBOL
006622 000002 .WORD LG.PRG ; LEGAL BITS
006624 000000G .WORD .SFREC ; ROUTINE TO CALL OR DATA
7490 ;
7491 006626 COMND$ FS-STOP,<LG.MNT!LG.RPT>,.SCFSS,FSS
006626 001607' .WORD FSSMSG ; POINTER TO "FS-STOP" SYMBOL
006630 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
006632 000000G .WORD .SCFSS ; ROUTINE TO CALL OR DATA
7492 ;
7493 006634 COMND$ INCREMENT,LG.OPR,.SCINC,INC
006634 000736' .WORD INCMSG ; POINTER TO "INCREMENT" SYMBOL
006636 000001 .WORD LG.OPR ; LEGAL BITS
006640 000000G .WORD .SCINC ; ROUTINE TO CALL OR DATA
7494 ;
7495 006642 COMND$ KLINIK,LG.ALL,.SCKLN,KLI
001661 113 114 111 KLIMSG:: .ASCIZ %KLINIK%
001664 116 111 113
001667 000
006642 001661' .WORD KLIMSG ; POINTER TO "KLINIK" SYMBOL
006644 000007 .WORD LG.ALL ; LEGAL BITS
006646 000000G .WORD .SCKLN ; ROUTINE TO CALL OR DATA
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 190-1
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
7496 ;
7497 006650 COMND$ MEMORY,LG.OPR,.SCMEM,MEM
001670 115 105 115 MEMMSG:: .ASCIZ %MEMORY%
001673 117 122 131
001676 000
006650 001670' .WORD MEMMSG ; POINTER TO "MEMORY" SYMBOL
006652 000001 .WORD LG.OPR ; LEGAL BITS
006654 000000G .WORD .SCMEM ; ROUTINE TO CALL OR DATA
7498 ;
7499 006656 COMND$ NOT,<LG.OPR!LG.RPT>,.SCNOT,NOT
001677 116 117 124 NOTMSG:: .ASCIZ %NOT%
001702 000
006656 001677' .WORD NOTMSG ; POINTER TO "NOT" SYMBOL
006660 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
006662 000000G .WORD .SCNOT ; ROUTINE TO CALL OR DATA
7500 ;
7501 006664 COMND$ OFFSET,LG.PRG,.SCOFS,OFS
001703 117 106 106 OFSMSG:: .ASCIZ %OFFSET%
001706 123 105 124
001711 000
006664 001703' .WORD OFSMSG ; POINTER TO "OFFSET" SYMBOL
006666 000002 .WORD LG.PRG ; LEGAL BITS
006670 000000G .WORD .SCOFS ; ROUTINE TO CALL OR DATA
7502 ;
7503 006672 COMND$ OUTPUT,LG.OPR,.SCOUT,OUT
001712 117 125 124 OUTMSG:: .ASCIZ %OUTPUT%
001715 120 125 124
001720 000
006672 001712' .WORD OUTMSG ; POINTER TO "OUTPUT" SYMBOL
006674 000001 .WORD LG.OPR ; LEGAL BITS
006676 000000G .WORD .SCOUT ; ROUTINE TO CALL OR DATA
7504 ;
7505 006700 COMND$ PARITY-STOP,<LG.MNT!LG.RPT>,.SCPST,PST
001721 120 101 122 PSTMSG:: .ASCIZ %PARITY-STOP%
001724 111 124 131
001727 055 123 124
001732 117 120 000
006700 001721' .WORD PSTMSG ; POINTER TO "PARITY-STOP" SYMBOL
006702 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
006704 000000G .WORD .SCPST ; ROUTINE TO CALL OR DATA
7506 ;
7507 006706 COMND$ RELOAD,LG.PRG,.SCRLD,RLD
001735 122 105 114 RLDMSG:: .ASCIZ %RELOAD%
001740 117 101 104
001743 000
006706 001735' .WORD RLDMSG ; POINTER TO "RELOAD" SYMBOL
006710 000002 .WORD LG.PRG ; LEGAL BITS
006712 000000G .WORD .SCRLD ; ROUTINE TO CALL OR DATA
7508 ;
7509 006714 COMND$ REPEAT,LG.OPR,.SCRPT,RPT
006714 000543' .WORD RPTMSG ; POINTER TO "REPEAT" SYMBOL
006716 000001 .WORD LG.OPR ; LEGAL BITS
006720 000000G .WORD .SCRPT ; ROUTINE TO CALL OR DATA
7510 ;
7511 006722 COMND$ RETRY,<LG.PRG!LG.MNT>,.SCRTY,RTY
001744 122 105 124 RTYMSG:: .ASCIZ %RETRY%
001747 122 131 000
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 190-2
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
006722 001744' .WORD RTYMSG ; POINTER TO "RETRY" SYMBOL
006724 000006 .WORD LG.PRG!LG.MNT ; LEGAL BITS
006726 000000G .WORD .SCRTY ; ROUTINE TO CALL OR DATA
7512 ;
7514 006730 COMND$ TRACKS,LG.PRG,.SCTRK,TRK
001752 124 122 101 TRKMSG:: .ASCIZ %TRACKS%
001755 103 113 123
001760 000
006730 001752' .WORD TRKMSG ; POINTER TO "TRACKS" SYMBOL
006732 000002 .WORD LG.PRG ; LEGAL BITS
006734 000000G .WORD .SCTRK ; ROUTINE TO CALL OR DATA
7515 ;
7517 006736 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 191
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
7519 .SBTTL .SPETB -- SPECIAL ERROR CODE TABLE 7702.16
7520
7521 006740 .SPETB::
7522 006740 SPERR$ AMB,<AMBIGUOUS KEYWORD ">
003670 101 115 102 .ASCIZ %AMB - AMBIGUOUS KEYWORD "%
003673 040 055 040
003676 101 115 102
003701 111 107 125
003704 117 125 123
003707 040 113 105
003712 131 127 117
003715 122 104 040
003720 042 000
006740 004112 .RAD50 /AMB/ ; "AMB" IN .RAD50
006742 000520' .WORD .SEAMB ; DISPATCH TO HANDLER
006744 003670' .WORD AMBERM ; POINTER TO MESSAGE
7523 ;
7524 006746 SPERR$ CES,<CLOCK ERROR STOP - >
003722 103 105 123 .ASCIZ %CES - CLOCK ERROR STOP - %
003725 040 055 040
003730 103 114 117
003733 103 113 040
003736 105 122 122
003741 117 122 040
003744 123 124 117
003747 120 040 055
003752 040 000
006746 011633 .RAD50 /CES/ ; "CES" IN .RAD50
006750 000756' .WORD .SECES ; DISPATCH TO HANDLER
006752 003722' .WORD CESERM ; POINTER TO MESSAGE
7525 ;
7526 006754 SPERR$ FRF,<FUNCTION READ >
003754 106 122 106 .ASCIZ %FRF - FUNCTION READ %
003757 040 055 040
003762 106 125 116
003765 103 124 111
003770 117 116 040
003773 122 105 101
003776 104 040 000
006754 024126 .RAD50 /FRF/ ; "FRF" IN .RAD50
006756 000606' .WORD .SEFRF ; DISPATCH TO HANDLER
006760 003754' .WORD FRFERM ; POINTER TO MESSAGE
7527 006762 SPERR$ FWF,<FUNCTION WRITE >
004001 106 127 106 .ASCIZ %FWF - FUNCTION WRITE %
004004 040 055 040
004007 106 125 116
004012 103 124 111
004015 117 116 040
004020 127 122 111
004023 124 105 040
004026 000
006762 024436 .RAD50 /FWF/ ; "FWF" IN .RAD50
006764 000614' .WORD .SEFWF ; DISPATCH TO HANDLER
006766 004001' .WORD FWFERM ; POINTER TO MESSAGE
7528 006770 SPERR$ FXF,<FUNCTION EXECUTE >
004027 106 130 106 .ASCIZ %FXF - FUNCTION EXECUTE %
004032 040 055 040
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 191-1
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
004035 106 125 116
004040 103 124 111
004043 117 116 040
004046 105 130 105
004051 103 125 124
004054 105 040 000
006770 024506 .RAD50 /FXF/ ; "FXF" IN .RAD50
006772 000622' .WORD .SEFXF ; DISPATCH TO HANDLER
006774 004027' .WORD FXFERM ; POINTER TO MESSAGE
7529 ;
7530 006776 SPERR$ ILC,<ILLEGAL CHARACTER ">
004057 111 114 103 .ASCIZ %ILC - ILLEGAL CHARACTER "%
004062 040 055 040
004065 111 114 114
004070 105 107 101
004073 114 040 103
004076 110 101 122
004101 101 103 124
004104 105 122 040
004107 042 000
006776 035043 .RAD50 /ILC/ ; "ILC" IN .RAD50
007000 000544' .WORD .SEILC ; DISPATCH TO HANDLER
007002 004057' .WORD ILCERM ; POINTER TO MESSAGE
7531 007004 SPERR$ ILS,<ILLEGAL SEPARATOR CHARACTER ">
004111 111 114 123 .ASCIZ %ILS - ILLEGAL SEPARATOR CHARACTER "%
004114 040 055 040
004117 111 114 114
004122 105 107 101
004125 114 040 123
004130 105 120 101
004133 122 101 124
004136 117 122 040
004141 103 110 101
004144 122 101 103
004147 124 105 122
004152 040 042 000
007004 035063 .RAD50 /ILS/ ; "ILS" IN .RAD50
007006 000544' .WORD .SEILS ; DISPATCH TO HANDLER
007010 004111' .WORD ILSERM ; POINTER TO MESSAGE
7532 007012 SPERR$ IPC,<ILLEGAL PASSWORD CHARACTER ">
004155 111 120 103 .ASCIZ %IPC - ILLEGAL PASSWORD CHARACTER "%
004160 040 055 040
004163 111 114 114
004166 105 107 101
004171 114 040 120
004174 101 123 123
004177 127 117 122
004202 104 040 103
004205 110 101 122
004210 101 103 124
004213 105 122 040
004216 042 000
007012 035303 .RAD50 /IPC/ ; "IPC" IN .RAD50
007014 000544' .WORD .SEIPC ; DISPATCH TO HANDLER
007016 004155' .WORD IPCERM ; POINTER TO MESSAGE
7533 ;
7534 007020 SPERR$ NSK,<NO SUCH KEYWORD ">
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 191-2
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
004220 116 123 113 .ASCIZ %NSK - NO SUCH KEYWORD "%
004223 040 055 040
004226 116 117 040
004231 123 125 103
004234 110 040 113
004237 105 131 127
004242 117 122 104
004245 040 042 000
007020 055203 .RAD50 /NSK/ ; "NSK" IN .RAD50
007022 000520' .WORD .SENSK ; DISPATCH TO HANDLER
007024 004220' .WORD NSKERM ; POINTER TO MESSAGE
7535 ;
7536 007026 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 192
.STRTB -- THE START COMMAND TABLE 7602.26
7538 .SBTTL .STRTB -- THE START COMMAND TABLE 7602.26
7539
7540 007030 .STRTB::
7541 007030 COMND$ TEN,<LG.PRG!LG.RPT>,.STRTT,TEN
007030 001005' .WORD TENMSG ; POINTER TO "TEN" SYMBOL
007032 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
007034 000000G .WORD .STRTT ; ROUTINE TO CALL OR DATA
7542 ;
7543 007036 COMND$ MICROCODE,<LG.PRG!LG.RPT>,.STRTU,UCD
001761 115 111 103 UCDMSG:: .ASCIZ %MICROCODE%
001764 122 117 103
001767 117 104 105
001772 000
007036 001761' .WORD UCDMSG ; POINTER TO "MICROCODE" SYMBOL
007040 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
007042 000000G .WORD .STRTU ; ROUTINE TO CALL OR DATA
7544 ;
7545 007044 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 193
.WHATB -- THE WHAT COMMAND TABLE 7703.25
7547 .SBTTL .WHATB -- THE WHAT COMMAND TABLE 7703.25
7548
7549 007046 .WHATB::
7550 007046 COMND$ AC-BLOCK,<LG.MNT>,.WHACB,ACB
007046 001372' .WORD ACBMSG ; POINTER TO "AC-BLOCK" SYMBOL
007050 000004 .WORD LG.MNT ; LEGAL BITS
007052 000000G .WORD .WHACB ; ROUTINE TO CALL OR DATA
7551 ;
7552 007054 COMND$ CLOCK,<LG.PRG!LG.RPT>,.WHTCL,CLK
007054 001617' .WORD CLKMSG ; POINTER TO "CLOCK" SYMBOL
007056 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
007060 000000G .WORD .WHTCL ; ROUTINE TO CALL OR DATA
7553 ;
7554 007062 COMND$ CONSOLE,LG.OPR,.WHCON,CON
007062 001625' .WORD CONMSG ; POINTER TO "CONSOLE" SYMBOL
007064 000001 .WORD LG.OPR ; LEGAL BITS
007066 000000G .WORD .WHCON ; ROUTINE TO CALL OR DATA
7555 ;
7556 007070 COMND$ DATE,<LG.ALL!LG.RPT>,.WHDAT,DAT
007070 001635' .WORD DATMSG ; POINTER TO "DATE" SYMBOL
007072 000407 .WORD LG.ALL!LG.RPT ; LEGAL BITS
007074 000000G .WORD .WHDAT ; ROUTINE TO CALL OR DATA
7557 ;
7558 007076 COMND$ FAULT-CONTINUE,LG.ALL,.WHREC,FLT
007076 001642' .WORD FLTMSG ; POINTER TO "FAULT-CONTINUE" SYMBOL
007100 000007 .WORD LG.ALL ; LEGAL BITS
007102 000000G .WORD .WHREC ; ROUTINE TO CALL OR DATA
7559 ;
7560 007104 COMND$ HARDWARE,LG.OPR,.WHRDW,HAR
001773 110 101 122 HARMSG:: .ASCIZ %HARDWARE%
001776 104 127 101
002001 122 105 000
007104 001773' .WORD HARMSG ; POINTER TO "HARDWARE" SYMBOL
007106 000001 .WORD LG.OPR ; LEGAL BITS
007110 000000G .WORD .WHRDW ; ROUTINE TO CALL OR DATA
7561 ;
7562 007112 COMND$ INCREMENT,LG.OPR,.WHINC,INC
007112 000736' .WORD INCMSG ; POINTER TO "INCREMENT" SYMBOL
007114 000001 .WORD LG.OPR ; LEGAL BITS
007116 000000G .WORD .WHINC ; ROUTINE TO CALL OR DATA
7563 ;
7564 007120 COMND$ KLINIK,LG.ALL,.WHKLN,KLI
007120 001661' .WORD KLIMSG ; POINTER TO "KLINIK" SYMBOL
007122 000007 .WORD LG.ALL ; LEGAL BITS
007124 000000G .WORD .WHKLN ; ROUTINE TO CALL OR DATA
7565 ;
7566 007126 COMND$ MEMORY,LG.OPR,.WHMEM,MEM
007126 001670' .WORD MEMMSG ; POINTER TO "MEMORY" SYMBOL
007130 000001 .WORD LG.OPR ; LEGAL BITS
007132 000000G .WORD .WHMEM ; ROUTINE TO CALL OR DATA
7567 ;
7568 007134 COMND$ OFFSET,LG.PRG,.WHOFS,OFS
007134 001703' .WORD OFSMSG ; POINTER TO "OFFSET" SYMBOL
007136 000002 .WORD LG.PRG ; LEGAL BITS
007140 000000G .WORD .WHOFS ; ROUTINE TO CALL OR DATA
7569 ;
7570 007142 COMND$ OUTPUT,LG.OPR,.WHOUT,OUT
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 193-1
.WHATB -- THE WHAT COMMAND TABLE 7703.25
007142 001712' .WORD OUTMSG ; POINTER TO "OUTPUT" SYMBOL
007144 000001 .WORD LG.OPR ; LEGAL BITS
007146 000000G .WORD .WHOUT ; ROUTINE TO CALL OR DATA
7571 ;
7572 007150 COMND$ PARITY-STOP,<LG.PRG!LG.RPT>,.WHTPS,PST
007150 001721' .WORD PSTMSG ; POINTER TO "PARITY-STOP" SYMBOL
007152 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
007154 000000G .WORD .WHTPS ; ROUTINE TO CALL OR DATA
7573 ;
7574 007156 COMND$ RELOAD,LG.PRG,.WHRLD,RLD
007156 001735' .WORD RLDMSG ; POINTER TO "RELOAD" SYMBOL
007160 000002 .WORD LG.PRG ; LEGAL BITS
007162 000000G .WORD .WHRLD ; ROUTINE TO CALL OR DATA
7575 ;
7576 007164 COMND$ REPEAT,LG.OPR,.WHRPT,RPT
007164 000543' .WORD RPTMSG ; POINTER TO "REPEAT" SYMBOL
007166 000001 .WORD LG.OPR ; LEGAL BITS
007170 000000G .WORD .WHRPT ; ROUTINE TO CALL OR DATA
7577 ;
7578 007172 COMND$ RETRY,<LG.PRG!LG.MNT>,.WHRTY,RTY
007172 001744' .WORD RTYMSG ; POINTER TO "RETRY" SYMBOL
007174 000006 .WORD LG.PRG!LG.MNT ; LEGAL BITS
007176 000000G .WORD .WHRTY ; ROUTINE TO CALL OR DATA
7579 ;
7581 007200 COMND$ TRACKS,LG.PRG,.WHTRK,TRK
007200 001752' .WORD TRKMSG ; POINTER TO "TRACKS" SYMBOL
007202 000002 .WORD LG.PRG ; LEGAL BITS
007204 000000G .WORD .WHTRK ; ROUTINE TO CALL OR DATA
7582 ;
7584 007206 COMND$ VERSION,LG.OPR,.WHATV,VER
002004 126 105 122 VERMSG:: .ASCIZ %VERSION%
002007 123 111 117
002012 116 000
007206 002004' .WORD VERMSG ; POINTER TO "VERSION" SYMBOL
007210 000001 .WORD LG.OPR ; LEGAL BITS
007212 000000G .WORD .WHATV ; ROUTINE TO CALL OR DATA
7585 ;
7586 007214 000000 .WORD 0 ; END OF TABLE MARKER
7587 011130 .PSECT
7588
7589 000000 $$PASS2=0
TABLE -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 195
.WHATB -- THE WHAT COMMAND TABLE 7703.25
7592
7593 .TITLE TPSIM -- TRIPLE PRECISION ARITHMETIC SIMULATOR MODULE 7603.30
7594
7595 .IDENT "005000"
7596
7597 ;
7598 ; COPYRIGHT (C) 1975, 1984, 1985 BY
7599 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
7600 ; ALL RIGHTS RESERVED.
7601 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
7602 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
7603 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
7604 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
7605 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
7606 ;
7607 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
7608 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
7609 ; CORPORATION.
7610 ;
7611 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7612 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
7613 ;
7614 ; MODULE: TRIPLE PRECISION ARITHMETIC SIMULATOR
7615 ;
7616 ; VERSION: 05-00
7617 ;
7618 ; AUTHOR: R. BELANGER
7619 ;
7620 ; DATE: 7603.30
7621 ;
7622 ; THIS MODULE CONTAINS:
7623 ;
7624 ; 1) TRIPLE PRECISION ARITHMETIC SIMULATOR
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 196
.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
7626 .SBTTL .SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
7627
7628 ;+
7629 ; .SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS
7630 ;
7631 ; THIS SUBROUTINE SHIFTS THE NUMBER IN R0 AS SPECIFIED BY THE SHIFT
7632 ; COUNT IN R1.
7633 ;
7634 ; INPUT ARGUMENTS:
7635 ;
7636 ; R0 HOLDS THE NUMBER TO BE SHIFTED
7637 ; R1 HOLDS A 16 BIT SHIFT COUNT
7638 ;
7639 ; OUTPUT ARGUMENTS:
7640 ;
7641 ; R0 HOLDS THE SHIFTED NUMBER
7642 ; R1 HOLDS THE SHIFT COUNT
7643 ;
7644 ; ERROR CODES RETURNED:
7645 ;
7646 ; NONE
7647 ;-
7648
7649 011130 .SHIFT::
7650 011130 PUSH R1 ; SAVE R1 ON THE STACK
011130 010146 MOV R1,-(SP)
7651 011132 001407 BEQ 30$ ; .EXIT IF .EQ. 0
7652 011134 002403 BLT 20$ ; .SHIFT RIGHT IF NEGATIVE
7653 011136 10$:
7654 011136 006300 ASL R0 ; .SHIFT IT LEFT
7655 011140 077102 SOB R1,10$ ; .TILL COUNT IS EXHAUSTED
7656 011142 000403 BR 30$ ; .EXIT
7657 ;
7658 011144 20$:
7659 011144 006200 ASR R0 ; .SHIFT IT RIGHT
7660 011146 005201 INC R1 ; .COUNT THE SHIFT
7661 011150 001375 BNE 20$ ; .TILL COUNT EXHAUSTED
7662 011152 30$:
7663 011152 POP R1 ; .RESTORE R1 FROM THE STACK
011152 012601 MOV (SP)+,R1
7664 011154 000241 CLC ; CLEAR CC-C
7665 011156 RETURN ; RETURN
011156 000207 RTS PC
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 197
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
7667 .SBTTL .TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
7668
7669 ;+
7670 ; .TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE.
7671 ;
7672 ; THIS SUBROUTINE WILL DIVIDE THE 48 BIT DIVIDEND POINTED TO BY R0
7673 ; BY THE 48 BIT DIVISOR POINTED TO BY R1 IN THE CALL. ON RETURN,
7674 ; R0 POINTS TO A 48 BIT QUOTIENT, AND R2 POINTS TO A 48 BIT REMAINDER.
7675 ;
7676 ; INPUT ARGUMENTS:
7677 ;
7678 ; R0 POINTS TO THE DIVIDEND
7679 ; R1 POINTS TO THE DIVISOR
7680 ;
7681 ; OUTPUT ARGUMENTS:
7682 ;
7683 ; R0 POINTS TO THE QUOTIENT
7684 ; R1 POINTS TO THE REMAINDER
7685 ; THE DIVISOR AND DIVIDEND ARE DESTROYED
7686 ;
7687 ; ERROR CODES RETURNED:
7688 ;
7689 ; DCK -- DIVIDE CHECK.
7690 ;-
7691
7692 007216 .PSECT DATA
7693
7694 007216 TPDRMN:
7695 007216 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR REMAINDER
7696 007224 TPDDVS:
7697 007224 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR DIVISOR
7698 007232 TPDDVD:
7699 007232 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR DIVIDEND / QUOTIENT
7700
7701 011160 .PSECT
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 198
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
7703 .ENABL LSB
7704
7705 011160 .TPDIV::
7706 011160 PUSH <R3,R2,R1,R0> ; SAVE CALLER'S REGISTERS
011160 010346 MOV R3,-(SP)
011162 010246 MOV R2,-(SP)
011164 010146 MOV R1,-(SP)
011166 010046 MOV R0,-(SP)
7707 011170 CALL .TPXTN ; ....SIGN EXTEND THE DIVIDEND
011170 004737 011420' JSR PC,.TPXTN
7708 011174 010100 MOV R1,R0 ; ....POINT TO THE DIVISOR
7709 011176 CALL .TPXTN ; ....AND SIGN EXTEND IT
011176 004737 011420' JSR PC,.TPXTN
7710 011202 CALL .TPTST ; ....SEE IF IT IS ZERO OR NEGATIVE
011202 004737 011474' JSR PC,.TPTST
7711 011206 003466 BLE TPDDCK ; ....YES -- GIVE "DCK" ERROR
7712 011210 011600 MOV (SP),R0 ; ....NO -- RESTORE DIVIDEND POINTER
7713 011212 012703 000060 MOV #^D48,R3 ; ....ITERATION COUNT TO R3
7714 011216 012702 007216' MOV #TPDRMN,R2 ; ....DATA BLOCK POINTER TO R2
7715 011222 005022 CLR (R2)+ ; ....CLEAR THE REMAINDER
7716 011224 005022 CLR (R2)+ ; ....
7717 011226 005022 CLR (R2)+ ; ....
7718 011230 012122 MOV (R1)+,(R2)+ ; ....LOAD THE DIVISOR
7719 011232 012122 MOV (R1)+,(R2)+ ; ....
7720 011234 012122 MOV (R1)+,(R2)+ ; ....
7721 011236 012022 MOV (R0)+,(R2)+ ; ....LOAD THE DIVIDEND
7722 011240 012022 MOV (R0)+,(R2)+ ; ....
7723 011242 012022 MOV (R0)+,(R2)+ ; ....
7724 011244 012700 007216' MOV #TPDRMN,R0 ; ....REMAINDER POINTER TO R0
7725 011250 012701 007224' MOV #TPDDVS,R1 ; ....DIVISOR POINTER TO R1
7726 011254 012702 007232' MOV #TPDDVD,R2 ; ....DIVIDEND POINTER TO R2
7727
7728 ; [CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 199
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
7730 ; [CONTINUED FROM THE PREVIOUS PAGE]
7731
7732 011260 10$:
7733 011260 006312 ASL (R2) ; ....SHIFT THE DIVIDEND LEFT
7734 011262 006162 000002 ROL 2(R2) ; ....
7735 011266 006162 000004 ROL 4(R2) ; ....
7736 011272 006110 ROL (R0) ; ....INTO THE REMAINDER
7737 011274 006160 000002 ROL 2(R0) ; ....
7738 011300 006160 000004 ROL 4(R0) ; ....
7739 011304 CALL .TPCMP ; ....SEE IF REMAINDER IS .GE. DIVISOR
011304 004737 011440' JSR PC,.TPCMP
7740 011310 103407 BLO 20$ ; ....NO -- JUST KEEP GOING
7741 011312 CALL .TPSUB ; ....YES -- SUBTRACT DIVISOR FROM REMAINDER
011312 004737 011562' JSR PC,.TPSUB
7742 011316 PUSH R0 ; ....SAVE REMAINDER POINTER
011316 010046 MOV R0,-(SP)
7743 011320 010200 MOV R2,R0 ; .....QUOTIENT POINTER TO R0
7744 011322 CALL .TPINC ; .....INCREMENT THE QUOTIENT
011322 004737 011536' JSR PC,.TPINC
7745 011326 POP R0 ; .....RESTORE REMAINDER POINTER
011326 012600 MOV (SP)+,R0
7746 011330 20$:
7747 011330 077325 SOB R3,10$ ; ....LOOP TILL COUNT IS EXHAUSTED
7748 011332 POP <R0,R1> ; ....GET R0 AND R1 FROM THE STACK
011332 012600 MOV (SP)+,R0
011334 012601 MOV (SP)+,R1
7749 011336 012220 MOV (R2)+,(R0)+ ; ..UNLOAD THE QUOTIENT
7750 011340 012220 MOV (R2)+,(R0)+ ; ..
7751 011342 011210 MOV (R2),(R0) ; ..
7752 011344 012702 007216' MOV #TPDRMN,R2 ; ..POINT TO THE REMAINDER
7753 011350 012221 MOV (R2)+,(R1)+ ; ..UNLOAD THE REMAINDER
7754 011352 012221 MOV (R2)+,(R1)+ ; ..
7755 011354 011211 MOV (R2),(R1) ; ..
7756 011356 POP <R2,R3> ; ..RESTORE OTHER REGISTERS
011356 012602 MOV (SP)+,R2
011360 012603 MOV (SP)+,R3
7757 011362 000506 BR 50$ ; AND GO AWAY
7758 ;
7759 011364 TPDDCK:
7760 011364 ERROR$ DCK ; ERROR -- DIVIDE CHECK
011364 012746 014603 MOV #^RDCK,-(SP)
011370 104400 TRAP TC.ERR
7761 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 200
.TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
7763 .SBTTL .TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
7764
7765 ;+
7766 ; .TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER
7767 ; .TPCOM -- SUBROUTINE TO COMPLEMENT A 48 BIT NUMBER.
7768 ; .TPNEG -- SUBROUTINE TO NEGATE A 48 BIT NUMBER.
7769 ; .TPXTN -- SUBROUTINE TO SIGN EXTEND A 36 BIT NUMBER INTO A 48 BIT NUMBER
7770 ;
7771 ; THESE SUBROUTINE PERFORM THE FUNCTIONS INDICATED. ALL SUBROUTINES
7772 ; ACCEPT A DESTINATION POINTER IN R0. ALL SUBROUTINES
7773 ; RETURN THE POINTER UNALTERED. NO OTHER REGISTERS ARE ALTERED
7774 ; BY THESE ROUTINES.
7775 ;
7776 ; INPUT ARGUMENTS:
7777 ;
7778 ; R0 POINTS TO THE DESTINATION OPERAND
7779 ;
7780 ; OUTPUT ARGUMENTS:
7781 ;
7782 ; R0 POINTS TO THE DESINATION OPERAND
7783 ;
7784 ; ERROR CODES RETURNED:
7785 ;
7786 ; NONE.
7787 ;-
7788
7789 011372 .TPCLR:: ; CLEAR A 48 BIT WORD
7790 011372 005020 CLR (R0)+ ; SO
7791 011374 005020 CLR (R0)+
7792 011376 005010 CLR (R0)
7793 011400 000500 BR 60$ ; RESET R0 AND RETURN
7794 ;
7795
7796 011402 .TPCOM:: ; COMPLEMENT A 48 BIT NUMBER
7797 011402 005120 COM (R0)+ ; COMPLEMENT
7798 011404 005120 COM (R0)+ ; EACH WORD
7799 011406 005110 COM (R0) ; IN THE TRIPLET
7800 011410 000474 BR 60$ ; RESET R0 AND RETURN
7801 ;
7802
7803 011412 .TPNEG:: ; NEGATE A 48 BIT NUMBER
7804 011412 CALL .TPCOM ; FIRST COMPLEMENT THE NUMBER
011412 004737 011402' JSR PC,.TPCOM
7805 011416 000447 BR .TPINC ; -0 + NOT(0)+1 AND RETURN
7806 ;
7807
7808 011420 .TPXTN::
7809 011420 032760 000010 000004 BIT #10,4(R0) ; TEST THE SIGN BIT
7810 011426 001466 BEQ 70$ ; EXIT IF POSITIVE
7811 011430 052760 177760 000004 BIS #^C17,4(R0) ; SIGN EXTEND IF NEGATIVE
7812 011436 000462 BR 70$ ; EXIT
7813 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 201
.TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
7815 .SBTTL .TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
7816
7817 ;+
7818 ; .TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS.
7819 ;
7820 ; THIS SUBROUTINE WILL COMPARE THE 48 BIT NUMBER POINTED TO BY
7821 ; R0 AND THE 48 BIT NUMBER POINTED TO BY R1 IN THE CALL.
7822 ;
7823 ; INPUT ARGUMENTS:
7824 ;
7825 ; R0 POINTS TO THE FIRST NUMBER
7826 ; R1 POINTS TO THE SECOND NUMBER
7827 ;
7828 ; OUTPUT ARGUMENTS:
7829 ;
7830 ; R0 POINTS TO THE FIRST NUMBER
7831 ; R1 POINTS TO THE SECOND NUMBER
7832 ; CC-N IS SET IF (R0) .LT. (R1)
7833 ; CC-Z IS SET IF (R0) .EQ. (R1)
7834 ; CC-Z IS CLEAR IF (R0) .GT. (R1)
7835 ;
7836 ; ERROR CODES RETURNED:
7837 ;
7838 ; NONE.
7839 ;-
7840
7841 011440 .TPCMP:: ; COMPARE TWO 48 BIT NUMBERS
7842 011440 026061 000004 000004 CMP 4(R0),4(R1) ; COMPARE THE HIGH WORDS
7843 011446 001056 BNE 70$ ; NOT EQUAL -- EXIT
7844 011450 026061 000002 000002 CMP 2(R0),2(R1) ; COMPARE THE MIDDLE WORDS
7845 011456 001001 BNE 30$ ; NOT EQUAL -- EXIT
7846 011460 021011 CMP (R0),(R1) ; COMPARE THE LOW WORDS
7847 011462 30$:
7848 011462 000250 CLN ; CLEAR CC-N
7849 011464 000242 CLV ; CLEAR CC-V
7850 011466 103046 BCC 70$ ; BRANCH IF NON-NEGATIVE
7851 011470 000270 SEN ; NEGATIVE -- SET CC-N
7852 011472 000444 BR 70$ ; EXIT
7853 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 202
.TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
7855 .SBTTL .TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
7856
7857 ;+
7858 ; .TPTST -- TEST A 48 BIT NUMBER FOR ZERO.
7859 ;
7860 ; THIS SUBROUTINE WILL TEST THE 48 BIT NUMBER POINTED TO BY R0 TO
7861 ; SEE IF IT ZERO OR NON-ZERO. IF THE NUMBER IS ZERO, CC-Z IS SET
7862 ; ON RETURN, IF NON-ZERO, CC-Z IS CLEAR SET ON RETURN.
7863 ; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
7864 ;
7865 ; INPUT ARGUMENTS:
7866 ;
7867 ; R0 POINTS TO THE NUMBER TO BE TESTED
7868 ;
7869 ; OUTPUT ARGUMENTS:
7870 ;
7871 ; R0 POINTS TO THE TESTED NUMBER
7872 ; CC-Z IS SET IF THE NUMBER IS ZERO
7873 ; CC-Z IS CLEAR IF THE NUMBER IS NON-ZERO
7874 ;
7875 ; ERROR CODES RETURNED:
7876 ;
7877 ; NONE.
7878 ;-
7879
7880 011474 .TPTST:: ; TEST A TRIPLE PRECISION NUMBER FOR ZERO
7881 011474 005760 000004 TST 4(R0) ; TEST THE HIGH WORD
7882 011500 001041 BNE 70$ ; NON ZERO?
7883 011502 005760 000002 TST 2(R0) ; TEST THE MIDDLE WORD
7884 011506 001001 BNE 40$ ; NON ZERO?
7885 011510 005710 TST (R0) ; TEST THE LOW WORD
7886 011512 40$:
7887 011512 000250 CLN ; CLEAR CC-N
7888 011514 000433 BR 70$ ; EXIT
7889 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 203
.TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
7891 .SBTTL .TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
7892
7893 ;+
7894 ; .TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS.
7895 ;
7896 ; THIS SUBROUTINE ADDS TWO 48 BIT ADDENDS WHICH ARE POINTED TO BY
7897 ; R0 AND R1 IN THE CALL, AND RETURNS A POINTER TO THE SUM IN R0.
7898 ; THE ADDEND POINTED TO BY R1 IS ADDED TO THAT POINTED TO BY R0.
7899 ;
7900 ; INPUT ARGUMENTS:
7901 ;
7902 ; R0 POINTS TO THE FIRST ADDEND
7903 ; R1 POINTS TO THE SECOND ADDEND
7904 ;
7905 ; OUTPUT ARGUMENTS:
7906 ;
7907 ; R0 POINTS TO THE SUM
7908 ; R1 POINTS TO THE SECOND ADDEND
7909 ;
7910 ; ERROR CODES RETURNED:
7911 ;
7912 ; NONE.
7913 ;-
7914
7915 011516 .TPADD::
7916 011516 062120 ADD (R1)+,(R0)+ ; ADD LOW ORDER PARTS
7917 011520 005510 ADC (R0) ; CARRY ANY OVERFLOW
7918 011522 005560 000002 ADC 2(R0) ; AND ANY OVER FLOW FROM THAT
7919 011526 062120 ADD (R1)+,(R0)+ ; ADD MIDDLE WORD
7920 011530 005510 ADC (R0) ; FIX CARRIES
7921 011532 061110 ADD (R1),(R0) ; ADD HIGH ORDER PARTS
7922 011534 000421 BR 50$ ; RESET REGISTERS ANS EXIT
7923 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 204
.TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
7925 .SBTTL .TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
7926
7927 ;+
7928 ; .TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER.
7929 ; .TPDEC -- SUBROUTINE TO DECREMENT A 48 BIT NUMBER.
7930 ;
7931 ; THESE SUBROUTINES WILL INCREMENT OR DECREMENT A 48 BIT NUMBER
7932 ; POINTED TO BY R0 IN THE CALL. ON RETURN, THE POINTER IN R0 IS
7933 ; UNCHANGED. NO OTHER REGISTERS ARE ALTERED BY THESE SUBROUTINES.
7934 ;
7935 ; INPUT ARGUMENTS:
7936 ;
7937 ; R0 POINTS TO THE OPERAND
7938 ;
7939 ; OUTPUT ARGUMENTS:
7940 ;
7941 ; R0 POINTS TO THE OPERAND
7942 ;
7943 ; ERROR CODES RETURNED:
7944 ;
7945 ; NONE.
7946 ;-
7947
7948 011536 .TPINC:: ; INCREMENT A 48 BIT NUMBER
7949 011536 062720 000001 ADD #1,(R0)+ ; DO THE INCREMENT
7950 011542 005520 ADC (R0)+ ; AND CARRY THE CARRIES
7951 011544 005510 ADC (R0)
7952 011546 000415 BR 60$ ; AND EXIT
7953 ;
7954
7955 011550 .TPDEC:: ; DECREMENT A 48 BIT NUMBER
7956 011550 162720 000001 SUB #1,(R0)+ ; DO THE DECREMENT
7957 011554 005620 SBC (R0)+ ; AND STRAIGHTEN OUT THE CARRIES
7958 011556 005610 SBC (R0)
7959 011560 000410 BR 60$ ; ADJUST R0 AND RETURN
7960 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 205
.TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
7962 .SBTTL .TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
7963
7964 ;+
7965 ; .TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS.
7966 ;
7967 ; THIS SUBROUTINE WILL SUBTRACT TWO 48 BIT NUMBERS POINTED TO BY R0,
7968 ; (MINUEND), AND R1 (SUBTRAHEND) IN THE CALL, AND WILL RETURN A
7969 ; POINTER TO THE DIFFERENCE IN R0.
7970 ;
7971 ; INPUT ARGUMENTS:
7972 ;
7973 ; R0 POINTS TO THE MINUEND
7974 ; R1 POINTS TO THE SUBTRAHEND
7975 ;
7976 ; OUTPUT ARGUMENTS:
7977 ;
7978 ; R0 POINTS TO THE DIFFERENCE
7979 ; R1 POINTS TO THE SUBTRAHEND
7980 ;
7981 ; ERROR CODES RETURNED:
7982 ;
7983 ; NONE.
7984 ;-
7985
7986 011562 .TPSUB::
7987 011562 162120 SUB (R1)+,(R0)+ ; SUBTRACT LOW ORDER PARTS
7988 011564 005610 SBC (R0) ; CARRY ANY OVERFLOW
7989 011566 005660 000002 SBC 2(R0) ; AND ANY OVERFLOWS FROM THAT
7990 011572 162120 SUB (R1)+,(R0)+
7991 011574 005610 SBC (R0) ; FIX CARRIES
7992 011576 161110 SUB (R1),(R0) ; SUBTRACT HIGH ORDER PARTS
7993 011600 50$:
7994 011600 024141 CMP -(R1),-(R1) ; RESET R1
7995 011602 60$:
7996 011602 024040 CMP -(R0),-(R0) ; RESET R0
7997 011604 70$:
7998 011604 RETURN ; AND EXIT
011604 000207 RTS PC
7999
8000 .DSABL LSB
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 206
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
8002 .SBTTL .TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
8003
8004 ;+
8005 ; .TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE.
8006 ;
8007 ; THIS SUBROUTINE WILL MULTIPLY THE 48 BIT MULTIPLICAND POINTED
8008 ; TO BY R0 BY THE 48 BIT MULTIPLIER POINTER IN R1, AND RETURN A
8009 ; POINTER TO THE 48 BIT PRODUCT IN R0. THE MULTIPLIER IS UNCHANGED,
8010 ; AND NO OTHER REGISTERS ARE ALTERED BY THIS SUBROUTINE.
8011 ;
8012 ; INPUT ARGUMENTS:
8013 ;
8014 ; R0 POINTS TO THE MULTIPLICAND
8015 ; R1 POINTS TO THE MULTIPLIER
8016 ;
8017 ; OUTPUT ARGUMENTS:
8018 ;
8019 ; R0 POINTS TO THE PRODUCT
8020 ; R1 POINTS TO THE MULTIPLIER
8021 ;
8022 ; ERROR CODES RETURNED:
8023 ;
8024 ; NONE.
8025 ;-
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 207
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
8027 011606 .TPMUL::
8028 011606 PUSH <R2,R1,R0> ; SAVE CALLER'S REGISTERS
011606 010246 MOV R2,-(SP)
011610 010146 MOV R1,-(SP)
011612 010046 MOV R0,-(SP)
8029 011614 CALL .TPTST ; ...SEE IF MULTIPLICAND .EQ. 0
011614 004737 011474' JSR PC,.TPTST
8030 011620 001460 BEQ 50$ ; ...YES -- QUIT NOW
8031 011622 010100 MOV R1,R0 ; ...NO -- POINT TO MULTIPLIER
8032 011624 CALL .TPTST ; ...SEE IF IT IS .EQ. 0
011624 004737 011474' JSR PC,.TPTST
8033 011630 001004 BNE 10$ ; ...NO -- ALL OK
8034 011632 011600 MOV (SP),R0 ; ...YES -- GET MULTIPLICAND POINTER
8035 011634 CALL .TPCLR ; ...AND MAKE IT .EQ. 0
011634 004737 011372' JSR PC,.TPCLR
8036 011640 000450 BR 50$ ; ...RETURN TO CALLER
8037 ;
8038 011642 10$:
8039 011642 011600 MOV (SP),R0 ; ...R0 POINTS TO MULTIPLCAND
8040 011644 PUSH <(R1)+,(R1)+,(R1),R1>
011644 012146 MOV (R1)+,-(SP)
011646 012146 MOV (R1)+,-(SP)
011650 011146 MOV (R1),-(SP)
011652 010146 MOV R1,-(SP)
8041 011654 024141 CMP -(R1),-(R1) ; .......CALLER'S MULTIPLIER SAVED
8042 011656 010102 MOV R1,R2 ; .......R2 POINTS TO THE MULTIPLIER
8043 011660 010001 MOV R0,R1 ; .......R1 POINTS TO THE MULTIPLICAND
8044 011662 005046 CLR -(SP) ; .......CLEAR A BUFFER ON THE STACK
8045 011664 005046 CLR -(SP) ; ........
8046 011666 005046 CLR -(SP) ; .........
8047 011670 010600 MOV SP,R0 ; ..........R0 POINTS TO TEMPORARY RESULT
8048 011672 20$:
8049 011672 006062 000004 ROR 4(R2) ; ..........SHIFT THE MULTIPLIER RIGHT
8050 011676 006062 000002 ROR 2(R2) ; ..........
8051 011702 006012 ROR (R2) ; ..........
8052 011704 103002 BCC 30$ ; ..........DID WE GET A CARRY?
8053 011706 CALL .TPADD ; ..........YES -- ADD THE MULTIPLICAND
011706 004737 011516' JSR PC,.TPADD
8054 011712 30$:
8055 011712 006311 ASL (R1) ; ..........DOUBLE MULTIPLICAND IN ANY CASE
8056 011714 006161 000002 ROL 2(R1) ; ..........
8057 011720 006161 000004 ROL 4(R1) ; ..........
8058 011724 PUSH R0 ; ..........SAVE RESULT POINTER
011724 010046 MOV R0,-(SP)
8059 011726 010200 MOV R2,R0 ; ...........POINT TO MULTIPLIER
8060 011730 CALL .TPTST ; ...........IS IT .EQ. 0?
011730 004737 011474' JSR PC,.TPTST
8061 011734 001402 BEQ 40$ ; ...........YES -- SET UP FOR RETURN
8062 011736 POP R0 ; ...........NO -- RESTORE R0
011736 012600 MOV (SP)+,R0
8063 011740 000754 BR 20$ ; ..........AND CONTINUE
8064 ;
8065
8066 ; [CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 208
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
8068 ; [CONTINUED FROM THE PREVIOUS PAGE]
8069
8070 ; HERE TO RETURN PRODUCT AND EXIT
8071
8072 011742 40$:
8073 011742 POP R0 ; ...........GET RID OF MULTIPLIER POINTER
011742 012600 MOV (SP)+,R0
8074 011744 POP <(R1)+,(R1)+,(R1)>
011744 012621 MOV (SP)+,(R1)+
011746 012621 MOV (SP)+,(R1)+
011750 012611 MOV (SP)+,(R1)
8075 011752 POP <R1,(R1),-(R1),-(R1)>
011752 012601 MOV (SP)+,R1
011754 012611 MOV (SP)+,(R1)
011756 012641 MOV (SP)+,-(R1)
011760 012641 MOV (SP)+,-(R1)
8076 011762 50$:
8077 011762 POP <R0,R1,R2> ; ...RESTORE REGISTERS
011762 012600 MOV (SP)+,R0
011764 012601 MOV (SP)+,R1
011766 012602 MOV (SP)+,R2
8078 011770 RETURN ; TO CALLER
011770 000207 RTS PC
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 209
.TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
8080 .SBTTL .TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
8081
8082 ;+
8083 ; .TPSHI -- SUBROUTINE TO SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER.
8084 ;
8085 ; THIS SUBROUTINE SHIFTS THE 48 BIT NUMBER POINTED TO BY R0 BY THE
8086 ; 16 BIT NUMBER IN R1 IN THE CALL. ON RETURN R0 POINTS TO THE SHIFTED
8087 ; 48 BIT NUMBER. THE DIRECTION OF THE SHIFT IS DETERMINED BY THE SIGN
8088 ; OF THE 16 BIT NUMBER IN R1. NO REGISTERS ARE ALTERED BY THIS ROUTINE.
8089 ;
8090 ; INPUT ARGUMENTS:
8091 ;
8092 ; R0 POINTS TO THE NUMBER TO BE SHIFTED
8093 ; R1 HOLDS THE 16 BIT SHIFT COUNT
8094 ;
8095 ; OUTPUT ARGUMENTS:
8096 ;
8097 ; R0 POINTS TO THE SHIFTED NUMBER
8098 ; R0 HOLDS THE 16 BIT SHIFT COUNT
8099 ;
8100 ; ERROR CODES RETURNED:
8101 ;
8102 ; NONE.
8103 ;-
8104
8105 011772 .TPSHI::
8106 011772 PUSH R1 ; SAVE R1 FROM DESTRUCTION
011772 010146 MOV R1,-(SP)
8107 011774 001416 BEQ 30$ ; .ON ZERO DO NOTHING
8108 011776 003002 BGT 10$ ; .REALLY MEANS LEFT
8109 012000 005401 NEG R1 ; .MEANS RIGHT, SO NEGATE
8110 012002 000406 BR 20$ ; .AND GO RIGHT
8111 ;
8112 012004 10$:
8113 012004 006320 ASL (R0)+ ; .CLEAR CC-C AND SHIFT
8114 012006 006120 ROL (R0)+ ; .USE CC-C AND SHIFT
8115 012010 006110 ROL (R0) ; .
8116 012012 024040 CMP -(R0),-(R0) ; .POINT BACK TO BEGINNING
8117 012014 077105 SOB R1,10$ ; .AND LOOP 'TILL DONE
8118 012016 000405 BR 30$ ; .DONE -- EXIT
8119 ;
8120 012020 20$: ; .HERE TO SHIFT RIGHT
8121 012020 022020 CMP (R0)+,(R0)+ ; .FIX POINTER TO POINT TO HIGH PART
8122 012022 006210 ASR (R0) ; .SHIFT HIGH PART
8123 012024 006040 ROR -(R0) ; .THEN MIDDLE PART
8124 012026 006040 ROR -(R0) ; .THEN LOW PART
8125 012030 077105 SOB R1,20$ ; .UNTIL DONE
8126 012032 30$:
8127 012032 POP R1 ; .RESTORE R1
012032 012601 MOV (SP)+,R1
8128 012034 RETURN ; AND RETURN TO CALLER
012034 000207 RTS PC
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 210
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
8130 .SBTTL .TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
8131
8132 ;+
8133 ; .TPSHL -- SUBROUTINE TO SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER.
8134 ;
8135 ; THIS SUBROUTINE WILL SHIFT THE 48 BIT NUMBER POINTED TO BY R0 BY
8136 ; THE 48 BIT NUMBER POINTED TO BY R1 IN THE CALL. BOTH POINTERS ARE
8137 ; RETURNED UNALTERED, AND NO OTHER REGISTERS ARE ALTERED BY THE
8138 ; SUBROUTINE. THE DIRECTION OF THE SHIFT IS DETERMINED BY THE SIGN
8139 ; OF THE 48 BIT NUMBER POINTED TO BY R1.
8140 ;
8141 ; INPUT ARGUMENTS:
8142 ;
8143 ; R0 POINTS TO THE NUMBER TO BE SHIFTED
8144 ; R1 POINTS TO THE SHIFT COUNT
8145 ;
8146 ; OUTPUT ARGUMENTS:
8147 ;
8148 ; R0 POINTS TO THE SHIFTED NUMBER
8149 ; R1 POINTS TO THE SHIFT COUNT
8150 ;
8151 ; ERROR CODES RETURNED:
8152 ;
8153 ; NONE.
8154 ;-
8155
8156 012036 .TPSHL::
8157 012036 PUSH <(R1)+,(R1)+,(R1),R1>
012036 012146 MOV (R1)+,-(SP)
012040 012146 MOV (R1)+,-(SP)
012042 011146 MOV (R1),-(SP)
012044 010146 MOV R1,-(SP)
8158 012046 024141 CMP -(R1),-(R1) ; ....BACK THE POINTER UP
8159 012050 PUSH <R2,R0> ; ....SAVE R2 AND R0
012050 010246 MOV R2,-(SP)
012052 010046 MOV R0,-(SP)
8160 012054 010100 MOV R1,R0 ; ......POINT TO THE SHIFT COUNT
8161 012056 CALL .TPXTN ; ......DO THE SIGN EXTENSION
012056 004737 011420' JSR PC,.TPXTN
8162 012062 CALL .TPTST ; ......SEE WHAT IT IS
012062 004737 011474' JSR PC,.TPTST
8163 012066 001432 BEQ 30$ ; ......EXIT IF .EQ. ZERO
8164 012070 002415 BLT 20$ ; ......SHIFT RIGHT IF .LT. ZERO
8165
8166 ; [CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 211
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
8168 ; [CONTINUED FROM THE PREVIOUS PAGE]
8169
8170 012072 10$: ; ......HERE TO SHIFT LEFT
8171 012072 010002 MOV R0,R2 ; ......SHIFT COUNT POINTER TO R2
8172 012074 011600 MOV (SP),R0 ; ......POINT TO THE NUMBER
8173 012076 012701 000001 MOV #^D1,R1 ; ......SUBSTITUTE SHIFT COUNT
8174 012102 CALL .TPSHI ; ......SHIFT IT ONCE
012102 004737 011772' JSR PC,.TPSHI
8175 012106 010200 MOV R2,R0 ; ......REAL SHIFT COUNT POINTER TO R0
8176 012110 CALL .TPDEC ; ......DECREMENT IT
012110 004737 011550' JSR PC,.TPDEC
8177 012114 CALL .TPTST ; ......ARE WE DONE?
012114 004737 011474' JSR PC,.TPTST
8178 012120 001364 BNE 10$ ; ......NO -- KEEP GOING
8179 012122 000414 BR 30$ ; ......YES -- EXIT
8180 ;
8181 012124 20$: ; ......HERE TO SHIFT RIGHT
8182 012124 010002 MOV R0,R2 ; ......SHIFT COUNT TO R2
8183 012126 011600 MOV (SP),R0 ; ......POINT TO THE NUMBER
8184 012130 012701 177777 MOV #-^D1,R1 ; ......SUBSTITUTE SHIFT COUNT
8185 012134 CALL .TPSHI ; ......SHIFT IT
012134 004737 011772' JSR PC,.TPSHI
8186 012140 010200 MOV R2,R0 ; ......REAL SHIFT COUNT POINTER TO R0
8187 012142 CALL .TPINC ; ......INCREMENT IT
012142 004737 011536' JSR PC,.TPINC
8188 012146 CALL .TPTST ; ......ARE WE DONE?
012146 004737 011474' JSR PC,.TPTST
8189 012152 001364 BNE 20$ ; ......NO -- KEEP GOING
8190 012154 30$:
8191 012154 POP <R0,R2> ; ......RESTORE R0 AND R2
012154 012600 MOV (SP)+,R0
012156 012602 MOV (SP)+,R2
8192 012160 POP <R1,(R1),-(R1),-(R1)>
012160 012601 MOV (SP)+,R1
012162 012611 MOV (SP)+,(R1)
012164 012641 MOV (SP)+,-(R1)
012166 012641 MOV (SP)+,-(R1)
8193 012170 RETURN ; RETURN TO CALLER
012170 000207 RTS PC
TPSIM -- TRIPLE PRECISION ARITH MACRO M1113 03-APR-86 22:51 PAGE 212
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
8195
8196 .TITLE TRACK -- DIAGNOSTIC FUNCTION TRACK MODULE 7603.30
8197
8198 .IDENT "005000"
8199
8200 ;
8201 ; COPYRIGHT (C) 1975, 1984, 1985 BY
8202 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
8203 ; ALL RIGHTS RESERVED.
8204 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8205 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
8206 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
8207 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
8208 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
8209 ;
8210 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
8211 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
8212 ; CORPORATION.
8213 ;
8214 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8215 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
8216 ;
8217 ; MODULE: DAIGNOSTIC FUNCTION TRACK
8218 ;
8219 ; VERSION: 05-00
8220 ;
8221 ; AUTHOR: R. BELANGER
8222 ;
8223 ; DATE: 7603.30
8224 ;
8225 ; THIS MODULE CONTAINS:
8226 ;
8227 ; 1) DIAGNOSTIC FUNCTION TRACK CODE
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1113 03-APR-86 22:51 PAGE 213
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
8229 .SBTTL .TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
8230
8231 ;+
8232 ; .FRTRK -- SUBROUTINE TO TRACK A FUNCTION READ.
8233 ; .FWTRK -- SUBROUTINE TO TRACK A FUNCTION WRITE.
8234 ; .FXTRK -- SUBROUTINE TO TRACK A FUNCTION EXECUTE.
8235 ;
8236 ; THESE SUBROUTINES TRACK A FUNCTION READ, WRITE, OR EXECUTE
8237 ; BY DISPLAYING THE FUNCTION CODE AND THE CONTENT OF THE BUFFER
8238 ; ON THE FRONT END OUTPUT DEVICE.
8239 ;
8240 ; THESE SUBROUTINES ARE CALLED INTERNALLY AND ARE DEPENDENT UPON THE
8241 ; STATE OF THE SWITCHES IN ".TRKWD". THE ".TRKWD" SWITCHES ARE TURNED
8242 ; ON OR OFF BY THE "SET" AND "CLEAR TRACK" COMMANDS, RESPECTIVELY.
8243 ;
8244 ; ERROR CODES RETURNED:
8245 ;
8246 ; NONE.
8247 ;-
8248
8250
8251 .ENABL LSB
8252
8253 012172 .FRTRK::
8254 012172 PUSH R0 ; SAVE R0 ON THE STACK
012172 010046 MOV R0,-(SP)
8255 012174 PUSH .KLDFR+2 ; .SAVE THE FR CODE TOO
012174 013746 000340' MOV .KLDFR+2,-(SP)
8256 012200 PUSH #.DFRB ; ..AND THE BUFFER ADDRESS
012200 012746 000344' MOV #.DFRB,-(SP)
8257 012204 012700 002014' MOV #TFRMSG,R0 ; ...MESSAGE POINTER TO R0
8258 012210 000416 BR 10$ ; ...DO THE TRACKING
8259 ;
8260 012212 .FWTRK::
8261 012212 PUSH R0 ; SAVE R0 ON THE STACK
012212 010046 MOV R0,-(SP)
8262 012214 PUSH .KLDFW+2 ; .SAVE THE FW CODE
012214 013746 000352' MOV .KLDFW+2,-(SP)
8263 012220 PUSH #.DFWB ; ..AND THE BUFFER ADDRESS
012220 012746 000336' MOV #.DFWB,-(SP)
8264 012224 012700 002031' MOV #TFWMSG,R0 ; ...MESSAGE POINTER TO R0
8265 012230 000406 BR 10$ ; ...GO TRACK IT
8266 ;
8267 012232 .FXTRK::
8268 012232 PUSH R0 ; SAVE R0 ON THE STACK
012232 010046 MOV R0,-(SP)
8269 012234 PUSH .KLDFX+2 ; .SAVE THE FX CODE
012234 013746 000364' MOV .KLDFX+2,-(SP)
8270 012240 005046 CLR -(SP) ; ..NO BUFFER ADDRESS
8271 012242 012700 002046' MOV #TFXMSG,R0 ; ...MESSAGE POINTER TO R0
8272 ; BR 10$ ; ...AND FALL INTO COMMON CODE
8273 ;
8274
8275 ; [CONTINUED ON THE FOLLOWING PAGE]
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1113 03-APR-86 22:51 PAGE 214
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
8277 ; [CONTINUED FROM THE PREVIOUS PAGE]
8278
8279 012246 10$:
8280 012246 012737 177777 000220' MOV #-^D1,.LDZFL ; ...PRINT LEADING ZEROES
8281 012254 CALL .TYMSG ; ...PRINT THE MESSAGE
012254 004737 015462' JSR PC,.TYMSG
8282 012260 016600 000002 MOV 2(SP),R0 ; ...GET THE FUNCTION CODE
8283 012264 000300 SWAB R0 ; ...SWAP THE BYTES
8284 012266 042700 177400 BIC #177400,R0 ; ...FLUSH JUNK FROM HIGH BYTE
8285 012272 006200 ASR R0 ; ...DIVIDE IT BY 2
8286 012274 CALL .TYP3D ; ...TYPE THAT
012274 004737 015032' JSR PC,.TYP3D
8287 012300 011600 MOV (SP),R0 ; ...BUFFER ADDRESS?
8288 012302 001406 BEQ 20$ ; ...NO -- JUST EXIT
8289 012304 CALL .TYSLS ; ...YES -- TYPE A SLASH AND
012304 004737 014572' JSR PC,.TYSLS
8290 012310 CALL .TYSPC ; ...TYPE A <SPACE> AND
012310 004737 014602' JSR PC,.TYSPC
8291 012314 CALL .TYKLN ; ...TYPE ITS CONTENT
012314 004737 015156' JSR PC,.TYKLN
8292 012320 20$:
8293 012320 CALL .TCRLF ; ...NOW A <CRLF>
012320 004737 015552' JSR PC,.TCRLF
8294 012324 022626 CMP (SP)+,(SP)+ ; ...GET RID OF BUFFER POINTER AND CODE
8295 012326 POP R0 ; .RESTORE R0
012326 012600 MOV (SP)+,R0
8296 012330 RETURN ; AND GO AWAY
012330 000207 RTS PC
8297
8298 .DSABL LSB
8299
8300 002014 .PSECT MESSAG
8301
8302 002014 TFRMSG:
8303 002014 011 124 122 .ASCIZ % TRACK > FR %
002017 101 103 113
002022 040 076 040
002025 106 122 040
002030 000
8304 002031 TFWMSG:
8305 002031 011 124 122 .ASCIZ % TRACK > FW %
002034 101 103 113
002037 040 076 040
002042 106 127 040
002045 000
8306 002046 TFXMSG:
8307 002046 011 124 122 .ASCIZ % TRACK > FX %
002051 101 103 113
002054 040 076 040
002057 106 130 040
002062 000
8308 012332 .PSECT
8309
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1113 03-APR-86 22:51 PAGE 215
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
8312 .SBTTL .DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
8313
8314 ;+
8315 ; .DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS
8316 ;
8317 ; THIS SUBROUTINE WILL TRACK DTE-20 OPERATIONS AND PRINT ALL DTE-20
8318 ; REFERENCES BY THE COMMAND PARSER ON THE CONSOLE OUTPUT DEVICE.
8319 ; THIS SUBROUTINE IS CALLED INTERNALLY, DEPENDENT UPON THE STATE OF
8320 ; THE DTE-20 TRACK FLAG ("TR.DTE") IN THE TRACK CONTROL WORD, ".TRKWD."
8321 ;
8322 ; CALLING SEQUENCE IS:
8323 ;
8324 ; CALL .DTTRK ; TRACK THE DTE-20
8325 ; ; ONLY RETURN
8326 ;
8327 ; THE DTE-20 REGISTER OPERATED UPON IS IDENTIFIED BY ONE OF THE FOLLOWING:
8328 ;
8329 ; (A) DIAG 1 - DIAG WORD 1,
8330 ; (B) DIAG 2 - DIAG WORD 2,
8331 ; (C) STATUS - STATUS WORD,
8332 ; (D) DIAG 3 - DIAG WORD 3.
8333 ;
8334 ; A READ OPERATION IS IDENTIFIED BY "RD", AND A WRITE OPERATION BY "WR".
8335 ;
8336 ; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
8337 ;
8338 ; ERROR CODES RETURNED:
8339 ;
8340 ; NONE.
8341 ;-
8342
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1113 03-APR-86 22:51 PAGE 216
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
8345 012332 .DTTRK::
8346 012332 012737 177777 000220' MOV #-^D1,.LDZFL ; PRINT LEADING ZEROES
8347 012340 PUSH R0 ; SAVE R0
012340 010046 MOV R0,-(SP)
8348 012342 012700 002063' MOV #DTRMSG,R0 ; .MESSAGE POINTER TO R0
8349 012346 CALL .TYMSG ; .PRINT IT
012346 004737 015462' JSR PC,.TYMSG
8350 012352 113700 000303' MOVB .REGRW+3,R0 ; .GET THE REGISTER OFFSET
8351 012356 016000 007240' MOV REGTAB(R0),R0 ; .REGISTER MESSAGE POINTER TO R0
8352 012362 CALL .TYMSG ; .TYPE IT
012362 004737 015462' JSR PC,.TYMSG
8353 012366 CALL .TYSPC ; .NOW A <SPACE>
012366 004737 014602' JSR PC,.TYSPC
8354 012372 005737 000304' TST .REGRW+4 ; .IS THIS A WRITE?
8355 012376 001002 BNE 10$ ; .YES -- GO ON
8356 012400 011600 MOV (SP),R0 ; .NO -- DATA TO R0
8357 012402 000402 BR 20$ ; .GO PRINT IT
8358 ;
8359 012404 10$:
8360 012404 017700 000304' MOV @.REGRW+4,R0 ; .GET WRITTEN DATA
8361 012410 20$:
8362 012410 CALL .TYELN ; .PRINT THE DATA
012410 004737 014766' JSR PC,.TYELN
8363 012414 012700 002144' MOV #DRDMSG,R0 ; .READ MESSAGE POINTER TO R0
8364 012420 005737 000304' TST .REGRW+4 ; .WAS IT A WRITE?
8365 012424 001402 BEQ 30$ ; .YES -- GO ON
8366 012426 012700 002150' MOV #DWRMSG,R0 ; .NO -- WRITE MESSAGE POINTER TO R0
8367 012432 30$:
8368 012432 CALL .TYLIN ; .PRINT IT AND A <CRLF>
012432 004737 015446' JSR PC,.TYLIN
8369 012436 POP R0 ; .RESTORE R0
012436 012600 MOV (SP)+,R0
8370 012440 RETURN ; TO CALLER
012440 000207 RTS PC
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1113 03-APR-86 22:51 PAGE 217
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
8372 007240 .PSECT DATA
8373
8374 007240 REGTAB:
8375 007240 002104' .WORD DW1MSG ; MESSAGE POINTERS
8376 007242 002114' .WORD DW2MSG
8377 007244 002124' .WORD STAMSG
8378 007246 002134' .WORD DW3MSG
8379
8380 002063 .PSECT MESSAG
8381 002063 DTRMSG:
8382 002063 011 124 122 .ASCIZ % TRACK > DTE-20 %
002066 101 103 113
002071 040 076 040
002074 104 124 105
002077 055 062 060
002102 040 000
8383
8384 002104 DW1MSG:
8385 002104 104 111 101 .ASCIZ %DIAG 1/%
002107 107 040 061
002112 057 000
8386 002114 DW2MSG:
8387 002114 104 111 101 .ASCIZ %DIAG 2/%
002117 107 040 062
002122 057 000
8388 002124 STAMSG:
8389 002124 123 124 101 .ASCIZ %STATUS/%
002127 124 125 123
002132 057 000
8390 002134 DW3MSG:
8391 002134 104 111 101 .ASCIZ %DIAG 3/%
002137 107 040 063
002142 057 000
8392
8393 002144 DRDMSG:
8394 002144 040 122 104 .ASCIZ % RD%
002147 000
8395 002150 DWRMSG:
8396 002150 040 127 122 .ASCIZ % WR%
002153 000
8397 012442 .PSECT
8398
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1113 03-APR-86 22:51 PAGE 218
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
8401 .SBTTL .EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
8402
8403 ;+
8404 ; .EXTRK -- SUBROUTINE TO TRACK A KL EXAMINE.
8405 ; .DPTRK -- SUBROUTINE TO TRACK A KL DEPOSIT.
8406 ;
8407 ; THESE SUBROUTINES WILL TRACK A KL EXAMINE OR DEPOSIT BY
8408 ; DISPLAYING THE ADDRESS, DATA, AND REFERENCE TYPE OF THE EXAMINE
8409 ; OR DEPOSIT ON THE CONSOLE DEVICE AS IT IS EXECUTED.
8410 ;
8411 ; THESE SUBROUTINES ARE CALLED INTERNALLY DEPENDENT ON THE STATE OF
8412 ; THE TRACK CONTROL WORD ".TRKWD".
8413 ;
8414 ; THE SWITCHES IN ".TRKWD" ARE TURNED ON OR OFF BY THE "SET" AND
8415 ; "CLEAR TRACK" COMMANDS, RESPECTIVELY.
8416 ;
8417 ; NO REGISTERS ARE ALTERED BY THESE SUBROUTINES.
8418 ;
8419 ; ERROR CODES RETURNED:
8420 ;
8421 ; NONE.
8422 ;-
8423
8425
8426 .ENABL LSB
8427
8428 012442 .EXTRK::
8429 012442 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
012442 004537 010316' JSR R5,.REGSV
8430 012446 012705 002200' MOV #ETRMSG,R5 ; PREAMBLE TO TYPE
8431 012452 000404 BR 10$ ; DO COMMON CODE
8432 ;
8433 012454 .DPTRK::
8434 012454 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
012454 004537 010316' JSR R5,.REGSV
8435 012460 012705 002215' MOV #DTKMSG,R5 ; PREAMBLE TO TYPE
8436 ; AND FALL INTO COMMON CODE
8437
8438 ; [CONTINUED ON THE FOLLOWING PAGE]
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1113 03-APR-86 22:51 PAGE 219
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
8440 ; [CONTINUED FROM THE PREVIOUS PAGE]
8441
8442 012464 10$:
8443 012464 PUSH R0 ; SAVE R0 ON THE STACK
012464 010046 MOV R0,-(SP)
8444 012466 011100 MOV (R1),R0 ; .GET ADDRESS POINTER
8445 012470 012702 007250' MOV #TRADDR,R2 ; .POINT TO OUR BLOCK
8446 012474 012022 MOV (R0)+,(R2)+ ; .AND LOAD IT
8447 012476 012022 MOV (R0)+,(R2)+ ; .
8448 012500 005012 CLR (R2) ; .ZERO THE LAST WORD
8449 012502 016100 000002 MOV 2(R1),R0 ; .GET DATA POINTER
8450 012506 012702 007256' MOV #TRDATA,R2 ; .POINT TO OUR BLOCK
8451 012512 012022 MOV (R0)+,(R2)+ ; .AND LOAD IT
8452 012514 012022 MOV (R0)+,(R2)+ ; .
8453 012516 011012 MOV (R0),(R2) ; .
8454 012520 010500 MOV R5,R0 ; .PREAMBLE POINTER TO R0
8455 012522 CALL .TYMSG ; .PRINT IT
012522 004737 015462' JSR PC,.TYMSG
8456 012526 012700 007250' MOV #TRADDR,R0 ; .POINT TO ADDRESS
8457 012532 CALL .TYKLA ; .PRINT IT
012532 004737 015106' JSR PC,.TYKLA
8458 012536 CALL .TYSLS ; .TYPE A SLASH
012536 004737 014572' JSR PC,.TYSLS
8459 012542 CALL .TYSPC ; .AND A <SPACE>
012542 004737 014602' JSR PC,.TYSPC
8460 012546 012700 007256' MOV #TRDATA,R0 ; .POINT TO DATA
8461 012552 CALL .TYKLN ; .PRINT IT
012552 004737 015156' JSR PC,.TYKLN
8462 012556 CALL .TYSPC ; .AND A <SPACE>
012556 004737 014602' JSR PC,.TYSPC
8463 012562 011600 MOV (SP),R0 ; .GET TYPE
8464 012564 006200 ASR R0 ; .DIVIDE BY 16
8465 012566 006200 ASR R0 ; .
8466 012570 006200 ASR R0 ; .
8467 012572 006200 ASR R0 ; .
8468 012574 016000 007264' MOV EDTYTB(R0),R0 ; .GET TYPE POINTER
8469 012600 CALL .TYLIN ; .PRINT IT AND A <CRLF>
012600 004737 015446' JSR PC,.TYLIN
8470 012604 POP R0 ; .AND R0
012604 012600 MOV (SP)+,R0
8471 012606 RETURN ; TO CALLER
012606 000207 RTS PC
8472
8473 .DSABL LSB
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1113 03-APR-86 22:51 PAGE 220
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
8475 007250 .PSECT DATA
8476
8477 007250 TRADDR:
8478 007250 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR ADDRESS
8479 007256 TRDATA:
8480 007256 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR DATA
8481 007264 EDTYTB: ; POINTERS FOR TYPE MESSAGES
8482 007264 002154' .WORD EDEPT ; EPT SPACE
8483 007266 002160' .WORD EDEXV ; EXEC VIRTUAL SPACE
8484 007270 002164' .WORD EDUPT ; UPT SPACE
8485 007272 002170' .WORD EDUSV ; USER VIRTUAL
8486 007274 002174' .WORD EDPHY ; PHYSICAL SPACE
8487
8488 002154 .PSECT MESSAG
8489 002154 EDEPT:
8490 002154 105 120 124 .ASCIZ %EPT%
002157 000
8491 002160 EDEXV:
8492 002160 105 126 123 .ASCIZ %EVS%
002163 000
8493 002164 EDUPT:
8494 002164 125 120 124 .ASCIZ %UPT%
002167 000
8495 002170 EDUSV:
8496 002170 125 126 123 .ASCIZ %UVS%
002173 000
8497 002174 EDPHY:
8498 002174 120 110 131 .ASCIZ %PHY%
002177 000
8499 002200 ETRMSG:
8500 002200 011 124 122 .ASCIZ % TRACK > EX %
002203 101 103 113
002206 040 076 040
002211 105 130 040
002214 000
8501 002215 DTKMSG:
8502 002215 011 124 122 .ASCIZ % TRACK > DP %
002220 101 103 113
002223 040 076 040
002226 104 120 040
002231 000
8503 012610 .PSECT
8504
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1113 03-APR-86 22:51 PAGE 221
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
8507
8508
8509 .TITLE TYINP -- COMMAND PARSER COMMAND INPUT MODULE 7603.30
8510
8511 .IDENT "006110"
8512
8513 ;
8514 ; COPYRIGHT (C) 1975, 1984, 1985 BY
8515 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
8516 ; ALL RIGHTS RESERVED.
8517 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8518 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
8519 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
8520 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
8521 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
8522 ;
8523 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
8524 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
8525 ; CORPORATION.
8526 ;
8527 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8528 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
8529 ;
8530 ; MODULE: COMMAND PARSER COMMAND INPUT
8531 ;
8532 ; VERSION: 06-11
8533 ;
8534 ; AUTHOR: R. BELANGER
8535 ;
8536 ; DATE: 7603.30
8537 ;
8538 ; THIS MODULE CONTAINS:
8539 ;
8540 ; 1) COMMAND LINE INPUT CODE
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 222
.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
8542 .SBTTL .GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
8543
8544 ;+
8545 ; .GTCMD -- SUBROUTINE TO GET A COMMAND LINE FROM THE CONSOLE INPUT
8546 ; BUFFER.
8547 ;
8548 ; THIS SUBROUTINE WILL GET A COMMAND LINE FROM THE CONSOLE INPUT DEVICE
8549 ; BUFFER AND PLACE IT INTO THE COMMAND BUFFER.
8550 ;
8551 ; INPUT ARGUMENTS:
8552 ;
8553 ; R5 POINTS TO THE DESTINATION BUFFER.
8554 ;
8555 ; OUTPUT ARGUMENTS:
8556 ;
8557 ; R5 POINTS TO THE BEGINNING OF THE COMMAND BUFFER
8558 ; ".INCHC" HAS THE COUNT OF THE CHARACTERS IN THE COMMAND BUFFER
8559 ; THE LAST CHARACTER IN THE COMMAND BUFFER IS A "<NULL>".
8560 ;
8561 ; ERROR CODES RETURNED:
8562 ;
8563 ; IF THE CONSOLE INPUT FAILS, THE PARSER WILL EXIT.
8564 ;
8565 ; CBO -- COMMAND BUFFER OVERFLOW.
8566 ; ILC -- ILLEGAL CHARACTER.
8567 ;-
8568
8569 012610 .GTCMD::
8570 012610 010501 MOV R5,R1 ; COMMAND BUFFER POINTER TO R1
8571 012612 10$:
8572 012612 PUSH R1 ; SAVE R1 ON THE STACK
012612 010146 MOV R1,-(SP)
8573 012614 CALL .GTLIN ; .GO GET THE COMMAND LINE
012614 004737 012644' JSR PC,.GTLIN
8574 012620 022601 CMP (SP)+,R1 ; .DID THE POINTER CHANGE?
8575 012622 001407 BEQ 20$ ; NO -- JUST EXIT
8576 012624 122741 000055 CMPB #'-,-(R1) ; YES -- WAS LAST CHARACTER LINE CONTINUATION?
8577 012630 001004 BNE 20$ ; NO -- EXIT
8578 012632 111100 MOVB (R1),R0 ; YES -- PROMPT FOR CONTINUATION
8579 012634 CALL .TFCHR ; FORCE PRINT THE PROMPT
012634 004737 015504' JSR PC,.TFCHR
8580 012640 000764 BR 10$ ; AND GO GET THE REST OF THE LINE
8581 ;
8582 012642 20$:
8583 012642 RETURN ; TO CALLER
012642 000207 RTS PC
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 223
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
8585 .SBTTL .GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
8586
8587 ;+
8588 ; .GTLIN -- SUBROUTINE TO GET AN INPUT LINE FROM THE CONSOLE
8589 ;
8590 ; THIS SUBROUTINE WILL GET A LINE OF INPUT FROM THE CONSOLE DEVICE
8591 ; AND PERFORM THE FOLLOWING CHARACTER CONVERSIONS:
8592 ;
8593 ; (A) LOWER CASE CHARACTERS ARE CONVERTED TO UPPER CASE
8594 ; (B) "<TAB>" IS CONVERTED TO "<SPACE>"
8595 ;
8596 ; INPUT ARGUMENTS:
8597 ;
8598 ; R1 POINTS TO THE BEGINNING OF THE DESTINATION BUFFER
8599 ;
8600 ; OUTPUT ARGUMENTS:
8601 ;
8602 ; R1 POINTS TO THE END OF THE DESTINATION BUFFER
8603 ;
8604 ; ERROR CODES RETURNED:
8605 ;
8606 ; IF THE CONSOLE INPUT FAILS, THE PARSER WILL EXIT.
8607 ;
8608 ; CBO -- COMMAND BUFFER OVERFLOW.
8609 ; FRD -- FILE READ FAILURE
8610 ; ILC -- ILLEGAL CHARACTER.
8611 ;-
8612
8613 .MCALL DIR$, QIOW$
8614
8615 012644 .GTLIN::
8616 012644 PUSH <R0,R2,R3,R4> ; SAVE SOME REGISTERS
012644 010046 MOV R0,-(SP)
012646 010246 MOV R2,-(SP)
012650 010346 MOV R3,-(SP)
012652 010446 MOV R4,-(SP)
8617 012654 012700 000362' MOV #.CIBFR,R0 ; ...INPUT BUFFER POINTER TO R0
8618 012660 005037 000164' CLR .INCHC ; ...CLEAR THE CHARACTER COUNTER
8619 012664 005737 001660' TST .INDFG ; [5.1000]IS INPUT REDIRECTED TO FILE?
8621 012670 001011 BNE 10$ ; [5.1000]YES -- GET INPUT FROM FILE
8622 012672 005737 000176' TST .KLEDF ; [5.1006]NO -- GET DEFAULT COMMANDS?
8623 012676 001427 BEQ 12$ ; [5.1006]NO -- GET INPUT FROM CTY
8624 012700 CALL .KLE ; [5.1006]YES -- GET COMMANDS
012700 004737 000000G JSR PC,.KLE
8625 012704 005737 000010' TST .CISTS+2 ; [5.1006]ANY COMMAND?
8626 012710 001442 BEQ 15$ ; [5.1006]NO -- DONE
8627 012712 000407 BR 11$ ; [5.1006]YES -- ECHO COMMANDS
8631 012714 012702 000362' 10$: MOV #.CIBFR,R2 ; [5.1000]YES -- SET UP INPUT BUFFER
8632 012720 012703 000006' MOV #.CISTS,R3 ; [5.1000]STATUS PTR
8633 012724 CALL .READR ; [5.1000]GET THE COMMAND
012724 004737 002224' JSR PC,.READR
8634 012730 103432 BCS 15$ ; [5.1000]EOF ENCOUNTERED
8635 012732 012737 000362' 000430' 11$: MOV #.CIBFR,.CDOBP ; [5.1000]SET ECHO BUFFER
8636 012740 013737 000010' 000432' MOV .CISTS+2,.CDOBC ; [5.1000]SET BYTE COUNT
8637 012746 001423 BEQ 15$ ; [5.1000]NULL COMMAND?
8638 012750 CALL .TYOUT ; [5.1000]NO -- ECHO IT
012750 004737 015600' JSR PC,.TYOUT
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 223-1
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
8639 012754 000420 BR 15$ ; [5.1000]PROCESS COMMAND
8640 012756 12$: DIR$ #.CDINP ; ...READ THE LINE INTO INPUT BUFFER
012756 012746 000374' MOV #.CDINP,-(SP)
012762 104375 EMT 375
8641 012764 103457 BCS 70$ ; ...GIVE CONSOLE INPUT FAILED ERROR
8642 012766 105737 000006' TSTB .CISTS ; ...TEST THE STATUS BYTE
8643 012772 002454 BLT 70$ ; ...GIVE CONSOLE INPUT FAILED ERROR
8644 012774 012737 000362' 000452' MOV #.CIBFR,.LDOBP ; [5.1000]NO -- SET LOG,LPT OUTPUT BUFFER
8645 013002 013737 000010' 000454' MOV .CISTS+2,.LDOBC ; [5.1000]SET BYTE COUNT
8646 013010 001402 BEQ 15$ ; [5.1000]NULL COMMAND?
8647 013012 CALL .TYOU1 ; [5.1000]NO -- ECHO COMMAND TO LPT,LOG
013012 004737 015660' JSR PC,.TYOU1
8648 013016 15$: CALL .TCRLF ; ...ACKNOWLEDGE THE LINE
013016 004737 015552' JSR PC,.TCRLF
8649 013022 013703 000010' MOV .CISTS+2,R3 ; ...INPUT BYTE COUNT TO R3
8650 013026 001415 BEQ 40$ ; ...NULL LINE IF .EQ. 0
8651 013030 20$:
8652 013030 112004 MOVB (R0)+,R4 ; ...GET THE CHARACTER INTO R4
8653 013032 001441 BEQ GTLILC ; ...ILLEGAL IF <NULL>
8654 013034 105764 001502' TSTB .CHTAB(R4) ; ...SEE IF IT IS A LEGAL CHARACTER
8655 013040 002420 BLT 50$ ; ...NO -- SEE IF IT IS REALLY ILLEGAL
8656
8657 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 224
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
8659 ; [CONTINUED FROM THE PREVIOUS PAGE]
8660
8661 013042 30$:
8662 013042 110421 MOVB R4,(R1)+ ; ...PUT IT INTO THE OUTPUT BUFFER
8663 013044 005237 000164' INC .INCHC ; ...INCREMENT THE CHARACTER COUNT
8664 013050 023727 000164' 000430 CMP .INCHC,#.CMNDL ; ...HAVE WE OVERFLOWED?
8665 013056 003024 BGT GTLCBO ; ...YES -- GIVE ERROR
8666 013060 077315 SOB R3,20$ ; ...NO -- LOOP TILL DONE THIS LINE
8667 013062 40$:
8668 013062 105011 CLRB (R1) ; ...MARK THE END OF LINE
8669 013064 POP <R4,R3,R2,R0> ; ...RESTORE THE REGISTERS
013064 012604 MOV (SP)+,R4
013066 012603 MOV (SP)+,R3
013070 012602 MOV (SP)+,R2
013072 012600 MOV (SP)+,R0
8670 013074 005737 000164' TST .INCHC ; TEST THE INPUT BYTE COUNT
8671 013100 RETURN ; TO CALLER
013100 000207 RTS PC
8672 013102 50$: ; ...HERE TO CHECK ILLEGAL CHARACTERS
8673 013102 122704 000041 CMPB #'!,R4 ; ...WAS IT A COMMENT?
8674 013106 001765 BEQ 40$ ; ...YES -- JUST EXIT
8675 013110 122704 000011 CMPB #11,R4 ; ...NO -- WAS IT A <TAB>?
8679 013114 001010 BNE GTLILC ; ...NO -- GIVE "ILC" ERROR
8681 013116 112704 000040 MOVB #.SPACE,R4 ; ...YES -- MAKE IT A <SPACE>
8682 013122 000747 BR 30$ ; ...AND PUT IT IN THE BUFFER
8683 ;
8694 013124 70$:
8695 013124 CALLR .EXITP ; EXIT GRACEFULLY
013124 000137 010110' JMP .EXITP
8696 ;
8697 013130 GTLCBO:
8698 013130 ERROR$ CBO ; ERROR -- COMMAND BUFFER OVERFLOW
013130 012746 011437 MOV #^RCBO,-(SP)
013134 104400 TRAP TC.ERR
8699 ;
8700 013136 GTLILC:
8701 013136 ERROR$ ILC ; ERROR -- ILLEGAL CHARACTER
013136 012746 035043 MOV #^RILC,-(SP)
013142 104400 TRAP TC.ERR
8702 ;
8703 ; THIS IS THE CONSOLE INPUT DPB
8704
8705 000374 .PSECT DPBS
8706
8707 000374 .CDINP::
8708 000374 QIOW$ IO.RLB,CIDLUN,E.FCID,0,.CISTS,0,<.CIBFR,.CIBFL>
000374 003 010 .BYTE 3,$$$ARG
000376 000000G .WORD IO.RLB
000400 000001 .WORD CIDLUN
000402 002 000 .BYTE E.FCID,0
000404 000006' .WORD .CISTS
000406 000000 .WORD 0
000410 000362' .WORD .CIBFR
000412 000214 .WORD .CIBFL
8709
8710 000410' .CDIBP=.CDINP+Q.IOPL ; CONSOLE INPUT BYTE POINTER
8711 000412' .CDIBC=.CDINP+Q.BYCT ; CONSOLE INPUT BYTE COUNT
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 224-1
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
8712
8713 013144 .PSECT
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 225
.ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
8715 .SBTTL .ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
8716
8717 ;+
8718 ; .ELNCK -- SUBROUTINE TO TEST FOR A LEGAL PDP-11 NUMBER
8719 ;
8720 ; THIS SUBROUTINE WILL TEST A NUMBER TO SEE IF IT IS A LEGAL PDP-11
8721 ; NUMBER. THIS IS REQUIRED BECAUSE THE NUMERIC INPUT ROUTINES HANDLE
8722 ; ONLY 36 BIT NUMBERS.
8723 ;
8724 ; INPUT ARGUMENTS:
8725 ;
8726 ; R0 POINTS TO THE PDP-11 NUMBER TO BE TESTED
8727 ;
8728 ; OUTPUT ARGUMENTS:
8729 ;
8730 ; R0 POINTS TO THE PDP-11 NUMBER
8731 ;
8732 ; ERROR CODES RETURNED:
8733 ;
8734 ; NOR -- INPUT NUMBER OUT OF RANGE.
8735 ;-
8736
8737 013144 .ELNCK::
8738 013144 032760 000010 000004 BIT #10,4(R0) ; IS THIS A NEGATIVE NUMBER?
8739 013152 001411 BEQ 10$ ; NO -- POSITIVE
8740 013154 022760 177777 000004 CMP #-^D1,4(R0) ; YES -- ARE ALL THE BITS ON?
8741 013162 001014 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
8742 013164 022760 177777 000002 CMP #-^D1,2(R0) ; YES -- HOW ABOUT THE SECOND WORD?
8743 013172 001010 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
8744 013174 000406 BR 20$ ; YES -- ALL OK, EXIT
8745 ;
8746 013176 10$:
8747 013176 005760 000004 TST 4(R0) ; SEE IF HIGH WORD IS .EQ. ZERO
8748 013202 001004 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
8749 013204 005760 000002 TST 2(R0) ; IS SECOND WORD .EQ. ZERO?
8750 013210 001001 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
8751 013212 20$:
8752 013212 RETURN ; TO CALLER
013212 000207 RTS PC
8753 013214 ELNNOR:
8754 013214 000137 014534' JMP GTNNOR ; GIVE "NOR" ERROR
8755 ;
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 226
.GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
8757 .SBTTL .GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
8758
8759 ;+
8760 ; .GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER
8761 ;
8762 ; THIS SUBROUTINE WILL RETURN A PDP-11 NUMBER IN R0.
8763 ;
8764 ; INPUT ARGUMENTS:
8765 ;
8766 ; NONE.
8767 ;
8768 ; OUTPUT ARGUMENTS:
8769 ;
8770 ; R0 HOLDS THE PDP-11 NUMBER.
8771 ;
8772 ; ERROR CODES RETURNED:
8773 ;
8774 ; NOR -- INPUT NUMBER OUT OF RANGE.
8775 ;-
8776
8777 013220 .GTELN::
8778 013220 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
8779 013222 005046 CLR -(SP) ; .
8780 013224 005046 CLR -(SP) ; ..
8781 013226 010600 MOV SP,R0 ; ...
8782 013230 CALL .GTNUM ; ...GET A NUMBER
013230 004737 013302' JSR PC,.GTNUM
8783 013234 CALL .ELNCK ; ...SEE IF IS REALLY A PDP-11 NUMBER
013234 004737 013144' JSR PC,.ELNCK
8784 013240 011000 MOV (R0),R0 ; ...PUT THE NUMBER IN R0
8785 013242 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
8786 013246 RETURN ; TO CALLER
013246 000207 RTS PC
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 227
.GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
8788 .SBTTL .GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
8789
8790 ;+
8791 ; .GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS.
8792 ;
8793 ; THIS SUBROUTINE WILL READ AND RETURN A 36 BIT NUMBER AS A 22 BIT
8794 ; ADDRESS IN THE BUFFER POINTED TO BY R0 IN THE CALL.
8795 ;
8796 ; INPUT ARGUMENTS:
8797 ;
8798 ; R0 POINTS TO A THREE WORD BUFFER
8799 ;
8800 ; OUTPUT ARGUMENTS:
8801 ;
8802 ; R0 POINTS TO THE 22 BIT KL ADDRESS
8803 ;
8804 ; ERROR CODES RETURNED:
8805 ;
8806 ; KLA -- KL ADDRESS ERROR.
8807 ; NOR -- NUMBER OUT OF RANGE
8808 ;-
8809
8810 013250 .GTKLA::
8811 013250 CALL .GTNUM ; GET A NUMBER
013250 004737 013302' JSR PC,.GTNUM
8812 013254 005760 000004 TST 4(R0) ; CHECK FOR A LEGAL ADDRESS
8813 013260 001005 BNE GTKKLA ; BAD NEWS -- OUT OF RANGE
8814 013262 032760 177600 000002 BIT #^C177,2(R0) ; LOOK AT SECOND WORD
8815 013270 001001 BNE GTKKLA ; SAME HERE -- OUT OF RANGE
8816 013272 RETURN ; TO CALLER
013272 000207 RTS PC
8817 013274 GTKKLA:
8818 013274 ERROR$ KLA ; ERROR -- KL ADDRESS ERROR
013274 012746 043241 MOV #^RKLA,-(SP)
013300 104400 TRAP TC.ERR
8819 ;
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 228
.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
8821 .SBTTL .GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
8822
8823 ;+
8824 ; .GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION
8825 ; .GTKLN -- ".GTNUM" BY ANOTHER NAME
8826 ;
8827 ; THIS SUBROUTINE WILL READ AND CONVERT A NUMERIC EXPRESSION FROM
8828 ; THE INPUT STREAM AND RETURN A POINTER TO THE NUMBER IN R0
8829 ;
8830 ; INPUT ARGUMENTS:
8831 ;
8832 ; R0 POINTS TO THE DESTINATION OF THE NUMBER
8833 ; R5 POINTS TO THE INPUT STREAM
8834 ;
8835 ; OUTPUT ARGUMENTS:
8836 ;
8837 ; R0 POINTS TO THE NUMBER
8838 ; R5 POINTS TO THE FIRST CHARACTER AFTER THE NUMBER
8839 ;
8840 ; ERROR CODES RETURNED:
8841 ;
8842 ; ILC -- ILLEGAL CHARACTER.
8843 ; NOR -- NUMBER OUT OF RANGE.
8844 ;-
8845
8846 013302 .GTNUM::
8847 013302 .GTKLN::
8848 013302 PUSH R1 ; SAVE R1
013302 010146 MOV R1,-(SP)
8849 013304 CALL .CKSYM ; .GET OVER LEADING BLANKS
013304 004737 000374' JSR PC,.CKSYM
8850 013310 122715 000077 CMPB #'?,(R5) ; .IS THIS AN INQUIRY?
8851 013314 001474 BEQ GTNNER ; .YES -- SAY SO
8852 013316 CALL .TPCLR ; .NO -- CLEAR CALLER'S NUMBER
013316 004737 011372' JSR PC,.TPCLR
8853 013322 CALL .CKARG ; [5.1018]IS ARGUMENT NUMERIC?
013322 004737 000070' JSR PC,.CKARG
8854 013326 100403 BMI 5$ ; [5.1018]YES -- GET IT
8855 013330 CALL .GTOPC ; <*>NO -- DECODE OPCODE
013330 004737 013514' JSR PC,.GTOPC
8856 013334 000405 BR 7$ ; [5.1018]GET RIGHT HALF
8857 013336 5$: CALL .GTEXP ; .READ THIS EXPRESSION
013336 004737 013706' JSR PC,.GTEXP
8858 013342 122715 000040 CMPB #.SPACE,(R5) ; .IS THE TERMINATOR A <SPACE>?
8859 013346 001053 BNE 30$ ; .NO -- JUST EXIT
8860 013350 7$: CALL .CKARG ; .YES -- SEE IF NUMERIC ARGUMENT FOLLOWS
013350 004737 000070' JSR PC,.CKARG
8861 013354 001454 BEQ GTNNER ; .NOT NUMERIC -- GIVE "NER" ERROR
8862 013356 CALL .TPTST ; .NUMERIC -- SEE IF PREVIOUS IS NEGATIVE
013356 004737 011474' JSR PC,.TPTST
8863 013362 002407 BLT 10$ ; .NEGATIVE -- DON'T DO RANGE CHECK
8864 013364 032760 177774 000002 BIT #^C3,2(R0) ; .IS THE NUMBER IN RANGE?
8865 013372 001043 BNE GTNORE ; .NO -- GIVE "NOR" ERROR
8866 013374 005760 000004 TST 4(R0) ; .IS IT REALLY IN RANGE?
8867 013400 001040 BNE GTNORE ; .NO -- GIVE "NOR" ERROR
8868
8869 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 229
.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
8871 ; [CONTINUED FROM THE PREVIOUS PAGE]
8872
8873 013402 10$:
8874 013402 012701 000022 MOV #^D18,R1 ; .SHIFT COUNT TO R1
8875 013406 CALL .TPSHI ; .SHIFT IT
013406 004737 011772' JSR PC,.TPSHI
8876 013412 010001 MOV R0,R1 ; .SAVE THE POINTER TO THE CURRENT NUMBER
8877 013414 005046 CLR -(SP) ; .CLEAR A NEW BUFFER
8878 013416 005046 CLR -(SP) ; ..
8879 013420 005046 CLR -(SP) ; ...
8880 013422 010600 MOV SP,R0 ; ....POINT TO THE BUFFER
8881 013424 PUSH R1 ; ....SAVE THE OLD POINTER
013424 010146 MOV R1,-(SP)
8882 013426 CALL .GTEXP ; .....READ THE NEW EXPRESSION
013426 004737 013706' JSR PC,.GTEXP
8883 013432 CALL .CKEOS ; .....MUST HAVE E-O-S AT THIS POINT
013432 004737 000256' JSR PC,.CKEOS
8884 013436 CALL .TPTST ; .....SEE IF THIS NUMBER IS NEGATIVE
013436 004737 011474' JSR PC,.TPTST
8885 013442 003005 BGT 20$ ; .....YES -- GO ON
8886 013444 005060 000004 CLR 4(R0) ; .....YES -- FIX IT UP
8887 013450 042760 177774 000002 BIC #^C3,2(R0) ; .....SO
8888 013456 20$:
8889 013456 POP R1 ; .....GET THE POINTER TO THE FIRST PART
013456 012601 MOV (SP)+,R1
8890 013460 052021 BIS (R0)+,(R1)+ ; ....ASSEMBLE THE NEW NUMBER
8891 013462 052021 BIS (R0)+,(R1)+ ; ....FROM BOTH HALVES
8892 013464 051011 BIS (R0),(R1) ; ....SO
8893 013466 062706 000006 ADD #^D6,SP ; ....RESET THE STACK
8894 013472 024141 CMP -(R1),-(R1) ; .BACK THE POINTER UP
8895 013474 010100 MOV R1,R0 ; .PUT IT IN R0
8896 013476 30$:
8897 013476 POP R1 ; .RESTORE R1
013476 012601 MOV (SP)+,R1
8898 013500 RETURN ; TO CALLER
013500 000207 RTS PC
8899 013502 GTNORE:
8900 013502 000137 014534' JMP GTNNOR ; GIVE "NOR" ERROR
8901 ;
8902 013506 GTNNER:
8903 013506 ERROR$ NER ; ERROR -- NUMERIC EXPRESSION REQUIRED
013506 012746 054132 MOV #^RNER,-(SP)
013512 104400 TRAP TC.ERR
8904 ;
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 230
.GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"
8906 .SBTTL .GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"
8907
8908 ;+
8909 ; .GTOPC -- KL I/O OPCODE DECODER ROUTINE
8910 ;
8911 ; THIS ROUTINE WILL DECODE AN ARGUMENT OF THE FORM "FUNC DEV" WHERE
8912 ; FUNC IS ONE OF THE FOLLOWING "CONO,CONI,DATAO,DATAI,BLKO,BLKI,CONSO,
8913 ; CONSZ" AND DEV IS A DEVICE CODE. THE ROUTINE WILL RETURN IN THE THREE
8914 ; WORD BLOCK POINTED TO BY R0 THE LEFT HALF OF THE 36 BIT KL INSTRUCTION
8915 ; IN THE FIRST 18 BITS.
8916
8917 ; THIS ROUTINE ADDED FOR TCO 5.1018
8918 ;
8919 ; INPUT ARGUMENTS:
8920 ;
8921 ; R0 POINTS TO THE 3 WORD DESTINATION BLOCK
8922 ; R5 POINTS TO INPUT STREAM
8923 ;
8924 ; OUTPUT ARGUMENTS:
8925 ;
8926 ; R0 POINTS TO NUMBER WITH LEFT HALF FILLED IN
8927 ; R5 POINTS TO FIRST CHARACTER AFTER "FUNC DEV"
8928 ;
8929 ; ERROR CODES RETURNED:
8930 ;
8931 ; ILI -- ILLEGAL INSTRUCTION
8932 ; NER -- NUMERIC EXPRESSION REQUIRED
8933 ; NOR -- NUMBER OUT OF RANGE
8934 ;-
8935
8936 013514 .GTOPC::
8937 013514 PUSH <R0,R1,R5> ; SAVE REGISTERS
013514 010046 MOV R0,-(SP)
013516 010146 MOV R1,-(SP)
013520 010546 MOV R5,-(SP)
8938 013522 005010 CLR (R0) ; CLEAR BITS 20-35
8939 013524 052710 100000 BIS #100000,(R0) ; SET BIT 20 FOR I/O OPCODE
8940 013530 052760 000003 000002 BIS #3,2(R0) ; SET BITS 18-19 FOR I/O OPCODE
8941 013536 012701 007276' MOV #IOTAB,R1 ; TABLE PTR TO R1
8942 013542 012100 10$: MOV (R1)+,R0 ; TEXT PTR TO R0
8943 013544 001455 BEQ GTNILI ; TABLE DONE?
8944 013546 011605 MOV (SP),R5 ; RESTORE R5 (CHANGED ON PARTIAL MATCH)
8945 013550 CALL .SSCAN ; NO -- CHECK FOR MATCH
013550 004737 010774' JSR PC,.SSCAN
8946 013554 103772 BCS 10$ ; NO MATCH
8947 013556 001371 BNE 10$ ; NOT EXACT MATCH
8948 013560 005726 TST (SP)+ ; R5 NO LONGER NEEDED
8949 013562 162701 007300' SUB #IOTAB+2,R1 ; GET TABLE OFFSET
8950 013566 006301 ASL R1 ; PUT INSTR CODE IN POSITION
8951 013570 006301 ASL R1
8952 013572 006301 ASL R1
8953 013574 006301 ASL R1
8954 013576 016600 000002 MOV 2(SP),R0 ; RESTORE R0
8955 013602 050110 BIS R1,(R0) ; SET INSTR CODE
8956 013604 122715 000040 CMPB #' ,(R5) ; NEXT CHAR A SPACE?
8957 013610 001033 BNE GTNILI ; NO -- ERROR
8958 013612 CALL .CKARG ; YES -- NEXT ARGUMENT NUMERIC?
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 230-1
.GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"
013612 004737 000070' JSR PC,.CKARG
8959 013616 100333 BPL GTNNER ; NO -- ERROR
8960 013620 CALL .GTELN ; YES -- GET DEVICE CODE
013620 004737 013220' JSR PC,.GTELN
8961 013624 020027 000774 CMP R0,#774 ; IN RANGE?
8962 013630 101324 BHI GTNORE ; NO -- TOO LARGE ERROR
8963 013632 032700 000003 BIT #3,R0 ; YES -- ILLEGAL BITS ON?
8964 013636 001321 BNE GTNORE ; YES -- ERROR
8965 013640 006300 ASL R0 ; NO -- PUT DEVICE CODE IN POSITION
8966 013642 006300 ASL R0
8967 013644 006300 ASL R0
8968 013646 006300 ASL R0
8969 013650 006300 ASL R0
8970 013652 006300 ASL R0
8971 013654 010001 MOV R0,R1 ; STORE VALUE IN R1
8972 013656 016600 000002 MOV 2(SP),R0 ; RESTORE R0
8973 013662 050110 BIS R1,(R0) ; SET DEVICE CODE
8974 013664 122725 000054 CMPB #',,(R5)+ ; NEXT CHAR A COMMA?
8975 013670 001003 BNE GTNILI ; NO -- ERROR
8976 013672 POP <R1,R0> ; YES -- RESTORE REGISTERS
013672 012601 MOV (SP)+,R1
013674 012600 MOV (SP)+,R0
8977 013676 RETURN
013676 000207 RTS PC
8978 ;
8979 013700 GTNILI:
8980 013700 ERROR$ ILI ; ERROR -- ILLEGAL INSTRUCTION
013700 012746 035051 MOV #^RILI,-(SP)
013704 104400 TRAP TC.ERR
8981 ;
8982
8983 007276 .PSECT DATA
8984
8985 007276 IOTAB:
8986 007276 002232' .WORD BLKIS
8987 007300 002237' .WORD DATAIS
8988 007302 002245' .WORD BLKOS
8989 007304 002252' .WORD DATAOS
8990 007306 002260' .WORD CONOS
8991 007310 002265' .WORD CONIS
8992 007312 002272' .WORD CONSZS
8993 007314 002300' .WORD CONSOS
8994 007316 000000 .WORD 0
8995
8996 002232 .PSECT MESSAG
8997
8998 002232 102 114 113 BLKIS: .ASCIZ /BLKI/
002235 111 000
8999 002237 104 101 124 DATAIS: .ASCIZ /DATAI/
002242 101 111 000
9000 002245 102 114 113 BLKOS: .ASCIZ /BLKO/
002250 117 000
9001 002252 104 101 124 DATAOS: .ASCIZ /DATAO/
002255 101 117 000
9002 002260 103 117 116 CONOS: .ASCIZ /CONO/
002263 117 000
9003 002265 103 117 116 CONIS: .ASCIZ /CONI/
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 230-2
.GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"
002270 111 000
9004 002272 103 117 116 CONSZS: .ASCIZ /CONSZ/
002275 123 132 000
9005 002300 103 117 116 CONSOS: .ASCIZ /CONSO/
002303 123 117 000
9006
9007 013706 .PSECT
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 231
.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
9009 .SBTTL .GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
9010
9011 ;+
9012 ; .GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM"
9013 ;
9014 ; THIS ROUTINE EVALUATES NUMERIC EXPRESSIONS FOR ".GTNUM".
9015 ;
9016 ; DEFINITION OF AN EXPRESSION:
9017 ;
9018 ; EXP=TERM+TERM!TERM-TERM!TERM+TERM+....!TERM-TERM-....!TERM
9019 ;
9020 ; INPUT ARGUMENTS:
9021 ;
9022 ; R0 POINTS TO A THREE WORD BUFFER
9023 ;
9024 ; OUTPUT ARGUMENTS:
9025 ;
9026 ; R0 POINTS TO THE EVALUATED EXPRESSION
9027 ;
9028 ; ERROR CODES RETURNED:
9029 ;
9030 ; NONE.
9031 ;-
9032
9033 013706 .GTEXP::
9034 013706 CALL .GTTRM ; GET THE NEXT TERM
013706 004737 014002' JSR PC,.GTTRM
9035 013712 10$:
9036 013712 122715 000053 CMPB #'+,(R5) ; DID HE SAY ADD?
9037 013716 001404 BEQ 20$ ; YES -- GO DO THE ADDITION
9038 013720 122715 000055 CMPB #'-,(R5) ; NO -- DID HE SAY SUBTRACT?
9039 013724 001404 BEQ 30$ ; YES -- GO DO THE SUBTRACTION
9040 013726 RETURN ; NO -- JUST RETURN
013726 000207 RTS PC
9041
9042 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 232
.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
9044 ; [CONTINUED FROM THE PREVIOUS PAGE]
9045
9046 013730 20$:
9047 013730 012702 011516' MOV #.TPADD,R2 ; DISPATCH ADDRESS TO R2
9048 013734 000402 BR 40$ ; TO COMMON ROUTINE
9049 ;
9050 013736 30$:
9051 013736 012702 011562' MOV #.TPSUB,R2 ; DISPATCH ADDRESS TO R2
9052 013742 40$:
9053 013742 112504 MOVB (R5)+,R4 ; GET OVER THE OPERATOR CHARACTER
9054 013744 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
9055 013746 005046 CLR -(SP) ; .
9056 013750 005046 CLR -(SP) ; ..
9057 013752 010601 MOV SP,R1 ; ...SCRATCH POINTER TO R1
9058 013754 PUSH R2 ; ...SAVE THE DISPATCH ADDRESS
013754 010246 MOV R2,-(SP)
9059 013756 PUSH R0 ; ....AND PREVIOUS POINTER
013756 010046 MOV R0,-(SP)
9060 013760 010100 MOV R1,R0 ; .....CURRENT POINTER TO R0
9061 013762 CALL .GTTRM ; .....GET THE NEXT TERM
013762 004737 014002' JSR PC,.GTTRM
9062 013766 010001 MOV R0,R1 ; .....CURRENT POINTER TO R1
9063 013770 POP R0 ; .....RESTORE PREVIOUS POINTER
013770 012600 MOV (SP)+,R0
9064 013772 CALL @(SP)+ ; ....DO THE ADDITION OR SUBTRACTION
013772 004736 JSR PC,@(SP)+
9065 013774 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
9066 014000 000744 BR 10$ ; AND SEE IF THERE IS MORE
9067 ;
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 233
.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
9069 .SBTTL .GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
9070
9071 ;+
9072 ; .GTTRM -- TERM EVALUATOR FOR ".GTNUM"
9073 ;
9074 ; THIS ROUTINE EVALUATES NUMERIC TERMS FOR ".GTNUM".
9075 ;
9076 ; DEFINITION OF A TERM:
9077 ;
9078 ; TERM=FACTOR*FACTOR!FACTOR/FACTOR!FACTOR*FACTOR*....!FACTOR/FACTOR/....!FACTOR
9079 ;
9080 ; INPUT ARGUMENTS:
9081 ;
9082 ; R0 POINTS TO A THREE WORD BUFFER
9083 ;
9084 ; OUTPUT ARGUMENTS:
9085 ;
9086 ; R0 POINTS TO THE EVALUATED TERM
9087 ;
9088 ; ERROR CODES RETURNED:
9089 ;
9090 ; NONE.
9091 ;-
9092
9093 014002 .GTTRM::
9094 014002 CALL .GTFCT ; GET THE NEXT FACTOR
014002 004737 014114' JSR PC,.GTFCT
9095 014006 001411 BEQ 20$ ; EXIT IF NULL ARGUMENT
9096 014010 10$:
9097 014010 122715 000137 CMPB #'_,(R5) ; DID HE SAY SHIFT?
9098 014014 001407 BEQ 30$ ; YES -- GO DO THE SHIFT
9099 014016 122715 000052 CMPB #'*,(R5) ; NO -- DID HE SAY MULTIPLY?
9100 014022 001412 BEQ 50$ ; YES -- GO DO THE MULTIPLICATION
9101 014024 122715 000057 CMPB #'/,(R5) ; NO -- DID HE SAY DIVIDE?
9102 014030 001404 BEQ 40$ ; YES -- GO DO THE DIVISION
9103 014032 20$:
9104 014032 RETURN ; NO -- JUST RETURN
014032 000207 RTS PC
9105
9106 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 234
.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
9108 ; [CONTINUED FROM THE PREVIOUS PAGE]
9109
9110 014034 30$:
9111 014034 012702 012036' MOV #.TPSHL,R2 ; DISPATCH TO R2
9112 014040 000405 BR 60$ ; TO COMMON CODE
9113 ;
9114 014042 40$:
9115 014042 012702 011160' MOV #.TPDIV,R2 ; DISPATCH TO R2
9116 014046 000402 BR 60$ ; TO COMMON ROUTINE
9117 ;
9118 014050 50$:
9119 014050 012702 011606' MOV #.TPMUL,R2 ; DISPATCH TO R2
9120 014054 60$:
9121 014054 112504 MOVB (R5)+,R4 ; GET OVER THE OPERATOR CHARACTER
9122 014056 005046 CLR -(SP) ; CREATE A SCRATCH BUFFER ON THE STACK
9123 014060 005046 CLR -(SP) ; .
9124 014062 005046 CLR -(SP) ; ..
9125 014064 010601 MOV SP,R1 ; ...SCRATCH POINTER TO R1
9126 014066 PUSH R2 ; ...SAVE THE DISPATCH POINTER
014066 010246 MOV R2,-(SP)
9127 014070 PUSH R0 ; ....SAVE PREVIOUS NUMBER POINTER
014070 010046 MOV R0,-(SP)
9128 014072 010100 MOV R1,R0 ; .....CURRENT POINTER TO R0
9129 014074 CALL .GTFCT ; .....GET THE NEXT FACTOR
014074 004737 014114' JSR PC,.GTFCT
9130 014100 010001 MOV R0,R1 ; .....POINTER TO R1
9131 014102 POP R0 ; .....PREVIOUS POINTER TO R0
014102 012600 MOV (SP)+,R0
9132 014104 CALL @(SP)+ ; ....DO DIVISION OR MULTIPLICATION
014104 004736 JSR PC,@(SP)+
9133 014106 062706 000006 ADD #^D6,SP ; ...CLEAR THE STACK
9134 014112 000736 BR 10$ ; AND SEE IF THERE IS MORE
9135 ;
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 235
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
9137 .SBTTL .GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
9138
9139 ;+
9140 ; .GTFCT -- FACTOR EVALUATOR FOR ".GTNUM"
9141 ;
9142 ; THIS ROUTINE EVALUATES NUMERIC FACTORS FOR ".GTNUM".
9143 ;
9144 ; DEFINITION OF AN FACTOR:
9145 ;
9146 ; FACTOR=(EXP)!+FACTOR!-FACTOR!NUMBER
9147 ;
9148 ; INPUT ARGUMENTS:
9149 ;
9150 ; R0 POINTS TO A THREE WORD BUFFER
9151 ;
9152 ; OUTPUT ARGUMENTS:
9153 ;
9154 ; R0 POINTS TO THE EVALUATED FACTOR
9155 ;
9156 ; ERROR CODES RETURNED:
9157 ;
9158 ; NONE.
9159 ;-
9160
9161 .ENABL LSB
9162
9163 014114 .GTFCT::
9164 014114 122715 000136 CMPB #'^,(R5) ; SPECIAL RADIX?
9165 014120 001435 BEQ 30$ ; YES -- GO HANDLE IT
9166 014122 122715 000050 CMPB #'(,(R5) ; NO -- DOES THE FIRST CHARACTER OPEN EXPRESSION?
9167 014126 001517 BEQ 65$ ; YES -- GO HANDLE IT
9168 014130 122715 000053 CMPB #'+,(R5) ; NO -- IS IT A <PLUS>?
9169 014134 001503 BEQ 60$ ; YES -- GO HANDLE <PLUS>
9170 014136 122715 000055 CMPB #'-,(R5) ; NO -- IS IT A <MINUS>?
9171 014142 001500 BEQ 60$ ; YES -- GO HANDLE <MINUS>
9172 014144 CALL .GTNBR ; NO -- GO GET A NUMBER
014144 004737 014410' JSR PC,.GTNBR
9173 014150 10$:
9174 014150 122715 000047 CMPB #'',(R5) ; RELOCATE?
9175 014154 001404 BEQ 20$ ; YES -- DO IT
9176 014156 122715 000042 CMPB #'",(R5) ; NO -- UNRELOCATE?
9177 014162 001401 BEQ 20$ ; YES -- DO IT
9178 014164 15$:
9179 014164 RETURN ; TO CALLER
014164 000207 RTS PC
9180
9181 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 236
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
9183 ; [CONTINUED FROM THE PREVIOUS PAGE]
9184
9185 014166 20$:
9186 014166 PUSH R1 ; SAVE R1
014166 010146 MOV R1,-(SP)
9187 014170 013701 000242' MOV .RELWD,R1 ; .RELOCATION TO R1
9188 014174 122715 000042 CMPB #'",(R5) ; .UNRELOCATE?
9189 014200 001001 BNE 25$ ; .NO -- GO ON
9190 014202 005401 NEG R1 ; .YES -- NEGATE IT
9191 014204 25$:
9192 014204 060110 ADD R1,(R0) ; .COMPUTE THE FACTOR
9193 014206 105725 TSTB (R5)+ ; .GET OVER THE SYMBOL
9194 014210 POP R1 ; .RESTORE R1
014210 012601 MOV (SP)+,R1
9195 014212 000764 BR 15$ ; AND EXIT
9196 ;
9197 014214 30$:
9198 014214 105725 TSTB (R5)+ ; GET OVER THE UP-ARROW
9199 014216 112546 MOVB (R5)+,-(SP) ; SAVE THE NEXT CHARACTER
9200 014220 CALL .CKARG ; .LOOK FOR A TRAILING ARGUMENT
014220 004737 000070' JSR PC,.CKARG
9201 014224 001417 BEQ GTFILC ; .ERROR IF CC-Z IS SET
9202 014226 POP R4 ; .RESTORE THE CHARACTER
014226 012604 MOV (SP)+,R4
9203 014230 122704 000103 CMPB #'C,R4 ; .COMPLEMENT?
9204 014234 001436 BEQ 55$ ; .YES -- PROCESS COMPLEMENT
9205 014236 PUSH .IRADX ; .NO -- SAVE THE CURRENT RADIX
014236 013746 000166' MOV .IRADX,-(SP)
9206 014242 122704 000104 CMPB #'D,R4 ; .DECIMAL?
9207 014246 001415 BEQ 40$ ; .YES -- PROCESS DECIMAL
9208 014250 122704 000102 CMPB #'B,R4 ; .NO -- BINARY?
9209 014254 001406 BEQ 35$ ; .YES -- PROCESS BINARY
9210 014256 122704 000117 CMPB #'O,R4 ; .NO -- OCTAL?
9211 014262 001413 BEQ 45$ ; .YES -- PROCESS OCTAL
9212 014264 GTFILC:
9213 014264 ERROR$ ILC ; .NO -- GIVE "ILC" ERROR
014264 012746 035043 MOV #^RILC,-(SP)
014270 104400 TRAP TC.ERR
9214 ;
9215
9216 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 237
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
9218 ; [CONTINUED FROM THE PREVIOUS PAGE]
9219
9220 014272 35$:
9221 014272 012737 000002 000166' MOV #^D2,.IRADX ; .SET THE RADIX TO BINARY
9222 014300 000407 BR 50$ ; .TO COMMON CODE
9223 ;
9224 014302 40$:
9225 014302 012737 000012 000166' MOV #^D10,.IRADX ; .SET THE RADIX TO DECIMAL
9226 014310 000403 BR 50$ ; .TO COMMON CODE
9227 ;
9228 014312 45$:
9229 014312 012737 000010 000166' MOV #^D8,.IRADX ; .SET THE RADIX TO OCTAL
9230 014320 50$:
9231 014320 CALL .GTFCT ; .GET THE FACTOR
014320 004737 014114' JSR PC,.GTFCT
9232 014324 POP .IRADX ; .RESTORE THE ORIGINAL RADIX
014324 012637 000166' MOV (SP)+,.IRADX
9233 014330 000707 BR 10$ ; AND EXIT
9234 ;
9235 014332 55$:
9236 014332 CALL .GTFCT ; GET THE FACTOR
014332 004737 014114' JSR PC,.GTFCT
9237 014336 CALL .TPCOM ; AND INVERT IT
014336 004737 011402' JSR PC,.TPCOM
9238 014342 000702 BR 10$ ; EXIT
9239 ;
9240 014344 60$:
9241 014344 112546 MOVB (R5)+,-(SP) ; SAVE THE NEXT CHARACTER
9242 014346 CALL .GTFCT ; .GO LOOK FOR MORE
014346 004737 014114' JSR PC,.GTFCT
9243 014352 122726 000055 CMPB #'-,(SP)+ ; .WAS THE PREFIX A <MINUS>?
9244 014356 001274 BNE 10$ ; NO -- JUST EXIT
9245 014360 CALL .TPNEG ; YES -- NEGATE IT
014360 004737 011412' JSR PC,.TPNEG
9246 014364 000671 BR 10$ ; AND EXIT
9247 ;
9248 014366 65$:
9249 014366 112504 MOVB (R5)+,R4 ; GET OVER THE PAREN
9250 014370 CALL .GTEXP ; READ THIS EXPRESSION
014370 004737 013706' JSR PC,.GTEXP
9251 014374 122725 000051 CMPB #'),(R5)+ ; DID WE END IT PROPERLY?
9252 014400 001663 BEQ 10$ ; YES -- JUST EXIT
9253 014402 ERROR$ RPM ; NO -- ERROR -- RIGHT PARENTHESES MISSING
014402 012746 071415 MOV #^RRPM,-(SP)
014406 104400 TRAP TC.ERR
9254 ;
9255
9256 .DSABL LSB
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 238
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
9258 .SBTTL .GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
9259
9260 ;+
9261 ; .GTNBR -- NUMBER EVALUATOR FOR ".GTNUM"
9262 ;
9263 ; THIS ROUTINE EVALUATES NUMBERS FOR ".GTNUM".
9264 ;
9265 ; INPUT ARGUMENTS:
9266 ;
9267 ; R0 POINTS TO A THREE WORD BUFFER
9268 ;
9269 ; OUTPUT ARGUMENTS:
9270 ;
9271 ; R0 POINTS TO THE EVALUATED NUMBER
9272 ;
9273 ; ERROR CODES RETURNED:
9274 ;
9275 ; NONE.
9276 ;-
9277
9278 014410 .GTNBR::
9279 014410 005037 000164' CLR .INCHC ; CLEAR THE CHARACTER COUNT
9280 014414 PUSH R1 ; SAVE R1
014414 010146 MOV R1,-(SP)
9281 014416 005046 CLR -(SP) ; .SET UP THE INPUT RADIX
9282 014420 005046 CLR -(SP) ; ..
9283 014422 PUSH .IRADX ; ...SO
014422 013746 000166' MOV .IRADX,-(SP)
9284 014426 010601 MOV SP,R1 ; ....POINT TO THE INPUT RADIX
9285 014430 10$:
9286 014430 112504 MOVB (R5)+,R4 ; ....GET THE CHARACTER INTO R4
9287 014432 132764 000002 001502' BITB #CH.NUM,.CHTAB(R4)
9288 014440 001422 BEQ 20$ ; ....EXIT IF NON-NUMERIC
9289 014442 005237 000164' INC .INCHC ; ....INCREMENT THE CHARACTER COUNT
9290 014446 142704 177760 BICB #^C17,R4 ; ....FLUSH ASCII
9291 014452 120411 CMPB R4,(R1) ; ....DID WE EXCEED THE INPUT RADIX?
9292 014454 002027 BGE GTNNOR ; ....YES -- GIVE "NOR" ERROR
9293 014456 CALL .TPMUL ; ....NO -- MAKE ROOM FOR THIS DIGIT
014456 004737 011606' JSR PC,.TPMUL
9294 014462 PUSH (R1) ; ....SAVE THE RADIX
014462 011146 MOV (R1),-(SP)
9295 014464 010411 MOV R4,(R1) ; .....SET UP TO ADD THIS DIGIT
9296 014466 CALL .TPADD ; .....TO THE CUMULATIVE RESULT
014466 004737 011516' JSR PC,.TPADD
9297 014472 032760 177760 000004 BIT #^C17,4(R0) ; .....HAVE WE OVERFLOWED THE NUMBER?
9298 014500 001015 BNE GTNNOR ; .....YES -- GIVE "NOR" ERROR
9299 014502 POP (R1) ; .....NO -- RESTORE THE RADIX
014502 012611 MOV (SP)+,(R1)
9300 014504 000751 BR 10$ ; ....AND CONTINUE
9301 ;
9302
9303 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO M1113 03-APR-86 22:51 PAGE 239
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
9305 ; [CONTINUED FROM THE PREVIOUS PAGE]
9306
9307 014506 20$:
9308 014506 062706 000006 ADD #^D6,SP ; ....FLUSH THE STACK
9309 014512 POP R1 ; .RESTORE R1
014512 012601 MOV (SP)+,R1
9310 014514 105745 TSTB -(R5) ; BACK THE INPUT POINTER UP
9311 014516 005737 000164' TST .INCHC ; LOOK AT THE CHARACTER COUNT
9312 014522 001401 BEQ GTNMRA ; GIVE "MRA" ERROR IF NONE THERE
9313 014524 RETURN ; TO CALLER
014524 000207 RTS PC
9314 014526 GTNMRA:
9315 014526 ERROR$ MRA ; ERROR -- MISSING REQUIRED ARGUMENT
014526 012746 052021 MOV #^RMRA,-(SP)
014532 104400 TRAP TC.ERR
9316 ;
9317 014534 GTNNOR:
9318 014534 ERROR$ NOR ; ERROR -- NUMBER OUT OF RANGE
014534 012746 054752 MOV #^RNOR,-(SP)
014540 104400 TRAP TC.ERR
9319 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 241
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
9322 .TITLE TYOUT -- GENERAL TERMINAL OUTPUT MODULE 7603.30
9323
9324 .IDENT "006110"
9325
9326 ;
9327 ; COPYRIGHT (C) 1975, 1984, 1985 BY
9328 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
9329 ; ALL RIGHTS RESERVED.
9330 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
9331 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
9332 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
9333 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
9334 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
9335 ;
9336 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
9337 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
9338 ; CORPORATION.
9339 ;
9340 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
9341 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
9342 ;
9343 ; MODULE: GENERAL TERMINAL OUTPUT
9344 ;
9345 ; VERSION: 06-11
9346 ;
9347 ; AUTHOR: R. BELANGER
9348 ;
9349 ; DATE: 7603.30
9350 ;
9351 ; THIS MODULE CONTAINS:
9352 ;
9353 ; 1) GENERAL TERMINAL OUTPUT CODE
9354 ;
9355 ; MODIFICATIONS:
9356 ;
9357 ; NO. DATE PROGRAMMER REASON
9358 ; --- ---- ---------- ------
9359 ; [5.1000] 24-AUG-79 K. LEFEBVRE ADD LINE PRINTER SUPPORT
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 242
.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
9361 .SBTTL .TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
9362
9363 ;+
9364 ; .TYAST -- SUBROUTINE TO TYPE AN <ASTERISK> ON THE CONSOLE OUTPUT DEVICE.
9365 ; .TYCOL -- SUBROUTINE TO TYPE A <COLON> ON THE CONSOLE OUTPUT DEVICE.
9366 ; .TYCOM -- SUBROUTINE TO TYPE A <COMMA> ON THE CONSOLE OUTPUT DEVICE.
9367 ; .TYMIN -- SUBROUTINE TO TYPE A <MINUS> ON THE CONSOLE OUTPUT DEVICE.
9368 ; .TYSLS -- SUBROUTINE TO TYPE A <SLASH> ON THE CONSOLE OUTPUT DEVICE.
9369 ; .TYSPC -- SUBROUTINE TO TYPE A <SPACE> ON THE CONSOLE OUTPUT DEVICE.
9370 ; .TYUPA -- SUBROUTINE TO TYPE AN <UP-ARROW> ON THE CONSOLE OUTPUT DEVICE.
9371 ;
9372 ; THESE SUBROUTINES TYPE THE INDICATED CHARACTER(S) ON THE CONSOLE
9373 ; OUTPUT DEVICE.
9374 ;
9375 ; INPUT ARGUMENTS:
9376 ;
9377 ; NONE.
9378 ;
9379 ; OUTPUT ARGUMENTS:
9380 ;
9381 ; NONE.
9382 ;
9383 ; ERROR CODES RETURNED:
9384 ;
9385 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9386 ;-
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 243
.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
9388 .ENABL LSB
9389
9390 014542 .TYCOL::
9391 014542 PUSH R0 ; SAVE R0
014542 010046 MOV R0,-(SP)
9392 014544 012700 000072 MOV #':,R0 ; .<COLON> TO R0
9393 014550 000423 BR 10$ ; .DO OUTPUT
9394 ;
9395 014552 .TYCOM::
9396 014552 PUSH R0 ; SAVE R0
014552 010046 MOV R0,-(SP)
9397 014554 012700 000054 MOV #',,R0 ; .<COMMA> TO R0
9398 014560 000417 BR 10$ ; .OUTPUT IT
9399 ;
9400 014562 .TYMIN::
9401 014562 PUSH R0 ; SAVE R0
014562 010046 MOV R0,-(SP)
9402 014564 012700 000055 MOV #'-,R0 ; <HYPHEN> TO R0
9403 014570 000413 BR 10$ ; .DO OUTPUT
9404 ;
9405 014572 .TYSLS::
9406 014572 PUSH R0 ; SAVE R0
014572 010046 MOV R0,-(SP)
9407 014574 012700 000057 MOV #'/,R0 ; .<SLASH> TO R0
9408 014600 000407 BR 10$ ; .OUTPUT IT
9409 ;
9410 014602 .TYSPC::
9411 014602 PUSH R0 ; SAVE R0
014602 010046 MOV R0,-(SP)
9412 014604 012700 000040 MOV #.SPACE,R0 ; .<SPACE> TO R0
9413 014610 000403 BR 10$ ; .OUTPUT IT
9414 ;
9415 014612 .TYUPA::
9416 014612 PUSH R0 ; SAVE R0
014612 010046 MOV R0,-(SP)
9417 014614 012700 000136 MOV #'^,R0 ; .<UP-ARROW> TO R0
9418 014620 10$:
9419 014620 CALL .TYCHR ; .OUTPUT IT
014620 004737 015520' JSR PC,.TYCHR
9420 014624 POP R0 ; .RESTORE R0
014624 012600 MOV (SP)+,R0
9421 014626 RETURN ; TO CALLER
014626 000207 RTS PC
9422
9423 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 244
.TYACE -- TYPE AC ADDR AND CONTENTS
9425 .SBTTL .TYACE -- TYPE AC ADDR AND CONTENTS
9426
9427 ;+
9428 ; .TYACE -- SUBROUTINE TO TYPE AC ADDR AND CONTENTS
9429 ;
9430 ; THIS ROUTINE WILL TYPE:
9431 ; N:AAAAAA/ DDDDDD DDDDDD
9432 ; N-AC BLOCK NUMBER
9433 ; A-AC ADDR
9434 ; D-AC DATA
9435 ;
9436 ; INPUT ARGUMENTS:
9437 ;
9438 ; +---------------+
9439 ; R0=> ! BLOCK ! ADDR !
9440 ; +---------------+
9441 ; ! KL BITS 20-35 !
9442 ; +---------------+
9443 ; ! KL BITS 4-19 !
9444 ; +---------------+
9445 ; ! KL BITS 0-3 !
9446 ; +---------------+
9447 ;
9448 ; OUTPUT ARGUMENTS:
9449 ;
9450 ; NONE
9451 ;
9452 ; ERROR CODES RETURNED:
9453 ;
9454 ; NONE
9455 ;-
9456
9457 014630 .TYACE::
9458 014630 PUSH R0 ; SAVE R0
014630 010046 MOV R0,-(SP)
9459 014632 113700 000204' MOVB .PASS,R0 ; PASS NO.
9460 014636 005200 INC R0 ; MAKE 1 OR 2
9461 014640 062700 000060 ADD #'0,R0 ; MAKE ASCII
9462 014644 110037 002323' MOVB R0,PRMFM+13. ; PUT IN MESSAGE
9463 014650 012700 002306' MOV #PRMFM,R0 ; FM SWEEP PROMPT
9464 014654 CALL .TYMSG ; TYPE IT
014654 004737 015462' JSR PC,.TYMSG
9465 014660 POP R0 ; RESTORE R0
014660 012600 MOV (SP)+,R0
9466 014662 .TYAC1::PUSH R2 ; ALT. ENTRY PT., SAVE R2
014662 010246 MOV R2,-(SP)
9467 014664 010002 MOV R0,R2 ; SAVE R0
9468 014666 011000 MOV (R0),R0 ; GET FIRST WORD OF DATA
9469 014670 000300 SWAB R0 ; GET BLOCK NO. IN LOW BYTE
9470 014672 042700 177600 BIC #177600,R0 ; CLEAR ADDR
9471 014676 062700 000060 ADD #'0,R0 ; CONVERT TO ASCII
9472 014702 CALL .TYCHR ; TYPE IT
014702 004737 015520' JSR PC,.TYCHR
9473 014706 CALL .TYCOL ; TYPE COLON
014706 004737 014542' JSR PC,.TYCOL
9474 014712 012237 007320' MOV (R2)+,ADRTMP ; GET FIRST DATA VALUE
9475 014716 042737 177600 007320' BIC #177600,ADRTMP ; CLEAR BLOCK NO.
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 244-1
.TYACE -- TYPE AC ADDR AND CONTENTS
9476 014724 012700 007320' MOV #ADRTMP,R0 ; PTR TO AC ADDR
9477 014730 CALL .TYKLA ; TYPE KL ADDR
014730 004737 015106' JSR PC,.TYKLA
9478 014734 CALL .TYSLS ; TYPE SLASH
014734 004737 014572' JSR PC,.TYSLS
9479 014740 CALL .TYSPC ; TYPE SPACE
014740 004737 014602' JSR PC,.TYSPC
9480 014744 010200 MOV R2,R0 ; PTR TO AC DATA
9481 014746 CALL .TYKLN ; TYPE KL DATA
014746 004737 015156' JSR PC,.TYKLN
9482 014752 CALL .TCRLF ; TYPE CR-LF
014752 004737 015552' JSR PC,.TCRLF
9483 014756 POP R2 ; RESTORE R2
014756 012602 MOV (SP)+,R2
9484 014760 RETURN
014760 000207 RTS PC
9485
9486 007320 .PSECT DATA
9487
9488 007320 000000 ADRTMP: .WORD 0 ; TEMPORARY ADDR LOCATION
9489 007322 000000 .WORD 0
9490 007324 000000 .WORD 0
9491
9492 002306 .PSECT MESSAG
9493
9494 002306 040 040 040 PRMFM: .ASCIZ / FM SWEEP X> /
002311 040 106 115
002314 040 123 127
002317 105 105 120
002322 040 130 076
002325 040 000
9495
9496 014762 .PSECT
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 245
.TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
9498 .SBTTL .TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
9499
9500 ;+
9501 ; .TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS
9502 ; .TYELN -- SUBROUTINE TO TYPE A PDP-11 NUMBER
9503 ;
9504 ; THIS SUBROUTINE WILL TYPE AND FORMAT A PDP-11 NUMBER ACCORDING TO THE
9505 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
9506 ;
9507 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
9508 ; (B) OCTAL: 6 DIGITS -- XXXXXX
9509 ; (C) DECIMAL: NO FORMATTING
9510 ;
9511 ; INPUT ARGUMENTS:
9512 ;
9513 ; R0 HOLDS THE NUMBER TO BE PRINTED
9514 ;
9515 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
9516 ;
9517 ; R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
9518 ; R3 POINTS TO A FORMAT TABLE
9519 ;
9520 ; ERROR CODES RETURNED:
9521 ;
9522 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9523 ;-
9524 .ENABL LSB
9525
9526
9527 014762 .TYELA::
9528 014762 005037 000220' CLR .LDZFL ; NO LEADING ZEROES
9529 014766 .TYELN::
9530 014766 PUSH <R3,R2,R1,R0> ; SAVE CALLER'S REGISTERS
014766 010346 MOV R3,-(SP)
014770 010246 MOV R2,-(SP)
014772 010146 MOV R1,-(SP)
014774 010046 MOV R0,-(SP)
9531 014776 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
9532 015000 022737 000002 000226' CMP #^D2,.ORADX ; ....BINARY?
9533 015006 001002 BNE 10$ ; ....NO
9534 015010 012703 007342' MOV #ELNBIN,R3 ; ....BINARY FORMAT TABLE TO R3
9535 015014 10$:
9536 015014 022737 000012 000226' CMP #^D10,.ORADX ; ....DECIMAL?
9537 015022 001424 BEQ 30$ ; ....YES
9538 015024 012703 007360' MOV #ELNOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
9539 015030 000421 BR 30$ ; ....SET UP POINTERS AND EXIT
9540 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 246
.TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
9542 .SBTTL .TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
9543
9544 ;+
9545 ; .TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER
9546 ;
9547 ; THIS SUBROUTINE WILL TYPE AND FORMAT A PDP-11 NUMBER ACCORDING TO THE
9548 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
9549 ;
9550 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
9551 ; (B) OCTAL: 3 DIGITS -- XXX
9552 ; (C) DECIMAL: NO FORMATTING
9553 ;
9554 ; INPUT ARGUMENTS:
9555 ;
9556 ; R0 HOLDS THE NUMBER TO BE PRINTED
9557 ;
9558 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
9559 ;
9560 ; R0 POINTS TO THE BYTE TO BE PRINTED (ON THE STACK)
9561 ; R3 POINTS TO A FORMAT TABLE
9562 ;
9563 ; ERROR CODES RETURNED:
9564 ;
9565 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9566 ;-
9567
9568 015032 .TYP3D::
9569 015032 PUSH <R3,R2,R1,R0> ; SAVE CALLER'S REGISTERS
015032 010346 MOV R3,-(SP)
015034 010246 MOV R2,-(SP)
015036 010146 MOV R1,-(SP)
015040 010046 MOV R0,-(SP)
9570 015042 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
9571 015044 022737 000002 000226' CMP #^D2,.ORADX ; ....BINARY?
9572 015052 001002 BNE 20$ ; ....NO
9573 015054 012703 007350' MOV #ELBBIN,R3 ; ....BINARY FORMAT TABLE TO R3
9574 015060 20$:
9575 015060 022737 000012 000226' CMP #^D10,.ORADX ; ....DECIMAL?
9576 015066 001402 BEQ 30$ ; ....YES
9577 015070 012703 007354' MOV #ELBOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
9578 015074 30$:
9579 015074 005046 CLR -(SP) ; ....SET UP BUFFERS ON THE STACK
9580 015076 005046 CLR -(SP) ; .....
9581 015100 PUSH R0 ; ......NUMBER TO BE TYPED
015100 010046 MOV R0,-(SP)
9582 015102 010600 MOV SP,R0 ; .......POINT TO IT
9583 015104 000455 BR .TYNCM ; .......AND GO TO COMMON ROUTINE
9584 ;
9585
9586 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 247
.TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
9588 .SBTTL .TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
9589
9590 ;+
9591 ; .TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS
9592 ;
9593 ; THIS SUBROUTINE WILL TYPE AND FORMAT A KL ADDRESS ACCORDING TO THE
9594 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
9595 ;
9596 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
9597 ; (B) OCTAL: HALFWORD FORMAT -- XX<SP>XXXXXX
9598 ; (C) DECIMAL: NO FORMATTING
9599 ;
9600 ; INPUT ARGUMENTS:
9601 ;
9602 ; R0 POINTS TO THE KL ADDRESS TO BE PRINTED
9603 ;
9604 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
9605 ;
9606 ; R0 POINTS TO THE ADDRESS TO BE PRINTED (ON THE STACK)
9607 ; R3 POINTS TO A FORMAT TABLE
9608 ;
9609 ; ERROR CODES RETURNED:
9610 ;
9611 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9612 ;-
9613
9614 .ENABL LSB
9615
9616 015106 .TYKLA::
9617 015106 005037 000220' CLR .LDZFL ; NO LEADING ZEROES
9618 015112 PUSH <R3,R2,R1,R0> ; SAVE CALLER'S REGISTERS
015112 010346 MOV R3,-(SP)
015114 010246 MOV R2,-(SP)
015116 010146 MOV R1,-(SP)
015120 010046 MOV R0,-(SP)
9619 015122 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
9620 015124 022737 000002 000226' CMP #^D2,.ORADX ; ....BINARY?
9621 015132 001002 BNE 10$ ; ....NO
9622 015134 012703 007336' MOV #KLABIN,R3 ; ....BINARY FORMAT TABLE TO R3
9623 015140 10$:
9624 015140 022737 000012 000226' CMP #^D10,.ORADX ; ....DECIMAL?
9625 015146 001424 BEQ 30$ ; ....YES
9626 015150 012703 007362' MOV #KLAOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
9627 015154 000421 BR 30$ ; ....GO DO COMMON CODE
9628 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 248
.TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
9630 .SBTTL .TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
9631
9632 ;+
9633 ; .TYKLN -- SUBROUTINE TO TYPE A KL NUMBER
9634 ;
9635 ; THIS SUBROUTINE WILL TYPE AND FORMAT A KL NUMBER ACCORDING TO THE
9636 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
9637 ;
9638 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
9639 ; (B) OCTAL: 6 DIGITS AND A SPACE -- XXXXXX<SP>XXXXXX
9640 ; (C) DECIMAL: NO FORMATTING
9641 ;
9642 ; INPUT ARGUMENTS:
9643 ;
9644 ; R0 POINTS TO THE NUMBER TO BE PRINTED
9645 ;
9646 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
9647 ;
9648 ; R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
9649 ; R3 POINTS TO A FORMAT TABLE
9650 ;
9651 ; ERROR CODES RETURNED:
9652 ;
9653 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9654 ;-
9655
9656 015156 .TYKLN::
9657 015156 PUSH <R3,R2,R1,R0> ; SAVE CALLER'S REGISTERS
015156 010346 MOV R3,-(SP)
015160 010246 MOV R2,-(SP)
015162 010146 MOV R1,-(SP)
015164 010046 MOV R0,-(SP)
9658 015166 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
9659 015170 022737 000002 000226' CMP #^D2,.ORADX ; ....BINARY?
9660 015176 001002 BNE 20$ ; ....NO
9661 015200 012703 007326' MOV #KLNBIN,R3 ; ....BINARY FORMAT TABLE TO R3
9662 015204 20$:
9663 015204 022737 000012 000226' CMP #^D10,.ORADX ; ....DECIMAL?
9664 015212 001402 BEQ 30$ ; ....YES
9665 015214 012703 007356' MOV #KLNOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
9666 015220 30$:
9667 015220 062700 000006 ADD #^D6,R0 ; ....POINT TO THE END OF THE NUMBER
9668 015224 PUSH -(R0) ; ....SET IT ON THE STACK
015224 014046 MOV -(R0),-(SP)
9669 015226 042710 177760 BIC #^C17,(R0) ; .....TRUNCATE TO 36 BITS
9670 015232 PUSH <-(R0),-(R0)> ; .....PUT THE REST ON THE STACK
015232 014046 MOV -(R0),-(SP)
015234 014046 MOV -(R0),-(SP)
9671 015236 010600 MOV SP,R0 ; .......POINT TO THE STACKED NUMBER
9672 ; BR .TYNCM ; .......AND GO TO COMMON ROUTINE
9673 ;
9674
9675 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 249
.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
9677 .SBTTL .TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
9678
9679 ;+
9680 ; .TYNCM -- COMMON ENTRY POINT FOR ".TYNUM".
9681 ;
9682 ; THIS SUBROUTINE SETS UP THE REMAINDER OF THE ARGUMENTS REQUIRED
9683 ; BY ".TYNUM" FROM ".TYELN" AND ".TYKLN".
9684 ;
9685 ; INPUT ARGUMENTS:
9686 ;
9687 ; R1, R2, AND R3 ARE ON THE STACK
9688 ; R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
9689 ; R3 POINTS TO A FORMAT TABLE
9690 ;
9691 ; OUTPUT ARGUMENTS:
9692 ;
9693 ; R0 POINTS TO THE ORIGINAL NUMBER
9694 ;
9695 ; ERROR CODES RETURNED:
9696 ;
9697 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9698 ;-
9699
9700 015240 .TYNCM::
9701 015240 005046 CLR -(SP) ; .......SPACE FOR DIVISOR
9702 015242 005046 CLR -(SP) ; ........
9703 015244 005046 CLR -(SP) ; .........
9704 015246 010601 MOV SP,R1 ; ..........POINT TO IT
9705 015250 005002 CLR R2 ; ..........CLEAR R2
9706 015252 005737 000220' TST .LDZFL ; ..........ARE WE PRINTING LEADING ZEROS/
9707 015256 001006 BNE 10$ ; ..........YES -- GO ON
9708 015260 CALL .TPTST ; ..........NO -- IS THIS NUMBER .EQ. 0?
015260 004737 011474' JSR PC,.TPTST
9709 015264 001003 BNE 10$ ; ..........NO -- JUST PRINT IT
9710 015266 005003 CLR R3 ; ..........YES -- CALL IT UNFORMATTED
9711 015270 005337 000220' DEC .LDZFL ; ..........AND SAY WE PRINT ZEROES
9712 015274 10$:
9713 015274 CALL .TYNUM ; ..........FORMAT AND PRINT THE NUMBER
015274 004737 015316' JSR PC,.TYNUM
9714 015300 062706 000014 ADD #^D12,SP ; ..........FLUSH THE STACK
9715 015304 POP <R0,R1,R2,R3> ; ....RESTORE THE REGISTERS
015304 012600 MOV (SP)+,R0
015306 012601 MOV (SP)+,R1
015310 012602 MOV (SP)+,R2
015312 012603 MOV (SP)+,R3
9716 015314 RETURN ; TO CALLER
015314 000207 RTS PC
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 250
.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
9718 ; THESE ARE THE FORMAT TABLES
9719
9720 007326 .PSECT DATA
9721
9722 007326 KLNBIN:: ; KL BINARY TABLE
9723 007326 003 040 .BYTE 3,.SPACE ; 3 DIGITS AND A SPACE
9724 007330 003 040 .BYTE 3,.SPACE
9725 007332 003 040 .BYTE 3,.SPACE
9726 007334 003 040 .BYTE 3,.SPACE
9727 007336 KLABIN:: ; KL ADDRESS BINARY
9728 007336 003 040 .BYTE 3,.SPACE
9729 007340 003 040 .BYTE 3,.SPACE
9730 007342 ELNBIN:: ; ELEVEN BINARY TABLE
9731 007342 003 040 .BYTE 3,.SPACE
9732 007344 003 040 .BYTE 3,.SPACE
9733 007346 003 040 .BYTE 3,.SPACE
9734 007350 ELBBIN:: ; PDP-11 BYTE BINARY TABLE
9735 007350 003 040 .BYTE 3,.SPACE
9736 007352 003 040 .BYTE 3,.SPACE
9737 007354 ELBOCT:: ; PDP-11 BYTE OCTAL TABLE
9738 007354 003 000 .BYTE 3,0 ; END OF TABLE
9739
9740 007356 KLNOCT:: ; KL OCTAL TABLE
9741 007356 006 040 .BYTE 6,.SPACE ; 6 DIGITS AND A SPACE
9742 007360 ELNOCT:: ; PDP-11 OCTAL TABLE
9743 007360 006 000 .BYTE 6,0 ; END OF TABLE
9744 007362 KLAOCT:: ; KL ADDRESS OCTAL
9745 007362 006 040 .BYTE 6,.SPACE
9746 007364 002 000 .BYTE 2,0
9747 .EVEN
9748 015316 .PSECT
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 251
.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.2
9750 .SBTTL .TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.23
9751
9752 ;+
9753 ; .TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER ON THE
9754 ; CONSOLE OUTPUT DEVICE.
9755 ;
9756 ; THIS SUBROUTINE WILL TYPE A FORMATTED NUMBER IN THE RADIX SPECIFIED
9757 ; IN ".ORADX" ON THE CONSOLE OUTPUT DEVICE.
9758 ;
9759 ; INPUT ARGUMENTS:
9760 ;
9761 ; R0 POINTS TO THE 36 BIT NUMBER TO BE TYPED
9762 ; R1 POINTS TO A TRIPLET TO BE USED AS A DIVISOR / REMAINDER BUFFER
9763 ; R2 IS CLEAR
9764 ; R3 POINTS TO A FORMAT CONTROL TABLE
9765 ;
9766 ; OUTPUT ARGUMENTS:
9767 ;
9768 ; R0, R1, R2, AND R3 ARE CLOBBERED
9769 ; THE NUMBER POINTED TO BY R0 IS CLOBBERED
9770 ; THE FORMATTED NUMBER IS PLACED IN THE OUTPUT BUFFER
9771 ;
9772 ; ERROR CODES RETURNED:
9773 ;
9774 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9775 ;-
9776
9777 015316 .TYNUM::
9778 015316 005703 TST R3 ; CHECK THE FORMAT POINTER
9779 015320 001422 BEQ 50$ ; UNFORMATTED IF .EQ. 0
9780 015322 112302 MOVB (R3)+,R2 ; ITERATION COUNT TO R2
9781 015324 001410 BEQ 40$ ; JUST A FORMAT CHARACTER IF .EQ. 0
9782 015326 10$:
9783 015326 000417 BR 50$ ; CONVERT ONE DIGIT
9784 ;
9785 015330 20$:
9786 015330 005702 TST R2 ; TEST ITERATION COUNT
9787 015332 001004 BNE 30$ ; FORMATTED NUMBER -- DO ITERATION COUNT
9788 015334 CALL .TPTST ; HAS THE QUOTIENT GONE TO ZERO?
015334 004737 011474' JSR PC,.TPTST
9789 015340 001441 BEQ 80$ ; YES -- PRINT THE NUMBER
9790 015342 000411 BR 50$ ; NO -- KEEP GOING UNTIL IT DOES
9791 ;
9792 015344 30$:
9793 015344 077210 SOB R2,10$ ; LOOP THRU THIS SET OF ITERATIONS
9794
9795 ; [CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 252
.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.2
9797 ; [CONTINUED FROM THE PREVIOUS PAGE]
9798
9799 015346 40$:
9800 015346 112302 MOVB (R3)+,R2 ; FORMAT CONTROL CHARACTER TO R2
9801 015350 001435 BEQ 80$ ; DONE IF .EQ. 0
9802 015352 162702 000060 SUB #60,R2 ; SINCE OUTPUT ROUTINE WILL ADD 60
9803 015356 PUSH R2 ; <PUSH>PUT THE FORMAT CHARACTER IN THE STACK
015356 010246 MOV R2,-(SP)
9804 015360 PUSH #60$ ; <PUSH>FAKE THE PRINT ROUTINE OUT
015360 012746 015416' MOV #60$,-(SP)
9805 015364 000754 BR .TYNUM ; AND DO THE NEXT PART
9806 ;
9807 015366 50$: ; HERE TO CONVERT ONE DIGIT
9808 015366 PUSH R0 ; SAVE R0
015366 010046 MOV R0,-(SP)
9809 015370 010100 MOV R1,R0 ; MOVE R1 TO R0
9810 015372 CALL .TPCLR ; .CLEAR REMAINDER OUT
015372 004737 011372' JSR PC,.TPCLR
9811 015376 POP R0 ; .RESTORE R0
015376 012600 MOV (SP)+,R0
9812 015400 013711 000226' MOV .ORADX,(R1) ; OUTPUT RADIX AS DIVISOR
9813 015404 CALL .TPDIV ; DO THE DIVISION
015404 004737 011160' JSR PC,.TPDIV
9814 015410 PUSH (R1) ; <PUSH> SAVE THE DIGIT
015410 011146 MOV (R1),-(SP)
9815 015412 CALL 20$ ; AND GO GET MORE
015412 004737 015330' JSR PC,20$
9816 ;
9817 015416 60$: ; HERE TO UNSTACK THE NUMBER
9818 015416 POP R0 ; <POP>GET THE NUMBER OFF THE STACK
015416 012600 MOV (SP)+,R0
9819 015420 005737 000220' TST .LDZFL ; PRINT LEADING ZEROES?
9820 015424 001004 BNE 70$ ; YES -- DO IT
9821 015426 005700 TST R0 ; NO -- SEE IF .EQ. 0 OR FORMAT
9822 015430 003405 BLE 80$ ; YES -- DON'T PRINT IT
9823 015432 005337 000220' DEC .LDZFL ; NO -- SET THE FLAG AND PRINT
9824 015436 70$:
9825 015436 062700 000060 ADD #60,R0 ; ASCIIZE IT
9826 015442 000426 BR .TYCHR ; PRINT IT
9827 ;
9828 015444 80$:
9829 015444 RETURN ; FOR NEXT NUMBER OR TO CALLER
015444 000207 RTS PC
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 253
.TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF>
9831 .SBTTL .TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF> 7601.23
9832
9833 ;+
9834 ; .TYLIN -- SUBROUTINE TO OUTPUT AN ".ASCIZ" MESSAGE APPENDED BY A <CRLF>
9835 ; .TYMSG -- SUBROUTINE TO OUTPUT AN ".ASCIZ" MESSAGE TO THE CONSOLE
9836 ; OUTPUT DEVICE.
9837 ;
9838 ; THESE SUBROUTINES WILL OUTPUT AN ".ASCIZ" MESSAGE TO THE CONSOLE
9839 ; OUTPUT DEVICE. ".TYLIN" WILL APPEND A <CRLF> SEQUENCE TO THE
9840 ; MESSAGE (FORCING THE BUFFER TO BE OUTPUT).
9841 ;
9842 ; INPUT ARGUMENTS:
9843 ;
9844 ; R0 POINTS TO THE .ASCIZ MESSAGE
9845 ;
9846 ; OUTPUT ARGUMENTS:
9847 ;
9848 ; NONE.
9849 ;
9850 ; ERROR CODES RETURNED:
9851 ;
9852 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9853 ;-
9854
9855 .ENABL LSB
9856
9857 015446 .TYLIN::
9858 015446 CALL .TYMSG ; OUTPUT THE MESSAGE
015446 004737 015462' JSR PC,.TYMSG
9859 015452 000437 BR .TCRLF ; OUTPUT A <CRLF> AND EXIT
9860 ;
9861 015454 .TYMSF::
9862 015454 CALL .TYMSG ; PRINT THE MESSAGE
015454 004737 015462' JSR PC,.TYMSG
9863 015460 000413 BR 30$ ; FORCE IT AND EXIT
9864 ;
9865 015462 .TYMSG::
9866 015462 PUSH R1 ; SAVE R1
015462 010146 MOV R1,-(SP)
9867 015464 010001 MOV R0,R1 ; .MESSAGE POINTER TO R1
9868 015466 10$:
9869 015466 112100 MOVB (R1)+,R0 ; .GET THE CHARACTER INTO R0
9870 015470 001403 BEQ 20$ ; .EXIT IF <NULL>
9871 015472 CALL .TYCHR ; .OUTPUT THE CHARACTER
015472 004737 015520' JSR PC,.TYCHR
9872 015476 000773 BR 10$ ; .AND GO GET THE NEXT CHARACTER
9873 ;
9874 015500 20$:
9875 015500 POP R1 ; .RESTORE R1
015500 012601 MOV (SP)+,R1
9876 015502 RETURN ; TO CALLER
015502 000207 RTS PC
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 254
.TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVIC
9878 .SBTTL .TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVICE 7601.23
9879
9880 ;+
9881 ; .TFCHR -- FORCED CHARACTER OUTPUT SUBROUTINE
9882 ;
9883 ; THIS SUBROUTINE WILL FORCE PRINT ONE CHARACTER TO THE CONSOLE
9884 ; OUTPUT DEVICE.
9885 ;
9886 ; INPUT ARGUMENTS:
9887 ;
9888 ; R0 CONTAINS THE CHARACTER TO BE FORCED TO THE OUTPUT DEVICE
9889 ;
9890 ; OUTPUT ARGUMENTS:
9891 ;
9892 ; THE OUTPUT BYTE COUNTERS AND BYTE POINTER ARE UPDATED.
9893 ;
9894 ; ERROR CODES RETURNED:
9895 ;
9896 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9897 ;-
9898
9899 015504 .TFCHR::
9900 015504 CALL .TYCHR ; LOAD THE CHARACTER INTO THE BUFFER
015504 004737 015520' JSR PC,.TYCHR
9901 015510 30$:
9902 015510 005737 000432' TST .CDOBC ; WAS THE BUFFER DUMPED?
9903 015514 001430 BEQ 40$ ; YES -- JUST EXIT
9904 015516 000430 BR .TYOUT ; NO -- FORCE THE BUFFER OUT
9905 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 255
.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
9907 .SBTTL .TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
9908
9909 ;+
9910 ; .TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE
9911 ; .TCRLF -- OUTPUT A <CRLF>
9912 ;
9913 ; THIS SUBROUTINE WILL LOAD ON ASCII CHARACTER INTO THE CONSOLE
9914 ; DEVICE OUTPUT BUFFER AND WILL DUMP THE BUFFER TO THE CONSOLE
9915 ; OUTPUT DEVICE ON:
9916 ;
9917 ; (A) APPEARANCE OF A <NEW-LINE> CHARACTER IN THE INPUT STREAM
9918 ;
9919 ; (B) OUTPUT BUFFER OVERFLOW
9920 ;
9921 ; INPUT ARGUMENTS:
9922 ;
9923 ; R0 CONTAINS THE CHARACTER TO BE OUTPUT.
9924 ;
9925 ; OUTPUT ARGUMENTS:
9926 ;
9927 ; THE OUTPUT BYTE POINTER AND BYTE COUNTERS ARE UPDATED
9928 ; OR REINITIALIZED IF THE BUFFER WAS DUMPED.
9929 ;
9930 ; ERROR CODES RETURNED:
9931 ;
9932 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9933 ;-
9934
9935 015520 .TYCHR::
9936 015520 110077 000306' MOVB R0,@.TYOBP ; PUT THE CHARACTER IN THE BUFFER
9937 015524 005237 000306' INC .TYOBP ; POINT TO THE NEXT BYTE
9938 015530 005237 000432' INC .CDOBC ; INCREMENT THE OUTPUT BYTE COUNT
9939 015534 005337 000304' DEC .TYOBC ; DECREMENT THE LINE CONTROL COUNTER
9940 015540 001404 BEQ .TCRLF ; END-OF-LINE -- FORCE OUTPUT
9941 015542 122700 000012 CMPB #12,R0 ; WAS IT A "<NEW-LINE>"?
9942 015546 001013 BNE 40$ ; NO -- JUST EXIT
9943 015550 000413 BR .TYOUT ; YES -- OUTPUT THE LINE AND RETURN
9944 ;
9945
9946 ; [CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 256
.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
9948 ; [CONTINUED FROM THE PREVIOUS PAGE]
9949
9950 015552 .TCRLF:: ; HERE ON OUTPUT BUFFER END
9951 015552 PUSH R0 ; SAVE R0
015552 010046 MOV R0,-(SP)
9952 015554 012700 000015 MOV #15,R0 ; .<CARRIAGE-RETURN>
9953 015560 CALL .TYCHR ; .TO BUFFER
015560 004737 015520' JSR PC,.TYCHR
9954 015564 012700 000012 MOV #12,R0 ; .<NEW-LINE>
9955 015570 CALL .TYCHR ; .TO BUFFER
015570 004737 015520' JSR PC,.TYCHR
9956 015574 POP R0 ; .RESTORE R0
015574 012600 MOV (SP)+,R0
9957 015576 40$:
9958 015576 RETURN ; AND EXIT
015576 000207 RTS PC
9959
9960 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 257
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
9962 .SBTTL .TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
9963
9964 ;+
9965 ; .TYINI -- CONSOLE DEVICE INITIALIZATION
9966 ; .TYOUT -- CONSOLE OUTPUT SUBROUTINE
9967 ;
9968 ; THESE SUBROUTINES WILL OUTPUT THE BUFFER TO THE CONSOLE OUTPUT DEVICE.
9969 ;
9970 ; INPUT ARGUMENTS:
9971 ;
9972 ; NONE.
9973 ;
9974 ; OUTPUT ARGUMENTS:
9975 ;
9976 ; THE OUTPUT BUFFER POINTER AND BYTE COUNTS ARE RESET
9977 ;
9978 ; ERROR CODES RETURNED:
9979 ;
9980 ; IF THE OUTPUT FAILS THE PARSER EXITS.
9981 ;-
9982
9983
9984 .MCALL DIR$, QIOW$
9985
9986 .ENABL LSB
9987
9988 015600 .TYOUT::
9989 015600 105737 000210' TSTB .OUTTY ; [5.1000]TYPE OUTPUT?
9990 015604 001417 BEQ 10$ ; [5.1000]NO -- NEXT DEVICE
9991 015606 DIR$ #.ATCID ; YES -- ATTACH THE CONSOLE DEVICE
015606 012746 000460' MOV #.ATCID,-(SP)
015612 104375 EMT 375
9992 015614 103464 BCS TYODIE ; ERROR IF CC-C IS SET
9993 015616 DIR$ #.CDOUT ; OUTPUT THE BUFFER TO CONSOLE
015616 012746 000414' MOV #.CDOUT,-(SP)
015622 104375 EMT 375
9994 015624 103460 BCS TYODIE ; ERROR IF CC-C IS SET
9995 015626 105737 000014' TSTB .COSTS ; DID WE REALLY SUCCEED?
9996 015632 002455 BLT TYODIE ; NO -- COMPLAIN BITTERLY
9997 015634 DIR$ #.DTCID ; DETACH CONSOLE
015634 012746 000474' MOV #.DTCID,-(SP)
015640 104375 EMT 375
9998 015642 103451 BCS TYODIE ; ERROR IF CC-C IS SET
9999 015644 013737 000430' 000452' 10$: MOV .CDOBP,.LDOBP ; [5.1000]SET BUFFER POINTER
10000 015652 013737 000432' 000454' MOV .CDOBC,.LDOBC ; [5.1000]SET BYTE COUNT
10001 015660 .TYOU1:: ; [5.1000]ALT ENTRY POINT FOR CMD ECHO
10002 015660 105737 000207' TSTB .OUTLP ; [5.1000]PRINT OUTPUT?
10003 015664 001407 BEQ 20$ ; [5.1000]NO -- NEXT DEVICE
10004 015666 DIR$ #.LDOUT ; [5.1000]YES -- OUTPUT BUFFER
015666 012746 000436' MOV #.LDOUT,-(SP)
015672 104375 EMT 375
10005 015674 103434 BCS TYODIE ; [5.1000]ERROR IF CC-C IS SET
10006 015676 105737 000212' TSTB .LDSTS ; [5.1000]DID WE REALLY SUCCEED
10007 015702 002431 BLT TYODIE ; [5.1000]NO -- COMPLAIN BITTERLY
10008 015704 105737 000206' 20$: TSTB .OUTLG ; [5.1000]LOG OUTPUT?
10009 015710 001412 BEQ 30$ ; [5.1000]NO -- DONE OUTPUTTING
10010 015712 PUSH <R1,R2> ; [5.1000]YES -- SAVE REGISTERS
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 257-1
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
015712 010146 MOV R1,-(SP)
015714 010246 MOV R2,-(SP)
10011 015716 013702 000452' MOV .LDOBP,R2 ; [5.1000]SET BUFFER POINTER
10012 015722 013701 000454' MOV .LDOBC,R1 ; [5.1000]SET BYTE COUNTER
10013 015726 CALL .WRITR ; [5.1000]LOG IT
015726 004737 002616' JSR PC,.WRITR
10014 015732 POP <R2,R1> ; [5.1000]RESTORE REGISTERS
015732 012602 MOV (SP)+,R2
015734 012601 MOV (SP)+,R1
10015 015736 30$:
10016
10017 ; [CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 258
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
10019 ; [CONTINUED FROM THE PREVIOUS PAGE]
10020
10021 015736 .TYINI:: ; HERE TO INIT OUTPUT POINTERS
10022 015736 005037 000432' CLR .CDOBC ; RESET BUFFER BYTE COUNT
10023 015742 012737 000576' 000430' MOV #.COBFR,.CDOBP ; [5.1000]RESET BUFFER PTR
10024 015750 012737 000204 000304' MOV #.COBFL,.TYOBC ; RESET OUTPUT LINE CONTROL
10025 015756 012737 000576' 000306' MOV #.COBFR,.TYOBP ; RESET OUTPUT BYTE POINTER
10026 015764 RETURN ; AND EXIT
015764 000207 RTS PC
10027 015766 TYODIE:
10028 015766 CALLR .EXITP ; EXIT GRACEFULLY
015766 000137 010110' JMP .EXITP
10029 ;
10030 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 259
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
10032 .SBTTL .TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
10033
10034 ;+
10035 ; .TYR50 -- TYPE A .RAD50 SYMBOL
10036 ;
10037 ; THIS ROUTINE WILL CONVERT THE .RAD50 SYMBOL IN R0 TO ASCII
10038 ; AND PRINT IT ON THE CONSOLE DEVICE.
10039 ;
10040 ; INPUT ARGUMENTS:
10041 ;
10042 ; R0 HOLDS THE .RAD50 SYMBOL TO BE PRINTED.
10043 ;
10044 ; OUTPUT ARGUMENTS:
10045 ;
10046 ; NONE.
10047 ;
10048 ; ERROR CODES RETURNED:
10049 ;
10050 ; NONE.
10051 ;-
10052
10053 015772 .TYR50::
10054 015772 PUSH <R1,R2> ; SAVE REGISTERS
015772 010146 MOV R1,-(SP)
015774 010246 MOV R2,-(SP)
10055 015776 012702 001472' MOV #.T50TB,R2 ; ..TABLE OF DIVISORS TO R2
10056 016002 10$:
10057 016002 012201 MOV (R2)+,R1 ; ..CURRENT DIVISOR TO R1
10058 016004 001414 BEQ 30$ ; ..DONE IF .EQ. 0
10059 016006 CALL $DIV ; ..DO THE DIVISION
016006 004737 000000G JSR PC,$DIV
10060 016012 PUSH R1 ; ..SAVE THE REMAINDER
016012 010146 MOV R1,-(SP)
10061 016014 012701 001442' MOV #.R50TB,R1 ; ...CONVERSION TABLE POINTER TO R1
10062 016020 20$:
10063 016020 062100 ADD (R1)+,R0 ; ...CONVERT THIS CHARACTER
10064 016022 020021 CMP R0,(R1)+ ; ...FOUND IT YET?
10065 016024 103775 BLO 20$ ; ...NO -- KEEP TRYING
10066 016026 CALL .TYCHR ; ...YES -- PUT IT IN THE BUFFER
016026 004737 015520' JSR PC,.TYCHR
10067 016032 POP R0 ; ...LAST REMAINDER IS NEW DIVIDEND
016032 012600 MOV (SP)+,R0
10068 016034 000762 BR 10$ ; ..DO THE NEXT CHARACTER
10069 ;
10070 016036 30$:
10071 016036 POP <R2,R1> ; ..RESTORE REGISTERS
016036 012602 MOV (SP)+,R2
016040 012601 MOV (SP)+,R1
10072 016042 RETURN ; TO CALLER
016042 000207 RTS PC
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 260
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
10074 ; THIS IS A PICTURE OF THE "QIOW$" DPB, NOT ALL OF THE ARGUMENTS
10075 ; IN THE DPB ARE USED BY SOME FORMS OF THE "QIOW$" DIRECTIVE.
10076 ;
10077 ; !===============================================!
10078 ; 00 ! DPB SIZE ! DIC !
10079 ; !-----------------------------------------------!
10080 ; 02 ! INPUT / OUTPUT FUNCTION CODE !
10081 ; !-----------------------------------------------!
10082 ; 04 ! LOGICAL UNIT NUMBER !
10083 ; !-----------------------------------------------!
10084 ; 06 ! PRIORITY ! EVENT FLAG NUMBER !
10085 ; !-----------------------------------------------!
10086 ; 10 ! I/O STATUS BLOCK ADDRESS !
10087 ; !-----------------------------------------------!
10088 ; 12 ! AST ROUTINE ADDRESS (NOT USED) !
10089 ; !-----------------------------------------------!
10090 ; 14 ! DATA BUFFER ADDRESS !
10091 ; !-----------------------------------------------!
10092 ; 16 ! BYTE COUNT !
10093 ; !-----------------------------------------------!
10094 ; 20 ! OUTPUT FORMAT CONTROL CHARACTER !
10095 ; !===============================================!
10096
10097 ; THIS IS THE CONSOLE OUTPUT DPB
10098
10099 000414 .PSECT DPBS
10100
10101 000414 .CDOUT::
10102 000414 QIOW$ IO.WLB,CODLUN,E.FCOD,0,.COSTS,0,<.COBFR,0,VF.INT>
000414 003 011 .BYTE 3,$$$ARG
000416 000000G .WORD IO.WLB
000420 000002 .WORD CODLUN
000422 003 000 .BYTE E.FCOD,0
000424 000014' .WORD .COSTS
000426 000000 .WORD 0
000430 000576' .WORD .COBFR
000432 000000 .WORD 0
000434 000000 .WORD VF.INT
10103
10104 000430' .CDOBP==.CDOUT+Q.IOPL ; CONSOLE OUTPUT BYTE POINTER
10105 000432' .CDOBC==.CDOUT+Q.BYCT ; CONSOLE OUTPUT BYTE COUNT
10106 000434' .CDOFC==.CDOUT+Q.OVFC ; CONSOLE OUTPUT FORMAT CHARACTER
10107
10108 ; THIS IS THE LIST DEVICE OUTPUT DPB
10109
10110 000436 .LDOUT::
10111 000436 QIOW$ IO.WLB,LSTLUN,E.FLOD,0,.LDSTS,0,<.COBFR,0,VF.INT>
000436 003 011 .BYTE 3,$$$ARG
000440 000000G .WORD IO.WLB
000442 000003 .WORD LSTLUN
000444 005 000 .BYTE E.FLOD,0
000446 000212' .WORD .LDSTS
000450 000000 .WORD 0
000452 000576' .WORD .COBFR
000454 000000 .WORD 0
000456 000000 .WORD VF.INT
10112
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 260-1
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
10113 000452' .LDOBP==.LDOUT+Q.IOPL ; LIST DEVICE BYTE POINTER
10114 000454' .LDOBC==.LDOUT+Q.BYCT ; LIST DEVICE BYTE COUNT
10115 000456' .LDOFC=.LDOUT+Q.OVFC ; LIST DEVICE FORMAT CHARACTER
10116
10117 ; ATTACH CONSOLE INPUT DEVICE EXCLUSIVELY TO PARSER TASK
10118
10119 000460 .ATCID::
10120 000460 QIOW$ IO.ATT,CIDLUN,E.FCID,0,0,0
000460 003 006 .BYTE 3,$$$ARG
000462 000000G .WORD IO.ATT
000464 000001 .WORD CIDLUN
000466 002 000 .BYTE E.FCID,0
000470 000000 .WORD 0
000472 000000 .WORD 0
10121
10122 ; DETACH THE CONSOLE INPUT DEVICE FROM THE PARSER TASK
10123
10124 000474 .DTCID::
10125 000474 QIOW$ IO.DET,CIDLUN,E.FCOD,0,0,0
000474 003 006 .BYTE 3,$$$ARG
000476 000000G .WORD IO.DET
000500 000001 .WORD CIDLUN
000502 003 000 .BYTE E.FCOD,0
000504 000000 .WORD 0
000506 000000 .WORD 0
10126
10127 016044 .PSECT
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 262
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
10130
10131 000001 FTLCMN==1
10132
10133 000312' .END DATABX
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 262-1
SYMBOL TABLE
ABMSG 001051RG 003 AP.NRM= 001400 CAIN = 000306 CLOWAT 000260R 004 DEXDON= 000004
ABOMSG 000365RG 003 AP.NXM= 000040 CALERM 000104R 005 CLRMSG 000373RG 003 DEXWD1= 174406
ACBMSG 001372RG 003 AP.PWF= 000001 CALL = 000040 CNRERM 000400R 005 DEXWD2= 174404
ADD = 000270 AP.SAP= 000002 CALLI = 000047 CNTMSG 000401RG 003 DEXWD3= 174402
ADDB = 000273 AP.SBE= 000100 CAM = 000310 CNUPE = 000002 DFAD = 000110
ADDI = 000271 ARMSG 000773RG 003 CAMA = 000314 CODLUN= 000002 DFBEND= 000362RG 002
ADDM = 000272 ARXMSG 001020RG 003 CAME = 000312 CONI = 000005 DFDV = 000113
ADH = 000004 ASH = 000240 CAMG = 000317 CONIS 002265R 003 DFMP = 000112
ADL = 000000 ASHC = 000244 CAMGE = 000315 CONMSG 001625RG 003 DFN = 000131
ADMSG 001011RG 003 AUGMSG 001317RG 003 CAML = 000311 CONO = 000004 DFSB = 000111
ADRTMP 007320R 002 A.LULU= 000002 CAMLE = 000313 CONOS 002260R 003 DFUNC = 000200
ADXMSG 001014RG 003 A.LUNA= 000004 CAMN = 000316 CONSO = 000007 DF.DMG= 000004
ALLMSG 001414RG 003 A.LUNU= 000006 CAPERM 000133R 005 CONSOS 002300R 003 DF.DMN= 000007
AMBERM 003670R 005 BAEERM 000023R 005 CBOERM 000166R 005 CONSZ = 000006 DF.DOR= 000001
AND = 000404 BCCTER 003362R CCA = 000014 CONSZS 002272R 003 DF.EHG= 000010
ANDB = 000407 BIT0 = 000001 CC.ALL= 003417 CPEERM 000440R 005 DF.EHM= 000011
ANDCA = 000410 BIT00 = 000001 CC.NRM= 000000 CPUMSG 001420RG 003 DF.EMG= 000005
ANDCAB= 000413 BIT01 = 000002 CDD = 000020 CPUNUM= 000002 DF.EMN= 000006
ANDCAI= 000411 BIT02 = 000004 CDIERM 000224R 005 CPVMSG 000000RG 003 DF.KLR= 000012
ANDCAM= 000412 BIT03 = 000010 CD.ALL= 003400 CRAMSG 001054RG 003 DF.KLW= 000013
ANDCB = 000440 BIT04 = 000020 CD.CLC= 000400 CRHERM 000467R 005 DF.KLX= 000014
ANDCBB= 000443 BIT05 = 000040 CD.CRC= 002000 CRLMSG 001063RG 003 DF.OFF= 000002
ANDCBI= 000441 BIT06 = 000100 CD.DPC= 001000 CRMMSG 001450RG 003 DF.ON = 000003
ANDCBM= 000442 BIT07 = 000200 CD.NRM= 000000 CR.ALL= 000003 DF.PDP= 000016
ANDCM = 000420 BIT08 = 000400 CESCES 000016R CR.CR1= 000001 DF.PEX= 000015
ANDCMB= 000423 BIT09 = 001000 CESERM 003722R 005 CR.CR2= 000002 DIAG1 = 174430
ANDCMI= 000421 BIT1 = 000002 CFHERM 000305R 005 CR.FUL= 000000 DIAG2 = 174432
ANDCMM= 000422 BIT10 = 002000 CHNPNT= 000001 CR.HLF= 000001 DIAG3 = 174436
ANDI = 000405 BIT11 = 004000 CH.ALP= 000001 CR.NRM= 000000 DIKL10= 000010
ANDM = 000406 BIT12 = 010000 CH.ANM= 000003 CR.QTR= 000002 DISMSG 000422RG 003
AOBJN = 000253 BIT13 = 020000 CH.AOP= 000100 CR.SLO= 000003 DIV = 000234
AOBJP = 000252 BIT14 = 040000 CH.END= 000034 CS.ALL= 000014 DIVB = 000237
AOJ = 000340 BIT15 = 100000 CH.EOC= 000010 CS.CS1= 000004 DIVI = 000235
AOJA = 000344 BIT2 = 000004 CH.EOL= 000004 CS.CS2= 000010 DIVM = 000236
AOJE = 000342 BIT3 = 000010 CH.EOS= 000020 CS.EXP= 177670 DLYCNT= 174400
AOJG = 000347 BIT4 = 000020 CH.ILL= 000200 CS.EXT= 000010 DMFERM 000635R 005
AOJGE = 000345 BIT5 = 000040 CH.NUL= 000000 CS.FST= 000004 DMOVE = 000120
AOJL = 000341 BIT6 = 000100 CH.NUM= 000002 CS.MGN= 000004 DMOVEM= 000124
AOJLE = 000343 BIT7 = 000200 CH.PFX= 000040 CS.NRM= 000000 DMOVN = 000121
AOJN = 000346 BIT8 = 000400 CIDLUN= 000001 CS.UDF= 000014 DMOVNM= 000125
AOS = 000350 BIT9 = 001000 CKCILS 000152R CTLMSG 001467RG 003 DNFERM 000724R 005
AOSA = 000354 BLKI = 000000 CKCMRA 000160R CTYPTR= ****** GX DNPERM 000763R 005
AOSE = 000352 BLKIS 002232R 003 CKEEOC 000250R DATABX 000312RG 002 DOCCNR 010102R
AOSG = 000357 BLKO = 000002 CKRKLR 000366R DATAI = 000001 DON10C= 040000
AOSGE = 000355 BLKOS 002245R 003 CLEAR = 000400 DATAIS 002237R 003 DON10S= 100000
AOSL = 000351 BLT = 000251 CLEARB= 000403 DATAO = 000003 DON11C= 000100
AOSLE = 000353 BPARER= 000020 CLEARI= 000401 DATAOS 002252R 003 DON11S= 000200
AOSN = 000356 BRMSG 001024RG 003 CLEARM= 000402 DATMSG 001635RG 003 DORERM 000674R 005
APEERM 000000R 005 BRXMSG 001027RG 003 CLEERM 000343R 005 DAVERM 000531R 005 DPB = 000137
APR = 000000 CAEERM 000052R 005 CLKMSG 001617RG 003 DBTERM 000562R 005 DPDTEN= 000322RG 004
APRMSG 001273RG 003 CAI = 000300 CLOATR= 000256R 004 DCKERM 000612R 005 DPS4 = 040000
AP.ALL= 000177 CAIA = 000304 CLOATT= 000262R 004 DCOMST= 000001 DPTMSG 001455RG 003
AP.ARP= 001000 CAIE = 000302 CLODAC 000240R 004 DCRMSG 000724RG 003 DRAMSG 001071RG 003
AP.CDP= 000004 CAIG = 000307 CLOFCF 002160R DECMSG 001361RG 003 DRDMSG 002144R 003
AP.EIP= 000400 CAIGE = 000305 CLOIOF= 000242R 004 DEP = 010000 DRESET= 000100
AP.IPF= 000020 CAIL = 000301 CLOLUN= 000244R 004 DEPMSG 000412RG 003 DRMMSG 001573RG 003
AP.MPE= 000010 CAILE = 000303 CLOSE = 000070 DEX = 000400 DR.DTE= 000011
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 262-2
SYMBOL TABLE
DSEND = 000004 D3.CDD= 000020 ERR11S= 000002 FMPM = 000162 FR.101= 000202
DSFERM 001022R 005 D3.MBZ= 177704 ERSMSG 000107R 003 FMPR = 000164 FR.102= 000204
DS04 = 004000 D3.NPE= 000002 ESDERM 001305R 005 FMPRB = 000167 FR.103= 000206
DS05 = 002000 D3.PAR= 040000 ESEERM 001342R 005 FMPRI = 000165 FR.104= 000210
DS06 = 001000 D3.RST= 000001 ETRMSG 002200R 003 FMPRM = 000166 FR.105= 000212
DTCERM 001055R 005 D3.SCD= 000040 EXAMSG 000435RG 003 FNDALN 000000R 004 FR.106= 000214
DTECMD= 000451 D3.SSL= 100000 EXCH = 000250 FNDALU= 000002R 004 FR.107= 000216
DTEDSF 003626R D3.TXB= 000001 EXDDMF 004134R FNDCAL 001550R FR.110= 000220
DTEFLG= 000444 D3.UPE= 000020 EXDEMF 004142R FNDDNF 001556R FR.111= 000222
DTEF11= 000450 D3.URE= 000004 EXDESD 004104R FNDFNA 000010R 004 FR.112= 000224
DTEMSG 001100RG 003 D3.WEP= 000010 EXDESE 004120R FNDFNB= 000036R 004 FR.113= 000226
DTEMTD= 000455 EBCECT 003722R EXDTEN= 000334RG 004 FNDLUN= 000014R 004 FR.114= 000230
DTEMTI= 000456 EBPEPE 000424R EXECTO 004354R FOFERM 001545R 005 FR.115= 000232
DTKMSG 002215R 003 EBRMSG 001107RG 003 EXRTBL= 000012 G FORPRO= 000020 FR.116= 000234
DTRMSG 002063R 003 EBSEL = 000100 EXTEND= 000123 FRDERM 001575R 005 FR.117= 000236
DUPE = 000020 EBSMSG 001033RG 003 EXTEXT 000214R 004 FRDFRF 004436R FR.120= 000240
DURE = 000004 EBUSPC= 000020 EXTFEF 002036R FRDMSG 000445RG 003 FR.121= 000242
DWRMSG 002150R 003 EBUSPS= 000004 EXTMSG 001477RG 003 FRDTEN= 000346RG 004 FR.122= 000244
DW1MSG 002104R 003 ECTERM 001127R 005 E.FCID= 000002 FRFERM 003754R 005 FR.123= 000246
DW2MSG 002114R 003 EDEPT 002154R 003 E.FCOD= 000003 FR.ADX= 000254 FR.124= 000250
DW3MSG 002134R 003 EDEXV 002160R 003 E.FCTC= ****** GX FR.APR= 000220 FR.125= 000252
DXWRD1= 002000 EDONES= 040000 E.FFIL= 000006 FR.ARX= 000252 FR.126= 000254
D.CDLS= ****** GX EDPHY 002174R 003 E.FHTO= 000001 FR.BRX= 000250 FR.127= 000256
D1.CES= 004000 EDTYTB 007264R 002 E.FKLN= 000004 FR.CA1= 000312 FR.130= 000260
D1.DCS= 000001 EDUPT 002164R 003 E.FLOD= 000005 FR.CA2= 000310 FR.131= 000262
D1.DDT= 000040 EDUSV 002170R 003 FAD = 000140 FR.CL1= 000316 FR.132= 000264
D1.DEX= 000400 ED.EPT= 000000 FADB = 000143 FR.CL2= 000314 FR.133= 000266
D1.DFM= 000010 ED.EXV= 000040 FADL = 000141 FR.CRD= 000302 FR.134= 000270
D1.DS0= 100000 ED.PHY= 000200 FADM = 000142 FR.CR1= 000316 FR.135= 000272
D1.DS1= 040000 ED.UPT= 000100 FADR = 000144 FR.CR2= 000314 FR.136= 000274
D1.DS2= 020000 ED.USV= 000140 FADRB = 000147 FR.CR3= 000312 FR.137= 000276
D1.DS3= 010000 EF.CRI= ****** GX FADRI = 000145 FR.CR4= 000310 FR.140= 000300
D1.DS4= 004000 ELBBIN 007350RG 002 FADRM = 000146 FR.DA1= 000260 FR.141= 000302
D1.DS5= 002000 ELBOCT 007354RG 002 FCFERM 001377R 005 FR.DA2= 000262 FR.142= 000304
D1.DS6= 001000 ELEMSG 000776RG 003 FDV = 000170 FR.EBS= 000356 FR.143= 000306
D1.HLP= 001000 ELNBIN 007342RG 002 FDVB = 000173 FR.FE1= 000266 FR.144= 000310
D1.LBK= 000200 ELNNOR 013214R FDVL = 000171 FR.FE2= 000264 FR.145= 000312
D1.MBZ= 000442 ELNOCT 007360RG 002 FDVM = 000172 FR.PI0= 000200 FR.146= 000314
D1.PLS= 000020 EMFERM 001160R 005 FDVR = 000174 FR.PI1= 000202 FR.147= 000316
D1.RUN= 002000 ENBMSG 001600RG 003 FDVRB = 000177 FR.RAD= 000256 FR.150= 000320
D1.T10= 000200 ENTCRE 000070R 004 FDVRI = 000175 FR.RAR= 000240 FR.151= 000322
D1.T11= 000100 ENTDEL 000144R 004 FDVRM = 000176 FR.RBR= 000242 FR.152= 000324
D1.V04= 000020 ENTENA 000114R 004 FEBMSG 001254RG 003 FR.RFM= 000246 FR.153= 000326
D1.XFR= 000004 ENTER = 000077 FEFERM 001430R 005 FR.RMQ= 000244 FR.154= 000330
D1011 = 000040 ENTFEN 001730R FENERM 001462R 005 FR.SC1= 000262 FR.155= 000332
D2RST 004344R 002 EOCERM 001217R 005 FERMSG 001113RG 003 FR.SC2= 000260 FR.156= 000334
D2.EBD= 040000 EOFMSG 000335R 003 FIX = 000122 FR.SR1= 000306 FR.157= 000336
D2.MBZ= 177641 EPEERM 001255R 005 FIXR = 000126 FR.SR2= 000304 FR.160= 000340
D2.MS1= 000002 EPTR = 000000 FLDMSG 000050R 003 FR.VM0= 000320 FR.161= 000342
D2.MS2= 000004 EQV = 000444 FLFERM 001513R 005 FR.VM1= 000322 FR.162= 000344
D2.MS4= 000010 EQVB = 000447 FLGMSG 001116RG 003 FR.VM2= 000324 FR.163= 000346
D2.MS8= 000020 EQVI = 000445 FLTMSG 001642RG 003 FR.VM3= 000326 FR.164= 000350
D2.RA0= 100000 EQVM = 000446 FLTR = 000127 FR.VM4= 000330 FR.165= 000352
D2.RA1= 040000 ERRMSG 001424RG 003 FMMSG 001040RG 003 FR.VM5= 000332 FR.166= 000354
D2.RA2= 020000 ERR10C= 010000 FMP = 000160 FR.VM6= 000334 FR.167= 000356
D2.RST= 000100 ERR10S= 020000 FMPB = 000163 FR.VM7= 000336 FR.170= 000360
D3RST 004346R 002 ERR11C= 000001 FMPL = 000161 FR.100= 000200 FR.171= 000362
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 262-3
SYMBOL TABLE
FR.172= 000364 FW.DR1= 000140 FX.SMR= 000016 HLLO = 000520 IBP = 000133
FR.173= 000366 FW.DR2= 000142 FX.SRF= 000022 HLLOI = 000521 IDFERM 001703R 005
FR.174= 000370 FW.DR3= 000144 FX.SYC= 000010 HLLOM = 000522 IDIV = 000230
FR.175= 000372 FW.EBL= 000174 FX.UDR= 000032 HLLOS = 000523 IDIVB = 000233
FR.176= 000374 FW.IAC= 000154 FX.UIR= 000030 HLLS = 000503 IDIVI = 000231
FR.177= 000376 FW.IOJ= 000152 FX.000= 000000 HLLZ = 000510 IDIVM = 000232
FSB = 000150 FW.IPE= 000114 FX.001= 000002 HLLZI = 000511 IDPB = 000136
FSBB = 000153 FW.KLO= 000156 FX.002= 000004 HLLZM = 000512 IE.EBX= ****** GX
FSBL = 000151 FW.LAR= 000176 FX.003= 000006 HLLZS = 000513 IE.EOF= ****** GX
FSBM = 000152 FW.LBL= 000106 FX.004= 000010 HLR = 000544 IE.NSF= ****** GX
FSBR = 000154 FW.LBR= 000104 FX.005= 000012 HLRE = 000574 IFCERM 001735R 005
FSBRB = 000157 FW.MBX= 000162 FX.006= 000014 HLREI = 000575 IFLOP = 100000
FSBRI = 000155 FW.SBR= 000174 FX.007= 000016 HLREM = 000576 ILCERM 004057R 005
FSBRM = 000156 FW.040= 000100 FX.010= 000020 HLRES = 000577 ILDB = 000134
FSC = 000132 FW.041= 000102 FX.011= 000022 HLRO = 000564 ILIERM 001771R 005
FSSMSG 001607RG 003 FW.042= 000104 FX.012= 000024 HLROI = 000565 ILSERM 004111R 005
FSWERM 001625R 005 FW.043= 000106 FX.013= 000026 HLROM = 000566 IMUL = 000220
FTBYTE= 000000 FW.044= 000110 FX.014= 000030 HLROS = 000567 IMULB = 000223
FTCRAM= 000000 FW.045= 000112 FX.015= 000032 HLRS = 000547 IMULI = 000221
FTDEBU= 000001 FW.046= 000114 FX.016= 000034 HLRZ = 000554 IMULM = 000222
FTDISP= 000000 FW.047= 000116 FX.017= 000036 HLRZI = 000555 IN = 000056
FTDRAM= 000000 FW.050= 000120 FX.020= 000040 HLRZM = 000556 INBUF = 000064
FTHELP= 000000 FW.051= 000122 FX.021= 000042 HLRZS = 000557 INCMSG 000736RG 003
FTKLE = 000001 FW.052= 000124 FX.022= 000044 HLTMSG 000467RG 003 INDLUN= 000005
FTKLER= 000000 FW.053= 000126 FX.023= 000046 HRL = 000504 INIMSG 000474RG 003
FTLCMN= 000001 G FW.054= 000130 FX.024= 000050 HRLE = 000534 INIT = 000041
FTLCVT= 000000 FW.055= 000132 FX.025= 000052 HRLEI = 000535 INPUT = 000066
FTLIST= 000001 FW.056= 000134 FX.026= 000054 HRLEM = 000536 INTMSG 001510RG 003
FTTRAK= 000001 FW.057= 000136 FX.027= 000056 HRLES = 000537 INTROF= 000010
FTTRP4= 000001 FW.060= 000140 FX.030= 000060 HRLI = 000505 INTRON= 000040
FTUCVR= 000130 FW.061= 000142 FX.031= 000062 HRLM = 000506 INTSON= 000001
FT1105= 000001 FW.062= 000144 FX.032= 000064 HRLO = 000564 INT10S= 000400
FT1110= 000001 FW.063= 000146 FX.033= 000066 HRLOI = 000565 INT11C= 002000
FT1115= 000001 FW.064= 000150 FX.034= 000070 HRLOM = 000566 INT11S= 004000
FT1120= 000001 FW.065= 000152 FX.035= 000072 HRLOS = 000567 IOCERM 002015R 005
FT1135= 000001 FW.066= 000154 FX.036= 000074 HRLS = 000507 IOMSG 001432RG 003
FT1140= 000001 FW.067= 000156 FX.037= 000076 HRLZ = 000514 IOR = 000434
FT1145= 000000 FW.070= 000160 GETSTS= 000062 HRLZI = 000515 IORB = 000437
FULMSG 001530RG 003 FW.071= 000162 GTFILC 014264R HRLZM = 000516 IORI = 000435
FWDTEN= 000360RG 004 FW.072= 000164 GTKKLA 013274R HRLZS = 000517 IORM = 000436
FWFERM 004001R 005 FW.073= 000166 GTLCBO 013130R HRR = 000540 IOTAB 007276R 002
FWRFWF 004560R FW.074= 000170 GTLILC 013136R HRRE = 000570 IO.ATT= ****** GX
FWRMSG 000453RG 003 FW.075= 000172 GTNILI 013700R HRREI = 000571 IO.CRE= ****** GX
FWTERM 001652R 005 FW.076= 000174 GTNMRA 014526R HRREM = 000572 IO.DAC= ****** GX
FW.APE= 000116 FW.077= 000176 GTNNER 013506R HRRES = 000573 IO.DEL= ****** GX
FW.CA1= 000122 FXCFXF 004730R GTNNOR 014534R HRRI = 000541 IO.DET= ****** GX
FW.CA2= 000124 FXCMSG 000462RG 003 GTNORE 013502R HRRM = 000542 IO.ENA= ****** GX
FW.CDR= 000112 FXDTEN= 000372RG 004 HARMSG 001773RG 003 HRRO = 000560 IO.EXT= ****** GX
FW.CHN= 000160 FXFERM 004027R 005 HIBYTE= 177400 HRROI = 000561 IO.FNA= ****** GX
FW.CRD= 000126 FX.BMC= 000012 HLFMSG 001535RG 003 HRROM = 000562 IO.RLB= ****** GX
FW.CR1= 000136 FX.CMR= 000014 HLL = 000500 HRROS = 000563 IO.RNA= ****** GX
FW.CR2= 000134 FX.CON= 000024 HLLE = 000530 HRRS = 000543 IO.RVB= ****** GX
FW.CR3= 000132 FX.CRF= 000020 HLLEI = 000531 HRRZ = 000550 IO.WLB= ****** GX
FW.CR4= 000130 FX.CSP= 000000 HLLEM = 000532 HRRZI = 000551 IO.WVB= ****** GX
FW.CSR= 000110 FX.CST= 000002 HLLES = 000533 HRRZM = 000552 IPCERM 004155R 005
FW.DJE= 000146 FX.EBC= 000006 HLLI = 000501 HRRZS = 000553 IP.ALL= 000017
FW.DJO= 000150 FX.MBC= 000004 HLLM = 000502 I = 000000 IP.CRP= 000004
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 262-4
SYMBOL TABLE
IP.DRP= 000002 KWEERM 002363R 005 MUL = 000224 OUTBUF= 000065 PSWW1 = 000005
IP.FMP= 000010 LDB = 000135 MULB = 000227 OUTMSG 001712RG 003 PSWW10= 000014
IP.FSS= 000001 LG.ALL= 000007 MULI = 000225 OUTPUT= 000067 PSWW11= 000015
IP.NRM= 000016 LG.ARG= 000010 MULM = 000226 PAG = 000010 PSWW12= 000016
IRCERM 002045R 005 LG.MAR= 000020 M.KTAE= 000010 PAGMSG 001435RG 003 PSWW13= 000017
IREERM 002100R 005 LG.MNT= 000004 M.KTEF= 000002 PARERC 000662R PSWW2 = 000006
IS.SET= ****** GX LG.MOD= 000040 M.KTMG= 000004 PARERX 000506R PSWW3 = 000007
ITFERM 002130R 005 LG.NUL= 000000 M.KTUN= 000006 PARMSG 000011RG 003 PSWW4 = 000010
ITNERM 002162R 005 LG.OPR= 000001 M.PARQ= ****** GX PARNAM 000021RG 003 PSWW5 = 000011
JANMSG 001244RG 003 LG.PRG= 000002 NDIERM 002521R 005 PARUEC 000734R PSWW6 = 000012
JFCL = 000255 LG.PRM= 000003 NEBMSG 000122R 003 PAR$$E= 000050 PSWW7 = 000013
JFFO = 000243 LG.RNG= 000100 NERERM 002551R 005 PAR$$K= 000126 PS.NRM= 001416
JMPMSG 000507RG 003 LG.RPT= 000400 NORERM 002613R 005 PAR$$V= 000015 PTLERM 003065R 005
JRA = 000267 LG.STR= 000200 NOTMSG 001677RG 003 PCMSG 001046RG 003 PTOATM 000270R 003
JRST = 000254 LOAD11= 000004 NOVMSG 001350RG 003 PC.AFI= 000020 PTRTEM 000151R 003
JSA = 000266 LOGLUN= 000004 NPIERM 002653R 005 PC.AT0= 000004 PTRTHM 000221R 003
JSP = 000265 LOGMSG 001557RG 003 NRMMSG 001441RG 003 PC.AT1= 000010 PULSE = 000020
JSR = 000264 LOKFLF 001656R NSFERM 002707R 005 PC.BIS= 000400 PUSH = 000261
JSYS = 000104 LOKFNA 000040R 004 NSKERM 004220R 005 PC.CY0= 004000 PUSHJ = 000260
JULMSG 001312RG 003 LOKFNB= 000066R 004 NSTERM 002732R 005 PC.CY1= 002000 QRESMS 000552RG 003
JUMP = 000320 LOKIOF= 000042R 004 NTIERM 002755R 005 PC.FOV= 001000 QSAVMS 000560RG 003
JUMPA = 000324 LOKLUN= 000044R 004 NULMSG 000364RG 003 PC.FUF= 000002 QSIZE = 000023
JUMPE = 000322 LOOKUP= 000076 NULSTP= 000040 PC.LIP= 000040 QTRMSG 001542RG 003
JUMPG = 000327 LPTMSG 001563RG 003 NUPE = 000002 PC.NDV= 000001 QUTMSG 000701RG 003
JUMPGE= 000325 LSH = 000242 NXTMSG 000750RG 003 PC.OVF= 010000 Q.BYCT= 000016
JUMPL = 000321 LSHC = 000246 OAIERM 003005R 005 PC.UIO= 000100 Q.IBUF= 000014
JUMPLE= 000323 LSTLUN= 000003 OCTMSG 001340RG 003 PC.USR= 000200 Q.IOAE= 000012
JUMPN = 000326 MAP = 000257 OFCERM 003035R 005 PERCLR= 001000 Q.IOEF= 000006
JUNMSG 001305RG 003 MARMSG 001265RG 003 OFFMSG 000044RG 003 PE.ALL= 000037 Q.IOFN= 000002
KCNERM 002212R 005 MAYMSG 001301RG 003 OFSMSG 001703RG 003 PE.CES= 000001 Q.IOLU= 000004
KF.BRM= 001000 MBZTAB 004212R 002 ONMSG 000041RG 003 PE.CRM= 000004 Q.IOPL= 000014
KF.CES= 000100 MCRMSG 000535RG 003 OPEACC 000160R 004 PE.DRM= 000002 Q.IOPR= 000007
KF.CLK= 100000 MEMMSG 001670RG 003 OPEATT= 000210R 004 PE.FMP= 000010 Q.IOSB= 000010
KF.CON= 000200 MGNMSG 001521RG 003 OPEFID= 000174R 004 PE.FSS= 000020 Q.OBUF= 000014
KF.DEF= 000200 MMSG 000514RG 003 OPEFOF 001776R PHYS = 100000 Q.OVFC= 000020
KF.KLO= 000400 MNTMSG 001170RG 003 OPEFUN= 000162R 004 PI = 000004 Q0 000126RG 002
KF.MRS= 020000 MOVE = 000200 OPELUN= 000164R 004 PIDENT= 000000 Q1 000134RG 002
KF.RUN= 040000 MOVEI = 000201 OPEN = 000050 PIMSG 001127RG 003 Q2 000142RG 002
KF.SIM= 010000 MOVEM = 000202 OPERAT 000206R 004 POP = 000262 Q3 000150RG 002
KF.SMC= 004000 MOVES = 000203 OPRMSG 001204RG 003 POPJ = 000263 RAMIS0= 010000
KF.SPM= 002000 MOVM = 000214 OR = 000434 PRGMSG 001215RG 003 RDCPT1 004270R 002
KLABIN 007336RG 002 MOVMI = 000215 ORB = 000437 PRI7 = 000340 RDCPT2 004250R 002
KLAERM 002240R 005 MOVMM = 000216 ORCA = 000454 PRMFM 002306R 003 RDCPT3 004260R 002
KLAOCT 007362RG 002 MOVMS = 000217 ORCAB = 000457 PROMPT 000030RG 003 RDCRME 006504R
KLEPRM 000034RG 003 MOVN = 000210 ORCAI = 000455 PROPNT= 000021 REAFRD 002570R
KLHCFH 005156R MOVNI = 000211 ORCAM = 000456 PRTOFF= 004000 REGMSG 001132RG 003
KLIMSG 001661RG 003 MOVNM = 000212 ORCB = 000470 PRVMSG 000755RG 003 REGTAB 007240R 002
KLIOT = 000700 MOVNS = 000213 ORCBB = 000473 PR0 = 000000 RELEAS= 000071
KLMSG 001124RG 003 MOVS = 000204 ORCBI = 000471 PR1 = 000040 REMMSG 001230RG 003
KLNBIN 007326RG 002 MOVSI = 000205 ORCBM = 000472 PR2 = 000100 RENAME= 000055
KLNOCT 007356RG 002 MOVSM = 000206 ORCM = 000464 PR3 = 000140 REPIRC 011122R
KLP = 000574 MOVSS = 000207 ORCMB = 000467 PR4 = 000200 RESETT 004334R 002
KLPSTP 005274RG MPE11 = 001000 ORCMI = 000465 PR5 = 000240 RESMSG 000566RG 003
KLPWRF= 000010 MQMSG 001043RG 003 ORCMM = 000466 PR6 = 000300 RFMAD0= 100000
KLRERM 002265R 005 MRAERM 002415R 005 ORI = 000435 PR7 = 000340 RFMAD1= 040000
KLSCFH 005266R MRHERM 002455R 005 ORM = 000436 PS = 177776 RFMAD2= 020000
KNCERM 002327R 005 MRKMSG 000516RG 003 OUT = 000057 PSTMSG 001721RG 003 RFMAD3= 010000
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 262-5
SYMBOL TABLE
RGDTEN= 000310RG 004 SOJA = 000364 SUBI = 000275 TO10 = 000200 TSO = 000671
RLDMSG 001735RG 003 SOJE = 000362 SUBM = 000276 TO10AD= 174420 TSOA = 000675
RM = 000010 SOJG = 000367 SWPMSG 000645RG 003 TO10BC= 174414 TSOE = 000673
RMSG 000541RG 003 SOJGE = 000365 SWR = 177570 TO10BM= 000001 TSON = 000677
ROT = 000241 SOJL = 000361 SWSLLT= 100000 TO10DB= 000400 TSZ = 000631
ROTC = 000245 SOJLE = 000363 SXCT = 000106 TO10DN= 100000 TSZA = 000635
RPMERM 003115R 005 SOJN = 000366 SZIERM 003311R 005 TO10DT= 174424 TSZE = 000633
RPTMSG 000543RG 003 SOS = 000370 TAAERM 003345R 005 TO10ER= 020000 TSZN = 000637
RSTEND= 004342R 002 SOSA = 000374 TAKMSG 000653RG 003 TO11 = 000100 TTCALL= 000051
RSTMSG 000574RG 003 SOSE = 000372 TC.CON= 000377 TO11AD= 174422 TTYMSG 001567RG 003
RTYMSG 001744RG 003 SOSG = 000377 TC.CTC= 000002 TO11BC= 174416 TT.OUT= ****** GX
RUNMSG 000604RG 003 SOSGE = 000375 TC.ERR= 000000 TO11BM= 020000 TYODIE 015766R
SAVMSG 000610RG 003 SOSL = 000371 TC.RST= 000001 TO11DB= 004000 UBRMSG 001144RG 003
SBRMSG 001161RG 003 SOSLE = 000373 TDC = 000650 TO11DN= 000200 UCDMSG 001761RG 003
SCD = 000040 SOSN = 000376 TDCA = 000654 TO11DT= 174426 UECMSG 000060R 003
SCFERM 003155R 005 SPCEST 001646R 002 TDCE = 000652 TO11ER= 000002 UECMSP 001644R 002
SCRMSG 001165RG 003 SPCMSG 001403RG 003 TDCN = 000656 TPDDCK 011364R UGETF = 000073
SEPMSG 001326RG 003 SPFERM 003261R 005 TDMSG0 000345R 003 TPDDVD 007232R 002 UJEN = 000100
SETA = 000424 SSTLEN= 000010 G TDN = 000610 TPDDVS 007224R 002 UNASG1= 000032
SETAB = 000427 SSTTBE= 000334RG 002 TDNA = 000614 TPDRMN 007216R 002 UNASG2= 000033
SETAI = 000425 STAMSG 002124R 003 TDNE = 000612 TRADDR 007250R 002 UNASG3= 000034
SETAM = 000426 STAT = 174434 TDNN = 000616 TRC = 000640 UNASG4= 000035
SETCA = 000450 STATO = 000061 TDO = 000670 TRCA = 000644 UNASG5= 000036
SETCAB= 000453 STATUS= 000022 TDOA = 000674 TRCE = 000642 UNASG6= 000037
SETCAI= 000451 STATZ = 000063 TDOE = 000672 TRCN = 000646 UNLERM 003432R 005
SETCAM= 000452 STPCI 004242R 002 TDON = 000676 TRDATA 007256R 002 UNMMSG 000660RG 003
SETCM = 000460 STRMSG 000637RG 003 TDZ = 000630 TRKMSG 001752RG 003 USETI = 000074
SETCMB= 000463 STSW1 = ****** GX TDZA = 000634 TRN = 000600 USETO = 000075
SETCMI= 000461 STUCAE 007454R TDZE = 000632 TRNA = 000604 USRMSG 001237RG 003
SETCMM= 000462 STUUNL 007462R TDZN = 000636 TRNE = 000602 VERMSG 002004RG 003
SETM = 000414 ST.CED= 000100 TENAD1= 174410 TRNN = 000606 VFYERM 003470R 005
SETMB = 000417 ST.CLE= 000001 TENAD2= 174412 TRO = 000660 VF.DSP= 000060
SETMI = 000415 ST.CTD= 040000 TENMSG 001005RG 003 TROA = 000664 VF.FFD= 000061
SETMM = 000416 ST.CTE= 010000 TFRMSG 002014R 003 TROE = 000662 VF.INT= 000000
SETMSG 000615RG 003 ST.DW1= 002000 TFWMSG 002031R 003 TRON = 000666 VF.OVR= 000053
SETO = 000474 ST.DXD= 000004 TFXMSG 002046R 003 TRZ = 000620 VF.PRM= 000044
SETOB = 000477 ST.EBS= 000100 THSMSG 000766RG 003 TRZA = 000624 VF.SSP= 000040
SETOI = 000475 ST.EDB= 004000 TLC = 000641 TRZE = 000622 VMAMSG 001150RG 003
SETOM = 000476 ST.EPE= 000020 TLCA = 000645 TRZN = 000626 VMHMSG 001154RG 003
SETSTS= 000060 ST.IDS= 000010 TLCE = 000643 TR.ALL= 000077 WEP = 000010
SETZ = 000400 ST.IEN= 000040 TLCN = 000647 TR.DEP= 000020 WHAMSG 000706RG 003
SETZB = 000403 ST.ION= 000001 TLN = 000601 TR.DTE= 000040 WRCRME 007710R
SETZI = 000401 ST.MBZ= 000000 TLNA = 000605 TR.EXM= 000010 WRIFWT 003326R
SETZM = 000402 ST.MOD= 000010 TLNE = 000603 TR.FRD= 000002 WRMERM 003524R 005
SHOMSG 000621RG 003 ST.MPE= 001000 TLNN = 000607 TR.FWR= 000004 XCT = 000256
SHUMSG 000626RG 003 ST.NST= 000040 TLO = 000661 TR.FXC= 000001 XCTMSG 000713RG 003
SKIERM 003204R 005 ST.RIZ= 010000 TLOA = 000665 TSC = 000651 XOR = 000430
SKIP = 000330 ST.RST= 011121 TLOE = 000663 TSCA = 000655 XORB = 000433
SKIPA = 000334 ST.SEP= 000004 TLON = 000667 TSCAMB 010746R XORI = 000431
SKIPE = 000332 ST.STE= 000002 TLZ = 000621 TSCE = 000653 XORM = 000432
SKIPG = 000337 ST.TED= 000200 TLZA = 000625 TSCN = 000657 XR = 000000
SKIPGE= 000335 ST.TER= 000002 TLZE = 000623 TSCNSK 010760R XTOERM 003635R 005
SKIPL = 000331 ST.TXD= 100000 TLZN = 000627 TSCWRM 010766R YORERM 003605R 005
SKIPLE= 000333 ST.TXE= 020000 TOBM = 000004 TSN = 000611 ZERMSG 000717RG 003
SKIPN = 000336 ST.XDB= 000400 TOIP = 000002 TSNA = 000615 ZSTOP = 040000
SLOMSG 001552RG 003 SUB = 000274 TOIT = 000001 TSNE = 000613 $DIV = ****** GX
SOJ = 000360 SUBB = 000277 TORERM 003402R 005 TSNN = 000617 $DSW = ****** GX
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 262-6
SYMBOL TABLE
$$ = 000037 $$$HLF= 000001 $$$SHO= 000001 .CLKWD 000012RG 002 .DTDI3 000360RG 002
$$A = 000000 $$$HLT= 000001 $$$SHU= 000001 .CLOSE 002114RG .DTDW1 003530RG
$$B = 000000 $$$INC= 000006 $$$SLO= 000001 .CLRCM= ****** GX .DTDW2 003536RG
$$C = 000002 $$$INI= 000002 $$$SPC= 000001 .CLRFF 003420RG .DTDW3 003556RG
$$D = 000176 $$$INT= 000001 $$$STR= 000001 .CLRMR= 006000 .DTSTA 003546RG
$$E = 000017 $$$IO = 000001 $$$SWP= 000001 .CLRUN= 010000 .DTSTS 000356RG 002
$$F = 000000 $$$JAN= 000001 $$$TAK= 000001 .CMDTB 004350RG 002 .DTSTW= 000004
$$PASS= 000000 $$$JMP= 000001 $$$TEN= 000004 .CMNDL= 000430 G .DTTRK 012332RG
$$$AB = 000001 $$$JUL= 000001 $$$THS= 000004 .COBFL= 000204 G .DWDW1 003454RG
$$$ABO= 000001 $$$JUN= 000001 $$$TRK= 000002 .COBFR 000576RG 002 .DWDW2 003462RG
$$$ACB= 000004 $$$KL = 000001 $$$TTY= 000001 .COMEF= ****** GX .DWDW3 003502RG
$$$AD = 000001 $$$KLI= 000002 $$$T1 = 000006 .COMMA= 000054 .DWSTA 003472RG
$$$ADX= 000001 $$$LOG= 000001 $$$UBR= 000001 .COMND 001012RG 002 .EBCLK 003634RG
$$$ALL= 000002 $$$LPT= 000001 $$$UCD= 000001 .CONBT= 012000 .EBPCK 000410RG
$$$APR= 000001 $$$M = 000001 $$$UNM= 000001 .CONTC= ****** GX .EDELA 000104RG 002
$$$AR = 000003 $$$MAR= 000001 $$$USR= 000002 .COSTS 000014RG 002 .EDKLA 000106RG 002
$$$ARG= 000006 $$$MAY= 000001 $$$VER= 000001 .CRAMA 000020RG 002 .EDKLX 000114RG 002
$$$ARX= 000001 $$$MCR= 000001 $$$VMA= 000001 .CRAMR 000022RG 002 .EIOJA= 067000
$$$AUG= 000001 $$$MEM= 000002 $$$VMH= 000001 .CRAMW 000044RG 002 .ELDDW 000122RG 002
$$$BR = 000001 $$$MGN= 000001 $$$WHA= 000001 .CSHRG= 164000 .ELEDW 000124RG 002
$$$BRX= 000001 $$$MNT= 000002 $$$XCT= 000001 .DBGSW 000066RG 002 .ELNCK 013144RG
$$$CLK= 000002 $$$MQ = 000001 $$$ZER= 000001 .DELET 002100RG .ENTER 001664RG
$$$CLR= 000001 $$$MRK= 000001 .ABRTC= ****** GX .DEPAR= ****** GX .ETAB 004222R 002
$$$CNT= 000001 $$$NOT= 000001 .ACBLK 000000RG 002 .DFBLK 000336RG 002 .EXAD = ****** GX
$$$CON= 000002 $$$NOV= 000001 .APRWD 000002RG 002 .DFRB 000344RG 002 .EXADX= ****** GX
$$$CPU= 000001 $$$NRM= 000001 .ATCID 000460RG 004 .DFRED= ****** GX .EXAMC= ****** GX
$$$CRA= 000001 $$$NUL= 000001 .ATLMD= 000033 .DFWB 000336RG 002 .EXAMD= ****** GX
$$$CRL= 000001 $$$NXT= 000004 .BRCLK= 005000 .DFWRT= ****** GX .EXAMF= ****** GX
$$$CRM= 000002 $$$OCT= 000001 .BRMBC 003334RG .DFXCT= ****** GX .EXAMI= ****** GX
$$$CTL= 000001 $$$OFS= 000002 .BUFSZ= 001000 G .DIAG1= 000000 .EXAMK= ****** GX
$$$DAT= 000002 $$$OPR= 000002 .BURST 003340RG .DIAG2= 000002 .EXAMN= ****** GX
$$$DCR= 000004 $$$OST= 000014 .CCMDN 000004RG 002 .DIAG3= 000006 .EXAMP= ****** GX
$$$DEC= 000001 $$$OUT= 000002 .CDIBC= 000412R 004 .DISCC= ****** GX .EXAMZ= ****** GX
$$$DEP= 000001 $$$PAG= 000001 .CDIBP= 000410R 004 .DOCMD 007730RG .EXARR= ****** GX
$$$DIS= 000001 $$$PC = 000001 .CDINP 000374RG 004 .DPBFR 000070RG 002 .EXARX= ****** GX
$$$DPT= 000001 $$$PI = 000002 .CDOBC= 000432RG 004 .DPBFX 000076RG 002 .EXBFR 000156RG 002
$$$DRA= 000001 $$$PRG= 000002 .CDOBP= 000430RG 004 .DPDPB 000312RG 004 .EXBRR= ****** GX
$$$DRM= 000001 $$$PRV= 000004 .CDOFC= 000434RG 004 .DPETB 004674RG 002 .EXBRX= ****** GX
$$$DTE= 000002 $$$PST= 000002 .CDOUT 000414RG 004 .DPKLM 003762RG .EXCRA= ****** GX
$$$EBR= 000001 $$$QRE= 000001 .CECLK= 004000 .DPOEL= ****** GX .EXCRL= ****** GX
$$$EBS= 000001 $$$QSA= 000001 .CESCK 000000RG .DPOKL= ****** GX .EXCTC= ****** GX
$$$ELE= 000003 $$$QTR= 000001 .CHTAB 001502RG 002 .DPOSC= ****** GX .EXCTF 004150RG
$$$ENB= 000001 $$$QUT= 000001 .CIBFL= 000214 G .DPOSD= ****** GX .EXDPB 000324RG 004
$$$ERR= 000001 $$$R = 000001 .CIBFR 000362RG 002 .DPOSI= ****** GX .EXDPM 004020RG
$$$EXA= 000001 $$$REG= 000001 .CISTS 000006RG 002 .DPOSN= ****** GX .EXDRA= ****** GX
$$$EXT= 000001 $$$REM= 000001 .CKARG 000070RG .DPOSP= ****** GX .EXDTE= ****** GX
$$$FEB= 000001 $$$RES= 000001 .CKCOL 000130RG .DPOSZ= ****** GX .EXEBR= ****** GX
$$$FER= 000001 $$$RLD= 000002 .CKCTC 000166RG .DPOTB 004734RG 002 .EXEBS= ****** GX
$$$FLG= 000001 $$$RPT= 000003 .CKEOC 000214RG .DPTRK 012454RG .EXECT 004226RG
$$$FLT= 000002 $$$RST= 000001 .CKEOS 000256RG .DREG 000352RG 002 .EXETB 005016RG 002
$$$FM = 000002 $$$RTY= 000002 .CKOBJ 000300RG .DRLTC= 015000 .EXFER= ****** GX
$$$FRD= 000001 $$$RUN= 000001 .CKRNP 000316RG .DSACF= 066000 .EXFMR= ****** GX
$$$FSS= 000002 $$$SAV= 000001 .CKRUN 000326RG .DSIOJ= 065000 .EXITP 010110RG
$$$FUL= 000001 $$$SBR= 000001 .CKSYM 000374RG .DTAB 004232R 002 .EXKLM 003730RG
$$$FWR= 000001 $$$SCR= 000001 .CLDFB 003370RG .DTCID 000474RG 004 .EXMEL= ****** GX
$$$FXC= 000001 $$$SEP= 000001 .CLDFR 003374RG .DTDI1 000352RG 002 .EXMKL= ****** GX
$$$HAR= 000001 $$$SET= 000001 .CLDFW 003404RG .DTDI2 000354RG 002 .EXMPI= ****** GX
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 262-7
SYMBOL TABLE
.EXMQR= ****** GX .KLEVL 000202RG 002 .ORADX 000226RG 002 .RESTB 006232RG 002 .SCOTY= ****** GX
.EXMTB 005056RG 002 .KLFLG= ****** GX .OTATT 004050RG 002 .RESTC= ****** GX .SCOUT= ****** GX
.EXREG= ****** GX .KLGO 004744RG .OTBBC 003012RG 002 .RESTD 007102RG .SCPAL= ****** GX
.EXSBR= ****** GX .KLHLT 005034RG .OTBUF 003016RG 002 .RESTI 007122RG .SCPAR= ****** GX
.EXSCR= ****** GX .KLINC 000170RG 002 .OTFN 002766RG 002 .RESTP 007146RG .SCPCR= ****** GX
.EXTND 002004RG .KLMTB 005366RG 002 .OTFNB 004016RG 002 .RPTCT 000244RG 002 .SCPDR= ****** GX
.EXTRK 012442RG .KLMT1 005412RG 002 .OTPOS 003014RG 002 .RPTPT 000252RG 002 .SCPEN= ****** GX
.EXUBR= ****** GX .KLRST 005310RG .OTVBN 003006RG 002 .RSACB= ****** GX .SCPFM= ****** GX
.EXVAB= ****** GX .KLSNP 000203RG 002 .OUTLG 000206RG 002 .RSALL= ****** GX .SCPFS= ****** GX
.EXVMA= ****** GX .KLST 005164RG .OUTLP 000207RG 002 .RSAPR= ****** GX .SCPST= ****** GX
.EXVMH= ****** GX .KLSTP 005212RG .OUTTY 000210RG 002 .RSDTE= ****** GX .SCPTB 006514RG 002
.EXVPC= ****** GX .KLXCT 005442RG .PARER 000432RG .RSERR= ****** GX .SCRLD= ****** GX
.FEMOD= ****** GX .LCRDL= 052000 .PASS 000204RG 002 .RSPAG= ****** GX .SCRPT= ****** GX
.FISTS 001662RG 002 .LCRDR= 051000 .PCAB1= 150000 .RSTIN= ****** GX .SCRTY= ****** GX
.FNDIR 001452RG .LCRM1= 057000 .PCAB2= 151000 .RSTIO= ****** GX .SCTRK= ****** GX
.FREAD 004362RG .LCRM2= 056000 .PCAB3= 152000 .RSTKL 007220RG .SEAMB 000520RG
.FRTRK 012172RG .LCRM3= 055000 .PCAB4= 153000 .RSTPI= ****** GX .SECES 000756RG
.FWRIT 004444RG .LCRM4= 054000 .PEWRD 000230RG 002 .RSTRC= ****** GX .SECLK= 003000
.FWTRK 012212RG .LCRM5= 053000 .PITAB 000232RG 002 .RSTTB 006204RG 002 .SEFRF 000606RG
.FXCT 004566RG .LDAR = 077000 .PSCWD 000236RG 002 .RUNCM= ****** GX .SEFWF 000614RG
.FXTRK 012232RG .LDBRC 005466RG .PTDIE 001046RG .R50TB 001442RG 002 .SEFXF 000622RG
.GFNR = 102000 .LDBRG 005472RG .PTOAT 001352RG .SAVEC= ****** GX .SEILC 000544RG
.GTCMD 012610RG .LDBRL= 043000 .PTTRP 001124RG .SAVQ = ****** GX .SEILS 000544RG
.GTELN 013220RG .LDBRR= 042000 .QUITC= ****** GX .SAVTB 006214RG 002 .SEIPC 000544RG
.GTEXP 013706RG .LDCK1= 046000 .RCRM1= 147000 .SCACB= ****** GX .SENSK 000520RG
.GTFCT 014114RG .LDCK2= 047000 .RCRM2= 146000 .SCCEC= ****** GX .SETCM= ****** GX
.GTKLA 013250RG .LDCLK 005570RG .RCRM3= 145000 .SCCED= ****** GX .SETFN 002166RG
.GTKLN 013302RG .LDCRA 005666RG .RCRM4= 144000 .SCCEE= ****** GX .SETMR= 007000
.GTLIN 012644RG .LDDIS= 045000 .RCSPF= 141000 .SCCLK= ****** GX .SETRN= 011000
.GTNBR 014410RG .LDOBC= 000454RG 004 .RDCPP 006150RG .SCCLN= ****** GX .SETTB 006570RG 002
.GTNUM 013302RG .LDOBP= 000452RG 004 .RDCRA= ****** GX .SCCOM= ****** GX .SFREC= ****** GX
.GTOPC 013514RG .LDOFC= 000456R 004 .RDCRD 006304RG .SCCON= ****** GX .SHIFT 011130RG
.GTTRM 014002RG .LDOUT 000436RG 004 .RDCRM 006342RG .SCCOO= ****** GX .SHUTC= ****** GX
.HALTC= ****** GX .LDPAR 005606RG .RDCRO 006512R .SCCOP= ****** GX .SPACE= 000040
.INATT 002750RG 002 .LDRJD= 064000 .RDCRR 006374RG .SCCOT 006436RG 002 .SPETB 006740RG 002
.INBBC 001712RG 002 .LDRJV= 063000 .RDFMA 006532RG .SCCOU= ****** GX .SSCAN 010774RG
.INBUF 001716RG 002 .LDRM1= 060000 .RDFMO 006614RG .SCCRF= ****** GX .SSCLK= 002000
.INCHC 000164RG 002 .LDRM2= 061000 .RDFMP 006650RG .SCCRH= ****** GX .SSTTB 000316RG 002
.INDFG 001660RG 002 .LDRM3= 062000 .RDIPE 006704RG .SCCRQ= ****** GX .START 010354RG
.INFN 001666RG 002 .LDSEL= 044000 .RDJ14= 134000 .SCCRS= ****** GX .STCLF 007254RG
.INFNB 002716RG 002 .LDSTS 000212RG 002 .RDJ71= 135000 .SCCSE= ****** GX .STCLK 007246RG
.INICL= 070000 .LDZFL 000220RG 002 .RDMAB= 133000 .SCCSI= ****** GX .STPCL= 000000
.INICP= ****** GX .LGLWD 000216RG 002 .RDXSV 000240RG 002 .SCCSM= ****** GX .STPKL 007272RG
.INITC= ****** GX .LOKUP 001574RG .READ 002440RG .SCCTB 006314RG 002 .STPXC 007316RG
.INPOS 001714RG 002 .MARKC= ****** GX .READB 002406RG .SCDAT= ****** GX .STRCL= 001000
.INVBN 001706RG 002 .MEMFL 000222RG 002 .READR 002224RG .SCFSS= ****** GX .STRTB 007030RG 002
.IRADX 000166RG 002 .MEMRS= 076000 .READW 002330RG .SCINC= ****** GX .STRTC= ****** GX
.IRLTC= 014000 .MISC = ****** GX .RECNT 004066RG 002 .SCKLN= ****** GX .STRTT= ****** GX
.JUMPC= ****** GX .MONTB 005430RG 002 .RECPT 004070RG 002 .SCMEL= ****** GX .STRTU= ****** GX
.KLCON 004736RG .MRCLR 006002RG .RECRD 004072RG 002 .SCMEM= ****** GX .STRTV 000254RG 002
.KLDFR 000336RG 004 .MTDPB 000266RG 004 .REGRW 000300RG 004 .SCMKL= ****** GX .STRUN 007346RG
.KLDFW 000350RG 004 .NOERR= ****** GX .REGSV 010316RG .SCMTB 006420RG 002 .STUCD 007366RG
.KLDFX 000362RG 004 .NOHLT= ****** GX .RELWD 000242RG 002 .SCNOT= ****** GX .SVACB= ****** GX
.KLE = ****** GX .NOTSW 000224RG 002 .REMOV 001564RG .SCOFS= ****** GX .SVESP 000256RG 002
.KLEDF 000176RG 002 .NSETB 005542RG 002 .REPTC 011036RG .SCOTL= ****** GX .SVKLF 000260RG 002
.KLEPT 000200RG 002 .NULLC 007716RG .RESET 006766RG .SCOTP= ****** GX .SVPC = ****** GX
.KLERQ= ****** GX .OPEN 001736RG .RESQ = ****** GX .SCOTT 006470RG 002 .SWPC = ****** GX
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1113 03-APR-86 22:51 PAGE 262-8
SYMBOL TABLE
.SWPIP 000262RG 002 .TPXTN 011420RG .TYKLA 015106RG .T50TB 001472RG 002 .WHRPT= ****** GX
.SYNXC 007470RG .TRKWD 000264RG 002 .TYKLN 015156RG .UMRKC= ****** GX .WHRTY= ****** GX
.TAKEC= ****** GX .TRPEC 000270RG 002 .TYLIN 015446RG .VFYFL 000310RG 002 .WHTCL= ****** GX
.TCRLF 015552RG .TRPIP 000272RG 002 .TYMIN 014562RG .WHACB= ****** GX .WHTPS= ****** GX
.TFCHR 015504RG .TRPPC 000274RG 002 .TYMSF 015454RG .WHATB 007046RG 002 .WHTRK= ****** GX
.TPADD 011516RG .TRPPS 000276RG 002 .TYMSG 015462RG .WHATC= ****** GX .WRAR1 007512RG
.TPCLR 011372RG .TRPSB 000300RG 002 .TYNCM 015240RG .WHATV= ****** GX .WRCRM 007534RG
.TPCMP 011440RG .TRPTV 000302RG 002 .TYNUM 015316RG .WHCON= ****** GX .WRITB 003030RG
.TPCOM 011402RG .TRP4V 000266RG 002 .TYOBC 000304RG 002 .WHDAT= ****** GX .WRITE 003160RG
.TPDEC 011550RG .TSCAN 010524RG .TYOBP 000306RG 002 .WHINC= ****** GX .WRITR 002616RG
.TPDIV 011160RG .TYACE 014630RG .TYOUT 015600RG .WHKLN= ****** GX .WRITW 002754RG
.TPINC 011536RG .TYAC1 014662RG .TYOU1 015660RG .WHMEM= ****** GX .WRITZ 003060RG
.TPMUL 011606RG .TYCHR 015520RG .TYP3D 015032RG .WHOFS= ****** GX .WRMBX= 071000
.TPNEG 011412RG .TYCOL 014542RG .TYR50 015772RG .WHOUT= ****** GX .WRTAR 007506RG
.TPSHI 011772RG .TYCOM 014552RG .TYSLS 014572RG .WHRDW= ****** GX .ZEROC= ****** GX
.TPSHL 012036RG .TYELA 014762RG .TYSPC 014602RG .WHREC= ****** GX ..DTSP= ****** GX
.TPSUB 011562RG .TYELN 014766RG .TYUPA 014612RG .WHRLD= ****** GX ..SACK= ****** GX
.TPTST 011474RG .TYINI 015736RG
. ABS. 000000 000
016044 001
DATA 007366 002
MESSAG 002327 003
DPBS 000510 004
ERRMSG 004250 005
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 17193 WORDS ( 68 PAGES)
DYNAMIC MEMORY: 18662 WORDS ( 71 PAGES)
ELAPSED TIME: 00:04:46
,[51,20]PAROOT/CR/-SP=[51,30]PAROOT.TMP
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ABMSG 001051 RG 178-7166 #178-7166 178-7166
ABOMSG 000365 RG 174-7014 #174-7014 174-7014
ACBMSG 001372 RG 182-7365 #182-7365 182-7365 183-7374 183-7374 190-7481 190-7481 193-7550 193-7550
ADD = 000270 #23-878
ADDB = 000273 #23-879
ADDI = 000271 #23-880
ADDM = 000272 #23-881
ADH = 000004 #117-4985 #117-4985 117-4985 117-4985
ADL = 000000 #117-4985 117-4985 117-4985 #117-4985 117-4985 117-4985 #117-4985 117-4985 117-4985
#117-4985 117-4985 117-4985 #117-4985 117-4985 117-4985 #117-4985 117-4985 117-4985
117-4985 #117-4985 117-4985 117-4985
ADMSG 001011 RG 178-7143 #178-7143 178-7143
ADRTMP 007320 R *244-9474 *244-9475 244-9476 #244-9488
ADXMSG 001014 RG 178-7145 #178-7145 178-7145
ALLMSG 001414 RG 184-7381 #184-7381 184-7381 189-7462 189-7462
AMBERM 003670 R #191-7522 191-7522
AND = 000404 #23-883
ANDB = 000407 #23-884
ANDCA = 000410 #23-885
ANDCAB = 000413 #23-886
ANDCAI = 000411 #23-887
ANDCAM = 000412 #23-888
ANDCB = 000440 #23-889
ANDCBB = 000443 #23-890
ANDCBI = 000441 #23-891
ANDCBM = 000442 #23-892
ANDCM = 000420 #23-893
ANDCMB = 000423 #23-894
ANDCMI = 000421 #23-895
ANDCMM = 000422 #23-896
ANDI = 000405 #23-897
ANDM = 000406 #23-898
AOBJN = 000253 #23-900
AOBJP = 000252 #23-901
AOJ = 000340 #23-903
AOJA = 000344 #23-904
AOJE = 000342 #23-905
AOJG = 000347 #23-906
AOJGE = 000345 #23-907
AOJL = 000341 #23-908
AOJLE = 000343 #23-909
AOJN = 000346 #23-910
AOS = 000350 #23-912
AOSA = 000354 #23-913
AOSE = 000352 #23-914
AOSG = 000357 #23-915
AOSGE = 000355 #23-916
AOSL = 000351 #23-917
AOSLE = 000353 #23-918
AOSN = 000356 #23-919
APEERM 000000 R #181-7265 181-7265
APR = 000000 #7-244
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
APRMSG 001273 RG 180-7241 #180-7241 180-7241
AP.ALL = 000177 #9-349
AP.ARP = 001000 #16-634 16-638 131-5460
AP.CDP = 000004 #9-344 9-349
AP.EIP = 000400 #16-636 16-638 131-5468
AP.IPF = 000020 #9-346 9-349
AP.MPE = 000010 #9-345 9-349
AP.NRM = 001400 #16-638 16-640
AP.NXM = 000040 #9-347 9-349
AP.PWF = 000001 #9-342 9-349
AP.SAP = 000002 #9-343 9-349
AP.SBE = 000100 #9-348 9-349
ARMSG 000773 RG 176-7107 #176-7107 176-7107 178-7147 178-7147 189-7464 189-7464
ARXMSG 001020 RG 178-7149 #178-7149 178-7149
ASH = 000240 #23-921
ASHC = 000244 #23-922
AUGMSG 001317 RG 180-7249 #180-7249 180-7249
A.LULU = 000002 #70-3087 70-3089
A.LUNA = 000004 #70-3087
A.LUNU = 000006 #70-3087
BAEERM 000023 R #181-7267 181-7267
BCCTER 003362 R 88-3871 #88-3876
BIT0 = 000001 #87-3838
BIT00 = 000001 #9-306 10-384 11-410 11-430 12-467 12-468 13-491 13-514 22-843
22-857 62-2647 130-5421 139-5778
BIT01 = 000002 #9-307 10-387 11-406 11-428 12-465 12-466 13-492 13-513 22-844
22-858 130-5420
BIT02 = 000004 #9-308 10-379 11-405 11-427 11-432 12-463 12-464 13-493 13-512
22-845 22-859 97-4164 130-5419
BIT03 = 000010 #9-309 10-378 11-404 11-424 12-460 12-462 13-494 13-511 22-846
22-860 128-5326 130-5418
BIT04 = 000020 #9-310 10-376 10-377 11-403 11-422 11-423 12-458 13-495 13-510
22-847 22-861
BIT05 = 000040 #9-311 10-374 11-410 11-421 12-456 12-457 13-496 13-509 22-848
22-862 139-5775
BIT06 = 000100 #9-312 10-373 11-399 11-432 12-454 12-455 13-485 13-508 22-849
22-863
BIT07 = 000200 #9-313 10-371 10-372 11-410 11-432 12-452 13-484 13-507 22-850
22-864
BIT08 = 000400 #9-314 10-370 11-410 11-432 12-450 13-483 13-506 22-865
BIT09 = 001000 #9-315 10-366 10-369 11-410 11-432 12-448 13-482 13-505
BIT1 = 000002 #87-3838
BIT10 = 002000 #9-316 10-365 10-368 11-410 11-432 12-447 13-481 13-504 #87-3838
BIT11 = 004000 #9-317 10-364 10-367 11-410 11-432 12-445 13-480 13-503 #87-3838
BIT12 = 010000 #9-318 10-363 11-410 11-432 12-443 12-444 13-479 13-502 #87-3838
BIT13 = 020000 #9-319 10-362 11-395 11-410 11-432 12-441 13-478 #87-3838
BIT14 = 040000 #9-320 10-361 11-392 11-393 11-410 11-415 11-432 12-440 13-477
#87-3838
BIT15 = 100000 #9-321 10-360 11-391 11-410 11-414 11-432 12-438 13-476 35-1489
35-1574 72-3203 73-3253 74-3313 #87-3838
BIT2 = 000004 #87-3838
BIT3 = 000010 #87-3838
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
BIT4 = 000020 #87-3838
BIT5 = 000040 #87-3838
BIT6 = 000100 #87-3838
BIT7 = 000200 #87-3838
BIT8 = 000400 #87-3838
BIT9 = 001000 #87-3838
BLKI = 000000 #7-233
BLKIS 002232 R 230-8986 #230-8998
BLKO = 000002 #7-235
BLKOS 002245 R 230-8988 #230-9000
BLT = 000251 #23-924
BPARER = 000020 #87-3838
BRMSG 001024 RG 178-7151 #178-7151 178-7151
BRXMSG 001027 RG 178-7153 #178-7153 178-7153
CAEERM 000052 R #181-7269 181-7269
CAI = 000300 #24-926
CAIA = 000304 #24-927
CAIE = 000302 #24-928
CAIG = 000307 #24-929
CAIGE = 000305 #24-930
CAIL = 000301 #24-931
CAILE = 000303 #24-932
CAIN = 000306 #24-933
CALERM 000104 R #181-7270 181-7270
CALL = 000040 #24-935
CALLI = 000047 #24-936
CAM = 000310 #24-938
CAMA = 000314 #24-939
CAME = 000312 #24-940
CAMG = 000317 #24-941
CAMGE = 000315 #24-942
CAML = 000311 #24-943
CAMLE = 000313 #24-944
CAMN = 000316 #24-945
CAPERM 000133 R #181-7271 181-7271
CBOERM 000166 R #181-7272 181-7272
CCA = 000014 #7-247
CC.ALL = 003417 #15-612
CC.NRM = 000000 #15-611 143-5951
CDD = 000020 #87-3838
CDIERM 000224 R #181-7273 181-7273
CD.ALL = 003400 #15-609 15-612
CD.CLC = 000400 #15-607 131-5464
CD.CRC = 002000 #15-605 131-5449
CD.DPC = 001000 #15-606 131-5456
CD.NRM = 000000 #15-608
CESCES 000016 R 47-2104 #47-2107
CESERM 003722 R #191-7524 191-7524
CFHERM 000305 R #181-7274 181-7274
CHNPNT = 000001 #87-3838
CH.ALP = 000001 #22-843 22-852 41-1841 42-1844 42-1845 42-1846 42-1847 42-1848 42-1849
42-1850 42-1851 42-1852 42-1853 42-1854 42-1855 42-1856 42-1857 42-1858
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 4
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
42-1859 42-1860 42-1861 42-1862 42-1863 42-1864 42-1865 42-1866 42-1867
42-1868 42-1869 48-2146
CH.ANM = 000003 #22-852
CH.AOP = 000100 #22-849 41-1816 41-1817 41-1818 41-1819 41-1821 41-1823 42-1845 42-1846
42-1847 42-1858 42-1874 42-1875
CH.END = 000034 #22-851 59-2552 169-6867
CH.EOC = 000010 #22-846 22-851 40-1775 40-1776 41-1820 41-1836 41-1837 49-2183 51-2248
53-2314
CH.EOL = 000004 #22-845 22-851 40-1775
CH.EOS = 000020 #22-847 22-851 40-1775 40-1776 41-1808 41-1810 41-1815 41-1818 41-1819
41-1820 41-1821 41-1823 41-1836 41-1837 41-1839 41-1840 42-1875 52-2285
CH.ILL = 000200 #22-850 40-1777 40-1778 40-1779 40-1780 40-1781 40-1782 40-1783 40-1784
40-1785 40-1786 40-1787 40-1788 40-1789 40-1790 40-1791 40-1792 40-1793
40-1794 40-1795 40-1796 40-1797 40-1798 41-1800 41-1801 41-1802 41-1803
41-1804 41-1805 41-1806 41-1807 41-1809 41-1811 41-1812 41-1813 41-1814
41-1822 41-1838 41-1842 42-1871 42-1872 42-1873 42-1876
CH.NUL = 000000 #22-842
CH.NUM = 000002 #22-844 22-852 41-1825 41-1826 41-1827 41-1828 41-1829 41-1830 41-1831
41-1832 41-1833 41-1834 48-2153 238-9287
CH.PFX = 000040 #22-848 41-1816 41-1819 41-1821 41-1841 42-1874 48-2153
CIDLUN = 000001 #21-819 160-6594 224-8708 260-10120 260-10125
CKCILS 000152 R 49-2186 #49-2188 51-2257 52-2286 52-2288
CKCMRA 000160 R 48-2154 49-2184 #49-2191 53-2315
CKEEOC 000250 R 51-2255 #51-2259
CKRKLR 000366 R 54-2357 #54-2365
CLEAR = 000400 #24-947
CLEARB = 000403 #24-948
CLEARI = 000401 #24-949
CLEARM = 000402 #24-950
CLEERM 000343 R #181-7275 181-7275
CLKMSG 001617 RG 190-7483 #190-7483 190-7483 193-7552 193-7552
CLOATR = 000256 R *75-3343 *75-3347 #75-3370
CLOATT = 000262 R *75-3349 #75-3377
CLODAC 000240 R 75-3350 #75-3365 75-3368 75-3369 75-3370
CLOFCF 002160 R 75-3351 75-3353 #75-3359
CLOIOF = 000242 R *75-3342 *75-3346 #75-3368
CLOLUN = 000244 R *75-3348 #75-3369
CLOSE = 000070 #24-952
CLOWAT 000260 R 75-3347 #75-3372 75-3377
CLRMSG 000373 RG 174-7016 #174-7016 174-7016
CNRERM 000400 R #181-7276 181-7276
CNTMSG 000401 RG 174-7018 #174-7018 174-7018
CNUPE = 000002 #87-3838
CODLUN = 000002 #21-820 260-10102
CONI = 000005 #7-238
CONIS 002265 R 230-8991 #230-9003
CONMSG 001625 RG 190-7485 #190-7485 190-7485 193-7554 193-7554
CONO = 000004 #7-237 117-4985 117-4985
CONOS 002260 R 230-8990 #230-9002
CONSO = 000007 #7-240
CONSOS 002300 R 230-8993 #230-9005
CONSZ = 000006 #7-239
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 5
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
CONSZS 002272 R 230-8992 #230-9004
CPEERM 000440 R #181-7277 181-7277
CPUMSG 001420 RG 184-7383 #184-7383 184-7383
CPUNUM = 000002 #87-3838
CPVMSG 000000 RG #39-1728
CRAMSG 001054 RG 178-7168 #178-7168 178-7168
CRHERM 000467 R #181-7278 181-7278
CRLMSG 001063 RG 178-7170 #178-7170 178-7170
CRMMSG 001450 RG 62-2672 185-7404 #185-7404 185-7404 189-7466 189-7466
CR.ALL = 000003 #15-597 15-612
CR.CR1 = 000001 #15-591 15-597 131-5462
CR.CR2 = 000002 #15-592 15-597 131-5454
CR.FUL = 000000 #15-593
CR.HLF = 000001 #15-594
CR.NRM = 000000 #15-590
CR.QTR = 000002 #15-595
CR.SLO = 000003 #15-596
CS.ALL = 000014 #15-588 15-612
CS.CS1 = 000004 #15-582 15-588 131-5447
CS.CS2 = 000010 #15-583 15-588 131-5441
CS.EXP = 177670 #87-3838
CS.EXT = 000010 #15-586
CS.FST = 000004 #15-584 15-585
CS.MGN = 000004 #15-585
CS.NRM = 000000 #15-581
CS.UDF = 000014 #15-587
CTLMSG 001467 RG 185-7408 #185-7408 185-7408
CTYPTR = ****** GX 160-6598
DATABX 000312 RG #35-1615 262-10133
DATAI = 000001 #7-234
DATAIS 002237 R 230-8987 #230-8999
DATAO = 000003 #7-236
DATAOS 002252 R 230-8989 #230-9001
DATMSG 001635 RG 190-7487 #190-7487 190-7487 193-7556 193-7556
DAVERM 000531 R #181-7283 181-7283
DBTERM 000562 R #181-7284 181-7284
DCKERM 000612 R #181-7285 181-7285
DCOMST = 000001 #87-3838
DCRMSG 000724 RG 175-7092 #175-7092 175-7092 176-7113 176-7113 177-7128 177-7128 178-7201 178-7201
DEB880 = ****** 44-1921 47-2099 56-2423 90-3942 94-4056 97-4165 99-4234 99-4250 100-4276
104-4421 104-4429 106-4487 108-4583 110-4659 114-4838 115-4851 115-4880 117-4970
128-5327 139-5791 149-6124 152-6220
DECMSG 001361 RG 180-7257 #180-7257 180-7257
DEP = 010000 #87-3838
DEPMSG 000412 RG 174-7020 #174-7020 174-7020
DEX = 000400 #87-3838
DEXDON = 000004 #87-3838
DEXWD1 = 174406 #87-3838
DEXWD2 = 174404 #87-3838
DEXWD3 = 174402 #87-3838
DFAD = 000110 #24-954
DFBEND = 000362 RG #37-1686
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 6
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DFDV = 000113 #24-955
DFMP = 000112 #24-956
DFN = 000131 #24-957
DFSB = 000111 #24-958
DFUNC = 000200 #87-3838
DF.DMG = 000004 #87-3838
DF.DMN = 000007 #87-3838
DF.DOR = 000001 #87-3838
DF.EHG = 000010 #87-3838
DF.EHM = 000011 #87-3838
DF.EMG = 000005 #87-3838
DF.EMN = 000006 #87-3838
DF.KLR = 000012 #87-3838 106-4530
DF.KLW = 000013 #87-3838 108-4627
DF.KLX = 000014 #87-3838 111-4729
DF.OFF = 000002 #87-3838
DF.ON = 000003 #87-3838
DF.PDP = 000016 #87-3838 102-4345
DF.PEX = 000015 #87-3838 102-4363
DIAG1 = 174430 #87-3838
DIAG2 = 174432 #87-3838
DIAG3 = 174436 #87-3838
DIKL10 = 000010 #87-3838
DISMSG 000422 RG 174-7022 #174-7022 174-7022
DIV = 000234 #24-960
DIVB = 000237 #24-961
DIVI = 000235 #24-962
DIVM = 000236 #24-963
DLYCNT = 174400 #87-3838
DMFERM 000635 R #181-7286 181-7286
DMOVE = 000120 #24-965
DMOVEM = 000124 #24-966
DMOVN = 000121 #24-967
DMOVNM = 000125 #24-968
DNFERM 000724 R #181-7288 181-7288
DNPERM 000763 R #181-7289 181-7289
DOCCNR 010102 R 159-6527 #159-6550
DON10C = 040000 #87-3838
DON10S = 100000 #87-3838
DON11C = 000100 #87-3838
DON11S = 000200 #87-3838
DORERM 000674 R #181-7287 181-7287
DPB = 000137 #24-970
DPDTEN = 000322 RG #102-4346
DPS4 = 040000 #87-3838
DPTMSG 001455 RG 185-7406 #185-7406 185-7406
DRAMSG 001071 RG 178-7172 #178-7172 178-7172
DRDMSG 002144 R 216-8363 #217-8393
DRESET = 000100 #87-3838
DRMMSG 001573 RG 62-2671 189-7468 #189-7468 189-7468
DR.DTE = 000011 #87-3838 102-4345 102-4363 106-4530 108-4627 111-4729
DSEND = 000004 #87-3838
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 7
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DSFERM 001022 R #181-7290 181-7290
DS04 = 004000 #87-3838
DS05 = 002000 #87-3838
DS06 = 001000 #87-3838
DTCERM 001055 R #181-7291 181-7291
DTECMD = 000451 #87-3838
DTEDSF 003626 R 94-4061 #94-4074
DTEFLG = 000444 #87-3838
DTEF11 = 000450 #87-3838
DTEMSG 001100 RG 178-7174 #178-7174 178-7174 184-7385 184-7385
DTEMTD = 000455 #87-3838
DTEMTI = 000456 #87-3838
DTKMSG 002215 R 218-8435 #220-8501
DTRMSG 002063 R 216-8348 #217-8381
DUPE = 000020 #87-3838
DURE = 000004 #87-3838
DWRMSG 002150 R 216-8366 #217-8395
DW1MSG 002104 R 217-8375 #217-8384
DW2MSG 002114 R 217-8376 #217-8386
DW3MSG 002134 R 217-8378 #217-8390
DXWRD1 = 002000 #87-3838
D.CDLS = ****** GX 160-6600
D1.CES = 004000 #10-367 47-2103 114-4837
D1.DCS = 000001 #10-384
D1.DDT = 000040 #10-374 10-387
D1.DEX = 000400 #10-370 10-387
D1.DFM = 000010 #10-378
D1.DS0 = 100000 #10-360
D1.DS1 = 040000 #10-361
D1.DS2 = 020000 #10-362
D1.DS3 = 010000 #10-363
D1.DS4 = 004000 #10-364
D1.DS5 = 002000 #10-365
D1.DS6 = 001000 #10-366
D1.HLP = 001000 #10-369 104-4420 104-4428 115-4850 115-4879 117-4969 152-6219
D1.LBK = 000200 #10-372
D1.MBZ = 000442 #10-387 94-4083
D1.PLS = 000020 #10-377
D1.RUN = 002000 #10-368
D1.T10 = 000200 #10-371
D1.T11 = 000100 #10-373
D1.V04 = 000020 #10-376
D1.XFR = 000004 #10-379
D1011 = 000040 #87-3838
D2RST 004344 R 142-5898 #142-5906
D2.EBD = 040000 #11-393
D2.MBZ = 177641 #11-410 94-4084
D2.MS1 = 000002 #11-406
D2.MS2 = 000004 #11-405
D2.MS4 = 000010 #11-404
D2.MS8 = 000020 #11-403
D2.RA0 = 100000 #11-391
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 8
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
D2.RA1 = 040000 #11-392
D2.RA2 = 020000 #11-395
D2.RST = 000100 #11-399 142-5907
D3RST 004346 R 142-5900 #142-5908
D3.CDD = 000020 #11-423
D3.MBZ = 177704 #11-432 94-4086
D3.NPE = 000002 #11-428
D3.PAR = 040000 #11-415
D3.RST = 000001 #11-434 142-5909
D3.SCD = 000040 #11-421
D3.SSL = 100000 #11-414
D3.TXB = 000001 #11-430 11-434
D3.UPE = 000020 #11-422
D3.URE = 000004 #11-427
D3.WEP = 000010 #11-424
EBCECT 003722 R 97-4172 #97-4176
EBPEPE 000424 R 56-2424 #56-2427
EBRMSG 001107 RG 178-7176 #178-7176 178-7176
EBSEL = 000100 #87-3838
EBSMSG 001033 RG 178-7155 #178-7155 178-7155
EBUSPC = 000020 #87-3838
EBUSPS = 000004 #87-3838
ECTERM 001127 R #181-7293 181-7293
EDEPT 002154 R 220-8482 #220-8489
EDEXV 002160 R 220-8483 #220-8491
EDONES = 040000 #87-3838
EDPHY 002174 R 220-8486 #220-8497
EDTYTB 007264 R 219-8468 #220-8481
EDUPT 002164 R 220-8484 #220-8493
EDUSV 002170 R 220-8485 #220-8495
ED.EPT = 000000 #9-325
ED.EXV = 000040 #9-326
ED.PHY = 000200 #9-329 102-4345 102-4363
ED.UPT = 000100 #9-327
ED.USV = 000140 #9-328
EF.CRI = ****** GX 141-5850
ELBBIN 007350 RG 246-9573 #250-9734
ELBOCT 007354 RG 246-9577 #250-9737
ELEMSG 000776 RG 176-7109 #176-7109 176-7109 178-7178 178-7178 186-7429 186-7429
ELNBIN 007342 RG 245-9534 #250-9730
ELNNOR 013214 R 225-8741 225-8743 225-8748 225-8750 #225-8753
ELNOCT 007360 RG 245-9538 #250-9742
EMFERM 001160 R #181-7294 181-7294
ENBMSG 001600 RG 189-7470 #189-7470 189-7470
ENTCRE 000070 R 72-3185 #72-3202
ENTDEL 000144 R 72-3194 #72-3208
ENTENA 000114 R 72-3189 #72-3205
ENTER = 000077 #25-972
ENTFEN 001730 R 72-3186 72-3188 #72-3196
EOCERM 001217 R #181-7295 181-7295
EOFMSG 000335 R 77-3462 #77-3471
EPEERM 001255 R #181-7296 181-7296
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 9
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
EPTR = 000000 #87-3838
EQV = 000444 #25-974
EQVB = 000447 #25-975
EQVI = 000445 #25-976
EQVM = 000446 #25-977
ERRMSG 001424 RG 184-7387 #184-7387 184-7387
ERR10C = 010000 #87-3838
ERR10S = 020000 #87-3838
ERR11C = 000001 #87-3838
ERR11S = 000002 #87-3838
ERSMSG 000107 R 62-2670 #63-2680
ESDERM 001305 R #181-7297 181-7297
ESEERM 001342 R #181-7298 181-7298
ETRMSG 002200 R 218-8430 #220-8499
EXAMSG 000435 RG 174-7024 #174-7024 174-7024
EXCH = 000250 #25-979
EXDDMF 004134 R 101-4309 #101-4321
EXDEMF 004142 R 101-4303 #101-4324
EXDESD 004104 R 101-4308 #101-4313
EXDESE 004120 R 101-4302 #101-4317
EXDTEN = 000334 RG #102-4364
EXECTO 004354 R 104-4434 #104-4454
EXRTBL = 000012 G #178-7165
EXTEND = 000123 #25-980
EXTEXT 000214 R 74-3290 #74-3312
EXTFEF 002036 R 74-3291 74-3293 #74-3298
EXTMSG 001477 RG 185-7410 #185-7410 185-7410
E.FCID = 000002 #21-803 160-6594 224-8708 260-10120
E.FCOD = 000003 #21-804 260-10102 260-10125
E.FCTC = ****** GX 50-2217
E.FFIL = 000006 #21-807 70-3092 71-3155 72-3203 72-3206 72-3209 73-3253 74-3313 75-3366
80-3574 85-3783
E.FHTO = 000001 #21-802 91-3972 149-6125
E.FKLN = 000004 #21-805
E.FLOD = 000005 #21-806 260-10111
FAD = 000140 #25-982
FADB = 000143 #25-983
FADL = 000141 #25-984
FADM = 000142 #25-985
FADR = 000144 #25-987
FADRB = 000147 #25-988
FADRI = 000145 #25-989
FADRM = 000146 #25-990
FCFERM 001377 R #181-7300 181-7300
FDV = 000170 #25-992
FDVB = 000173 #25-993
FDVL = 000171 #25-994
FDVM = 000172 #25-995
FDVR = 000174 #25-997
FDVRB = 000177 #25-998
FDVRI = 000175 #25-999
FDVRM = 000176 #25-1000
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 10
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FEBMSG 001254 RG 180-7237 #180-7237 180-7237
FEFERM 001430 R #181-7301 181-7301
FENERM 001462 R #181-7302 181-7302
FERMSG 001113 RG 178-7180 #178-7180 178-7180
FIX = 000122 #25-1002
FIXR = 000126 #25-1003
FLDMSG 000050 R 60-2591 #60-2598
FLFERM 001513 R #181-7303 181-7303
FLGMSG 001116 RG 178-7182 #178-7182 178-7182
FLTMSG 001642 RG 190-7489 #190-7489 190-7489 193-7558 193-7558
FLTR = 000127 #25-1005
FMMSG 001040 RG 62-2673 178-7158 #178-7158 178-7158 189-7472 189-7472
FMP = 000160 #25-1007
FMPB = 000163 #25-1008
FMPL = 000161 #25-1009
FMPM = 000162 #25-1010
FMPR = 000164 #25-1012
FMPRB = 000167 #25-1013
FMPRI = 000165 #25-1014
FMPRM = 000166 #25-1015
FNDALN 000000 R 70-3065 #70-3086 70-3089
FNDALU = 000002 R *70-3064 #70-3089
FNDCAL 001550 R 70-3066 #70-3078
FNDDNF 001556 R 70-3070 70-3072 #70-3080
FNDFNA 000010 R 70-3069 #70-3091 70-3094 70-3095
FNDFNB = 000036 R *70-3068 #70-3095
FNDLUN = 000014 R *70-3067 #70-3094
FOFERM 001545 R #181-7304 181-7304
FORPRO = 000020 #87-3838
FRDERM 001575 R #181-7305 181-7305
FRDFRF 004436 R 106-4492 #106-4509
FRDMSG 000445 RG 174-7026 #174-7026 174-7026
FRDTEN = 000346 RG #106-4531
FRFERM 003754 R #191-7526 191-7526
FR.ADX = 000254 #18-725
FR.APR = 000220 #18-703
FR.ARX = 000252 #18-723
FR.BRX = 000250 #18-721
FR.CA1 = 000312 #19-755 19-756
FR.CA2 = 000310 #19-752 19-753
FR.CL1 = 000316 #19-762
FR.CL2 = 000314 #19-759
FR.CRD = 000302 #19-746 132-5497
FR.CR1 = 000316 #19-761 19-762
FR.CR2 = 000314 #19-758 19-759
FR.CR3 = 000312 #19-756
FR.CR4 = 000310 #19-753 134-5574
FR.DA1 = 000260 #18-731
FR.DA2 = 000262 #18-734
FR.EBS = 000356 #20-789
FR.FE1 = 000266 #18-738
FR.FE2 = 000264 #18-736
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 11
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FR.PI0 = 000200 #18-692
FR.PI1 = 000202 #18-694
FR.RAD = 000256 #18-727
FR.RAR = 000240 #18-713
FR.RBR = 000242 #18-715
FR.RFM = 000246 #18-719 137-5708
FR.RMQ = 000244 #18-717
FR.SC1 = 000262 #18-733
FR.SC2 = 000260 #18-730
FR.SR1 = 000306 #19-750
FR.SR2 = 000304 #19-748
FR.VM0 = 000320 #19-765
FR.VM1 = 000322 #19-767
FR.VM2 = 000324 #19-769
FR.VM3 = 000326 #19-771
FR.VM4 = 000330 #19-773
FR.VM5 = 000332 #19-775
FR.VM6 = 000334 #19-777
FR.VM7 = 000336 #19-779
FR.100 = 000200 #18-691 18-692
FR.101 = 000202 #18-693 18-694
FR.102 = 000204 #18-695 139-5774
FR.103 = 000206 #18-696
FR.104 = 000210 #18-697 97-4162 131-5437
FR.105 = 000212 #18-698 131-5438
FR.106 = 000214 #18-699 131-5439
FR.107 = 000216 #18-700 131-5440
FR.110 = 000220 #18-702 18-703
FR.111 = 000222 #18-704
FR.112 = 000224 #18-705
FR.113 = 000226 #18-706
FR.114 = 000230 #18-707 136-5664 138-5737
FR.115 = 000232 #18-708
FR.116 = 000234 #18-709
FR.117 = 000236 #18-710
FR.120 = 000240 #18-712 18-713
FR.121 = 000242 #18-714 18-715
FR.122 = 000244 #18-716 18-717
FR.123 = 000246 #18-718 18-719
FR.124 = 000250 #18-720 18-721
FR.125 = 000252 #18-722 18-723
FR.126 = 000254 #18-724 18-725
FR.127 = 000256 #18-726 18-727
FR.130 = 000260 #18-729 18-730 18-731
FR.131 = 000262 #18-732 18-733 18-734
FR.132 = 000264 #18-735 18-736
FR.133 = 000266 #18-737 18-738
FR.134 = 000270 #18-739
FR.135 = 000272 #18-740
FR.136 = 000274 #18-741
FR.137 = 000276 #18-742
FR.140 = 000300 #19-744
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 12
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FR.141 = 000302 #19-745 19-746
FR.142 = 000304 #19-747 19-748
FR.143 = 000306 #19-749 19-750
FR.144 = 000310 #19-751 19-752
FR.145 = 000312 #19-754 19-755
FR.146 = 000314 #19-757 19-758
FR.147 = 000316 #19-760 19-761
FR.150 = 000320 #19-764 19-765
FR.151 = 000322 #19-766 19-767
FR.152 = 000324 #19-768 19-769
FR.153 = 000326 #19-770 19-771
FR.154 = 000330 #19-772 19-773
FR.155 = 000332 #19-774 19-775
FR.156 = 000334 #19-776 19-777
FR.157 = 000336 #19-778 19-779
FR.160 = 000340 #20-781
FR.161 = 000342 #20-782
FR.162 = 000344 #20-783 128-5324
FR.163 = 000346 #20-784
FR.164 = 000350 #20-785
FR.165 = 000352 #20-786
FR.166 = 000354 #20-787
FR.167 = 000356 #20-788 20-789
FR.170 = 000360 #20-791
FR.171 = 000362 #20-792
FR.172 = 000364 #20-793
FR.173 = 000366 #20-794
FR.174 = 000370 #20-795
FR.175 = 000372 #20-796
FR.176 = 000374 #20-797
FR.177 = 000376 #20-798
FSB = 000150 #25-1017
FSBB = 000153 #25-1018
FSBL = 000151 #25-1019
FSBM = 000152 #25-1020
FSBR = 000154 #26-1022
FSBRB = 000157 #26-1023
FSBRI = 000155 #26-1024
FSBRM = 000156 #26-1025
FSC = 000132 #26-1027
FSSMSG 001607 RG 62-2674 189-7474 #189-7474 189-7474 190-7491 190-7491
FSWERM 001625 R #181-7306 181-7306
FTBYTE = 000000 #2-65
FTCRAM = 000000 #2-66
FTDEBU = 000001 #2-67 35-1502 68-2880 160-6575
FTDISP = 000000 #2-68
FTDRAM = 000000 #2-69 35-1510 181-7280
FTHELP = 000000 #2-70 174-7034
FTKLE = 000001 #2-77 159-6542 163-6671 223-8620
FTKLER = 000000 #2-71
FTKLI = ****** 69-2942 69-2953 74-3303 77-3418
FTLCMN = 000001 G 1-1 33-1409 #262-10131
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 13
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FTLCVT = 000000 #2-72 42-1877 224-8676
FTLIST = 000001 #2-73
FTTRAK = 000001 #2-74 13-490 35-1591 94-4063 99-4239 106-4502 108-4597 111-4699 190-7513
193-7580 213-8249 215-8343 218-8424
FTTRP4 = 000001 #2-75
FTUCVR = 000130 #2-76
FT1105 = 000001 #2-64 #2-101
FT1110 = 000001 #2-63 #2-97 2-100
FT1115 = 000001 #2-62 #2-93 2-96
FT1120 = 000001 #2-61 #2-89 2-92
FT1135 = 000001 #2-60 #2-85 2-88
FT1140 = 000001 #2-59 2-84 3-110
FT1145 = 000000 #2-58 2-80
FULMSG 001530 RG 185-7416 #185-7416 185-7416
FWDTEN = 000360 RG #108-4628
FWFERM 004001 R #191-7527 191-7527
FWRFWF 004560 R 108-4588 #108-4606
FWRMSG 000453 RG 174-7028 #174-7028 174-7028
FWTERM 001652 R #181-7307 181-7307
FW.APE = 000116 #16-628
FW.CA1 = 000122 #16-644 126-5266 134-5588 141-5861 155-6394
FW.CA2 = 000124 #16-646 126-5259 134-5590 141-5860 155-6396
FW.CDR = 000112 #15-600
FW.CHN = 000160 #17-676 128-5319
FW.CRD = 000126 #16-648 155-6391
FW.CR1 = 000136 #16-656
FW.CR2 = 000134 #16-654
FW.CR3 = 000132 #16-652
FW.CR4 = 000130 #16-650 155-6374
FW.CSR = 000110 #15-576 124-5192
FW.DJE = 000146 #17-665
FW.DJO = 000150 #17-667
FW.DR1 = 000140 #17-659
FW.DR2 = 000142 #17-661
FW.DR3 = 000144 #17-663
FW.EBL = 000174 #17-684 141-5863
FW.IAC = 000154 #17-671
FW.IOJ = 000152 #17-669
FW.IPE = 000114 #16-615 124-5198
FW.KLO = 000156 #17-673 141-5862
FW.LAR = 000176 #17-687 116-4928 120-5085 154-6306
FW.LBL = 000106 #15-574 122-5132 141-5859
FW.LBR = 000104 #15-572 122-5123 141-5858
FW.MBX = 000162 #17-678 141-5866
FW.SBR = 000174 #17-685
FW.040 = 000100 #15-569
FW.041 = 000102 #15-570
FW.042 = 000104 #15-571 15-572
FW.043 = 000106 #15-573 15-574
FW.044 = 000110 #15-575 15-576 108-4591
FW.045 = 000112 #15-599 15-600
FW.046 = 000114 #16-614 16-615
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 14
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FW.047 = 000116 #16-627 16-628 108-4593
FW.050 = 000120 #16-642
FW.051 = 000122 #16-643 16-644
FW.052 = 000124 #16-645 16-646
FW.053 = 000126 #16-647 16-648
FW.054 = 000130 #16-649 16-650
FW.055 = 000132 #16-651 16-652
FW.056 = 000134 #16-653 16-654
FW.057 = 000136 #16-655 16-656
FW.060 = 000140 #17-658 17-659
FW.061 = 000142 #17-660 17-661
FW.062 = 000144 #17-662 17-663
FW.063 = 000146 #17-664 17-665
FW.064 = 000150 #17-666 17-667
FW.065 = 000152 #17-668 17-669
FW.066 = 000154 #17-670 17-671
FW.067 = 000156 #17-672 17-673
FW.070 = 000160 #17-675 17-676
FW.071 = 000162 #17-677 17-678
FW.072 = 000164 #17-679
FW.073 = 000166 #17-680
FW.074 = 000170 #17-681
FW.075 = 000172 #17-682
FW.076 = 000174 #17-683 17-684 17-685
FW.077 = 000176 #17-686 17-687
FXCFXF 004730 R 110-4664 #111-4707
FXCMSG 000462 RG 174-7030 #174-7030 174-7030
FXDTEN = 000372 RG #111-4730
FXFERM 004027 R #191-7528 191-7528
FX.BMC = 000012 #14-529 88-3873
FX.CMR = 000014 #14-531 128-5336
FX.CON = 000024 #14-540 113-4783 119-5027 120-5087
FX.CRF = 000020 #14-536 90-3947 110-4690
FX.CSP = 000000 #14-519
FX.CST = 000002 #14-521 110-4667 147-6065
FX.EBC = 000006 #14-525 134-5570
FX.MBC = 000004 #14-523 97-4160 128-5331
FX.SMR = 000016 #14-533 110-4669 127-5305
FX.SRF = 000022 #14-538 110-4684 150-6158
FX.SYC = 000010 #14-527 153-6263
FX.UDR = 000032 #14-545
FX.UIR = 000030 #14-543
FX.000 = 000000 #14-518 14-519
FX.001 = 000002 #14-520 14-521
FX.002 = 000004 #14-522 14-523
FX.003 = 000006 #14-524 14-525
FX.004 = 000010 #14-526 14-527
FX.005 = 000012 #14-528 14-529
FX.006 = 000014 #14-530 14-531
FX.007 = 000016 #14-532 14-533
FX.010 = 000020 #14-535 14-536
FX.011 = 000022 #14-537 14-538
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 15
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FX.012 = 000024 #14-539 14-540
FX.013 = 000026 #14-541
FX.014 = 000030 #14-542 14-543
FX.015 = 000032 #14-544 14-545
FX.016 = 000034 #14-546
FX.017 = 000036 #14-547
FX.020 = 000040 #14-549
FX.021 = 000042 #14-550
FX.022 = 000044 #14-551
FX.023 = 000046 #14-552
FX.024 = 000050 #14-553
FX.025 = 000052 #14-554
FX.026 = 000054 #14-555
FX.027 = 000056 #14-556
FX.030 = 000060 #14-558
FX.031 = 000062 #14-559
FX.032 = 000064 #14-560
FX.033 = 000066 #14-561
FX.034 = 000070 #14-562
FX.035 = 000072 #14-563
FX.036 = 000074 #14-564
FX.037 = 000076 #14-565
GETSTS = 000062 #26-1029
GTFILC 014264 R 236-9201 #236-9212
GTKKLA 013274 R 227-8813 227-8815 #227-8817
GTLCBO 013130 R 224-8665 #224-8697
GTLILC 013136 R 223-8653 224-8679 #224-8700
GTNILI 013700 R 230-8943 230-8957 230-8975 #230-8979
GTNMRA 014526 R 239-9312 #239-9314
GTNNER 013506 R 228-8851 228-8861 #229-8902 230-8959
GTNNOR 014534 R 225-8754 229-8900 238-9292 238-9298 #239-9317
GTNORE 013502 R 228-8865 228-8867 #229-8899 230-8962 230-8964
HARMSG 001773 RG 193-7560 #193-7560 193-7560
HIBYTE = 177400 #87-3838
HLFMSG 001535 RG 185-7418 #185-7418 185-7418
HLL = 000500 #26-1031
HLLE = 000530 #26-1032
HLLEI = 000531 #26-1033
HLLEM = 000532 #26-1034
HLLES = 000533 #26-1035
HLLI = 000501 #26-1037
HLLM = 000502 #26-1038
HLLO = 000520 #26-1040
HLLOI = 000521 #26-1041
HLLOM = 000522 #26-1042
HLLOS = 000523 #26-1043
HLLS = 000503 #26-1045
HLLZ = 000510 #26-1047
HLLZI = 000511 #26-1048
HLLZM = 000512 #26-1049
HLLZS = 000513 #26-1050
HLR = 000544 #26-1052
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 16
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
HLRE = 000574 #26-1054
HLREI = 000575 #26-1055
HLREM = 000576 #26-1056
HLRES = 000577 #26-1057
HLRO = 000564 #26-1059
HLROI = 000565 #26-1060
HLROM = 000566 #26-1061
HLROS = 000567 #26-1062
HLRS = 000547 #26-1064
HLRZ = 000554 #26-1066
HLRZI = 000555 #26-1067
HLRZM = 000556 #26-1068
HLRZS = 000557 #26-1069
HLTMSG 000467 RG 174-7032 #174-7032 174-7032
HRL = 000504 #27-1071
HRLE = 000534 #27-1073
HRLEI = 000535 #27-1074
HRLEM = 000536 #27-1075
HRLES = 000537 #27-1076
HRLI = 000505 #27-1078
HRLM = 000506 #27-1079
HRLO = 000564 #27-1081
HRLOI = 000565 #27-1082
HRLOM = 000566 #27-1083
HRLOS = 000567 #27-1084
HRLS = 000507 #27-1086
HRLZ = 000514 #27-1088
HRLZI = 000515 #27-1089
HRLZM = 000516 #27-1090
HRLZS = 000517 #27-1091
HRR = 000540 #27-1093
HRRE = 000570 #27-1095
HRREI = 000571 #27-1096
HRREM = 000572 #27-1097
HRRES = 000573 #27-1098
HRRI = 000541 #27-1100
HRRM = 000542 #27-1101
HRRO = 000560 #27-1103
HRROI = 000561 #27-1104
HRROM = 000562 #27-1105
HRROS = 000563 #27-1106
HRRS = 000543 #27-1108
HRRZ = 000550 #27-1110
HRRZI = 000551 #27-1111
HRRZM = 000552 #27-1112
HRRZS = 000553 #27-1113
I = 000000 #117-4985 117-4985
IBP = 000133 #28-1115
IDFERM 001703 R #181-7309 181-7309
IDIV = 000230 #28-1117
IDIVB = 000233 #28-1118
IDIVI = 000231 #28-1119
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 17
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
IDIVM = 000232 #28-1120
IDPB = 000136 #28-1122
IE.EBX = ****** GX 100-4284
IE.EOF = ****** GX 85-3792
IE.NSF = ****** GX 71-3141
IFCERM 001735 R #181-7310 181-7310
IFLOP = 100000 #87-3838
ILCERM 004057 R #191-7530 191-7530
ILDB = 000134 #28-1124
ILIERM 001771 R #181-7311 181-7311
ILSERM 004111 R #191-7531 191-7531
IMUL = 000220 #28-1126
IMULB = 000223 #28-1127
IMULI = 000221 #28-1128
IMULM = 000222 #28-1129
IN = 000056 #28-1131
INBUF = 000064 #28-1132
INCMSG 000736 RG 175-7094 #175-7094 175-7094 176-7115 176-7115 177-7130 177-7130 178-7203 178-7203
190-7493 190-7493 193-7562 193-7562
INDLUN = 000005 #21-823 77-3460 80-3574 80-3586 160-6584
INIMSG 000474 RG 174-7038 #174-7038 174-7038 184-7389 184-7389
INIT = 000041 #28-1133
INPUT = 000066 #28-1134
INTMSG 001510 RG 185-7412 #185-7412 185-7412
INTROF = 000010 #87-3838
INTRON = 000040 #87-3838
INTSON = 000001 #87-3838
INT10S = 000400 #87-3838
INT11C = 002000 #87-3838
INT11S = 004000 #87-3838
IOCERM 002015 R #181-7312 181-7312
IOMSG 001432 RG 184-7391 #184-7391 184-7391
IOR = 000434 #28-1136 29-1204
IORB = 000437 #28-1137 29-1205
IORI = 000435 #28-1138 30-1222
IORM = 000436 #28-1139 30-1223
IOTAB 007276 R 230-8941 230-8949 #230-8985
IO.ATT = ****** GX 260-10120
IO.CRE = ****** GX 72-3203
IO.DAC = ****** GX 75-3346
IO.DEL = ****** GX 72-3209 75-3342
IO.DET = ****** GX 160-6594 260-10125
IO.ENA = ****** GX 72-3206
IO.EXT = ****** GX 74-3313
IO.FNA = ****** GX 70-3092 71-3131
IO.RLB = ****** GX 224-8708
IO.RNA = ****** GX 71-3128
IO.RVB = ****** GX 80-3574
IO.WLB = ****** GX 260-10102 260-10111
IO.WVB = ****** GX 85-3783
IPCERM 004155 R #191-7532 191-7532
IP.ALL = 000017 #16-625
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 18
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
IP.CRP = 000004 #16-621 16-624 131-5451
IP.DRP = 000002 #16-622 16-624 131-5458
IP.FMP = 000010 #16-620 16-624 131-5444
IP.FSS = 000001 #16-623 16-625 131-5466
IP.NRM = 000016 #16-624 16-625 16-640
IRCERM 002045 R #181-7313 181-7313
IREERM 002100 R #181-7314 181-7314
IS.SET = ****** GX 50-2218
ITFERM 002130 R #181-7315 181-7315
ITNERM 002162 R #181-7316 181-7316
JANMSG 001244 RG 180-7235 #180-7235 180-7235
JFCL = 000255 #28-1141
JFFO = 000243 #28-1143
JMPMSG 000507 RG 174-7040 #174-7040 174-7040
JRA = 000267 #28-1145
JRST = 000254 #28-1147
JSA = 000266 #28-1149
JSP = 000265 #28-1151
JSR = 000264 #28-1153
JSYS = 000104 #28-1155
JULMSG 001312 RG 180-7247 #180-7247 180-7247
JUMP = 000320 #28-1157
JUMPA = 000324 #28-1158
JUMPE = 000322 #28-1159
JUMPG = 000327 #28-1160
JUMPGE = 000325 #28-1161
JUMPL = 000321 #28-1162
JUMPLE = 000323 #28-1163
JUMPN = 000326 #28-1164
JUNMSG 001305 RG 180-7245 #180-7245 180-7245
KCNERM 002212 R #181-7318 181-7318
KF.BRM = 001000 #13-482 119-5021
KF.CES = 000100 #13-485 47-2113 128-5338
KF.CLK = 100000 #13-476 47-2111 54-2354 101-4314 101-4318 103-4393 104-4438 104-4444 108-4595
110-4666 113-4785 113-4791 117-4959 119-5024 119-5039 119-5041 163-6683
KF.CON = 000200 #13-484 13-486 47-2111 113-4793 128-5338
KF.DEF = 000200 #13-486
KF.KLO = 000400 #13-483
KF.MRS = 020000 #13-478 127-5307 128-5338
KF.RUN = 040000 #13-477 47-2111 54-2354 103-4393 104-4438 104-4448 110-4683 113-4791 119-5024
119-5035 119-5044 146-6031 148-6093 163-6685
KF.SIM = 010000 #13-479 113-4779 119-5021
KF.SMC = 004000 #13-480
KF.SPM = 002000 #13-481 113-4777 119-5021
KLABIN 007336 RG 247-9622 #250-9727
KLAERM 002240 R #181-7319 181-7319
KLAOCT 007362 RG 247-9626 #250-9744
KLEPRM 000034 RG #39-1736 163-6672
KLHCFH 005156 R #115-4885
KLIMSG 001661 RG 190-7495 #190-7495 190-7495 193-7564 193-7564
KLIOT = 000700 #28-1166
KLMSG 001124 RG 178-7184 #178-7184 178-7184
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 19
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
KLNBIN 007326 RG 248-9661 #250-9722
KLNOCT 007356 RG 248-9665 #250-9740
KLP = 000574 #7-248 117-4985 117-4985
KLPSTP 005274 RG #117-4987
KLPWRF = 000010 #87-3838
KLRERM 002265 R #181-7320 181-7320
KLSCFH 005266 R 117-4977 #117-4980
KNCERM 002327 R #181-7321 181-7321
KWEERM 002363 R #181-7322 181-7322
LDB = 000135 #29-1168
LG.ALL = 000007 #22-867 174-7022 178-7162 178-7184 179-7216 179-7216 179-7218 179-7220 179-7225
179-7227 180-7235 180-7237 180-7239 180-7241 180-7243 180-7245 180-7247 180-7249
180-7251 180-7253 180-7255 180-7257 190-7495 193-7556 193-7558 193-7564
LG.ARG = 000010 #22-860
LG.MAR = 000020 #22-861
LG.MNT = 000004 #22-859 22-867 54-2351 174-7026 174-7028 174-7030 174-7044 174-7059 174-7063
174-7073 174-7077 182-7365 183-7372 183-7374 185-7402 185-7404 185-7406 185-7408
185-7410 185-7412 185-7414 185-7416 185-7418 185-7420 185-7422 189-7462 189-7464
189-7466 189-7468 189-7470 189-7472 189-7474 190-7481 190-7483 190-7491 190-7505
190-7511 193-7550 193-7578
LG.MOD = 000040 #22-862
LG.NUL = 000000 #22-856
LG.OPR = 000001 #22-857 22-866 174-7012 174-7014 174-7016 174-7024 174-7040 174-7042 174-7046
174-7048 174-7050 174-7053 174-7055 174-7061 174-7065 174-7067 174-7069 174-7075
174-7079 174-7081 175-7092 175-7094 175-7096 175-7098 175-7100 176-7113 176-7115
176-7117 176-7119 176-7121 177-7128 177-7130 177-7132 177-7134 177-7136 178-7178
178-7190 178-7201 178-7203 178-7205 178-7207 178-7209 179-7218 186-7429 186-7431
187-7438 187-7440 187-7442 187-7444 188-7451 188-7453 188-7455 190-7485 190-7493
190-7497 190-7499 190-7503 190-7509 193-7554 193-7560 193-7562 193-7566 193-7570
193-7576 193-7584
LG.PRG = 000002 #22-858 22-866 54-2344 174-7018 174-7020 174-7032 174-7038 174-7057 174-7071
174-7083 174-7085 176-7107 176-7109 176-7111 178-7143 178-7145 178-7147 178-7149
178-7151 178-7153 178-7155 178-7158 178-7160 178-7166 178-7168 178-7170 178-7172
178-7174 178-7176 178-7180 178-7182 178-7186 178-7188 178-7192 178-7193 178-7195
178-7197 178-7199 184-7381 184-7383 184-7385 184-7387 184-7389 184-7391 184-7393
184-7395 190-7487 190-7489 190-7501 190-7507 190-7511 190-7514 192-7541 192-7543
193-7552 193-7568 193-7572 193-7574 193-7578 193-7581
LG.PRM = 000003 #22-866 22-867 179-7220
LG.RNG = 000100 #22-863
LG.RPT = 000400 #22-865 159-6526 174-7012 174-7016 174-7018 174-7020 174-7024 174-7026 174-7028
174-7030 174-7032 174-7038 174-7050 174-7057 174-7065 174-7071 174-7073 174-7083
175-7092 175-7094 175-7096 175-7098 175-7100 176-7107 176-7109 176-7111 176-7113
176-7115 176-7117 176-7119 176-7121 177-7128 177-7130 177-7132 177-7134 177-7136
178-7143 178-7145 178-7147 178-7149 178-7151 178-7153 178-7155 178-7158 178-7160
178-7162 178-7166 178-7168 178-7170 178-7172 178-7174 178-7176 178-7178 178-7180
178-7182 178-7184 178-7186 178-7188 178-7190 178-7192 178-7193 178-7195 178-7197
178-7199 178-7201 178-7203 178-7205 178-7207 178-7209 184-7381 184-7383 184-7385
184-7387 184-7389 184-7391 184-7393 184-7395 185-7402 185-7404 185-7406 185-7408
185-7410 185-7412 185-7414 185-7416 185-7418 185-7420 185-7422 190-7483 190-7491
190-7499 190-7505 192-7541 192-7543 193-7552 193-7556 193-7572
LG.STR = 000200 #22-864
LOAD11 = 000004 #87-3838
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 20
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
LOGLUN = 000004 #21-822 72-3203 72-3206 72-3209 74-3302 74-3313 85-3783 160-6592
LOGMSG 001557 RG 188-7451 #188-7451 188-7451
LOKFLF 001656 R 71-3137 71-3142 #71-3148
LOKFNA 000040 R 71-3136 #71-3154 71-3157 71-3158 71-3159
LOKFNB = 000066 R *71-3135 #71-3159
LOKIOF = 000042 R *71-3128 *71-3131 #71-3157
LOKLUN = 000044 R *71-3134 #71-3158
LOOKUP = 000076 #29-1170
LPTMSG 001563 RG 188-7453 #188-7453 188-7453
LSH = 000242 #29-1172
LSHC = 000246 #29-1173
LSTLUN = 000003 #21-821 260-10111
MAP = 000257 #29-1175
MARMSG 001265 RG 180-7239 #180-7239 180-7239
MAYMSG 001301 RG 180-7243 #180-7243 180-7243
MBZTAB 004212 R 93-4029 #94-4082
MCRMSG 000535 RG 174-7046 #174-7046 174-7046
MEMMSG 001670 RG 190-7497 #190-7497 190-7497 193-7566 193-7566
MGNMSG 001521 RG 185-7414 #185-7414 185-7414
MMSG 000514 RG 174-7042 #174-7042 174-7042
MNTMSG 001170 RG 179-7216 #179-7216 179-7216 187-7438 187-7438
MOVE = 000200 #29-1177
MOVEI = 000201 #29-1178
MOVEM = 000202 #29-1179
MOVES = 000203 #29-1180
MOVM = 000214 #29-1182
MOVMI = 000215 #29-1183
MOVMM = 000216 #29-1184
MOVMS = 000217 #29-1185
MOVN = 000210 #29-1187
MOVNI = 000211 #29-1188
MOVNM = 000212 #29-1189
MOVNS = 000213 #29-1190
MOVS = 000204 #29-1192
MOVSI = 000205 #29-1193
MOVSM = 000206 #29-1194
MOVSS = 000207 #29-1195
MPE11 = 001000 #87-3838
MQMSG 001043 RG 178-7160 #178-7160 178-7160
MRAERM 002415 R #181-7324 181-7324
MRHERM 002455 R #181-7325 181-7325
MRKMSG 000516 RG 174-7044 #174-7044 174-7044
MUL = 000224 #29-1197
MULB = 000227 #29-1198
MULI = 000225 #29-1199
MULM = 000226 #29-1200
M.KTAE = 000010 #91-3972
M.KTEF = 000002 #91-3972
M.KTMG = 000004 #91-3972
M.KTUN = 000006 #91-3972
M.PARQ = ****** GX 160-6596
NDIERM 002521 R #181-7327 181-7327
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 21
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
NEBMSG 000122 R 62-2660 #63-2682
NERERM 002551 R #181-7328 181-7328
NORERM 002613 R #181-7329 181-7329
NOTMSG 001677 RG 190-7499 #190-7499 190-7499
NOVMSG 001350 RG 180-7255 #180-7255 180-7255
NPIERM 002653 R #181-7330 181-7330
NRMMSG 001441 RG 185-7402 #185-7402 185-7402
NSFERM 002707 R #181-7331 181-7331
NSKERM 004220 R #191-7534 191-7534
NSTERM 002732 R #181-7332 181-7332
NTIERM 002755 R #181-7333 181-7333
NULMSG 000364 RG 174-7012 #174-7012 174-7012
NULSTP = 000040 #87-3838
NUPE = 000002 #87-3838
NXTMSG 000750 RG 175-7096 #175-7096 175-7096 176-7117 176-7117 177-7132 177-7132 178-7205 178-7205
OAIERM 003005 R #181-7335 181-7335
OCTMSG 001340 RG 180-7253 #180-7253 180-7253
OFCERM 003035 R #181-7336 181-7336
OFFMSG 000044 RG #39-1740
OFSMSG 001703 RG 190-7501 #190-7501 190-7501 193-7568 193-7568
ONMSG 000041 RG #39-1738
OPEACC 000160 R 73-3242 #73-3252 73-3255 73-3256 73-3257
OPEATT = 000210 R *73-3240 *73-3241 #73-3264
OPEFID = 000174 R *73-3239 #73-3257
OPEFOF 001776 R 73-3243 #73-3246
OPEFUN = 000162 R *73-3237 #73-3255
OPELUN = 000164 R *73-3238 #73-3256
OPEN = 000050 #29-1202
OPERAT 000206 R 73-3253 #73-3259 73-3264
OPRMSG 001204 RG 179-7218 #179-7218 179-7218 187-7440 187-7440
OR = 000434 #29-1204
ORB = 000437 #29-1205
ORCA = 000454 #29-1207
ORCAB = 000457 #29-1208
ORCAI = 000455 #29-1209
ORCAM = 000456 #29-1210
ORCB = 000470 #30-1212
ORCBB = 000473 #30-1213
ORCBI = 000471 #30-1214
ORCBM = 000472 #30-1215
ORCM = 000464 #30-1217
ORCMB = 000467 #30-1218
ORCMI = 000465 #30-1219
ORCMM = 000466 #30-1220
ORI = 000435 #30-1222
ORM = 000436 #30-1223
OUT = 000057 #30-1225
OUTBUF = 000065 #30-1226
OUTMSG 001712 RG 190-7503 #190-7503 190-7503 193-7570 193-7570
OUTPUT = 000067 #30-1227
PAG = 000010 #7-246
PAGMSG 001435 RG 184-7393 #184-7393 184-7393
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 22
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
PARERC 000662 R 58-2537 58-2537 59-2549 59-2549 59-2560 59-2560 60-2585 60-2585 #61-2604
61-2620 61-2620 62-2641 62-2641
PARERX 000506 R #58-2538 59-2571 60-2593 62-2664
PARMSG 000011 RG #39-1730 61-2605
PARNAM 000021 RG 35-1485 #39-1732 156-6439 158-6512 163-6668
PARUEC 000734 R 58-2530 #61-2617
PAR$$E = 000050 #1-50 39-1729
PAR$$K = 000126 #1-54 39-1729
PAR$$V = 000015 #1-49 39-1729
PCMSG 001046 RG 178-7162 #178-7162 178-7162
PC.AFI = 000020 #13-510
PC.AT0 = 000004 #13-512
PC.AT1 = 000010 #13-511
PC.BIS = 000400 #13-506
PC.CY0 = 004000 #13-503
PC.CY1 = 002000 #13-504
PC.FOV = 001000 #13-505
PC.FUF = 000002 #13-513
PC.LIP = 000040 #13-509
PC.NDV = 000001 #13-514
PC.OVF = 010000 #13-502
PC.UIO = 000100 #13-508
PC.USR = 000200 #13-507
PERCLR = 001000 #87-3838
PE.ALL = 000037 #9-338
PE.CES = 000001 #9-333 9-338
PE.CRM = 000004 #9-335 9-338
PE.DRM = 000002 #9-334 9-338
PE.FMP = 000010 #9-336 9-338
PE.FSS = 000020 #9-337 9-338
PHYS = 100000 #87-3838
PI = 000004 #7-245
PIDENT = 000000 #87-3838
PIMSG 001127 RG 178-7186 #178-7186 178-7186 184-7395 184-7395
POP = 000262 #30-1229
POPJ = 000263 #30-1230
PRGMSG 001215 RG 179-7220 #179-7220 179-7220 187-7442 187-7442
PRI7 = 000340 #87-3838
PRMFM 002306 R *244-9462 244-9463 #244-9494
PROMPT 000030 RG #39-1734 163-6680
PROPNT = 000021 #87-3838
PRTOFF = 004000 #87-3838
PRVMSG 000755 RG 175-7098 #175-7098 175-7098 176-7119 176-7119 177-7134 177-7134 178-7207 178-7207
PR0 = 000000 #87-3838
PR1 = 000040 #87-3838
PR2 = 000100 #87-3838
PR3 = 000140 #87-3838
PR4 = 000200 #87-3838
PR5 = 000240 #87-3838
PR6 = 000300 #87-3838
PR7 = 000340 #87-3838
PS = 177776 #87-3838 160-6597 *160-6597 *160-6602
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 23
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
PSTMSG 001721 RG 190-7505 #190-7505 190-7505 193-7572 193-7572
PSWW1 = 000005 #87-3838
PSWW10 = 000014 #87-3838
PSWW11 = 000015 #87-3838
PSWW12 = 000016 #87-3838
PSWW13 = 000017 #87-3838
PSWW2 = 000006 #87-3838
PSWW3 = 000007 #87-3838
PSWW4 = 000010 #87-3838
PSWW5 = 000011 #87-3838
PSWW6 = 000012 #87-3838
PSWW7 = 000013 #87-3838
PS.NRM = 001416 #16-640 143-5955
PTLERM 003065 R #181-7338 181-7338
PTOATM 000270 R 68-2875 #68-2894
PTRTEM 000151 R 64-2715 #67-2837
PTRTHM 000221 R 67-2822 #67-2839
PULSE = 000020 #87-3838
PUSH = 000261 #30-1232
PUSHJ = 000260 #30-1233
QRESMS 000552 RG 174-7053 #174-7053 174-7053
QSAVMS 000560 RG 174-7055 #174-7055 174-7055
QSIZE = 000023 #87-3838
QTRMSG 001542 RG 185-7420 #185-7420 185-7420
QUTMSG 000701 RG 174-7079 #174-7079 174-7079
Q.BYCT = 000016 #21-814 224-8711 260-10105 260-10114
Q.IBUF = 000014 #21-812
Q.IOAE = 000012 #70-3092 #71-3155 #72-3203 #72-3206 #72-3209 #73-3253 #74-3313 #75-3366 #224-8708
#260-10102 #260-10111 #260-10120 #260-10125
Q.IOEF = 000006 #70-3092 #71-3155 #72-3203 #72-3206 #72-3209 #73-3253 #74-3313 #75-3366 #224-8708
#260-10102 #260-10111 #260-10120 #260-10125
Q.IOFN = 000002 #70-3092 #71-3155 71-3157 #72-3203 #72-3206 #72-3209 #73-3253 73-3255 #74-3313
#75-3366 75-3368 #224-8708 #260-10102 #260-10111 #260-10120 #260-10125
Q.IOLU = 000004 #70-3092 70-3094 #71-3155 71-3158 #72-3203 #72-3206 #72-3209 #73-3253 73-3256
#74-3313 #75-3366 75-3369 #224-8708 #260-10102 #260-10111 #260-10120 #260-10125
Q.IOPL = 000014 #21-811 21-812 21-813 21-814 21-815 #70-3092 70-3095 #71-3155 71-3159
#72-3203 #72-3206 #72-3209 #73-3253 73-3257 #74-3313 #75-3366 75-3370 #224-8708
224-8710 #260-10102 260-10104 #260-10111 260-10113 #260-10120 #260-10125
Q.IOPR = 000007 #70-3092 #71-3155 #72-3203 #72-3206 #72-3209 #73-3253 #74-3313 #75-3366 #224-8708
#260-10102 #260-10111 #260-10120 #260-10125
Q.IOSB = 000010 #70-3092 #71-3155 #72-3203 #72-3206 #72-3209 #73-3253 #74-3313 #75-3366 #224-8708
#260-10102 #260-10111 #260-10120 #260-10125
Q.OBUF = 000014 #21-813
Q.OVFC = 000020 #21-815 260-10106 260-10115
Q0 000126 RG #35-1528
Q1 000134 RG #35-1529
Q2 000142 RG #35-1530
Q3 000150 RG #35-1531
RAMIS0 = 010000 #87-3838
RDCPT1 004270 R 129-5371 #131-5436
RDCPT2 004250 R 130-5390 #130-5417
RDCPT3 004260 R 129-5372 130-5387 #130-5425
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 24
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
RDCRME 006504 R 134-5568 #134-5595
REAFRD 002570 R 80-3575 80-3577 #80-3584
REGMSG 001132 RG 178-7188 #178-7188 178-7188
REGTAB 007240 R 216-8351 #217-8374
RELEAS = 000071 #30-1235
REMMSG 001230 RG 179-7225 #179-7225 179-7225
RENAME = 000055 #30-1236
REPIRC 011122 R 172-6943 #172-6949
RESETT 004334 R 141-5831 #141-5857
RESMSG 000566 RG 174-7057 #174-7057 174-7057
RFMAD0 = 100000 #87-3838
RFMAD1 = 040000 #87-3838
RFMAD2 = 020000 #87-3838
RFMAD3 = 010000 #87-3838
RGDTEN = 000310 RG #95-4112
RLDMSG 001735 RG 190-7507 #190-7507 190-7507 193-7574 193-7574
RM = 000010 #87-3838
RMSG 000541 RG 174-7048 #174-7048 174-7048
ROT = 000241 #30-1238
ROTC = 000245 #30-1239
RPMERM 003115 R #181-7340 181-7340
RPTMSG 000543 RG 174-7050 #174-7050 174-7050 190-7509 190-7509 193-7576 193-7576
RSTEND = 004342 R 141-5843 #141-5864
RSTMSG 000574 RG 174-7059 #174-7059 174-7059
RTYMSG 001744 RG 190-7511 #190-7511 190-7511 193-7578 193-7578
RUNMSG 000604 RG 174-7061 #174-7061 174-7061
SAVMSG 000610 RG 174-7063 #174-7063 174-7063
SBRMSG 001161 RG 178-7197 #178-7197 178-7197
SCD = 000040 #87-3838
SCFERM 003155 R #181-7342 181-7342
SCRMSG 001165 RG 178-7199 #178-7199 178-7199
SEPMSG 001326 RG 180-7251 #180-7251 180-7251
SETA = 000424 #30-1241
SETAB = 000427 #30-1242
SETAI = 000425 #30-1243
SETAM = 000426 #30-1244
SETCA = 000450 #30-1246
SETCAB = 000453 #30-1247
SETCAI = 000451 #30-1248
SETCAM = 000452 #30-1249
SETCM = 000460 #30-1251
SETCMB = 000463 #30-1252
SETCMI = 000461 #30-1253
SETCMM = 000462 #30-1254
SETM = 000414 #31-1256
SETMB = 000417 #31-1257
SETMI = 000415 #31-1258
SETMM = 000416 #31-1259
SETMSG 000615 RG 174-7065 #174-7065 174-7065
SETO = 000474 #31-1261
SETOB = 000477 #31-1262
SETOI = 000475 #31-1263
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 25
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
SETOM = 000476 #31-1264
SETSTS = 000060 #31-1266
SETZ = 000400 #31-1268
SETZB = 000403 #31-1269
SETZI = 000401 #31-1270
SETZM = 000402 #31-1271
SHOMSG 000621 RG 174-7067 #174-7067 174-7067
SHUMSG 000626 RG 174-7069 #174-7069 174-7069
SKIERM 003204 R #181-7343 181-7343
SKIP = 000330 #31-1273
SKIPA = 000334 #31-1274
SKIPE = 000332 #31-1275
SKIPG = 000337 #31-1276
SKIPGE = 000335 #31-1277
SKIPL = 000331 #31-1278
SKIPLE = 000333 #31-1279
SKIPN = 000336 #31-1280
SLOMSG 001552 RG 185-7422 #185-7422 185-7422
SOJ = 000360 #31-1282
SOJA = 000364 #31-1283
SOJE = 000362 #31-1284
SOJG = 000367 #31-1285
SOJGE = 000365 #31-1286
SOJL = 000361 #31-1287
SOJLE = 000363 #31-1288
SOJN = 000366 #31-1289
SOS = 000370 #31-1291
SOSA = 000374 #31-1292
SOSE = 000372 #31-1293
SOSG = 000377 #31-1294
SOSGE = 000375 #31-1295
SOSL = 000371 #31-1296
SOSLE = 000373 #31-1297
SOSN = 000376 #31-1298
SPCEST 001646 R 62-2645 #62-2669
SPCMSG 001403 RG 183-7372 #183-7372 183-7372
SPFERM 003261 R #181-7344 181-7344
SSTLEN = 000010 G #36-1666
SSTTBE = 000334 RG #36-1667 64-2712
STAMSG 002124 R 217-8377 #217-8388
STAT = 174434 #87-3838
STATO = 000061 #31-1300
STATUS = 000022 #31-1301 #87-3838
STATZ = 000063 #31-1302
STPCI 004242 R #117-4984 117-4989
STRMSG 000637 RG 174-7071 #174-7071 174-7071
STSW1 = ****** GX *160-6599
STUCAE 007454 R 152-6209 #152-6230
STUUNL 007462 R 152-6227 #152-6233
ST.CED = 000100 #12-455 12-470
ST.CLE = 000001 #12-468 12-470
ST.CTD = 040000 #12-440
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 26
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ST.CTE = 010000 #12-444 12-470
ST.DW1 = 002000 #12-447
ST.DXD = 000004 #12-463
ST.EBS = 000100 #12-454
ST.EDB = 004000 #12-445
ST.EPE = 000020 #12-458 12-470 56-2422
ST.IDS = 000010 #12-462
ST.IEN = 000040 #12-457
ST.ION = 000001 #12-467
ST.MBZ = 000000 #12-472 94-4085
ST.MOD = 000010 #12-460
ST.MPE = 001000 #12-448 12-470
ST.NST = 000040 #12-456
ST.RIZ = 010000 #12-443
ST.RST = 011121 #12-470
ST.SEP = 000004 #12-464
ST.STE = 000002 #12-466
ST.TED = 000200 #12-452
ST.TER = 000002 #12-465
ST.TXD = 100000 #12-438
ST.TXE = 020000 #12-441
ST.XDB = 000400 #12-450
SUB = 000274 #32-1304
SUBB = 000277 #32-1305
SUBI = 000275 #32-1306
SUBM = 000276 #32-1307
SWPMSG 000645 RG 174-7073 #174-7073 174-7073
SWR = 177570 #87-3838
SWSLLT = 100000 #87-3838
SXCT = 000106 #32-1309
SZIERM 003311 R #181-7345 181-7345
TAAERM 003345 R #181-7347 181-7347
TAKMSG 000653 RG 174-7075 #174-7075 174-7075
TC.CON = 000377 #22-874
TC.CTC = 000002 #22-871 50-2222 66-2795
TC.ERR = 000000 #22-873 47-2118 49-2189 49-2192 51-2260 54-2366 56-2428 70-3079 70-3081
71-3149 72-3197 73-3247 74-3307 75-3360 80-3589 85-3798 88-3877 94-4075
97-4177 101-4315 101-4319 101-4322 101-4325 104-4455 106-4510 108-4607 111-4708
115-4886 117-4981 134-5596 152-6231 152-6234 155-6401 159-6551 167-6804 167-6807
167-6810 172-6950 199-7760 224-8698 224-8701 227-8818 229-8903 230-8980 236-9213
237-9253 239-9315 239-9318
TC.RST = 000001 #22-872
TDC = 000650 #32-1311
TDCA = 000654 #32-1312
TDCE = 000652 #32-1313
TDCN = 000656 #32-1314
TDMSG0 000345 R 166-6782 #167-6815
TDN = 000610 #32-1316
TDNA = 000614 #32-1317
TDNE = 000612 #32-1318
TDNN = 000616 #32-1319
TDO = 000670 #32-1321
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 27
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TDOA = 000674 #32-1322
TDOE = 000672 #32-1323
TDON = 000676 #32-1324
TDZ = 000630 #32-1326
TDZA = 000634 #32-1327
TDZE = 000632 #32-1328
TDZN = 000636 #32-1329
TENAD1 = 174410 #87-3838
TENAD2 = 174412 #87-3838
TENMSG 001005 RG 176-7111 #176-7111 176-7111 178-7190 178-7190 186-7431 186-7431 192-7541 192-7541
TFRMSG 002014 R 213-8257 #214-8302
TFWMSG 002031 R 213-8264 #214-8304
TFXMSG 002046 R 213-8271 #214-8306
THSMSG 000766 RG 175-7100 #175-7100 175-7100 176-7121 176-7121 177-7136 177-7136 178-7209 178-7209
TLC = 000641 #32-1331
TLCA = 000645 #32-1332
TLCE = 000643 #32-1333
TLCN = 000647 #32-1334
TLN = 000601 #32-1336
TLNA = 000605 #32-1337
TLNE = 000603 #32-1338
TLNN = 000607 #32-1339
TLO = 000661 #32-1341
TLOA = 000665 #32-1342
TLOE = 000663 #32-1343
TLON = 000667 #32-1344
TLZ = 000621 #32-1346
TLZA = 000625 #32-1347
TLZE = 000623 #32-1348
TLZN = 000627 #32-1349
TOBM = 000004 #87-3838
TOIP = 000002 #87-3838
TOIT = 000001 #87-3838
TORERM 003402 R #181-7348 181-7348
TO10 = 000200 #87-3838
TO10AD = 174420 #87-3838
TO10BC = 174414 #87-3838
TO10BM = 000001 #87-3838
TO10DB = 000400 #87-3838
TO10DN = 100000 #87-3838
TO10DT = 174424 #87-3838
TO10ER = 020000 #87-3838
TO11 = 000100 #87-3838
TO11AD = 174422 #87-3838
TO11BC = 174416 #87-3838
TO11BM = 020000 #87-3838
TO11DB = 004000 #87-3838
TO11DN = 000200 #87-3838
TO11DT = 174426 #87-3838
TO11ER = 000002 #87-3838
TPDDCK 011364 R 198-7711 #199-7759
TPDDVD 007232 R #197-7698 198-7726
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 28
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TPDDVS 007224 R #197-7696 198-7725
TPDRMN 007216 R #197-7694 198-7714 198-7724 199-7752
TRADDR 007250 R 219-8445 219-8456 #220-8477
TRC = 000640 #32-1351
TRCA = 000644 #32-1352
TRCE = 000642 #32-1353
TRCN = 000646 #32-1354
TRDATA 007256 R 219-8450 219-8460 #220-8479
TRKMSG 001752 RG 190-7514 #190-7514 190-7514 193-7581 193-7581
TRN = 000600 #33-1356
TRNA = 000604 #33-1357
TRNE = 000602 #33-1358
TRNN = 000606 #33-1359
TRO = 000660 #33-1361
TROA = 000664 #33-1362
TROE = 000662 #33-1363
TRON = 000666 #33-1364
TRZ = 000620 #33-1366
TRZA = 000624 #33-1367
TRZE = 000622 #33-1368
TRZN = 000626 #33-1369
TR.ALL = 000077 #13-497
TR.DEP = 000020 #13-495 13-497 99-4256
TR.DTE = 000040 #13-496 13-497 94-4064
TR.EXM = 000010 #13-494 13-497 99-4240
TR.FRD = 000002 #13-492 13-497 106-4503
TR.FWR = 000004 #13-493 13-497 108-4598
TR.FXC = 000001 #13-491 13-497 111-4700
TSC = 000651 #33-1371
TSCA = 000655 #33-1372
TSCAMB 010746 R 165-6756 #167-6802
TSCE = 000653 #33-1373
TSCN = 000657 #33-1374
TSCNSK 010760 R 165-6765 #167-6806
TSCWRM 010766 R 165-6768 #167-6809
TSN = 000611 #33-1376
TSNA = 000615 #33-1377
TSNE = 000613 #33-1378
TSNN = 000617 #33-1379
TSO = 000671 #33-1381
TSOA = 000675 #33-1382
TSOE = 000673 #33-1383
TSON = 000677 #33-1384
TSZ = 000631 #33-1386
TSZA = 000635 #33-1387
TSZE = 000633 #33-1388
TSZN = 000637 #33-1389
TTCALL = 000051 #33-1391
TTYMSG 001567 RG 188-7455 #188-7455 188-7455
TT.OUT = ****** GX 160-6599
TYODIE 015766 R 257-9992 257-9994 257-9996 257-9998 257-10005 257-10007 #258-10027
UBRMSG 001144 RG 178-7192 #178-7192 178-7192
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 29
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
UCDMSG 001761 RG 192-7543 #192-7543 192-7543
UECMSG 000060 R 61-2631 #61-2635
UECMSP 001644 R 61-2619 #61-2630
UGETF = 000073 #33-1393
UJEN = 000100 #33-1395
UNASG1 = 000032 #87-3838
UNASG2 = 000033 #87-3838
UNASG3 = 000034 #87-3838
UNASG4 = 000035 #87-3838
UNASG5 = 000036 #87-3838
UNASG6 = 000037 #87-3838
UNLERM 003432 R #181-7350 181-7350
UNMMSG 000660 RG 174-7077 #174-7077 174-7077
USETI = 000074 #33-1397
USETO = 000075 #33-1398
USRMSG 001237 RG 179-7227 #179-7227 179-7227 187-7444 187-7444
VERMSG 002004 RG 193-7584 #193-7584 193-7584
VFYERM 003470 R #181-7352 181-7352
VF.DSP = 000060 #21-829
VF.FFD = 000061 #21-830
VF.INT = 000000 #21-827 260-10102 260-10111
VF.OVR = 000053 #21-831
VF.PRM = 000044 #21-832
VF.SSP = 000040 #21-828
VMAMSG 001150 RG 178-7193 #178-7193 178-7193
VMHMSG 001154 RG 178-7195 #178-7195 178-7195
WEP = 000010 #87-3838
WHAMSG 000706 RG 174-7081 #174-7081 174-7081
WRCRME 007710 R 155-6371 #155-6400
WRIFWT 003326 R 85-3784 85-3793 #85-3797
WRMERM 003524 R #181-7354 181-7354
XCT = 000256 #33-1400
XCTMSG 000713 RG 174-7083 #174-7083 174-7083
XOR = 000430 #33-1402
XORB = 000433 #33-1403
XORI = 000431 #33-1404
XORM = 000432 #33-1405
XR = 000000 #117-4985 117-4985
XTOERM 003635 R #181-7358 181-7358
YORERM 003605 R #181-7356 181-7356
ZERMSG 000717 RG 174-7085 #174-7085 174-7085
ZSTOP = 040000 #87-3838
$DIV = ****** GX 259-10059 259-10059
$DSW = ****** GX 50-2218 100-4284
$$ = 000037 #47-2102 47-2102 #47-2108 47-2108 #48-2145 48-2145 #51-2253 51-2253 #53-2313
53-2313 #56-2421 56-2421 #58-2537 58-2537 #59-2549 59-2549 #59-2554 59-2554
#59-2560 59-2560 #59-2564 59-2564 #59-2567 59-2567 #59-2570 59-2570 #60-2585
60-2585 #60-2590 60-2590 #60-2592 60-2592 #61-2606 61-2606 #61-2608 61-2608
#61-2610 61-2610 #61-2612 61-2612 #61-2613 61-2613 #61-2620 61-2620 #61-2622
61-2622 #62-2641 62-2641 #62-2642 62-2642 #62-2650 62-2650 #62-2651 62-2651
#62-2652 62-2652 #62-2661 62-2661 #64-2714 64-2714 #64-2716 64-2716 #64-2718
64-2718 #64-2719 64-2719 #66-2785 66-2785 #66-2791 66-2791 #66-2805 66-2805
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 30
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
#66-2807 66-2807 #67-2823 67-2823 #67-2824 67-2824 #67-2830 67-2830 #68-2871
68-2871 #68-2874 68-2874 #68-2876 68-2876 #68-2878 68-2878 #68-2879 68-2879
#68-2884 68-2884 #71-3132 71-3132 #71-3133 71-3133 #74-3306 74-3306 #77-3446
77-3446 #77-3452 77-3452 #77-3461 77-3461 #77-3463 77-3463 #78-3506 78-3506
#79-3539 79-3539 #80-3588 80-3588 #81-3636 81-3636 #81-3640 81-3640 #82-3680
82-3680 #83-3711 83-3711 #84-3749 84-3749 #84-3753 84-3753 #84-3755 84-3755
#85-3794 85-3794 #88-3868 88-3868 #88-3872 88-3872 #89-3905 89-3905 #89-3915
89-3915 #90-3948 90-3948 #97-4156 97-4156 #97-4161 97-4161 #97-4163 97-4163
#99-4233 99-4233 #99-4242 99-4242 #99-4249 99-4249 #99-4258 99-4258 #100-4288
100-4288 #100-4291 100-4291 #103-4397 103-4397 #103-4399 103-4399 #104-4416 104-4416
#104-4418 104-4418 #104-4419 104-4419 #104-4424 104-4424 #104-4427 104-4427 #104-4440
104-4440 #104-4446 104-4446 #104-4450 104-4450 #106-4505 106-4505 #108-4600 108-4600
#111-4702 111-4702 #113-4781 113-4781 #113-4784 113-4784 #113-4787 113-4787 #114-4836
114-4836 #114-4841 114-4841 #115-4849 115-4849 #115-4860 115-4860 #115-4873 115-4873
#115-4877 115-4877 #115-4878 115-4878 #116-4926 116-4926 #116-4929 116-4929 #117-4966
117-4966 #117-4968 117-4968 #117-4990 117-4990 #119-5026 119-5026 #119-5028 119-5028
#119-5037 119-5037 #119-5043 119-5043 #120-5084 120-5084 #120-5086 120-5086 #122-5116
122-5116 #122-5119 122-5119 #122-5125 122-5125 #122-5128 122-5128 #122-5133 122-5133
#124-5190 124-5190 #124-5196 124-5196 #124-5202 124-5202 #124-5206 124-5206 #124-5211
124-5211 #126-5249 126-5249 #126-5251 126-5251 #126-5257 126-5257 #126-5260 126-5260
#126-5264 126-5264 #126-5267 126-5267 #127-5306 127-5306 #127-5308 127-5308 #128-5317
128-5317 #128-5318 128-5318 #128-5320 128-5320 #128-5325 128-5325 #128-5332 128-5332
#128-5335 128-5335 #128-5337 128-5337 #129-5368 129-5368 #129-5376 129-5376 #132-5498
132-5498 #132-5500 132-5500 #134-5569 134-5569 #134-5571 134-5571 #134-5579 134-5579
#134-5584 134-5584 #134-5586 134-5586 #134-5589 134-5589 #134-5591 134-5591 #135-5626
135-5626 #135-5628 135-5628 #136-5665 136-5665 #136-5667 136-5667 #136-5672 136-5672
#137-5705 137-5705 #137-5709 137-5709 #138-5738 138-5738 #138-5741 138-5741 #139-5773
139-5773 #139-5782 139-5782 #141-5830 141-5830 #141-5832 141-5832 #141-5835 141-5835
#141-5836 141-5836 #141-5837 141-5837 #141-5838 141-5838 #141-5842 141-5842 #141-5847
141-5847 #142-5899 142-5899 #143-5949 143-5949 #143-5954 143-5954 #145-5992 145-5992
#145-5993 145-5993 #145-5996 145-5996 #145-5998 145-5998 #145-6002 145-6002 #146-6033
146-6033 #147-6062 147-6062 #147-6066 147-6066 #148-6096 148-6096 #150-6160 150-6160
#152-6211 152-6211 #152-6212 152-6212 #152-6214 152-6214 #152-6215 152-6215 #152-6218
152-6218 #153-6264 153-6264 #154-6302 154-6302 #154-6304 154-6304 #154-6307 154-6307
#155-6376 155-6376 #155-6384 155-6384 #155-6389 155-6389 #155-6392 155-6392 #155-6393
155-6393 #155-6395 155-6395 #155-6397 155-6397 #158-6513 158-6513 #159-6522 159-6522
#159-6524 159-6524 #159-6532 159-6532 #159-6533 159-6533 #159-6547 159-6547 #160-6586
160-6586 #160-6590 160-6590 #160-6593 160-6593 #160-6601 160-6601 #162-6657 162-6657
#163-6669 163-6669 #163-6677 163-6677 #163-6681 163-6681 #163-6693 163-6693 #163-6695
163-6695 #163-6698 163-6698 #165-6736 165-6736 #165-6737 165-6737 #165-6747 165-6747
#166-6777 166-6777 #166-6779 166-6779 #166-6781 166-6781 #166-6783 166-6783 #166-6791
166-6791 #166-6792 166-6792 #172-6940 172-6940 #172-6942 172-6942 #172-6944 172-6944
#172-6946 172-6946 #198-7707 198-7707 #198-7709 198-7709 #198-7710 198-7710 #199-7739
199-7739 #199-7741 199-7741 #199-7744 199-7744 #200-7804 200-7804 #207-8029 207-8029
#207-8032 207-8032 #207-8035 207-8035 #207-8053 207-8053 #207-8060 207-8060 #210-8161
210-8161 #210-8162 210-8162 #211-8174 211-8174 #211-8176 211-8176 #211-8177 211-8177
#211-8185 211-8185 #211-8187 211-8187 #211-8188 211-8188 #214-8281 214-8281 #214-8286
214-8286 #214-8289 214-8289 #214-8290 214-8290 #214-8291 214-8291 #214-8293 214-8293
#216-8349 216-8349 #216-8352 216-8352 #216-8353 216-8353 #216-8362 216-8362 #216-8368
216-8368 #218-8429 218-8429 #218-8434 218-8434 #219-8455 219-8455 #219-8457 219-8457
#219-8458 219-8458 #219-8459 219-8459 #219-8461 219-8461 #219-8462 219-8462 #219-8469
219-8469 #222-8573 222-8573 #222-8579 222-8579 #223-8624 223-8624 #223-8633 223-8633
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 31
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
#223-8638 223-8638 #223-8647 223-8647 #223-8648 223-8648 #226-8782 226-8782 #226-8783
226-8783 #227-8811 227-8811 #228-8849 228-8849 #228-8852 228-8852 #228-8853 228-8853
#228-8855 228-8855 #228-8857 228-8857 #228-8860 228-8860 #228-8862 228-8862 #229-8875
229-8875 #229-8882 229-8882 #229-8883 229-8883 #229-8884 229-8884 #230-8945 230-8945
#230-8958 230-8958 #230-8960 230-8960 #231-9034 231-9034 #232-9061 232-9061 #232-9064
232-9064 #233-9094 233-9094 #234-9129 234-9129 #234-9132 234-9132 #235-9172 235-9172
#236-9200 236-9200 #237-9231 237-9231 #237-9236 237-9236 #237-9237 237-9237 #237-9242
237-9242 #237-9245 237-9245 #237-9250 237-9250 #238-9293 238-9293 #238-9296 238-9296
#243-9419 243-9419 #244-9464 244-9464 #244-9472 244-9472 #244-9473 244-9473 #244-9477
244-9477 #244-9478 244-9478 #244-9479 244-9479 #244-9481 244-9481 #244-9482 244-9482
#249-9708 249-9708 #249-9713 249-9713 #251-9788 251-9788 #252-9810 252-9810 #252-9813
252-9813 #252-9815 252-9815 #253-9858 253-9858 #253-9862 253-9862 #253-9871 253-9871
#254-9900 254-9900 #256-9953 256-9953 #256-9955 256-9955 #257-10013 257-10013 #259-10059
259-10059 #259-10066 259-10066
$$A = 000000 #117-4985 117-4985
$$B = 000000 #117-4985 117-4985
$$C = 000002 #117-4985 117-4985
$$D = 000176 #117-4985 117-4985
$$E = 000017 #117-4985 117-4985
$$F = 000000 #117-4985 117-4985
$$PASS = 000000 174-7012 174-7014 174-7016 174-7018 174-7020 174-7022 174-7024 174-7026 174-7028
174-7030 174-7032 174-7038 174-7040 174-7042 174-7044 174-7046 174-7048 174-7050
174-7053 174-7055 174-7057 174-7059 174-7061 174-7063 174-7065 174-7067 174-7069
174-7071 174-7073 174-7075 174-7077 174-7079 174-7081 174-7083 174-7085 175-7092
175-7094 175-7096 175-7098 175-7100 176-7107 176-7109 176-7111 176-7113 176-7115
176-7117 176-7119 176-7121 177-7128 177-7130 177-7132 177-7134 177-7136 178-7143
178-7145 178-7147 178-7149 178-7151 178-7153 178-7155 178-7158 178-7160 178-7162
178-7166 178-7168 178-7170 178-7172 178-7174 178-7176 178-7178 178-7180 178-7182
178-7184 178-7186 178-7188 178-7190 178-7192 178-7193 178-7195 178-7197 178-7199
178-7201 178-7203 178-7205 178-7207 178-7209 179-7216 179-7218 179-7220 179-7225
179-7227 180-7235 180-7237 180-7239 180-7241 180-7243 180-7245 180-7247 180-7249
180-7251 180-7253 180-7255 180-7257 182-7365 183-7372 183-7374 184-7381 184-7383
184-7385 184-7387 184-7389 184-7391 184-7393 184-7395 185-7402 185-7404 185-7406
185-7408 185-7410 185-7412 185-7414 185-7416 185-7418 185-7420 185-7422 186-7429
186-7431 187-7438 187-7440 187-7442 187-7444 188-7451 188-7453 188-7455 189-7462
189-7464 189-7466 189-7468 189-7470 189-7472 189-7474 190-7481 190-7483 190-7485
190-7487 190-7489 190-7491 190-7493 190-7495 190-7497 190-7499 190-7501 190-7503
190-7505 190-7507 190-7509 190-7511 190-7514 192-7541 192-7543 193-7550 193-7552
193-7554 193-7556 193-7558 193-7560 193-7562 193-7564 193-7566 193-7568 193-7570
193-7572 193-7574 193-7576 193-7578 193-7581 193-7584 #193-7589
$$$AB = 000001 178-7166 #178-7166 178-7166
$$$ABO = 000001 174-7014 #174-7014 174-7014
$$$ACB = 000004 182-7365 #182-7365 182-7365 183-7374 #183-7374 183-7374 190-7481 #190-7481 190-7481
193-7550 #193-7550 193-7550
$$$AD = 000001 178-7143 #178-7143 178-7143
$$$ADX = 000001 178-7145 #178-7145 178-7145
$$$ALL = 000002 184-7381 #184-7381 184-7381 189-7462 #189-7462 189-7462
$$$APR = 000001 180-7241 #180-7241 180-7241
$$$AR = 000003 176-7107 #176-7107 176-7107 178-7147 #178-7147 178-7147 189-7464 #189-7464 189-7464
$$$ARG = 000006 #70-3087 70-3087 #70-3087 70-3087 #70-3087 70-3087 #70-3092 70-3092 #70-3092
70-3092 #70-3092 70-3092 #70-3092 70-3092 #70-3092 70-3092 #70-3092 70-3092
#70-3092 70-3092 #71-3155 71-3155 #71-3155 71-3155 #71-3155 71-3155 #71-3155
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 32
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
71-3155 #71-3155 71-3155 #71-3155 71-3155 #71-3155 71-3155 #72-3203 72-3203
#72-3203 72-3203 #72-3203 72-3203 #72-3203 72-3203 #72-3203 72-3203 #72-3206
72-3206 #72-3206 72-3206 #72-3206 72-3206 #72-3206 72-3206 #72-3206 72-3206
#72-3206 72-3206 #72-3206 72-3206 #72-3209 72-3209 #73-3253 73-3253 #73-3253
73-3253 #73-3253 73-3253 #73-3253 73-3253 #73-3253 73-3253 #73-3253 73-3253
#74-3313 74-3313 #74-3313 74-3313 #74-3313 74-3313 #74-3313 74-3313 #74-3313
74-3313 #75-3366 75-3366 #75-3366 75-3366 #75-3366 75-3366 #80-3574 80-3574
80-3574 80-3574 80-3574 80-3574 80-3574 80-3574 80-3574 80-3574 80-3574
80-3574 #85-3783 85-3783 85-3783 85-3783 85-3783 85-3783 85-3783 85-3783
85-3783 85-3783 85-3783 85-3783 #160-6594 160-6594 160-6594 160-6594 160-6594
160-6594 160-6594 160-6594 160-6594 160-6594 160-6594 160-6594 #224-8708 224-8708
#224-8708 224-8708 #224-8708 224-8708 #260-10102 260-10102 #260-10102 260-10102 #260-10102
260-10102 #260-10102 260-10102 #260-10111 260-10111 #260-10111 260-10111 #260-10111 260-10111
#260-10111 260-10111 #260-10120 260-10120 #260-10125 260-10125
$$$ARX = 000001 178-7149 #178-7149 178-7149
$$$AUG = 000001 180-7249 #180-7249 180-7249
$$$BR = 000001 178-7151 #178-7151 178-7151
$$$BRX = 000001 178-7153 #178-7153 178-7153
$$$CLK = 000002 190-7483 #190-7483 190-7483 193-7552 #193-7552 193-7552
$$$CLR = 000001 174-7016 #174-7016 174-7016
$$$CNT = 000001 174-7018 #174-7018 174-7018
$$$CON = 000002 190-7485 #190-7485 190-7485 193-7554 #193-7554 193-7554
$$$CPU = 000001 184-7383 #184-7383 184-7383
$$$CRA = 000001 178-7168 #178-7168 178-7168
$$$CRL = 000001 178-7170 #178-7170 178-7170
$$$CRM = 000002 185-7404 #185-7404 185-7404 189-7466 #189-7466 189-7466
$$$CTL = 000001 185-7408 #185-7408 185-7408
$$$DAT = 000002 190-7487 #190-7487 190-7487 193-7556 #193-7556 193-7556
$$$DCR = 000004 175-7092 #175-7092 175-7092 176-7113 #176-7113 176-7113 177-7128 #177-7128 177-7128
178-7201 #178-7201 178-7201
$$$DEC = 000001 180-7257 #180-7257 180-7257
$$$DEP = 000001 174-7020 #174-7020 174-7020
$$$DIS = 000001 174-7022 #174-7022 174-7022
$$$DPT = 000001 185-7406 #185-7406 185-7406
$$$DRA = 000001 178-7172 #178-7172 178-7172
$$$DRM = 000001 189-7468 #189-7468 189-7468
$$$DTE = 000002 178-7174 #178-7174 178-7174 184-7385 #184-7385 184-7385
$$$EBR = 000001 178-7176 #178-7176 178-7176
$$$EBS = 000001 178-7155 #178-7155 178-7155
$$$ELE = 000003 176-7109 #176-7109 176-7109 178-7178 #178-7178 178-7178 186-7429 #186-7429 186-7429
$$$ENB = 000001 189-7470 #189-7470 189-7470
$$$ERR = 000001 184-7387 #184-7387 184-7387
$$$EXA = 000001 174-7024 #174-7024 174-7024
$$$EXT = 000001 185-7410 #185-7410 185-7410
$$$FEB = 000001 180-7237 #180-7237 180-7237
$$$FER = 000001 178-7180 #178-7180 178-7180
$$$FLG = 000001 178-7182 #178-7182 178-7182
$$$FLT = 000002 190-7489 #190-7489 190-7489 193-7558 #193-7558 193-7558
$$$FM = 000002 178-7158 #178-7158 178-7158 189-7472 #189-7472 189-7472
$$$FRD = 000001 174-7026 #174-7026 174-7026
$$$FSS = 000002 189-7474 #189-7474 189-7474 190-7491 #190-7491 190-7491
$$$FUL = 000001 185-7416 #185-7416 185-7416
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 33
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
$$$FWR = 000001 174-7028 #174-7028 174-7028
$$$FXC = 000001 174-7030 #174-7030 174-7030
$$$GLB = ****** 70-3087 70-3087 70-3087 70-3087 70-3092 70-3092 70-3092 70-3092 70-3092
70-3092 70-3092 70-3092 71-3155 71-3155 71-3155 71-3155 71-3155 71-3155
71-3155 71-3155 72-3203 72-3203 72-3203 72-3203 72-3203 72-3203 72-3203
72-3203 72-3206 72-3206 72-3206 72-3206 72-3206 72-3206 72-3206 72-3206
72-3209 72-3209 72-3209 72-3209 72-3209 72-3209 72-3209 72-3209 73-3253
73-3253 73-3253 73-3253 73-3253 73-3253 73-3253 73-3253 74-3313 74-3313
74-3313 74-3313 74-3313 74-3313 74-3313 74-3313 75-3366 75-3366 75-3366
75-3366 75-3366 75-3366 75-3366 75-3366 91-3972 91-3972 91-3972 91-3972
91-3972 224-8708 224-8708 224-8708 224-8708 224-8708 224-8708 224-8708 224-8708
260-10102 260-10102 260-10102 260-10102 260-10102 260-10102 260-10102 260-10102 260-10111
260-10111 260-10111 260-10111 260-10111 260-10111 260-10111 260-10111 260-10120 260-10120
260-10120 260-10120 260-10120 260-10120 260-10120 260-10120 260-10125 260-10125 260-10125
260-10125 260-10125 260-10125 260-10125 260-10125
$$$HAR = 000001 193-7560 #193-7560 193-7560
$$$HLF = 000001 185-7418 #185-7418 185-7418
$$$HLT = 000001 174-7032 #174-7032 174-7032
$$$INC = 000006 175-7094 #175-7094 175-7094 176-7115 #176-7115 176-7115 177-7130 #177-7130 177-7130
178-7203 #178-7203 178-7203 190-7493 #190-7493 190-7493 193-7562 #193-7562 193-7562
$$$INI = 000002 174-7038 #174-7038 174-7038 184-7389 #184-7389 184-7389
$$$INT = 000001 185-7412 #185-7412 185-7412
$$$IO = 000001 184-7391 #184-7391 184-7391
$$$JAN = 000001 180-7235 #180-7235 180-7235
$$$JMP = 000001 174-7040 #174-7040 174-7040
$$$JUL = 000001 180-7247 #180-7247 180-7247
$$$JUN = 000001 180-7245 #180-7245 180-7245
$$$KL = 000001 178-7184 #178-7184 178-7184
$$$KLI = 000002 190-7495 #190-7495 190-7495 193-7564 #193-7564 193-7564
$$$LOG = 000001 188-7451 #188-7451 188-7451
$$$LPT = 000001 188-7453 #188-7453 188-7453
$$$M = 000001 174-7042 #174-7042 174-7042
$$$MAR = 000001 180-7239 #180-7239 180-7239
$$$MAY = 000001 180-7243 #180-7243 180-7243
$$$MCR = 000001 174-7046 #174-7046 174-7046
$$$MEM = 000002 190-7497 #190-7497 190-7497 193-7566 #193-7566 193-7566
$$$MGN = 000001 185-7414 #185-7414 185-7414
$$$MNT = 000002 179-7216 #179-7216 179-7216 187-7438 #187-7438 187-7438
$$$MQ = 000001 178-7160 #178-7160 178-7160
$$$MRK = 000001 174-7044 #174-7044 174-7044
$$$NOT = 000001 190-7499 #190-7499 190-7499
$$$NOV = 000001 180-7255 #180-7255 180-7255
$$$NRM = 000001 185-7402 #185-7402 185-7402
$$$NUL = 000001 174-7012 #174-7012 174-7012
$$$NXT = 000004 175-7096 #175-7096 175-7096 176-7117 #176-7117 176-7117 177-7132 #177-7132 177-7132
178-7205 #178-7205 178-7205
$$$OCT = 000001 180-7253 #180-7253 180-7253
$$$OFS = 000002 190-7501 #190-7501 190-7501 193-7568 #193-7568 193-7568
$$$OPR = 000002 179-7218 #179-7218 179-7218 187-7440 #187-7440 187-7440
$$$OST = 000014 #70-3087 70-3087 70-3087 #70-3087 70-3087 70-3087 #70-3087 70-3087 70-3087
#70-3087 #70-3092 70-3092 70-3092 #70-3092 70-3092 70-3092 #70-3092 70-3092
70-3092 #70-3092 70-3092 70-3092 #70-3092 70-3092 70-3092 #70-3092 70-3092
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 34
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
70-3092 #70-3092 70-3092 #71-3155 71-3155 71-3155 #71-3155 71-3155 71-3155
#71-3155 71-3155 71-3155 #71-3155 71-3155 71-3155 #71-3155 71-3155 71-3155
#71-3155 71-3155 71-3155 #71-3155 71-3155 #72-3203 72-3203 72-3203 #72-3203
72-3203 72-3203 #72-3203 72-3203 72-3203 #72-3203 72-3203 72-3203 #72-3203
72-3203 72-3203 #72-3203 72-3203 72-3203 #72-3203 72-3203 #72-3206 72-3206
72-3206 #72-3206 72-3206 72-3206 #72-3206 72-3206 72-3206 #72-3206 72-3206
72-3206 #72-3206 72-3206 72-3206 #72-3206 72-3206 72-3206 #72-3206 72-3206
#72-3209 72-3209 72-3209 #72-3209 72-3209 72-3209 #72-3209 72-3209 72-3209
#72-3209 72-3209 72-3209 #72-3209 72-3209 72-3209 #72-3209 72-3209 72-3209
#72-3209 72-3209 #73-3253 73-3253 73-3253 #73-3253 73-3253 73-3253 #73-3253
73-3253 73-3253 #73-3253 73-3253 73-3253 #73-3253 73-3253 73-3253 #73-3253
73-3253 73-3253 #73-3253 73-3253 #74-3313 74-3313 74-3313 #74-3313 74-3313
74-3313 #74-3313 74-3313 74-3313 #74-3313 74-3313 74-3313 #74-3313 74-3313
74-3313 #74-3313 74-3313 74-3313 #74-3313 74-3313 #75-3366 75-3366 75-3366
#75-3366 75-3366 75-3366 #75-3366 75-3366 75-3366 #75-3366 75-3366 75-3366
#75-3366 75-3366 75-3366 #75-3366 75-3366 75-3366 #75-3366 75-3366 #91-3972
91-3972 91-3972 #91-3972 91-3972 91-3972 #91-3972 91-3972 91-3972 #91-3972
91-3972 91-3972 #91-3972 #224-8708 224-8708 224-8708 #224-8708 224-8708 224-8708
#224-8708 224-8708 224-8708 #224-8708 224-8708 224-8708 #224-8708 224-8708 224-8708
#224-8708 224-8708 224-8708 #224-8708 224-8708 #260-10102 260-10102 260-10102 #260-10102
260-10102 260-10102 #260-10102 260-10102 260-10102 #260-10102 260-10102 260-10102 #260-10102
260-10102 260-10102 #260-10102 260-10102 260-10102 #260-10102 260-10102 #260-10111 260-10111
260-10111 #260-10111 260-10111 260-10111 #260-10111 260-10111 260-10111 #260-10111 260-10111
260-10111 #260-10111 260-10111 260-10111 #260-10111 260-10111 260-10111 #260-10111 260-10111
#260-10120 260-10120 260-10120 #260-10120 260-10120 260-10120 #260-10120 260-10120 260-10120
#260-10120 260-10120 260-10120 #260-10120 260-10120 260-10120 #260-10120 260-10120 260-10120
#260-10120 260-10120 #260-10125 260-10125 260-10125 #260-10125 260-10125 260-10125 #260-10125
260-10125 260-10125 #260-10125 260-10125 260-10125 #260-10125 260-10125 260-10125 #260-10125
260-10125 260-10125 #260-10125 260-10125
$$$OUT = 000002 190-7503 #190-7503 190-7503 193-7570 #193-7570 193-7570
$$$PAG = 000001 184-7393 #184-7393 184-7393
$$$PC = 000001 178-7162 #178-7162 178-7162
$$$PI = 000002 178-7186 #178-7186 178-7186 184-7395 #184-7395 184-7395
$$$PRG = 000002 179-7220 #179-7220 179-7220 187-7442 #187-7442 187-7442
$$$PRV = 000004 175-7098 #175-7098 175-7098 176-7119 #176-7119 176-7119 177-7134 #177-7134 177-7134
178-7207 #178-7207 178-7207
$$$PST = 000002 190-7505 #190-7505 190-7505 193-7572 #193-7572 193-7572
$$$QRE = 000001 174-7053 #174-7053 174-7053
$$$QSA = 000001 174-7055 #174-7055 174-7055
$$$QTR = 000001 185-7420 #185-7420 185-7420
$$$QUT = 000001 174-7079 #174-7079 174-7079
$$$R = 000001 174-7048 #174-7048 174-7048
$$$REG = 000001 178-7188 #178-7188 178-7188
$$$REM = 000001 179-7225 #179-7225 179-7225
$$$RES = 000001 174-7057 #174-7057 174-7057
$$$RLD = 000002 190-7507 #190-7507 190-7507 193-7574 #193-7574 193-7574
$$$RPT = 000003 174-7050 #174-7050 174-7050 190-7509 #190-7509 190-7509 193-7576 #193-7576 193-7576
$$$RST = 000001 174-7059 #174-7059 174-7059
$$$RTY = 000002 190-7511 #190-7511 190-7511 193-7578 #193-7578 193-7578
$$$RUN = 000001 174-7061 #174-7061 174-7061
$$$SAV = 000001 174-7063 #174-7063 174-7063
$$$SBR = 000001 178-7197 #178-7197 178-7197
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 35
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
$$$SCR = 000001 178-7199 #178-7199 178-7199
$$$SEP = 000001 180-7251 #180-7251 180-7251
$$$SET = 000001 174-7065 #174-7065 174-7065
$$$SHO = 000001 174-7067 #174-7067 174-7067
$$$SHU = 000001 174-7069 #174-7069 174-7069
$$$SLO = 000001 185-7422 #185-7422 185-7422
$$$SPC = 000001 183-7372 #183-7372 183-7372
$$$STR = 000001 174-7071 #174-7071 174-7071
$$$SWP = 000001 174-7073 #174-7073 174-7073
$$$TAK = 000001 174-7075 #174-7075 174-7075
$$$TEN = 000004 176-7111 #176-7111 176-7111 178-7190 #178-7190 178-7190 186-7431 #186-7431 186-7431
192-7541 #192-7541 192-7541
$$$THS = 000004 175-7100 #175-7100 175-7100 176-7121 #176-7121 176-7121 177-7136 #177-7136 177-7136
178-7209 #178-7209 178-7209
$$$TRK = 000002 190-7514 #190-7514 190-7514 193-7581 #193-7581 193-7581
$$$TTY = 000001 188-7455 #188-7455 188-7455
$$$T1 = 000006 #70-3087 70-3087 70-3087 #70-3087 70-3087 70-3087 #70-3087 70-3087 70-3087
#80-3574 80-3574 #85-3783 85-3783 #160-6594 160-6594
$$$UBR = 000001 178-7192 #178-7192 178-7192
$$$UCD = 000001 192-7543 #192-7543 192-7543
$$$UNM = 000001 174-7077 #174-7077 174-7077
$$$USR = 000002 179-7227 #179-7227 179-7227 187-7444 #187-7444 187-7444
$$$VER = 000001 193-7584 #193-7584 193-7584
$$$VMA = 000001 178-7193 #178-7193 178-7193
$$$VMH = 000001 178-7195 #178-7195 178-7195
$$$WHA = 000001 174-7081 #174-7081 174-7081
$$$XCT = 000001 174-7083 #174-7083 174-7083
$$$ZER = 000001 174-7085 #174-7085 174-7085
.ABRTC = ****** GX 174-7014
.ACBLK 000000 RG #35-1480
.APRWD 000002 RG #35-1482 35-1578
.ATCID 000460 RG 257-9991 #260-10119
.ATLMD = 000033 #21-838
.BRCLK = 005000 #87-3838
.BRMBC 003334 RG #88-3867
.BUFSZ = 001000 G #69-2951 69-2970 69-3007 80-3574 85-3783 85-3790
.BURST 003340 RG #88-3869 115-4877 115-4877
.CCMDN 000004 RG #35-1484 61-2609 *156-6439 *158-6512 *158-6515 *163-6668 166-6780
.CDIBC = 000412 R #224-8711
.CDIBP = 000410 R #224-8710
.CDINP 000374 RG 223-8640 #224-8707 224-8710 224-8711
.CDOBC = 000432 RG *223-8636 254-9902 *255-9938 257-10000 *258-10022 #260-10105
.CDOBP = 000430 RG *223-8635 257-9999 *258-10023 #260-10104
.CDOFC = 000434 RG #260-10106
.CDOUT 000414 RG 257-9993 #260-10101 260-10104 260-10105 260-10106
.CECLK = 004000 #87-3838
.CESCK 000000 RG #47-2098 97-4156 97-4156 100-4288 100-4288 147-6062 147-6062 159-6547 159-6547
.CHTAB 001502 RG #40-1774 48-2146 48-2153 49-2183 51-2248 52-2285 53-2314 59-2552 169-6867
223-8654 238-9287
.CIBFL = 000214 G #38-1694 224-8708
.CIBFR 000362 RG #38-1692 38-1694 223-8617 223-8631 223-8635 223-8644 224-8708
.CISTS 000006 RG #35-1486 223-8625 223-8632 223-8636 223-8642 223-8645 223-8649 224-8708
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 36
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.CKARG 000070 RG #48-2144 228-8853 228-8853 228-8860 228-8860 230-8958 230-8958 236-9200 236-9200
.CKCOL 000130 RG #49-2181
.CKCTC 000166 RG #50-2216 165-6736 165-6736
.CKEOC 000214 RG #51-2246 156-6440 166-6777 166-6777 172-6944 172-6944
.CKEOS 000256 RG #52-2283 229-8883 229-8883
.CKOBJ 000300 RG #53-2312
.CKRNP 000316 RG #54-2342
.CKRUN 000326 RG #54-2347
.CKSYM 000374 RG 48-2145 48-2145 51-2253 51-2253 53-2313 53-2313 #55-2391 55-2394 165-6737
165-6737 228-8849 228-8849
.CLDFB 003370 RG #89-3904 122-5119 122-5119 128-5318 128-5318 141-5838 141-5838
.CLDFR 003374 RG #89-3906
.CLDFW 003404 RG 89-3905 89-3905 #89-3911 124-5202 124-5202 126-5251 126-5251 134-5586 134-5586
155-6393 155-6393
.CLKWD 000012 RG #35-1488 124-5191 *129-5379 130-5392 145-5995
.CLOSE 002114 RG 74-3306 74-3306 #75-3345 77-3461 77-3461 80-3588 80-3588 160-6586 160-6586
160-6593 160-6593
.CLRCM = ****** GX 174-7016
.CLRFF 003420 RG #90-3940 114-4841 114-4841 117-4966 117-4966 152-6211 152-6211
.CLRMR = 006000 #87-3838
.CLRUN = 010000 #87-3838
.CMDTB 004350 RG 158-6511 #174-7011
.CMNDL = 000430 G #38-1702 224-8664
.COBFL = 000204 G #38-1698 258-10024
.COBFR 000576 RG 35-1612 #38-1696 258-10023 258-10025 260-10102 260-10111
.COMEF = ****** GX *141-5850
.COMMA = 000054 #21-836
.COMND 001012 RG #38-1700 38-1702 163-6694
.CONBT = 012000 #87-3838
.CONTC = ****** GX 174-7018
.COSTS 000014 RG #35-1490 257-9995 260-10102
.CRAMA 000020 RG #35-1492 *135-5627
.CRAMR 000022 RG #35-1494 134-5573 134-5592
.CRAMW 000044 RG #35-1498
.CSHRG = 164000 #87-3838
.DBGSW 000066 RG #35-1503 68-2881 160-6576
.DELET 002100 RG #75-3341
.DEPAR = ****** GX 176-7107
.DFBLK 000336 RG #37-1671 106-4530 108-4627 111-4729
.DFRB 000344 RG #37-1674 89-3908 106-4493 213-8256
.DFRED = ****** GX 174-7026
.DFWB 000336 RG #37-1672 89-3913 107-4567 *122-5122 *122-5130 *124-5204 126-5252 155-6378 213-8263
.DFWRT = ****** GX 174-7028
.DFXCT = ****** GX 174-7030
.DIAG1 = 000000 #10-353
.DIAG2 = 000002 #10-354 93-4017 93-4038
.DIAG3 = 000006 #10-356 93-4025 93-4046
.DISCC = ****** GX 174-7022
.DOCMD 007730 RG #158-6503 163-6698 163-6698 172-6946 172-6946
.DPBFR 000070 RG #35-1506 102-4345
.DPBFX 000076 RG #35-1508
.DPDPB 000312 RG 101-4306 101-4307 #102-4344
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 37
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.DPETB 004674 RG #175-7091
.DPKLM 003762 RG #99-4246
.DPOEL = ****** GX 176-7109
.DPOKL = ****** GX 176-7111
.DPOSC = ****** GX 174-7020
.DPOSD = ****** GX 175-7092 176-7113
.DPOSI = ****** GX 175-7094 176-7115
.DPOSN = ****** GX 175-7096 176-7117
.DPOSP = ****** GX 175-7098 176-7119
.DPOSZ = ****** GX 175-7100 176-7121
.DPOTB 004734 RG #176-7106
.DPTRK 012454 RG 99-4258 99-4258 #218-8433
.DREG 000352 RG #37-1677 *94-4055 94-4062 95-4110 106-4530 108-4627 111-4729
.DRLTC = 015000 #87-3838
.DSACF = 066000 #87-3838
.DSIOJ = 065000 #87-3838
.DTAB 004232 R 99-4248 #101-4305
.DTCID 000474 RG 257-9997 #260-10124
.DTDI1 000352 RG #37-1678
.DTDI2 000354 RG #37-1680
.DTDI3 000360 RG #37-1684
.DTDW1 003530 RG 47-2102 47-2102 #93-4033 104-4419 104-4419 104-4427 104-4427 114-4836 114-4836
115-4849 115-4849 115-4878 115-4878 117-4968 117-4968 152-6218 152-6218
.DTDW2 003536 RG #93-4037
.DTDW3 003556 RG #93-4045
.DTSTA 003546 RG 56-2421 56-2421 #93-4041
.DTSTS 000356 RG #37-1682
.DTSTW = 000004 #10-355 93-4021 93-4042
.DTTRK 012332 RG 94-4066 #216-8345
.DWDW1 003454 RG #93-4012
.DWDW2 003462 RG #93-4016 142-5899 142-5899
.DWDW3 003502 RG #93-4024 142-5901
.DWSTA 003472 RG #93-4020
.EBCLK 003634 RG #97-4154 104-4418 104-4418
.EBPCK 000410 RG #56-2420 159-6548
.EDELA 000104 RG #35-1518 68-2877
.EDKLA 000106 RG #35-1520 102-4345 102-4363
.EDKLX 000114 RG #35-1522
.EIOJA = 067000 #87-3838
.ELDDW 000122 RG #35-1524
.ELEDW 000124 RG #35-1526
.ELNCK 013144 RG #225-8737 226-8783 226-8783
.ENTER 001664 RG #72-3184
.ETAB 004222 R 99-4232 #101-4299
.EXAD = ****** GX 178-7143
.EXADX = ****** GX 178-7145
.EXAMC = ****** GX 174-7024
.EXAMD = ****** GX 177-7128 178-7201
.EXAMF = ****** GX 178-7182
.EXAMI = ****** GX 177-7130 178-7203
.EXAMK = ****** GX 178-7184
.EXAMN = ****** GX 177-7132 178-7205
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 38
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.EXAMP = ****** GX 177-7134 178-7207
.EXAMZ = ****** GX 177-7136 178-7209
.EXARR = ****** GX 178-7147
.EXARX = ****** GX 178-7149
.EXBFR 000156 RG #35-1532 102-4363
.EXBRR = ****** GX 178-7151
.EXBRX = ****** GX 178-7153
.EXCRA = ****** GX 178-7168
.EXCRL = ****** GX 178-7170
.EXCTC = ****** GX 174-7083
.EXCTF 004150 RG #103-4390 117-4990 117-4990
.EXDPB 000324 RG 101-4300 101-4301 #102-4362
.EXDPM 004020 RG 99-4233 99-4233 99-4249 99-4249 #100-4268
.EXDRA = ****** GX 178-7172
.EXDTE = ****** GX 178-7174
.EXEBR = ****** GX 178-7176
.EXEBS = ****** GX 178-7155
.EXECT 004226 RG #104-4413
.EXETB 005016 RG #177-7127
.EXFER = ****** GX 178-7180
.EXFMR = ****** GX 178-7158
.EXITP 010110 RG #160-6574 224-8695 258-10028
.EXKLM 003730 RG #99-4230
.EXMEL = ****** GX 178-7178
.EXMKL = ****** GX 178-7190
.EXMPI = ****** GX 178-7186
.EXMQR = ****** GX 178-7160
.EXMTB 005056 RG #178-7142 178-7165
.EXREG = ****** GX 178-7188
.EXSBR = ****** GX 178-7197
.EXSCR = ****** GX 178-7199
.EXTND 002004 RG #74-3289 85-3794 85-3794
.EXTRK 012442 RG 99-4242 99-4242 #218-8428
.EXUBR = ****** GX 178-7192
.EXVAB = ****** GX 178-7166
.EXVMA = ****** GX 178-7193
.EXVMH = ****** GX 178-7195
.EXVPC = ****** GX 178-7162
.FEMOD = ****** GX 54-2356 165-6767 166-6787
.FISTS 001662 RG #69-2948 70-3071 70-3092 71-3138 71-3141 71-3155 72-3187 72-3191 72-3203
72-3206 73-3253 74-3292 74-3313 75-3352 75-3366 80-3574 80-3576 80-3579
85-3783 85-3785 85-3792
.FNDIR 001452 RG #70-3061 71-3132 71-3132
.FREAD 004362 RG 97-4163 97-4163 #106-4485 128-5325 128-5325 129-5376 129-5376 132-5498 132-5498
134-5579 134-5579 136-5665 136-5665 137-5709 137-5709 138-5738 138-5738 139-5782
139-5782
.FRTRK 012172 RG 106-4505 106-4505 #213-8253
.FWRIT 004444 RG #107-4565 116-4929 116-4929 120-5086 120-5086 122-5125 122-5125 122-5133 122-5133
124-5206 124-5206 124-5211 124-5211 126-5260 126-5260 126-5267 126-5267 128-5320
128-5320 134-5589 134-5589 134-5591 134-5591 141-5842 141-5842 141-5847 141-5847
154-6307 154-6307 155-6384 155-6384 155-6392 155-6392 155-6395 155-6395 155-6397
155-6397
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 39
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.FWTRK 012212 RG 108-4600 108-4600 #213-8260
.FXCT 004566 RG 88-3874 90-3948 90-3948 97-4161 97-4161 #110-4657 113-4784 113-4784 119-5028
119-5028 120-5088 127-5306 127-5306 128-5332 128-5332 128-5337 128-5337 134-5571
134-5571 147-6066 147-6066 150-6160 150-6160 153-6264 153-6264
.FXTRK 012232 RG 111-4702 111-4702 #213-8267
.GFNR = 102000 #87-3838
.GTCMD 012610 RG 163-6695 163-6695 #222-8569
.GTELN 013220 RG #226-8777 230-8960 230-8960
.GTEXP 013706 RG 228-8857 228-8857 229-8882 229-8882 #231-9033 237-9250 237-9250
.GTFCT 014114 RG 233-9094 233-9094 234-9129 234-9129 #235-9163 237-9231 237-9231 237-9236 237-9236
237-9242 237-9242
.GTKLA 013250 RG #227-8810
.GTKLN 013302 RG 172-6940 172-6940 #228-8847
.GTLIN 012644 RG 222-8573 222-8573 #223-8615
.GTNBR 014410 RG 235-9172 235-9172 #238-9278
.GTNUM 013302 RG 226-8782 226-8782 227-8811 227-8811 #228-8846
.GTOPC 013514 RG 228-8855 228-8855 #230-8936
.GTTRM 014002 RG 231-9034 231-9034 232-9061 232-9061 #233-9093
.HALTC = ****** GX 174-7032
.INATT 002750 RG #69-2982 80-3572 80-3585 160-6583
.INBBC 001712 RG #69-2965 *78-3503 78-3504 *78-3510 79-3537 *79-3543 *80-3579
.INBUF 001716 RG #69-2969 80-3574 80-3578
.INCHC 000164 RG #35-1534 *223-8618 *224-8663 224-8664 224-8670 *238-9279 *238-9289 239-9311
.INDFG 001660 RG #69-2944 *77-3458 *80-3587 160-6581 *160-6585 223-8619
.INFN 001666 RG #69-2955
.INFNB 002716 RG #69-2972 77-3459
.INICL = 070000 #87-3838
.INICP = ****** GX 35-1616
.INITC = ****** GX 174-7038
.INPOS 001714 RG #69-2967 78-3500 *78-3502 78-3508 *78-3509 79-3541 *79-3542 *80-3578
.INVBN 001706 RG #69-2963 *80-3570 *80-3571 80-3572 80-3574 80-3574
.IRADX 000166 RG #35-1536 *66-2793 172-6934 *172-6935 *172-6941 236-9205 *237-9221 *237-9225 *237-9229
*237-9232 238-9283
.IRLTC = 014000 #87-3838
.JUMPC = ****** GX 174-7040
.KLCON 004736 RG 104-4440 104-4440 #113-4773
.KLDFR 000336 RG 60-2575 *106-4486 106-4490 #106-4529 213-8255
.KLDFW 000350 RG 60-2579 *107-4566 108-4586 108-4590 #108-4626 213-8262
.KLDFX 000362 RG 60-2583 *110-4658 110-4662 110-4665 #111-4728 213-8269
.KLE = ****** GX 223-8624 223-8624
.KLEDF 000176 RG #35-1540 *163-6675 223-8622
.KLEPT 000200 RG #35-1542
.KLERQ = ****** GX 159-6543 *160-6595 163-6673
.KLEVL 000202 RG #35-1544
.KLFLG = ****** GX *47-2111 *47-2113 54-2352 *101-4314 *101-4318 103-4391 104-4415 *108-4595 110-4671
*110-4673 110-4677 *110-4679 *110-4686 *110-4692 113-4775 116-4930 117-4959 119-5041
*127-5307 *128-5338 148-6093 148-6095 163-6670
.KLGO 004744 RG #113-4776 116-4931
.KLHLT 005034 RG #114-4834 116-4926 116-4926 117-4961 120-5084 120-5084
.KLINC 000170 RG #35-1538
.KLMTB 005366 RG #179-7215
.KLMT1 005412 RG #179-7224
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 40
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.KLRST 005310 RG #119-5018 146-6033 146-6033
.KLSNP 000203 RG #35-1546
.KLST 005164 RG #116-4924
.KLSTP 005212 RG #117-4958 148-6096 148-6096
.KLXCT 005442 RG 103-4399 103-4399 104-4416 104-4416 #120-5083
.LCRDL = 052000 #87-3838
.LCRDR = 051000 #87-3838
.LCRM1 = 057000 #87-3838
.LCRM2 = 056000 #87-3838
.LCRM3 = 055000 #87-3838
.LCRM4 = 054000 #87-3838
.LCRM5 = 053000 #87-3838
.LDAR = 077000 #87-3838
.LDBRC 005466 RG #122-5115
.LDBRG 005472 RG 88-3872 88-3872 #122-5117
.LDBRL = 043000 #87-3838
.LDBRR = 042000 #87-3838
.LDCK1 = 046000 #87-3838
.LDCK2 = 047000 #87-3838
.LDCLK 005570 RG #124-5189 141-5835 141-5835 143-5954 143-5954 145-5998 145-5998
.LDCRA 005666 RG #126-5246 134-5569 134-5569 152-6214 152-6214 155-6376 155-6376
.LDDIS = 045000 #87-3838
.LDOBC = 000454 RG *223-8645 *257-10000 257-10012 #260-10114
.LDOBP = 000452 RG *223-8644 *257-9999 257-10011 #260-10113
.LDOFC = 000456 R #260-10115
.LDOUT 000436 RG 257-10004 #260-10110 260-10113 260-10114 260-10115
.LDPAR 005606 RG #124-5195 141-5836 141-5836 145-6002 145-6002
.LDRJD = 064000 #87-3838
.LDRJV = 063000 #87-3838
.LDRM1 = 060000 #87-3838
.LDRM2 = 061000 #87-3838
.LDRM3 = 062000 #87-3838
.LDSEL = 044000 #87-3838
.LDSTS 000212 RG #35-1557 257-10006 260-10111
.LDZFL 000220 RG #35-1561 *214-8280 *216-8346 *245-9528 *247-9617 249-9706 *249-9711 252-9819 *252-9823
.LGLWD 000216 RG #35-1559 *158-6514 159-6526 *159-6537 *163-6696
.LOKUP 001574 RG #71-3130
.MARKC = ****** GX 174-7044
.MEMFL 000222 RG #35-1563
.MEMRS = 076000 #87-3838
.MISC = ****** GX *160-6596
.MONTB 005430 RG #180-7234
.MRCLR 006002 RG #127-5303 141-5837 141-5837
.MTDPB 000266 RG 90-3943 #91-3971
.NOERR = ****** GX *47-2109 *149-6128
.NOHLT = ****** GX *90-3946 *113-4794 *119-5046 *146-6034
.NOTSW 000224 RG #35-1565
.NSETB 005542 RG 58-2527 #181-7264
.NULLC 007716 RG #156-6438 174-7012
.OPEN 001736 RG #73-3236
.ORADX 000226 RG #35-1567 *66-2794 245-9532 245-9536 246-9571 246-9575 247-9620 247-9624 248-9659
248-9663 252-9812
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 41
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.OTATT 004050 RG #69-3019 *74-3294 *74-3295 *74-3299 *74-3300 74-3301 81-3632 *81-3634 *84-3740
*84-3741 *85-3787 *85-3788 160-6591
.OTBBC 003012 RG #69-3002 *82-3677 82-3678 *82-3683 83-3709 *83-3714 84-3742 84-3744 84-3750
*85-3790
.OTBUF 003016 RG #69-3006 74-3300 84-3741 85-3783 85-3789
.OTFN 002766 RG #69-2992
.OTFNB 004016 RG #69-3009 72-3203 72-3206
.OTPOS 003014 RG #69-3004 74-3299 82-3674 *82-3676 82-3681 *82-3682 83-3712 *83-3713 84-3740
84-3745 *85-3789
.OTVBN 003006 RG #69-3000 *85-3781 *85-3782 85-3783 85-3783 85-3787 85-3788
.OUTLG 000206 RG #35-1550 *74-3304 160-6587 *160-6589 257-10008
.OUTLP 000207 RG #35-1552 257-10002
.OUTTY 000210 RG #35-1554 257-9989
.PARER 000432 RG #58-2512 66-2807 66-2807
.PASS 000204 RG #35-1548 244-9459
.PCAB1 = 150000 #87-3838
.PCAB2 = 151000 #87-3838
.PCAB3 = 152000 #87-3838
.PCAB4 = 153000 #87-3838
.PEWRD 000230 RG #35-1569 139-5776
.PITAB 000232 RG #35-1571
.PSCWD 000236 RG #35-1573 124-5197 *129-5380 130-5398 145-5994
.PTDIE 001046 RG #64-2705 68-2873
.PTOAT 001352 RG 35-1596 #68-2868
.PTTRP 001124 RG 36-1664 #66-2777
.QUITC = ****** GX 174-7079
.RCRM1 = 147000 #87-3838
.RCRM2 = 146000 #87-3838
.RCRM3 = 145000 #87-3838
.RCRM4 = 144000 #87-3838
.RCSPF = 141000 #87-3838
.RDCPP 006150 RG #129-5367 145-5993 145-5993
.RDCRA = ****** GX 135-5626 135-5626
.RDCRD 006304 RG #132-5494 134-5584 134-5584
.RDCRM 006342 RG #134-5565
.RDCRO 006512 R #135-5625
.RDCRR 006374 RG #134-5572 135-5628 135-5628
.RDFMA 006532 RG #136-5661 137-5705 137-5705
.RDFMO 006614 RG #137-5702
.RDFMP 006650 RG #138-5735
.RDIPE 006704 RG 62-2642 62-2642 #139-5772
.RDJ14 = 134000 #87-3838
.RDJ71 = 135000 #87-3838
.RDMAB = 133000 #87-3838
.RDXSV 000240 RG #35-1575 66-2793 66-2794 *172-6934 172-6941
.READ 002440 RG 78-3506 78-3506 79-3539 79-3539 #80-3569
.READB 002406 RG 77-3452 77-3452 #79-3536
.READR 002224 RG #77-3444 223-8633 223-8633
.READW 002330 RG 77-3446 77-3446 #78-3499
.RECNT 004066 RG #69-3027 *81-3625 81-3631 *81-3644
.RECPT 004070 RG #69-3029 81-3623 *81-3624 *81-3643
.RECRD 004072 RG 69-3030 #69-3031 81-3630 81-3643
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 42
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.REGRW 000300 RG *93-4013 *93-4017 *93-4021 *93-4025 *93-4027 93-4028 93-4029 *93-4034 *93-4038
*93-4042 *93-4046 *94-4053 94-4059 #95-4106 216-8350 216-8354 216-8360 216-8364
.REGSV 010316 RG 66-2785 68-2871 124-5190 124-5196 129-5368 139-5773 #162-6653 218-8429 218-8434
.RELWD 000242 RG #35-1577 236-9187
.REMOV 001564 RG #71-3127
.REPTC 011036 RG #172-6933 174-7050
.RESET 006766 RG #141-5828 143-5949 143-5949 145-5996 145-5996
.RESQ = ****** GX 174-7053
.RESTB 006232 RG #184-7380
.RESTC = ****** GX 174-7057
.RESTD 007102 RG 100-4291 100-4291 141-5830 141-5830 #142-5897
.RESTI 007122 RG #143-5946
.RESTP 007146 RG 126-5249 126-5249 #145-5990
.RPTCT 000244 RG #35-1579 163-6697
.RPTPT 000252 RG #35-1581 *158-6509
.RSACB = ****** GX 182-7365
.RSALL = ****** GX 184-7381
.RSAPR = ****** GX 184-7383
.RSDTE = ****** GX 184-7385
.RSERR = ****** GX 184-7387
.RSPAG = ****** GX 184-7393
.RSTIN = ****** GX 184-7389
.RSTIO = ****** GX 184-7391
.RSTKL 007220 RG 66-2791 66-2791 103-4401 #146-6030
.RSTPI = ****** GX 184-7395
.RSTRC = ****** GX 174-7059
.RSTTB 006204 RG #182-7364
.RUNCM = ****** GX 174-7042 174-7046 174-7048 174-7061
.R50TB 001442 RG #39-1706 259-10061
.SAVEC = ****** GX 174-7063
.SAVQ = ****** GX 174-7055
.SAVTB 006214 RG #183-7371
.SCACB = ****** GX 190-7481
.SCCEC = ****** GX 185-7404
.SCCED = ****** GX 185-7406
.SCCEE = ****** GX 185-7408
.SCCLK = ****** GX 190-7483
.SCCLN = ****** GX 185-7402
.SCCOM = ****** GX 187-7438
.SCCON = ****** GX 190-7485
.SCCOO = ****** GX 187-7440
.SCCOP = ****** GX 187-7442
.SCCOT 006436 RG #187-7437
.SCCOU = ****** GX 187-7444
.SCCRF = ****** GX 185-7416
.SCCRH = ****** GX 185-7418
.SCCRQ = ****** GX 185-7420
.SCCRS = ****** GX 185-7422
.SCCSE = ****** GX 185-7410
.SCCSI = ****** GX 185-7412
.SCCSM = ****** GX 185-7414
.SCCTB 006314 RG #185-7401
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 43
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.SCDAT = ****** GX 190-7487
.SCFSS = ****** GX 190-7491
.SCINC = ****** GX 190-7493
.SCKLN = ****** GX 190-7495
.SCMEL = ****** GX 186-7429
.SCMEM = ****** GX 190-7497
.SCMKL = ****** GX 186-7431
.SCMTB 006420 RG #186-7428
.SCNOT = ****** GX 190-7499
.SCOFS = ****** GX 190-7501
.SCOTL = ****** GX 188-7451
.SCOTP = ****** GX 188-7453
.SCOTT 006470 RG #188-7450
.SCOTY = ****** GX 188-7455
.SCOUT = ****** GX 190-7503
.SCPAL = ****** GX 189-7462
.SCPAR = ****** GX 189-7464
.SCPCR = ****** GX 189-7466
.SCPDR = ****** GX 189-7468
.SCPEN = ****** GX 189-7470
.SCPFM = ****** GX 189-7472
.SCPFS = ****** GX 189-7474
.SCPST = ****** GX 190-7505
.SCPTB 006514 RG #189-7461
.SCRLD = ****** GX 190-7507
.SCRPT = ****** GX 190-7509
.SCRTY = ****** GX 190-7511
.SCTRK = ****** GX 190-7514
.SEAMB 000520 RG #59-2547 191-7522
.SECES 000756 RG #62-2640 191-7524
.SECLK = 003000 #87-3838
.SEFRF 000606 RG #60-2574 191-7526
.SEFWF 000614 RG #60-2578 191-7527
.SEFXF 000622 RG #60-2582 191-7528
.SEILC 000544 RG #59-2557 191-7530
.SEILS 000544 RG #59-2558 191-7531
.SEIPC 000544 RG #59-2559 191-7532
.SENSK 000520 RG #59-2548 191-7534
.SETCM = ****** GX 174-7065
.SETFN 002166 RG 71-3133 71-3133 #76-3403
.SETMR = 007000 #87-3838
.SETRN = 011000 #87-3838
.SETTB 006570 RG #190-7480
.SFREC = ****** GX 190-7489
.SHIFT 011130 RG 122-5128 122-5128 #196-7649
.SHUTC = ****** GX 174-7069
.SPACE = 000040 #21-837 39-1718 52-2287 55-2393 59-2562 224-8681 228-8858 243-9412 250-9723
250-9724 250-9725 250-9726 250-9728 250-9729 250-9731 250-9732 250-9733 250-9735
250-9736 250-9741 250-9745
.SPETB 006740 RG 58-2514 #191-7521
.SSCAN 010774 RG 165-6747 165-6747 #169-6853 169-6859 230-8945 230-8945
.SSCLK = 002000 #87-3838
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 44
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.SSTTB 000316 RG #36-1657 36-1666 64-2709 *68-2873 *68-2888
.START 010354 RG 35-1584 #163-6664
.STCLF 007254 RG 127-5308 127-5308 #147-6063
.STCLK 007246 RG 104-4424 104-4424 113-4787 113-4787 119-5043 119-5043 #147-6060 152-6215 152-6215
.STPCL = 000000 #87-3838
.STPKL 007272 RG 103-4397 103-4397 #148-6092
.STPXC 007316 RG 88-3868 88-3868 104-4446 104-4446 115-4860 115-4860 115-4873 115-4873 122-5116
122-5116 128-5317 128-5317 141-5832 141-5832 145-5992 145-5992 #149-6122 152-6212
152-6212 154-6302 154-6302
.STRCL = 001000 #87-3838
.STRTB 007030 RG #192-7540
.STRTC = ****** GX 174-7071
.STRTT = ****** GX 192-7541
.STRTU = ****** GX 192-7543
.STRTV 000254 RG #35-1583 66-2814 68-2889 166-6799
.STRUN 007346 RG 104-4450 104-4450 113-4781 113-4781 119-5026 119-5026 119-5037 119-5037 #150-6155
.STUCD 007366 RG #152-6207
.SVACB = ****** GX 183-7374
.SVESP 000256 RG #35-1585 163-6665 166-6798
.SVKLF 000260 RG #35-1587 *47-2110 66-2789 *103-4400 119-5020 119-5029 *119-5049 146-6031 *146-6036
*148-6095 *163-6667
.SVPC = ****** GX 183-7372
.SWPC = ****** GX 174-7073
.SWPIP 000262 RG #35-1589 47-2114 *66-2778
.SYNXC 007470 RG 97-4174 115-4863 128-5335 128-5335 #153-6260 154-6304 154-6304
.TAKEC = ****** GX 174-7075
.TCRLF 015552 RG 58-2540 64-2714 64-2714 64-2719 64-2719 66-2805 66-2805 67-2824 67-2824
68-2874 68-2874 68-2879 68-2879 166-6779 166-6779 214-8293 214-8293 223-8648
223-8648 244-9482 244-9482 253-9859 255-9940 #256-9950
.TFCHR 015504 RG 163-6693 163-6693 222-8579 222-8579 #254-9899
.TPADD 011516 RG #203-7915 207-8053 207-8053 232-9047 238-9296 238-9296
.TPCLR 011372 RG 89-3915 89-3915 #200-7789 207-8035 207-8035 228-8852 228-8852 252-9810 252-9810
.TPCMP 011440 RG 199-7739 199-7739 #201-7841
.TPCOM 011402 RG #200-7796 200-7804 200-7804 237-9237 237-9237
.TPDEC 011550 RG 159-6532 159-6532 #204-7955 211-8176 211-8176
.TPDIV 011160 RG #198-7705 234-9115 252-9813 252-9813
.TPINC 011536 RG 199-7744 199-7744 200-7805 #204-7948 211-8187 211-8187
.TPMUL 011606 RG #207-8027 234-9119 238-9293 238-9293
.TPNEG 011412 RG #200-7803 237-9245 237-9245
.TPSHI 011772 RG 126-5257 126-5257 126-5264 126-5264 132-5500 132-5500 136-5667 136-5667 136-5672
136-5672 138-5741 138-5741 155-6389 155-6389 #209-8105 211-8174 211-8174 211-8185
211-8185 229-8875 229-8875
.TPSHL 012036 RG #210-8156 234-9111
.TPSUB 011562 RG 199-7741 199-7741 #205-7986 232-9051
.TPTST 011474 RG 159-6524 159-6524 159-6533 159-6533 172-6942 172-6942 198-7710 198-7710 #202-7880
207-8029 207-8029 207-8032 207-8032 207-8060 207-8060 210-8162 210-8162 211-8177
211-8177 211-8188 211-8188 228-8862 228-8862 229-8884 229-8884 249-9708 249-9708
251-9788 251-9788
.TPXTN 011420 RG 198-7707 198-7707 198-7709 198-7709 #200-7808 210-8161 210-8161
.TRKWD 000264 RG #35-1592 94-4064 99-4240 99-4256 106-4503 108-4598 111-4700
.TRPEC 000270 RG #35-1597 *66-2784 66-2806
.TRPIP 000272 RG #35-1599 *64-2706 *66-2779 *66-2800 66-2808 *66-2813 *67-2828
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 45
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.TRPPC 000274 RG #35-1601 *66-2782 *68-2869
.TRPPS 000276 RG #35-1603 *66-2783 *68-2870
.TRPSB 000300 RG #35-1605 *66-2781 66-2787 66-2795 66-2810
.TRPTV 000302 RG #35-1607 66-2797 *66-2801
.TRP4V 000266 RG #35-1595
.TSCAN 010524 RG 158-6513 158-6513 #165-6735
.TYACE 014630 RG #244-9457
.TYAC1 014662 RG #244-9466
.TYCHR 015520 RG 59-2554 59-2554 59-2567 59-2567 59-2570 59-2570 61-2608 61-2608 61-2612
61-2612 243-9419 243-9419 244-9472 244-9472 252-9826 253-9871 253-9871 254-9900
254-9900 #255-9935 256-9953 256-9953 256-9955 256-9955 259-10066 259-10066
.TYCOL 014542 RG #243-9390 244-9473 244-9473
.TYCOM 014552 RG 62-2651 62-2651 #243-9395
.TYELA 014762 RG #245-9527
.TYELN 014766 RG 64-2718 64-2718 68-2878 68-2878 216-8362 216-8362 #245-9529
.TYINI 015736 RG 163-6669 163-6669 #258-10021
.TYKLA 015106 RG 219-8457 219-8457 244-9477 244-9477 #247-9616
.TYKLN 015156 RG 214-8291 214-8291 219-8461 219-8461 244-9481 244-9481 #248-9656
.TYLIN 015446 RG 64-2716 64-2716 67-2823 67-2823 166-6783 166-6783 166-6792 166-6792 216-8368
216-8368 219-8469 219-8469 #253-9857
.TYMIN 014562 RG #243-9400
.TYMSF 015454 RG 163-6677 163-6677 #253-9861
.TYMSG 015462 RG 60-2592 60-2592 61-2606 61-2606 61-2610 61-2610 61-2615 62-2650 62-2650
62-2661 62-2661 68-2876 68-2876 77-3463 77-3463 163-6681 163-6681 166-6781
166-6781 214-8281 214-8281 216-8349 216-8349 216-8352 216-8352 219-8455 219-8455
244-9464 244-9464 253-9858 253-9858 253-9862 253-9862 #253-9865
.TYNCM 015240 RG 246-9583 #249-9700
.TYNUM 015316 RG 249-9713 249-9713 #251-9777 252-9805
.TYOBC 000304 RG #35-1609 *255-9939 *258-10024
.TYOBP 000306 RG #35-1611 255-9936 *255-9937 *258-10025
.TYOUT 015600 RG 223-8638 223-8638 254-9904 255-9943 #257-9988
.TYOU1 015660 RG 223-8647 223-8647 #257-10001
.TYP3D 015032 RG 60-2590 60-2590 214-8286 214-8286 #246-9568
.TYR50 015772 RG 61-2622 61-2622 #259-10053
.TYSLS 014572 RG 214-8289 214-8289 219-8458 219-8458 #243-9405 244-9478 244-9478
.TYSPC 014602 RG 61-2613 61-2613 62-2652 62-2652 166-6791 166-6791 214-8290 214-8290 216-8353
216-8353 219-8459 219-8459 219-8462 219-8462 #243-9410 244-9479 244-9479
.TYUPA 014612 RG 59-2564 59-2564 #243-9415
.T50TB 001472 RG #39-1720 259-10055
.UMRKC = ****** GX 174-7077
.VFYFL 000310 RG #35-1613
.WHACB = ****** GX 193-7550
.WHATB 007046 RG #193-7549
.WHATC = ****** GX 174-7067 174-7081
.WHATV = ****** GX 193-7584
.WHCON = ****** GX 193-7554
.WHDAT = ****** GX 193-7556
.WHINC = ****** GX 193-7562
.WHKLN = ****** GX 193-7564
.WHMEM = ****** GX 193-7566
.WHOFS = ****** GX 193-7568
.WHOUT = ****** GX 193-7570
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 46
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.WHRDW = ****** GX 193-7560
.WHREC = ****** GX 193-7558
.WHRLD = ****** GX 193-7574
.WHRPT = ****** GX 193-7576
.WHRTY = ****** GX 193-7578
.WHTCL = ****** GX 193-7552
.WHTPS = ****** GX 193-7572
.WHTRK = ****** GX 193-7581
.WRAR1 007512 RG #154-6303
.WRCRM 007534 RG #155-6369
.WRITB 003030 RG 81-3640 81-3640 #83-3708 84-3753 84-3753
.WRITE 003160 RG 82-3680 82-3680 83-3711 83-3711 84-3755 84-3755 #85-3780
.WRITR 002616 RG #81-3617 257-10013 257-10013
.WRITW 002754 RG 81-3636 81-3636 #82-3673 84-3749 84-3749
.WRITZ 003060 RG #84-3739 160-6590 160-6590
.WRMBX = 071000 #87-3838
.WRTAR 007506 RG #154-6301
.ZEROC = ****** GX 174-7085
..DTSP = ****** GX 47-2108 47-2108
..SACK = ****** GX 160-6601 160-6601
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 47
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
ALUN$ #68-2936 #70-3087
CALL #4-118 #47-2102 #47-2108 #48-2145 #51-2253 #53-2313 #56-2421 #58-2537 #59-2549 #59-2554
#59-2560 #59-2564 #59-2567 #59-2570 #60-2585 #60-2590 #60-2592 #61-2606 #61-2608 #61-2610
#61-2612 #61-2613 #61-2620 #61-2622 #62-2641 #62-2642 #62-2650 #62-2651 #62-2652 #62-2661
#64-2714 #64-2716 #64-2718 #64-2719 #66-2785 #66-2791 #66-2805 #66-2807 #67-2823 #67-2824
#67-2830 #68-2871 #68-2874 #68-2876 #68-2878 #68-2879 #68-2884 #71-3132 #71-3133 #74-3306
#77-3446 #77-3452 #77-3461 #77-3463 #78-3506 #79-3539 #80-3588 #81-3636 #81-3640 #82-3680
#83-3711 #84-3749 #84-3753 #84-3755 #85-3794 #88-3868 #88-3872 #89-3905 #89-3915 #90-3948
#97-4156 #97-4161 #97-4163 #99-4233 #99-4242 #99-4249 #99-4258 #100-4288 #100-4291 #103-4397
#103-4399 #104-4416 #104-4418 #104-4419 #104-4424 #104-4427 #104-4440 #104-4446 #104-4450 #106-4505
#108-4600 #111-4702 #113-4781 #113-4784 #113-4787 #114-4836 #114-4841 #115-4849 #115-4860 #115-4873
#115-4877 #115-4878 #116-4926 #116-4929 #117-4966 #117-4968 #117-4990 #119-5026 #119-5028 #119-5037
#119-5043 #120-5084 #120-5086 #122-5116 #122-5119 #122-5125 #122-5128 #122-5133 #124-5190 #124-5196
#124-5202 #124-5206 #124-5211 #126-5249 #126-5251 #126-5257 #126-5260 #126-5264 #126-5267 #127-5306
#127-5308 #128-5317 #128-5318 #128-5320 #128-5325 #128-5332 #128-5335 #128-5337 #129-5368 #129-5376
#132-5498 #132-5500 #134-5569 #134-5571 #134-5579 #134-5584 #134-5586 #134-5589 #134-5591 #135-5626
#135-5628 #136-5665 #136-5667 #136-5672 #137-5705 #137-5709 #138-5738 #138-5741 #139-5773 #139-5782
#141-5830 #141-5832 #141-5835 #141-5836 #141-5837 #141-5838 #141-5842 #141-5847 #142-5899 #143-5949
#143-5954 #145-5992 #145-5993 #145-5996 #145-5998 #145-6002 #146-6033 #147-6062 #147-6066 #148-6096
#150-6160 #152-6211 #152-6212 #152-6214 #152-6215 #152-6218 #153-6264 #154-6302 #154-6304 #154-6307
#155-6376 #155-6384 #155-6389 #155-6392 #155-6393 #155-6395 #155-6397 #158-6513 #159-6522 #159-6524
#159-6532 #159-6533 #159-6547 #160-6586 #160-6590 #160-6593 #160-6601 #162-6657 #163-6669 #163-6677
#163-6681 #163-6693 #163-6695 #163-6698 #165-6736 #165-6737 #165-6747 #166-6777 #166-6779 #166-6781
#166-6783 #166-6791 #166-6792 #172-6940 #172-6942 #172-6944 #172-6946 #198-7707 #198-7709 #198-7710
#199-7739 #199-7741 #199-7744 #200-7804 #207-8029 #207-8032 #207-8035 #207-8053 #207-8060 #210-8161
#210-8162 #211-8174 #211-8176 #211-8177 #211-8185 #211-8187 #211-8188 #214-8281 #214-8286 #214-8289
#214-8290 #214-8291 #214-8293 #216-8349 #216-8352 #216-8353 #216-8362 #216-8368 #218-8429 #218-8434
#219-8455 #219-8457 #219-8458 #219-8459 #219-8461 #219-8462 #219-8469 #222-8573 #222-8579 #223-8624
#223-8633 #223-8638 #223-8647 #223-8648 #226-8782 #226-8783 #227-8811 #228-8849 #228-8852 #228-8853
#228-8855 #228-8857 #228-8860 #228-8862 #229-8875 #229-8882 #229-8883 #229-8884 #230-8945 #230-8958
#230-8960 #231-9034 #232-9061 #232-9064 #233-9094 #234-9129 #234-9132 #235-9172 #236-9200 #237-9231
#237-9236 #237-9237 #237-9242 #237-9245 #237-9250 #238-9293 #238-9296 #243-9419 #244-9464 #244-9472
#244-9473 #244-9477 #244-9478 #244-9479 #244-9481 #244-9482 #249-9708 #249-9713 #251-9788 #252-9810
#252-9813 #252-9815 #253-9858 #253-9862 #253-9871 #254-9900 #256-9953 #256-9955 #257-10013 #259-10059
#259-10066
CALLR #4-127 #58-2540 #61-2615 #66-2802 #88-3874 #94-4066 #97-4174 #103-4401 #115-4863 #120-5088
#142-5901 #156-6440 #159-6548 #224-8695 #258-10028
CLEF$S #46-2063 #50-2217
COMND$ #5-181 #174-7012 #174-7014 #174-7016 #174-7018 #174-7020 #174-7022 #174-7024 #174-7026 #174-7028
#174-7030 #174-7032 #174-7038 #174-7040 #174-7042 #174-7044 #174-7046 #174-7048 #174-7050 #174-7053
#174-7055 #174-7057 #174-7059 #174-7061 #174-7063 #174-7065 #174-7067 #174-7069 #174-7071 #174-7073
#174-7075 #174-7077 #174-7079 #174-7081 #174-7083 #174-7085 #175-7092 #175-7094 #175-7096 #175-7098
#175-7100 #176-7107 #176-7109 #176-7111 #176-7113 #176-7115 #176-7117 #176-7119 #176-7121 #177-7128
#177-7130 #177-7132 #177-7134 #177-7136 #178-7143 #178-7145 #178-7147 #178-7149 #178-7151 #178-7153
#178-7155 #178-7158 #178-7160 #178-7162 #178-7166 #178-7168 #178-7170 #178-7172 #178-7174 #178-7176
#178-7178 #178-7180 #178-7182 #178-7184 #178-7186 #178-7188 #178-7190 #178-7192 #178-7193 #178-7195
#178-7197 #178-7199 #178-7201 #178-7203 #178-7205 #178-7207 #178-7209 #179-7216 #179-7218 #179-7220
#179-7225 #179-7227 #180-7235 #180-7237 #180-7239 #180-7241 #180-7243 #180-7245 #180-7247 #180-7249
#180-7251 #180-7253 #180-7255 #180-7257 #182-7365 #183-7372 #183-7374 #184-7381 #184-7383 #184-7385
#184-7387 #184-7389 #184-7391 #184-7393 #184-7395 #185-7402 #185-7404 #185-7406 #185-7408 #185-7410
#185-7412 #185-7414 #185-7416 #185-7418 #185-7420 #185-7422 #186-7429 #186-7431 #187-7438 #187-7440
#187-7442 #187-7444 #188-7451 #188-7453 #188-7455 #189-7462 #189-7464 #189-7466 #189-7468 #189-7470
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 48
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
#189-7472 #189-7474 #190-7481 #190-7483 #190-7485 #190-7487 #190-7489 #190-7491 #190-7493 #190-7495
#190-7497 #190-7499 #190-7501 #190-7503 #190-7505 #190-7507 #190-7509 #190-7511 #190-7514 #192-7541
#192-7543 #193-7550 #193-7552 #193-7554 #193-7556 #193-7558 #193-7560 #193-7562 #193-7564 #193-7566
#193-7568 #193-7570 #193-7572 #193-7574 #193-7576 #193-7578 #193-7581 #193-7584
DIR$ #50-2217 50-2217 #68-2936 70-3065 70-3069 71-3136 72-3185 72-3189 72-3194 73-3242
74-3290 75-3350 #80-3574 80-3574 #85-3783 85-3783 #87-3836 90-3943 94-4059 100-4279
106-4490 108-4586 110-4662 #149-6125 149-6125 #157-6478 #160-6594 160-6594 #160-6603 160-6603
#223-8613 223-8640 #257-9984 257-9991 257-9993 257-9997 257-10004
ERCON$ #5-172
ERROR$ #5-157 47-2118 49-2189 49-2192 51-2260 54-2366 56-2428 70-3079 70-3081 71-3149
72-3197 73-3247 74-3307 75-3360 80-3589 85-3798 88-3877 94-4075 97-4177 101-4315
101-4319 101-4322 101-4325 104-4455 106-4510 108-4607 111-4708 115-4886 117-4981 134-5596
152-6231 152-6234 155-6401 159-6551 167-6804 167-6807 167-6810 172-6950 199-7760 224-8698
224-8701 227-8818 229-8903 230-8980 236-9213 237-9253 239-9315 239-9318
ERR$ #50-2217 #70-3065 #70-3069 #71-3136 #72-3185 #72-3189 #72-3194 #73-3242 #74-3290 #75-3350
#80-3574 #85-3783 #90-3943 #94-4059 #100-4279 #106-4490 #108-4586 #110-4662 #149-6125 #160-6594
#160-6603 #223-8640 #257-9991 #257-9993 #257-9997 #257-10004
EXCH$ #6-223
EXIT$S #157-6478 #160-6603
FATAL$ #5-164
IKL$ #8-252
IOKL$ #8-280 #117-4985
KLDR$ #87-3836 106-4530
KLDW$ #87-3836 108-4627
KLDX$ #87-3836 111-4729
MOV$ #50-2217 #50-2217 #80-3574 #80-3574 #80-3574 #80-3574 #80-3574 #80-3574 #80-3574 #80-3574
#80-3574 #80-3574 #80-3574 #85-3783 #85-3783 #85-3783 #85-3783 #85-3783 #85-3783 #85-3783
#85-3783 #85-3783 #85-3783 #85-3783 #149-6125 #149-6125 #160-6594 #160-6594 #160-6594 #160-6594
#160-6594 #160-6594
MRKT$ #87-3836 91-3972
MVB$ #80-3574 80-3574 #85-3783 85-3783 #160-6594 160-6594
NBL$ #70-3087 70-3087
NSERR$ #6-201 181-7265 181-7267 181-7269 181-7270 181-7271 181-7272 181-7273 181-7274 181-7275
181-7276 181-7277 181-7278 181-7283 181-7284 181-7285 181-7286 181-7287 181-7288 181-7289
181-7290 181-7291 181-7293 181-7294 181-7295 181-7296 181-7297 181-7298 181-7300 181-7301
181-7302 181-7303 181-7304 181-7305 181-7306 181-7307 181-7309 181-7310 181-7311 181-7312
181-7313 181-7314 181-7315 181-7316 181-7318 181-7319 181-7320 181-7321 181-7322 181-7324
181-7325 181-7327 181-7328 181-7329 181-7330 181-7331 181-7332 181-7333 181-7335 181-7336
181-7338 181-7340 181-7342 181-7343 181-7344 181-7345 181-7347 181-7348 181-7350 181-7352
181-7354 181-7356 181-7358
OFF$ #70-3087 #70-3087 #70-3087 #70-3087 #70-3087 #70-3092 #70-3092 #70-3092 #70-3092 #70-3092
#70-3092 #70-3092 #70-3092 #70-3092 #71-3155 #71-3155 #71-3155 #71-3155 #71-3155 #71-3155
#71-3155 #71-3155 #71-3155 #72-3203 #72-3203 #72-3203 #72-3203 #72-3203 #72-3203 #72-3203
#72-3203 #72-3203 #72-3206 #72-3206 #72-3206 #72-3206 #72-3206 #72-3206 #72-3206 #72-3206
#72-3206 #72-3209 #72-3209 #72-3209 #72-3209 #72-3209 #72-3209 #72-3209 #72-3209 #72-3209
#73-3253 #73-3253 #73-3253 #73-3253 #73-3253 #73-3253 #73-3253 #73-3253 #73-3253 #74-3313
#74-3313 #74-3313 #74-3313 #74-3313 #74-3313 #74-3313 #74-3313 #74-3313 #75-3366 #75-3366
#75-3366 #75-3366 #75-3366 #75-3366 #75-3366 #75-3366 #75-3366 #91-3972 #91-3972 #91-3972
#91-3972 #91-3972 #91-3972 #224-8708 #224-8708 #224-8708 #224-8708 #224-8708 #224-8708 #224-8708
#224-8708 #224-8708 #260-10102 #260-10102 #260-10102 #260-10102 #260-10102 #260-10102 #260-10102 #260-10102
#260-10102 #260-10111 #260-10111 #260-10111 #260-10111 #260-10111 #260-10111 #260-10111 #260-10111 #260-10111
#260-10120 #260-10120 #260-10120 #260-10120 #260-10120 #260-10120 #260-10120 #260-10120 #260-10120 #260-10125
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 49
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
#260-10125 #260-10125 #260-10125 #260-10125 #260-10125 #260-10125 #260-10125 #260-10125
PARVR$ #34-1449 39-1729 39-1729
POP #4-133 #51-2256 #54-2360 #58-2539 #60-2586 #61-2621 #67-2829 #68-2869 #68-2870 #68-2883
#76-3415 #77-3456 #81-3627 #81-3642 #90-3950 #97-4173 #99-4261 #103-4398 #103-4400 #108-4603
#111-4705 #113-4796 #115-4862 #117-4978 #117-4991 #119-5048 #122-5134 #126-5269 #128-5340 #130-5410
#132-5503 #134-5593 #136-5675 #137-5710 #141-5849 #145-6004 #147-6067 #150-6161 #152-6228 #154-6309
#155-6398 #162-6661 #165-6770 #165-6772 #196-7663 #199-7745 #199-7748 #199-7756 #207-8062 #208-8073
#208-8074 #208-8075 #208-8077 #209-8127 #211-8191 #211-8192 #214-8295 #216-8369 #219-8470 #224-8669
#229-8889 #229-8897 #230-8976 #232-9063 #234-9131 #236-9194 #236-9202 #237-9232 #238-9299 #239-9309
#243-9420 #244-9465 #244-9483 #249-9715 #252-9811 #252-9818 #253-9875 #256-9956 #257-10014 #259-10067
#259-10071
PRDP$ #87-3836 #102-4345
PREX$ #87-3836 #102-4363
PUSH #4-139 47-2118 49-2189 49-2192 51-2252 51-2260 54-2343 54-2348 54-2352 54-2366
56-2428 58-2513 60-2575 60-2579 60-2583 61-2618 62-2643 64-2708 66-2786 68-2872
70-3079 70-3081 71-3149 72-3197 73-3247 74-3307 75-3360 76-3404 77-3445 80-3589
81-3618 81-3629 85-3798 88-3877 89-3907 89-3912 90-3945 94-4075 97-4155 97-4177
99-4231 99-4247 101-4315 101-4319 101-4322 101-4325 103-4391 103-4396 103-4406 104-4415
104-4455 106-4510 108-4589 108-4607 111-4708 113-4774 114-4835 115-4886 116-4925 117-4964
117-4981 117-4988 119-5019 122-5118 126-5248 127-5304 129-5369 132-5495 134-5566 134-5596
136-5662 136-5668 137-5703 141-5829 143-5947 145-5991 145-5994 145-5995 147-6064 149-6127
150-6157 152-6210 152-6231 152-6234 153-6262 154-6305 155-6372 155-6401 158-6505 158-6507
158-6508 159-6551 162-6654 165-6740 165-6741 165-6743 167-6804 167-6807 167-6810 172-6950
196-7650 198-7706 199-7742 199-7760 207-8028 207-8040 207-8058 209-8106 210-8157 210-8159
213-8254 213-8255 213-8256 213-8261 213-8262 213-8263 213-8268 213-8269 216-8347 219-8443
222-8572 223-8616 224-8698 224-8701 227-8818 228-8848 229-8881 229-8903 230-8937 230-8980
232-9058 232-9059 234-9126 234-9127 236-9186 236-9205 236-9213 237-9253 238-9280 238-9283
238-9294 239-9315 239-9318 243-9391 243-9396 243-9401 243-9406 243-9411 243-9416 244-9458
244-9466 245-9530 246-9569 246-9581 247-9618 248-9657 248-9668 248-9670 252-9803 252-9804
252-9808 252-9814 253-9866 256-9951 257-10010 259-10054 259-10060
QDPB$ #70-3092 #70-3092 #71-3155 #71-3155 #72-3203 #72-3203 #72-3206 #72-3206 #72-3209 #72-3209
#73-3253 #73-3253 #74-3313 #74-3313 #75-3366 #75-3366 #224-8708 #224-8708 #260-10102 #260-10102
#260-10111 #260-10111 #260-10120 #260-10120 #260-10125 #260-10125
QDPB$S #80-3574 80-3574 #85-3783 85-3783 #160-6594 160-6594
QIOW$ #68-2936 70-3092 71-3155 72-3203 72-3206 72-3209 73-3253 74-3313 75-3366 #223-8613
224-8708 #257-9984 260-10102 260-10111 260-10120 260-10125
QIOW$S #68-2936 80-3574 85-3783 #157-6478 160-6594
RETURN #4-147 47-2106 47-2117 48-2158 49-2187 50-2220 51-2250 52-2289 53-2316 54-2361
55-2396 56-2426 70-3076 71-3140 71-3144 72-3193 73-3244 74-3296 75-3354 76-3416
77-3457 78-3511 79-3544 80-3580 80-3582 81-3628 82-3684 83-3715 84-3756 85-3791
90-3951 94-4070 99-4262 100-4282 100-4290 104-4453 106-4508 108-4604 111-4706 113-4797
117-4979 119-5050 122-5135 124-5214 126-5270 128-5341 130-5411 132-5504 134-5594 135-5630
136-5678 137-5711 138-5744 139-5795 141-5851 145-6005 146-6037 147-6068 148-6098 150-6162
152-6229 154-6310 155-6399 159-6545 162-6662 165-6773 169-6876 172-6948 196-7665 205-7998
208-8078 209-8128 211-8193 214-8296 216-8370 219-8471 222-8583 224-8671 225-8752 226-8786
227-8816 229-8898 230-8977 231-9040 233-9104 235-9179 239-9313 243-9421 244-9484 249-9716
252-9829 253-9876 256-9958 258-10026 259-10072
RVP$ #80-3574 80-3574 #85-3783 85-3783 #160-6594 160-6594
SPERR$ #6-211 #191-7522 #191-7524 #191-7526 #191-7527 #191-7528 #191-7530 #191-7531 #191-7532 #191-7534
WTSE$S #87-3836 149-6125
$DEF #87-3836 87-3838
.ENB6 #157-6478 #160-6602
PAROOT CREATED BY MACRO ON 3-APR-86 AT 22:53 PAGE 50
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
.INH6 #157-6478 #160-6597
ABRTC -- ABORT COMMAND MODULE 7 MACRO M1113 03-APR-86 22:56
TABLE OF CONTENTS
34- 1442 .ABRTC -- THE "ABORT" COMMAND 7602.23
35- 1466 .ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
38- 1561 .CONTC -- THE "CONTINUE" COMMAND 7611.17
40- 1648 .DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
41- 1686 .DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
42- 1749 .EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
43- 1789 .EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
44- 1852 .DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
45- 1890 .EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
46- 1928 .EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
47- 1941 .EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
49- 2029 .DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
50- 2082 .DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
51- 2171 .DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
52- 2212 .DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
53- 2246 .XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
56- 2337 .DISCC -- THE "DISCONNECT" COMMAND 7702.28
57- 2412 .DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
59- 2482 .DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
60- 2521 .EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
62- 2614 .EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
65- 2676 .DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
66- 2717 .DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
69- 2831 .DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.29
70- 2869 .EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
72- 2989 .EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
73- 3016 .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
78- 3193 .EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
80- 3270 .EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
81- 3298 TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY
82- 3407 STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT
83- 3465 TYPDX1 -- SYMBOLIC DEXWD1-DEXWD3 TYPE OUT
84- 3490 TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT
85- 3568 TYPDG1 -- SYMBOLIC DIAG1 TYPE OUT
86- 3612 TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT
89- 3668 .EXAD -- KL DATA PATH BOARD EXAMINES 7602.16
90- 3709 .EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
92- 3754 .EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
94- 3815 .EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
95- 3855 .EXCRA -- SMALL REGISTER EXAMINES 7609.10
98- 3907 .EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
100- 3978 .EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
101- 3995 .RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
103- 4067 .RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
105- 4134 .RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
107- 4198 .RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
110- 4331 .RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
112- 4468 .GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
114- 4623 .GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
115- 4734 .TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
116- 4797 .TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
118- 4883 .HALTC -- THE "HALT" COMMAND 7710.11
120- 4948 .INITC -- THE "INITIALIZE" COMMAND 7602.16
121- 4974 .INIT -- INITIALIZATION SUBROUTINE 7509.26
122- 5016 .INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
125- 5129 .INICP -- INITIALIZE THE COMMAND PARSER 7601.21
130- 5266 .KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS
KLEDEF -- KLERR SNAPSHOT DEFAUL MACRO M1113 03-APR-86 22:56
TABLE OF CONTENTS
131- 5368 .SNAP -- ROUTINE TO MANUALLY PERFORM A SNAPSHOT
134- 5439 .MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19
137- 5539 .RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
138- 5579 .RSALL -- THE "RESET ALL" COMMAND 7602.18
139- 5605 .RSTPI -- THE "RESET PI" COMMAND 7607.21
140- 5642 .RSPAG -- THE "RESET PAG" COMMAND 7607.21
143- 5729 .RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
146- 5810 .TAKEC -- THE "TAKE" COMMAND
147- 5873 .GTR50 -- GET A .RAD50 WORD 7602.18
149- 5928 .QUITC -- THE "QUIT" COMMAND 7602.16
152- 5988 .RSTRC -- THE "RESTORE" COMMAND DISPATCH 8306.09
153- 6017 .RSACB-- THE "RESTORE AC-BLOCK" COMMAND 8306.09
154- 6081 .SAVEC -- THE "SAVE" COMMAND DISPATCH 8306.09
155- 6110 .SVACB-- THE "SAVE AC-BLOCK" COMMAND 8306.09
156- 6139 .SVPC -- THE "SAVE PC" COMMAND 8306.09
157- 6171 .SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS
159- 6238 .SAVPC -- PC READ SUBROUTINE 8306.17
161- 6346 .SCACB -- SET AC-BLOCK COMMAND
162- 6385 .SACBK -- SET AC BLOCK ROUTINE
163- 6456 .WHACB -- WHAT AC BLOCK COMMAND
164- 6486 .SWPC -- SWEEP AC BLOCK COMMAND
165- 6576 .SWPAC -- SWEEP ALL AC BLOCKS FOR FM PARITY ERROR
166- 6665 .RSSWP -- RESET PARITY STOPS FOR FM SWEEP
169- 6748 .SCOUT -- SET/CLEAR OUTPUT COMMAND
170- 6799 .SCOTL -- SET/CLEAR OUTPUT LOG COMMAND
171- 6912 .SCOTP -- SET/CLEAR OUTPUT LPT COMMAND
172- 6953 .SCOTY -- SET/CLEAR OUTPUT TTY COMMAND
173- 6983 .SCOTC -- SET/CLEAR OUTPUT CHECK ROUTINE
174- 7013 .WHOUT -- WHAT OUTPUT COMMAND
178- 7125 .SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
179- 7172 .WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
180- 7201 .SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
182- 7243 .SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
184- 7319 .STRTC -- THE "START" COMMAND 7602.26
185- 7348 .STRTT -- THE "START <TEN>" COMMAND 7710.11
187- 7411 .STRTU -- THE "START MICROCODE" COMMAND 7602.26
189- 7494 .SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
190- 7539 .WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
191- 7563 .SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
192- 7588 .WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
193- 7621 .SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
194- 7648 .WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
195- 7668 .SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
196- 7681 .WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
197- 7697 .SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
198- 7705 .SCRTY -- THE "SET / CLEAR RETRY" COMMAND 7-DEC-78
199- 7717 .WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
200- 7730 .WHRTY -- THE "WHAT RETRY" COMMAND 7-DEC-78
201- 7754 .SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
202- 7776 .SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
203- 7789 .WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
204- 7804 .WHATV -- THE "WHAT VERSION" COMMAND 7607.21
205- 7831 .WHRDW -- DISPLAY KL10 HARDWARE ENVIRONMENT 7910.18
206- 7929 .SFREC -- SET/CLEAR FAULT COMMAND
207- 7939 WHAT FAULT CONTINUATION COMMAND
208- 7996 .SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
211- 8118 .SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56
TABLE OF CONTENTS
213- 8207 .SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
214- 8249 .WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
217- 8339 .WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
220- 8413 .YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
223- 8514 .SCDAT -- "SET DATE" COMMAND 7703.04
225- 8650 .WHDAT -- THE "WHAT" DATE COMMAND 7703.03
229- 8786 .SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
232- 9073 .WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
236- 9227 .ZEROC -- THE "ZERO" COMMAND 7609.15
ABRTC -- ABORT COMMAND MODULE 7 MACRO M1113 03-APR-86 22:56 PAGE 33
COPYRIGHT PAGE
1410 .TITLE ABRTC -- ABORT COMMAND MODULE 7602.23
1411
1412 .IDENT "005000"
1413 ;
1414 ; COPYRIGHT (C) 1975, 1984 BY
1415 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
1416 ;
1417 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
1418 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
1419 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
1420 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
1421 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
1422 ;
1423 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
1424 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
1425 ; CORPORATION.
1426 ;
1427 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
1428 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
1429 ;
1430 ; MODULE: ABORT COMMAND
1431 ;
1432 ; VERSION: 05-00
1433 ;
1434 ; AUTHOR: R. BELANGER
1435 ;
1436 ; DATE: 7602.23
1437 ;
1438 ; THIS MODULE CONTAINS:
1439 ;
1440 ; 1) ABORT COMMAND CODE
ABRTC -- ABORT COMMAND MODULE 7 MACRO M1113 03-APR-86 22:56 PAGE 34
.ABRTC -- THE "ABORT" COMMAND 7602.23
1442 .SBTTL .ABRTC -- THE "ABORT" COMMAND 7602.23
1443
1444 ;+
1445 ; .ABRTC -- THE "ABORT" COMMAND
1446 ;
1447 ; THIS ROUTINE CALLS THE ABORT SUBROUTINE ".ABORT", Q.V.
1448 ;
1449 ; INPUT ARGUMENTS:
1450 ;
1451 ; NONE.
1452 ;
1453 ; OUTPUT ARGUMENTS:
1454 ;
1455 ; NONE.
1456 ;
1457 ; ERROR CODES RETURNED:
1458 ;
1459 ; NONE.
1460 ;-
1461
1462 000000 .ABRTC::
1463 000000 CALL .CKEOC ; MUST HAVE E-O-C
000000 004737 000000G JSR PC,.CKEOC
1464 ; CALLR .ABORT ; ABORT CURRENT KL OPERATION AND EXIT
ABRTC -- ABORT COMMAND MODULE 7 MACRO M1113 03-APR-86 22:56 PAGE 35
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
1466 .SBTTL .ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
1467
1468 ;+
1469 ; .ABORT -- SUBROUTINE TO ABORT THE CURRENT KL PROCESS
1470 ;
1471 ; THIS SUBROUTINE ABORTS THE CURRENT KL PROCESS AND RETURNS WITH
1472 ; THE KL CLOCK RUNNING IN THE HALT LOOP. IF THE "HALT" FAILS, THE
1473 ; KL MICROCODE IS RESTARTED. THE CONTINUEABILITY OF THE KL IS
1474 ; INDICATED BY THE STATE OF THE "KF.CON" FLAG BIT (Q.V.) IN ".KLFLG".
1475 ;
1476 ; SEQUENCE OF OPERATION:
1477 ;
1478 ; (A) THE KL IS HALTED,
1479 ; (B) IF THE HALT WINS GO TO (E), OTHERWISE GO TO (C),
1480 ; (C) THE MICRO CODE IS RESTARTED AT CRAM ADDRESS 0000,
1481 ; (D) SECONDARY PROTOCOL IS STARTED
1482 ; (E) EXIT.
1483 ;
1484 ; INPUT ARGUMENTS:
1485 ;
1486 ; NONE.
1487 ;
1488 ; OUTPUT ARGUMENTS:
1489 ;
1490 ; NONE.
1491 ;
1492 ; ERROR CODES RETURNED:
1493 ;
1494 ; CFH -- CAN'T FIND KL HALT LOOP.
1495 ; FRF -- FUNCTION READ FAILED.
1496 ; FWF -- FUNCTION WRITE FAILED.
1497 ; FXF -- FUNCTION EXECUTE FAILED.
1498 ; UNL -- UCODE NOT LOADED.
1499 ;
1500 ; NOTE:
1501 ;
1502 ; THE CONTINUEABILITY OF THE KL IS NOT GUARANTEED BY THIS
1503 ; SUBROUTINE.
1504 ;-
ABRTC -- ABORT COMMAND MODULE 7 MACRO M1113 03-APR-86 22:56 PAGE 36
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
1506 .ENABL LSB
1507
1508 000004 .ABORT::
1509 000004 PUSH R0 ; SAVE R0 ON THE STACK
000004 010046 MOV R0,-(SP)
1510 000006 PUSH #.ABRT0 ; .IN CASE ".KLSTP" TRAPS
000006 012746 000032' MOV #.ABRT0,-(SP)
1511 000012 010637 000000G MOV SP,.TRPTV ; ..STACK POINTER FOR RETURN
1512 000016 CALL .KLSTP ; ..HALT THE KL
000016 004737 000000G JSR PC,.KLSTP
1513 000022 005726 TST (SP)+ ; ..CLEAR RETURN
1514 000024 005037 000000G CLR .TRPTV ; .AND TRAP VECTOR
1515 000030 000410 BR 10$ ; .AND EXIT
1516 ;
1517 000032 .ABRT0:: ; .GET HERE IF ".KLSTP" TRAPPED
1518 000032 005000 CLR R0 ; .CLEAR R0 (STACK POPPED BY ".PTTRP")
1519 000034 CALL .STUCD ; .(RE)START THE UCODE
000034 004737 000000G JSR PC,.STUCD
1520 000040 052737 000000G 000002G BIS #EF.CRI,.COMEF+2 ; .DECLARE THE COMM REGION INVALID
1521 000046 CALL ..DTP2 ; .START SECONDARY PROTOCOL
000046 004737 000000G JSR PC,..DTP2
1522 000052 10$:
1523 000052 POP R0 ; .RESTORE R0
000052 012600 MOV (SP)+,R0
1524 000054 CALL KLPSTP ; [**]
000054 004737 000000G JSR PC,KLPSTP
1525 000060 RETURN ; TO CALLER
000060 000207 RTS PC
1526
1527 .DSABL LSB
ABRTC -- ABORT COMMAND MODULE 7 MACRO M1113 03-APR-86 22:56 PAGE 37
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
1529
1530 .TITLE CONTC -- CONTINUE COMMAND MODULE 7611.17
1531
1532 .IDENT "005000"
1533
1534 ;
1535 ; COPYRIGHT (C) 1975, 1984, 1985 BY
1536 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
1537 ; AL RIGHTS RESERVED.
1538 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
1539 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
1540 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
1541 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
1542 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
1543 ;
1544 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
1545 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
1546 ; CORPORATION.
1547 ;
1548 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
1549 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
1550 ;
1551 ; VERSION: 05-00
1552 ;
1553 ; AUTHOR: R. BELANGER
1554 ;
1555 ; DATE: 7611.17
1556 ;
1557 ; THIS MODULE CONTAINS:
1558 ;
1559 ; 1) CONTINUE COMMAND CODE
CONTC -- CONTINUE COMMAND MODUL MACRO M1113 03-APR-86 22:56 PAGE 38
.CONTC -- THE "CONTINUE" COMMAND 7611.17
1561 .SBTTL .CONTC -- THE "CONTINUE" COMMAND 7611.17
1562
1563 ;+
1564 ; .CONTC -- THE "CONTINUE" COMMAND
1565 ;
1566 ; THIS ROUTINE EXECUTES THE "CONTINUE" CONSOLE FUNCTION
1567 ;
1568 ; INPUT ARGUMENTS:
1569 ;
1570 ; NONE.
1571 ;
1572 ; OUTPUT ARGUMENTS:
1573 ;
1574 ; NONE.
1575 ;
1576 ; ERROR CORES RETURNED:
1577 ;
1578 ; KNC -- KL IS NOT CONTINUABLE
1579 ;-
1580
1581 000062 .CONTC::
1582 000062 CALL .CKEOC ; CHECK E-O-C
000062 004737 000000G JSR PC,.CKEOC
1583 000066 PUSH .KLFLG ; SAVE ".KLFLG" ON THE STACK
000066 013746 000000G MOV .KLFLG,-(SP)
1584 000072 032716 000200 BIT #KF.CON,(SP) ; .CAN WE CONTINUE THE KL?
1585 000076 001427 BEQ CONKNC ; .NO -- GIVE "KNC" ERROR
1586 000100 032716 010000 BIT #KF.SIM,(SP) ; .YES -- ARE WE IN SINGLE INSTRUCTION MODE?
1587 000104 001412 BEQ 20$ ; .NO -- JUST CONTINUE THE KL
1588 000106 032716 100000 BIT #KF.CLK,(SP) ; .YES -- IS THE CLOCK RUNNING?
1589 000112 001002 BNE 10$ ; .YES -- DON'T START IT AGAIN
1590 000114 CALL .STCLK ; .NO -- START IT
000114 004737 000000G JSR PC,.STCLK
1591 000120 10$:
1592 000120 012700 000024 MOV #FX.CON,R0 ; .SET THE "CONTINUE" BUTTON
1593 000124 CALL .FXCT ; .VIA FUNCTION EXECUTE
000124 004737 000000G JSR PC,.FXCT
1594 000130 000407 BR 30$ ; .AND EXIT
1595 ;
1596 000132 20$:
1597 000132 CALL .KLCON ; .DO THE CONTINUE
000132 004737 000000G JSR PC,.KLCON
1598 000136 032716 040000 BIT #KF.RUN,(SP) ; .WAS THE KL RUNNING BEFORE?
1599 000142 001002 BNE 30$ ; .YES -- JUST EXIT
1600 000144 005037 000000G CLR .NOERR ; RE-ENABLE ERROR DETECTION
1601 000150 30$:
1602 000150 005726 TST (SP)+ ; .CLEAR THE STACK
1603 000152 CALLR .EXITP
000152 000137 000000G JMP .EXITP
1604 ;
1605
1606 000156 CONKNC:
1607 000156 ERROR$ KNC ; ERROR -- KL NOT CONTINUEABLE
000156 012746 043363 MOV #^RKNC,-(SP)
000162 104400 TRAP TC.ERR
1608 ;
CONTC -- CONTINUE COMMAND MODUL MACRO M1113 03-APR-86 22:56 PAGE 39
.CONTC -- THE "CONTINUE" COMMAND 7611.17
1610
1611
1612 .TITLE DECMD -- DEPOSIT / EXAMINE COMMAND DISPATCH MODULE 7603.30
1613
1614 .IDENT "005000"
1615
1616 ;
1617 ; COPYRIGHT (C) 1975, 1984, 1985 BY
1618 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
1619 ; ALL RIGHTS RESERVED.
1620 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
1621 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
1622 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
1623 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
1624 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
1625 ;
1626 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
1627 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
1628 ; CORPORATION.
1629 ;
1630 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
1631 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
1632 ;
1633 ; MODULE: DEPOSIT / EXAMINE COMMAND DISPATCH
1634 ;
1635 ; VERSION: 05-00
1636 ;
1637 ; AUTHOR: R. BELANGER
1638 ;
1639 ; DATE: 7603.30
1640 ;
1641 ; THIS MODULE CONTAINS:
1642 ;
1643 ; 1) DEPOSIT COMMAND DISPATCH CODE
1644 ; 2) DEPOSIT COMMAND DISPATCH TABLES
1645 ; 3) EXAMINE COMMAND DISPATCH CODE
1646 ; 4) EXAMINE COMMAND DISPATCH TABLES
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1113 03-APR-86 22:56 PAGE 40
.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
1648 .SBTTL .DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
1649
1650 ;+
1651 ; .DPOSC -- THE "DEPOSIT" COMMAND.
1652 ;
1653 ; THIS IS THE TOP LEVEL DEPOSIT ROUTINE WHICH DISPATCHES TO THE
1654 ; PROPER ROUTINE FOR THE OBJECT TO BE DEPOSITED.
1655 ;
1656 ; INPUT ARGUMENTS:
1657 ;
1658 ; NONE.
1659 ;
1660 ; OUTPUT ARGUMENTS:
1661 ;
1662 ; NONE.
1663 ;
1664 ; ERROR CODES RETURNED:
1665 ;
1666 ; NSK -- NO SUCH KEYWORD
1667 ;-
1668
1669 000164 .DPOSC::
1670 000164 013703 000000G MOV .MEMFL,R3 ; OFFSET FLAG TO R3
1671 000170 CALL .CKARG ; LOOK FOR THE ARGUMENT
000170 004737 000000G JSR PC,.CKARG
1672 000174 001435 BEQ .DPOBJ ; DISPATCH FOR OBJECT
1673 000176 .DPOSA:: ; HERE TO DISPATCH FOR MEMORY
1674 000176 CALLR @DPOATB(R3) ; DISPATCH
000176 000173 000000' JMP @DPOATB(R3)
1675 ;
1676
1677 000000 .PSECT DATA
1678
1679 000000 DPOATB:
1680 000000 002244' .WORD .DPOST ; DEPOSIT TEN
1681 000002 001372' .WORD .DPOSE ; DEPOSIT ELEVEN WORD
1682
1683 000202 .PSECT
1684
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1113 03-APR-86 22:56 PAGE 41
.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 76
1686 .SBTTL .DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
1687
1688 000202 .DPOSD:: ; DEPOSIT DECREMENT
1689 000202 CALLR @DPODTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000202 000173 000004' JMP @DPODTB(R3)
1690 ;
1691
1692 000004 .PSECT DATA
1693
1694 000004 DPODTB:
1695 000004 002572' .WORD .DPKLD ; KL WORD
1696 000006 001562' .WORD .DPEWD ; PDP-11 WORD
1697
1698 000206 .PSECT
1699
1700 000206 .DPOSI:: ; DEPOSIT INCREMENT
1701 000206 CALLR @DPOITB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000206 000173 000010' JMP @DPOITB(R3)
1702 ;
1703
1704 000010 .PSECT DATA
1705
1706 000010 DPOITB:
1707 000010 002600' .WORD .DPKLI ; KL WORD
1708 000012 001570' .WORD .DPEWI ; PDP-11 WORD
1709
1710 000212 .PSECT
1711
1712 000212 .DPOSN:: ; DEPOSIT NEXT
1713 000212 CALLR @DPONTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000212 000173 000014' JMP @DPONTB(R3)
1714 ;
1715
1716 000014 .PSECT DATA
1717
1718 000014 DPONTB:
1719 000014 002606' .WORD .DPKLN ; KL WORD
1720 000016 001576' .WORD .DPEWN ; PDP-11 WORD
1721
1722 000216 .PSECT
1723
1724 000216 .DPOSP:: ; DEPOSIT PREVIOUS
1725 000216 CALLR @DPOPTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000216 000173 000020' JMP @DPOPTB(R3)
1726 ;
1727
1728 000020 .PSECT DATA
1729
1730 000020 DPOPTB:
1731 000020 002614' .WORD .DPKLP ; KL WORD
1732 000022 001604' .WORD .DPEWP ; PDP-11 WORD
1733
1734 000222 .PSECT
1735
1736 000222 .DPOSZ:: ; DEPOSIT THIS
1737 000222 CALLR @DPOZTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000222 000173 000024' JMP @DPOZTB(R3)
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1113 03-APR-86 22:56 PAGE 41-1
.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 76
1738 ;
1739
1740 000024 .PSECT DATA
1741
1742 000024 DPOZTB:
1743 000024 002564' .WORD .DPKLT ; KL WORD
1744 000026 001554' .WORD .DPEWT ; PDP-11 WORD
1745
1746 000226 .PSECT
1747
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1113 03-APR-86 22:56 PAGE 42
.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
1749 .SBTTL .EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
1750
1751 ;+
1752 ; .EXAMC -- THE "EXAMINE" COMMAND DISPATCH.
1753 ;
1754 ; THIS IS THE TOP LEVEL EXAMINE ROUTINE WHICH DETERMINES WHICH
1755 ; OBJECT IS TO BE EXAMINED.
1756 ;
1757 ; INPUT ARGUMENTS:
1758 ;
1759 ; NONE.
1760 ;
1761 ; OUTPUT ARGUMENTS:
1762 ;
1763 ; NONE, THIS ROUTINE DISPATCHES TO THE PROPER ROUTINE
1764 ; FOR THE OBJECT SPECIFIED.
1765 ;
1766 ; ERROR CODES RETURNED:
1767 ;
1768 ; NONE.
1769 ;-
1770
1771 000226 .EXAMC::
1772 000226 013703 000000G MOV .MEMFL,R3 ; MEMORY FLAG TO R3
1773 000232 CALL .CKARG ; CHECK THE ARGUMENT
000232 004737 000000G JSR PC,.CKARG
1774 000236 001434 BEQ .EXOBJ ; EXAMINE THE OBJECT
1775 ;
1776 000240 .EXAMA:: ; HERE TO DISPATCH FOR MEMORY
1777 000240 CALLR @EXMDTB(R3) ; DISPATCH
000240 000173 000030' JMP @EXMDTB(R3)
1778 ;
1779
1780 000030 .PSECT DATA
1781
1782 000030 EXMDTB:
1783 000030 002652' .WORD .EXAMT ; EXAMINE TEN
1784 000032 001642' .WORD .EXAME ; EXAMINE ELEVEN WORD
1785
1786 000244 .PSECT
1787
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1113 03-APR-86 22:56 PAGE 43
.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 76
1789 .SBTTL .EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
1790
1791 000244 .EXAMD:: ; EXAMINE DECREMENT
1792 000244 CALLR @EXADTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000244 000173 000034' JMP @EXADTB(R3)
1793 ;
1794
1795 000034 .PSECT DATA
1796
1797 000034 EXADTB:
1798 000034 003244' .WORD .EXKLD ; KL WORD
1799 000036 002124' .WORD .EXEWD ; PDP-11 WORD
1800
1801 000250 .PSECT
1802
1803 000250 .EXAMI:: ; EXAMINE INCREMENT
1804 000250 CALLR @EXAITB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000250 000173 000040' JMP @EXAITB(R3)
1805 ;
1806
1807 000040 .PSECT DATA
1808
1809 000040 EXAITB:
1810 000040 003252' .WORD .EXKLI ; KL WORD
1811 000042 002132' .WORD .EXEWI ; PDP-11 WORD
1812
1813 000254 .PSECT
1814
1815 000254 .EXAMN:: ; EXAMINE NEXT
1816 000254 CALLR @EXANTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000254 000173 000044' JMP @EXANTB(R3)
1817 ;
1818
1819 000044 .PSECT DATA
1820
1821 000044 EXANTB:
1822 000044 003260' .WORD .EXKLN ; KL WORD
1823 000046 002140' .WORD .EXEWN ; PDP-11 WORD
1824
1825 000260 .PSECT
1826
1827 000260 .EXAMP:: ; EXAMINE PREVIOUS
1828 000260 CALLR @EXAPTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000260 000173 000050' JMP @EXAPTB(R3)
1829 ;
1830
1831 000050 .PSECT DATA
1832
1833 000050 EXAPTB:
1834 000050 003266' .WORD .EXKLP ; KL WORD
1835 000052 002146' .WORD .EXEWP ; PDP-11 WORD
1836
1837 000264 .PSECT
1838
1839 000264 .EXAMZ:: ; EXAMINE THIS
1840 000264 CALLR @EXAZTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000264 000173 000054' JMP @EXAZTB(R3)
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1113 03-APR-86 22:56 PAGE 43-1
.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 76
1841 ;
1842
1843 000054 .PSECT DATA
1844
1845 000054 EXAZTB:
1846 000054 003236' .WORD .EXKLT ; KL WORD
1847 000056 002116' .WORD .EXEWT ; PDP-11 WORD
1848
1849 000270 .PSECT
1850
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1113 03-APR-86 22:56 PAGE 44
.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
1852 .SBTTL .DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
1853
1854 ;+
1855 ; .DPOBJ -- DEPOSIT "OBJECT" COMMAND DISPATCH
1856 ;
1857 ; THIS SUBROUTINE PERFORMS THE DISPATCH FOR THE SPECIFIED DEPOSIT OBJECT
1858 ;
1859 ; INPUT ARGUMENTS:
1860 ;
1861 ; R3 CONTAINS THE OLD MEMORY TYPE OFFSET
1862 ;
1863 ; OUTPUT ARGUMENTS:
1864 ;
1865 ; R3 CONTAINS THE CURRENT MEMORY TYPE OFFSET
1866 ;
1867 ; ERROR CODES RETURNED:
1868 ;
1869 ; NONE.
1870 ;-
1871
1872
1873 000270 .DPOBJ::
1874 000270 012700 000000G MOV #.DPOTB,R0 ; TABLE POINTER TO R0
1875 000274 CALL .TSCAN ; SCAN THE TABLE FOR OBJECT
000274 004737 000000G JSR PC,.TSCAN
1876 000300 012001 MOV (R0)+,R1 ; LEGAL BITS TO R1
1877 000302 005101 COM R1 ; INVERT THEM
1878 000304 040137 000000G BIC R1,.LGLWD ; SET UP NEW LEGAL WORD
1879 000310 CALLR @(R0)+ ; DISPATCH FOR OBJECT
000310 000130 JMP @(R0)+
1880 ;
1881 000312 .DPOKL::
1882 000312 005003 CLR R3 ; TEN MEMORY OFFSET TO R3
1883 000314 CALLR .DPOST ; GO DO IT
000314 000137 002244' JMP .DPOST
1884 ;
1885 000320 .DPOEL::
1886 000320 012703 000002 MOV #^D2,R3 ; PDP-11 WORD OFFSET TO R3
1887 000324 CALLR .DPOSE ; GO DO IT
000324 000137 001372' JMP .DPOSE
1888 ;
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1113 03-APR-86 22:56 PAGE 45
.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
1890 .SBTTL .EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
1891
1892 ;+
1893 ; .EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH.
1894 ;
1895 ; THIS ROUTINE IS THE DISPATCH FOR ALL OF THE "EXAMINE <OBJECT>" COMMANDS.
1896 ;
1897 ; INPUT ARGUMENTS:
1898 ;
1899 ; NONE.
1900 ;
1901 ; OUTPUT ARGUMENTS:
1902 ;
1903 ; NONE.
1904 ;
1905 ; ERROR CODES RETURNED:
1906 ;
1907 ; NSC -- NO SUCH COMMAND.
1908 ;-
1909
1910 000330 .EXOBJ::
1911 000330 012700 000000G MOV #.EXMTB,R0 ; EXAMINE TABLE POINTER TO R0
1912 000334 CALL .TSCAN ; SCAN THE TABLE
000334 004737 000000G JSR PC,.TSCAN
1913 000340 011001 MOV (R0),R1 ; LEGAL BITS TO R1
1914 000342 005101 COM R1 ; INVERT THEM
1915 000344 040137 000000G BIC R1,.LGLWD ; SET UP NEW LEGAL WORD
1916 000350 014002 MOV -(R0),R2 ; NAME POINTER TO R2
1917 000352 CALLR @4(R0) ; READ AND PRINT THE REGISTER
000352 000170 000004 JMP @4(R0)
1918 ;
1919 000356 .EXMEL::
1920 000356 012703 000002 MOV #^D2,R3 ; PDP-11 OFFSET TO R3
1921 000362 CALLR .EXAME ; DO THE EXAMINE
000362 000137 001642' JMP .EXAME
1922 ;
1923 000366 .EXMKL::
1924 000366 005003 CLR R3 ; KL MEMORY OFFSET TO R3
1925 000370 CALLR .EXAMT ; DO THE EXAMINE
000370 000137 002652' JMP .EXAMT
1926 ;
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1113 03-APR-86 22:56 PAGE 46
.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>"
1928 .SBTTL .EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
1929
1930 000374 .EDEWD::
1931 000374 .EDEWP::
1932 000374 013700 000000G MOV .EDELA,R0 ; ADDRESS TO R0
1933 000400 162700 000002 SUB #^D2,R0 ; PREVIOUS WORD ADDRESS
1934 000404 RETURN ; TO CALLER
000404 000207 RTS PC
1935 000406 .EDEWI::
1936 000406 .EDEWN::
1937 000406 013700 000000G MOV .EDELA,R0 ; ADDRESS TO R0
1938 000412 062700 000002 ADD #^D2,R0 ; NEXT WORD ADDRESS
1939 000416 RETURN ; TO CALLER
000416 000207 RTS PC
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1113 03-APR-86 22:56 PAGE 47
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM
1941 .SBTTL .EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
1942
1943 .ENABL LSB
1944
1945 000420 .EDKLP::
1946 000420 CALL .EDKLC ; DO COMMON CODE
000420 004737 000516' JSR PC,.EDKLC
1947 000424 CALL .TPDEC ; DECREMENT ONCE
000424 004737 000000G JSR PC,.TPDEC
1948 000430 000422 BR 10$ ; EXIT THRU COMMON CODE
1949 ;
1950 000432 .EDKLN::
1951 000432 CALL .EDKLC ; DO COMMON CODE
000432 004737 000516' JSR PC,.EDKLC
1952 000436 CALL .TPINC ; INCREMENT ONCE
000436 004737 000000G JSR PC,.TPINC
1953 000442 000415 BR 10$ ; EXIT THRU COMMON CODE
1954 ;
1955 000444 .EDKLD::
1956 000444 CALL .EDKLC ; DO COMMON CODE
000444 004737 000516' JSR PC,.EDKLC
1957 000450 012701 000000G MOV #.KLINC,R1 ; POINT TO THE INCREMENT
1958 000454 CALL .TPSUB ; DO THE SUBTRACTION
000454 004737 000000G JSR PC,.TPSUB
1959 000460 000406 BR 10$ ; EXIT THRU COMMON CODE
1960 ;
1961 000462 .EDKLI::
1962 000462 CALL .EDKLC ; DO COMMON CODE
000462 004737 000516' JSR PC,.EDKLC
1963 000466 012701 000000G MOV #.KLINC,R1 ; POINT TO THE INCREMENT
1964 000472 CALL .TPADD ; DO THE ADDITION
000472 004737 000000G JSR PC,.TPADD
1965 000476 10$:
1966 000476 032760 177600 000002 BIT #^C177,2(R0) ; CHECK THE RESULT
1967 000504 001015 BNE EDNKLA ; ERROR IF TOO LARGE
1968 000506 005760 000004 TST 4(R0) ; HOW ABOUT HIGH BITS?
1969 000512 001012 BNE EDNKLA ; TOO LARGE
1970 000514 000410 BR 20$ ; ALL OK -- RETURN
1971 ;
1972 000516 .EDKLC::
1973 000516 012700 000000G MOV #.EDKLX,R0 ; AUX ADDRESS POINTER TO R0
1974 000522 012701 000000G MOV #.EDKLA,R1 ; EXAM / DEPOS ADDRESS TO R1
1975 000526 012120 MOV (R1)+,(R0)+ ; LOAD CURRENT ADDRESS
1976 000530 012120 MOV (R1)+,(R0)+ ; INTO AUXILLIARY ADDRESS BUFFER
1977 000532 011110 MOV (R1),(R0) ; SO
1978 000534 024040 CMP -(R0),-(R0) ; BACK THE POINTER UP
1979 000536 20$:
1980 000536 RETURN ; AND GO ON
000536 000207 RTS PC
1981
1982 .DSABL LSB
1983
1984 000540 EDNKLA:
1985 000540 ERROR$ KLA ; ERROR -- KL ADDRESS ERROR
000540 012746 043241 MOV #^RKLA,-(SP)
000544 104400 TRAP TC.ERR
1986 ;
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1113 03-APR-86 22:56 PAGE 48
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM
1988
1989 .TITLE DFUNC -- KL10 DIAGNOSTIC FUNCTION MODULE 7603.30
1990
1991 .IDENT "007030"
1992 ;
1993 ; COPYRIGHT (C) 1975, 1984, 1985 BY
1994 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
1995 ; ALL RIGHTS RESERVED.
1996 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
1997 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
1998 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
1999 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
2000 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2001 ;
2002 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2003 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2004 ; CORPORATION.
2005 ;
2006 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2007 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2008 ;
2009 ; MODULE: KL10 DIAGNOSTIC FUNCTION
2010 ;
2011 ; VERSION: 06-13
2012 ;
2013 ; AUTHOR: R. BELANGER
2014 ;
2015 ; DATE: 7603.30
2016 ;
2017 ; THIS MODULE CONTAINS:
2018 ;
2019 ; 1) KL10 DIAGNOSTIC FUNCTION CODE
2020 ;
2021 ; EDIT HISTORY
2022 ;
2023 ;23-JUN-83 TCO 6.1675 D. WEAVER
2024 ; DON'T HALT/RESTART KL WHEN DOING FUNCTION READS.
2025 ;
2026
2027
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1113 03-APR-86 22:56 PAGE 49
.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
2029 .SBTTL .DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
2030
2031 ;+
2032 ; .DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE
2033 ;
2034 ; THIS ROUTINE WILL INPUT A DIAGNOSTIC FUNCTION READ, WRITE, OR
2035 ; EXECUTE CODE AND RETURN IT IN R0, AFTER CHECKING THAT THE KL
2036 ; IS NOT RUNNING, AND SEEING THAT THE FUNCTION CODE IS IN RANGE.
2037 ;
2038 ; INPUT ARGUMENTS:
2039 ;
2040 ; NONE.
2041 ;
2042 ; OUTPUT ARGUMENTS:
2043 ;
2044 ; R0 HOLDS THE FUNCTION CODE.
2045 ;
2046 ; ERROR CODES RETURNED:
2047 ;
2048 ; IFC -- ILLEGAL FUNCTION CODE
2049 ; MRA -- MISSING REQUIRED ARGUMENT.
2050 ;-
2051
2052 000546 .DFCOM::
2053 000546 CALL .CKRUN ; SEE IF THE KL IS RUNNING
000546 004737 000000G JSR PC,.CKRUN
2054 000552 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
2055 000554 005046 CLR -(SP) ; .
2056 000556 005046 CLR -(SP) ; ..
2057 000560 010600 MOV SP,R0 ; ...POINT TO IT
2058 000562 CALL .GTKLN ; ...READ THE FUNCTION CODE
000562 004737 000000G JSR PC,.GTKLN
2059 000566 005760 000004 TST 4(R0) ; ...SEE IF WE HAVE A LEGAL CODE
2060 000572 001031 BNE DFCIFC ; ...NO -- COMPLAIN
2061 000574 005760 000002 TST 2(R0) ; ...
2062 000600 001026 BNE DFCIFC ; ...
2063 000602 105760 000001 TSTB 1(R0) ; ...
2064 000606 001023 BNE DFCIFC ; ...
2065 000610 132710 177740 BITB #^C37,(R0) ; ...IS THIS AN EXECUTE?
2066 000614 001414 BEQ 10$ ; ...NO -- CONTINUE
2067 000616 005737 000066' TST STPKL ; ...WANT TO STOP KL?
2068 000622 001411 BEQ 10$ ; ...NO -- MOVE ON
2069 000624 032737 040000 000000G BIT #KF.RUN,.KLFLG ; ...IS THE KL RUNNING?
2070 000632 001405 BEQ 10$ ; ...NO -- JUST KEEP GOING
2071 000634 013737 000000G 000000G MOV .KLFLG,.SVKLF ; ...SAVE THE CURRENT FLAGS
2072 000642 CALL .KLHLT ; ...HALT THE KL
000642 004737 000000G JSR PC,.KLHLT
2073 000646 10$:
2074 000646 POP R0 ; ...GET THE CODE INTO R0
000646 012600 MOV (SP)+,R0
2075 000650 006300 ASL R0 ; ..TIMES 2
2076 000652 022626 CMP (SP)+,(SP)+ ; ..CLEAR THE STACK
2077 000654 RETURN ; TO CALLER
000654 000207 RTS PC
2078 000656 DFCIFC:
2079 000656 ERROR$ IFC ; ERROR -- ILLEGAL FUNCTION CODE
000656 012746 034463 MOV #^RIFC,-(SP)
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1113 03-APR-86 22:56 PAGE 49-1
.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
000662 104400 TRAP TC.ERR
2080 ;
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1113 03-APR-86 22:56 PAGE 50
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
2082 .SBTTL .DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
2083
2084 ;+
2085 ; .DFRED -- DIAGNOSTIC FUNCTION READ
2086 ;
2087 ; THIS ROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION READ AND DISPLAY
2088 ; THE RESULT ON THE CONSOLE DEVICE.
2089 ;
2090 ; INPUT ARGUMENTS:
2091 ;
2092 ; NONE.
2093 ;
2094 ; OUTPUT ARGUMENTS:
2095 ;
2096 ; NONE.
2097 ;
2098 ; ERROR CODES RETURNED:
2099 ;
2100 ; IFC -- ILLEGAL FUNCTION CODE.
2101 ; FRF -- FUNCTION READ FAILED.
2102 ;-
2103
2104 000664 .DFRED::
2105 000664 005037 000066' CLR STPKL ; [6,1675]FLAG NOT TO STOP KL
2106 000670 CALL .DFCOM ; DO COMMON CODE
000670 004737 000546' JSR PC,.DFCOM
2107 000674 010037 000060' MOV R0,STOPFR ; [5.1014]SAVE START FUNCTION CODE
2108 000700 CALL .CKEOS ; CHECK END OF SYMBOL
000700 004737 000000G JSR PC,.CKEOS
2109 000704 1$: CALL .XFRCK ; SEE THAT WE HAVE A LEGAL READ CODE
000704 004737 001260' JSR PC,.XFRCK
2110 000710 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
2111 000712 005046 CLR -(SP) ; .
2112 000714 005046 CLR -(SP) ; ..
2113 000716 010601 MOV SP,R1 ; ...POINT TO THE BUFFER
2114 000720 PUSH R0 ; ...SAVE THE READ CODE
000720 010046 MOV R0,-(SP)
2115 000722 CALL .FREAD ; ....DO THE READ
000722 004737 000000G JSR PC,.FREAD
2116 000726 012700 000000' MOV #DFRMSG,R0 ; ....MESSAGE POINTER TO R0
2117 000732 CALL .TYMSG ; ....TYPE IT
000732 004737 000000G JSR PC,.TYMSG
2118 000736 011600 MOV (SP),R0 ; ....READ CODE TO R0
2119 000740 006200 ASR R0 ; ....DIVIDED BY 2
2120 000742 CALL .TYP3D ; ....PRINT IT
000742 004737 000000G JSR PC,.TYP3D
2121 000746 CALL .TYSLS ; ....AND A SLASH
000746 004737 000000G JSR PC,.TYSLS
2122 000752 CALL .TYSPC ; ....AND A SPACE
000752 004737 000000G JSR PC,.TYSPC
2123 000756 010100 MOV R1,R0 ; ....POINT TO THE DATA
2124 000760 CALL .TYKLN ; ....PRINT IT
000760 004737 000000G JSR PC,.TYKLN
2125 000764 CALL .TCRLF ; ....END THE LINE
000764 004737 000000G JSR PC,.TCRLF
2126 000770 POP R0 ; ....READ CODE INTO R0
000770 012600 MOV (SP)+,R0
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1113 03-APR-86 22:56 PAGE 50-1
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
2127 000772 062706 000006 ADD #^D6,SP ; ...CLEAR THE STACK
2128 000776 005737 000062' 5$: TST RNGFR ; [5.1014]IS THIS A RANGE IN PROGRESS?
2129 001002 001406 BEQ 7$ ; [5.1014]NO -- GO ON
2130 001004 020037 000060' CMP R0,STOPFR ; [5.1014]YES -- ARE WE DONE?
2131 001010 001403 BEQ 7$ ; [5.1014]YES -- GO NO
2132 001012 063700 000064' ADD INCFR,R0 ; [5.1014]NO -- NEXT READ
2133 001016 000732 BR 1$ ; [5.1014]DO NEXT READ
2134 001020 005037 000062' 7$: CLR RNGFR ; [5.1014]RANGE DONE
2135 001024 122715 000054 CMPB #',,(R5) ; [5.1014]IS THIS A LIST?
2136 001030 001002 BNE 10$ ; [5.1014]NO -- GO ON
2137 001032 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COMMA
2138 001034 000713 BR .DFRED ; [5.1014]DO NEXT
2139 001036 122715 000072 10$: CMPB #':,(R5) ; [5.1014]IS THIS A LIST?
2140 001042 001031 BNE 30$ ; [5.1014]NO -- GO ON
2141 001044 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COMMA
2142 001046 PUSH R1 ; [6,1675]SAVE R1
001046 010146 MOV R1,-(SP)
2143 001050 005037 000066' CLR STPKL ; [6,1675]DON'T STOP KL
2144 001054 CALL .DFCOM ; [5.1014]DO COMMON CODE
001054 004737 000546' JSR PC,.DFCOM
2145 001060 POP R1 ; [6,1675]RESTORE R1
001060 012601 MOV (SP)+,R1
2146 001062 CALL .CKEOS ; [5.1014]CHECK END OF SYMBOL
001062 004737 000000G JSR PC,.CKEOS
2147 001066 005237 000062' INC RNGFR ; [5.1014]SET RANGE ON PROGRESS FLAG
2148 001072 012737 000002 000064' MOV #2,INCFR ; [5.1014]SET FORWARD RANGE DEFAULT
2149 001100 020037 000060' CMP R0,STOPFR ; [5.1014]FORWARD RANGE
2150 001104 003002 BGT 20$ ; [5.1014]YES -- GO ON
2151 001106 005437 000064' NEG INCFR ; [5.1014]NO -- NEGATE INCREMENT
2152 001112 20$: PUSH STOPFR ; [5.1014]SAVE INITIAL FUNCTION READ
001112 013746 000060' MOV STOPFR,-(SP)
2153 001116 010037 000060' MOV R0,STOPFR ; [5.1014]SET STOPFR CODE
2154 001122 POP R0 ; [5.1014]SET R0 TO INITIAL READ
001122 012600 MOV (SP)+,R0
2155 001124 000724 BR 5$ ; [5.1014]DO RANGE INCREMENT
2156 001126 30$: RETURN ; [5.1014]EXIT
001126 000207 RTS PC
2157 ;
2158
2159 000000 .PSECT MESSAG
2160 000000 DFRMSG:
2161 000000 106 122 040 .ASCIZ %FR %
000003 000
2162 000060 .PSECT DATA
2163
2164 000060 000000 STOPFR: .WORD 0 ; [5.1014]FINAL/FIRST FUNCTION READ CODE
2165 000062 000000 RNGFR: .WORD 0 ; [5.1014]RANGE IN PROGRESS FLAG
2166 000064 000000 INCFR: .WORD 0 ; [5.1014]INCREMENT VALUE
2167 000066 000000 STPKL: .WORD 0 ; [6,1675]STOP KL FLAG
2168
2169 001130 .PSECT
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1113 03-APR-86 22:56 PAGE 51
.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
2171 .SBTTL .DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
2172
2173 ;+
2174 ; .DFWRT -- DIAGNOSTIC FUNCTION WRITE
2175 ;
2176 ; THIS ROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION WRITE
2177 ;
2178 ; INPUT ARGUMENTS:
2179 ;
2180 ; NONE.
2181 ;
2182 ; OUTPUT ARGUMENTS:
2183 ;
2184 ; NONE.
2185 ;
2186 ; ERROR CODES RETURNED:
2187 ;
2188 ; IFC -- ILLEGAL FUNCTION CODE.
2189 ; FWF -- FUNCTION WRITE FAILED.
2190 ;-
2191
2192 001130 .DFWRT::
2193 001130 012737 000001 000066' MOV #1,STPKL ; [6.1675]STOP KL IF RUNNING
2194 001136 CALL .DFCOM ; DO COMMON CODE
001136 004737 000546' JSR PC,.DFCOM
2195 001142 CALL .CKCOL ; CHECK END-OF-SYMBOL
001142 004737 000000G JSR PC,.CKCOL
2196 001146 CALL .XFWCK ; SEE IF WE HAVE A GOOD WRITE CODE
001146 004737 001276' JSR PC,.XFWCK
2197 001152 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
2198 001154 005046 CLR -(SP) ; .
2199 001156 005046 CLR -(SP) ; ..
2200 001160 010601 MOV SP,R1 ; ...SAVE THE BUFFER POINTER
2201 001162 PUSH R0 ; ...SAVE THE WRITE CODE
001162 010046 MOV R0,-(SP)
2202 001164 010100 MOV R1,R0 ; ....POINT TO THE BUFFER
2203 001166 CALL .GTKLN ; ....READ THE DATA
001166 004737 000000G JSR PC,.GTKLN
2204 001172 CALL .CKEOS ; ....CHECK SYMBOL END
001172 004737 000000G JSR PC,.CKEOS
2205 001176 010001 MOV R0,R1 ; ....DATA POINTER TO R1
2206 001200 POP R0 ; ....GET THE WRITE CODE
001200 012600 MOV (SP)+,R0
2207 001202 CALL .FWRIT ; ...DO THE WRITE
001202 004737 000000G JSR PC,.FWRIT
2208 001206 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
2209 001212 CALLR .RSTKL ; RESTORE THE KL AND EXIT
001212 000137 000000G JMP .RSTKL
2210 ;
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1113 03-APR-86 22:56 PAGE 52
.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
2212 .SBTTL .DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
2213
2214 ;+
2215 ; .DFXCT -- DIAGNOSTIC FUNCTION EXECUTE
2216 ;
2217 ; THIS SUBROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
2218 ;
2219 ; INPUT ARGUMENTS:
2220 ;
2221 ; NONE.
2222 ;
2223 ; OUTPUT ARGUMENTS:
2224 ;
2225 ; NONE.
2226 ;
2227 ; ERROR CODES RETURNED:
2228 ;
2229 ; IFC -- ILLEGAL FUNCTION CODE.
2230 ; FXF -- FUNCTION EXECUTE FAILED.
2231 ;-
2232
2233 001216 .DFXCT::
2234 001216 012737 000001 000066' MOV #1,STPKL ; [6.1675]STOP KL IF RUNNING
2235 001224 CALL .DFCOM ; DO COMMON CODE
001224 004737 000546' JSR PC,.DFCOM
2236 001230 CALL .CKEOS ; CHECK SYMBOL END
001230 004737 000000G JSR PC,.CKEOS
2237 001234 CALL .XFXCK ; CHECK THE FXCT CODE OUT
001234 004737 001314' JSR PC,.XFXCK
2238 001240 CALL .FXCT ; DO THE FUNCTION EXECUTE
001240 004737 000000G JSR PC,.FXCT
2239 001244 122715 000054 CMPB #',,(R5) ; [5.1014]IS THIS A LIST
2240 001250 001002 BNE 10$ ; [5.1014]NO -- GO ON
2241 001252 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COMMA
2242 001254 000760 BR .DFXCT ; [5.1014]DO NEXT
2243 001256 10$: RETURN ; [5.1014]EXIT
001256 000207 RTS PC
2244 ;
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1113 03-APR-86 22:56 PAGE 53
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
2246 .SBTTL .XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
2247
2248 ;+
2249 ; .XFRCK -- SUBROUTINE TO RANGE CHECK FUNCTION READ CODES.
2250 ; .XFWCK -- SUBROUTINE TO RANGE CHECK FUNCTION WRITE CODES.
2251 ; .XFXCK -- SUBROUTINE TO RANGE CHECK FUNCTION EXECUTE CODES.
2252 ;
2253 ; THESE SUBROUTINES RANGE CHECK THE ARGUMENT CODES FOR THE FUNCTION
2254 ; READ, WRITE AND EXECUTE SUBROUTINES.
2255 ;
2256 ; INPUT ARGUMENTS:
2257 ;
2258 ; R0 HOLDS THE FUNCTION CODE TO BE CHECKED
2259 ;
2260 ; OUTPUT ARGUMENTS:
2261 ;
2262 ; NONE.
2263 ;
2264 ; ERROR CODES RETURNED:
2265 ;
2266 ; IFC -- ILLEGAL FUNCTION CODE.
2267 ; OFC -- ODD FUNCTION CODE.
2268 ;-
2269
2270 .ENABL LSB
2271
2272 001260 .XFRCK:: ; HERE TO CHECK FUNCTION READ CODE
2273 001260 020027 000200 CMP R0,#FR.100 ; IS IT .LT. FR.100?
2274 001264 103422 BLO FNCIFC ; NO -- ERROR
2275 001266 020027 000376 CMP R0,#FR.177 ; YES -- IS IT .GT. FR.177?
2276 001272 101017 BHI FNCIFC ; YES -- ERROR
2277 001274 000412 BR 10$ ; NO -- SEE IF IT'S ODD
2278 ;
2279 001276 .XFWCK:: ; HERE TO CHECK FUNCTION WRITE CODE
2280 001276 020027 000100 CMP R0,#FW.040 ; IS IT .LT. FW.040?
2281 001302 103413 BLO FNCIFC ; NO -- ERROR
2282 001304 020027 000176 CMP R0,#FW.LAR ; YES -- IS IT .GT. FW.077?
2283 001310 101010 BHI FNCIFC ; YES -- ERROR
2284 001312 000403 BR 10$ ; NO -- SEE IF IT'S ODD
2285 ;
2286 001314 .XFXCK:: ; HERE TO CHECK FUNCTION EXECUTE CODE
2287 001314 020027 000076 CMP R0,#FX.037 ; IS IT .GT. FX.037?
2288 001320 101004 BHI FNCIFC ; YES -- ERROR
2289 001322 10$:
2290 001322 032700 000001 BIT #BIT00,R0 ; NO -- IS IT ODD?
2291 001326 001004 BNE FNCOFC ; YES -- ERROR
2292 001330 RETURN ; NO -- ALL OK, RETURN TO CALLER
001330 000207 RTS PC
2293 001332 FNCIFC:
2294 001332 ERROR$ IFC ; ERROR -- ILLEGAL FUNCTION CODE
001332 012746 034463 MOV #^RIFC,-(SP)
001336 104400 TRAP TC.ERR
2295 ;
2296 001340 FNCOFC:
2297 001340 ERROR$ OFC ; ERROR -- ODD FUNCTION CODE
001340 012746 057263 MOV #^ROFC,-(SP)
001344 104400 TRAP TC.ERR
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1113 03-APR-86 22:56 PAGE 53-1
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
2298 ;
2299
2300 .DSABL LSB
DISCC -- DISCONNECT COMMAND MOD MACRO M1113 03-APR-86 22:56 PAGE 55
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
2303 .TITLE DISCC -- DISCONNECT COMMAND MODULE 7702.28
2304
2305 .IDENT "005000"
2306 ;
2307 ; COPYRIGHT (C) 1975, 1984, 1985 BY
2308 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
2309 ; ALL RIGHTS RESERVED.
2310 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
2311 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
2312 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2313 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
2314 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2315 ;
2316 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2317 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2318 ; CORPORATION.
2319 ;
2320 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2321 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2322 ;
2323 ; MODULE: DISCONNECT COMMAND
2324 ;
2325 ; VERSION: 05-00
2326 ;
2327 ; AUTHOR: R. BELANGER
2328 ;
2329 ; DATE: 7702.28
2330 ;
2331 ; THIS MODULE CONTAINS:
2332 ;
2333 ; 1) DISCONNECT COMMAND CODE
2334
2335 .MCALL DIR$,RQST$
DISCC -- DISCONNECT COMMAND MOD MACRO M1113 03-APR-86 22:56 PAGE 56
.DISCC -- THE "DISCONNECT" COMMAND 7702.28
2337 .SBTTL .DISCC -- THE "DISCONNECT" COMMAND 7702.28
2338
2339 ;+
2340 ; .DISCC -- THE "DISCONNECT" COMMAND
2341 ;
2342 ; THIS SUBROUTINE CHECKS THE SYNTAX OF THE "DISCONNECT" COMMAND
2343 ; AND REQUESTS THE KLINIK DISCONNECT TASK, "KLDISC". THE KLINIK DISCONNECT
2344 ; TASK WILL THEN DISCONNECT THE KLINIK LINE, LOG THE DISCONNECT AND
2345 ; RETURN THE THE RSX20F COMMAND PARSER.
2346 ;
2347 ; INPUT ARGUMENTS:
2348 ;
2349 ; NONE.
2350 ;
2351 ; OUTPUT ARGUMENTS:
2352 ;
2353 ; NONE.
2354 ;
2355 ; ERROR CODES RETURNED:
2356 ;
2357 ; NONE.
2358 ;-
2359
2360 001346 .DISCC::
2361 001346 CALL .CKEOC ; MUST HAVE E-O-C
001346 004737 000000G JSR PC,.CKEOC
2362 001352 112737 000003 000001G MOVB #3,.KLNSW+1 ; FLAG DISCONNECT
2364 001360 DIR$ #RQSKLD ; REQUEST DISCONNECT TASK
001360 012746 000000' MOV #RQSKLD,-(SP)
001364 104375 EMT 375
2366 001366 CALLR .EXITP ; GO AWAY FOR NOW
001366 000137 000000G JMP .EXITP
2367 ;
2368
2369 000000 .PSECT DPBS
2370
2371 000000 RQSKLD:
2372 000000 RQST$ KLDISC,,10
000000 013 007 .BYTE 11.,7
000002 043244 035473 .RAD50 /KLDISC/
000006 000000 000000 .WORD 0,0
000012 000010 .WORD 10
000014 000 000 .BYTE ,
2373
2374 001372 .PSECT
2375 .TITLE EDELE -- DEPOSIT / EXAMINE ELEVEN COMMAND MODULE 7603.30
2376
2377 .IDENT "006130"
2378
2379 ;
2380 ; COPYRIGHT (C) 1975, 1984, 1985 BY
2381 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
2382 ; ALL RIGHTS RESERVED.
2383 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
2384 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
2385 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2386 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1113 03-APR-86 22:56 PAGE 56-1
.DISCC -- THE "DISCONNECT" COMMAND 7702.28
2387 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2388 ;
2389 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2390 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2391 ; CORPORATION.
2392 ;
2393 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2394 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2395 ;
2396 ; MODULE: DEPOSIT / EXAMINE ELEVEN COMMAND
2397 ;
2398 ; VERSION: 06-13
2399 ;
2400 ; AUTHOR: R. BELANGER
2401 ;
2402 ; DATE: 7603.30
2403 ;
2404 ; THIS MODULE CONTAINS:
2405 ;
2406 ; 1) DEPOSIT / EXAMINE ELEVEN COMMAND CODE
2407 ;
2408 ;29-APR-83 TCO 6.1599 DAVID WEAVER
2409 ; EXAMINE ELEVEN ADDR1:ADDR2 CAN LOOP OVER MEMORY IF ADDR2 IS ODD OR
2410 ; THE RANGE CROSSES 100000.
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1113 03-APR-86 22:56 PAGE 57
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
2412 .SBTTL .DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
2413
2414 ;+
2415 ; .DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND.
2416 ;
2417 ; THIS SUBROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE PDP-11
2418 ; ADDRESS SPECIFIED.
2419 ;
2420 ; INPUT ARGUMENTS:
2421 ;
2422 ; NONE.
2423 ;
2424 ; OUTPUT ARGUMENTS:
2425 ;
2426 ; THE PDP-11 ADDRESS DEPOSITED IS IN ".EDELA"
2427 ; THE DATA DEPOSITED IS IN ".ELDDW".
2428 ;
2429 ; ERROR CODES RETURNED:
2430 ;
2431 ; NONE.
2432 ;-
2433
2434 001372 .DPOSE::
2435 001372 CALL .CKARG ; SEE IF WE HAVE AN ARGUMENT
001372 004737 000000G JSR PC,.CKARG
2436 001376 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
2437 001400 012700 000000G MOV #.DPETB,R0 ; DEPOSIT EXTENSION TABLE POINTER TO R0
2438 001404 CALL .TSCAN ; SCAN IT
001404 004737 000000G JSR PC,.TSCAN
2439 001410 CALLR @2(R0) ; DISPATCH FOR IT
001410 000170 000002 JMP @2(R0)
2440 ;
2441 001414 10$:
2442 001414 CALL .GTELN ; READ THE ADDRESS
001414 004737 000000G JSR PC,.GTELN
2443
2444 001420 032700 000001 BIT #BIT00,R0 ; IS IT ODD?
2445 001424 001050 BNE DPOOAI ; YES -- GIVE "OAI" ERROR
2446 001426 PUSH R0 ; NO -- SAVE IT
001426 010046 MOV R0,-(SP)
2447 001430 CALL .CKCOL ; .CHECK SEPARATOR
001430 004737 000000G JSR PC,.CKCOL
2448 001434 CALL .GTELN ; .READ THE DATA
001434 004737 000000G JSR PC,.GTELN
2449 001440 010001 MOV R0,R1 ; .DATA TO R1
2450 001442 POP R0 ; .ADDRESS TO R0
001442 012600 MOV (SP)+,R0
2451
2452 ; [CONTINUED ON THE FOLLOWING PAGE]
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1113 03-APR-86 22:56 PAGE 58
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
2454 ; [CONTINUED FROM THE PREVIOUS PAGE]
2455
2456 001444 .DPSEE:: ; EXTENDED DEPOSIT ENTRY POINT
2457 001444 CALL .CKEOC ; CHECK FOR E-O-C
001444 004737 000000G JSR PC,.CKEOC
2458 001450 032700 000001 BIT #BIT00,R0 ; IS THE ADDRESS ODD?
2459 001454 001034 BNE DPOOAI ; YES -- GIVE "OAI" ERROR
2460 001456 PUSH R0 ; NO -- SAVE THE ADDRESS
001456 010046 MOV R0,-(SP)
2461 001460 PUSH R1 ; .AND THE DEPOSIT DATA
001460 010146 MOV R1,-(SP)
2462 001462 010037 000000G MOV R0,.EDELA ; ..LEAVE TRACKS
2463 001466 010137 000000G MOV R1,.ELDDW ; ..MORE TRACKS
2464 001472 013737 000000G 000000G MOV .TRP4V,.SSTTB ; ..SET UP TRAP AT 4 TRAP
2465 001500 011001 MOV (R0),R1 ; ..READ ORIGINAL CONTENTS
2466 001502 CALL .TYELA ; ..PRINT THE ADDRESS
001502 004737 000000G JSR PC,.TYELA
2467 001506 112700 000134 MOVB #'\,R0 ; ..BACK SLASH
2468 001512 CALL .TYCHR ; ..PRINT IT
001512 004737 000000G JSR PC,.TYCHR
2469 001516 CALL .TYSPC ; ..AND A SPACE
001516 004737 000000G JSR PC,.TYSPC
2470 001522 010100 MOV R1,R0 ; ..DATA TO R0
2471 001524 CALL .TYELN ; ..PRINT THAT
001524 004737 000000G JSR PC,.TYELN
2472 001530 POP R1 ; ..RESTORE DATA
001530 012601 MOV (SP)+,R1
2473 001532 POP R0 ; .AND ADDRESS
001532 012600 MOV (SP)+,R0
2474 001534 010110 MOV R1,(R0) ; DO THE DEPOSIT
2475 001536 005037 000000G CLR .SSTTB ; RESET TRAP AT 4 TRAP
2476 001542 CALLR .TCRLF ; TO CALLER
001542 000137 000000G JMP .TCRLF
2477 ;
2478 001546 DPOOAI:
2479 001546 ERROR$ OAI ; ERROR -- ODD ADDRESS ILLEGAL
001546 012746 056761 MOV #^ROAI,-(SP)
001552 104400 TRAP TC.ERR
2480 ;
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1113 03-APR-86 22:56 PAGE 59
.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76
2482 .SBTTL .DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
2483
2484 .ENABL LSB
2485
2486 001554 .DPEWT:: ; DEPOSIT <ELEVEN> THIS
2487 001554 013700 000000G MOV .EDELA,R0 ; ADDRESS TO R0
2488 001560 000413 BR 10$ ; CHECK FOR ARGUMENTS
2489 ;
2490 001562 .DPEWD:: ; DEPOSIT <ELEVEN> DECREMENT
2491 001562 CALL .EDEWD ; DECREMENT THE ADDRESS
001562 004737 000374' JSR PC,.EDEWD
2492 001566 000410 BR 10$ ; EXIT THRU COMMON CODE
2493 ;
2494 001570 .DPEWI:: ; DEPOSIT <ELEVEN> INCREMENT
2495 001570 CALL .EDEWI ; INCREMENT THE ADDRESS
001570 004737 000406' JSR PC,.EDEWI
2496 001574 000405 BR 10$ ; EXIT THRU COMMON CODE
2497 ;
2498 001576 .DPEWN:: ; DEPOSIT <ELEVEN> NEXT
2499 001576 CALL .EDEWN ; GET THE NEXT ADDRESS
001576 004737 000406' JSR PC,.EDEWN
2500 001602 000402 BR 10$ ; EXIT THRU COMMON CODE
2501 ;
2502 001604 .DPEWP:: ; DEPOSIT <ELEVEN> PREVIOUS
2503 001604 CALL .EDEWP ; GET THE PREVIOUS ADDRESS
001604 004737 000374' JSR PC,.EDEWP
2504 001610 10$:
2505 001610 122715 000075 CMPB #'=,(R5) ; DOES AN ARGUMENT FOLLOW?
2506 001614 001403 BEQ 20$ ; YES -- GO GET IT
2507 001616 013701 000000G MOV .ELDDW,R1 ; NO -- USE OLD DATA
2508 001622 000710 BR .DPSEE ; AND DO THE DEPOSIT
2509 ;
2510 001624 20$:
2511 001624 105725 TSTB (R5)+ ; GET OVER THE COLON
2512 001626 PUSH R0 ; SAVE THE ADDRESS
001626 010046 MOV R0,-(SP)
2513 001630 CALL .GTELN ; .READ THE DATA
001630 004737 000000G JSR PC,.GTELN
2514 001634 010001 MOV R0,R1 ; .DATA TO R1
2515 001636 POP R0 ; .ADDRESS TO R0
001636 012600 MOV (SP)+,R0
2516 001640 000701 BR .DPSEE ; DO THE DEPOSIT
2517 ;
2518
2519 .DSABL LSB
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1113 03-APR-86 22:56 PAGE 60
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
2521 .SBTTL .EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
2522
2523 ;+
2524 ; .EXAME -- THE "EXAMINE <ELEVEN> COMMAND.
2525 ;
2526 ; THIS ROUTINE WILL EXAMINE AND DISPLAY THE CONTEN OF ONE PDP-11
2527 ; ELEVEN MEMORY LOCATION ON THE CONSOLE DEVICE.
2528 ;
2529 ; INPUT ARGUMENTS:
2530 ;
2531 ; NONE.
2532 ;
2533 ; OUTPUT ARGUMENTS:
2534 ;
2535 ; THE ADDRESS EXAMINED IS IN ".EDELA"
2536 ; THE EXAMINED DATA IS IN ".ELEDW"
2537 ;
2538 ; ERROR CODES RETURNED:
2539 ;
2540 ; NONE.
2541 ;-
2542
2543 001642 .EXAME::
2544 001642 CALL .CKARG ; SEE IF WE HAVE AN ARGUMENT
001642 004737 000000G JSR PC,.CKARG
2545 001646 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
2546 001650 012700 000000G MOV #.EXETB,R0 ; EXTENSION TABLE POINTER TO R0
2547 001654 CALL .TSCAN ; SCAN IT
001654 004737 000000G JSR PC,.TSCAN
2548 001660 CALLR @2(R0) ; DO WHAT IS SAYS TO
001660 000170 000002 JMP @2(R0)
2549 ;
2550 001664 10$:
2551 001664 CALL .GTELN ; READ THE ADDRESS
001664 004737 000000G JSR PC,.GTELN
2552
2553 ; [CONTINUED ON THE FOLLOWING PAGE]
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1113 03-APR-86 22:56 PAGE 61
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
2555 ; [CONTINUED FROM THE PREVIOUS PAGE]
2556
2557 001670 .EXMEE:: ; EXTENDED EXAMINE ENTRY POINT
2558 001670 010037 000070' MOV R0,STOPEX ; [5.1014]SAVE INITIAL ADDRESS
2559 001674 CALL .CKEOC ; CHECK FOR E-O-C
001674 004737 000000G JSR PC,.CKEOC
2560 001700 032700 000001 1$: BIT #BIT00,R0 ; IS IT ODD?
2561 001704 001101 BNE EXAOAI ; YES -- GIVE "OAI" ERROR
2562 001706 013737 000000G 000000G MOV .TRP4V,.SSTTB ; SET UP TRAP AT 4 TRAP
2563 001714 010037 000000G MOV R0,.EDELA ; .LEAVE SOME TRACKS
2564 001720 011001 MOV (R0),R1 ; DO THE EXAMINE
2565 001722 PUSH R0 ; [5.1014]SAVE CURRENT ADDRESS
001722 010046 MOV R0,-(SP)
2566 001724 005037 000000G CLR .SSTTB ; RESET TRAP AT 4 TRAP
2567 001730 010137 000000G MOV R1,.ELEDW ; MORE TRACKS
2568 001734 CALL .TYELA ; TYPE THE ADDRESS
001734 004737 000000G JSR PC,.TYELA
2569 001740 112700 000134 MOVB #'\,R0 ; BACKSLASH
2570 001744 CALL .TYCHR ; TYPE IT
001744 004737 000000G JSR PC,.TYCHR
2571 001750 CALL .TYSPC ; AND A SPACE
001750 004737 000000G JSR PC,.TYSPC
2572 001754 010100 MOV R1,R0 ; DATA TO R0
2573 001756 CALL .TYELN ; TYPE THAT
001756 004737 000000G JSR PC,.TYELN
2574 001762 CALL .TCRLF ; END THE LINE
001762 004737 000000G JSR PC,.TCRLF
2575 001766 5$: POP R0 ; [5.1014]RESTORE ADDRESS
001766 012600 MOV (SP)+,R0
2576 001770 005737 000072' TST RNGEX ; [5.1014]RANGE IN PROGRESS?
2577 001774 001406 BEQ 7$ ; [5.1014]NO -- GO ON
2578 001776 020037 000070' CMP R0,STOPEX ; [5.1014]YES -- DONE?
2579 002002 103003 BHIS 7$ ; [6.1599]YES -- GO ON
2580 002004 063700 000074' ADD INCEX,R0 ; [5.1014]NO -- NEXT ADDRESS
2581 002010 000733 BR 1$ ; [5.1014]DO EXAMINE
2582 002012 005037 000072' 7$: CLR RNGEX ; [5.1014]CLEAR RANGE IN PROGRESS
2583 002016 122715 000054 CMPB #',,(R5) ; [5.1014]IS THIS A LIST?
2584 002022 001002 BNE 20$ ; [5.1014]NO -- GO NO
2585 002024 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COMMA
2586 002026 000705 BR .EXAME ; [5.1014]DO NEXT
2587 002030 122715 000072 20$: CMPB #':,(R5) ; [5.1014]IS THIS A RANGE?
2588 002034 001024 BNE 40$ ; [5.1014]NO -- EXIT
2589 002036 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COLON
2590 002040 CALL .GTELN ; [5.1014]GET FINAL ADDRESS
002040 004737 000000G JSR PC,.GTELN
2591 002044 CALL .CKEOC ; [5.1014]CHECK END OF COMMAND
002044 004737 000000G JSR PC,.CKEOC
2592 002050 005237 000072' INC RNGEX ; [5.1014]SET RANGE IN PROGRESS
2593 002054 012737 000002 000074' MOV #2,INCEX ; [5.1014]SET FORWARD INCREMENT
2594 002062 020037 000070' CMP R0,STOPEX ; [5.1014]FORWARD INCREMENT?
2595 002066 101002 BHI 30$ ; [6.1599]YES -- GO ON
2596 002070 005437 000074' NEG INCEX ; [5.1014]NO -- NEGATE INCREMENT
2597 002074 30$: PUSH STOPEX ; [5.1014]SAVE INITIAL ADDRESS
002074 013746 000070' MOV STOPEX,-(SP)
2598 002100 010037 000070' MOV R0,STOPEX ; [5.1014]SET FINAL VALUE
2599 002104 000730 BR 5$ ; [5.1014]DO RANGE INCREMENT
2600 002106 40$: RETURN ; [5.1014]DONE
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1113 03-APR-86 22:56 PAGE 61-1
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
002106 000207 RTS PC
2601 ;
2602 002110 EXAOAI:
2603 002110 ERROR$ OAI ; ERROR -- ODD ADDRESS ILLEGAL
002110 012746 056761 MOV #^ROAI,-(SP)
002114 104400 TRAP TC.ERR
2604 ;
2605
2606 000070 .PSECT DATA
2607
2608 000070 000000 STOPEX: .WORD 0 ; [5.1014]FINAL/FIRST EXAMINE ADDRESS
2609 000072 000000 RNGEX: .WORD 0 ; [5.1014]RANGE IN PROGRESS FLAG
2610 000074 000000 INCEX: .WORD 0 ; [5.1014]INCREMENT VALUE
2611
2612 002116 .PSECT
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1113 03-APR-86 22:56 PAGE 62
.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76
2614 .SBTTL .EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
2615
2616 .ENABL LSB
2617
2618 002116 .EXEWT:: ; EXAMINE <ELEVEN> THIS
2619 002116 013700 000000G MOV .EDELA,R0 ; ADDRESS TO R0
2620 002122 000662 BR .EXMEE ; DO THE EXAMINE
2621 ;
2622 002124 .EXEWD:: ; EXAMINE <ELEVEN> DECREMENT
2623 002124 CALL .EDEWD ; DECREMENT IT
002124 004737 000374' JSR PC,.EDEWD
2624 002130 000657 BR .EXMEE ; DO THE EXAMINE
2625 ;
2626 002132 .EXEWI:: ; EXAMINE <ELEVEN> INCREMENT
2627 002132 CALL .EDEWI ; INCREMENT IT
002132 004737 000406' JSR PC,.EDEWI
2628 002136 000654 BR .EXMEE ; DO THE EXAMINE
2629 ;
2630 002140 .EXEWN:: ; EXAMINE <ELEVEN> NEXT
2631 002140 CALL .EDEWN ; GET THE NEXT ADDRESS
002140 004737 000406' JSR PC,.EDEWN
2632 002144 000651 BR .EXMEE ; DO THE EXAMINE
2633 ;
2634 002146 .EXEWP:: ; EXAMINE <ELEVEN> PREVIOUS
2635 002146 CALL .EDEWP ; GET THE PREVIOUS ADDRESS
002146 004737 000374' JSR PC,.EDEWP
2636 002152 000646 BR .EXMEE ; DO THE EXAMINE
2637 ;
2638
2639 .DSABL LSB
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1113 03-APR-86 22:56 PAGE 64
.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76
2642
2643 .TITLE EDTEN -- DEPOSIT / EXAMINE TEN COMMAND MODULE 7603.21
2644
2645 .IDENT "006130"
2646
2647 ;
2648 ; COPYRIGHT (C) 1975, 1984, 1985 BY
2649 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
2650 ; ALL RIGHTS RESERVED.
2651 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
2652 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
2653 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2654 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
2655 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2656 ;
2657 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2658 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2659 ; CORPORATION.
2660 ;
2661 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2662 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2663 ;
2664 ; MODULE: DEPOSIT / EXAMINE TEN COMMAND
2665 ;
2666 ; VERSION: 06-13
2667 ;
2668 ; AUTHOR: R. BELANGER
2669 ;
2670 ; DATE: 7603.21
2671 ;
2672 ; THIS MODULE CONTAINS:
2673 ;
2674 ; 1) DEPOSIT / EXAMINE TEN COMMAND CODE
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1113 03-APR-86 22:56 PAGE 65
.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
2676 .SBTTL .DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
2677
2678 ;+
2679 ; .DEPAR -- THE "DEPOSIT AR" COMMAND.
2680 ;
2681 ; THIS ROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE KL AR REGISTER.
2682 ;
2683 ; INPUT ARGUMENTS:
2684 ;
2685 ; NONE.
2686 ;
2687 ; OUTPUT ARGUMENTS:
2688 ;
2689 ; NONE.
2690 ;
2691 ; ERROR CODES RETURNED:
2692 ;
2693 ; NONE.
2694 ;-
2695
2696 002154 .DEPAR::
2697 002154 CALL .CKRUN ; SEE IF THE KL IS RUNNING
002154 004737 000000G JSR PC,.CKRUN
2698 002160 CALL .CKCOL ; CHECK FOR A COLON
002160 004737 000000G JSR PC,.CKCOL
2699 002164 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
2700 002166 005046 CLR -(SP) ; .
2701 002170 005046 CLR -(SP) ; ..
2702 002172 010600 MOV SP,R0 ; ...POINT TO IT
2703 002174 CALL .GTNUM ; ...READ A NUMBER
002174 004737 000000G JSR PC,.GTNUM
2704 002200 CALL .CKEOC ; ...CHECK FOR E-O-C
002200 004737 000000G JSR PC,.CKEOC
2705 002204 PUSH .KLFLG ; ...SAVE ".KLFLG"
002204 013746 000000G MOV .KLFLG,-(SP)
2706 002210 032716 100000 BIT #KF.CLK,(SP) ; ....IS THE CLOCK RUNNING?
2707 002214 001402 BEQ 10$ ; ....NO -- GO ON
2708 002216 CALL .KLHLT ; ....STOP THE KL - DEAD
002216 004737 000000G JSR PC,.KLHLT
2709 002222 10$:
2710 002222 010001 MOV R0,R1 ; ....DATA POINTER TO R1
2711 002224 CALL .WRTAR ; ....WRITE THE AR
002224 004737 000000G JSR PC,.WRTAR
2712 002230 POP .SVKLF ; ....SET UP ".SVKLF"
002230 012637 000000G MOV (SP)+,.SVKLF
2713 002234 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
2714 002240 CALLR .KLRST ; RESTART THE KL AND EXIT
002240 000137 000000G JMP .KLRST
2715 ;
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1113 03-APR-86 22:56 PAGE 66
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
2717 .SBTTL .DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
2718
2719 ;+
2720 ; .DPOST -- THE "DEPOSIT <TEN>" COMMAND.
2721 ;
2722 ; THIS SUBROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE DESIRED
2723 ; KL MEMORY LOCATION.
2724 ;
2725 ; INPUT ARGUMENTS:
2726 ;
2727 ; NONE.
2728 ;
2729 ; OUTPUT ARGUMENTS:
2730 ;
2731 ; THE ADDRESS DEPOSITED IS IN ".EDKLA"
2732 ; THE DATA DEPOSITED IS IN ".DPBFR"
2733 ;
2734 ; ERROR CODES RETURNED:
2735 ;
2736 ; APE -- KL APR ERROR
2737 ; DMF -- DEPOSIT KL MEMORY FAILED
2738 ; ESD -- EBOX STOPPED - DEPOSIT
2739 ; KLA -- KL ADDRESS ERROR
2740 ; KCN -- KL CLOCK NOT RUNNING
2741 ; MRA -- MISSING REQUIRED ARGUMENT
2742 ; NOR -- NUMBER OUT OF RANGE.
2743 ; VFY -- VERIFY FAILED
2744 ;-
2745
2746 002244 .DPOST::
2747 002244 CALL .CKARG ; SEE IF AN ARGUMENT FOLLOWS
002244 004737 000000G JSR PC,.CKARG
2748 002250 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
2749 002252 012700 000000G MOV #.DPETB,R0 ; EXTENSION TABLE POINTER TO R0
2750 002256 CALL .TSCAN ; SCAN IT
002256 004737 000000G JSR PC,.TSCAN
2751 002262 CALLR @2(R0) ; DO WHAT IT SAYS TO
002262 000170 000002 JMP @2(R0)
2752 ;
2753 002266 10$:
2754 002266 012700 000000G MOV #.EDKLX,R0 ; ADDRESS POINTER TO R0
2755 002272 CALL .GTKLA ; READ THE ADDRESS
002272 004737 000000G JSR PC,.GTKLA
2756 002276 CALL .CKCOL ; CHECK FOR A COLON
002276 004737 000000G JSR PC,.CKCOL
2757 002302 010001 MOV R0,R1 ; GOT IT, SAVE THE POINTER
2758 002304 012700 000000G MOV #.DPBFX,R0 ; DATA POINTER TO R0
2759 002310 CALL .GTKLN ; READ THE DATA
002310 004737 000000G JSR PC,.GTKLN
2760
2761 ; [CONTINUED ON THE FOLLOWING PAGE]
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1113 03-APR-86 22:56 PAGE 67
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
2763 ; [CONTINUED FROM THE PREVIOUS PAGE]
2764
2765 002314 .DPSTE:: ; EXTENDED DEPOSIT ENTRY POINT
2766 002314 CALL .CKEOC ; CHECK E-O-C CHARACTER
002314 004737 000000G JSR PC,.CKEOC
2767 002320 032737 100000 000000G BIT #KF.CLK,.KLFLG ; IS THE CLOCK RUNNING?
2768 002326 001510 BEQ DPOKCN ; NO -- GIVE "KCN" ERROR
2769 002330 012702 000000G MOV #.EDKLA,R2 ; ADDRESS BUFFER POINTER TO R2
2770 002334 012122 MOV (R1)+,(R2)+ ; LOAD THE NEW ADDRESS
2771 002336 012122 MOV (R1)+,(R2)+ ; INTO THE ADDRESS BUFFER
2772 002340 011112 MOV (R1),(R2) ; SO
2773 002342 024242 CMP -(R2),-(R2) ; BACK THE POINTER UP
2774 002344 010201 MOV R2,R1 ; PUT IT IN R1
2775 002346 012702 000000G MOV #.DPBFR,R2 ; DEPOSIT DATA POINTER TO R2
2776 002352 012022 MOV (R0)+,(R2)+ ; LOAD THE NEW DATA
2777 002354 012022 MOV (R0)+,(R2)+ ; INTO THE DEPOSIT DATA BUFFER
2778 002356 011012 MOV (R0),(R2) ; SO
2779 002360 024242 CMP -(R2),-(R2) ; BACK THE POINTER UP
2780 002362 PUSH R2 ; SAVE THE DATA POINTER
002362 010246 MOV R2,-(SP)
2781 002364 PUSH R1 ; .AND THE ADDRESS POINTER
002364 010146 MOV R1,-(SP)
2782 002366 010600 MOV SP,R0 ; ..SAVE THE POINTER TO THE BLOCK
2783 002370 PUSH R0 ; ..SO
002370 010046 MOV R0,-(SP)
2784 002372 PUSH #.EXBFR ; ...POINT TO EXAMINE BUFFER
002372 012746 000000G MOV #.EXBFR,-(SP)
2785 002376 PUSH R1 ; ....FOR THIS ADDRESS
002376 010146 MOV R1,-(SP)
2786 002400 010601 MOV SP,R1 ; .....POINT TO THE BLOCK
2787 002402 012700 000200 MOV #ED.PHY,R0 ; .....PHYSICAL REFERENCE
2788 002406 CALL .EXKLM ; .....EXAMINE IT FIRST
002406 004737 000000G JSR PC,.EXKLM
2789 002412 POP R0 ; .....GET THE ADDRESS POINTER
002412 012600 MOV (SP)+,R0
2790 002414 CALL .TYKLA ; ....PRINT IT
002414 004737 000000G JSR PC,.TYKLA
2791 002420 CALL .TYSLS ; ....AND A <SLASH>
002420 004737 000000G JSR PC,.TYSLS
2792 002424 CALL .TYSPC ; ....NOW A <SPACE>
002424 004737 000000G JSR PC,.TYSPC
2793 002430 POP R0 ; ....GET THE DATA POINTER
002430 012600 MOV (SP)+,R0
2794 002432 CALL .TYKLN ; ...TYPE THE DATA
002432 004737 000000G JSR PC,.TYKLN
2795 002436 CALL .TCRLF ; ...AND A <CRLF>
002436 004737 000000G JSR PC,.TCRLF
2796
2797 ; [CONTINUED ON THE FOLLOWING PAGE]
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1113 03-APR-86 22:56 PAGE 68
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
2799 ; [CONTINUED FROM THE PREVIOUS PAGE]
2800
2801 002442 POP R1 ; ...POINT TO THE DEPOSIT BLOCK
002442 012601 MOV (SP)+,R1
2802 002444 012700 000200 MOV #ED.PHY,R0 ; ..PHYSICAL REFERENCE
2803 002450 CALL .DPKLM ; ..DO THE DEPOSIT
002450 004737 000000G JSR PC,.DPKLM
2804 002454 005737 000000G TST .VFYFL ; ..VERIFY THE DEPOSIT?
2805 002460 001426 BEQ 20$ ; ..NO -- JUST EXIT
2806 002462 012766 000000G 000002 MOV #.EXBFR,2(SP) ; ..YES -- CHANGE THE BUFFER POINTER
2807 002470 012700 000200 MOV #ED.PHY,R0 ; ..PHYSICAL REFERENCE
2808 002474 CALL .EXKLM ; ..EXAMINE IT
002474 004737 000000G JSR PC,.EXKLM
2809 002500 012700 000000G MOV #.DPBFR,R0 ; ..DEPOSITED DATA
2810 002504 012701 000000G MOV #.EXBFR,R1 ; ..EXAMINED DATA
2811 002510 CALL .TPCMP ; ..SEE IF THEY COMPARE
002510 004737 000000G JSR PC,.TPCMP
2812 002514 001020 BNE DPOVFE ; ..NO -- COMPLAIN
2813 002516 CALL .STPKL ; ..STOP THE KL
002516 004737 000000G JSR PC,.STPKL
2814 002522 CALL .RDAPR ; ..SEE IF THERE ARE ANY APR ERRORS
002522 004737 003274' JSR PC,.RDAPR
2815 002526 CALL .RSTKL ; ..RESTART THE KL
002526 004737 000000G JSR PC,.RSTKL
2816 002532 005700 TST R0 ; ..ARE THERE ANY ERRORS?
2817 002534 001002 BNE DPOAPE ; ..YES -- COMPLAIN
2818 002536 20$:
2819 002536 022626 CMP (SP)+,(SP)+ ; ..CLEAR THE STACK
2820 002540 RETURN ; TO CALLER
002540 000207 RTS PC
2821 002542 DPOAPE:
2822 002542 ERROR$ APE ; ERROR -- KL APR ERROR
002542 012746 004305 MOV #^RAPE,-(SP)
002546 104400 TRAP TC.ERR
2823 ;
2824 002550 DPOKCN:
2825 002550 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
002550 012746 042506 MOV #^RKCN,-(SP)
002554 104400 TRAP TC.ERR
2826 ;
2827 002556 DPOVFE:
2828 002556 ERROR$ VFY ; ERROR -- VERIFY FAILED
002556 012746 105211 MOV #^RVFY,-(SP)
002562 104400 TRAP TC.ERR
2829 ;
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1113 03-APR-86 22:56 PAGE 69
.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.
2831 .SBTTL .DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.29
2832
2833 .ENABL LSB
2834
2835 002564 .DPKLT:: ; DEPOSIT <TEN> THIS
2836 002564 012700 000000G MOV #.EDKLX,R0 ; ADDRESS POINTER TO R0
2837 002570 000413 BR 10$ ; CHECK FOR ARGUMENTS
2838 ;
2839 002572 .DPKLD:: ; DEPOSIT <TEN> DECREMENT
2840 002572 CALL .EDKLD ; DO THE DECREMENT
002572 004737 000444' JSR PC,.EDKLD
2841 002576 000410 BR 10$ ; EXIT THRU COMMON CODE
2842 ;
2843 002600 .DPKLI:: ; DEPOSIT <TEN> INCREMENT
2844 002600 CALL .EDKLI ; DO THE INCREMENT
002600 004737 000462' JSR PC,.EDKLI
2845 002604 000405 BR 10$ ; EXIT THRU COMMON CODE
2846 ;
2847 002606 .DPKLN:: ; DEPOSIT <TEN> NEXT
2848 002606 CALL .EDKLN ; GO GET NEXT ADDRESS
002606 004737 000432' JSR PC,.EDKLN
2849 002612 000402 BR 10$ ; EXIT THRU COMMON CODE
2850 ;
2851 002614 .DPKLP:: ; DEPOSIT <TEN> PREVIOUS
2852 002614 CALL .EDKLP ; GO GET PREVIOUS ADDRESS
002614 004737 000420' JSR PC,.EDKLP
2853 002620 10$:
2854 002620 010001 MOV R0,R1 ; ADDRESS POINTER TO R1
2855 002622 122715 000075 CMPB #'=,(R5) ; IS THERE AN ARGUMENT FOLLOWING?
2856 002626 001403 BEQ 20$ ; YES -- GO GET IT
2857 002630 012700 000000G MOV #.DPBFX,R0 ; NO -- USE OLD DATA
2858 002634 000627 BR .DPSTE ; AND DO THE DEPOSIT
2859 ;
2860 002636 20$:
2861 002636 105725 TSTB (R5)+ ; GET OVER THE COLON
2862 002640 012700 000000G MOV #.DPBFX,R0 ; POINT TO THE DATA BUFFER
2863 002644 CALL .GTKLN ; GET A NUMBER
002644 004737 000000G JSR PC,.GTKLN
2864 002650 000621 BR .DPSTE ; DO THE DEPOSIT
2865 ;
2866
2867 .DSABL LSB
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1113 03-APR-86 22:56 PAGE 70
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
2869 .SBTTL .EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
2870
2871 ;+
2872 ; .EXAMT -- THE "EXAMINE <TEN>" COMMAND.
2873 ;
2874 ; THIS SUBROUTINE READS A KL ADDRESS, EXAMINES THAT ADDRESS,
2875 ; AND PRINTS THE CONTENT OF THAT ADDRESS.
2876 ;
2877 ; INPUT ARGUMENTS:
2878 ;
2879 ; NONE.
2880 ;
2881 ; OUTPUT ARGUMENTS:
2882 ;
2883 ; NONE.
2884 ;
2885 ; ERROR CODES RETURNED:
2886 ;
2887 ; EMF -- EXAMINE MEMORY FAILED.
2888 ; ESE -- EBOX STOPPED - EXAMINE
2889 ; KLA -- KL ADDRESS ERROR
2890 ; KCN -- KL CLOCK NOT RUNNING
2891 ; MRA -- MISSING REQUIRED ARGUMENT
2892 ;-
2893
2894 002652 .EXAMT::
2895 002652 CALL .CKARG ; SEE IF WE HAVE AN ARGUMENT
002652 004737 000000G JSR PC,.CKARG
2896 002656 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
2897 002660 012700 000000G MOV #.EXETB,R0 ; EXTENSION TABLE POINTER TO R0
2898 002664 CALL .TSCAN ; SCAN THE TABLE
002664 004737 000000G JSR PC,.TSCAN
2899 002670 CALLR @2(R0) ; DO WHAT IT SAYS TO
002670 000170 000002 JMP @2(R0)
2900 ;
2901 002674 10$:
2902 002674 012700 000000G MOV #.EDKLX,R0 ; POINT TO ADDRESS BUFFER
2903 002700 CALL .GTKLA ; GO GET THE ADDRESS
002700 004737 000000G JSR PC,.GTKLA
2904
2905 ; [CONTINUED ON THE FOLLOWING PAGE]
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1113 03-APR-86 22:56 PAGE 71
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
2907 ; [CONTINUED FROM THE PREVIOUS PAGE]
2908
2909 002704 .EXMTE:: ; EXTENDED EXAMINE ENTRY POINT
2910 002704 CALL .CKEOC ; CHECK E-O-C CHARACTER
002704 004737 000000G JSR PC,.CKEOC
2911 002710 012037 000076' MOV (R0)+,STOPTX ; [5.1014]SAVE INITIAL ADDRESS
2912 002714 012037 000100' MOV (R0)+,STOPTX+2 ; [5.1014]SAVE INITIAL ADDRESS
2913 002720 011037 000102' MOV (R0),STOPTX+4 ; [5.1014]SAVE INITIAL ADDRESS
2914 002724 024040 CMP -(R0),-(R0) ; [5.1014]RESTORE POINTER
2915 002726 032737 100000 000000G 1$: BIT #KF.CLK,.KLFLG ; IS THE KL CLOCK ON?
2916 002734 001535 BEQ EXTKCN ; NO -- GIVE "KCN" ERROR
2917 002736 PUSH R0 ; [5.1014]YES -- SAVE ADDRESS POINTER
002736 010046 MOV R0,-(SP)
2918 002740 PUSH #.EXBFR ; SAVE THE DATA POINTER
002740 012746 000000G MOV #.EXBFR,-(SP)
2919 002744 012702 000000G MOV #.EDKLA,R2 ; .ADDRESS BUFFER POINTER TO R2
2920 002750 012022 MOV (R0)+,(R2)+ ; .LOAD THE NEW ADDRESS
2921 002752 012022 MOV (R0)+,(R2)+ ; .INTO THE ADDRESS BUFFER
2922 002754 011012 MOV (R0),(R2) ; .SO
2923 002756 024242 CMP -(R2),-(R2) ; .BACK THE POINTER UP
2924 002760 PUSH R2 ; .ADDRESS POINTER
002760 010246 MOV R2,-(SP)
2925 002762 010601 MOV SP,R1 ; ..POINT TO THE DATA BLOCK
2926 002764 012700 000200 MOV #ED.PHY,R0 ; ..PHYSICAL REFERENCE
2927 002770 CALL .EXKLM ; ..DO THE EXAMINE
002770 004737 000000G JSR PC,.EXKLM
2928 002774 POP R0 ; ..POINT TO THE ADDRESS
002774 012600 MOV (SP)+,R0
2929 002776 CALL .TYKLA ; .PRINT THE ADDRESS
002776 004737 000000G JSR PC,.TYKLA
2930 003002 CALL .TYSLS ; .TYPE A SLASH
003002 004737 000000G JSR PC,.TYSLS
2931 003006 CALL .TYSPC ; .AND A SPACE
003006 004737 000000G JSR PC,.TYSPC
2932 003012 POP R0 ; .POINT TO THE DATA
003012 012600 MOV (SP)+,R0
2933 003014 CALL .TYKLN ; PRINT THE DATA
003014 004737 000000G JSR PC,.TYKLN
2934 003020 CALL .TCRLF ; AND END THE LINE
003020 004737 000000G JSR PC,.TCRLF
2935 003024 POP R0 ; [5.1014]RESTORE ADDRESS POINTER
003024 012600 MOV (SP)+,R0
2936 003026 005737 000112' 5$: TST RNGTX ; [5.1014]RANGE IN PROGRESS?
2937 003032 001412 BEQ 7$ ; [5.1014]NO -- GO ON
2938 003034 012701 000076' MOV #STOPTX,R1 ; [5.1014]YES -- FINAL ADDRESS
2939 003040 CALL .TPCMP ; [5.1014]DONE?
003040 004737 000000G JSR PC,.TPCMP
2940 003044 001405 BEQ 7$ ; [5.1014]YES -- GO ON
2941 003046 012701 000104' MOV #INCTX,R1 ; [5.1014]NO -- POINT TO INCREMENT
2942 003052 CALL .TPADD ; [5.1014]INCREMENT ADDRESS
003052 004737 000000G JSR PC,.TPADD
2943 003056 000723 BR 1$ ; [5.1014]EXAMINE NEXT ADDRESS
2944 003060 005037 000112' 7$: CLR RNGTX ; [5.1014]CLEAR RANGE IN PROGRESS FLAG
2945 003064 122715 000054 CMPB #',,(R5) ; [5.1014]IS THIS A LIST?
2946 003070 001002 BNE 20$ ; [5.1014]NO -- GO NO
2947 003072 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COMMA
2948 003074 000666 BR .EXAMT ; [5.1014]DO NEXT
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1113 03-APR-86 22:56 PAGE 71-1
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
2949 003076 122715 000072 20$: CMPB #':,(R5) ; [5.1014]IS THIS A RANGE?
2950 003102 001051 BNE 40$ ; [5.1014]NO -- GO ON
2951 003104 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COLON
2952 003106 CALL .GTKLA ; [5.1014]GET FINAL ADDRESS
003106 004737 000000G JSR PC,.GTKLA
2953 003112 CALL .CKEOC ; [5.1014]CHECK FOR END OF COMMAND
003112 004737 000000G JSR PC,.CKEOC
2954 003116 005237 000112' INC RNGTX ; [5.1014]SET RANGE IN PROGRESS
2955 003122 012737 000001 000104' MOV #1,INCTX ; [5.1014]SET FORWARD RANGE
2956 003130 005037 000106' CLR INCTX+2 ; [5.1014]CLEAR INCREMENT
2957 003134 005037 000110' CLR INCTX+4 ; [5.1014]CLEAR INCREMENT
2958 003140 012701 000076' MOV #STOPTX,R1 ; [5.1014]INITIAL ADDRESS POINTER
2959 003144 CALL .TPCMP ; [5.1014]FORWARD RANGE?
003144 004737 000000G JSR PC,.TPCMP
2960 003150 003006 BGT 30$ ; [5.1014]YES -- GO ON
2961 003152 PUSH R0 ; [5.1014]NO -- SAVE FINAL ADDRESS
003152 010046 MOV R0,-(SP)
2962 003154 012700 000104' MOV #INCTX,R0 ; [5.1014]RANGE INCREMENT
2963 003160 CALL .TPNEG ; [5.1014]NEGATE IT
003160 004737 000000G JSR PC,.TPNEG
2964 003164 POP R0 ; [5.1014]RESTORE ADDRESS
003164 012600 MOV (SP)+,R0
2965 003166 30$: PUSH STOPTX ; [5.1014]SAVE INITIAL ADDRESS
003166 013746 000076' MOV STOPTX,-(SP)
2966 003172 PUSH STOPTX+2 ; [5.1014]SAVE INITIAL ADDRESS
003172 013746 000100' MOV STOPTX+2,-(SP)
2967 003176 PUSH STOPTX+4 ; [5.1014]SAVE INITIAL ADDRESS
003176 013746 000102' MOV STOPTX+4,-(SP)
2968 003202 012037 000076' MOV (R0)+,STOPTX ; [5.1014]SET FINAL ADDRESS
2969 003206 012037 000100' MOV (R0)+,STOPTX+2 ; [5.1014]SET FINAL ADDRESS
2970 003212 012037 000102' MOV (R0)+,STOPTX+4 ; [5.1014]SET FINAL ADDRESS
2971 003216 POP -(R0) ; [5.1014]SET INITIAL ADDRESS
003216 012640 MOV (SP)+,-(R0)
2972 003220 POP -(R0) ; [5.1014]SET INITIAL ADDRESS
003220 012640 MOV (SP)+,-(R0)
2973 003222 POP -(R0) ; [5.1014]SET INITIAL ADDRESS
003222 012640 MOV (SP)+,-(R0)
2974 003224 000700 BR 5$ ; [5.1014]DO INCREMENT
2975 003226 40$: RETURN ; [5.1014]EXIT
003226 000207 RTS PC
2976 ;
2977 003230 EXTKCN:
2978 003230 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
003230 012746 042506 MOV #^RKCN,-(SP)
003234 104400 TRAP TC.ERR
2979 ;
2980
2981 000076 .PSECT DATA
2982
2983 000076 000000 000000 000000 STOPTX: .WORD 0,0,0 ; [5.1014]FINAL/FIRST ADDRESS
2984 000104 000000 000000 000000 INCTX: .WORD 0,0,0 ; [5.1014]RANGE INCREMENT
2985 000112 000000 RNGTX: .WORD 0 ; [5.1014]RANGE IN PROGRESS FLAG
2986
2987 003236 .PSECT
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1113 03-APR-86 22:56 PAGE 72
.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.
2989 .SBTTL .EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
2990
2991 .ENABL LSB
2992
2993 003236 .EXKLT:: ; EXAMINE <TEN> THIS
2994 003236 012700 000000G MOV #.EDKLA,R0 ; ADDRESS POINTER TO R0
2995 003242 000620 BR .EXMTE ; DO THE EXAMINE
2996 ;
2997 003244 .EXKLD:: ; EXAMINE <TEN> DECREMENT
2998 003244 CALL .EDKLD ; DECREMENT IT
003244 004737 000444' JSR PC,.EDKLD
2999 003250 000615 BR .EXMTE ; DO THE EXAMINE
3000 ;
3001 003252 .EXKLI:: ; EXAMINE <TEN> INCREMENT
3002 003252 CALL .EDKLI ; INCREMENT IT
003252 004737 000462' JSR PC,.EDKLI
3003 003256 000612 BR .EXMTE ; DO THE EXAMINE
3004 ;
3005 003260 .EXKLN:: ; EXAMINE <TEN> NEXT
3006 003260 CALL .EDKLN ; GET NEXT ADDRESS
003260 004737 000432' JSR PC,.EDKLN
3007 003264 000607 BR .EXMTE ; DO THE EXAMINE
3008 ;
3009 003266 .EXKLP:: ; EXAMINE <TEN> PREVIOUS
3010 003266 CALL .EDKLP ; GET THE PREVIOUS ADDDRESS
003266 004737 000420' JSR PC,.EDKLP
3011 003272 000604 BR .EXMTE ; DO THE EXAMINE
3012 ;
3013
3014 .DSABL LSB
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1113 03-APR-86 22:56 PAGE 73
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
3016 .SBTTL .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
3017
3018 ;+
3019 ; .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR.
3020 ;
3021 ; THIS SUBROUTINE READS THE ERROR STATE OF THE KL APR AND RETURNS
3022 ; THAT ERROR STATE IN R0 AND ".APRWD".
3023 ;
3024 ; THE FORMAT OF THE DATA RETURNED IS:
3025 ;
3026 ; AP.PWF -- BIT00 -- [APR PWR FAIL IN H] -- POWER FAIL
3027 ; AP.SAP -- BIT01 -- [APR S ADR P ERR IN H] -- SBUS ADR PARITY ERROR
3028 ; AP.CDP -- BIT02 -- [APR C DIR P ERR IN H] -- CACHE DIR PARITY ERROR
3029 ; AP.MPE -- BIT03 -- [APR MB PAR ERR IN H] -- MB PARITY ERROR
3030 ; AP.IPF -- BIT04 -- [APR I/O PF ERR IN H] -- I/O PAGE FAIL ERROR
3031 ; AP.NXM -- BIT05 -- [APR NXM ERR IN H] -- NON-EX-MEMORY ERROR
3032 ; AP.SBE -- BIT06 -- [APR SBUS ERR IN H] -- SBUS ERROR
3033 ;
3034 ; INPUT ARGUMENTS:
3035 ;
3036 ; NONE.
3037 ;
3038 ; OUTPUT ARGUMENTS:
3039 ;
3040 ; R0 CONTAINS A COPY OF THE KL APR ERROR FLAGS
3041 ; ".APRWD" CONTAINS A COPY OF THE KL APR ERROR FLAGS
3042 ;
3043 ; ERROR CODES RETURNED:
3044 ;
3045 ; FRF -- FUNCTION READ FAILED.
3046 ;-
3047
3048 003274 .RDAPR::
3049 003274 PUSH R1 ; SAVE R1 ON THE STACK
003274 010146 MOV R1,-(SP)
3050 003276 005001 CLR R1 ; .CLEAR R1
3051 003300 012700 000220 MOV #FR.APR,R0 ; .FR TO READ APR ERRORS
3052 003304 CALL .FREAD ; .READ APR ERRORS
003304 004737 000000G JSR PC,.FREAD
3053 003310 012701 177751 MOV #-^D23,R1 ; .SHIFT COUNT TO R1
3054 003314 CALL .TPSHI ; .SHIFT ERROR BITS INTO POSITION
003314 004737 000000G JSR PC,.TPSHI
3055 003320 042710 177600 BIC #177600,(R0) ; .FLUSH UNWANTED BITS
3056 003324 011037 000000G MOV (R0),.APRWD ; .SAVE THE WORD
3057 003330 011000 MOV (R0),R0 ; .PUT A COPY IN R0
3058 003332 POP R1 ; .RESTORE R1
003332 012601 MOV (SP)+,R1
3059 003334 RETURN ; AND GO AWAY
003334 000207 RTS PC
3060 ;
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1113 03-APR-86 22:56 PAGE 75
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
3063
3064
3065 ;
3066 ; COPYRIGHT (C) 1985 BY
3067 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3068 ; ALL RIGHTS RESERVED.
3069 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3070 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3071 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3072 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3073 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3074 ;
3075 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3076 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3077 ; CORPORATION.
3078 ;
3079 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3080 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3081 ;
3082 ; MODULE: EXAMINE EBR/UBR
3083 ;
3084 ; VERSION: 01-00
3085 ;
3086 ; AUTHOR: M. RUDENKO
3087 ;
3088 ; DATE: 8504.02
3089 ;
3090 ;
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1113 03-APR-86 22:56 PAGE 76
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
3092 ; .EBRUBR -- EXAMINE EBR/UBR COMMAND
3093
3094 ;+
3095 ; EBRUBR -- THE EXAMINE EBR/ EXAMINE UBR COMMAND
3096 ;
3097 ;
3098 ; INPUT ARGUMENTS:
3099 ;
3100 ; R0 POINTS TO THE KL INSTRUCTION TO BE EXECUTED.
3101 ;
3102 ; OUTPUT ARGUMENTS:
3103 ;
3104 ; NONE.
3105 ;
3106 ; ERROR CODES RETURNED:
3107 ;
3108 ; IOC -- ILLEGAL KL OPCODE.
3109 ; MRA -- MISSING REQUIRED ARGUMENT.
3110 ; XTO -- KL EXECUTE TIMED OUT.
3111 ;-
3112 000114 .PSECT DATA
3113 000114 000000 EPTUPT: .WORD 0 ; CONTROL FLAG
3114 000116 000000 000000 000000 OFFSET:: .WORD 0,0,0 ; OFFSET INTO PAGE TABLE
3115 000124 GETEBR:: IOKL$ CONI,PAG,,100
000124 100 000 .BYTE $$A,$$B
000126 200 012 .BYTE $$C,$$D
000130 016 000 .BYTE $$E,$$F
3116 000132 GETUBR:: IOKL$ DATAI,PAG,,100
000132 100 000 .BYTE $$A,$$B
000134 200 010 .BYTE $$C,$$D
000136 016 000 .BYTE $$E,$$F
3117
3118 003336 .PSECT
3119 .ENABL LSB
3120
3121 003336 005237 000114' .EXEBR:: INC EPTUPT
3122 003342 000402 BR 5$
3123 003344 005037 000114' .EXUBR:: CLR EPTUPT
3124 003350 5$: PUSH <R0,R1>
003350 010046 MOV R0,-(SP)
003352 010146 MOV R1,-(SP)
3125 003354 012700 000116' MOV #OFFSET,R0
3126 003360 CALL .GTKLA
003360 004737 000000G JSR PC,.GTKLA
3127 003364 012700 000132' MOV #GETUBR,R0
3128 003370 005737 000114' TST EPTUPT
3129 003374 001402 BEQ 20$
3130 003376 012700 000124' MOV #GETEBR,R0
3131 003402 20$: CALL .EXCTF
003402 004737 000000G JSR PC,.EXCTF
3132
3133 003406 012737 000100 000000G MOV #100,.EDKLX
3134 003414 005037 000002G CLR .EDKLX+2
3135 003420 005037 000004G CLR .EDKLX+4
3136 003424 PUSH #.EXBFR
003424 012746 000000G MOV #.EXBFR,-(SP)
3137 003430 PUSH #.EDKLX
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1113 03-APR-86 22:56 PAGE 76-1
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
003430 012746 000000G MOV #.EDKLX,-(SP)
3138 003434 010601 MOV SP,R1
3139 003436 012700 000200 MOV #ED.PHY,R0
3140 003442 CALL .EXKLM
003442 004737 000000G JSR PC,.EXKLM
3141 003446 005726 TST (SP)+
3142 003450 005726 TST (SP)+
3143 003452 012700 000000G MOV #.EXBFR,R0
3144 003456 012701 000011 MOV #11,R1
3145 003462 CALL .TPSHI
003462 004737 000000G JSR PC,.TPSHI
3146 003466 012701 000116' MOV #OFFSET,R1
3147 003472 CALL .TPADD
003472 004737 000000G JSR PC,.TPADD
3148 003476 012701 000006G MOV #.EXBFR+6,R1
3149 003502 012700 000006G MOV #.EDKLX+6,R0
3150 003506 014140 MOV -(R1),-(R0)
3151 003510 014140 MOV -(R1),-(R0)
3152 003512 014140 MOV -(R1),-(R0)
3153 003514 CALL .EXMTE
003514 004737 002704' JSR PC,.EXMTE
3154 003520 POP <R1,R0>
003520 012601 MOV (SP)+,R1
003522 012600 MOV (SP)+,R0
3155 003524 RETURN
003524 000207 RTS PC
3156 .DSABL LSB
3157
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1113 03-APR-86 22:56 PAGE 77
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
3159
3160
3161 .TITLE EXCTC -- EXECUTE (XCT) COMMAND MODULE 7603.30
3162
3163 .IDENT "005000"
3164 ;
3165 ; COPYRIGHT (C) 1975, 1984, 1985 BY
3166 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3167 ; ALL RIGHTS RESERVED.
3168 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3169 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3170 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3171 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3172 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3173 ;
3174 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3175 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3176 ; CORPORATION.
3177 ;
3178 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3179 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3180 ;
3181 ; MODULE: EXECUTE COMMAND
3182 ;
3183 ; VERSION: 05-00
3184 ;
3185 ; AUTHOR: R. BELANGER
3186 ;
3187 ; DATE: 7603.30
3188 ;
3189 ; THIS MODULE CONTAINS:
3190 ;
3191 ; 1) EXECUTE COMMAND CODE
EXCTC -- EXECUTE (XCT) COMMAND MACRO M1113 03-APR-86 22:56 PAGE 78
.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
3193 .SBTTL .EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
3194
3195 ;+
3196 ; .EXCTC -- THE "XCT" (EXECUTE) COMMAND
3197 ;
3198 ; THIS ROUTINE SIMULATES THE "XCT" SWITCH OF THE KL CONSOLE.
3199 ;
3200 ; INPUT ARGUMENTS:
3201 ;
3202 ; R0 POINTS TO THE KL INSTRUCTION TO BE EXECUTED.
3203 ;
3204 ; OUTPUT ARGUMENTS:
3205 ;
3206 ; NONE.
3207 ;
3208 ; ERROR CODES RETURNED:
3209 ;
3210 ; IOC -- ILLEGAL KL OPCODE.
3211 ; MRA -- MISSING REQUIRED ARGUMENT.
3212 ; XTO -- KL EXECUTE TIMED OUT.
3213 ;-
3214
3215 003526 .EXCTC:: ; HERE FROM PARSER
3216 003526 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
3217 003530 005046 CLR -(SP) ; .
3218 003532 005046 CLR -(SP) ; ..
3219 003534 010600 MOV SP,R0 ; ...POINT TO IT
3220 003536 CALL .GTKLN ; ...READ THE INSTRUCTION
003536 004737 000000G JSR PC,.GTKLN
3221 003542 CALL .CKEOC ; ...CHECK E-O-C CHARACTER
003542 004737 000000G JSR PC,.CKEOC
3222 003546 032760 000017 000004 BIT #17,4(R0) ; ...CHECK HIGH PART OF OPCODE
3223 003554 001005 BNE 10$ ; ...OK -- GO ON
3224 003556 032760 174000 000002 BIT #^C3777,2(R0) ; ...CHECK LOW PART OF OPCODE
3225 003564 001403 BEQ EXCIOC ; ...NONE THERE -- GIVE "IOC" ERROR
3226 003566 010600 MOV SP,R0 ; ...POINT TO THE INSTRUCTION
3227 003570 10$:
3228 003570 CALLR .EXECT ; ...ALL OK -- GO DO IT
003570 000137 000000G JMP .EXECT
3229 ;
3230 003574 EXCIOC:
3231 003574 ERROR$ IOC ; ERROR -- ILLEGAL OPCODE
003574 012746 035233 MOV #^RIOC,-(SP)
003600 104400 TRAP TC.ERR
3232 ;
EXCTC -- EXECUTE (XCT) COMMAND MACRO M1113 03-APR-86 22:56 PAGE 79
.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
3234
3235
3236 .TITLE EXDTE -- EXAMINE DTE-20 REGISTERS COMMAND
3237
3238 .IDENT "006110"
3239 ;
3240 ; COPYRIGHT (C) 1975, 1984, 1985 BY
3241 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3242 ; ALL RIGHTS RESERVED.
3243 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3244 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3245 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3246 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3247 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3248 ;
3249 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3250 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3251 ; CORPORATION.
3252 ;
3253 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3254 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3255 ;
3256 ; MODULE: EXAMINE DTE-20 COMMAND
3257 ;
3258 ; VERSION: 06-11
3259 ;
3260 ; AUTHOR: K. LEFEBVRE
3261 ;
3262 ; DATE: 24-SEP-79
3263 ;
3264 ; THIS MODULE CONTAINS:
3265 ;
3266 ; 1) EXAMINE DTE-20 REGISTERS COMMAND
3267
3268 .MCALL .INH6,.ENB6
EXDTE -- EXAMINE DTE-20 REGISTE MACRO M1113 03-APR-86 22:56 PAGE 80
.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
3270 .SBTTL .EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
3271
3272 ;+
3273 ; .EXDTE -- THE "EXAMINE DTE-20" COMMAND.
3274 ;
3275 ; THIS ROUTINE WILL READ AND DISPLAY THE CONTENTS OF ALL THE DTE-20
3276 ; REGISTERS ON THE CONSOLE DEVICE.
3277 ;
3278 ; THIS ROUTINE TYPES OUT ALL THE REGISTERS IN THE NEW FORMAT
3279 ; AS WAS REQUIRED FOR TCO 5.1001
3280 ;
3281 ; INPUT ARGUMENTS:
3282 ;
3283 ; NONE.
3284 ;
3285 ; OUTPUT ARGUMENTS:
3286 ;
3287 ; NONE.
3288 ;
3289 ; ERROR CODES RETURNED:
3290 ;
3291 ; NONE.
3292 ;-
3293
3294 003602 .EXDTE::
3295 003602 CALL .CKEOC ; CHECK E-O-C
003602 004737 000000G JSR PC,.CKEOC
3296 003606 CALLR TYPDTE ; TYPE OUT DTE REGISTERS
003606 000137 003612' JMP TYPDTE
EXDTE -- EXAMINE DTE-20 REGISTE MACRO M1113 03-APR-86 22:56 PAGE 81
TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY
3298 .SBTTL TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY
3299
3300 ;+
3301 ; TYPDTE -- TYPE OUT DTE-20 REGISTERS SYMBOLLICALLY
3302 ;
3303 ; THIS ROUTINE WILL TYPE OUT THE CONTENTS OF ALL THE DTE-20 REGISTERS
3304 ; IN OCTAL AND WILL ALSO DECODE SOME OF THEM.
3305 ;
3306 ; THIS ROUTINE WAS ADDED FOR TCO 5.1001
3307 ;
3308 ; INPUT ARGUMENTS:
3309 ;
3310 ; NONE
3311 ;
3312 ; OUTPUT ARGUMENTS:
3313 ;
3314 ; NONE
3315 ;
3316 ; ERROR CODES RETURNED:
3317 ;
3318 ; NONE
3319 ;-
3320
3321 003612 TYPDTE:
3322 003612 013700 000000G MOV .PRDTE,R0 ; DTE BASE REGISTER ADDRESS
3323 003616 012701 000140' MOV #DTEBUF,R1 ; DTE REGISTER SAVE BUFFER
3324 003622 012702 000020 MOV #16.,R2 ; REGISTER COUNT
3326 003626 .INH6 ; INHIBIT INTERRUPTS
003626 013746 177776 MOV @#PS,-(SP)
003632 112737 000300 177776 MOVB #300,@#PS
3328 003640 012021 10$: MOV (R0)+,(R1)+ ; SAVE DTE REGISTERS
3329 003642 077202 SOB R2,10$ ; DONE?
3331 003644 .ENB6 ; ENABLE INTERRUPTS
003644 012637 177776 MOV (SP)+,@#PS
3333 003650 005002 CLR R2 ; REGISTER COUNT
3334 003652 016200 000200' 20$: MOV DTEREG(R2),R0 ; HEADER ADDRESS
3335 003656 CALL .TYMSG ; TYPE HEADER
003656 004737 000000G JSR PC,.TYMSG
3336 003662 016200 000140' MOV DTEBUF(R2),R0 ; REGISTER CONTENTS
3337 003666 CALL .TYELN ; TYPE VALUE
003666 004737 000000G JSR PC,.TYELN
3338 003672 CALL @SYMTAB(R2) ; TYPE CONTENTS SYMBOLLICALLY
003672 004772 000240' JSR PC,@SYMTAB(R2)
3339 003676 005722 TST (R2)+ ; NEXT REGISTER
3340 003700 020227 000036 CMP R2,#30. ; DONE?
3341 003704 003762 BLE 20$ ; NO
3342 003706 RETURN ; YES
003706 000207 RTS PC
3343
3344 000140 .PSECT DATA
3345
3346 000140 DTEBUF: .BLKW 16. ; REGISTER BUFFER
3347
3348 000200 DTEREG: ; HEADER TEXT POINTERS
3349 000200 000004' .WORD HDDLY
3350 000202 000015' .WORD HDDEX3
3351 000204 000030' .WORD HDDEX2
EXDTE -- EXAMINE DTE-20 REGISTE MACRO M1113 03-APR-86 22:56 PAGE 81-1
TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY
3352 000206 000043' .WORD HDDEX1
3353 000210 000056' .WORD HDTAD1
3354 000212 000071' .WORD HDTAD2
3355 000214 000102' .WORD HDT10B
3356 000216 000115' .WORD HDT11B
3357 000220 000126' .WORD HDT10A
3358 000222 000141' .WORD HDT11A
3359 000224 000152' .WORD HDT10D
3360 000226 000165' .WORD HDT11D
3361 000230 000176' .WORD HDDAG1
3362 000232 000211' .WORD HDDAG2
3363 000234 000224' .WORD HDSTAT
3364 000236 000237' .WORD HDDAG3
3365
3366 000240 SYMTAB: ; SYMBOLIC TYPE ROUTINES
3367 000240 000300' .WORD NOOP ; DLYCNT
3368 000242 000300' .WORD NOOP ; DEXWD3
3369 000244 000300' .WORD NOOP ; DEXWD2
3370 000246 003746' .WORD TYPDX1 ; DEXWD1
3371 000250 000300' .WORD NOOP ; TENAD1
3372 000252 004016' .WORD TYPAD2 ; TENAD2
3373 000254 000300' .WORD NOOP ; TO10BC
3374 000256 000300' .WORD NOOP ; TO11BC
3375 000260 000300' .WORD NOOP ; TO10AD
3376 000262 000300' .WORD NOOP ; TO11AD
3377 000264 000300' .WORD NOOP ; TO10DT
3378 000266 000300' .WORD NOOP ; TO11DT
3379 000270 004240' .WORD TYPDG1 ; DIAG1
3380 000272 000300' .WORD NOOP ; DIAG2
3381 000274 003710' .WORD STATYP ; STATUS
3382 000276 004312' .WORD TYPDG3 ; DIAG3
3383
3384 000300 NOOP: RETURN ; NO SYMBOLIC TYPE OUT
000300 000207 RTS PC
3385
3386 000004 .PSECT MESSAG
3387
3388 000004 104 114 131 HDDLY: .ASCIZ/DLYCNT: /
000007 103 116 124
000012 072 040 000
3389 000015 015 012 104 HDDEX3: .ASCIZ<15><12>/DEXWD3: /
000020 105 130 127
000023 104 063 072
000026 040 000
3390 000030 015 012 104 HDDEX2: .ASCIZ<15><12>/DEXWD2: /
000033 105 130 127
000036 104 062 072
000041 040 000
3391 000043 015 012 104 HDDEX1: .ASCIZ<15><12>/DEXWD1: /
000046 105 130 127
000051 104 061 072
000054 040 000
3392 000056 015 012 124 HDTAD1: .ASCIZ<15><12>/TENAD1: /
000061 105 116 101
000064 104 061 072
000067 040 000
3393 000071 124 105 116 HDTAD2: .ASCIZ/TENAD2: /
EXDTE -- EXAMINE DTE-20 REGISTE MACRO M1113 03-APR-86 22:56 PAGE 81-2
TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY
000074 101 104 062
000077 072 040 000
3394 000102 015 012 124 HDT10B: .ASCIZ<15><12>/TO10BC: /
000105 117 061 060
000110 102 103 072
000113 040 000
3395 000115 124 117 061 HDT11B: .ASCIZ/TO11BC: /
000120 061 102 103
000123 072 040 000
3396 000126 015 012 124 HDT10A: .ASCIZ<15><12>/TO10AD: /
000131 117 061 060
000134 101 104 072
000137 040 000
3397 000141 124 117 061 HDT11A: .ASCIZ/TO11AD: /
000144 061 101 104
000147 072 040 000
3398 000152 015 012 124 HDT10D: .ASCIZ<15><12>/TO10DT: /
000155 117 061 060
000160 104 124 072
000163 040 000
3399 000165 124 117 061 HDT11D: .ASCIZ/TO11DT: /
000170 061 104 124
000173 072 040 000
3400 000176 015 012 104 HDDAG1: .ASCIZ<15><12>/DIAG1 : /
000201 111 101 107
000204 061 040 072
000207 040 000
3401 000211 015 012 104 HDDAG2: .ASCIZ<15><12>/DIAG2 : /
000214 111 101 107
000217 062 040 072
000222 040 000
3402 000224 015 012 123 HDSTAT: .ASCIZ<15><12>/STATUS: /
000227 124 101 124
000232 125 123 072
000235 040 000
3403 000237 015 012 104 HDDAG3: .ASCIZ<15><12>/DIAG3 : /
000242 111 101 107
000245 063 040 072
000250 040 000
3404
3405 003710 .PSECT
EXDTE -- EXAMINE DTE-20 REGISTE MACRO M1113 03-APR-86 22:56 PAGE 82
STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT
3407 .SBTTL STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT
3408
3409 ; THIS ROUTINE WAS ADDED FOR TCO 5.1001
3410
3411 003710 STATYP:
3412 003710 016203 000140' MOV DTEBUF(R2),R3 ; DTE REGISTER CONTENTS
3413 003714 012701 000302' MOV #STATAB,R1 ; FIRST MESSAGE PTR
3414 003720 005703 10$: TST R3 ; REGISTER=0
3415 003722 001410 BEQ 30$ ; YES-DONE
3416 003724 006303 ASL R3 ; SHIFT HIGH BIT TO CARRY
3417 003726 103003 BCC 20$ ; BIT CLEAR?
3418 003730 011100 MOV @R1,R0 ; POINT TO MESSAGE
3419 003732 CALL .TYMSG ; NO-TYPE MESSAGE
003732 004737 000000G JSR PC,.TYMSG
3420 003736 062701 000002 20$: ADD #2,R1 ; ADDRESS NEXT MESSAGE
3421 003742 000766 BR 10$ ; CHECK NEXT BIT
3422 003744 30$: RETURN ; EXIT
003744 000207 RTS PC
3423
3424 000302 .PSECT DATA
3425
3426 000302 STATAB: ; STATUS MESSAGE TABLE
3427 000302 000252' .WORD STA15
3428 000304 000306' .WORD STA14
3429 000306 000327' .WORD STA13
3430 000310 000362' .WORD STA12
3431 000312 000402' .WORD STA11
3432 000314 000432' .WORD STA10
3433 000316 000450' .WORD STA9
3434 000320 000502' .WORD STA8
3435 000322 000532' .WORD STA7
3436 000324 000561' .WORD STA6
3437 000326 000604' .WORD STA5
3438 000330 000643' .WORD STA4
3439 000332 000671' .WORD STA3
3440 000334 000714' .WORD STA2
3441 000336 000744' .WORD STA1
3442 000340 001004' .WORD STA0
3443
3444 000252 .PSECT MESSAG
3445
3446 000252 015 012 040 STA15: .ASCIZ<15><12>/ TO 10 NORMAL TERMINATION/
000255 124 117 040
000260 061 060 040
000263 116 117 122
000266 115 101 114
000271 040 124 105
000274 122 115 111
000277 116 101 124
000302 111 117 116
000305 000
3447 000306 015 012 040 STA14: .ASCIZ<15><12>/ BIT 14 UNUSED/
000311 102 111 124
000314 040 061 064
000317 040 125 116
000322 125 123 105
000325 104 000
EXDTE -- EXAMINE DTE-20 REGISTE MACRO M1113 03-APR-86 22:56 PAGE 82-1
STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT
3448 000327 015 012 040 STA13: .ASCIZ<15><12>/ TO 10 ERROR TERMINATION/
000332 124 117 040
000335 061 060 040
000340 105 122 122
000343 117 122 040
000346 124 105 122
000351 115 111 116
000354 101 124 111
000357 117 116 000
3449 000362 015 012 040 STA12: .ASCIZ<15><12>/ RAM IS ZEROS/
000365 122 101 115
000370 040 111 123
000373 040 132 105
000376 122 117 123
000401 000
3450 000402 015 012 040 STA11: .ASCIZ<15><12>/ 10 REQUESTED 11 INTR/
000405 061 060 040
000410 122 105 121
000413 125 105 123
000416 124 105 104
000421 040 061 061
000424 040 111 116
000427 124 122 000
3451 000432 015 012 040 STA10: .ASCIZ<15><12>/ DEX WORD 1/
000435 104 105 130
000440 040 127 117
000443 122 104 040
000446 061 000
3452 000450 015 012 040 STA9: .ASCIZ<15><12>/ 11 MEMORY PARITY ERROR/
000453 061 061 040
000456 115 105 115
000461 117 122 131
000464 040 120 101
000467 122 111 124
000472 131 040 105
000475 122 122 117
000500 122 000
3453 000502 015 012 040 STA8: .ASCIZ<15><12>/ 11 REQUESTED 10 INTR/
000505 061 061 040
000510 122 105 121
000513 125 105 123
000516 124 105 104
000521 040 061 060
000524 040 111 116
000527 124 122 000
3454 000532 015 012 040 STA7: .ASCIZ<15><12>/ TO 11 TRANSFER DONE/
000535 124 117 040
000540 061 061 040
000543 124 122 101
000546 116 123 106
000551 105 122 040
000554 104 117 116
000557 105 000
3455 000561 015 012 040 STA6: .ASCIZ<15><12>/ E BUFFER SELECT/
000564 105 040 102
000567 125 106 106
000572 105 122 040
EXDTE -- EXAMINE DTE-20 REGISTE MACRO M1113 03-APR-86 22:56 PAGE 82-2
STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT
000575 123 105 114
000600 105 103 124
000603 000
3456 000604 015 012 040 STA5: .ASCIZ<15><12>/ TO 11 TRANSFER STOP BY NULL/
000607 124 117 040
000612 061 061 040
000615 124 122 101
000620 116 123 106
000623 105 122 040
000626 123 124 117
000631 120 040 102
000634 131 040 116
000637 125 114 114
000642 000
3457 000643 015 012 040 STA4: .ASCIZ<15><12>/ E BUS PARITY ERROR/
000646 105 040 102
000651 125 123 040
000654 120 101 122
000657 111 124 131
000662 040 105 122
000665 122 117 122
000670 000
3458 000671 015 012 040 STA3: .ASCIZ<15><12>/ RESTRICTED MODE/
000674 122 105 123
000677 124 122 111
000702 103 124 105
000705 104 040 115
000710 117 104 105
000713 000
3459 000714 015 012 040 STA2: .ASCIZ<15><12>/ DEPOSIT-EXAMINE DONE/
000717 104 105 120
000722 117 123 111
000725 124 055 105
000730 130 101 115
000733 111 116 105
000736 040 104 117
000741 116 105 000
3460 000744 015 012 040 STA1: .ASCIZ<15><12>/ TO 11 BYTE ERROR TERMINATION/
000747 124 117 040
000752 061 061 040
000755 102 131 124
000760 105 040 105
000763 122 122 117
000766 122 040 124
000771 105 122 115
000774 111 116 101
000777 124 111 117
001002 116 000
3461 001004 015 012 040 STA0: .ASCIZ<15><12>/ INTERRUPTS ON/
001007 111 116 124
001012 105 122 122
001015 125 120 124
001020 123 040 117
001023 116 000
3462
3463 003746 .PSECT
EXDTE -- EXAMINE DTE-20 REGISTE MACRO M1113 03-APR-86 22:56 PAGE 83
TYPDX1 -- SYMBOLIC DEXWD1-DEXWD3 TYPE OUT
3465 .SBTTL TYPDX1 -- SYMBOLIC DEXWD1-DEXWD3 TYPE OUT
3466
3467 ; THIS ROUTINE WAS ADDED FOR TCO 5.1001
3468
3469 003746 TYPDX1:
3470 003746 012700 001025' MOV #DX1MS1,R0 ; DATA MESSAGE
3471 003752 CALL .TYMSG ; TYPE IT
003752 004737 000000G JSR PC,.TYMSG
3472 003756 012700 000134' MOV #DTEBUF-4,R0 ; ADDR OF REGISTERS
3473 003762 060200 ADD R2,R0 ; POINT TO DEX WORD 1
3474 003764 CALL .TYKLN ; TYPE IT
003764 004737 000000G JSR PC,.TYKLN
3475 003770 016203 000140' MOV DTEBUF(R2),R3 ; DEXWD1 VALUE
3476 003774 042703 000017 BIC #17,R3 ; DEXWD1 BITS 4-15
3477 004000 005703 TST R3 ; BITS 4-15 MBZ
3478 004002 001404 BEQ 10$ ; ARE THEY ZERO
3479 004004 012700 001045' MOV #DX1MS2,R0 ; NO- MESSAGE
3480 004010 CALL .TYMSG ; TYPE IT
004010 004737 000000G JSR PC,.TYMSG
3481 004014 10$: RETURN ; EXIT
004014 000207 RTS PC
3482
3483 001025 .PSECT MESSAG
3484
3485 001025 015 012 040 DX1MS1: .ASCIZ<15><12>/ KL10 DATA=/
001030 040 040 113
001033 114 061 060
001036 040 104 101
001041 124 101 075
001044 000
3486 001045 015 012 040 DX1MS2: .ASCIZ<15><12>/ DEXWD1 BITS 4-15 NON-ZERO/
001050 040 040 104
001053 105 130 127
001056 104 061 040
001061 102 111 124
001064 123 040 064
001067 055 061 065
001072 040 116 117
001075 116 055 132
001100 105 122 117
001103 000
3487
3488 004016 .PSECT
EXDTE -- EXAMINE DTE-20 REGISTE MACRO M1113 03-APR-86 22:56 PAGE 84
TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT
3490 .SBTTL TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT
3491
3492 ; THIS ROUTINE WAS ADDED FOR TCO 5.1001
3493
3494 004016 TYPAD2:
3495 004016 012700 001104' MOV #TA2MS1,R0 ; ADDRESS SPACE MESSAGE
3496 004022 CALL .TYMSG ; TYPE IT
004022 004737 000000G JSR PC,.TYMSG
3497 004026 016203 000136' MOV DTEBUF-2(R2),R3 ; REGISTER CONTENTS
3498 004032 000303 SWAB R3 ; GET SPACE BITS
3499 000004 .REPT 4
3500 ASR R3
3501 .ENDR
004034 006203 ASR R3
004036 006203 ASR R3
004040 006203 ASR R3
004042 006203 ASR R3
3502 004044 042703 177761 BIC #177761,R3 ; SPACE BITS
3503 004050 020327 000012 CMP R3,#12 ; RESERVED?
3504 004054 003402 BLE 10$ ; NO
3505 004056 012703 000012 MOV #12,R3 ; YES
3506 004062 016300 000342' 10$: MOV SPCTAB(R3),R0 ; MESSAGE ADDR
3507 004066 CALL .TYMSG ; TYPE SPACE
004066 004737 000000G JSR PC,.TYMSG
3508 004072 012700 001126' MOV #TA2MS2,R0 ; OPERATION MESSAGE
3509 004076 CALL .TYMSG ; TYPE IT
004076 004737 000000G JSR PC,.TYMSG
3510 004102 016203 000136' MOV DTEBUF-2(R2),R3 ; REGISTER CONTENTS
3511 004106 012700 001343' MOV #DEPOS,R0 ; DEPOSIT MESSAGE
3512 004112 032703 010000 BIT #10000,R3 ; IS TI A DEPOSIT?
3513 004116 001002 BNE 40$ ; YES
3514 004120 012700 001353' MOV #EXAM,R0 ; NO-EXAMINE
3515 004124 40$: CALL .TYMSG ; TYPE IT
004124 004737 000000G JSR PC,.TYMSG
3516 004130 012700 001144' MOV #TA2MS3,R0 ; PRO/REL MESSAGE
3517 004134 CALL .TYMSG ; TYPE IT
004134 004737 000000G JSR PC,.TYMSG
3518 004140 012700 001363' MOV #PRON,R0 ; PRO ON MESSAGE
3519 004144 032703 004000 BIT #4000,R3 ; IS IT ON?
3520 004150 001402 BEQ 50$ ; YES
3521 004152 012700 001367' MOV #PROFF,R0 ; NO-OFF
3522 004156 50$: CALL .TYMSG ; TYPE IT
004156 004737 000000G JSR PC,.TYMSG
3523 004162 032703 003600 BIT #3600,R3 ; CHECK MBZ BITS, ARE THEY?
3524 004166 001404 BEQ 60$ ; YES
3525 004170 012700 001201' MOV #TA2MS4,R0 ; NO-ERROR MESSAGE
3526 004174 CALL .TYMSG ; TYPE IT
004174 004737 000000G JSR PC,.TYMSG
3527 004200 012700 001236' 60$: MOV #TA2MS5,R0 ; ADDRESS MESSAGE
3528 004204 CALL .TYMSG ; TYPE IT
004204 004737 000000G JSR PC,.TYMSG
3529 004210 005046 CLR -(SP) ; ADDR BUFFER
3530 004212 042703 177600 BIC #177600,R3 ; CLEAR EXTRA BITS
3531 004216 010346 MOV R3,-(SP) ; ADDR BUFFER
3532 004220 016246 000140' MOV DTEBUF(R2),-(SP); ADDR BUFFER
3533 004224 010600 MOV SP,R0 ; BUFFER ADDRESS
3534 004226 CALL .TYKLA ; TYPE KL ADDR
EXDTE -- EXAMINE DTE-20 REGISTE MACRO M1113 03-APR-86 22:56 PAGE 84-1
TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT
004226 004737 000000G JSR PC,.TYKLA
3535 004232 062706 000006 ADD #6,SP ; POP OFF ADDR BUFFER
3536 004236 80$: RETURN ; EXIT
004236 000207 RTS PC
3537
3538 000342 .PSECT DATA
3539
3540 000342 SPCTAB:
3541 000342 001257' .WORD SPC1
3542 000344 001263' .WORD SPC2
3543 000346 001300' .WORD SPC3
3544 000350 001304' .WORD SPC4
3545 000352 001321' .WORD SPC5
3546 000354 001332' .WORD SPC6
3547
3548 001104 .PSECT MESSAG
3549
3550 001104 015 012 040 TA2MS1: .ASCIZ<15><12>/ ADDRESS SPACE=/
001107 101 104 104
001112 122 105 123
001115 123 040 123
001120 120 101 103
001123 105 075 000
3551 001126 015 012 040 TA2MS2: .ASCIZ<15><12>/ OPERATION=/
001131 117 120 105
001134 122 101 124
001137 111 117 116
001142 075 000
3552 001144 015 012 040 TA2MS3: .ASCIZ<15><12>/ PROTECTION-RELOCATION IS /
001147 120 122 117
001152 124 105 103
001155 124 111 117
001160 116 055 122
001163 105 114 117
001166 103 101 124
001171 111 117 116
001174 040 111 123
001177 040 000
3553 001201 015 012 040 TA2MS4: .ASCIZ<15><12>/ TENAD1 BITS 7-10 NON-ZERO/
001204 124 105 116
001207 101 104 061
001212 040 102 111
001215 124 123 040
001220 067 055 061
001223 060 040 116
001226 117 116 055
001231 132 105 122
001234 117 000
3554 001236 015 012 040 TA2MS5: .ASCIZ<15><12>/ KL10 ADDRESS=/
001241 113 114 061
001244 060 040 101
001247 104 104 122
001252 105 123 123
001255 075 000
3555 001257 105 120 124 SPC1: .ASCIZ/EPT/
001262 000
3556 001263 105 130 105 SPC2: .ASCIZ/EXEC VIRTUAL/
EXDTE -- EXAMINE DTE-20 REGISTE MACRO M1113 03-APR-86 22:56 PAGE 84-2
TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT
001266 103 040 126
001271 111 122 124
001274 125 101 114
001277 000
3557 001300 125 120 124 SPC3: .ASCIZ/UPT/
001303 000
3558 001304 125 123 105 SPC4: .ASCIZ/USER VIRTUAL/
001307 122 040 126
001312 111 122 124
001315 125 101 114
001320 000
3559 001321 120 110 131 SPC5: .ASCIZ/PHYSICAL/
001324 123 111 103
001327 101 114 000
3560 001332 122 105 123 SPC6: .ASCIZ/RESERVED/
001335 105 122 126
001340 105 104 000
3561 001343 104 105 120 DEPOS: .ASCIZ/DEPOSIT/
001346 117 123 111
001351 124 000
3562 001353 105 130 101 EXAM: .ASCIZ/EXAMINE/
001356 115 111 116
001361 105 000
3563 001363 117 116 040 PRON: .ASCIZ/ON /
001366 000
3564 001367 117 106 106 PROFF: .ASCIZ/OFF/
001372 000
3565
3566 004240 .PSECT
EXDTE -- EXAMINE DTE-20 REGISTE MACRO M1113 03-APR-86 22:56 PAGE 85
TYPDG1 -- SYMBOLIC DIAG1 TYPE OUT
3568 .SBTTL TYPDG1 -- SYMBOLIC DIAG1 TYPE OUT
3569
3570 ; THIS ROUTINE WAS ADDED FOR TCO 5.1001
3571
3572 004240 TYPDG1:
3573 004240 016203 000140' MOV DTEBUF(R2),R3 ; DIAG1
3574 004244 042703 170037 BIC #170037,R3 ; GET STATUS BITS
3575 000004 .REPT 4 ; LEFT JUSTIFY
3576 ASL R3
3577 .ENDR
004250 006303 ASL R3
004252 006303 ASL R3
004254 006303 ASL R3
004256 006303 ASL R3
3578 004260 012701 000356' MOV #DIATAB,R1 ; FIRST MESSAGE PTR
3579 004264 005703 10$: TST R3 ; DONE?
3580 004266 001410 BEQ 30$ ; YES-EXIT
3581 004270 006303 ASL R3 ; BIT SET?
3582 004272 103003 BCC 20$ ; NO
3583 004274 011100 MOV @R1,R0 ; MESSAGE ADDR
3584 004276 CALL .TYMSG ; YES-TYPE MESSAGE
004276 004737 000000G JSR PC,.TYMSG
3585 004302 062701 000002 20$: ADD #2,R1 ; NEXT MESSAGE
3586 004306 000766 BR 10$ ; NEXT
3587 004310 30$: RETURN ; EXIT
004310 000207 RTS PC
3588
3589 000356 .PSECT DATA
3590
3591 000356 DIATAB:
3592 000356 001373' .WORD DG1B11
3593 000360 001424' .WORD DG1B10
3594 000362 001450' .WORD DG1B9
3595 000364 001475' .WORD DG1B8
3596 000366 001541' .WORD DG1B7
3597 000370 001604' .WORD DG1B6
3598 000372 001647' .WORD DG1B5
3599
3600 001373 .PSECT MESSAG
3601
3602 001373 015 012 040 DG1B11: .ASCIZ<15><12>/ KL CLOCK ERROR STOP/
001376 040 040 113
001401 114 040 103
001404 114 117 103
001407 113 040 105
001412 122 122 117
001415 122 040 123
001420 124 117 120
001423 000
3603 001424 015 012 040 DG1B10: .ASCIZ<15><12>/ KL IN RUN MODE/
001427 040 040 113
001432 114 040 111
001435 116 040 122
001440 125 116 040
001443 115 117 104
001446 105 000
3604 001450 015 012 040 DG1B9: .ASCIZ<15><12>/ KL IN HALT LOOP/
EXDTE -- EXAMINE DTE-20 REGISTE MACRO M1113 03-APR-86 22:56 PAGE 85-1
TYPDG1 -- SYMBOLIC DIAG1 TYPE OUT
001453 040 040 113
001456 114 040 111
001461 116 040 110
001464 101 114 124
001467 040 114 117
001472 117 120 000
3605 001475 015 012 040 DG1B8: .ASCIZ<15><12>/ MAJOR STATE IS DEPOSIT-EXAMINE/
001500 040 040 115
001503 101 112 117
001506 122 040 123
001511 124 101 124
001514 105 040 111
001517 123 040 104
001522 105 120 117
001525 123 111 124
001530 055 105 130
001533 101 115 111
001536 116 105 000
3606 001541 015 012 040 DG1B7: .ASCIZ<15><12>/ MAJOR STATE IS TO-10 TRANSFER/
001544 040 040 115
001547 101 112 117
001552 122 040 123
001555 124 101 124
001560 105 040 111
001563 123 040 124
001566 117 055 061
001571 060 040 124
001574 122 101 116
001577 123 106 105
001602 122 000
3607 001604 015 012 040 DG1B6: .ASCIZ<15><12>/ MAJOR STATE IS TO-11 TRANSFER/
001607 040 040 115
001612 101 112 117
001615 122 040 123
001620 124 101 124
001623 105 040 111
001626 123 040 124
001631 117 055 061
001634 061 040 124
001637 122 101 116
001642 123 106 105
001645 122 000
3608 001647 015 012 040 DG1B5: .ASCIZ<15><12>/ DTE IN 10-11 DIAGNOSTIC MODE/
001652 040 040 104
001655 124 105 040
001660 111 116 040
001663 061 060 055
001666 061 061 040
001671 104 111 101
001674 107 116 117
001677 123 124 111
001702 103 040 115
001705 117 104 105
001710 000
3609
3610 004312 .PSECT
EXDTE -- EXAMINE DTE-20 REGISTE MACRO M1113 03-APR-86 22:56 PAGE 86
TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT
3612 .SBTTL TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT
3613
3614 ; THIS ROUTINE WAS ADDED FOR TCO 5.1001
3615
3616 004312 TYPDG3:
3617 004312 016203 000140' MOV DTEBUF(R2),R3 ; DIAG3
3618 004316 032703 000002 BIT #2,R3 ; NPR ERROR?
3619 004322 001404 BEQ 10$ ; NO-EXIT
3620 004324 012700 001711' MOV #DG3B1,R0 ; YES-MESSAGE
3621 004330 CALL .TYMSG ; TYPE IT
004330 004737 000000G JSR PC,.TYMSG
3622 004334 10$: CALLR .TCRLF ; EXIT
004334 000137 000000G JMP .TCRLF
3623
3624 001711 .PSECT MESSAG
3625
3626 001711 015 012 040 DG3B1: .ASCIZ<15><12>/ NPR UNIBUS PARITY ERROR/
001714 040 040 116
001717 120 122 040
001722 125 116 111
001725 102 125 123
001730 040 120 101
001733 122 111 124
001736 131 040 105
001741 122 122 117
001744 122 000
3627
3628 004340 .PSECT
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 88
TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT
3631 .TITLE EXREG -- EXAMINE 22 AND 36 BIT REGISTER COMMAND MODULE 7603.30
3632
3633 .IDENT "007010"
3634 ;
3635 ; COPYRIGHT (C) 1979, 1984, 1985 BY
3636 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3637 ; ALL RIGHTS RESERVED.
3638 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3639 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3640 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3641 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3642 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3643 ;
3644 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3645 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3646 ; CORPORATION.
3647 ;
3648 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3649 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3650 ;
3651 ; MODULE: EXAMINE 22 AND 36 BIT REGISTER COMMAND
3652 ;
3653 ; VERSION: 06-01
3654 ;
3655 ; AUTHOR: R. BELANGER
3656 ;
3657 ; DATE: 7603.30
3658 ;
3659 ; THIS MODULE CONTAINS:
3660 ;
3661 ; 1) EXAMINE 22 AND 36 BIT REGISTER COMMAND CODE
3662 ;
3663 ;09-NOV-82 TCO 6.1364 D. WEAVER
3664 ; FIX DISPLAY FOR EXAMINE PI CODE, CHANGE BIS TO MOVB.
3665 ; ROUTINE: .EXMPI
3666 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 89
.EXAD -- KL DATA PATH BOARD EXAMINES 7602.16
3668 .SBTTL .EXAD -- KL DATA PATH BOARD EXAMINES 7602.16
3669
3670 .ENABL LSB
3671
3672 004340 .EXAD:: ; ADDER REGISTER
3673 004340 012700 005254' MOV #.RDADR,R0 ; DISPATCH POINTER TO R0
3674 004344 000445 BR 20$ ; DO COMMON CODE
3675 ;
3676 004346 .EXADX:: ; ADDRER EXTENSION
3677 004346 012700 005262' MOV #.RDADX,R0 ; DISPATCH POINTER TO R0
3678 004352 000442 BR 20$ ; DO COMMON CODE
3679 ;
3680 004354 .EXARR:: ; ARITHMETIC REGISTER
3681 004354 012700 005270' MOV #.RDARR,R0 ; DISPATCH POINTER TO R0
3682 004360 000437 BR 20$ ; DO COMMON CODE
3683 ;
3684 004362 .EXARX:: ; AR EXTENSION
3685 004362 012700 005276' MOV #.RDARX,R0 ; DISPATCH POINTER TO R0
3686 004366 000434 BR 20$ ; DO COMMON CODE
3687 ;
3688 004370 .EXBRR:: ; BUFFER REGISTER
3689 004370 012700 005304' MOV #.RDBRR,R0 ; DISPATCH POINTER TO R0
3690 004374 000431 BR 20$ ; DO COMMON CODE
3691 ;
3692 004376 .EXBRX:: ; BR EXTENSION
3693 004376 012700 005312' MOV #.RDBRX,R0 ; DISPATCH POINTER TO R0
3694 004402 000426 BR 20$ ; DO COMMON CODE
3695 ;
3696 004404 .EXEBS:: ; EBUS REGISTER
3697 004404 012700 005320' MOV #.RDEBS,R0 ; DISPATCH POINTER TO R0
3698 004410 000423 BR 20$ ; DO COMMON CODE
3699 ;
3700 004412 .EXFMR:: ; FAST MEMORY REGISTER
3701 004412 012700 005326' MOV #.RDFMR,R0 ; DISPATCH POINTER TO R0
3702 004416 000420 BR 20$ ; DO COMMON CODE
3703 ;
3704 004420 .EXMQR:: ; MQ REGSITER
3705 004420 012700 005334' MOV #.RDMQR,R0 ; DISPATCH POINTER TO R0
3706 004424 000415 BR 20$ ; DO COMMON CODE
3707 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 90
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
3709 .SBTTL .EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
3710
3711 004426 .EXVAB:: ; ADDRESS BREAK REGISTER
3712 004426 012700 005704' MOV #.RDVAB,R0 ; DISPATCH POINTER TO R0
3713 004432 000410 BR 10$ ; DO COMMON CODE
3714 ;
3715 004434 .EXVMA:: ; VMA REGISTER
3716 004434 012700 005712' MOV #.RDVMA,R0 ; DISPATCH POINTER TO R0
3717 004440 000405 BR 10$ ; DO COMMON CODE
3718 ;
3719 004442 .EXVMH:: ; VMA HELD REGISTER
3720 004442 012700 005720' MOV #.RDVMH,R0 ; DISPATCH POINTER TO R0
3721 004446 000402 BR 10$ ; DO COMMON CODE
3722 ;
3723 004450 .EXVPC:: ; PROGRAM COUNTER
3724 004450 012700 005676' MOV #.RDVPC,R0 ; DISPATCH POINTER TO R0
3725 ; BR 10$ ; DO COMMON CODE
3726 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 91
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
3728 ; [CONTINUED FROM THE PREVIOUS PAGE]
3729
3730 004454 10$: ; HERE FOR VMA BOARD EXAMINES
3731 004454 005037 000000G CLR .LDZFL ; DON'T PRINT LEADING ZEROES
3732 004460 20$: ; HERE FOR DATA PATH BOARD EXAMINES
3733 004460 CALL .CKEOC ; CHECK E-O-C
004460 004737 000000G JSR PC,.CKEOC
3734 004464 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
3735 004466 005046 CLR -(SP) ; .
3736 004470 005046 CLR -(SP) ; ..
3737 004472 010601 MOV SP,R1 ; ...POINT TO THE BUFFER
3738 004474 PUSH R0 ; ...SAVE THE DISPATCH ADDRESS
004474 010046 MOV R0,-(SP)
3739 004476 CALL .STPKL ; ....STOP THE KL
004476 004737 000000G JSR PC,.STPKL
3740 004502 CALL @(SP)+ ; ....READ THE REGISTER
004502 004736 JSR PC,@(SP)+
3741 004504 CALL .RSTKL ; ...YES -- RESTART THE KL
004504 004737 000000G JSR PC,.RSTKL
3742 004510 010200 MOV R2,R0 ; ...MESSAGE POINTER TO R0
3743 004512 CALL .TYMSG ; ...PRINT IT
004512 004737 000000G JSR PC,.TYMSG
3744 004516 CALL .TYSLS ; ...NOW A SLASH
004516 004737 000000G JSR PC,.TYSLS
3745 004522 CALL .TYSPC ; ...AND A SPACE
004522 004737 000000G JSR PC,.TYSPC
3746 004526 010100 MOV R1,R0 ; ...POINT TO THE DATA
3747 004530 CALL .TYKLN ; ...PRINT THAT
004530 004737 000000G JSR PC,.TYKLN
3748 004534 062706 000006 ADD #^D6,SP ; ...CLEAR THE STACK
3749 004540 CALLR .TCRLF ; ...END THE LINE AND EXIT
004540 000137 000000G JMP .TCRLF
3750 ;
3751
3752 .DSABL LSB
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 92
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
3754 .SBTTL .EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
3755
3756 ;+
3757 ; .EXAMF -- THE "EXAMINE FLAGS" COMMAND.
3758 ;
3759 ; THIS ROUTINE WILL READ AND DISPLAY THE KL PC FLAGS ON THE
3760 ; CONSOLE DEVICE.
3761 ;
3762 ; INPUT ARGUMENTS:
3763 ;
3764 ; NONE.
3765 ;
3766 ; OUTPUT ARGUMENTS:
3767 ;
3768 ; NONE.
3769 ;
3770 ; ERROR CODES RETURNED:
3771 ;
3772 ; NONE.
3773 ;-
3774
3775 004544 .EXAMF::
3776 004544 CALL .CKEOC ; CHECK E-O-C
004544 004737 000000G JSR PC,.CKEOC
3777 004550 CALL .STPKL ; STOP THE KL
004550 004737 000000G JSR PC,.STPKL
3778 004554 CALL .RDFLG ; READ THE FLAGS
004554 004737 005344' JSR PC,.RDFLG
3779 004560 CALL .RSTKL ; RESTART THE KL
004560 004737 000000G JSR PC,.RSTKL
3780 004564 010001 MOV R0,R1 ; FLAGS TO R1
3781 004566 001422 BEQ 30$ ; NONE ON -- SAY SO
3782 004570 012700 002011' MOV #EXFMSG,R0 ; HEADER
3783 004574 CALL .TYLIN ; PRINT IT
004574 004737 000000G JSR PC,.TYLIN
3784 004600 10$:
3785 004600 012700 001775' MOV #FONMSG,R0 ; ASSUME IT IS ON
3786 004604 032701 010000 BIT #BIT12,R1 ; IS THE FLAG ON?
3787 004610 001002 BNE 20$ ; YES -- GO ON
3788 004612 012700 002003' MOV #FOFMSG,R0 ; NO -- SAY SO
3789 004616 20$:
3790 004616 CALL .TYMSG ; PRINT THE STATE OF THE BIT
004616 004737 000000G JSR PC,.TYMSG
3791 004622 042701 010000 BIC #BIT12,R1 ; CLEAR THIS BIT OUT
3792 004626 006301 ASL R1 ; MOVE NEXT BIT IN
3793 004630 001363 BNE 10$ ; LOOP TILL R1 .EQ. 0
3794 004632 000404 BR 40$ ; DONE -- EXIT
3795 004634 30$:
3796 004634 012700 001746' MOV #NOFMSG,R0 ; "NO FLAGS"
3797 004640 CALL .TYMSG ; PRINT IT
004640 004737 000000G JSR PC,.TYMSG
3798 004644 40$:
3799 004644 CALLR .TCRLF ; END LINE AND RETURN
004644 000137 000000G JMP .TCRLF
3800 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 93
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
3802 001746 .PSECT MESSAG
3803
3804 001746 NOFMSG:
3805 001746 116 117 040 .ASCIZ %NO KL PC FLAGS ARE SET%
001751 113 114 040
001754 120 103 040
001757 106 114 101
001762 107 123 040
001765 101 122 105
001770 040 123 105
001773 124 000
3806 001775 FONMSG:
3807 001775 040 040 130 .ASCIZ % X %
002000 040 040 000
3808 002003 FOFMSG:
3809 002003 040 040 040 .ASCIZ % %
002006 040 040 000
3810 002011 EXFMSG:
3811 002011 040 117 126 .ASCIZ % OVF CY0 CY1 FOV BIS USR UIO LIP AFI AT1 AT0 FUF NDV%
002014 106 040 040
002017 103 131 060
002022 040 040 103
002025 131 061 040
002030 040 106 117
002033 126 040 040
002036 102 111 123
002041 040 040 125
002044 123 122 040
002047 040 125 111
002052 117 040 040
002055 114 111 120
002060 040 040 101
002063 106 111 040
002066 040 101 124
002071 061 040 040
002074 101 124 060
002077 040 040 106
002102 125 106 040
002105 040 116 104
002110 126 000
3812
3813 004650 .PSECT
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 94
.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
3815 .SBTTL .EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
3816
3817 ;+
3818 ; .EXAMK -- THE "EXAMINE KL" COMMAND
3819 ;
3820 ; THIS ROUTINE WILL EXAMINE AND DISPLAY THE FOLLOWING ITEMS ON THE
3821 ; CONSOLE DEVICE:
3822 ;
3823 ; (A) KL PROGRAM COUNTER
3824 ; (B) KL VMA REGISTER
3825 ; (C) KL PI SYSTEM STATE
3826 ; (D) KL PC FLAGS
3827 ;
3828 ; INPUT ARGUMENTS:
3829 ;
3830 ; NONE.
3831 ;
3832 ; OUTPUT ARGUMENTS:
3833 ;
3834 ; NONE.
3835 ;
3836 ; ERROR CODES RETURNED:
3837 ;
3838 ; NONE.
3839 ;-
3840
3841 004650 .EXAMK::
3842 004650 CALL .CKEOC ; CHECK E-O-C
004650 004737 000000G JSR PC,.CKEOC
3843 004654 PUSH .KLFLG ; SAVE ".KLFLG"
004654 013746 000000G MOV .KLFLG,-(SP)
3844 004660 CALL .STPKL ; .STOP THE KL
004660 004737 000000G JSR PC,.STPKL
3845 004664 012702 000000G MOV #PCMSG,R2 ; .MESSAGE POINTER TO R2
3846 004670 CALL .EXVPC ; .READ AND PRINT THE KL PC
004670 004737 004450' JSR PC,.EXVPC
3847 004674 012702 000000G MOV #VMAMSG,R2 ; .MESSAGE POINTER TO R2
3848 004700 CALL .EXVMA ; .READ AND PRINT THE KL VMA
004700 004737 004434' JSR PC,.EXVMA
3849 004704 CALL .EXMPI ; .DISPLAY THE PI SYSTEM
004704 004737 005040' JSR PC,.EXMPI
3850 004710 CALL .EXAMF ; .DISPLAY THE KL PC FLAGS
004710 004737 004544' JSR PC,.EXAMF
3851 004714 POP .SVKLF ; .SET UP ".SVKLF"
004714 012637 000000G MOV (SP)+,.SVKLF
3852 004720 CALLR .RSTKL ; RESTART THE KL
004720 000137 000000G JMP .RSTKL
3853 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 95
.EXCRA -- SMALL REGISTER EXAMINES 7609.10
3855 .SBTTL .EXCRA -- SMALL REGISTER EXAMINES 7609.10
3856
3857 .ENABL LSB
3858
3859 004724 .EXCRA:: ; CRAM ADDRESS REGISTER
3860 004724 012700 005550' MOV #.RDCRA,R0 ; DISPATCH POINTER TO R0
3861 004730 000416 BR 10$ ; DO COMMON CODE
3862 ;
3863 004732 .EXCRL:: ; CRAM LOC REGISTER
3864 004732 012700 005556' MOV #.RDCRL,R0 ; DISPATCH POINTER TO R0
3865 004736 000413 BR 10$ ; DO COMMON CODE
3866 ;
3867 004740 .EXDRA:: ; DRAM ADDRESS REGISTER
3868 004740 012700 005564' MOV #.RDDRA,R0 ; DISPATCH POINTER TO R0
3869 004744 000410 BR 10$ ; DO COMMON CODE
3870 ;
3871 004746 .EXFER:: ; FLOATING EXPONENT REGISTER
3872 004746 012700 005572' MOV #.RDFER,R0 ; DISPATCH POINTER TO R0
3873 004752 000405 BR 10$ ; DO COMMON CODE
3874 ;
3875 004754 .EXSBR:: ; CRAM SBR RET REGISTER
3876 004754 012700 005600' MOV #.RDSBR,R0 ; DISPATCH POINTER TO R0
3877 004760 000402 BR 10$ ; DO COMMON CODE
3878 ;
3879 004762 .EXSCR::
3880 004762 012700 005606' MOV #.RDSCR,R0 ; DISPATCH POINTER TO R0
3881 ; BR 10$ ; DO COMMON CODE
3882 ;
3883
3884 ; [CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 96
.EXCRA -- SMALL REGISTER EXAMINES 7609.10
3886 ; [CONTINUED FROM THE PREVIOUS PAGE]
3887
3888 004766 10$: ; HERE FOR SMALL REGISTER READS
3889 004766 CALL .CKEOC ; CHECK E-O-C
004766 004737 000000G JSR PC,.CKEOC
3890 004772 PUSH R0 ; SAVE DISPATCH ADDRESS
004772 010046 MOV R0,-(SP)
3891 004774 CALL .STPKL ; .STOP THE KL
004774 004737 000000G JSR PC,.STPKL
3892 005000 CALL @(SP)+ ; .READ THE REGISTER
005000 004736 JSR PC,@(SP)+
3893 005002 PUSH R0 ; SAVE THE REGISTER DATA
005002 010046 MOV R0,-(SP)
3894 005004 CALL .RSTKL ; .YES -- RESTART THE KL
005004 004737 000000G JSR PC,.RSTKL
3895 005010 010200 MOV R2,R0 ; .MESSAGE POINTER TO R0
3896 005012 CALL .TYMSG ; .PRINT IT
005012 004737 000000G JSR PC,.TYMSG
3897 005016 CALL .TYSLS ; .AND A SLASH
005016 004737 000000G JSR PC,.TYSLS
3898 005022 CALL .TYSPC ; .AND A SPACE
005022 004737 000000G JSR PC,.TYSPC
3899 005026 POP R0 ; .GET THE DATA
005026 012600 MOV (SP)+,R0
3900 005030 CALL .TYELN ; PRINT IT
005030 004737 000000G JSR PC,.TYELN
3901 005034 CALLR .TCRLF ; END THE LINE AND EXIT
005034 000137 000000G JMP .TCRLF
3902 ;
3903
3904 .DSABL LSB
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 98
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
3907 .SBTTL .EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
3908
3909 ;+
3910 ; .EXMPI -- THE "EXAMINE PI" COMMAND
3911 ;
3912 ; THIS ROUTINE READS THE STATE OF THE KL PI SYSTEM AND DISPLAYS IT
3913 ; ON THE CONSOLE DEVICE.
3914 ;
3915 ; INPUT ARGUMENTS:
3916 ;
3917 ; NONE.
3918 ;
3919 ; OUTPUT ARGUMENTS:
3920 ;
3921 ; NONE.
3922 ;
3923 ; ERROR CODES RETURNED:
3924 ;
3925 ; NONE.
3926 ;-
3927
3928 005040 .EXMPI::
3929 005040 CALL .CKEOC ; CHECK THE E-O-C CHARACTER
005040 004737 000000G JSR PC,.CKEOC
3930 005044 005002 CLR R2 ; CLEAR R2
3931 005046 CALL .STPKL ; STOP THE KL
005046 004737 000000G JSR PC,.STPKL
3932 005052 CALL .RDPI ; READ THE PI SYSTEM STATE
005052 004737 005470' JSR PC,.RDPI
3933 005056 CALL .RSTKL ; RESTART THE KL
005056 004737 000000G JSR PC,.RSTKL
3934 005062 010001 MOV R0,R1 ; DATA POINTER TO R1
3935 005064 012700 002112' MOV #EPMSG0,R0 ; MESSAGE POINTER TO R0
3936 005070 CALL .TYMSG ; PRINT IT
005070 004737 000000G JSR PC,.TYMSG
3937 005074 012700 000000G MOV #ONMSG,R0 ; "ON"
3938 005100 112102 MOVB (R1)+,R2 ; [6.1364] PI ACTIVE + PI ON TO R2
3939 005102 032702 000200 BIT #200,R2 ; IS IT ON?
3940 005106 001002 BNE 10$ ; YES -- GO ON
3941 005110 012700 000000G MOV #OFFMSG,R0 ; NO -- SO SAY "OFF"
3942
3943 ; [CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 99
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
3945 ; [CONTINUED FROM THE PREVIOUS PAGE]
3946
3947 005114 10$:
3948 005114 CALL .TYMSG ; PRINT IT
005114 004737 000000G JSR PC,.TYMSG
3949 005120 012700 002126' MOV #EPMSG1,R0 ; "PI ON"
3950 005124 CALL .TYMSG ; PRINT IT
005124 004737 000000G JSR PC,.TYMSG
3951 005130 010200 MOV R2,R0 ; GET ACTIVE BITS
3952 005132 042700 177600 BIC #^C177,R0 ; FLUSH JUNK
3953 005136 CALL .TYP3D ; PRINT THEM
005136 004737 000000G JSR PC,.TYP3D
3954 005142 012700 002140' MOV #EPMSG2,R0 ; "PI HOLD"
3955 005146 CALL .TYMSG ; PRINT IT
005146 004737 000000G JSR PC,.TYMSG
3956 005152 112100 MOVB (R1)+,R0 ; GET THE PI HOLD BITS
3957 005154 042700 177600 BIC #^C177,R0 ; FLUSH JUNK
3958 005160 CALL .TYP3D ; PRINT THEM
005160 004737 000000G JSR PC,.TYP3D
3959 005164 012700 002154' MOV #EPMSG3,R0 ; "PI GEN"
3960 005170 CALL .TYMSG ; PRINT IT
005170 004737 000000G JSR PC,.TYMSG
3961 005174 112100 MOVB (R1)+,R0 ; GET THE GEN BITS
3962 005176 042700 177600 BIC #^C177,R0 ; FLUSH JUNK
3963 005202 CALL .TYP3D ; PRINT THEM
005202 004737 000000G JSR PC,.TYP3D
3964 005206 CALLR .TCRLF ; END THE LINE AND RETURN
005206 000137 000000G JMP .TCRLF
3965 ;
3966 002112 .PSECT MESSAG
3967
3968 002112 EPMSG0:
3969 002112 120 111 040 .ASCIZ %PI ACTIVE: %
002115 101 103 124
002120 111 126 105
002123 072 040 000
3970 002126 EPMSG1:
3971 002126 054 040 120 .ASCIZ %, PI ON: %
002131 111 040 117
002134 116 072 040
002137 000
3972 002140 EPMSG2:
3973 002140 054 040 120 .ASCIZ %, PI HOLD: %
002143 111 040 110
002146 117 114 104
002151 072 040 000
3974 002154 EPMSG3:
3975 002154 054 040 120 .ASCIZ %, PI GEN: %
002157 111 040 107
002162 105 116 072
002165 040 000
3976 005212 .PSECT
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 100
.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
3978 .SBTTL .EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
3979
3980 005212 .EXREG::
3981 005212 CALL .CKEOC ; CHECK E-O-C
005212 004737 000000G JSR PC,.CKEOC
3982 005216 CALL .STPKL ; STOP THE KL
005216 004737 000000G JSR PC,.STPKL
3983 005222 012701 000000G MOV #.EXMTB,R1 ; TABLE POINTER TO R1
3984 005226 012703 000000G MOV #EXRTBL,R3 ; COUNT TO R3
3985 005232 10$:
3986 005232 012102 MOV (R1)+,R2 ; MESSAGE ADDRESS TO R2
3987 005234 PUSH R1 ; SAVE R1
005234 010146 MOV R1,-(SP)
3988 005236 CALL @2(R1) ; .READ AND PRINT THE REGISTER
005236 004771 000002 JSR PC,@2(R1)
3989 005242 POP R1 ; .RESTORE R1
005242 012601 MOV (SP)+,R1
3990 005244 022121 CMP (R1)+,(R1)+ ; ADVANCE THE POINTER
3991 005246 077307 SOB R3,10$ ; LOOP TILL COUNT EXHAUSTED
3992 005250 CALLR .RSTKL ; RESTART THE KL
005250 000137 000000G JMP .RSTKL
3993 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 101
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
3995 .SBTTL .RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
3996
3997 ;+
3998 ; .RDADR -- SUBROUTINE TO READ THE KL ADDER REGISTER.
3999 ; .RDADX -- SUBROUTINE TO READ THE KL ADDER EXTENSION REGISTER.
4000 ; .RDARR -- SUBROUTINE TO READ THE KL ARITHMETIC REGISTER.
4001 ; .RDARX -- SUBROUTINE TO READ THE KL ARITHMETIC REGISTER EXTENSION.
4002 ; .RDBRR -- SUBROUTINE TO READ THE KL BUFFER REGISTER.
4003 ; .RDBRX -- SUBROUTINE TO READ THE KL BUFFER REGISTER EXTENSION.
4004 ; .RDEBS -- SUBROUTINE TO READ THE KL EBUS REGISTER.
4005 ; .RDFMR -- SUBROUTINE TO READ THE KL FAST MEMORY REGISTER.
4006 ; .RDMQR -- SUBROUTINE TO READ THE KL MULTIPLIER QUOTIENT REGISTER.
4007 ;
4008 ; THESE SUBROUTINES READ AND RETURN THE CONTENT OF THE SPECIFIED KL
4009 ; DATA PATH REGISTER IN A TRIPLET POINTED TO BY R1 IN THE CALL.
4010 ;
4011 ; INPUT ARGUMENTS:
4012 ;
4013 ; R1 CONTAINS A POINTER TO A 3 WORD DATA BUFFER
4014 ;
4015 ; OUTPUT ARGUMENTS:
4016 ;
4017 ; R0 CONTAINS A POINTER TO THE DATA.
4018 ;
4019 ; ERROR CODES RETURNED:
4020 ;
4021 ; FRF -- FUNCTION READ FAILED.
4022 ;-
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 102
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
4024 .ENABL LSB
4025
4026 005254 .RDADR::
4027 005254 012700 000256 MOV #FR.RAD,R0 ; READ THE KL ADDER
4028 005260 000427 BR 10$ ; COMMON CODE
4029 ;
4030 005262 .RDADX::
4031 005262 012700 000254 MOV #FR.ADX,R0 ; READ THE KL ADDER EXTENSION
4032 005266 000424 BR 10$ ; COMMON CODE
4033 ;
4034 005270 .RDARR::
4035 005270 012700 000240 MOV #FR.RAR,R0 ; READ THE KL ARITHMETIC REGISTER
4036 005274 000421 BR 10$ ; COMMON CODE
4037 ;
4038 005276 .RDARX::
4039 005276 012700 000252 MOV #FR.ARX,R0 ; READ THE KL AR EXTENSION REGISTER
4040 005302 000416 BR 10$ ; COMMON CODE
4041 ;
4042 005304 .RDBRR::
4043 005304 012700 000242 MOV #FR.RBR,R0 ; READ THE KL BUFFER REGISTER
4044 005310 000413 BR 10$ ; COMMON CODE
4045 ;
4046 005312 .RDBRX::
4047 005312 012700 000250 MOV #FR.BRX,R0 ; READ THE KL BR EXTENSION REGISTER
4048 005316 000410 BR 10$ ; COMMON CODE
4049 ;
4050 005320 .RDEBS::
4051 005320 012700 000356 MOV #FR.EBS,R0 ; READ THE KL EBUS REGISTER
4052 005324 000405 BR 10$ ; COMMON CODE
4053 ;
4054 005326 .RDFMR::
4055 005326 012700 000246 MOV #FR.RFM,R0 ; READ THE KL FAST MEMORY REGISTER
4056 005332 000402 BR 10$ ; COMMON CODE
4057 ;
4058 005334 .RDMQR::
4059 005334 012700 000244 MOV #FR.RMQ,R0 ; READ THE KL MULTIPLIER QUOTIENT REGISTER
4060 ; FALL INTO COMMON CODE
4061 005340 10$:
4062 005340 CALLR .FREAD ; READ IT AND EXIT
005340 000137 000000G JMP .FREAD
4063 ;
4064
4065 .DSABL LSB
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 103
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
4067 .SBTTL .RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
4068
4069 ;+
4070 ; .RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS.
4071 ;
4072 ; THIS SUBROUTINE READS AND RETURNS THE STATE OF THE KL PC FLAGS IN R0.
4073 ;
4074 ; INPUT ARGUMENTS:
4075 ;
4076 ; NONE.
4077 ;
4078 ; OUTPUT ARGUMENTS:
4079 ;
4080 ; R0 CONTAINS THE KL PC FLAGS
4081 ;
4082 ; THE FOLLOWING IS A LIST OF THE KL FLAGS RETURNED IN R0:
4083 ;
4084 ; BIT # PC FLAG BIT AND MEANING KL BIT
4085 ; ----- ---------------------------- --------
4086 ;
4087 ; 12 PC.OVF -- KL OVERFLOW FLAG -- 00
4088 ; 11 PC.CY0 -- KL CARRY 0 FLAG -- 01
4089 ; 10 PC.CY1 -- KL CARRY 1 FLAG -- 02
4090 ; 09 PC.FOV -- KL FLOATING OVERFLOW FLAG -- 03
4091 ; 08 PC.BIS -- KL BYTE INCREMENT SUPPRESSION FLAG -- 04
4092 ; 07 PC.USR -- KL USER MODE FLAG -- 05
4093 ; 06 PC.UIO -- KL USER IOT MODE FLAG -- 06
4094 ; 05 PC.LIP -- KL LAST INSTRUCTION PUBLIC FLAG -- 07
4095 ; 04 PC.AFI -- KL ADDRESS FAILURE INHIBIT FLAG -- 08
4096 ; 03 PC.AT1 -- KL APR TRAP 1 FLAG -- 09
4097 ; 02 PC.AT0 -- KL APR TRAP 0 FLAG -- 10
4098 ; 01 PC.FUF -- KL FLOATING UNDERFLOW FLAG -- 11
4099 ; 00 PC.NDV -- KL NO DIVIDE FLAG -- 12
4100 ;
4101 ; ERROR CODES RETURNED:
4102 ;
4103 ; FRF -- FUNCTION READ FAILED.
4104 ;-
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 104
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
4106 005344 .RDFLG::
4107 005344 PUSH <R1,R2> ; SAVE R1 AND R2 ON THE STACK
005344 010146 MOV R1,-(SP)
005346 010246 MOV R2,-(SP)
4108 005350 005001 CLR R1 ; ..CLEAR R1
4109 005352 005002 CLR R2 ; ..AND R2
4110 005354 012700 000202 MOV #FR.101,R0 ; ..FR CODE FOR LOW FLAGS
4111 005360 CALL .FREAD ; ..READ THEM
005360 004737 000000G JSR PC,.FREAD
4112 005364 012701 177764 MOV #-^D12,R1 ; ..SHIFT COUNT TO R1
4113 005370 CALL .TPSHI ; ..SHIFT OUR WORD
005370 004737 000000G JSR PC,.TPSHI
4114 005374 042710 177700 BIC #177700,(R0) ; ..MASK OUT FLAG BITS
4115 005400 051002 BIS (R0),R2 ; ..PUT THE LOW FLAGS IN R2
4116 005402 005001 CLR R1 ; ..AGAIN
4117 005404 012700 000200 MOV #FR.100,R0 ; ..FR CODE FOR MOST OF THE FLAGS
4118 005410 CALL .FREAD ; ..READ THEM
005410 004737 000000G JSR PC,.FREAD
4119 005414 012701 177772 MOV #-^D6,R1 ; ..SHIFT COUNT TO R1
4120 005420 CALL .TPSHI ; ..SHIFT THE DATA
005420 004737 000000G JSR PC,.TPSHI
4121 005424 042710 170077 BIC #170077,(R0) ; ..JUST THE BITS WE WANT
4122 005430 051002 BIS (R0),R2 ; ..SAVE THE HIGH FLAGS IN R2
4123 005432 005001 CLR R1 ; ..CLEAR R1 AGAIN
4124 005434 012700 000264 MOV #FR.132,R0 ; ..FR CODE FOR LAST FLAG BIT
4125 005440 CALL .FREAD ; ..READ IT
005440 004737 000000G JSR PC,.FREAD
4126 005444 032760 000001 000004 BIT #BIT00,4(R0) ; ..IS IT ON?
4127 005452 001402 BEQ 10$ ; ..NO -- JUST EXIT
4128 005454 052702 010000 BIS #PC.OVF,R2 ; ..YES -- SET IT IN OUR WORD
4129 005460 10$:
4130 005460 010200 MOV R2,R0 ; ..PUT A COPY IN R0
4131 005462 POP <R2,R1> ; ..RESTORE REGISTERS
005462 012602 MOV (SP)+,R2
005464 012601 MOV (SP)+,R1
4132 005466 RETURN ; TO CALLER
005466 000207 RTS PC
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 105
.RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
4134 .SBTTL .RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
4135
4136 ;+
4137 ; .RDPI -- SUBROUTINE TO READ THE KL PI BOARDS.
4138 ;
4139 ; THIS SUBROUTINE READS THE KL PI BOARDS AND STORES THE STATUS IN
4140 ; A TWO WORD TABLE, ".PITAB", WHICH IS POINTED TO BY R0 ON SUCCESSFUL
4141 ; RETURN.
4142 ;
4143 ; WORD 0 OF ".PITAB" CONTAINS:
4144 ;
4145 ; (A) PIH 1 THRU PIH 7 (BITS 14 THRU 08),
4146 ; (B) PI ACTIVE (BIT 07),
4147 ; (C) PI ON 1 THRU PI ON 7 (BITS 06 THRU 00).
4148 ;
4149 ; WORD 2 OF ".PITAB" CONTAINS:
4150 ;
4151 ; (A) PI GEN 1 THRU PI GEN 7 (BITS 06 THRU 00).
4152 ;
4153 ; INPUT ARGUMENTS:
4154 ;
4155 ; NONE.
4156 ;
4157 ; OUTPUT ARGUMENTS:
4158 ;
4159 ; R0 POINTS TO ".PITAB".
4160 ;
4161 ; ERROR CODES RETURNED:
4162 ;
4163 ; FRF -- FUNCTION READ FAILED.
4164 ;-
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 106
.RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
4166 005470 .RDPI::
4167 005470 PUSH <R1,R2,R3> ; SAVE REGISTERS
005470 010146 MOV R1,-(SP)
005472 010246 MOV R2,-(SP)
005474 010346 MOV R3,-(SP)
4168 005476 012703 000374' MOV #RDPITB,R3 ; ...TABLE POINTER TO R3
4169 005502 012702 000000G MOV #.PITAB,R2 ; ...SAVE AREA POINTER TO R2
4170 005506 10$:
4171 005506 005001 CLR R1 ; ...CLEAR R1
4172 005510 012300 MOV (R3)+,R0 ; ...FR CODE TO R0
4173 005512 CALL .FREAD ; ...READ IT
005512 004737 000000G JSR PC,.FREAD
4174 005516 012301 MOV (R3)+,R1 ; ...SHIFT COUNT TO R1
4175 005520 CALL .TPSHI ; ...SHIFT IT
005520 004737 000000G JSR PC,.TPSHI
4176 005524 042310 BIC (R3)+,(R0) ; ...CLEAR UNWANTED BIT(S)
4177 005526 011022 MOV (R0),(R2)+ ; ...PUT IT IN SAVE AREA
4178 005530 022703 000410' CMP #RDPITE,R3 ; ...ARE WE AT END OF TABLE?
4179 005534 001364 BNE 10$ ; ...NO -- KEEP GOING
4180 005536 011300 MOV (R3),R0 ; ...YES -- POINT TO SAVE AREA
4181 005540 POP <R3,R2,R1> ; ...RESTORE REGISTERS
005540 012603 MOV (SP)+,R3
005542 012602 MOV (SP)+,R2
005544 012601 MOV (SP)+,R1
4182 005546 RETURN ; TO CALLER
005546 000207 RTS PC
4183
4184 000374 .PSECT DATA
4185
4186 000374 RDPITB:
4187 000374 000200 .WORD FR.PI0 ; FIRST READ CODE
4188 000376 177756 .WORD -^D18 ; SHIFT COUNT
4189 000400 100000 .WORD BIT15 ; MASK
4190 000402 000202 .WORD FR.PI1 ; SECOND READ CODE
4191 000404 177756 .WORD -^D18 ; SHIFT COUNT
4192 000406 177600 .WORD 177600 ; MASK
4193 000410' RDPITE=.
4194 000410 000000G .WORD .PITAB ; POINTER TO SAVE AREA
4195
4196 005550 .PSECT
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 107
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
4198 .SBTTL .RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
4199
4200 ;+
4201 ; .RDCRA -- SUBROUTINE TO READ THE KL CRAM ADDR REGISTER.
4202 ; .RDCRL -- SUBROUTINE TO READ THE KL CRAM LOC REGISTER.
4203 ; .RDDRA -- SUBROUTINE TO READ THE KL DRAM ADDR REGISTER.
4204 ; .RDFER -- SUBROUTINE TO READ THE KL FLOATING EXPONENT REGISTER.
4205 ; .RDSCR -- SUBROUTINE TO READ THE KL SHIFT COUNT REGISTER.
4206 ; .RDSBR -- SUBROUTINE TO READ THE KL CRAM SUBROUTINE RETURN REGISTER.
4207 ;
4208 ; THESE SUBROUTINES READ THE CONTENT OF THE SPECIFIED REGISTER
4209 ; AND RETURN IT IN R0. NOTE THAT THE CONTENT OF EACH REGISTER IS LESS
4210 ; THAN 16 BITS AND MUST BE READ USING TWO FUNCTION READS.
4211 ;
4212 ; INPUT ARGUMENTS:
4213 ;
4214 ; NONE.
4215 ;
4216 ; OUTPUT ARGUMENTS:
4217 ;
4218 ; R0 HOLDS THE CONTENT OF THE SPECIFIED REGISTER
4219 ;
4220 ; ERROR CODES RETURNED:
4221 ;
4222 ; FRF -- FUNCTION READ FAILED.
4223 ;-
4224
4225 .ENABL LSB
4226
4227 005550 .RDCRA::
4228 005550 012700 000412' MOV #CRATAB,R0 ; POINT TO CRAM ADDRESS TABLE
4229 005554 000416 BR 10$ ; DO COMMON CODE
4230 ;
4231 005556 .RDCRL::
4232 005556 012700 000426' MOV #CRLTAB,R0 ; POINT TO CR LOC TABLE
4233 005562 000413 BR 10$ ; DO COMMON CODE
4234 ;
4235 005564 .RDDRA::
4236 005564 012700 000442' MOV #DRATAB,R0 ; POINT TO DRAM ADDR TABLE
4237 005570 000410 BR 10$ ; DO COMMON CODE
4238 ;
4239 005572 .RDFER::
4240 005572 012700 000456' MOV #FERTAB,R0 ; POINT TO FE TABLE
4241 005576 000405 BR 10$ ; DO COMMON CODE
4242 ;
4243 005600 .RDSBR::
4244 005600 012700 000472' MOV #SBRTAB,R0 ; POINT TO CRAM SBR RET TABLE
4245 005604 000402 BR 10$ ; DO COMMON CODE
4246 ;
4247 005606 .RDSCR::
4248 005606 012700 000506' MOV #SCRTAB,R0 ; POINT TO SHIFT COUNT TABLE
4249 ; BR 10$ ; FALL INTO COMMON CODE
4250
4251 ; [CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 108
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
4253 ; [CONTINUED FROM THE PREVIOUS PAGE]
4254
4255 005612 10$: ; HERE FROM PREVIOUS PAGE
4256 005612 PUSH <R1,R2> ; SAVE CALLER'S REGISTERS
005612 010146 MOV R1,-(SP)
005614 010246 MOV R2,-(SP)
4257 005616 010002 MOV R0,R2 ; ..POINTER TO R2
4258 005620 005001 CLR R1 ; ..CLEAR R1
4259 005622 012200 MOV (R2)+,R0 ; ..READ THE HIGH ORDER BITS
4260 005624 CALL .FREAD ; ..DO IT
005624 004737 000000G JSR PC,.FREAD
4261 005630 012201 MOV (R2)+,R1 ; ..SHIFT COUNT TO R1
4262 005632 CALL .TPSHI ; ..SHIFT IT
005632 004737 000000G JSR PC,.TPSHI
4263 005636 042210 BIC (R2)+,(R0) ; ..MASK OUT UNWANTED BITS
4264 005640 PUSH (R0) ; ..SAVE THE BITS
005640 011046 MOV (R0),-(SP)
4265 005642 012200 MOV (R2)+,R0 ; ...READ THE LOW ORDER BITS
4266 005644 005001 CLR R1 ; ...CLEAR R1
4267 005646 CALL .FREAD ; ...DO IT
005646 004737 000000G JSR PC,.FREAD
4268 005652 012201 MOV (R2)+,R1 ; ...SHIFT COUNT TO R1
4269 005654 CALL .TPSHI ; ...SHIFT IT
005654 004737 000000G JSR PC,.TPSHI
4270 005660 042210 BIC (R2)+,(R0) ; ...MASK OUT UNWANTED BITS
4271 005662 051610 BIS (SP),(R0) ; ...SET IN THE HIGH ORDER BITS
4272 005664 011000 MOV (R0),R0 ; ...PUT IT IN R0
4273 005666 005726 TST (SP)+ ; ...CLEAR THE STACK
4274 005670 POP <R2,R1> ; ..RESTORE REGISTERS
005670 012602 MOV (SP)+,R2
005672 012601 MOV (SP)+,R1
4275 005674 RETURN ; TO CALLER
005674 000207 RTS PC
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 109
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
4277 ; TABLES FOR SMALL REGISTER READS
4278
4279 000412 .PSECT DATA
4280
4281 000412 CRATAB:
4282 000412 000312 .WORD FR.CA1 ; FR FOR CRAM ADDR HIGH BITS
4283 000414 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4284 000416 174077 .WORD 174077 ; BIT MASK FOR SAME
4285 000420 000310 .WORD FR.CA2 ; FR FOR CRAM ADDR LOW BITS
4286 000422 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
4287 000424 177700 .WORD 177700 ; BIT MASK FOR SAME
4288
4289 000426 CRLTAB:
4290 000426 000316 .WORD FR.CL1 ; FR FOR CRAM LOC HIGH BITS
4291 000430 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4292 000432 174077 .WORD 174077 ; BIT MASK FOR SAME
4293 000434 000314 .WORD FR.CL2 ; FR FOR CRAM LOC LOW BITS
4294 000436 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
4295 000440 177700 .WORD 177700 ; BIT MASK FOR SAME
4296
4297 000442 DRATAB:
4298 000442 000260 .WORD FR.DA1 ; FR FOR DRAM ADDR HIGH BITS
4299 000444 177764 .WORD -^D12 ; SHIFT COUNT FOR SAME
4300 000446 177077 .WORD 177077 ; BIT MASK FOR SAME
4301 000450 000262 .WORD FR.DA2 ; FR FOR DRAM ADDR LOW BITS
4302 000452 177756 .WORD -^D18 ; SHIFT COUNT FOR SAME
4303 000454 177700 .WORD 177700 ; BIT MASK FOR SAME
4304
4305 000456 FERTAB:
4306 000456 000266 .WORD FR.FE1 ; FR FOR FE HIGH BITS
4307 000460 177755 .WORD -^D19 ; SHIFT COUNT FOR SAME
4308 000462 176037 .WORD 176037 ; BIT MASK FOR SAME
4309 000464 000264 .WORD FR.FE2 ; FR FOR FE LOW BITS
4310 000466 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4311 000470 177740 .WORD 177740 ; BIT MASK FOR SAME
4312
4313 000472 SBRTAB:
4314 000472 000306 .WORD FR.SR1 ; FR FOR SBR RET HIGH BITS
4315 000474 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4316 000476 174077 .WORD 174077 ; BIT MASK FOR SAME
4317 000500 000304 .WORD FR.SR2 ; FR FOR SBR RET LOW BITS
4318 000502 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
4319 000504 177700 .WORD 177700 ; BIT MASK FOR SAME
4320
4321 000506 SCRTAB:
4322 000506 000262 .WORD FR.SC1 ; FR FOR SHIFT COUNT HIGH BITS
4323 000510 177755 .WORD -^D19 ; SHIFT COUNT FOR SAME
4324 000512 177417 .WORD 177417 ; BIT MASK FOR SAME
4325 000514 000260 .WORD FR.SC2 ; FR FOR SHIFT COUNT LOW BITS
4326 000516 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4327 000520 177760 .WORD 177760 ; BIT MASK FOR SAME
4328
4329 005676 .PSECT
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 110
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
4331 .SBTTL .RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
4332
4333 ;+
4334 ; .RDVPC -- SUBROUTINE TO READ THE KL PROGRAM COUNTER REGISTER
4335 ; .RDVAB -- SUBROUTINE TO READ THE KL ADDRESS BREAK REGISTER.
4336 ; .RDVMA -- SUBROUTINE TO READ THE KL VMA REGISTER.
4337 ; .RDVMH -- SUBROUTINE TO READ THE KL VMAH REGISTER.
4338 ;
4339 ; THESE SUBROUTINES READ AND ASSEMBLE THE DESIRED VMA BOARD REGISTER
4340 ; INTO A THREE WORD BLOCK POINTED TO BY R1 IN THE CALL.
4341 ;
4342 ; INPUT ARGUMENTS:
4343 ;
4344 ; R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
4345 ;
4346 ; OUTPUT ARGUMENTS:
4347 ;
4348 ; R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
4349 ;
4350 ; ERROR CODES RETURNED:
4351 ;
4352 ; FRF -- FUNCTION READ FAILED.
4353 ;-
4354
4355 .ENABL LSB
4356
4357 005676 .RDVPC::
4358 005676 012700 000522' MOV #PCTAB,R0 ; POINTER TO PC TABLE
4359 005702 000410 BR 10$
4360 ;
4361 005704 .RDVAB::
4362 005704 012700 000530' MOV #ABTAB,R0 ; POINTER TO ADDRESS BREAK TABLE
4363 005710 000405 BR 10$
4364 ;
4365 005712 .RDVMA::
4366 005712 012700 000536' MOV #VMATB,R0 ; POINTER TO VMA TABLE
4367 005716 000402 BR 10$
4368 ;
4369 005720 .RDVMH::
4370 005720 012700 000544' MOV #VMHTB,R0 ; POINTER TO VMAH TABLE
4371 005724 10$:
4372 005724 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
005724 004537 000000G JSR R5,.REGSV
4373 005730 010005 MOV R0,R5 ; TABLE POINTER TO R5
4374 005732 012704 000004 MOV #^D4,R4 ; ITERATION COUNT TO R4
4375 005736 010103 MOV R1,R3 ; USER BUFFER ADDRESS TO R3
4376 005740 012502 MOV (R5)+,R2 ; FUNCTION READ BASE TO R2
4377 005742 PUSH (R5)+ ; MASK WORD TO TOP OF THE STACK
005742 012546 MOV (R5)+,-(SP)
4378 005744 011505 MOV (R5),R5 ; .SHIFT BASE TO R5
4379 005746 010100 MOV R1,R0 ; .CLEAR CALLER'S AREA
4380 005750 CALL .TPCLR ; .SO
005750 004737 000000G JSR PC,.TPCLR
4381
4382 ; [CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1113 03-APR-86 22:56 PAGE 111
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
4384 ; [CONTINUED FROM THE PREVIOUS PAGE]
4385
4386 005754 20$: ; .GET HERE FROM .RDVXX, ABOVE
4387 005754 010200 MOV R2,R0 ; .SET THE FUNCTION READ NUMBER
4388 005756 006300 ASL R0 ; .TIMES 2
4389 005760 005001 CLR R1 ; .CLEAR R1
4390 005762 CALL .FREAD ; .READ IT
005762 004737 000000G JSR PC,.FREAD
4391 005766 041620 BIC (SP),(R0)+ ; .SP POINTS TO BIT MASK
4392 005770 041610 BIC (SP),(R0) ; .R0 POINTS TO READ BLOCK
4393 005772 005740 TST -(R0) ; .NOW BACK THE POINTER UP
4394 005774 010501 MOV R5,R1 ; .GET THE SHIFT COUNT INTO R1
4395 005776 CALL .TPSHI ; .AND SHIFT IT
005776 004737 000000G JSR PC,.TPSHI
4396 006002 052023 BIS (R0)+,(R3)+ ; .SET THE BITS IN THE USER BUFFER
4397 006004 051013 BIS (R0),(R3) ; .SO
4398 006006 005743 TST -(R3) ; .BACK CALLER'S POINTER UP
4403 006010 122225 CMPB (R2)+,(R5)+ ; .INCREMENT READ NUMBER AND SHIFT COUNT
4405 006012 077420 SOB R4,20$ ; .DO THIS FOUR TIMES
4406 006014 042763 177600 000002 BIC #177600,2(R3) ; .GET RID OF BITS HIGHER THAN 13
4407 006022 005726 TST (SP)+ ; CLEAR THE STACK
4408 006024 RETURN ; RETURN TO CALLER
006024 000207 RTS PC
4409
4410 .DSABL LSB
4411
4412 ; TABLES FOR VMA BOARD READS
4413
4414 000522 .PSECT DATA
4415
4416 000522 PCTAB:
4417 000522 000150 .WORD FR.150/2 ; BASE READ FOR PC REGISTER
4418 000524 135673 .WORD 135673 ; BIT MASK " " "
4419 000526 177776 .WORD -^D2 ; SHIFT CNT " " "
4420 000530 ABTAB:
4421 000530 000150 .WORD FR.150/2 ; BASE READ FOR ADDRESS BREAK REGISTER
4422 000532 167356 .WORD 167356 ; BIT MASK " " " "
4423 000534 000000 .WORD 0 ; SHIFT CNT " " " "
4424 000536 VMATB:
4425 000536 000154 .WORD FR.154/2 ; BASE READ FOR VMA REGISTER
4426 000540 135673 .WORD 135673 ; BIT MASK " " "
4427 000542 177776 .WORD -^D2 ; SHIFT CNT " " "
4428 000544 VMHTB:
4429 000544 000154 .WORD FR.154/2 ; BASE READ FOR VMAH REGISTER
4430 000546 167356 .WORD 167356 ; BIT MASK " " "
4431 000550 000000 .WORD 0 ; SHIFT CNT " " "
4432
4433 006026 .PSECT
4434 .TITLE GTTIM -- INPUT AND DISPLAY DATE AND TIME MODULE 7703.04
4435
4436 .IDENT "006060"
4437
4438 ;
4439 ; COPYRIGHT (C) 1975, 1984, 1985 BY
4440 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
4441 ; ALL RIGHTS RESERVED.
4442 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
GTTIM -- INPUT AND DISPLAY DATE MACRO M1113 03-APR-86 22:56 PAGE 111-1
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
4443 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
4444 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
4445 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
4446 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
4447 ;
4448 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
4449 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
4450 ; CORPORATION.
4451 ;
4452 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4453 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
4454 ;
4455 ; MODULE: INPUT AND DISPLAY DATE AND TIME
4456 ;
4457 ; VERSION: 06-06
4458 ;
4459 ; AUTHOR: R. BELANGER
4460 ;
4461 ; DATE: 7703.04
4462 ;
4463 ; THIS MODULE CONTAINS:
4464 ;
4465 ; 1) INPUT DATE AND TIME CODE
4466 ; 2) DISPLAY DATE AND TIME CODE
GTTIM -- INPUT AND DISPLAY DATE MACRO M1113 03-APR-86 22:56 PAGE 112
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
4468 .SBTTL .GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
4469
4470 ;+
4471 ; .GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE
4472 ;
4473 ; THIS SUBROUTINE WILL EVALUATE A PREVIOUSLY INPUT ASCII STRING OF THE
4474 ; FORM "DD-MMM-YYYY" AND RETURN THE VALUE OF THE YEAR, MONTH AND DAY
4475 ; IN A THREE BYTE BLOCK.
4476 ;
4477 ; INPUT ARGUMENTS:
4478 ;
4479 ; R0 POINTS TO A THREE BYTE DATA BLOCK
4480 ; R5 POINTS TO THE INPUT STREAM
4481 ;
4482 ; OUTPUT ARGUMENTS:
4483 ;
4484 ; R0 POINTS TO THE THREE BYTE DATA BLOCK
4485 ;
4486 ; ERROR CODES RETURNED:
4487 ;
4488 ; DBT -- DATE BEFORE TODAY
4489 ; DOR -- DATE OUT OF RANGE
4490 ; IDF -- ILLEGAL DATE FORMAT
4491 ; YOR -- YEAR OUT OF RANGE
4492 ;-
4493
4494 .MCALL DIR$, GTIM$S
4495
4496 006026 .GTDAT::
4497 006026 013737 000000G 000000G MOV .IRADX,.RDXSV ; SAVE THE CURRENT RADIX
4498 006034 012737 000012 000000G MOV #^D10,.IRADX ; SET THE RADIX TO DECIMAL
4499 006042 PUSH <R5,R2,R1,R0> ; SAVE CALLER'S POINTER
006042 010546 MOV R5,-(SP)
006044 010246 MOV R2,-(SP)
006046 010146 MOV R1,-(SP)
006050 010046 MOV R0,-(SP)
4500 006052 012701 000552' MOV #.DTBUF,R1 ; ....TIME BUFFER POINTER TO R1
4501 006056 GTIM$S R1 ; ....READ CURRENT DATE AND TIME
006056 010146 MOV R1,-(SP)
006060 012746 MOV (PC)+,-(SP)
006062 073 002 .BYTE 59.,2
006064 104375 EMT 375
4502 006066 112120 MOVB (R1)+,(R0)+ ; ....SET DEFAULT YEAR
4503 006070 105721 TSTB (R1)+ ; ....ADVANCE POINTER
4504 006072 112120 MOVB (R1)+,(R0)+ ; ....SET DEFAULT MONTH
4505 006074 105721 TSTB (R1)+ ; ....ADVANCE POINTER
4506 006076 111120 MOVB (R1),(R0)+ ; ....SET DEFAULT DAY
4507 006100 010002 MOV R0,R2 ; ....SAVE POINTER TO CALLER'S BUFFER
4508 006102 012701 000000G MOV #.CIBFR,R1 ; ....BUFFER POINTER TO R1
4509 006106 010105 MOV R1,R5 ; ....AND R5
4510 006110 012700 002167' MOV #GTDMS0,R0 ; ....PROMPT FOR DATE
4511 006114 CALL .TYMSF ; ....FORCE IT OUT
006114 004737 000000G JSR PC,.TYMSF
4512 006120 CALL .GTLIN ; ....READ THE RESPONSE
006120 004737 000000G JSR PC,.GTLIN
4513 006124 001467 BEQ 35$ ; ....DEFAULT IF NULL
4514 006126 CALL .CKARG ; ....SEE WHAT KIND OF ARGUMENT FOLLOWS
GTTIM -- INPUT AND DISPLAY DATE MACRO M1113 03-APR-86 22:56 PAGE 112-1
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
006126 004737 000000G JSR PC,.CKARG
4515 006132 001551 BEQ GTDIDF ; ....ILLEGAL IF ALPHABETIC
4516 006134 PUSH R5 ; ....SAVE THE BUFFER POINTER
006134 010546 MOV R5,-(SP)
4517 006136 10$:
4518 006136 111504 MOVB (R5),R4 ; .....LOOK AT ONE CHARACTER
4519 006140 001407 BEQ 20$ ; .....DONE IF NULL
4520 006142 122704 000055 CMPB #'-,R4 ; .....IS IT A <HYPHEN>?
4521 006146 001002 BNE 15$ ; .....NO -- GO ON
4522 006150 112715 000040 MOVB #.SPACE,(R5) ; .....YES -- MAKE IT A <SPACE>
4523 006154 15$:
4524 006154 105725 TSTB (R5)+ ; .....ADVANCE THE POINTER
4525 006156 000767 BR 10$ ; .....AND LOOK FOR MORE
4526 ;
4527 006160 20$:
4528 006160 POP R5 ; .....RESTORE THE POINTER
006160 012605 MOV (SP)+,R5
4529 006162 005046 CLR -(SP) ; ....CLEAR A BUFFER ON THE STACK
4530 006164 005046 CLR -(SP) ; .....
4531 006166 005046 CLR -(SP) ; ......
4532 006170 010600 MOV SP,R0 ; .......POINT TO THE BUFFER
4533 006172 CALL .GTNBR ; .......READ THE DAY
006172 004737 000000G JSR PC,.GTNBR
4534 006176 111042 MOVB (R0),-(R2) ; .......AND SET IT
4535 006200 PUSH R0 ; .......SAVE THE POINTER
006200 010046 MOV R0,-(SP)
4536 006202 CALL .CKARG ; .......SEE IF ALPHABETIC FOLLOWS
006202 004737 000000G JSR PC,.CKARG
4537 006206 002523 BLT GTDIDF ; .......NUMERIC -- GIVE "IDF" ERROR
4538 006210 012700 000000G MOV #.MONTB,R0 ; ........MONTH TABLE POINTER TO R0
4539 006214 CALL .TSCAN ; ........SCAN FOR THE MONTH
006214 004737 000000G JSR PC,.TSCAN
4540 006220 116042 000002 MOVB 2(R0),-(R2) ; ........STASH THE MONTH AWAY
4541 006224 POP R0 ; ........RESTORE THE BUFFER POINTER
006224 012600 MOV (SP)+,R0
4542 006226 112504 MOVB (R5)+,R4 ; .......GET THE LAST CHARACTER
4543 006230 132764 000010 000000G BITB #CH.EOC,.CHTAB(R4)
4544 006236 001020 BNE 30$ ; .......EXIT IF E-O-C
4545 006240 CALL .TPCLR ; .......RESET THE BUFFER
006240 004737 000000G JSR PC,.TPCLR
4546 006244 CALL .CKARG ; .......SEE IF NUMERIC FOLLOWS
006244 004737 000000G JSR PC,.CKARG
4547 006250 001502 BEQ GTDIDF ; .......GIVE "IDF" ERROR IF NOT
4548 006252 CALL .GTNBR ; .......READ THE YEAR
006252 004737 000000G JSR PC,.GTNBR
4549 006256 022710 003554 CMP #^D1900,(R0) ; .......DID HE SAY 19XX?
4550 006262 003003 BGT 25$ ; .......NO -- GO ON
4551 006264 162710 003554 SUB #^D1900,(R0) ; .......YES -- FIX IT UP
4552 006270 002475 BLT GTDYOR ; .......ERROR -- YOR
4553 006272 25$:
4554 006272 111042 MOVB (R0),-(R2) ; .......SET THE YEAR - 1900
4555 006274 CALL .CKEOC ; .......MUST HAVE E-O-C
006274 004737 000000G JSR PC,.CKEOC
4556 006300 30$:
4557 006300 062706 000006 ADD #^D6,SP ; .......RESET THE STACK
4558 006304 35$:
4559 006304 011600 MOV (SP),R0 ; ....RESTORE CALLER'S POINTER
GTTIM -- INPUT AND DISPLAY DATE MACRO M1113 03-APR-86 22:56 PAGE 112-2
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
4560 006306 116002 000001 MOVB 1(R0),R2 ; ....MONTH TO R2
4561 006312 012701 172452 MOV #^C5325,R1 ; ....BIT MASK TO R1
4562 006316 122702 000002 CMPB #^D2,R2 ; ....IS THIS FEBRUARY?
4563 006322 001411 BEQ 45$ ; ....YES -- DO SPECIAL CKECKS
4564 006324 126027 000002 000037 CMPB 2(R0),#^D31 ; ....NO -- HOW MANY DAYS?
4565 006332 003046 BGT GTDDOR ; ....GIVE "DOR" ERROR IF .GT. ^D31
4566 006334 002414 BLT 50$ ; ....ALL OK IF .LT. ^D31
4567 006336 40$:
4568 006336 006201 ASR R1 ; ....SHIFT THE BIT MASK
4569 006340 077202 SOB R2,40$ ; ....BY THE MONTH
4570 006342 103011 BCC 50$ ; ....ALL OK IF CC-C IS CLEAR
4571 006344 000441 BR GTDDOR ; ....OTHERWISE GIVE "DOR" ERROR
4572 ;
4573 006346 45$:
4574 006346 126027 000002 000035 CMPB 2(R0),#^D29 ; ....HATH FEBRUARY 29 DAYS?
4575 006354 003035 BGT GTDDOR ; ....NEVER MORE -- GIVE "DOR" ERROR
4576 006356 002403 BLT 50$ ; ....ALWAYS LESS -- EXIT
4577 006360 132710 000003 BITB #3,(R0) ; ....IS THIS A LEAP YEAR?
4578 006364 001031 BNE GTDDOR ; ....NO -- GIVE "DOR" ERROR
4579 006366 50$:
4580 006366 012701 000552' MOV #.DTBUF,R1 ; ....POINT TO THE DATE BUFFER
4581 006372 122021 CMPB (R0)+,(R1)+ ; ....SEE IF YEAR IS OK
4582 006374 002422 BLT GTDDBT ; ....NO -- GIVE "DBT" ERROR
4583 006376 003007 BGT 55$ ; ....YES -- BEYOND THIS YEAR??
4584 006400 105721 TSTB (R1)+ ; ....NO -- ADVANCE THE POINTER
4585 006402 122021 CMPB (R0)+,(R1)+ ; ....IS THE MONTH OK?
4586 006404 002416 BLT GTDDBT ; ....NO -- GIVE "DBT" ERROR
4587 006406 003003 BGT 55$ ; ....YES -- BEYOND THIS YEAR??
4588 006410 105721 TSTB (R1)+ ; ....NO -- ADVANCE THE POINTER
4589 006412 121011 CMPB (R0),(R1) ; ....IS THE DAY OK?
4590 006414 002412 BLT GTDDBT ; ....NO -- GIVE "DBT" ERROR
4591 006416 55$:
4592 006416 POP <R0,R1,R2,R5> ; ....YES -- RESTORE REGISTERS
006416 012600 MOV (SP)+,R0
006420 012601 MOV (SP)+,R1
006422 012602 MOV (SP)+,R2
006424 012605 MOV (SP)+,R5
4593 006426 013737 000000G 000000G MOV .RDXSV,.IRADX ; RESET THE RADIX
4594 006434 005737 000000G TST .INCHC ; LOOK AT THE CHARACTER COUNT
4595 006440 RETURN ; EXIT
006440 000207 RTS PC
GTTIM -- INPUT AND DISPLAY DATE MACRO M1113 03-APR-86 22:56 PAGE 113
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
4597 006442 GTDDBT: ; +++001
4598 006442 ERROR$ DBT ; ERROR -- DATE BEFORE TODAY
006442 012746 014544 MOV #^RDBT,-(SP)
006446 104400 TRAP TC.ERR
4599 ;
4600 006450 GTDDOR: ; +++001
4601 006450 ERROR$ DOR ; ERROR -- DATE OUT OF RANGE
006450 012746 015552 MOV #^RDOR,-(SP)
006454 104400 TRAP TC.ERR
4602 ;
4603 006456 GTDIDF:
4604 006456 ERROR$ IDF ; ERROR -- ILLEGAL DATE FORMAT
006456 012746 034346 MOV #^RIDF,-(SP)
006462 104400 TRAP TC.ERR
4605 ;
4606 006464 GTDYOR: ; +++001
4607 006464 ERROR$ YOR ; ERROR -- YEAR OUT OF RANGE
006464 012746 117252 MOV #^RYOR,-(SP)
006470 104400 TRAP TC.ERR
4608 ;
4609
4610 000552 .PSECT DATA
4611
4612 000552 .DTBUF::
4613 000552 000000 000000 000000 .WORD 0,0,0,0,0,0,0,0
000560 000000 000000 000000
000566 000000 000000
4614
4615 002167 .PSECT MESSAG
4616
4617 002167 GTDMS0:
4618 002167 104 101 124 .ASCIZ %DATE: %
002172 105 072 040
002175 000
4619
4620 006472 .PSECT
4621
GTTIM -- INPUT AND DISPLAY DATE MACRO M1113 03-APR-86 22:56 PAGE 114
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
4623 .SBTTL .GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
4624
4625 ;+
4626 ; .GTTIM -- SUBROUTINE TO INPUT A TIME VALUE
4627 ;
4628 ; THIS SUBROUTINE WILL ACCEPT A TIME VALUE FROM THE CONSOLE INPUT
4629 ; DEVICE OF THE FORMAT "HH:MM" OR "HHMM", AND RETURN IT EXPRESSED
4630 ; AS SECONDS-SINCE-MIDNIGHT / 2 (SSM).
4631 ;
4632 ; INPUT ARGUMENTS:
4633 ;
4634 ; R0 POINTS TO THE DESTINATION FOR THE VALUE
4635 ;
4636 ; OUTPUT ARGUMENTS:
4637 ;
4638 ; R0 POINTS TO THE TIME VALUE
4639 ; CC-Z WILL BE SET TO INDICATE NO TIME WAS SPECIFIED (DEFAULT)
4640 ;
4641 ; ERROR CODES RETURNED:
4642 ;
4643 ; ITF -- ILLEGAL TIME FORMAT
4644 ; TOR -- TIME OUT OF RANGE
4645 ;-
4646
4647 006472 .GTTIM::
4648 006472 013737 000000G 000000G MOV .IRADX,.RDXSV ; SAVE THE CURRENT RADIX
4649 006500 012737 000012 000000G MOV #^D10,.IRADX ; SET THE INPUT RADIX TO DECIMAL
4650 006506 PUSH <R5,R2,R1,R0> ; SAVE CALLER'S REGISTERS
006506 010546 MOV R5,-(SP)
006510 010246 MOV R2,-(SP)
006512 010146 MOV R1,-(SP)
006514 010046 MOV R0,-(SP)
4651 006516 012702 177777 MOV #-^D1,R2 ; ....SET DEFAULT ARGUMENT
4652 006522 012700 002176' MOV #GTTMS0,R0 ; ....PROMPT FOR TIME
4653 006526 CALL .TYMSF ; ....FORCE IT OUT
006526 004737 000000G JSR PC,.TYMSF
4654 006532 012701 000000G MOV #.CIBFR,R1 ; ....BUFFER POINTER TO R1
4655 006536 010105 MOV R1,R5 ; ....SET UP THE BUFFER POINTER
4656 006540 CALL .GTLIN ; ....READ THE INPUT
006540 004737 000000G JSR PC,.GTLIN
4657 006544 001514 BEQ 30$ ; ....EXIT IF NULL (DEFAULT)
4658 006546 CALL .CKSYM ; ....GET OVER LEADING BLANKS
006546 004737 000000G JSR PC,.CKSYM
4659 006552 132764 000010 000000G BITB #CH.EOC,.CHTAB(R4)
4660 006560 001106 BNE 30$ ; ....EXIT IF E-O-C
4661 006562 CALL .CKARG ; ....SEE WHAT FOLLOWS
006562 004737 000000G JSR PC,.CKARG
4662 006566 001516 BEQ GTTITF ; ....ERROR IF NON-NUMERIC
4663 006570 005046 CLR -(SP) ; ....CLEAR A BUFFER ON THE STACK
4664 006572 005046 CLR -(SP) ; .....
4665 006574 005046 CLR -(SP) ; ......
4666 006576 010600 MOV SP,R0 ; .......POINT TO THE BUFFER
4667 006600 CALL .GTNBR ; .......READ HOURS
006600 004737 000000G JSR PC,.GTNBR
4668 006604 122704 000072 CMPB #':,R4 ; .......IS NEXT CHARACTER A COLON?
4669 006610 001437 BEQ 10$ ; .......YES -- GO READ MINUTE
4670 006612 CALL .CKEOC ; .......NO -- MUST HAVE E-O-C
GTTIM -- INPUT AND DISPLAY DATE MACRO M1113 03-APR-86 22:56 PAGE 114-1
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
006612 004737 000000G JSR PC,.CKEOC
4671 006616 005046 CLR -(SP) ; .......SET UP A DIVISOR ON THE STACK
4672 006620 005046 CLR -(SP) ; ........
4673 006622 PUSH #^D100 ; .........SO
006622 012746 000144 MOV #^D100,-(SP)
4674 006626 010601 MOV SP,R1 ; ..........POINT TO THE DIVISOR
4675 006630 CALL .TPDIV ; ..........DO THE DIVISION
006630 004737 000000G JSR PC,.TPDIV
4676 006634 022711 000073 CMP #^D59,(R1) ; ..........IS THE REMAINDER .LT. ^D59?
4677 006640 002474 BLT GTTTOR ; .......... +++001 NO -- GIVE "TOR" ERROR
4678 006642 PUSH (R1) ; ..........YES -- SAVE THE REMAINDER
006642 011146 MOV (R1),-(SP)
4679 006644 022710 000027 CMP #^D23,(R0) ; ...........IS THE HOUR OK?
4680 006650 002470 BLT GTTTOR ; ........... +++001 NO -- GIVE "TOR" ERROR
4681 006652 011000 MOV (R0),R0 ; ...........YES -- GET IT
4682 006654 012701 000074 MOV #^D60,R1 ; ...........MULTIPLIER TO R1
4683 006660 CALL $MUL ; ...........DO THE MULTIPLICATION
006660 004737 000000G JSR PC,$MUL
4684 006664 010100 MOV R1,R0 ; ...........PRODUCT TO R0
4685 006666 062600 ADD (SP)+,R0 ; ...........COMPUTE SECONDS SINCE MIDNIGHT
4686 006670 012701 000036 MOV #^D30,R1 ; ..........MULTIPLIER
4687 006674 CALL $MUL ; ..........DO IT
006674 004737 000000G JSR PC,$MUL
4688 006700 010102 MOV R1,R2 ; ..........SAVE IT IN R2
4689 006702 062706 000006 ADD #^D6,SP ; ..........RESET THE STACK
4690 006706 000431 BR 20$ ; .......AND EXIT
4691 ;
4692 006710 10$:
4693 006710 105725 TSTB (R5)+ ; .......GET OVER THE COLON
4694 006712 011000 MOV (R0),R0 ; .......GET THE HOUR
4695 006714 022700 000027 CMP #^D23,R0 ; .......IS THE HOUR OK?
4696 006720 002444 BLT GTTTOR ; ....... +++001 NO -- GIVE "TOR" ERROR
4697 006722 012701 000074 MOV #^D60,R1 ; .......CONVERT TO MINUTES
4698 006726 CALL $MUL ; .......SO
006726 004737 000000G JSR PC,$MUL
4699 006732 010102 MOV R1,R2 ; .......STASH IT AWAY
4700 006734 010600 MOV SP,R0 ; .......RESET POINTER
4701 006736 CALL .TPCLR ; .......FLUSH THE BUFFER
006736 004737 000000G JSR PC,.TPCLR
4702 006742 CALL .GTNBR ; .......READ THE NEXT NUMBER
006742 004737 000000G JSR PC,.GTNBR
4703 006746 011000 MOV (R0),R0 ; .......GET THE MINUTES
4704 006750 022700 000073 CMP #^D59,R0 ; .......IS THE MINUTE OK?
4705 006754 002426 BLT GTTTOR ; ....... +++001 NO -- GIVE "TOR" ERROR
4706 006756 060200 ADD R2,R0 ; .......ADD THE HOUR
4707 006760 012701 000036 MOV #^D30,R1 ; .......CONVERT TO SECONDS
4708 006764 CALL $MUL ; .......SO
006764 004737 000000G JSR PC,$MUL
4709 006770 010102 MOV R1,R2 ; .......SAVE IT IN R2
4710 006772 20$:
4711 006772 062706 000006 ADD #^D6,SP ; .......RESET THE STACK
4712 006776 30$:
4713 006776 POP R0 ; ....RESTORE R0
006776 012600 MOV (SP)+,R0
4714 007000 010210 MOV R2,(R0) ; ...SET THE TIME
4715 007002 POP <R1,R2,R5> ; ...RESTORE REGISTERS
007002 012601 MOV (SP)+,R1
GTTIM -- INPUT AND DISPLAY DATE MACRO M1113 03-APR-86 22:56 PAGE 114-2
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
007004 012602 MOV (SP)+,R2
007006 012605 MOV (SP)+,R5
4716 007010 013737 000000G 000000G MOV .RDXSV,.IRADX ; RESET THE RADIX
4717 007016 005737 000000G TST .INCHC ; LOOK AT THE CHARACTER COUNT
4718 007022 RETURN ; AND EXIT
007022 000207 RTS PC
4719 007024 GTTITF:
4720 007024 ERROR$ ITF ; ERROR -- ILLEGAL TIME FORMAT
007024 012746 035546 MOV #^RITF,-(SP)
007030 104400 TRAP TC.ERR
4721 ;
4722 007032 GTTTOR: ; +++001
4723 007032 ERROR$ TOR ; +++001 ERROR -- TIME OUT OF RANGE
007032 012746 077552 MOV #^RTOR,-(SP)
007036 104400 TRAP TC.ERR
4724 ;
4725
4726 002176 .PSECT MESSAG
4727
4728 002176 GTTMS0:
4729 002176 124 111 115 .ASCIZ %TIME: %
002201 105 072 040
002204 000
4730
4731 007040 .PSECT
4732
GTTIM -- INPUT AND DISPLAY DATE MACRO M1113 03-APR-86 22:56 PAGE 115
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
4734 .SBTTL .TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
4735
4736 ;+
4737 ; .TYDAT -- SUBROUTINE TO TYPE A DATE
4738 ;
4739 ; THIS SUBROUTINE WILL OUTPUT A DATE ON THE CONSOLE DEVICE IN THE
4740 ; FOLLOWING FORMAT: "DD-MMM-YY".
4741 ;
4742 ; INPUT ARGUMENTS:
4743 ;
4744 ; R0 POINTS TO A THREE BYTE BLOCK CONTAINING THE DATE
4745 ;
4746 ; OUTPUT ARGUMENTS:
4747 ;
4748 ; NONE.
4749 ; ERROR CODES RETURNED:
4750 ;
4751 ; NONE.
4752 ;-
4753
4754
4755 007040 .TYDAT::
4756 007040 PUSH <.ORADX,R0,R2> ; SAVE CALLER'S REGISTERS
007040 013746 000000G MOV .ORADX,-(SP)
007044 010046 MOV R0,-(SP)
007046 010246 MOV R2,-(SP)
4757 007050 012737 000012 000000G MOV #^D10,.ORADX ; ...SET THE RADIX TO DECIMAL
4758 007056 010002 MOV R0,R2 ; ...CALLER'S POINTER TO R2
4759 007060 122222 CMPB (R2)+,(R2)+ ; ...ADVANCE THE POINTER
4760 007062 111200 MOVB (R2),R0 ; ...GET THE DAY
4761 007064 CALL .TYELA ; ...PRINT IT
007064 004737 000000G JSR PC,.TYELA
4762 007070 CALL .TYMIN ; ...AND A <DASH>
007070 004737 000000G JSR PC,.TYMIN
4763 007074 114200 MOVB -(R2),R0 ; ...GET THE MONTH
4764 007076 006300 ASL R0 ; ...MAKE IT AN EVEN INDEX
4765 007100 016000 000570' MOV TYDMTB-2(R0),R0 ; ...POINT TO THE STRING
4766 007104 CALL .TYMSG ; ...PRINT IT
007104 004737 000000G JSR PC,.TYMSG
4767 007110 CALL .TYMIN ; ...AND A <DASH>
007110 004737 000000G JSR PC,.TYMIN
4768 007114 122742 000011 CMPB #^D9,-(R2) ; ...'09 OR EARLIER?
4769 007120 002404 BLT 10$ ; ...NO -- GO ON
4770 007122 012700 000060 MOV #'0,R0 ; ...YES -- FORCE THE LEADING ZERO
4771 007126 CALL .TYCHR ; ...SO
007126 004737 000000G JSR PC,.TYCHR
4772 007132 10$:
4773 007132 111200 MOVB (R2),R0 ; ...GET THE YEAR
4774 007134 CALL .TYELA ; ...PRINT IT
007134 004737 000000G JSR PC,.TYELA
4775 007140 POP <R2,R0,.ORADX> ; ...RESTORE THE REGISTERS
007140 012602 MOV (SP)+,R2
007142 012600 MOV (SP)+,R0
007144 012637 000000G MOV (SP)+,.ORADX
4776 007150 CALLR .TYSPC ; PRINT A <SPACE> AND EXIT
007150 000137 000000G JMP .TYSPC
4777 ;
GTTIM -- INPUT AND DISPLAY DATE MACRO M1113 03-APR-86 22:56 PAGE 115-1
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
4778
4779 000572 .PSECT DATA
4780
4781 000572 TYDMTB:
4782 000572 000000G .WORD JANMSG
4783 000574 000000G .WORD FEBMSG
4784 000576 000000G .WORD MARMSG
4785 000600 000000G .WORD APRMSG
4786 000602 000000G .WORD MAYMSG
4787 000604 000000G .WORD JUNMSG
4788 000606 000000G .WORD JULMSG
4789 000610 000000G .WORD AUGMSG
4790 000612 000000G .WORD SEPMSG
4791 000614 000000G .WORD OCTMSG
4792 000616 000000G .WORD NOVMSG
4793 000620 000000G .WORD DECMSG
4794
4795 007154 .PSECT
GTTIM -- INPUT AND DISPLAY DATE MACRO M1113 03-APR-86 22:56 PAGE 116
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
4797 .SBTTL .TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
4798
4799 ;+
4800 ; .TYTIM -- TIME OUTPUT SUBROUTINE
4801 ;
4802 ; THIS SUBROUTINE WILL PRINT THE TIME ON THE CONSOLE OUTPUT DEVICE
4803 ; IN THE FOLLOWING FORMAT: "HH:MM"
4804 ;
4805 ; INPUT ARGUMENTS:
4806 ;
4807 ; R0 POINTS TO THE TIME VALUE TO BE PRINTED
4808 ; IN SECONDS-SINCE-MIDNIGHT FORMAT (SSM).
4809 ;
4810 ; OUTPUT ARGUMENTS:
4811 ;
4812 ; NONE.
4813 ;
4814 ; ERROR CODES RETURNED:
4815 ;
4816 ; NONE.
4817 ;-
4818
4819
4820 007154 .TYTIM::
4821 007154 PUSH <.ORADX,R0,R1> ; SAVE CALLER'S REGISTERS
007154 013746 000000G MOV .ORADX,-(SP)
007160 010046 MOV R0,-(SP)
007162 010146 MOV R1,-(SP)
4822 007164 012737 000012 000000G MOV #^D10,.ORADX ; ...SET OUTPUT RADIX TO DECIMAL
4823 007172 011000 MOV (R0),R0 ; ...GET THE TIME IN SSM/2
4824 007174 012701 003410 MOV #^D1800,R1 ; ...DIVISOR FOR HOURS
4825 007200 CALL $DIV ; ...COMPUTE THE HOURS
007200 004737 000000G JSR PC,$DIV
4826 007204 PUSH R0 ; ...SAVE THEM
007204 010046 MOV R0,-(SP)
4827 007206 010100 MOV R1,R0 ; ....REMAINDER TO R0
4828 007210 012701 000036 MOV #^D30,R1 ; ....DIVISOR FOR MINUTES
4829 007214 CALL $DIV ; ....COMPUTE THE MINUTES
007214 004737 000000G JSR PC,$DIV
4830 007220 010001 MOV R0,R1 ; ....SAVE THEM IN R1
4831 007222 022716 000011 CMP #^D9,(SP) ; ....0900 OR EARLIER?
4832 007226 002404 BLT 10$ ; ....NO -- GO ON
4833 007230 012700 000060 MOV #'0,R0 ; ....YES -- FORCE THE LEADING ZERO
4834 007234 CALL .TYCHR ; ....SO
007234 004737 000000G JSR PC,.TYCHR
4835 007240 10$:
4836 007240 POP R0 ; ....GET THE HOUR
007240 012600 MOV (SP)+,R0
4837 007242 CALL .TYELA ; ...PRINT IT
007242 004737 000000G JSR PC,.TYELA
4838 007246 CALL .TYCOL ; ...TYPE A <COLON>
007246 004737 000000G JSR PC,.TYCOL
4839 007252 022701 000011 CMP #^D9,R1 ; ...9 MINUTES OR EARLIER?
4840 007256 002404 BLT 20$ ; ...NO -- GO ON
4841 007260 012700 000060 MOV #'0,R0 ; ...YES -- FORCE THE LEADING ZERO
4842 007264 CALL .TYCHR ; ...SO
007264 004737 000000G JSR PC,.TYCHR
GTTIM -- INPUT AND DISPLAY DATE MACRO M1113 03-APR-86 22:56 PAGE 116-1
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
4843 007270 20$:
4844 007270 010100 MOV R1,R0 ; ...GET THE MINUTE
4845 007272 CALL .TYELA ; ...PRINT IT
007272 004737 000000G JSR PC,.TYELA
4846 007276 POP <R1,R0,.ORADX> ; ...RESTORE THE REGISTERS
007276 012601 MOV (SP)+,R1
007300 012600 MOV (SP)+,R0
007302 012637 000000G MOV (SP)+,.ORADX
4847 007306 CALLR .TYSPC ; TYPE A <SPACE> AND EXIT
007306 000137 000000G JMP .TYSPC
4848 ;
GTTIM -- INPUT AND DISPLAY DATE MACRO M1113 03-APR-86 22:56 PAGE 117
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
4850
4851 .TITLE HALTC -- HALT FUNCTION MODULE 7707.12
4852
4853 .IDENT "005000"
4854 ;
4855 ; COPYRIGHT (C) 1975, 1984 BY
4856 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
4857 ;
4858 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
4859 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
4860 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
4861 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
4862 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
4863 ;
4864 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
4865 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
4866 ; CORPORATION.
4867 ;
4868 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4869 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
4870 ;
4871 ; MODULE: HALT FUNCTION
4872 ;
4873 ; VERSION: 03-06
4874 ;
4875 ; AUTHOR: R. BELANGER
4876 ;
4877 ; DATE: 7707.12
4878 ;
4879 ; THIS MODULE CONTAINS:
4880 ;
4881 ; 1) HALT FUNCTION CODE
HALTC -- HALT FUNCTION MODULE 7 MACRO M1113 03-APR-86 22:56 PAGE 118
.HALTC -- THE "HALT" COMMAND 7710.11
4883 .SBTTL .HALTC -- THE "HALT" COMMAND 7710.11
4884
4885 ;+
4886 ; .HALTC -- THE "HALT" COMMAND
4887 ;
4888 ; THIS ROUTINE HALTS THE KL WITH THE CLOCK RUNNING. (EXAMINE
4889 ; AND DEPOSIT ARE STILL SUPPORTED).
4890 ;
4891 ; INPUT ARGUMENTS:
4892 ;
4893 ; NONE.
4894 ;
4895 ; OUTPUT ARGUMENTS:
4896 ;
4897 ; NONE.
4898 ;
4899 ; ERROR CODES RETURNED:
4900 ;
4901 ; ILS -- ILLEGAL SEPARATOR CHARACTER.
4902 ;-
4903
4904 007312 .HALTC::
4905 007312 CALL .CKEOC ; CHECK E-O-C
007312 004737 000000G JSR PC,.CKEOC
4906 007316 CALL .KLSTP ; HALT THE KL AND RETURN
007316 004737 000000G JSR PC,.KLSTP
4907 007322 CALLR KLPSTP ; [**]
007322 000137 000000G JMP KLPSTP
4908 ;
HALTC -- HALT FUNCTION MODULE 7 MACRO M1113 03-APR-86 22:56 PAGE 119
.HALTC -- THE "HALT" COMMAND 7710.11
4910
4911 .TITLE INITC -- INITIALIZE COMMAND MODULE 7602.16
4912
4913 .IDENT "006110"
4914
4915 ;
4916 ; COPYRIGHT (C) 1975, 1984, 1985 BY
4917 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
4918 ; ALL RIGHTS RESERVED.
4919 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
4920 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
4921 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
4922 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
4923 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
4924 ;
4925 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
4926 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
4927 ; CORPORATION.
4928 ;
4929 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4930 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
4931 ;
4932 ; MODULE: INITIALIZE COMMAND
4933 ;
4934 ; VERSION: 06-11
4935 ;
4936 ; AUTHOR: R. BELANGER
4937 ;
4938 ; DATE: 7602.16
4939 ;
4940 ; THIS MODULE CONTAINS:
4941 ;
4942 ; 1) INITIALIZE COMMAND CODE
4943 ;
4944 ; MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
4945
4946 .MCALL ALUN$,CLEF$S,DIR$,SETF$S,SVTK$S
INITC -- INITIALIZE COMMAND MOD MACRO M1113 03-APR-86 22:56 PAGE 120
.INITC -- THE "INITIALIZE" COMMAND 7602.16
4948 .SBTTL .INITC -- THE "INITIALIZE" COMMAND 7602.16
4949
4950 ;+
4951 ; .INITC -- THE "INITIALIZE" COMMAND
4952 ;
4953 ; THIS ROUTINE (RE)INITIALIZES THE COMMAND PARSER
4954 ;
4955 ; INPUT ARGUMENTS:
4956 ;
4957 ; NONE.
4958 ;
4959 ; OUTPUT ARGUMENTS:
4960 ;
4961 ; ".KLFLG" IS SET UP
4962 ;
4963 ; ERROR CODES RETURNED:
4964 ;
4965 ; NONE.
4966 ;-
4967
4968 007326 .INITC::
4969 007326 CALL .CKEOC ; CHECK FOR E-O-C
007326 004737 000000G JSR PC,.CKEOC
4970 007332 .INIC0::
4971 007332 000414 BR .INKLF ; INIT THE PARSER AND RETURN
4972 ;
INITC -- INITIALIZE COMMAND MOD MACRO M1113 03-APR-86 22:56 PAGE 121
.INIT -- INITIALIZATION SUBROUTINE 7509.26
4974 .SBTTL .INIT -- INITIALIZATION SUBROUTINE 7509.26
4975
4976 ;+
4977 ; .INIT -- SUBROUTINE TO INITIALIZE THE COMMAND PARSER.
4978 ;
4979 ; THIS SUBROUTINE CLEARS INTERNAL BUFFERS AND INITIALIZES
4980 ; THE FOLLOWING REGISTERS:
4981 ;
4982 ; (A) ".KLFLG" -- THE KL STATUS FLAG WORD,
4983 ; (B) ".CLKWD" -- THE KL CLOCK STATUS WORD,
4984 ; (C) ".PSCWD" -- THE KL PARITY CONTROL WORD.
4985 ;
4986 ; INPUT ARGUMENTS:
4987 ;
4988 ; NONE.
4989 ;
4990 ; OUTPUT ARGUMENTS:
4991 ;
4992 ; ".KLFLG" IS SET UP
4993 ;
4994 ; ERROR CODES RETURNED:
4995 ;
4996 ; CES -- KL CLOCK ERROR STOP.
4997 ; CFH -- CAN'T FIND KL HALT LOOP.
4998 ; DSF -- DTE-20 STATUS FAILURE.
4999 ; FRF -- FUNCTION READ FAILED.
5000 ; FWF -- FUNCTION WRITE FAILED.
5001 ;-
5002
5003 007334 .INIT::
5004 007334 PUSH R0 ; SAVE R0
007334 010046 MOV R0,-(SP)
5005 007336 000257 CCC ; .CLEAR N, Z, V, C BITS
5006 007340 012700 000000G MOV #.DFBLK,R0 ; .CLEAR THE DF BUFFERS
5007 007344 10$:
5008 007344 005020 CLR (R0)+ ; .CLEAR A WORD
5009 007346 020027 000000G CMP R0,#DFBEND ; .ARE WE DONE?
5010 007352 103774 BLO 10$ ; .NO -- KEEP GOING
5011 007354 012737 000200 000000G MOV #KF.DEF,.KLFLG ; .YES -- INIT ".KLFLG"
5012 007362 POP R0 ; .RESTORE R0
007362 012600 MOV (SP)+,R0
5013
5014 ; [CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD MACRO M1113 03-APR-86 22:56 PAGE 122
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
5016 .SBTTL .INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
5017
5018 ;+
5019 ; .INKLF -- SUBROUTINE TO SET UP THE KL STATE FLAG WORD, ".KLFLG".
5020 ;
5021 ; THIS SUBROUTINE SETS UP THE STATE OF THE FOLLOWING
5022 ; FLAG BITS IN THE KL STATE FLAG WORD, ".KLFLG":
5023 ;
5024 ; (A) "KF.CLK" -- KL CLOCK RUNNING FLAG,
5025 ; (B) "KF.RUN" -- KL RUN FLOP SET FLAG,
5026 ; (C) "KF.KLO" -- KL OPCODE ENABLED FLAG.
5027 ;
5028 ; .INKLF MAY BE CALLED DIRECTLY AS DESCRIBED IN THE CALLING SEQUENCE,
5029 ; OR BY ".INIT" WHICH FALLS INTO ".INKLF".
5030 ;
5031 ; INPUT ARGUMENTS:
5032 ;
5033 ; NONE.
5034 ;
5035 ; OUTPUT ARGUMENTS:
5036 ;
5037 ; ".KLFLG" IS SET UP.
5038 ;
5039 ; ERROR CODES RETURNED:
5040 ;
5041 ; CES -- KL CLOCK ERROR STOP.
5042 ; CFH -- CAN'T FIND KL HALT LOOP.
5043 ; DSF -- DTE-20 STATUS FAILURE.
5044 ; DTC -- DTE-20 CONFUSED.
5045 ; FRF -- FUNCTION READ FAILED.
5046 ; FWF -- FUNCTION WRITE FAILED.
5047 ;-
INITC -- INITIALIZE COMMAND MOD MACRO M1113 03-APR-86 22:56 PAGE 123
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
5049 007364 .INKLF::
5050 007364 SETF$S #E.FHTO ; SET THE HALT TIMEOUT EVENT FLAG
007364 012746 000001 MOV #E.FHTO,-(SP)
007370 012746 MOV (PC)+,-(SP)
007372 041 002 .BYTE 33.,2
007374 104375 EMT 375
5051 007376 103461 BCS 60$ ; ERROR IF CC-C IS SET
5053 007400 005737 000000G TST .KLERQ ; [5.1006]KL CRASH?
5054 007404 001055 BNE 50$ ; [5.1006]YES -- EXIT
5056 007406 PUSH <R0,R1,R2,R3> ; NO -- SAVE CALLER'S REGISTERS
007406 010046 MOV R0,-(SP)
007410 010146 MOV R1,-(SP)
007412 010246 MOV R2,-(SP)
007414 010346 MOV R3,-(SP)
5057 007416 CALL .DTSTA ; ....READ THE DTE-20 STATUS REGISTER
007416 004737 000000G JSR PC,.DTSTA
5058 007422 032700 000010 BIT #ST.MOD,R0 ; ....IS THE DTE-20 PRIVILEGED?
5060 007426 001047 BNE INIDNP ; ....UGH, BLETCH -- NO
5062 007430 CALL .CESCK ; ....YES -- SEE IF CLOCK ERROR STOP IS UP
007430 004737 000000G JSR PC,.CESCK
5063 007434 012702 000000G MOV #.KLFLG,R2 ; ....FLAG POINTER TO R2
5064 007440 042712 140000 BIC #KF.CLK!KF.RUN,(R2)
5065 ; ....CLEAR THE CLOCK AND RUNNING FLAGS
5066 007444 005037 000000G CLR .EDKLX ; ....RESET THE ADDRESS TO ZERO
5067 007450 005037 000002G CLR .EDKLX+2 ; ....
5068 007454 012700 000200 MOV #ED.PHY,R0 ; ....PHYSICAL REFERENCE
5069 007460 012701 000622' MOV #.INEXT,R1 ; ....POINT TO DATA BLOCK
5070 007464 CALL .EXKLM ; ....EXAMINE KL MEMORY
007464 004737 000000G JSR PC,.EXKLM
5071 007470 052712 100600 BIS #KF.CON!KF.KLO!KF.CLK,(R2) ;*
5072 ; ....SET THE CLOCK RUNNING FLAG
5073 007474 012703 000144 MOV #^D100,R3 ; ....LOOP COUNT TO R3
5074 007500 10$:
5075 007500 CALL .DTDW1 ; ....READ DIAG WORD 1
007500 004737 000000G JSR PC,.DTDW1
5076 007504 032700 002000 BIT #D1.RUN,R0 ; ....IS RUN ON?
5080 007510 001002 BNE 20$ ; ....YES -- GO ON
5081 007512 077306 SOB R3,10$ ; ....NO -- LOOP TILL COUNT EXHAUSTED
5082 007514 000405 BR 30$ ; ....CAN'T FIND IT, GIVE UP
5083 ;
5084
5085 ; [CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD MACRO M1113 03-APR-86 22:56 PAGE 124
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
5087 ; [CONTINUED FROM THE PREVIOUS PAGE]
5088
5089 007516 20$:
5090 007516 032700 001000 BIT #D1.HLP,R0 ; ....IS THE HALT LOOP THERE TOO?
5092 007522 001014 BNE INIDTC ; ....YES -- GIVE "DTC" ERROR
5094 007524 052712 040000 BIS #KF.RUN,(R2) ; ....NO -- FOUND IT OK, SET THE FLAG
5095 007530 30$:
5109 007530 POP <R3,R2,R1,R0> ; ....RESTORE CALLER'S REGISTERS
007530 012603 MOV (SP)+,R3
007532 012602 MOV (SP)+,R2
007534 012601 MOV (SP)+,R1
007536 012600 MOV (SP)+,R0
5110 007540 50$: RETURN ; TO CALLER
007540 000207 RTS PC
5111 007542 60$:
5112 007542 000137 000000G JMP .EXITP ; ERROR EXIT
5113 ;
5114 007546 INIDNP:
5115 007546 ERROR$ DNP ; ERROR -- DTE-20 NOT PRIVILEGED
007546 012746 015500 MOV #^RDNP,-(SP)
007552 104400 TRAP TC.ERR
5116 ;
5117 007554 INIDTC:
5118 007554 ERROR$ DTC ; ERROR --DTE-20 CONFUSED
007554 012746 016043 MOV #^RDTC,-(SP)
007560 104400 TRAP TC.ERR
5119 ;
5120
5121 000622 .PSECT DATA
5122
5123 000622 .INEXT:
5124 000622 000000G .WORD .EDKLX ; ADDRESS 0
5125 000624 000000G .WORD .EXBFR ; PLACE FOR DATA
5126
5127 007562 .PSECT
INITC -- INITIALIZE COMMAND MOD MACRO M1113 03-APR-86 22:56 PAGE 125
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
5129 .SBTTL .INICP -- INITIALIZE THE COMMAND PARSER 7601.21
5130
5131 ;+
5132 ; .INICP -- ROUTINE TO INTIALIZE THE COMMAND PARSER.
5133 ;
5134 ; THIS SUBROUTINE WILL INITIALIZE THE RSX20F INTERFACE TO THE COMMAND
5135 ; PARSER. THE CONSOLE INPUT AND OUTPUT DEVICES ARE ASSIGNED AND ATTACHED,
5136 ; THE SST TRAPS ARE ENABLED, AND THE EVENT FLAGS ARE CLEARED.
5137 ;
5138 ; INPUT ARGUMENTS:
5139 ;
5140 ; NONE.
5141 ;
5142 ; OUTPUT ARGUMENTS:
5143 ;
5144 ; NONE.
5145 ;
5146 ; ERROR CODES RETURNED:
5147 ;
5148 ; IF THE SST VECTORS CANNOT BE INITIALIZED THE PARSER EXITS.
5149 ; IF THE CONSOLE OUTPUT DEVICE CANNOT BE ASSIGNED, THE PARSER EXITS.
5150 ; IF THE CONSOLE OUTPUT DEVICE CANNOT BE ASSIGNED, THE PARSER EXITS.
5151 ; IF THE CONSOLE DEVICE CANNOT BE ATTACHED, THE PARSER EXITS.
5152 ;-
5153
5154 007562 .INICP::
5155 007562 010637 000000G MOV SP,.SVESP ; INIT THE STACK POINTER
5156 007566 005005 CLR R5 ; CLEAR THE GPR'S
5157 007570 005004 CLR R4
5158 007572 005003 CLR R3
5159 007574 005002 CLR R2
5160 007576 005001 CLR R1
5161 007600 005000 CLR R0
5162 007602 SVTK$S #.SSTTB,#SSTLEN ; INIT SST'S
007602 012746 000000G MOV #SSTLEN,-(SP)
007606 012746 000000G MOV #.SSTTB,-(SP)
007612 012746 MOV (PC)+,-(SP)
007614 071 003 .BYTE 57.,3
007616 104375 EMT 375
5163 007620 103452 BCS 10$ ; DIE IF WE CAN'T DO THAT MUCH
5164 007622 DIR$ #.ASCOD ; ASSIGN THE CONSOLE OUTPUT DEVICE
007622 012746 000026' MOV #.ASCOD,-(SP)
007626 104375 EMT 375
5165 007630 103446 BCS 10$ ; DIE IF WE CAN'T DO THAT, EITHER
5166 007632 DIR$ #.ASCID ; ASSIGN THE CONSOLE INPUT DEVICE
007632 012746 000016' MOV #.ASCID,-(SP)
007636 104375 EMT 375
5167 007640 103442 BCS 10$ ; GIVE ERROR TRAP IF CC-C IS SET
5168 007642 DIR$ #.ASLST ; [5.1000]ASSIGN LP DEVICE
007642 012746 000036' MOV #.ASLST,-(SP)
007646 104375 EMT 375
5169
5170 ; [CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD MACRO M1113 03-APR-86 22:56 PAGE 126
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
5172 ; [CONTINUED FROM THE PREVIOUS PAGE]
5173
5174 007650 CLEF$S #E.FCTC ; CLEAR CONTROL-C EVENT FLAG
007650 012746 000000G MOV #E.FCTC,-(SP)
007654 012746 MOV (PC)+,-(SP)
007656 037 002 .BYTE 31.,2
007660 104375 EMT 375
5175 007662 CLEF$S #E.FHTO ; CLEAR HALT TIMEOUT EVENT FLAG
007662 012746 000001 MOV #E.FHTO,-(SP)
007666 012746 MOV (PC)+,-(SP)
007670 037 002 .BYTE 31.,2
007672 104375 EMT 375
5176 007674 CLEF$S #E.FCID ; CLEAR CONSOLE INPUT DONE EVENT FLAG
007674 012746 000002 MOV #E.FCID,-(SP)
007700 012746 MOV (PC)+,-(SP)
007702 037 002 .BYTE 31.,2
007704 104375 EMT 375
5177 007706 SETF$S #E.FCOD ; SET CONSOLE OUTPUT DONE EVENT FLAG
007706 012746 000003 MOV #E.FCOD,-(SP)
007712 012746 MOV (PC)+,-(SP)
007714 041 002 .BYTE 33.,2
007716 104375 EMT 375
5179 007720 SETF$S #E.FLOD ; SET LIST DEVICE OUTPUT DONE EVENT FLAG
007720 012746 000005 MOV #E.FLOD,-(SP)
007724 012746 MOV (PC)+,-(SP)
007726 041 002 .BYTE 33.,2
007730 104375 EMT 375
5181 007732 CALL .TCRLF ; INIT CONSOLE
007732 004737 000000G JSR PC,.TCRLF
5182 007736 CALL .INIC0 ; INIT ".KLFLG"
007736 004737 007332' JSR PC,.INIC0
5183 007742 000177 000000G JMP @.STRTV ; START THE PARSER
5184 ;
5185 007746 10$:
5186 007746 CALLR .EXITP ; EXIT GRACEFULLY
007746 000137 000000G JMP .EXITP
5187 ;
INITC -- INITIALIZE COMMAND MOD MACRO M1113 03-APR-86 22:56 PAGE 127
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
5189 ; ASSIGN CONSOLE INPUT DEVICE
5190
5191 000016 .PSECT DPBS
5192
5193 000016 .ASCID::
5197 000016 ALUN$ CIDLUN,TT,0
000016 007 004 .BYTE 7,4
000020 000001 .WORD CIDLUN
000022 124 .ASCII /T/
000023 124 .ASCII /T/
000024 000000 .WORD 0
5199
5200 ; ASSIGN CONSOLE OUTPUT DEVICE
5201
5202 000026 .ASCOD::
5206 000026 ALUN$ CODLUN,TT,0
000026 007 004 .BYTE 7,4
000030 000002 .WORD CODLUN
000032 124 .ASCII /T/
000033 124 .ASCII /T/
000034 000000 .WORD 0
5208
5209 ; ASSIGN LINEPRINTER DEVICE
5210
5211 000036 .ASLST::
5212 000036 ALUN$ LSTLUN,LP,0
000036 007 004 .BYTE 7,4
000040 000003 .WORD LSTLUN
000042 114 .ASCII /L/
000043 120 .ASCII /P/
000044 000000 .WORD 0
5213
5214 007752 .PSECT
INITC -- INITIALIZE COMMAND MOD MACRO M1113 03-APR-86 22:56 PAGE 129
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
5217
5218 .TITLE KLEDEF -- KLERR SNAPSHOT DEFAULT COMMANDS
5219
5220 .IDENT "007030"
5221
5222 ;
5223 ; COPYRIGHT (C) 1979, 1984, 1985 BY
5224 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
5225 ; ALL RIGHTS RESERVED.
5226 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
5227 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
5228 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
5229 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
5230 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
5231 ;
5232 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
5233 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
5234 ; CORPORATION.
5235 ;
5236 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5237 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
5238 ;
5239 ; MODULE: KLERR DEFAULT COMMANDS
5240 ;
5241 ; VERSION: 07-03
5242 ;
5243 ; AUTHOR: K. LEFEBVRE
5244 ;
5245 ; DATE: 12-DEC-79
5246 ;
5247 ; EDIT HISTORY
5248 ;
5249 ; SL9160 16-SEP-80 S. LEAPLINE DON'T DO TAKE IF KL HALTED
5250 ;
5251 ;09-JUN-83 TCO 6.1675 D. WEAVER
5252 ; TAKE .CMD FILES BASED ON KL ERROR CODE.
5253 ;
5254 .MACRO DEFCMD NUM,COMMAND
5255
5256 .PSECT DATA
5257 .WORD CMD'NUM
5258
5259 .PSECT MESSAG
5260 CMD'NUM:.ASCIZ %COMMAND%
5261
5262 .PSECT DATA
5263
5264 .ENDM DEFCMD
KLEDEF -- KLERR SNAPSHOT DEFAUL MACRO M1113 03-APR-86 22:56 PAGE 130
.KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS
5266 .SBTTL .KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS
5267
5268 ;+
5269 ; .KLE -- ROUTINE TO RETURN DEFAULT KLERR SNAPSHOT COMMANDS
5270 ;
5271 ; THIS ROUTINE CONTAINS BUILT INTO IT THE DEFAULT KLERR SNAPSHOT
5272 ; COMMANDS THAT ARE EXECUTED ANYTIME THE KL CRASHES. THEY ARE
5273 ; ASSEMBLED IN TO MAKE IT DIFFICULT FOR SITES TO MODIFY THEM AND
5274 ; CORRUPT THE SNAPSHOT.
5275 ;
5276 ; THIS ROUTINE ADDED FOR TCO 4.1.1049
5277 ;
5278 ; INPUT ARGUMENTS:
5279 ;
5280 ; NONE
5281 ;
5282 ; OUTPUT ARGUMENTS:
5283 ;
5284 ; NONE
5285 ;
5286 ; ERROR CODES RETURNED:
5287 ;
5288 ; NONE
5289 ;-
5290
5292 007752 .KLE::
5293 007752 PUSH <R1,R0> ; SAVE REGISTERS
007752 010146 MOV R1,-(SP)
007754 010046 MOV R0,-(SP)
5294 007756 105737 000000G TSTB .KLEVL ; POINTER VALID FLAG (FOR OVERLAY)
5295 007762 001075 BNE 30$ ; YES -- WE MUST BE DONE
5296 007764 122737 000000G 000000G CMPB #ERRCES,.ERRCD ; CLOCK ERROR STOP?
5297 007772 001042 BNE 6$ ; NO, KEEP GOING
5298 007774 012701 000626' MOV #FRDBUF,R1 ; SET UP BUFFER FOR FUNCTION READS
5299 010000 012700 000206 MOV #FR.103,R0 ; CHECK FOR DRAM PARITY ERROR
5300 010004 CALL .FREAD ; EXECUTE FUNCTION READ
010004 004737 000000G JSR PC,.FREAD
5301 010010 032711 000040 BIT #40,(R1) ; SET?
5302 010014 001404 BEQ 2$ ; NO, CHECK CRAM
5303 010016 012737 000000G 000000G MOV #ERRDPE,.ERRCD ; YES, SAY DRAM ERROR
5304 010024 000425 BR 6$ ; GO EXECUTE CMD FILE
5305 010026 012700 000210 2$: MOV #FR.104,R0 ; CHECK FOR CRAM PARITY ERROR
5306 010032 CALL .FREAD ; EXECUTE FUNCTION READ
010032 004737 000000G JSR PC,.FREAD
5307 010036 032711 000040 BIT #40,(R1) ; SET?
5308 010042 001404 BEQ 4$ ; NO, CHECK FOR FAST MEMORY PARITY
5309 010044 012737 000000G 000000G MOV #ERRCPE,.ERRCD ; YES, SAY CRAM ERROR
5310 010052 001412 BEQ 6$ ; GO EXECUTE CMD FILE
5311 010054 012700 000212 4$: MOV #FR.105,R0 ; CHECK FOR FM PARITY ERROR
5312 010060 CALL .FREAD ; EXECUTE FUNCTION READ
010060 004737 000000G JSR PC,.FREAD
5313 010064 032711 000040 BIT #40,(R1) ; SET?
5314 010070 001403 BEQ 6$ ; NO, MUST BE F-S PROBE
5315 010072 012737 000000G 000000G MOV #ERRFME,.ERRCD ; YES, SET THE ERROR CODE
5316 010100 012701 000000G 6$: MOV #.CIBFR,R1 ; INPUT BUFFER POINTER
5317 010104 012737 000634' 000000G MOV #KLETAB,.KLEPT ; SET POINTER
5318 010112 105237 000000G INCB .KLEVL ; SET POINTER VALID
KLEDEF -- KLERR SNAPSHOT DEFAUL MACRO M1113 03-APR-86 22:56 PAGE 130-1
.KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS
5319 010116 013700 000000G MOV .ERRCD,R0 ; GET ERROR CODE
5320 010122 006300 ASL R0 ; SHIFT IT ONE POSITION
5321 010124 062700 000632' ADD #KLETAB-2,R0 ; POINT TO APPROPRIATE "TAKE" COMMAND
5322 010130 011000 MOV (R0),R0 ; GET COMMAND ADDRESS
5323 010132 112021 10$: MOVB (R0)+,(R1)+ ; MOVE COMMAND TO INPUT BUFFER
5324 010134 001376 BNE 10$ ; DONE?
5325 010136 005301 DEC R1 ; YES -- REMOVE LAST NULL
5326 010140 162701 000000G SUB #.CIBFR,R1 ; GET COMMAND LENGTH
5327 010144 010137 000002G MOV R1,.CISTS+2 ; SAVE LENGTH
5328 010150 20$: POP <R0,R1> ; RESTORE REGISTERS
010150 012600 MOV (SP)+,R0
010152 012601 MOV (SP)+,R1
5329 010154 RETURN ; EXIT
010154 000207 RTS PC
5330 010156 005037 000000G 30$: CLR .KLEDF ; CLEAR DEFAULT COMMAND FLAG
5331 010162 012700 002205' MOV #EOSMSG,R0 ; END-OF-SNAPSHOT MESSAGE PTR
5332 010166 CALL .TYMSG ; TYPE IT
010166 004737 000000G JSR PC,.TYMSG
5333 010172 005037 000002G CLR .CISTS+2 ; CLEAR COMMAND LENGTH
5334 010176 105737 000000G TSTB .KLSNP ; SNAPSHOT COMMAND IN PROGRESS?
5335 010202 001404 BEQ 40$ ; NO -- GO ON
5336 010204 005037 000000G CLR .KLERQ ; YES -- CLEAR SNAPSHOT FLAG
5337 010210 105037 000000G CLRB .KLSNP ; SAY SNAPSHOT COMMAND DONE
5338 010214 032737 000000G 000000G 40$: BIT #KL.REQ,.KLIWD ; KLI REQUESTED
5339 010222 001752 BEQ 20$ ; NO -- GET INPUT FROM CTY
5340 010224 CALL .TCRLF ; YES -- OUTPUT EOS
010224 004737 000000G JSR PC,.TCRLF
5341 010230 CALLR .EXITP ; EXIT TO KLI
010230 000137 000000G JMP .EXITP
5342
5343 002205 .PSECT MESSAG
5344
5345 002205 EOSMSG:
5346 002205 040 074 105 .ASCIZ % <END OF SNAPSHOT> %
002210 116 104 040
002213 117 106 040
002216 123 116 101
002221 120 123 110
002224 117 124 076
002227 040 000
5347
5348 000626 .PSECT DATA
5349
5350 000626 FRDBUF::
5351 000626 000000 000000 000000 .WORD 0,0,0 ;BUFFER FOR FUNCTION READS
5352
5353 ;TABLE FOR .CMD FILES TO EXECUTE BASED ON ERROR CONDITION
5354 000634 KLETAB::
5355 000634 DEFCMD K1,<TAKE CLOCK>
000634 002231' .WORD CMDK1
002231 124 101 113 CMDK1:.ASCIZ %TAKE CLOCK%
002234 105 040 103
002237 114 117 103
002242 113 000
5356 000636 DEFCMD K2,<TAKE EBUS>
000636 002244' .WORD CMDK2
002244 124 101 113 CMDK2:.ASCIZ %TAKE EBUS%
KLEDEF -- KLERR SNAPSHOT DEFAUL MACRO M1113 03-APR-86 22:56 PAGE 130-2
.KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS
002247 105 040 105
002252 102 125 123
002255 000
5357 000640 DEFCMD K3,<TAKE DEX>
000640 002256' .WORD CMDK3
002256 124 101 113 CMDK3:.ASCIZ %TAKE DEX%
002261 105 040 104
002264 105 130 000
5358 000642 DEFCMD K4,<TAKE KPALV>
000642 002267' .WORD CMDK4
002267 124 101 113 CMDK4:.ASCIZ %TAKE KPALV%
002272 105 040 113
002275 120 101 114
002300 126 000
5359 000644 DEFCMD K5,<TAKE TIMEO>
000644 002302' .WORD CMDK5
002302 124 101 113 CMDK5:.ASCIZ %TAKE TIMEO%
002305 105 040 124
002310 111 115 105
002313 117 000
5360 000646 DEFCMD K6,<TAKE FMPAR>
000646 002315' .WORD CMDK6
002315 124 101 113 CMDK6:.ASCIZ %TAKE FMPAR%
002320 105 040 106
002323 115 120 101
002326 122 000
5361 000650 DEFCMD K7,<TAKE CRAM>
000650 002330' .WORD CMDK7
002330 124 101 113 CMDK7:.ASCIZ %TAKE CRAM%
002333 105 040 103
002336 122 101 115
002341 000
5362 000652 DEFCMD K8,<TAKE DRAM>
000652 002342' .WORD CMDK8
002342 124 101 113 CMDK8:.ASCIZ %TAKE DRAM%
002345 105 040 104
002350 122 101 115
002353 000
5363 000654 DEFCMD K9,<TAKE HALT>
000654 002354' .WORD CMDK9
002354 124 101 113 CMDK9:.ASCIZ %TAKE HALT%
002357 105 040 110
002362 101 114 124
002365 000
5364 000656 DEFCMD K10,<TAKE RELOAD>
000656 002366' .WORD CMDK10
002366 124 101 113 CMDK10:.ASCIZ %TAKE RELOAD%
002371 105 040 122
002374 105 114 117
002377 101 104 000
5365 010234 .PSECT
KLEDEF -- KLERR SNAPSHOT DEFAUL MACRO M1113 03-APR-86 22:56 PAGE 131
.SNAP -- ROUTINE TO MANUALLY PERFORM A SNAPSHOT
5368 .SBTTL .SNAP -- ROUTINE TO MANUALLY PERFORM A SNAPSHOT
5369
5370 ;+
5371 ; .SNAP -- ROUTINE TO MANUALLY TAKE A KL SNAPSHOT
5372 ;
5373 ; THIS ROUTINE WILL SET UP THE CONTROL FLAGS THAT WILL CAUSE THE PARSER
5374 ; TO AT IN THE KLERR FUNCTION OF TAKING A SNAPSHOT.
5375 ;
5376 ; THIS ROUTINE ADDED FOR TCO 4.1.1049
5377 ;
5378 ; INPUT ARGUMENTS:
5379 ;
5380 ; NONE
5381 ;
5382 ; OUTPUT ARGUMENTS:
5383 ;
5384 ; NONE
5385 ;
5386 ; ERROR CODES RETURNED:
5387 ;
5388 ; NONE
5389 ;-
5390
5392 010234 .SNAP::
5393 010234 CALL .CKEOC ; MUST HAVE E-O-C
010234 004737 000000G JSR PC,.CKEOC
5394 010240 005237 000000G INC .KLERQ ; SET FLAG THAT SAYS SNAPSHOT REQUIRED
5395 010244 005237 000000G INC .KLEDF ; SET FLAG THAT CAUSES DEFAULT COMMANDS
5396 010250 105037 000000G CLRB .KLEVL ; CLEAR DEFAULT COMMAND VALID FLAG
5397 010254 105237 000000G INCB .KLSNP ; SAY SNAPSHOT COMMAND IN PROGRESS
5398 010260 RETURN ; DONE
010260 000207 RTS PC
5399
KLEDEF -- KLERR SNAPSHOT DEFAUL MACRO M1113 03-APR-86 22:56 PAGE 133
.SNAP -- ROUTINE TO MANUALLY PERFORM A SNAPSHOT
5403
5404 .TITLE MARKC -- KL MARK/UNMARK-MICROCODE COMMAND MODULE 7910.19
5405
5406 .IDENT "006130"
5407
5408 ;
5409 ; COPYRIGHT (C) 1975, 1984, 1985 BY
5410 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
5411 ; ALL RIGHTS RESERVED.
5412 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
5413 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
5414 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
5415 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
5416 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
5417 ;
5418 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
5419 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
5420 ; CORPORATION.
5421 ;
5422 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5423 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
5424 ;
5425 ;
5426 ; MODULE: KL CRAM DISPATCH FIELD READ
5427 ;
5428 ; VERSION: 06-13
5429 ;
5430 ; AUTHOR: R. BELANGER
5431 ;
5432 ; DATE: 7910.19
5433 ;
5434 ; THIS MODULE CONTAINS:
5435 ;
5436 ; 1) MARK MICROCODE COMMAND
5437 ; 2) UNMARK MICROCODE COMMAND
MARKC -- KL MARK/UNMARK-MICROCO MACRO M1113 03-APR-86 22:56 PAGE 134
.MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19
5439 .SBTTL .MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19
5440
5441 ;+
5442 ; .MARKC -- THE "MARK-MICROCODE" COMMAND
5443 ; .UMRKC -- THE "UNMARK-MICROCODE" COMMAND
5444 ;
5445 ; THESE SUBROUTINES WILL EITHER MARK OR UNMARK A SINGLE LOCATION IN THE
5446 ; KL CRAM. NO CHECK IS MADE TO SEE WHETHER OR NOT THE LOCATION IS ALREADY
5447 ; IN THE DESIRED STATE; THE COMMAND IS SIMPLY EXECUTED
5448 ;
5449 ; INPUT ARGUMENTS:
5450 ;
5451 ; NONE.
5452 ;
5453 ; OUTPUT ARGUMENTS:
5454 ;
5455 ; NONE.
5456 ; R0, R1, R2 -- ALTERED.
5457 ;
5458 ; ERROR CODES RETURNED:
5459 ;
5460 ; NONE.
5461 ;
5462 ; NOTE:
5463 ;
5464 ; NO ATTEMPT IS MADE TO RESTORE THE STATE OF THE KL CLOCK OR THE
5465 ; KL RUN FLOP. THIS ROUTINE ESSENTIALLY CLOBBERS ANY HARDWARE
5466 ; CONTEXT THAT EXISTS WHEN IT IS CALLED AND EXITS WITH THE KL
5467 ; CLOCK OFF.
5468 ;-
5469 .ENABL LSB
5470
5471 010262 .UMRKC::
5472 010262 005046 CLR -(SP) ; SET THE "UNMARK" FLAG
5473 010264 000402 BR 10$ ; .AND ENTER COMMON CODE
5474 ;
5475 010266 .MARKC::
5476 010266 012746 000001 MOV #1,-(SP) ; SET THE "MARK" FLAG
5477 010272 10$:
5478 010272 CALL .CKRUN ; .BETTER NOT BE RUNNING...
010272 004737 000000G JSR PC,.CKRUN
5479 010276 CALL .GTELN ; .READ THE CRAM ADDRESS
010276 004737 000000G JSR PC,.GTELN
5480 010302 010002 MOV R0,R2 ; .COPY ADDRESS TO R2
5481 010304 CALL .RDCRM ; .READ THE CRAM LOCATION SPECIFIED
010304 004737 000000G JSR PC,.RDCRM
5482 010310 012701 000400 MOV #400,R1 ; .MARK BIT TO R1
5483 010314 005716 TST (SP) ; .TEST "MARK" FLAG
5484 010316 001003 BNE 20$ ; .MARK -- GO DO IT
5485 010320 040160 000006 BIC R1,6(R0) ; .UNMARK -- DO IT NOW
5486 010324 000402 BR 30$ ; .AND EXIT IN COMMON CODE
5487 ;
5488 010326 20$:
5489 010326 050160 000006 BIS R1,6(R0) ; .MARK THE MICROCODE
5490 010332 30$:
5491 010332 010001 MOV R0,R1 ; .COPY BUFFER POINTER TO R1
5492 010334 010200 MOV R2,R0 ; .COPY ADDRESS TO R0
MARKC -- KL MARK/UNMARK-MICROCO MACRO M1113 03-APR-86 22:56 PAGE 134-1
.MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19
5493 010336 CALL .WRCRM ; .REWRITE THE CRAM
010336 004737 000000G JSR PC,.WRCRM
5494 010342 122715 000054 CMPB #',,(R5) ; [5.1014]IS THIS A LIST?
5495 010346 001004 BNE 40$ ; [5.1014]NO -- GO ON
5496 010350 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COMMA
5497 010352 005726 TST (SP)+ ; [5.1014]REMOVE AND TEST "MARK" FLAG
5498 010354 001344 BNE .MARKC ; [5.1014]MARK COMMAND
5499 010356 000741 BR .UMRKC ; [5.1014]UNMARK COMMAND
5500 010360 005726 40$: TST (SP)+ ; [5.1014]POP STACK
5501 010362 RETURN ; [5.1014]EXIT
010362 000207 RTS PC
5502 ;
5503
5504 .DSABLE LSB
RESTC -- RESET COMMAND DISPATCH MACRO M1113 03-APR-86 22:56 PAGE 136
.MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19
5507 .TITLE RESTC -- RESET COMMAND DISPATCH 7707.12
5508
5509 .IDENT "005000"
5510 ;
5511 ; COPYRIGHT (C) 1975, 1984, 1985 BY
5512 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
5513 ; ALL RIGHTS RESERVED.
5514 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
5515 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
5516 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
5517 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
5518 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
5519 ;
5520 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
5521 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
5522 ; CORPORATION.
5523 ;
5524 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5525 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
5526 ;
5527 ; MODULE: RESET COMMAND DISPATCH
5528 ;
5529 ; VERSION: 05-00
5530 ;
5531 ; AUTHOR: R. BELANGER
5532 ;
5533 ; DATE: 7707.12
5534 ;
5535 ; THIS MODULE CONTAINS:
5536 ;
5537 ; 1) RESET COMMAND DISPATCH
RESTC -- RESET COMMAND DISPATCH MACRO M1113 03-APR-86 22:56 PAGE 137
.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
5539 .SBTTL .RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
5540
5541 ;+
5542 ; .RESTC -- THE "RESET" COMMAND DISPATCH
5543 ;
5544 ; THIS ROUTINE IS THE TOP LEVEL OF THE RESET COMMAND. ".RESTC" CHECKS
5545 ; ARGUMENTS FOR RESET AND DISPATCHES TO THE PROPER ROUTINE
5546 ;
5547 ; INPUT ARGUMENTS:
5548 ;
5549 ; NONE.
5550 ;
5551 ; OUTPUT ARGUMENTS:
5552 ;
5553 ; R0 POINTS TO THE LEGAL BITS FOR THE RESET OBJECT.
5554 ;
5555 ; ERROR CODES RETURNED:
5556 ;
5557 ; KLR -- ILLEGAL WHILE KL IS RUNNING.
5558 ;-
5559
5560 010364 .RESTC::
5561 010364 111504 MOVB (R5),R4 ; LOOK AT THIS CHARACTER
5562 010366 132764 000010 000000G BITB #CH.EOC,.CHTAB(R4)
5563 010374 001015 BNE 10$ ; DEFAULT RESET ON E-O-C
5564 010376 CALL .CKARG ; GET OVER LEADING BLANKS
010376 004737 000000G JSR PC,.CKARG
5565 010402 012700 000000G MOV #.RESTB,R0 ; TABLE POINTER TO R0
5566 010406 CALL .TSCAN ; SCAN THE TABLE
010406 004737 000000G JSR PC,.TSCAN
5567 010412 012001 MOV (R0)+,R1 ; LEGAL BITS TO R1
5568 010414 005101 COM R1 ; INVERT THEM
5569 010416 040137 000000G BIC R1,.LGLWD ; SET UP NEW LEGAL WORD
5570 010422 CALL .CKEOC ; CHECK FOR E-O-C
010422 004737 000000G JSR PC,.CKEOC
5571 010426 CALLR @(R0)+ ; DO THE RESET
010426 000130 JMP @(R0)+
5572 ;
5573 010430 10$:
5574 010430 CALL .CKRNP ; SEE IF THE KL IS RUNNING
010430 004737 000000G JSR PC,.CKRNP
5575 010434 CALL .STPKL ; STOP THE KL
010434 004737 000000G JSR PC,.STPKL
5576 010440 CALLR .RESTP ; RESET THE KL AND EXIT
010440 000137 000000G JMP .RESTP
5577 ;
RESTC -- RESET COMMAND DISPATCH MACRO M1113 03-APR-86 22:56 PAGE 138
.RSALL -- THE "RESET ALL" COMMAND 7602.18
5579 .SBTTL .RSALL -- THE "RESET ALL" COMMAND 7602.18
5580
5581 010444 .RSALL::
5582 010444 PUSH .KLFLG ; SAVE ".KLFLG"
010444 013746 000000G MOV .KLFLG,-(SP)
5583 010450 032716 100000 BIT #KF.CLK,(SP) ; .IS THE CLOCK ON?
5584 010454 001426 BEQ RSAKCN ; .NO -- GIVE "KCN" ERROR
5585 010456 CALL .STPKL ; .STOP THE KL
010456 004737 000000G JSR PC,.STPKL
5586 010462 CALL .RESTD ; .RESET THE DTE-20
010462 004737 000000G JSR PC,.RESTD
5587 010466 CALL .RSAPR ; .RESET APR
010466 004737 010540' JSR PC,.RSAPR
5588 010472 CALL .RSPAG ; .RESET PAG
010472 004737 010572' JSR PC,.RSPAG
5589 010476 CALL .RSTPI ; .RESET PI
010476 004737 010562' JSR PC,.RSTPI
5590 010502 POP .SVKLF ; .SET UP ".SVKLF"
010502 012637 000000G MOV (SP)+,.SVKLF
5591 010506 CALLR .RSTKL ; RESTART THE KL
010506 000137 000000G JMP .RSTKL
5592 ;
5593 010512 .RSDTE::
5594 010512 CALLR .RESTD ; RESET THE DTE-20
010512 000137 000000G JMP .RESTD
5595 ;
5596 010516 .RSTIN::
5597 010516 CALL .CKRUN ; SEE IF THE KL IS RUNNING
010516 004737 000000G JSR PC,.CKRUN
5598 010522 CALL .STPKL ; STOP THE KL
010522 004737 000000G JSR PC,.STPKL
5599 010526 CALLR .RESTI ; RESET TO DEFAULTS AND EXIT
010526 000137 000000G JMP .RESTI
5600 ;
5601 010532 RSAKCN:
5602 010532 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
010532 012746 042506 MOV #^RKCN,-(SP)
010536 104400 TRAP TC.ERR
5603 ;
RESTC -- RESET COMMAND DISPATCH MACRO M1113 03-APR-86 22:56 PAGE 139
.RSTPI -- THE "RESET PI" COMMAND 7607.21
5605 .SBTTL .RSTPI -- THE "RESET PI" COMMAND 7607.21
5606
5607 .ENABL LSB
5608
5609 010540 .RSAPR:: ; RESET APR
5610 010540 012700 000660' MOV #RSAPRI,R0 ; INSTRUCTION POINTER TO R0
5611 010544 000410 BR 10$ ; DO COMMON CODE
5612 ;
5613 010546 .RSERR:: ; RESET ERROR
5614 010546 012700 000666' MOV #RSERRI,R0 ; INSTRUCTION POINTER TO R0
5615 010552 000405 BR 10$ ; DO COMMON CODE
5616 ;
5617 010554 .RSTIO:: ; RESET IO
5618 010554 012700 000674' MOV #RSTIOI,R0 ; INSTRUCTION POINTER TO R0
5619 010560 000402 BR 10$ ; DO COMMON CODE
5620 ;
5621 010562 .RSTPI:: ; RESET PI
5622 010562 012700 000702' MOV #RSTPII,R0 ; INSTRUCTION POINTER TO R0
5623 010566 10$:
5624 010566 CALLR .EXCTF ; EXECUTE IT
010566 000137 000000G JMP .EXCTF
5625 ;
5626
5627 .DSABL LSB
5628
5629 000660 .PSECT DATA
5630
5631 000660 RSAPRI:
5632 000660 IOKL$ CONO APR,,267760
000660 360 157 .BYTE $$A,$$B
000662 001 002 .BYTE $$C,$$D
000664 016 000 .BYTE $$E,$$F
5633 000666 RSERRI:
5634 000666 IOKL$ CONO APR,,27760
000666 360 057 .BYTE $$A,$$B
000670 000 002 .BYTE $$C,$$D
000672 016 000 .BYTE $$E,$$F
5635 000674 RSTIOI:
5636 000674 IOKL$ CONO APR,,200000
000674 000 000 .BYTE $$A,$$B
000676 001 002 .BYTE $$C,$$D
000700 016 000 .BYTE $$E,$$F
5637 000702 RSTPII:
5638 000702 IOKL$ CONO PI,,10000
000702 000 020 .BYTE $$A,$$B
000704 000 006 .BYTE $$C,$$D
000706 016 000 .BYTE $$E,$$F
5639
5640 010572 .PSECT
RESTC -- RESET COMMAND DISPATCH MACRO M1113 03-APR-86 22:56 PAGE 140
.RSPAG -- THE "RESET PAG" COMMAND 7607.21
5642 .SBTTL .RSPAG -- THE "RESET PAG" COMMAND 7607.21
5643
5644 010572 .RSPAG::
5645 010572 PUSH .KLFLG ; SAVE ".KLFLG"
010572 013746 000000G MOV .KLFLG,-(SP)
5646 010576 032716 100000 BIT #KF.CLK,(SP) ; .IS THE CLOCK ON?
5647 010602 001442 BEQ RSPKCN ; .NO -- GIVE "KCN" ERROR
5648 010604 CALL .STPKL ; .STOP THE KL
010604 004737 000000G JSR PC,.STPKL
5649 010610 PUSH R1 ; .SAVE R1
010610 010146 MOV R1,-(SP)
5650 010612 PUSH #16 ; ..BUILD A CLEAR WORD ON THE STACK
010612 012746 000016 MOV #16,-(SP)
5651 010616 005046 CLR -(SP) ; ...
5652 010620 005046 CLR -(SP) ; ....
5653 010622 010601 MOV SP,R1 ; .....GET THE POINTER
5654 010624 005046 CLR -(SP) ; .....NOW SET UP
5655 010626 PUSH #100 ; ......SCRATCH ADDRESS
010626 012746 000100 MOV #100,-(SP)
5656 010632 010600 MOV SP,R0 ; .......GET THE POINTER
5657 010634 PUSH R1 ; .......DATA POINTER TO STACK
010634 010146 MOV R1,-(SP)
5658 010636 PUSH R0 ; ........ADDRESS POINTER TO STACK
010636 010046 MOV R0,-(SP)
5659 010640 010601 MOV SP,R1 ; .........BLOCK POINTER TO R1
5660 010642 012700 000040 MOV #ED.EXV,R0 ; .........EXEC VIRTUAL SPACE
5661 010646 CALL .DPKLM ; .........DO THE DEPOSIT
010646 004737 000000G JSR PC,.DPKLM
5662 010652 062706 000016 ADD #^D14,SP ; .........RESET THE STACK
5663 010656 012700 000710' MOV #RSPGI0,R0 ; ..INSTRUCTION POINTER TO R0
5664 010662 CALL .EXCTF ; ..EXECUTE IT
010662 004737 000000G JSR PC,.EXCTF
5665 010666 012700 000716' MOV #RSPGI1,R0 ; ..NEXT INSTRUCTION
5666 010672 CALL .EXCTF ; ..EXECUTE IT
010672 004737 000000G JSR PC,.EXCTF
5667 010676 POP R1 ; ..RESTORE R1
010676 012601 MOV (SP)+,R1
5668 010700 POP .SVKLF ; .SET UP ".SVKLF"
010700 012637 000000G MOV (SP)+,.SVKLF
5669 010704 CALLR .RSTKL ; RESART THE KL AND EXIT
010704 000137 000000G JMP .RSTKL
5670 ;
RESTC -- RESET COMMAND DISPATCH MACRO M1113 03-APR-86 22:56 PAGE 141
.RSPAG -- THE "RESET PAG" COMMAND 7607.21
5672 010710 RSPKCN:
5673 010710 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
010710 012746 042506 MOV #^RKCN,-(SP)
010714 104400 TRAP TC.ERR
5674 ;
5675
5676 000710 .PSECT DATA
5677
5678 000710 RSPGI0:
5679 000710 IOKL$ CONO PAG,,0
000710 000 000 .BYTE $$A,$$B
000712 000 012 .BYTE $$C,$$D
000714 016 000 .BYTE $$E,$$F
5680 000716 RSPGI1:
5681 000716 IOKL$ DATAO PAG,,100
000716 100 000 .BYTE $$A,$$B
000720 200 011 .BYTE $$C,$$D
000722 016 000 .BYTE $$E,$$F
5682
5683 010716 .PSECT
RESTC -- RESET COMMAND DISPATCH MACRO M1113 03-APR-86 22:56 PAGE 142
.RSPAG -- THE "RESET PAG" COMMAND 7607.21
5685
5686
5687 .TITLE RUNCM -- RUN/TAKE COMMAND MODULE 7607.14
5688
5689 .IDENT "006110"
5690
5691 ;
5692 ; COPYRIGHT (C) 1975, 1984, 1985 BY
5693 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
5694 ; ALL RIGHTS RESERVED.
5695 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
5696 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
5697 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
5698 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
5699 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
5700 ;
5701 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
5702 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
5703 ; CORPORATION.
5704 ;
5705 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5706 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
5707 ;
5708 ; MODULE: RUN COMMAND
5709 ;
5710 ; VERSION: 06-11
5711 ;
5712 ; AUTHOR: R. BELANGER
5713 ;
5714 ; DATE: 7607.14
5715 ;
5716 ; THIS MODULE CONTAINS:
5717 ;
5718 ; 1) RUN COMMAND CODE
5719 ; 2) REQUEST DIRECTIVE PARAMETER BLOCK
5720 ;
5721 ; MODIFICATIONS:
5722 ;
5723 ; NO. DATE PROGRAMMER REASON
5724 ; --- ---- ---------- ------
5725 ; [5.1000] 24-AUG-79 K. LEFEBVRE ADD "TAKE" COMMAND
5726
5727 .MCALL DIR$, RQST$
RUNCM -- RUN/TAKE COMMAND MODUL MACRO M1113 03-APR-86 22:56 PAGE 143
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
5729 .SBTTL .RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
5730
5731 ;+
5732 ; .RUNCM -- THE "RUN" AND "MCR" COMMANDS
5733 ;
5734 ; THIS ROUTINE REQUESTS THE TASK SPECIFIED IN THE COMMAND TO BE RUN
5735 ; AND EXITS THE COMMAND PARSER
5736 ;
5737 ; INPUT ARGUMENTS:
5738 ;
5739 ; NONE.
5740 ;
5741 ; OUTPUT ARGUMENTS:
5742 ;
5743 ; NONE.
5744 ;
5745 ; ERROR CODES RETURNED:
5746 ;
5747 ; ITN -- ILLEGAL TASK NAME
5748 ; NST -- NO SUCH TASK
5749 ; TAA -- TASK IS ALREADY ACTIVE
5750 ;-
5751
5752 010716 .RUNCM::
5753 010716 CALL .CKSYM ; GET OVER LEADING BLANKS
010716 004737 000000G JSR PC,.CKSYM
5754 010722 CALL .GTR50 ; GET THE .RAD50 TASK NAME
010722 004737 011174' JSR PC,.GTR50
5755 010726 001425 BEQ RUNITN ; BAD NEWS IF NONE THERE
5756 010730 PUSH R0 ; SAVE THE TASK NAME
010730 010046 MOV R0,-(SP)
5757 010732 CALL .GTR50 ; .READ THE SECOND HALF
010732 004737 011174' JSR PC,.GTR50
5758 010736 CALL .CKEOC ; .MUST HAVE E-O-C
010736 004737 000000G JSR PC,.CKEOC
5759 010742 POP .RNDPB+4 ; .SET THE TASK NAME IN THE DPB
010742 012637 000052' MOV (SP)+,.RNDPB+4
5760 010746 DIR$ #.RNDPB ; REQUEST THE TASK
010746 012746 000046' MOV #.RNDPB,-(SP)
010752 104375 EMT 375
5761 010754 103402 BCS 10$ ; ERROR IF CC-C IS SET
5762 010756 CALLR .EXITP ; EXIT
010756 000137 000000G JMP .EXITP
5763 ;
5764
5765 ; [CONTINUED ON THE FOLLOWING PAGE]
RUNCM -- RUN/TAKE COMMAND MODUL MACRO M1113 03-APR-86 22:56 PAGE 144
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
5767 ; [CONTINUED FROM THE PREVIOUS PAGE]
5768
5769 010762 10$:
5770 010762 013700 000000G MOV $DSW,R0 ; LOOK AT THE DIRECTIVE STATUS
5771 010766 022700 000000G CMP #IE.INS,R0 ; IS THERE SUCH A TASK?
5772 010772 001406 BEQ RUNNST ; NO -- GIVE "NST" ERROR
5773 010774 022700 000000G CMP #IE.ACT,R0 ; YES -- IS IT ALREADY ACTIVE?
5774 011000 001406 BEQ RUNTAA ; YES -- GIVE "TAA" ERROR
5775 011002 RUNITN:
5776 011002 ERROR$ ITN ; ERROR -- ILLEGAL TASK NAME
011002 012746 035556 MOV #^RITN,-(SP)
011006 104400 TRAP TC.ERR
5777 ;
5778 011010 RUNNST:
5779 011010 ERROR$ NST ; ERROR -- NO SUCH TASK
011010 012746 055214 MOV #^RNST,-(SP)
011014 104400 TRAP TC.ERR
5780 ;
5781 011016 RUNTAA:
5782 011016 ERROR$ TAA ; ERROR -- TASK ALREADY ACTIVE
011016 012746 076451 MOV #^RTAA,-(SP)
011022 104400 TRAP TC.ERR
5783 ;
RUNCM -- RUN/TAKE COMMAND MODUL MACRO M1113 03-APR-86 22:56 PAGE 145
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
5785 ; DPB FOR REQUEST DIRECTIVE
5786
5787 ; !===============================================!
5788 ; 00 ! DPB SIZE ! DIC !
5789 ; !-----------------------------------------------!
5790 ; 02 ! TASK NAME IN .RAD50 (HIGH) !
5791 ; !-----------------------------------------------!
5792 ; 04 ! TASK NAME IN .RAD50 (LOW) !
5793 ; !-----------------------------------------------!
5794 ; 06 ! PARTITION NAME (IGNORED) !
5795 ; !-----------------------------------------------!
5796 ; 10 ! PARTITION NAME (IGNORED) !
5797 ; !-----------------------------------------------!
5798 ; 12 ! TASK PRIORITY !
5799 ; !-----------------------------------------------!
5800 ; 14 ! UIC (IGNORED) !
5801 ; !===============================================!
5802
5803 000046 .PSECT DPBS
5804
5805 000046 .RNDPB::
5806 000046 RQST$ ...TSK,,,,
000046 013 007 .BYTE 11.,7
000050 131574 100003 .RAD50 /...TSK/
000054 000000 000000 .WORD 0,0
000060 000000 .WORD
000062 000 000 .BYTE ,
5807
5808 011024 .PSECT
RUNCM -- RUN/TAKE COMMAND MODUL MACRO M1113 03-APR-86 22:56 PAGE 146
.TAKEC -- THE "TAKE" COMMAND
5810 .SBTTL .TAKEC -- THE "TAKE" COMMAND
5811
5812 ;+
5813 ; .TAKEC -- THE "TAKE" COMMAND
5814 ;
5815 ; THIS ROUTINE REQUESTS AN INDIRECT COMMAND FILE, OPENS IT WITH
5816 ; READ ACCESS, AND INDICATES THAT FURTHER COMMAND INPUT SHOULD
5817 ; COME FROM THIS FILE.
5818 ; THIS COMMAND WAS ADDED FOR TCO 5.1000
5819 ;
5820 ; INPUT ARGUMENTS:
5821 ;
5822 ; NONE
5823 ;
5824 ; OUTPUT ARGUMENTS:
5825 ;
5826 ; NONE
5827 ;
5828 ; ERROR CODES RETURNED:
5829 ;
5830 ; CAL -- CAN'T ASSIGN LUN
5831 ; DNF -- DIRECTORY FILE NOT FOUND
5832 ; FLF -- FILE LOOKUP FAILURE
5833 ; FOF -- FILE OPEN FAILURE
5834 ; FRD -- FILE READ FAILURE
5835 ; IFN -- ILLEGAL FILE NAME
5836 ; IRE -- ILLEGAL RECURSION
5837 ; NSF -- NO SUCH FILE
5838 ;-
5839
5840 011024 .TAKEC::
5841 011024 012737 062072 000000G MOV #^RPAR,.INFN ; DEFAULT COMMAND FILE NAME
5842 011032 012737 073632 000002G MOV #^RSER,.INFN+2 ; PARSER.CMD
5843 011040 CALL .CKSYM ; GET OVER LEADING BLANKS
011040 004737 000000G JSR PC,.CKSYM
5844 011044 CALL .GTR50 ; GET THE RAD50 FILE NAME
011044 004737 011174' JSR PC,.GTR50
5845 011050 001406 BEQ 10$ ; DEFAULT NAME IF NONE GIVEN
5846 011052 010037 000000G MOV R0,.INFN ; SAVE 1ST HALF FILE NAME
5847 011056 CALL .GTR50 ; GET 2ND HALF FILE NAME
011056 004737 011174' JSR PC,.GTR50
5848 011062 010037 000002G MOV R0,.INFN+2 ; SAVE 2ND HALF FILE NAME
5849 011066 10$: CALL .CKEOC ; MUST HAVE E-O-C
011066 004737 000000G JSR PC,.CKEOC
5850 011072 005737 000000G TST .INDFG ; ALREADY DOING INDIRECT FILE?
5851 011076 001030 BNE TAKIRE ; YES -- ERROR
5852 011100 .TAKE1:: ; [5.1006]ALTERNATE ENTRY POINT FOR KLE
5853 011100 012700 000000G MOV #.INFN,R0 ; NO -- INPUT FILE NAME PTR
5854 011104 012701 000000G MOV #.INFNB,R1 ; INPUT FILE NAME BLOCK PTR
5855 011110 012702 000005 MOV #INDLUN,R2 ; INPUT FILE LUN
5856 011114 CALL .LOKUP ; LOOK UP INPUT FILE
011114 004737 000000G JSR PC,.LOKUP
5857 011120 103422 BCS TAKNSF ; NO SUCH FILE IF CC-C IS SET
5858 011122 012704 000000G MOV #IO.ACR,R4 ; READ ACCESS
5859 011126 CALL .OPEN ; OPEN FILE FOR READ
011126 004737 000000G JSR PC,.OPEN
5860 011132 005037 000000G CLR .INBBC ; NOTHING READ IN YET
RUNCM -- RUN/TAKE COMMAND MODUL MACRO M1113 03-APR-86 22:56 PAGE 146-1
.TAKEC -- THE "TAKE" COMMAND
5861 011136 005037 000000G CLR .INPOS ; NO BUFFER YET
5862 011142 005037 000000G CLR .INVBN ; READ FIRST BLOCK
5863 011146 005037 000002G CLR .INVBN+2 ; READ FIRST BLOCK
5864 011152 005237 000000G INC .INDFG ; REDIRECT INPUT TO FILE
5865 011156 RETURN ; RETURN
011156 000207 RTS PC
5866 ;
5867 011160 TAKIRE:
5868 011160 ERROR$ IRE ; ERROR -- ILLEGAL RECURSION
011160 012746 035425 MOV #^RIRE,-(SP)
011164 104400 TRAP TC.ERR
5869 011166 TAKNSF:
5870 011166 20$: ERROR$ NSF ; ERROR -- NO SUCH FILE
011166 012746 055176 MOV #^RNSF,-(SP)
011172 104400 TRAP TC.ERR
5871 ;
RUNCM -- RUN/TAKE COMMAND MODUL MACRO M1113 03-APR-86 22:56 PAGE 147
.GTR50 -- GET A .RAD50 WORD 7602.18
5873 .SBTTL .GTR50 -- GET A .RAD50 WORD 7602.18
5874
5875 ;+
5876 ; .GTR50 -- GET A .RAD50 WORD
5877 ;
5878 ; THIS ROUTINE WILL CONVERT THE NEXT THREE ASCII CHARACTERS IN THE
5879 ; INPUT STREAM TO .RAD50 FORMAT.
5880 ;
5881 ; INPUT ARGUMENTS:
5882 ;
5883 ; R5 POINTS TO THE INPUT STREAM.
5884 ;
5885 ; OUTPUT ARGUMENTS:
5886 ;
5887 ; R0 HOLDS THE .RAD50 SYMBOL.
5888 ;
5889 ; ERROR CODES RETURNED:
5890 ;
5891 ; NONE.
5892 ; IF THE ROUTINE CANNOT CONVERT THE FIRST CHARACTER, CC-Z IS SET.
5893 ;-
RUNCM -- RUN/TAKE COMMAND MODUL MACRO M1113 03-APR-86 22:56 PAGE 148
.GTR50 -- GET A .RAD50 WORD 7602.18
5895 011174 .GTR50::
5896 011174 PUSH <R1,R2> ; SAVE REGISTERS
011174 010146 MOV R1,-(SP)
011176 010246 MOV R2,-(SP)
5897 011200 005046 CLR -(SP) ; ..SAVE A BUFFER
5898 011202 012702 000000G MOV #.T50TB,R2 ; ...FACTOR TABLE POINTER TO R2
5899 011206 10$:
5900 011206 012201 MOV (R2)+,R1 ; ...GET CURRENT MULTIPLIER
5901 011210 001427 BEQ 50$ ; ...DONE IF .EQ. 0
5902 011212 112500 MOVB (R5)+,R0 ; ...GET THE CHARACTER INTO R0
5903 011214 120027 000101 CMPB R0,#'A ; ...IS IT ALPHABETIC?
5904 011220 103403 BLO 20$ ; ...NO -- TRY NUMERIC
5905 011222 120027 000132 CMPB R0,#'Z ; ...IS IT REALLY ALPHABETIC?
5906 011226 101410 BLOS 30$ ; ...YES -- ADD IT TO RESULT
5907 011230 20$:
5908 011230 120027 000060 CMPB R0,#'0 ; ...NO -- IS IT NUMERIC?
5909 011234 103413 BLO 40$ ; ...NO -- EXIT
5910 011236 120027 000071 CMPB R0,#'9 ; ...YES -- IS IT REALLY NUMERIC?
5911 011242 101010 BHI 40$ ; ...NO -- EXIT
5912 011244 162700 177722 SUB #<<'0-36>-<'A-1>>,R0
5913 011250 30$:
5914 011250 162700 000100 SUB #<'A-1>,R0 ; ...CONVERT ALPHABETIC
5915 011254 CALL $MUL ; ...COMPUTE CHARACTER VALUE
011254 004737 000000G JSR PC,$MUL
5916 011260 060116 ADD R1,(SP) ; ...ACCUMULATE RESULT
5917 011262 000751 BR 10$ ; ...AND GET NEXT CHARACTER
5918 ;
5919 011264 40$:
5920 011264 105745 TSTB -(R5) ; ...BACK UP THE BYTE POINTER
5921 011266 010004 MOV R0,R4 ; ...PUT THE CHARACTER IN R4
5922 011270 50$:
5923 011270 POP R0 ; ...RETURN THE RESULT
011270 012600 MOV (SP)+,R0
5924 011272 POP <R2,R1> ; ..RESTORE REGISTERS
011272 012602 MOV (SP)+,R2
011274 012601 MOV (SP)+,R1
5925 011276 005700 TST R0 ; LOOK AT R0
5926 011300 RETURN ; TO CALLER
011300 000207 RTS PC
RUNCM -- RUN/TAKE COMMAND MODUL MACRO M1113 03-APR-86 22:56 PAGE 149
.QUITC -- THE "QUIT" COMMAND 7602.16
5928 .SBTTL .QUITC -- THE "QUIT" COMMAND 7602.16
5929
5930 ;+
5931 ; .QUITC -- THE "QUIT" COMMAND.
5932 ;
5933 ; THIS ROUTINE EXECUTES THE "QUIT" (EXIT) FUNCTION.
5934 ;
5935 ; INPUT ARGUMENTS:
5936 ;
5937 ; NONE.
5938 ;
5939 ; OUTPUT ARGUMENTS:
5940 ;
5941 ; NONE.
5942 ;
5943 ; ERROR CODES RETURNED:
5944 ;
5945 ; NONE.
5946 ;-
5947
5948 011302 .QUITC::
5949 011302 CALL .CKEOC ; MUST HAVE E-O-C
011302 004737 000000G JSR PC,.CKEOC
5950 011306 CALLR .EXITP ; EXIT THE PARSER
011306 000137 000000G JMP .EXITP
5951 ;
RUNCM -- RUN/TAKE COMMAND MODUL MACRO M1113 03-APR-86 22:56 PAGE 151
.QUITC -- THE "QUIT" COMMAND 7602.16
5954
5955 .TITLE SAVEC -- SAVE/RESTORE COMMAND DISPATCH 8306.09
5956
5957 .IDENT "007030"
5958 ;
5959 ; COPYRIGHT (C) 1983, 1984, 1985 BY
5960 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
5961 ; ALL RIGHTS RESERVED.
5962 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
5963 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
5964 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
5965 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
5966 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
5967 ;
5968 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
5969 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
5970 ; CORPORATION.
5971 ;
5972 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5973 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
5974 ;
5975 ; MODULE: SAVEC COMMAND DISPATCH
5976 ;
5977 ; VERSION: 07-03
5978 ;
5979 ; AUTHOR: D. WEAVER
5980 ;
5981 ; DATE: 8306.09
5982 ;
5983 ; THIS MODULE CONTAINS:
5984 ;
5985 ; 1) RESTORE COMMAND DISPATCH
5986 ; 2) SAVE COMMAND DISPATCH
SAVEC -- SAVE/RESTORE COMMAND D MACRO M1113 03-APR-86 22:56 PAGE 152
.RSTRC -- THE "RESTORE" COMMAND DISPATCH 8306.09
5988 .SBTTL .RSTRC -- THE "RESTORE" COMMAND DISPATCH 8306.09
5989
5990 ;+
5991 ; .RSTRC -- THE "SAVE" COMMAND DISPATCH
5992 ;
5993 ; THIS ROUTINE IS THE TOP LEVEL OF THE RESTORE COMMAND. ".RSTRC" CHECKS
5994 ; ARGUMENTS FOR RESTORE AND DISPATCHES TO THE PROPER ROUTINE
5995 ;
5996 ; INPUT ARGUMENTS:
5997 ;
5998 ; NONE.
5999 ;
6000 ; OUTPUT ARGUMENTS:
6001 ;
6002 ; NONE.
6003 ;
6004 ; ERROR CODES RETURNED:
6005 ;
6006 ; ILC -- ILLEGAL COMMAND.
6007 ;-
6008
6009 011312 .RSTRC::
6010 011312 012700 000000G MOV #.RSTTB,R0 ; TABLE POINTER TO R0
6011 011316 CALL .CKOBJ ; GET OVER LEADING BLANKS
011316 004737 000000G JSR PC,.CKOBJ
6012 011322 CALL .TSCAN ; SCAN THE TABLE
011322 004737 000000G JSR PC,.TSCAN
6013 011326 CALL .CKEOC ; MUST HAVE E-O-C
011326 004737 000000G JSR PC,.CKEOC
6014 011332 CALLR @2(R0) ; DO THE COMMAND
011332 000170 000002 JMP @2(R0)
6015 ;
SAVEC -- SAVE/RESTORE COMMAND D MACRO M1113 03-APR-86 22:56 PAGE 153
.RSACB-- THE "RESTORE AC-BLOCK" COMMAND 8306.09
6017 .SBTTL .RSACB-- THE "RESTORE AC-BLOCK" COMMAND 8306.09
6018 ;+
6019 ; .RSACB SUBROUTINE TO RESTORE THE FM ADDRESS REGISTER (AC BLOCK)
6020 ;
6021 ; THIS ROUTINE WILL:
6022 ;
6023 ; 1. INSERT INSTR OBJECT INTO KL LOC 100
6024 ; 2. EXECUTE DATAO PAG,,100 TO SET AC BLOCK
6025 ;
6026 ; INPUT ARGUMENTS:
6027 ;
6028 ; .ACBLK CONTAINING THE FM ADDRESS REGISTER
6029 ;
6030 ; OUTPUT ARGUMENTS:
6031 ;
6032 ; NONE.
6033 ;
6034 ; ERROR CODES RETURNED:
6035 ;
6036 ; CCC -- CAN'T CLEAR KL10 CLOCK
6037 ; CCR -- CAN'T CLEAR KL10 RUN FLOP
6038 ; CCS -- KL10 CLOCK CAN'T START
6039 ; CES -- CLOCK ERROR STOP
6040 ; CFH -- CAN'T FIND KL10 HALT LOOP
6041 ; CSC -- CAN'T SYNC KL10 CLOCK
6042 ; DMF -- DEPOSIT KL10 MEMORY FAILED
6043 ; DSF -- DTE20 STATUS FAILURE
6044 ; ECT -- EBOX CLOCK TIME OUT
6045 ; ESD -- EBOX STOPPED - DEPOSIT
6046 ; FRF -- FUNCTION READ FAILED
6047 ; FWF -- FUNCTION WRITE FAILED
6048 ; FXF -- FUNCTION EXECUTE FAILED
6049 ; MAE -- MODE ARGUMENT ERROR
6050 ; XTO -- EXECUTE TIMED OUT
6051 ;-
6052
6053 011336 .RSACB::
6054 011336 113702 000001G MOVB .ACBLK+1,R2 ; BUFFER FOR DATA
6055 011342 006302 ASL R2 ; POSITION AC BLOCK NO.
6056 011344 006302 ASL R2 ; POSITION AC BLOCK NO.
6057 011346 006302 ASL R2 ; POSITION AC BLOCK NO.
6058 011350 110237 000737' MOVB R2,RACDAT+3 ; PUT BLOCK NO. INTO INSTR
6059 011354 012701 000724' MOV #RACBLK,R1 ; SET UP DEPOSIT DATA BLOCK
6060 011360 012700 000200 MOV #ED.PHY,R0 ; PUT IN PHYSICAL SPACE
6061 011364 CALL .DPKLM ; DEPOSIT INSTR OBJECT IN MEMORY
011364 004737 000000G JSR PC,.DPKLM
6062 011370 103404 BCS 10$ ; ERROR
6063 011372 012700 000742' MOV #SETACB,R0 ; INSTR PTR
6064 011376 CALL .EXCTF ; EXECUTE INSTR
011376 004737 000000G JSR PC,.EXCTF
6065 011402 10$: RETURN ; EXIT
011402 000207 RTS PC
6066
6067 000724 .PSECT DATA
6068
6069 000724 000730' RACBLK: .WORD RACADR ; OBJECT ADDR PTR
6070 000726 000734' .WORD RACDAT ; DEPOSIT DATA PTR
SAVEC -- SAVE/RESTORE COMMAND D MACRO M1113 03-APR-86 22:56 PAGE 153-1
.RSACB-- THE "RESTORE AC-BLOCK" COMMAND 8306.09
6071 000730 000100 RACADR: .WORD 100 ; ADDR BITS 20-35
6072 000732 000000 .WORD 0 ; ADDR BITS 14-19
6073 000734 000000 RACDAT: .WORD 0 ; DATA BITS 20-35
6074 000736 000000 .WORD 0 ; DATA BITS 4-19
6075 000740 000010 .WORD 10 ; DATA BITS 0-3
6076
6077 000742 SETACB: IOKL$ DATAO PAG,,100 ; SET AC BLOCK INSTR
000742 100 000 .BYTE $$A,$$B
000744 200 011 .BYTE $$C,$$D
000746 016 000 .BYTE $$E,$$F
6078
6079 011404 .PSECT
SAVEC -- SAVE/RESTORE COMMAND D MACRO M1113 03-APR-86 22:56 PAGE 154
.SAVEC -- THE "SAVE" COMMAND DISPATCH 8306.09
6081 .SBTTL .SAVEC -- THE "SAVE" COMMAND DISPATCH 8306.09
6082
6083 ;+
6084 ; .SAVEC -- THE "SAVE" COMMAND DISPATCH
6085 ;
6086 ; THIS ROUTINE IS THE TOP LEVEL OF THE SAVE COMMAND. ".SAVEC" CHECKS
6087 ; ARGUMENTS FOR SAVE AND DISPATCHES TO THE PROPER ROUTINE
6088 ;
6089 ; INPUT ARGUMENTS:
6090 ;
6091 ; NONE.
6092 ;
6093 ; OUTPUT ARGUMENTS:
6094 ;
6095 ; NONE.
6096 ;
6097 ; ERROR CODES RETURNED:
6098 ;
6099 ; ILC -- ILLEGAL COMMAND.
6100 ;-
6101
6102 011404 .SAVEC::
6103 011404 012700 000000G MOV #.SAVTB,R0 ; TABLE POINTER TO R0
6104 011410 CALL .CKOBJ ; GET OVER LEADING BLANKS
011410 004737 000000G JSR PC,.CKOBJ
6105 011414 CALL .TSCAN ; SCAN THE TABLE
011414 004737 000000G JSR PC,.TSCAN
6106 011420 CALL .CKEOC ; MUST HAVE E-O-C
011420 004737 000000G JSR PC,.CKEOC
6107 011424 CALLR @2(R0) ; DO THE COMMAND
011424 000170 000002 JMP @2(R0)
6108 ;
SAVEC -- SAVE/RESTORE COMMAND D MACRO M1113 03-APR-86 22:56 PAGE 155
.SVACB-- THE "SAVE AC-BLOCK" COMMAND 8306.09
6110 .SBTTL .SVACB-- THE "SAVE AC-BLOCK" COMMAND 8306.09
6111 ;+
6112 ; .SVACB SUBROUTINE TO SAVE THE FM ADDRESS REGISTER (AC BLOCK)
6113 ;
6114 ; INPUT ARGUMENTS:
6115 ;
6116 ; NONE.
6117 ;
6118 ; OUTPUT ARGUMENTS:
6119 ;
6120 ; .ACBLK WILL CONTAIN THE FM ADDRESS REGISTER
6121 ;
6122 ; ERROR CODES RETURNED:
6123 ;
6124 ; FRF -- FUNCTION READ FAILED.
6125 ;-
6126
6127 011430 .SVACB::
6128 011430 005001 CLR R1
6129 011432 012700 000222 MOV #FR.111,R0
6130 011436 CALL .FREAD
011436 004737 000000G JSR PC,.FREAD
6131 011442 012701 000033 MOV #^D27,R1
6132 011446 CALL .TPSHI
011446 004737 000000G JSR PC,.TPSHI
6133 011452 042710 177770 BIC #177770,(R0)
6134 011456 012701 000000G MOV #.ACBLK,R1 ; BUFFER FOR DATA
6135 011462 011011 MOV (R0),(R1)
6136 011464 RETURN
011464 000207 RTS PC
6137 ; CALLR .RDFMA ; RESTORE AC BLOCK AND RETURN
SAVEC -- SAVE/RESTORE COMMAND D MACRO M1113 03-APR-86 22:56 PAGE 156
.SVPC -- THE "SAVE PC" COMMAND 8306.09
6139 .SBTTL .SVPC -- THE "SAVE PC" COMMAND 8306.09
6140 ;+
6141 ; .SVPC SUBROUTINE TO SAVE THE KL PC REGISTER
6142 ;
6143 ; INPUT ARGUMENTS:
6144 ;
6145 ; NONE.
6146 ;
6147 ; OUTPUT ARGUMENTS:
6148 ;
6149 ; .ERRPC WILL CONTAIN THE 23 BIT PC FROM THE KL
6150 ; .ERRCD WILL CONTAIN <FLAGS,,ERRCOD> FROM THE KL'S PERSPECTIVE
6151 ; NOTE THAT ERRCOD IS SUPPLIED BY TKTN
6152 ;
6153 ; ERROR CODES RETURNED:
6154 ;
6155 ; FRF -- FUNCTION READ FAILED.
6156 ;-
6157
6158 011466 .SVPC::
6159 011466 CALL .SAVFL ; GET THE FLAGS IN R0
011466 004737 011542' JSR PC,.SAVFL
6160 011472 PUSH .ERRCD ; SAVE THE ERROR CODE
011472 013746 000000G MOV .ERRCD,-(SP)
6161 011476 005037 000000G CLR .ERRCD ; AND CLEAR IT (TEMPORARILY)
6162 011502 010037 000002G MOV R0,.ERRCD+2 ; MOVE THEM INTO DEX WORD FOR FLAGS
6163 011506 005037 000004G CLR .ERRCD+4 ; AND CLEAR ANY LEFT OVER
6164 011512 012700 000000G MOV #.ERRCD,R0 ; ADDRESS OF DATA
6165 011516 012701 000007 MOV #^D7,R1 ; SHIFT COUNT
6166 011522 CALL .TPSHI ; SHIFT BITS INTO POSITION
011522 004737 000000G JSR PC,.TPSHI
6167 011526 POP .ERRCD ; RESTORE ERROR CODE
011526 012637 000000G MOV (SP)+,.ERRCD
6168 011532 012701 000000G MOV #.ERRPC,R1 ; WHERE TO STORE THE PC
6169 011536 CALLR .SAVPC ; GET THE PC
011536 000137 011666' JMP .SAVPC
SAVEC -- SAVE/RESTORE COMMAND D MACRO M1113 03-APR-86 22:56 PAGE 157
.SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS
6171 .SBTTL .SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS
6172
6173 ;+
6174 ; .SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS.
6175 ;
6176 ; THIS SUBROUTINE READS AND RETURNS THE STATE OF THE KL PC FLAGS IN R0.
6177 ;
6178 ; INPUT ARGUMENTS:
6179 ;
6180 ; NONE.
6181 ;
6182 ; OUTPUT ARGUMENTS:
6183 ;
6184 ; R0 CONTAINS THE KL PC FLAGS
6185 ;
6186 ; THE FOLLOWING IS A LIST OF THE KL FLAGS RETURNED IN R0:
6187 ;
6188 ; BIT # KL PC FLAG BIT AND MEANING KL BIT
6189 ; ----- ---------------------------- --------
6190 ;
6191 ; 12 PC.OVF -- OVERFLOW FLAG -- 00
6192 ; 11 PC.CY0 -- CARRY 0 FLAG -- 01
6193 ; 10 PC.CY1 -- CARRY 1 FLAG -- 02
6194 ; 09 PC.FOV -- FLOATING OVERFLOW -- 03
6195 ; 08 PC.BIS -- BYTE INCR SUPPRESSION -- 04
6196 ; 07 PC.USR -- USER MODE -- 05
6197 ; 06 PC.UIO -- USER IOT MODE -- 06
6198 ; 05 PC.LIP -- LAST INS PUBLIC -- 07
6199 ; 04 PC.AFI -- ADDR FAILURE INHIBIT -- 08
6200 ; 03 PC.AT1 -- APR TRAP 1 FLAG -- 09
6201 ; 02 PC.AT0 -- APR TRAP 0 FLAG -- 10
6202 ; 01 PC.FUF -- FLOATING UNDERFLOW -- 11
6203 ; 00 PC.NDV -- NO DIVIDE FLAG -- 12
6204 ;
6205 ; ERROR CODES RETURNED:
6206 ;
6207 ; FRF -- FUNCTION READ FAILED.
6208 ;-
SAVEC -- SAVE/RESTORE COMMAND D MACRO M1113 03-APR-86 22:56 PAGE 158
.SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS
6210 011542 .SAVFL:
6211 011542 PUSH <R1,R2> ; SAVE R1 AND R2 ON THE STACK
011542 010146 MOV R1,-(SP)
011544 010246 MOV R2,-(SP)
6212 011546 005001 CLR R1 ; ..CLEAR R1
6213 011550 005002 CLR R2 ; ..AND R2
6214 011552 012700 000202 MOV #FR.101,R0 ; ..FR CODE FOR LOW FLAGS
6215 011556 CALL .FREAD ; ..READ THEM
011556 004737 000000G JSR PC,.FREAD
6216 011562 012701 177764 MOV #-^D12,R1 ; ..SHIFT COUNT TO R1
6217 011566 CALL .TPSHI ; ..SHIFT OUR WORD
011566 004737 000000G JSR PC,.TPSHI
6218 011572 042710 177700 BIC #177700,(R0) ; ..MASK OUT FLAG BITS
6219 011576 051002 BIS (R0),R2 ; ..PUT THE LOW FLAGS IN R2
6220 011600 005001 CLR R1 ; ..AGAIN
6221 011602 012700 000200 MOV #FR.100,R0 ; ..FR CODE FOR MOST OF THE FLAGS
6222 011606 CALL .FREAD ; ..READ THEM
011606 004737 000000G JSR PC,.FREAD
6223 011612 012701 177772 MOV #-^D6,R1 ; ..SHIFT COUNT TO R1
6224 011616 CALL .TPSHI ; ..SHIFT THE DATA
011616 004737 000000G JSR PC,.TPSHI
6225 011622 042710 170077 BIC #170077,(R0) ; ..JUST THE BITS WE WANT
6226 011626 051002 BIS (R0),R2 ; ..SAVE THE HIGH FLAGS IN R2
6227 011630 005001 CLR R1 ; ..CLEAR R1 AGAIN
6228 011632 012700 000264 MOV #FR.132,R0 ; ..FR CODE FOR LAST FLAG BIT
6229 011636 CALL .FREAD ; ..READ IT
011636 004737 000000G JSR PC,.FREAD
6230 011642 032760 000001 000004 BIT #BIT00,4(R0) ; ..IS IT ON?
6231 011650 001402 BEQ 10$ ; ..NO -- JUST EXIT
6232 011652 052702 010000 BIS #PC.OVF,R2 ; ..YES -- SET IT IN OUR WORD
6233 011656 10$:
6234 011656 010200 MOV R2,R0 ; ..PUT A COPY IN R0
6235 011660 POP <R2,R1> ; ..RESTORE REGISTERS
011660 012602 MOV (SP)+,R2
011662 012601 MOV (SP)+,R1
6236 011664 RETURN ; TO CALLER
011664 000207 RTS PC
SAVEC -- SAVE/RESTORE COMMAND D MACRO M1113 03-APR-86 22:56 PAGE 159
.SAVPC -- PC READ SUBROUTINE 8306.17
6238 .SBTTL .SAVPC -- PC READ SUBROUTINE 8306.17
6239
6240 ;+
6241 ; .SAVPC -- SUBROUTINE TO READ THE KL PROGRAM COUNTER REGISTER
6242 ;
6243 ; THESE SUBROUTINES READ AND ASSEMBLE THE VMA PC BOARD REGISTER
6244 ; INTO A THREE WORD BLOCK POINTED TO BY R1 IN THE CALL.
6245 ;
6246 ; INPUT ARGUMENTS:
6247 ;
6248 ; R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
6249 ;
6250 ; OUTPUT ARGUMENTS:
6251 ;
6252 ; R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
6253 ;
6254 ; ERROR CODES RETURNED:
6255 ;
6256 ; FRF -- FUNCTION READ FAILED.
6257 ;-
6258
6259 .ENABL LSB
6260
6261 011666 .SAVPC:
6262 011666 012700 000750' MOV #SVPCTB,R0 ; POINTER TO PC TABLE
6263 011672 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
011672 004537 000000G JSR R5,.REGSV
6264 011676 010005 MOV R0,R5 ; TABLE POINTER TO R5
6265 011700 012704 000004 MOV #^D4,R4 ; ITERATION COUNT TO R4
6266 011704 010103 MOV R1,R3 ; USER BUFFER ADDRESS TO R3
6267 011706 012502 MOV (R5)+,R2 ; FUNCTION READ BASE TO R2
6268 011710 PUSH (R5)+ ; MASK WORD TO TOP OF THE STACK
011710 012546 MOV (R5)+,-(SP)
6269 011712 011505 MOV (R5),R5 ; .SHIFT BASE TO R5
6270 011714 010100 MOV R1,R0 ; .CLEAR CALLER'S AREA
6271 011716 CALL .TPCLR ; .SO
011716 004737 000000G JSR PC,.TPCLR
6272 011722 20$:
6273 011722 010200 MOV R2,R0 ; .SET THE FUNCTION READ NUMBER
6274 011724 006300 ASL R0 ; .TIMES 2
6275 011726 005001 CLR R1 ; .CLEAR R1
6276 011730 CALL .FREAD ; .READ IT
011730 004737 000000G JSR PC,.FREAD
6277 011734 041620 BIC (SP),(R0)+ ; .SP POINTS TO BIT MASK
6278 011736 041610 BIC (SP),(R0) ; .R0 POINTS TO READ BLOCK
6279 011740 005740 TST -(R0) ; .NOW BACK THE POINTER UP
6280 011742 010501 MOV R5,R1 ; .GET THE SHIFT COUNT INTO R1
6281 011744 CALL .TPSHI ; .AND SHIFT IT
011744 004737 000000G JSR PC,.TPSHI
6282 011750 052023 BIS (R0)+,(R3)+ ; .SET THE BITS IN THE USER BUFFER
6283 011752 051013 BIS (R0),(R3) ; .SO
6284 011754 005743 TST -(R3) ; .BACK CALLER'S POINTER UP
6289 011756 122225 CMPB (R2)+,(R5)+ ; .INCREMENT READ NUMBER AND SHIFT COUNT
6291 011760 077420 SOB R4,20$ ; .DO THIS FOUR TIMES
6292 011762 042763 177600 000002 BIC #177600,2(R3) ; .GET RID OF BITS HIGHER THAN 13
6293 011770 005726 TST (SP)+ ; CLEAR THE STACK
6294 011772 RETURN ; RETURN TO CALLER
SAVEC -- SAVE/RESTORE COMMAND D MACRO M1113 03-APR-86 22:56 PAGE 159-1
.SAVPC -- PC READ SUBROUTINE 8306.17
011772 000207 RTS PC
6295
6296 .DSABL LSB
6297
6298 ; TABLE FOR VMA PC BOARD READS
6299
6300 000750 .PSECT DATA
6301 000750 SVPCTB:
6302 000750 000150 .WORD FR.150/2 ; BASE READ FOR PC REGISTER
6303 000752 135673 .WORD 135673 ; BIT MASK " " "
6304 000754 177776 .WORD -^D2 ; SHIFT CNT " " "
6305 011774 .PSECT
SAVEC -- SAVE/RESTORE COMMAND D MACRO M1113 03-APR-86 22:56 PAGE 160
.SAVPC -- PC READ SUBROUTINE 8306.17
6307
6308
6309 .TITLE SCACB -- SET AC-BLOCK COMMAND MODULE
6310
6311 .IDENT "006110"
6312
6313 ; COPYRIGHT (C) 1979, 1984, 1985 BY
6314 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6315 ; ALL RIGHTS RESERVED.
6316 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
6317 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
6318 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
6319 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
6320 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
6321 ;
6322 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
6323 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
6324 ; CORPORATION.
6325 ;
6326 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6327 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
6328 ;
6329 ; MODULE: SET AC-BLOCK
6330 ;
6331 ; VERSION: 06-11
6332 ;
6333 ; AUTHOR: K.LEFEBVRE
6334 ;
6335 ; DATE: 12-SEP-79
6336 ;
6337 ; THIS MODULE CONTAINS:
6338 ;
6339 ; 1) SET AC-BLOCK N COMMAND
6340 ; 2) SWEEP N COMMAND
6341 ;
6342 ; THESE COMMANDS WERE ADDED FOR TCO 5.1002
6343
6344 .MCALL SETF$S
SCACB -- SET AC-BLOCK COMMAND M MACRO M1113 03-APR-86 22:56 PAGE 161
.SCACB -- SET AC-BLOCK COMMAND
6346 .SBTTL .SCACB -- SET AC-BLOCK COMMAND
6347
6348 ;+
6349 ; .SCACB -- SET AC-BLOCK COMMAND
6350 ;
6351 ; THIS ROUTINE WILL CAUSE THE SPECIFIED BLOCK TO BE THE CURRENT
6352 ; AC BLOCK REFERENCED BY THE KL.
6353 ;
6354 ; INPUT ARGUMENTS:
6355 ;
6356 ; NONE
6357 ;
6358 ; OUTPUT ARGUMENTS:
6359 ;
6360 ; NONE
6361 ;
6362 ; ERROR CODES RETURNED:
6363 ;
6364 ; ILI -- ILLEGAL UNSTRUCTION
6365 ; MRA -- MISSING REQUIRED ARGUMENT
6366 ; NOR -- INPUT ARGUMENT NUMBER OUT OF RANGE
6367 ;-
6368
6369 011774 .SCACB::
6370 011774 005737 000000G TST .NOTSW ; IS THIS A CLEAR?
6371 012000 001014 BNE SCAILI ; YES -- NOT ALLOWED
6372 012002 CALL .CKARG ; NO -- CHECK FOR AN ARGUMENT
012002 004737 000000G JSR PC,.CKARG
6373 012006 CALL .GTELN ; GET THE ARGUMENT
012006 004737 000000G JSR PC,.GTELN
6374 012012 020027 000007 CMP R0,#7 ; IS THE ARGUMENT IN RANGE?
6375 012016 101010 BHI SCANOR ; NO -- ERROR
6376 012020 CALL .CKRUN ; MAKE SURE KL NOT RUNNING
012020 004737 000000G JSR PC,.CKRUN
6377 012024 010002 MOV R0,R2 ; SET BLOCK NO.
6378 012026 CALLR .SACBK ; YES -- SET AC BLOCK
012026 000137 012046' JMP .SACBK
6379
6380 012032 SCAILI:
6381 012032 ERROR$ ILI ; ERROR -- ILLEGAL INSTRUCTION
012032 012746 035051 MOV #^RILI,-(SP)
012036 104400 TRAP TC.ERR
6382 012040 SCANOR:
6383 012040 ERROR$ NOR ; ERROR -- INPUT NUMBER OUT OF RANGE
012040 012746 054752 MOV #^RNOR,-(SP)
012044 104400 TRAP TC.ERR
SCACB -- SET AC-BLOCK COMMAND M MACRO M1113 03-APR-86 22:56 PAGE 162
.SACBK -- SET AC BLOCK ROUTINE
6385 .SBTTL .SACBK -- SET AC BLOCK ROUTINE
6386
6387 ;+
6388 ; .SACBK -- SUBROUTINE TO SET KL AC BLOCK
6389 ;
6390 ; THIS ROUTINE WILL:
6391 ; 1. INSERT INSTR OBJECT INTO KL LOC 100
6392 ; 2. EXECUTE DATAO PAG,,100 TO SET AC BLOCK
6393 ;
6394 ; INPUT ARGUMENTS:
6395 ;
6396 ; R2=AC BLOCK NO. TO SET
6397 ;
6398 ; OUTPUT ARGUMENTS:
6399 ;
6400 ; NONE
6401 ;
6402 ; ERROR CODES RETURNED:
6403 ;
6404 ; CCC -- CAN'T CLEAR KL10 CLOCK
6405 ; CCR -- CAN'T CLEAR KL10 RUN FLOP
6406 ; CCS -- KL10 CLOCK CAN'T START
6407 ; CES -- CLOCK ERROR STOP
6408 ; CFH -- CAN'T FIND KL10 HALT LOOP
6409 ; CSC -- CAN'T SYNC KL10 CLOCK
6410 ; DMF -- DEPOSIT KL10 MEMORY FAILED
6411 ; DSF -- DTE20 STATUS FAILURE
6412 ; ECT -- EBOX CLOCK TIME OUT
6413 ; ESD -- EBOX STOPPED - DEPOSIT
6414 ; FRF -- FUNCTION READ FAILED
6415 ; FWF -- FUNCTION WRITE FAILED
6416 ; FXF -- FUNCTION EXECUTE FAILED
6417 ; MAE -- MODE ARGUMENT ERROR
6418 ; XTO -- EXECUTE TIMED OUT
6419 ;-
6420
6421 012046 .SACBK::
6422 012046 005000 CLR R0 ; CALL .WHACB ON EXIT FLAG
6423 012050 .SACB1:: ; ALTERNATE ENTRY POINT
6424 012050 PUSH <R0,R2> ; SAVE NEW AC BLOCK NO.
012050 010046 MOV R0,-(SP)
012052 010246 MOV R2,-(SP)
6425 012054 006302 ASL R2 ; POSITION AC BLOCK NO.
6426 012056 006302 ASL R2 ; POSITION AC BLOCK NO.
6427 012060 006302 ASL R2 ; POSITION AC BLOCK NO.
6428 012062 110237 000771' MOVB R2,ACDAT+3 ; PUT BLOCK NO. INTO INSTR
6429 012066 012701 000756' MOV #DEPBLK,R1 ; SET UP DEPOSIT DATA BLOCK
6430 012072 012700 000200 MOV #ED.PHY,R0 ; PUT IN PHYSICAL SPACE
6431 ; MOV #ED.EXV,R0 ; PUT IN EXEC VIRTUAL SPACE
6432 012076 CALL .DPKLM ; DEPOSIT INSTR OBJECT IN MEMORY
012076 004737 000000G JSR PC,.DPKLM
6433 012102 103404 BCS 10$ ; ERROR
6434 012104 012700 000774' MOV #SETACI,R0 ; INSTR PTR
6435 012110 CALL .EXCTF ; EXECUTE INSTR
012110 004737 000000G JSR PC,.EXCTF
6436 012114 10$: POP <R2,R0> ; RESTORE R2
012114 012602 MOV (SP)+,R2
SCACB -- SET AC-BLOCK COMMAND M MACRO M1113 03-APR-86 22:56 PAGE 162-1
.SACBK -- SET AC BLOCK ROUTINE
012116 012600 MOV (SP)+,R0
6437 012120 005700 TST R0 ; PRINT AC BLOCK?
6438 012122 001002 BNE 20$ ; NO -- EXIT
6439 012124 CALL .WHACB ; YES -- OUTPUT CURRENT AC BLOCK NO.
012124 004737 012132' JSR PC,.WHACB
6440 012130 20$: RETURN ; EXIT
012130 000207 RTS PC
6441
6442 000756 .PSECT DATA
6443
6444 000756 000762' DEPBLK: .WORD TEMADR ; OBJECT ADDR PTR
6445 000760 000766' .WORD ACDAT ; DEPOSIT DATA PTR
6446 000762 000100 TEMADR: .WORD 100 ; ADDR BITS 20-35
6447 000764 000000 .WORD 0 ; ADDR BITS 14-19
6448 000766 000000 ACDAT: .WORD 0 ; DATA BITS 20-35
6449 000770 000000 .WORD 0 ; DATA BITS 4-19
6450 000772 000010 .WORD 10 ; DATA BITS 0-3
6451
6452 000774 SETACI: IOKL$ DATAO PAG,,100 ; SET AC INSTR
000774 100 000 .BYTE $$A,$$B
000776 200 011 .BYTE $$C,$$D
001000 016 000 .BYTE $$E,$$F
6453
6454 012132 .PSECT
SCACB -- SET AC-BLOCK COMMAND M MACRO M1113 03-APR-86 22:56 PAGE 163
.WHACB -- WHAT AC BLOCK COMMAND
6456 .SBTTL .WHACB -- WHAT AC BLOCK COMMAND
6457
6458 012132 .WHACB::
6459 012132 PUSH R1 ; SAVE R1
012132 010146 MOV R1,-(SP)
6460 012134 012700 002402' MOV #WACMSG,R0 ; WHAT AC BLOCK MESSAGE
6461 012140 CALL .TYMSG ; PRINT IT
012140 004737 000000G JSR PC,.TYMSG
6462 012144 005001 CLR R1 ; NO FM ADDR BUFFER
6463 012146 CALL .RDFMA ; GET CURRENT AC BUFFER
012146 004737 000000G JSR PC,.RDFMA
6464 012152 000300 SWAB R0 ; BLOCK NO. IN LOW BYTE NOW
6465 012154 042700 177600 BIC #177600,R0 ; GET RID OF EXCESS BITS
6469 012160 005046 CLR -(SP) ; NO. BUFFER ON STACK
6470 012162 005046 CLR -(SP) ; BUFFER
6471 012164 010046 MOV R0,-(SP) ; BUFFER
6472 012166 010600 MOV SP,R0 ; BUFFER PTR
6473 012170 005037 000000G CLR .LDZFL ; NO LEADING ZEROS
6474 012174 CALL .TYKLN ; OUTPUT VALUE
012174 004737 000000G JSR PC,.TYKLN
6475 012200 062706 000006 ADD #6,SP ; POP OFF BUFFER
6476 012204 CALL .TCRLF ; TYPE CR-LF
012204 004737 000000G JSR PC,.TCRLF
6477 012210 POP R1 ; RESTORE R1
012210 012601 MOV (SP)+,R1
6478 012212 RETURN ; DONE
012212 000207 RTS PC
6479
6480 002402 .PSECT MESSAG
6481
6482 002402 040 101 103 WACMSG: .ASCIZ % AC-BLOCK: %
002405 055 102 114
002410 117 103 113
002413 072 040 000
6483
6484 012214 .PSECT
SCACB -- SET AC-BLOCK COMMAND M MACRO M1113 03-APR-86 22:56 PAGE 164
.SWPC -- SWEEP AC BLOCK COMMAND
6486 .SBTTL .SWPC -- SWEEP AC BLOCK COMMAND
6487
6488 ;+
6489 ; .SWPC -- SWEEP AC BLOCK COMMAND ROUTINE
6490 ;
6491 ; THIS ROUTINE
6492 ;
6493 ; INPUT ARGUMENTS:
6494 ;
6495 ; NONE
6496 ;
6497 ; OUTPUT ARGUMENTS:
6498 ;
6499 ; NONE
6500 ;
6501 ; ERROR CODES RETURNED:
6502 ;
6503 ; XXX
6504 ;-
6505
6506 012214 .SWPC::
6507 012214 005037 000000G CLR .PASS ; [4.1.1049]CLEAR PASS FLAG
6508 012220 005037 001002' CLR FMERR ; [4.1.1049]CLEAR ERROR COUNT
6509 012224 PUSH .NOERR ; SAVE ERROR,HALT STATUS
012224 013746 000000G MOV .NOERR,-(SP)
6510 012230 012737 000401 000000G MOV #401,.NOERR ; IGNORE KL ERRORS
6511 012236 012737 000001 000000G MOV #1,.SWPIP ; SET SWEEP IN PROGRESS
6512 012244 005001 CLR R1 ; NO DATA BUFFER
6513 012246 CALL .RDFMA ; READ CURRENT BLOCK NO.
012246 004737 000000G JSR PC,.RDFMA
6514 012252 000300 SWAB R0 ; GET BLOCK IN LOW BYTE
6515 012254 042700 177600 BIC #177600,R0 ; CLEAR EXTRA BITS
6516 012260 010037 001014' MOV R0,SAVBLK ; SAVE BLOCK NO.
6517 012264 CALL .RDIPE ; READ PARITY FLAGS
012264 004737 000000G JSR PC,.RDIPE
6518 012270 PUSH R0 ; [4.1.1049]SAVE PARITY FLAG
012270 010046 MOV R0,-(SP)
6519 012272 032700 000010 BIT #10,R0 ; FM ERROR?
6520 012276 001416 BEQ 10$ ; NO -- GO ON
6521 012300 012700 002416' MOV #FMHED,R0 ; YES -- FM ERROR MESSAGE HEADER
6522 012304 CALL .TYMSG ; TYPE IT
012304 004737 000000G JSR PC,.TYMSG
6523 012310 012700 001004' MOV #FMBUF,R0 ; DATA BUFFER
6524 012314 013702 001014' MOV SAVBLK,R2 ; CURRENT BLOCK NO.
6525 012320 CALL .RDFMO ; READ CURRENT FM DATA
012320 004737 000000G JSR PC,.RDFMO
6526 012324 CALL .TYAC1 ; TYPE FM DATA
012324 004737 000000G JSR PC,.TYAC1
6527 012330 CALL .RSSWP ; RESET KL
012330 004737 012652' JSR PC,.RSSWP
6528 012334 10$: POP R0 ; [4.1.1049]RESTORE PARITY FLAG
012334 012600 MOV (SP)+,R0
6529 012336 132764 000010 000000G BITB #CH.EOC,.CHTAB(R4) ; IS THERE AN ARGUMENT?
6530 012344 001011 BNE 15$ ; NO -- SWEEP ALL BLOCKS
6531 012346 CALL .GTELN ; YES -- GET IT
012346 004737 000000G JSR PC,.GTELN
6532 012352 020027 000007 CMP R0,#7 ; IS ARGUMENT IN RANGE?
SCACB -- SET AC-BLOCK COMMAND M MACRO M1113 03-APR-86 22:56 PAGE 164-1
.SWPC -- SWEEP AC BLOCK COMMAND
6533 012356 101230 BHI SCANOR ; NO -- ERROR
6534 012360 010002 MOV R0,R2 ; YES -- SET ARGUMENT
6535 012362 CALL .SWPAC ; SWEEP BLOCK
012362 004737 012514' JSR PC,.SWPAC
6536 012366 000437 BR 30$ ; DONE
6537 012370 032700 000010 15$: BIT #10,R0 ; [4.1.1049]FM ERROR?
6538 012374 001442 BEQ 40$ ; [4.1.1049]NO -- DONE
6539 012376 012702 000007 17$: MOV #7,R2 ; YES -- START WITH LAST BLOCK
6540 012402 20$: CALL .SWPAC ; SWEEP IT
012402 004737 012514' JSR PC,.SWPAC
6541 012406 005302 DEC R2 ; NEXT AC BLOCK
6542 012410 002374 BGE 20$ ; DONE?
6543 012412 005737 001002' TST FMERR ; [4.1.1049]ANY ERRORS?
6544 012416 001423 BEQ 30$ ; [4.1.1049]NO -- GO ON
6545 012420 005737 000000G TST .PASS ; [4.1.1049]YES -- PASS 2?
6546 012424 001005 BNE 25$ ; [4.1.1049]YES -- ABORT RELOAD
6547 012426 005237 000000G INC .PASS ; [4.1.1049]NO -- SET SECOND PASS
6548 012432 005037 001002' CLR FMERR ; [4.1.1049]CLEAR ERROR COUNT
6549 012436 000757 BR 17$ ; [4.1.1049]RESWEEP
6550 012440 012700 002462' 25$: MOV #FMABO,R0 ; [4.1.1049]ABORT MESSAGE
6551 012444 CALL .TYLIN ; [4.1.1049]TYPE IT
012444 004737 000000G JSR PC,.TYLIN
6552 012450 032737 000000G 000000G BIT #KL.REQ,.KLIWD ; [4.1.1049]KLI REQUESTED
6553 012456 001403 BEQ 30$ ; [4.1.1049]NO -- DONE
6554 012460 052737 000000G 000000G BIS #KL.ABO,.KLIWD ; [4.1.1049]YES -- ABORT RELOAD
6555 012466 013702 001014' 30$: MOV SAVBLK,R2 ; YES -- RESTORE ORIGINAL AC BLOCK
6556 012472 012700 000001 MOV #1,R0 ; SET NO WHAT AC FLAG
6557 012476 CALL .SACB1 ; SET AC BLOCK
012476 004737 012050' JSR PC,.SACB1
6558 012502 005037 000000G 40$: CLR .SWPIP ; CLEAR SWEEP IN PROGRESS
6559 012506 POP .NOERR ; RESTORE ERROR,HALT STATUS
012506 012637 000000G MOV (SP)+,.NOERR
6560 012512 RETURN ; EXIT
012512 000207 RTS PC
6561
6562 001002 .PSECT DATA
6563
6564 001002 000000 FMERR: .WORD 0 ; [4.1.1049]ERROR COUNT
6565 001004 000000 000000 000000 FMBUF: .WORD 0,0,0,0
001012 000000
6566
6567 001014 000000 SAVBLK: .WORD 0 ; ORIGINAL AC BLOCK NO.
6568
6569 002416 .PSECT MESSAG
6570
6571 002416 040 106 115 FMHED: .ASCIZ % FM PARITY ERROR-(BLOCK:ADDR/DATA) %
002421 040 120 101
002424 122 111 124
002427 131 040 105
002432 122 122 117
002435 122 055 050
002440 102 114 117
002443 103 113 072
002446 101 104 104
002451 122 057 104
002454 101 124 101
002457 051 040 000
SCACB -- SET AC-BLOCK COMMAND M MACRO M1113 03-APR-86 22:56 PAGE 164-2
.SWPC -- SWEEP AC BLOCK COMMAND
6572 002462 040 125 116 FMABO: .ASCIZ % UNRECOVERABLE FM PARITY ERROR - RELOAD CANCELED%
002465 122 105 103
002470 117 126 105
002473 122 101 102
002476 114 105 040
002501 106 115 040
002504 120 101 122
002507 111 124 131
002512 040 105 122
002515 122 117 122
002520 040 055 040
002523 122 105 114
002526 117 101 104
002531 040 103 101
002534 116 103 105
002537 114 105 104
002542 000
6573
6574 012514 .PSECT
SCACB -- SET AC-BLOCK COMMAND M MACRO M1113 03-APR-86 22:56 PAGE 165
.SWPAC -- SWEEP ALL AC BLOCKS FOR FM PARITY ERROR
6576 .SBTTL .SWPAC -- SWEEP ALL AC BLOCKS FOR FM PARITY ERROR
6577
6578 ;+
6579 ; .SWPAC -- SUBROUTINE TO READ ALL AC'S TO LOCATE FM PARITY ERRORS
6580 ;
6581 ; THIS ROUTINE WILL:
6582 ; 0. TYPE CURRENT LOCKED UP FM ADDR AND DATA
6583 ; 1. DISABLE PARITY ERROR STOPS AND CLEAR CLOCK ERROR STOP
6584 ; 2. PUT KL IN HALT LOOP
6585 ; 3. START KL CLOCK
6586 ; 4. SET AC BLOCK
6587 ; 5. READ AC'S
6588 ; 6. IF FM PARITY ERROR SET TYPE ERROR
6589 ; 7. REPEAT 4-6 FOR EACH BLOCK
6590 ; 8. RESTORE ORIGINAL AC BLOCK
6591 ;
6592 ; INPUT ARGUMENTS:
6593 ;
6594 ; R2=AC BLOCK TO SWEEP
6595 ;
6596 ; OUTPUT ARGUMENTS:
6597 ;
6598 ; NONE
6599 ;
6600 ; ERROR CODES RETURNED:
6601 ;
6602 ; CCC -- CAN'T CLEAR KL10 CLOCK
6603 ; CCR -- CAN'T CLEAR KL10 RUN FLOP
6604 ; CCS -- KL10 CLOCK CAN'T START
6605 ; CES -- CLOCK ERROR STOP
6606 ; CFH -- CAN'T FIND KL10 HALT LOOP
6607 ; CSC -- CAN'T SYNC KL10 CLOCK
6608 ; DMF -- DEPOSIT KL10 MEMORY FAILED
6609 ; DSF -- DTE20 STATUS FAILURE
6610 ; ECT -- EBOX CLOCK TIME OUT
6611 ; ESD -- EBOX STOPPED - DEPOSIT
6612 ; EMF -- EXAMINE KL10 MEMORY FAILED
6613 ; ESE -- EBOX STOPPED - EXAMINE
6614 ; FRF -- FUNCTION READ FAILED
6615 ; FSW -- FM SWEEP ERROR
6616 ; FWF -- FUNCTION WRITE FAILED
6617 ; FXF -- FUNCTION EXECUTE FAILED
6618 ; XTO -- EXECUTE TIMED OUT
6619 ;-
6620
6621 012514 .SWPAC::
6622 012514 012700 000001 MOV #1,R0 ; SET NO WHAT AC FLAG
6623 012520 CALL .SACB1 ; SET AC BLOCK
012520 004737 012050' JSR PC,.SACB1
6624 012524 012737 000020 001026' MOV #20,ACADR ; SET UP FOR 16 AC'S
6625 012532 005337 001026' 10$: DEC ACADR ; DONE ALL AC'S
6626 012536 002441 BLT 20$ ; YES -- EXIT
6627 012540 012701 001022' MOV #EXBLK,R1 ; NO- SET EXAMINE DATA BLOCK
6628 012544 012700 000200 MOV #ED.PHY,R0 ; EXAMINE PHYSICAL MEMORY
6629 012550 CALL .EXKLM ; EXAMINE AC
012550 004737 000000G JSR PC,.EXKLM
6630 012554 103366 BCC 10$ ; NO ERROR, NEXT AC
SCACB -- SET AC-BLOCK COMMAND M MACRO M1113 03-APR-86 22:56 PAGE 165-1
.SWPAC -- SWEEP ALL AC BLOCKS FOR FM PARITY ERROR
6631 012556 CALL .DTDW1 ; GET DTE STATUS WORD 1
012556 004737 000000G JSR PC,.DTDW1
6632 012562 032700 004000 BIT #D1.CES,R0 ; CLOCK ERROR STOP?
6633 012566 001426 BEQ SWPFSW ; NO -- OTHER ERROR
6634 012570 CALL .RDFMP ; YES -- CHECK FOR FM PARITY ERROR
012570 004737 000000G JSR PC,.RDFMP
6635 012574 005700 TST R0 ; PARITY ERROR? 0=ERROR, 1=OK
6636 012576 001022 BNE SWPFSW ; NO -- ERROR
6637 012600 005237 001002' INC FMERR ; [4.1.1049]YES -- COUNT IT
6638 012604 012700 001004' MOV #FMBUF,R0 ; FM REGISTER BUFFER
6639 012610 CALL .RDFMO ; READ FM INFO
012610 004737 000000G JSR PC,.RDFMO
6640 012614 CALL .TYACE ; TYPE AC INFO
012614 004737 000000G JSR PC,.TYACE
6641 012620 CALL .RSSWP ; RESET SWEEP PARITY STOPS
012620 004737 012652' JSR PC,.RSSWP
6642 012624 012701 001016' MOV #GOOBLK,R1 ; [4.1.1049]GOOD DATA BLOCK
6643 012630 012700 000200 MOV #ED.PHY,R0 ; [4.1.1049]PHYSICAL SPACE
6644 012634 CALL .DPKLM ; [4.1.1049]WRITE BACK GOOD DATA
012634 004737 000000G JSR PC,.DPKLM
6645 012640 000734 BR 10$ ; NEXT AC
6646 012642 20$: RETURN ; EXIT
012642 000207 RTS PC
6647 ;
6648 012644 SWPFSW:
6649 012644 ERROR$ FSW ; ERROR -- FM SWEEP ERROR
012644 012746 024217 MOV #^RFSW,-(SP)
012650 104400 TRAP TC.ERR
6650
6651 001016 .PSECT DATA
6652
6653 001016 001026' GOOBLK: .WORD ACADR
6654 001020 001006' .WORD FMBUF+2
6655 001022 001026' EXBLK: .WORD ACADR ; AC ADDR PTR
6656 001024 001032' .WORD EXDAT ; EXAMINE DATA BUFFER PTR
6657 001026 000000 ACADR:: .WORD 0 ; AC ADDR BITS 20-35
6658 001030 000000 .WORD 0 ; AC ADDR BITS 14-19
6659 001032 000000 EXDAT:: .WORD 0 ; AC DATA BITS 20-35
6660 001034 000000 .WORD 0 ; AC DATA BITS 4-19
6661 001036 000000 .WORD 0 ; AC DATA BITS 0-3
6662
6663 012652 .PSECT
SCACB -- SET AC-BLOCK COMMAND M MACRO M1113 03-APR-86 22:56 PAGE 166
.RSSWP -- RESET PARITY STOPS FOR FM SWEEP
6665 .SBTTL .RSSWP -- RESET PARITY STOPS FOR FM SWEEP
6666
6667 ;+
6668 ; .RSSWP -- SUBROUTINE TO CLEAR CES, SET FM STOP, AND RESET AC BLOCK
6669 ;
6670 ; THIS ROUTINE WILL:
6671 ; 1. RESET KL
6672 ; 2. START CLOCK
6673 ; 3. RESET AC BLOCK
6674 ;
6675 ; INPUT ARGUMENTS:
6676 ;
6677 ; R2- AC BLOCK NO. TO SET
6678 ;
6679 ; OUTPUT ARGUMENTS:
6680 ;
6681 ; NONE
6682 ;
6683 ; ERROR CODES RETURNED:
6684 ;
6685 ; CCC -- CAN'T CLEAR KL10 CLOCK
6686 ; CCR -- CAN'T CLEAR KL10 RUN FLOP
6687 ; CCS -- KL10 CLOCK CAN'T START
6688 ; CES -- CLOCK ERROR STOP
6689 ; CFH -- CAN'T FIND KL10 HALT LOOP
6690 ; CSC -- CAN'T SYNC KL10 CLOCK
6691 ; DMF -- DEPOSIT KL10 MEMORY FAILED
6692 ; DSF -- DTE20 STATUS FAILURE
6693 ; ECT -- EBOX CLOCK TIME OUT
6694 ; ESD -- EBOX STOPPED - DEPOSIT
6695 ; FRF -- FUNCTION READ FAILED
6696 ; FWF -- FUNCTION WRITE FAILED
6697 ; FXF -- FUNCTION EXECUTE FAILED
6698 ; MAE -- MODE ARGUMENT ERROR
6699 ; XTO -- EXECUTE TIMED OUT
6700 ;-
6701 012652 .RSSWP::
6702 012652 SETF$S #E.FHTO ; SET HALT TIME-OUT FLAG
012652 012746 000001 MOV #E.FHTO,-(SP)
012656 012746 MOV (PC)+,-(SP)
012660 041 002 .BYTE 33.,2
012662 104375 EMT 375
6703 012664 CALL .RESTP ; RESET KL AND PARITY STOPS
012664 004737 000000G JSR PC,.RESTP
6704 012670 CALL .STCLK ; START CLOCK
012670 004737 000000G JSR PC,.STCLK
6705 012674 012700 000001 MOV #1,R0 ; SET NO WHAT AC FLAG
6706 012700 CALL .SACB1 ; SET AC BLOCK
012700 004737 012050' JSR PC,.SACB1
6707 012704 10$: RETURN
012704 000207 RTS PC
6708 ;
SCACB -- SET AC-BLOCK COMMAND M MACRO M1113 03-APR-86 22:56 PAGE 168
.RSSWP -- RESET PARITY STOPS FOR FM SWEEP
6711
6712 .TITLE SCOUTC -- SET/CLEAR OUTPUT COMMAND MODULE
6713
6714 .IDENT "006120"
6715
6716 ; COPYRIGHT (C) 1979, 1984, 1985 BY
6717 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6718 ; ALL RIGHTS RESERVED.
6719 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
6720 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
6721 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
6722 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
6723 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
6724 ;
6725 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
6726 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
6727 ; CORPORATION.
6728 ;
6729 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6730 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
6731 ;
6732 ; MODULE: SET / CLEAR OUTPUT COMMAND
6733 ;
6734 ; VERSION: 06-00
6735 ;
6736 ; AUTHOR: K.LEFEBVRE
6737 ;
6738 ; DATE: 6-SEP-79
6739 ;
6740 ; THIS MODULE CONTAINS:
6741 ;
6742 ; 1) SET / CLEAR OUTPUT COMMAND CODE
6743 ;
6744 ; THESE ROUTINES WERE ADDED FOR TCO 5.1000
6745
6746 .MCALL DIR$,ALUN$,QIOW$,GTIM$S,QIOW$S
SCOUTC -- SET/CLEAR OUTPUT COMM MACRO M1113 03-APR-86 22:56 PAGE 169
.SCOUT -- SET/CLEAR OUTPUT COMMAND
6748 .SBTTL .SCOUT -- SET/CLEAR OUTPUT COMMAND
6749
6750 ;+
6751 ; .SCOUT -- SET/CLEAR OUTPUT COMMAND ROUTINE
6752 ;
6753 ; THIS ROUTINE WILL EXECUTE THE SET/CLEAR OUTPUT COMMAND. IF
6754 ; THE COMMAND "SET OUTPUT" IS GIVEN WITHOUT ANY OBJECT THEN THE
6755 ; TTY IS TURNED ON. IF THE COMMAND "CLEAR OUTPUT" IS GIVEN
6756 ; WITHOUT ANY OBJECT THEN THE LPT AND LOG ARE TURNED OFF AND THE
6757 ; TTY IS TURNED ON. WHENEVER A CLEAR OUTPUT IS GIVEN WITH OR
6758 ; WITHOUT AN OBJECT A CHECK IS MADE TO MAKE SURE SOME DEVICE IS
6759 ; OUTPUTTING. IF NO DEVICES ARE THEN THE TTY IS TURNED ON.
6760 ;
6761 ; INPUT ARGUMENTS:
6762 ;
6763 ; NONE
6764 ;
6765 ; OUTPUT ARGUMENTS:
6766 ;
6767 ; NONE
6768 ;
6769 ; ERROR CODES RETURNED:
6770 ;
6771 ; CAL -- CAN'T ASSIGN LUN
6772 ; DNF -- DIRECTORY FILE NOT FOUND
6773 ; FCF -- FILE CLOSE FAILURE
6774 ; FEF -- FILE EXTEND FAILURE
6775 ; FEN -- FILE ENTER FAILURE
6776 ; FLF -- FILE LOOKUP FAILURE
6777 ; FOF -- FILE OPEN FAILURE
6778 ; FWT -- FILE WRITE FAILURE
6779 ;-
6780
6781 012706 .SCOUT::
6782 012706 132764 000010 000000G BITB #CH.EOC,.CHTAB(R4) ; IS THERE AN OBJECT?
6783 012714 001414 BEQ 20$ ; NO -- GET OBJECT
6784 012716 005737 000000G TST .NOTSW ; YES -- IS THIS A CLEAR?
6785 012722 001406 BEQ 10$ ; NO -- SET CONSOLE OUTPUT
6786 012724 CALL .SCOTL ; YES -- CLEAR LOG OUTPUT
012724 004737 012774' JSR PC,.SCOTL
6787 012730 CALL .SCOTP ; CLEAR PRINTER OUTPUT
012730 004737 013354' JSR PC,.SCOTP
6788 012734 5$: CALLR .WHOUT ; OUTPUT STATUS
012734 000137 013510' JMP .WHOUT
6789 012740 10$: CALL .SCOTY ; SET CONSOLE OUTPUT
012740 004737 013442' JSR PC,.SCOTY
6790 012744 000773 BR 5$ ; OUTPUT STATUS
6791 012746 20$: CALL .CKOBJ ; MUST HAVE AN OBJECT
012746 004737 000000G JSR PC,.CKOBJ
6792 012752 012700 000000G MOV #.SCOTT,R0 ; TABLE POINTER TO R0
6793 012756 CALL .TSCAN ; SCAN THE TABLE
012756 004737 000000G JSR PC,.TSCAN
6794 012762 CALL .CKEOC ; MUST HAVE E-O-C
012762 004737 000000G JSR PC,.CKEOC
6795 012766 CALL @2(R0) ; EXECUTE THE COMMAND
012766 004770 000002 JSR PC,@2(R0)
6796 012772 000760 BR 5$ ; OUTPUT STATUS
SCOUTC -- SET/CLEAR OUTPUT COMM MACRO M1113 03-APR-86 22:56 PAGE 169-1
.SCOUT -- SET/CLEAR OUTPUT COMMAND
6797 ;
SCOUTC -- SET/CLEAR OUTPUT COMM MACRO M1113 03-APR-86 22:56 PAGE 170
.SCOTL -- SET/CLEAR OUTPUT LOG COMMAND
6799 .SBTTL .SCOTL -- SET/CLEAR OUTPUT LOG COMMAND
6800
6801 ;+
6802 ; .SCOTL -- SET/CLEAR OUTPUT LOG COMMAND ROUTINE
6803 ;
6804 ; THIS ROUTINE WILL OPEN OR CLOSE A LOG FILE AND DIRECT OUTPUT
6805 ; TO THIS FILE.
6806 ;
6807 ; INPUT ARGUMENTS:
6808 ;
6809 ; NONE
6810 ;
6811 ; OUTPUT ARGUMENTS:
6812 ;
6813 ; NONE
6814 ;
6815 ; ERROR CODES RETURNED:
6816 ;
6817 ; CAL -- CAN'T ASSIGN LUN
6818 ; DNF -- DIRECTORY FILE NOT FOUND
6819 ; FCF -- FILE CLOSE FAILURE
6820 ; FEF -- FILE EXTEND FAILURE
6821 ; FEN -- FILE ENTER FAILURE
6822 ; FLF -- FILE LOOKUP FAILURE
6823 ; FOF -- FILE OPEN FAILURE
6824 ; FWT -- FILE WRITE FAILURE
6825 ;-
6826
6827 012774 .SCOTL::
6828 012774 005737 000000G TST .NOTSW ; IS THIS A CLEAR?
6829 013000 001433 BEQ 25$ ; NO -- TURN LOGGING ON
6830 013002 105737 000000G TSTB .OUTLG ; LOGGING ALREADY OFF?
6831 013006 001530 BEQ 30$ ; YES -- EXIT
6832 013010 012700 002610' MOV #LGFMSG,R0 ; NO -- FINISH LOG MESSAGE
6833 013014 CALL .TYMSG ; TYPE IT
013014 004737 000000G JSR PC,.TYMSG
6834 013020 CALL TYLGMS ; LOG TIME AND DATE
013020 004737 013272' JSR PC,TYLGMS
6835 013024 CALL .TCRLF ; OUTPUT CR-LF
013024 004737 000000G JSR PC,.TCRLF
6836 013030 CALL .TCRLF ; OUTPUT CR-LF
013030 004737 000000G JSR PC,.TCRLF
6837 013034 CALL .WRITZ ; OUTPUT FINAL BLOCK
013034 004737 000000G JSR PC,.WRITZ
6838 013040 012700 000000G MOV #.OTFN,R0 ; FILE NAME
6839 013044 012701 000000G MOV #.OTATT,R1 ; ATTRIBUTE BLOCK
6840 013050 012702 000004 MOV #LOGLUN,R2 ; LUN
6841 013054 CALL .CLOSE ; CLOSE FILE
013054 004737 000000G JSR PC,.CLOSE
6842 013060 105037 000000G CLRB .OUTLG ; YES -- CLEAR LOG FLAG
6843 013064 CALLR .SCOTC ; MAKE SURE SOME OUTPUT DEVICE IS ON
013064 000137 013466' JMP .SCOTC
6844 ;
6845 013070 105737 000000G 25$: TSTB .OUTLG ; LOGGING ALREADY ON?
6846 013074 001075 BNE 30$ ; YES -- EXIT
6847 013076 012700 000000G MOV #.OTFN,R0 ; NO -- FILE NAME
6848 013102 012701 000000G MOV #.OTFNB,R1 ; FILE NAME BLOCK
SCOUTC -- SET/CLEAR OUTPUT COMM MACRO M1113 03-APR-86 22:56 PAGE 170-1
.SCOTL -- SET/CLEAR OUTPUT LOG COMMAND
6849 013106 012702 000004 MOV #LOGLUN,R2 ; LUN
6850 013112 012704 000000G MOV #IO.ACE,R4 ; OPEN ACCESS RIGHTS
6851 013116 CALL .LOKUP ; LOOK UP FILE
013116 004737 000000G JSR PC,.LOKUP
6852 013122 103013 BCC 27$ ; FILE FOUND IF CC-C IS CLEAR
6853 013124 CALL .ENTER ; CREATE AND ENTER THE FILE
013124 004737 000000G JSR PC,.ENTER
6854 013130 CALL .OPEN ; OPEN THE NEW FILE
013130 004737 000000G JSR PC,.OPEN
6855 013134 012737 001002 000000G MOV #1002,.OTATT ; SET FILE TYPE/ATTRIBUTES
6856 013142 012737 000001 000006G MOV #1,.OTATT+6 ; SET HIGHEST ALLOCATED BLOCK
6857 013150 000402 BR 29$ ; GO ON
6858 013152 27$: CALL .OPEN ; OPEN FILE
013152 004737 000000G JSR PC,.OPEN
6859 013156 012737 000000G 000000G 29$: MOV #.BUFSZ,.OTBBC ; EMPTY BUFFER
6860 013164 012737 000000G 000000G MOV #.OTBUF,.OTPOS ; BUFFER ADDR
6861 013172 013737 000010G 000000G MOV .OTATT+10,.OTVBN ; HIGHEST USED BLOCK
6862 013200 013737 000012G 000002G MOV .OTATT+12,.OTVBN+2 ; HIGHEST USED BLOCK
6863 013206 012737 000000G 000000G MOV #.RECRD,.RECPT ; RESET RECORD POINTER
6864 013214 005037 000000G CLR .RECNT ; CLEAR RECORD COUNT
6865 013220 105237 000000G INCB .OUTLG ; SET LOG FLAG
6866 013224 012700 002543' MOV #LGSMSG,R0 ; START UP LOG MESSAGE
6867 013230 CALL .TYMSG ; TYPE IT
013230 004737 000000G JSR PC,.TYMSG
6868 013234 CALL TYLGMS ; LOG TIME AND DATE
013234 004737 013272' JSR PC,TYLGMS
6869 013240 012700 002576' MOV #LGVMSG,R0 ; VERSION MESSAGE
6870 013244 CALL .TYMSG ; TYPE IT
013244 004737 000000G JSR PC,.TYMSG
6871 013250 012700 000000G MOV #.VERNO,R0 ; VERSION
6872 013254 CALL .TYMSG ;TYPE IT
013254 004737 000000G JSR PC,.TYMSG
6873 013260 CALL .TCRLF ; OUTPUT CR-LF
013260 004737 000000G JSR PC,.TCRLF
6874 013264 CALL .TCRLF ; OUTPUT CR-LF
013264 004737 000000G JSR PC,.TCRLF
6875 013270 30$: RETURN ; RETURN
013270 000207 RTS PC
6876 ;
6877 013272 TYLGMS: PUSH R1 ; SAVE R1,R0
013272 010146 MOV R1,-(SP)
6878 013274 012701 001040' MOV #LOGBUF,R1 ; DATE BUFFER
6879 013300 GTIM$S R1 ; GET DATE
013300 010146 MOV R1,-(SP)
013302 012746 MOV (PC)+,-(SP)
013304 073 002 .BYTE 59.,2
013306 104375 EMT 375
6880 013310 005046 CLR -(SP) ; CLEAR SPACE ON STACK
6881 013312 005046 CLR -(SP) ; CLEAR SPACE ON STACK
6882 013314 010600 MOV SP,R0 ; POINT R0 TO BUFFER
6883 013316 112120 MOVB (R1)+,(R0)+ ; SET YEAR
6884 013320 105721 TSTB (R1)+ ; SKIP BYTE
6885 013322 112120 MOVB (R1)+,(R0)+ ; SET MONTH
6886 013324 105721 TSTB (R1)+ ; SKIP BYTE
6887 013326 112120 MOVB (R1)+,(R0)+ ; SET DAY
6888 013330 010600 MOV SP,R0 ; RESET PTR
6889 013332 CALL .TYDAT ; TYPE DATE
SCOUTC -- SET/CLEAR OUTPUT COMM MACRO M1113 03-APR-86 22:56 PAGE 170-2
.SCOTL -- SET/CLEAR OUTPUT LOG COMMAND
013332 004737 007040' JSR PC,.TYDAT
6890 013336 012700 000000G MOV #.SSM,R0 ; SET SECONDS
6891 013342 CALL .TYTIM ; TYPE TIME
013342 004737 007154' JSR PC,.TYTIM
6892 013346 022626 CMP (SP)+,(SP)+ ; CLEAR STACK
6893 013350 POP R1 ; RESTORE R1
013350 012601 MOV (SP)+,R1
6894 013352 RETURN ; EXIT
013352 000207 RTS PC
6895 ;
6896
6897 001040 .PSECT DATA
6898
6899 001040 LOGBUF: .BLKW 10
6900
6901 002543 .PSECT MESSAG
6902
6903 002543 LGSMSG:
6904 002543 012 052 052 .ASCIZ <12>%******* LOGGING STARTED %
002546 052 052 052
002551 052 052 040
002554 114 117 107
002557 107 111 116
002562 107 040 123
002565 124 101 122
002570 124 105 104
002573 040 040 000
6905 002576 LGVMSG:
6906 002576 054 122 123 .ASCIZ %,RSX-20F %
002601 130 055 062
002604 060 106 040
002607 000
6907 002610 LGFMSG:
6908 002610 012 052 052 .ASCIZ <12>%******* LOGGING FINISHED %
002613 052 052 052
002616 052 052 040
002621 114 117 107
002624 107 111 116
002627 107 040 106
002632 111 116 111
002635 123 110 105
002640 104 040 040
002643 000
6909
6910 013354 .PSECT
SCOUTC -- SET/CLEAR OUTPUT COMM MACRO M1113 03-APR-86 22:56 PAGE 171
.SCOTP -- SET/CLEAR OUTPUT LPT COMMAND
6912 .SBTTL .SCOTP -- SET/CLEAR OUTPUT LPT COMMAND
6913
6914 ;+
6915 ; .SCOTP -- SET/CLEAR OUTPUT LPT COMMAND ROUTINE
6916 ;
6917 ; THIS ROUTINE WILL ATTACH OR DETATCH THE LINE PRINTER AND
6918 ; SET A FLAG TO DIRECT OUTPUT TO IT.
6919 ;
6920 ; INPUT ARGUMENTS:
6921 ;
6922 ; NONE
6923 ;
6924 ; OUTPUT ARGUMENTS:
6925 ;
6926 ; NONE
6927 ;
6928 ; ERROR CODES RETURNED:
6929 ;
6930 ; CAP -- CAN'T ATTACH LINEPRINTER
6931 ;-
6932
6933 013354 .SCOTP::
6934 013354 005737 000000G TST .NOTSW ; IS THIS A CLEAR PRINTER?
6935 013360 001413 BEQ 30$ ; NO -- TURN ON PRINTER
6936 013362 105737 000000G TSTB .OUTLP ; YES -- IS LINE PRINTER ON?
6937 013366 001421 BEQ 40$ ; NO -- DON'T TURN OFF
6938 013370 DIR$ #.DTLST ; YES -- DETACH THE PRINTER
013370 012746 000100' MOV #.DTLST,-(SP)
013374 104375 EMT 375
6939 013376 103416 BCS SCOCAP ; ERROR IF CC-C IS SET
6940 013400 105037 000000G CLRB .OUTLP ; CLEAR PRINT FLAG
6941 013404 CALLR .SCOTC ; MAKE SURE SOME OUTPUT DEVICE IS ON
013404 000137 013466' JMP .SCOTC
6942 ;
6943 013410 105737 000000G 30$: TSTB .OUTLP ; IS LINE PRINTER ALREADY ON?
6944 013414 001006 BNE 40$ ; YES -- DON'T TURN ON
6945 013416 DIR$ #.ATLST ; NO -- ATTACH THE PRINTER
013416 012746 000064' MOV #.ATLST,-(SP)
013422 104375 EMT 375
6946 013424 103403 BCS SCOCAP ; ERROR IF CC-C IS SET
6947 013426 105237 000000G INCB .OUTLP ; SET THE PRINT FLAG
6948 013432 40$: RETURN ; RETURN
013432 000207 RTS PC
6949 ;
6950 013434 SCOCAP:
6951 013434 ERROR$ CAP ; ERROR -- CAN'T ATTACH LINEPRINTER
013434 012746 011370 MOV #^RCAP,-(SP)
013440 104400 TRAP TC.ERR
SCOUTC -- SET/CLEAR OUTPUT COMM MACRO M1113 03-APR-86 22:56 PAGE 172
.SCOTY -- SET/CLEAR OUTPUT TTY COMMAND
6953 .SBTTL .SCOTY -- SET/CLEAR OUTPUT TTY COMMAND
6954
6955 ;+
6956 ; .SCOTY -- SET/CLEAR OUTPUT TTY COMMAND ROUTINE
6957 ;
6958 ; THIS ROUTINE WILL SET OR CLEAR A FLAG THAT DIRECTS OUTPUT TO THE
6959 ; TTY.
6960 ;
6961 ; INPUT ARGUMENTS:
6962 ;
6963 ; NONE
6964 ;
6965 ; OUTPUT ARGUMENTS:
6966 ;
6967 ; NONE
6968 ;
6969 ; ERROR CODES RETURNED:
6970 ;
6971 ; NONE
6972 ;-
6973
6974 013442 .SCOTY::
6975 013442 005737 000000G TST .NOTSW ; IS THIS A CLEAR
6976 013446 001404 BEQ 50$ ; NO -- SET TYPE OUTPUT
6977 013450 105037 000000G CLRB .OUTTY ; CLEAR TYPE FLAG
6978 013454 CALLR .SCOTC ; MAKE SURE SOME OUTPUT DEVICE IS ON
013454 000137 013466' JMP .SCOTC
6979 013460 105237 000000G 50$: INCB .OUTTY ; SET TYPE FLAG
6980 013464 60$: RETURN ; EXIT
013464 000207 RTS PC
6981 ;
SCOUTC -- SET/CLEAR OUTPUT COMM MACRO M1113 03-APR-86 22:56 PAGE 173
.SCOTC -- SET/CLEAR OUTPUT CHECK ROUTINE
6983 .SBTTL .SCOTC -- SET/CLEAR OUTPUT CHECK ROUTINE
6984
6985 ;+
6986 ; .SCOTL -- SET/CLEAR OUTPUT CHECK ROUTINE
6987 ;
6988 ; THIS ROUTINE WILL CHECK TO SEE THAT OUTPUT IS DIRECTED TO SOME
6989 ; DEVICE. IF THERE IS NO OUTPUT DEVICE THEN THE TTY IS TURNED ON.
6990 ;
6991 ; INPUT ARGUMENTS:
6992 ;
6993 ; NONE
6994 ;
6995 ; OUTPUT ARGUMENTS:
6996 ;
6997 ; NONE
6998 ;
6999 ; ERROR CODES RETURNED:
7000 ;
7001 ; NONE
7002 ;-
7003
7004 013466 .SCOTC::
7005 013466 105737 000000G TSTB .OUTLG ; LOG ON?
7006 013472 001005 BNE 70$ ; YES -- EXIT
7007 013474 105737 000000G TSTB .OUTLP ; NO -- PRINT ON?
7008 013500 001002 BNE 70$ ; YES -- EXIT
7009 013502 105237 000000G INCB .OUTTY ; NO -- TURN ON TYPE
7010 013506 70$: RETURN ; EXIT
013506 000207 RTS PC
7011 ;
SCOUTC -- SET/CLEAR OUTPUT COMM MACRO M1113 03-APR-86 22:56 PAGE 174
.WHOUT -- WHAT OUTPUT COMMAND
7013 .SBTTL .WHOUT -- WHAT OUTPUT COMMAND
7014
7015 ;+
7016 ; .WHOUT -- WHAT OUTPUT COMMAND ROUTINE
7017 ;
7018 ; THIS ROUTINE WILL OUPUT THE STATUS OF THE CURRENT OUTPUT DEVICES.
7019 ;
7020 ; INPUT ARGUMENTS:
7021 ;
7022 ; NONE
7023 ;
7024 ; OUTPUT ARGUMENTS:
7025 ;
7026 ; NONE
7027 ;
7028 ; ERROR CODES RETURNED:
7029 ;
7030 ; NONE
7031 ;-
7032
7033 013510 .WHOUT::
7034 013510 012700 002644' MOV #WHOTMS,R0 ; MESSAGE POINTER TO R0
7035 013514 CALL .TYMSG ; PRINT IT
013514 004737 000000G JSR PC,.TYMSG
7036 013520 005046 CLR -(SP) ; CLEAR COMMA FLAG
7037 013522 105737 000000G TSTB .OUTTY ; TTY ACTIVE?
7038 013526 001405 BEQ 10$ ; NO -- NEXT DEVICE
7039 013530 012700 000000G MOV #TTYMSG,R0 ; YES -- TTY MESSAGE POINTER TO R0
7040 013534 CALL .TYMSG ; PRINT IT
013534 004737 000000G JSR PC,.TYMSG
7041 013540 005216 INC (SP) ; SET COMMA FLAG
7042 013542 105737 000000G 10$: TSTB .OUTLP ; LPT ACTIVE?
7043 013546 001411 BEQ 20$ ; NO -- NEXT DEVICE
7044 013550 005716 TST (SP) ; YES -- TYPE COMMA?
7045 013552 001402 BEQ 15$ ; NO -- TYPE DEVICE
7046 013554 CALL .TYCOM ; YES -- TYPE COMMA
013554 004737 000000G JSR PC,.TYCOM
7047 013560 012700 000000G 15$: MOV #LPTMSG,R0 ; LPT MESSAGE POINTER TO R0
7048 013564 CALL .TYMSG ; PRINT IT
013564 004737 000000G JSR PC,.TYMSG
7049 013570 005216 INC (SP) ; SET COMMA FLAG
7050 013572 105737 000000G 20$: TSTB .OUTLG ; LOG ACTIVE?
7051 013576 001410 BEQ 30$ ; NO -- EXIT
7052 013600 005716 TST (SP) ; YES -- TYPE COMMA?
7053 013602 001402 BEQ 25$ ; NO -- TYPE DEVICE
7054 013604 CALL .TYCOM ; YES -- TYPE COMMA
013604 004737 000000G JSR PC,.TYCOM
7055 013610 012700 000000G 25$: MOV #LOGMSG,R0 ; LOG MESSAGE POINTER TO R0
7056 013614 CALL .TYMSG ; PRINT IT
013614 004737 000000G JSR PC,.TYMSG
7057 013620 005726 30$: TST (SP)+ ; REMOVE COMMA FLAG
7058 013622 CALLR .TCRLF ; TYPE MESSAGE AND EXIT
013622 000137 000000G JMP .TCRLF
7059 ;
7060
7061 002644 .PSECT MESSAG
7062
SCOUTC -- SET/CLEAR OUTPUT COMM MACRO M1113 03-APR-86 22:56 PAGE 174-1
.WHOUT -- WHAT OUTPUT COMMAND
7063 002644 WHOTMS:
7064 002644 040 117 125 .ASCIZ % OUTPUT DEVICES: %
002647 124 120 125
002652 124 040 104
002655 105 126 111
002660 103 105 123
002663 072 040 000
7065
7066 013626 .PSECT
SCOUTC -- SET/CLEAR OUTPUT COMM MACRO M1113 03-APR-86 22:56 PAGE 175
.WHOUT -- WHAT OUTPUT COMMAND
7068 ; THESE DPBS ARE USED TO ASSIGN THE LINE PRINTER TO THE PARSER TASK BY
7069 ; LOGICAL UNIT NUMBER (LUN), AND ARE OF THE FORM:
7070 ;
7071 ; !===============================================!
7072 ; 00 ! DPB SIZE ! DIC !
7073 ; !-----------------------------------------------!
7074 ; 02 ! LOGICAL UNIT NUMBER !
7075 ; !-----------------------------------------------!
7076 ; 04 ! ASCII DEVICE NAME !
7077 ; !-----------------------------------------------!
7078 ; 06 ! DEVICE UNIT NUMBER !
7079 ; !===============================================!
7080
7081 000064 .PSECT DPBS
7082
7083 000064 .ATLST: ; ATTACH LPT DIRECTIVE
7084 000064 QIOW$ IO.ATT,LSTLUN,E.FLOD,0,0,0
000064 003 006 .BYTE 3,$$$ARG
000066 000000G .WORD IO.ATT
000070 000003 .WORD LSTLUN
000072 005 000 .BYTE E.FLOD,0
000074 000000 .WORD 0
000076 000000 .WORD 0
7085
7086 000100 .DTLST: ; DETATCH LPT DIRECTIVE
7087 000100 QIOW$ IO.DET,LSTLUN,E.FLOD,0,0,0
000100 003 006 .BYTE 3,$$$ARG
000102 000000G .WORD IO.DET
000104 000003 .WORD LSTLUN
000106 005 000 .BYTE E.FLOD,0
000110 000000 .WORD 0
000112 000000 .WORD 0
7088
7089 013626 .PSECT
SCOUTC -- SET/CLEAR OUTPUT COMM MACRO M1113 03-APR-86 22:56 PAGE 177
.WHOUT -- WHAT OUTPUT COMMAND
7092
7093 .TITLE SETCM -- SET / CLEAR COMMAND DISPATCH MODULE 7603.30
7094
7095 .IDENT "005000"
7096 ;
7097 ; COPYRIGHT (C) 1975, 1984, 1985 BY
7098 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
7099 ; ALL RIGHTS RESERVED.
7100 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
7101 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
7102 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
7103 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
7104 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
7105 ;
7106 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
7107 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
7108 ; CORPORATION.
7109 ;
7110 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7111 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
7112 ;
7113 ; MODULE: SET / CLEAR COMMAND DISPATCH
7114 ;
7115 ; VERSION: 05-00
7116 ;
7117 ; AUTHOR: R. BELANGER
7118 ;
7119 ; DATE: 7603.30
7120 ;
7121 ; THIS MODULE CONTAINS:
7122 ;
7123 ; 1) SET / CLEAR COMMAND DISPATCH CODE
SETCM -- SET / CLEAR COMMAND DI MACRO M1113 03-APR-86 22:56 PAGE 178
.SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
7125 .SBTTL .SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
7126
7127 ;+
7128 ; .CLRCM -- THE "CLEAR" COMMAND
7129 ; .SETCM -- THE "SET" COMMAND
7130 ;
7131 ; THESE ROUTINES ARE THE TOP LEVEL FOR THE SET AND CLEAR COMMANDS.
7132 ; ARGUMENTS ARE CHECKED AND A DISPATCH IS MADE FOR THE OBJECT
7133 ; SPECIFIED IN THE COMMAND LINE
7134 ;
7135 ; INPUT ARGUMENTS:
7136 ;
7137 ; NONE.
7138 ;
7139 ; OUTPUT ARGUMENTS:
7140 ;
7141 ; NONE.
7142 ;
7143 ; ERROR CODES RETURNED:
7144 ;
7145 ; ILC -- ILLEGAL COMMAND.
7146 ;-
7147
7148 .ENABL LSB
7149
7150 013626 .CLRCM::
7151 013626 CALL .CKOBJ ; SEE IF OBJECT FOLLOWS
013626 004737 000000G JSR PC,.CKOBJ
7152 013632 005737 000000G TST .NOTSW ; LOOK AT THE "NOT" SWITCH
7153 013636 001007 BNE 10$ ; ALREADY SAYS CLEAR -- GO ON
7154 013640 005137 000000G COM .NOTSW ; INVERT THE "NOT" SWITCH
7155 013644 000404 BR 10$ ; AND TREAT AS A "SET" COMMAND
7156 ;
7157 013646 .SETCM::
7158 013646 CALL .CKOBJ ; LOOK FOR AN OBJECT
013646 004737 000000G JSR PC,.CKOBJ
7159 013652 005037 000000G CLR .NOTSW ; CLEAR THE "NOT" SWITCH
7160 013656 .SETC0:: ; "SET NOT" ENTRY POINT
7161 013656 10$:
7162 013656 012700 000000G MOV #.SETTB,R0 ; TABLE POINTER TO R0
7163 013662 CALL .TSCAN ; SCAN IT
013662 004737 000000G JSR PC,.TSCAN
7164 013666 011001 MOV (R0),R1 ; LEGAL BITS TO R1
7165 013670 005101 COM R1 ; INVERT THEM
7166 013672 040137 000000G BIC R1,.LGLWD ; SET UP NEW LEGAL WORD
7167 013676 CALLR @2(R0) ; DO WHAT IT SAYS TO
013676 000170 000002 JMP @2(R0)
7168 ;
7169
7170 .DSABL LSB
SETCM -- SET / CLEAR COMMAND DI MACRO M1113 03-APR-86 22:56 PAGE 179
.WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
7172 .SBTTL .WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
7173
7174 ;+
7175 ; .WHATC -- THE "WHAT" COMMAND DISPATCH
7176 ;
7177 ; THIS ROUTINE IS THE TOPMOST LEVEL OF THE "WHAT COMMAND WHICH
7178 ; PERFORMS THE DISPATCH FOR THE SPECIFIED OBJECT.
7179 ;
7180 ; INPUT ARGUMENTS:
7181 ;
7182 ; NONE.
7183 ;
7184 ; OUTPUT ARGUMENTS:
7185 ;
7186 ; NONE.
7187 ;
7188 ; ERROR CODES RETURNED:
7189 ;
7190 ; NONE.
7191 ;-
7192
7193 013702 .WHATC::
7194 013702 012700 000000G MOV #.WHATB,R0 ; TABLE POINTER TO R0
7195 013706 CALL .CKOBJ ; MUST HAVE AN OBJECT
013706 004737 000000G JSR PC,.CKOBJ
7196 013712 CALL .TSCAN ; SCAN IT
013712 004737 000000G JSR PC,.TSCAN
7197 013716 CALL .CKEOC ; MUST HAVE E-O-C
013716 004737 000000G JSR PC,.CKEOC
7198 013722 CALLR @2(R0) ; DO WHAT IT SAYS
013722 000170 000002 JMP @2(R0)
7199 ;
SETCM -- SET / CLEAR COMMAND DI MACRO M1113 03-APR-86 22:56 PAGE 180
.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
7201 .SBTTL .SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
7202
7203 013726 .SCNOT:: ; SET/CLEAR "NO"
7204 013726 CALL .CKOBJ ; MUST HAVE AN OBJECT
013726 004737 000000G JSR PC,.CKOBJ
7205 013732 005137 000000G COM .NOTSW ; INVERT THE "NOT" SWITCH
7206 013736 000747 BR .SETC0 ; AND GET NEXT OBJECT
7207 ;
SETCM -- SET / CLEAR COMMAND DI MACRO M1113 03-APR-86 22:56 PAGE 181
.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
7209
7210
7211 .TITLE SHUTC -- SHUTDOWN COMMAND MODULE 7707.12
7212
7213 .IDENT "005000"
7214 ;
7215 ; COPYRIGHT (C) 1975, 1984, 1985 BY
7216 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
7217 ; ALL RIGHTS RESERVED.
7218 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
7219 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
7220 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
7221 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
7222 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
7223 ;
7224 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
7225 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
7226 ; CORPORATION.
7227 ;
7228 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7229 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
7230 ;
7231 ; MODULE: SHUTDOWN COMMAND
7232 ;
7233 ; VERSION: 03-06
7234 ;
7235 ; AUTHOR: R. BELANGER
7236 ;
7237 ; DATE: 7707.12
7238 ;
7239 ; THIS MODULE CONTAINS:
7240 ;
7241 ; 1) SHUTDOWN COMMAND CODE
SHUTC -- SHUTDOWN COMMAND MODUL MACRO M1113 03-APR-86 22:56 PAGE 182
.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
7243 .SBTTL .SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
7244
7245 ;+
7246 ; .SHUTC -- THE SHUTDOWN COMMAND
7247 ;
7248 ; THIS ROUTINE WILL DEPOSIT A -1 INTO KL LOCATION 30 (EXEC VIRTUAL)
7249 ; TO SHUTDOWN TIMESHARING.
7250 ;
7251 ; INPUT ARGUMENTS:
7252 ;
7253 ; NONE.
7254 ;
7255 ; OUTPUT ARGUMENTS:
7256 ;
7257 ; NONE.
7258 ;
7259 ; ERROR CODES RETURNED:
7260 ;
7261 ; NONE
7262 ;-
7263
7264 013740 .SHUTC::
7265 013740 CALL .CKEOC ; CHECK E-O-C
013740 004737 000000G JSR PC,.CKEOC
7266 013744 112737 000001 000000G MOVB #1,.NOHLT ; TELL RSX20F NOT TO PANIC OVER HALTED KL
7267 013752 005046 CLR -(SP) ; CLEAR ADDRESS BUFFER
7268 013754 PUSH #30 ; .SET THE ADDRESS UP
013754 012746 000030 MOV #30,-(SP)
7269 013760 010600 MOV SP,R0 ; ..GET ADDRESS POINTER
7270 013762 PUSH #17 ; ..SET UP DEPOSIT WORD
013762 012746 000017 MOV #17,-(SP)
7271 013766 PUSH #-^D1 ; ...
013766 012746 177777 MOV #-^D1,-(SP)
7272 013772 PUSH (SP) ; ....
013772 011646 MOV (SP),-(SP)
7273 013774 010601 MOV SP,R1 ; .....SAVE THE POINTER
7274 013776 PUSH R1 ; .....SET UP THE DATA BLOCK
013776 010146 MOV R1,-(SP)
7275 014000 PUSH R0 ; ......
014000 010046 MOV R0,-(SP)
7276 014002 010601 MOV SP,R1 ; .......POINT TO THE BLOCK
7277 014004 012700 000040 MOV #ED.EXV,R0 ; .......EXEC VIRTUAL REFERENCE
7278 014010 CALL .DPKLM ; .......DO THE DEPOSIT
014010 004737 000000G JSR PC,.DPKLM
7279 014014 062706 000016 ADD #^D14,SP ; .......CLEAR THE STACK
7280 014020 CALL ..DTP2 ; START SECONDARY PROTOCOL
014020 004737 000000G JSR PC,..DTP2
7281 014024 CALLR .EXITP ; EXIT THE PARSER
014024 000137 000000G JMP .EXITP
7282 ;
SHUTC -- SHUTDOWN COMMAND MODUL MACRO M1113 03-APR-86 22:56 PAGE 183
.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
7284
7285
7286 .TITLE STRTC -- START COMMAND DISPATCH MODULE 7603.30
7287
7288 .IDENT "005000"
7289
7290 ;
7291 ; COPYRIGHT (C) 1975, 1984, 1985 BY
7292 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
7293 ; ALL RIGHTS RESERVED.
7294 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
7295 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
7296 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
7297 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
7298 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
7299 ;
7300 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
7301 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
7302 ; CORPORATION.
7303 ;
7304 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7305 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
7306 ;
7307 ; MODULE: START COMMAND DISPATCH
7308 ;
7309 ; VERSION: 05-00
7310 ;
7311 ; AUTHOR: R. BELANGER
7312 ;
7313 ; DATE: 7603.30
7314 ;
7315 ; THIS MODULE CONTAINS:
7316 ;
7317 ; 1) START COMMAND DISPATCH CODE
STRTC -- START COMMAND DISPATCH MACRO M1113 03-APR-86 22:56 PAGE 184
.STRTC -- THE "START" COMMAND 7602.26
7319 .SBTTL .STRTC -- THE "START" COMMAND 7602.26
7320
7321 ;+
7322 ; .STRTC -- THE "START" COMMAND.
7323 ;
7324 ; THIS IS THE TOP LEVEL OF THE "START" COMMAND, WHICH CHECKS FOR
7325 ; ARGUMENTS AND DISPATCHES TO THE PROPER LOWER LEVEL ROUTINE.
7326 ;
7327 ; INPUT ARGUMENTS:
7328 ;
7329 ; NONE.
7330 ;
7331 ; OUTPUT ARGUMENTS:
7332 ;
7333 ; NONE.
7334 ;
7335 ; ERROR CODES RETURNED:
7336 ;
7337 ; NONE.
7338 ;-
7339
7340 014030 .STRTC::
7341 014030 CALL .CKARG ; LOOK FOR AN ARGUMENT
014030 004737 000000G JSR PC,.CKARG
7342 014034 001012 BNE .STRTT ; START THE TEN IF NUMERIC
7343 014036 012700 000000G MOV #.STRTB,R0 ; TABLE POINTER TO R0
7344 014042 CALL .TSCAN ; SCAN THE TABLE
014042 004737 000000G JSR PC,.TSCAN
7345 014046 CALLR @2(R0) ; DISPATCH FOR THE OBJECT
014046 000170 000002 JMP @2(R0)
7346 ;
STRTC -- START COMMAND DISPATCH MACRO M1113 03-APR-86 22:56 PAGE 185
.STRTT -- THE "START <TEN>" COMMAND 7710.11
7348 .SBTTL .STRTT -- THE "START <TEN>" COMMAND 7710.11
7349
7350 ;+
7351 ; .STRTT -- THE "START <TEN>" COMMAND.
7352 ; .JUMPC -- THE "JUMP" COMMAND.
7353 ;
7354 ; THESE ROUTINES WILL START THE KL IN EXEC (KERNEL) MODE AT THE
7355 ; ADDRESS SPECIFIED IN THE INPUT STREAM.
7356 ;
7357 ; INPUT ARGUMENTS:
7358 ;
7359 ; NONE.
7360 ;
7361 ; OUTPUT ARGUMENTS:
7362 ;
7363 ; NONE.
7364 ;
7365 ; ERROR CODES RETURNED:
7366 ;
7367 ; ILS -- ILLEGAL SEPARATOR CHARACTER
7368 ; KLA -- KL ADDRESS ERROR
7369 ; MRA -- MISSING REQUIRED ARGUMENT
7370 ; SZI -- START AT ZERO ILLEGAL
7371 ;-
7372
7373 .MCALL $DEF
7374
7375 014052 $DEF
STRTC -- START COMMAND DISPATCH MACRO M1113 03-APR-86 22:56 PAGE 186
.STRTT -- THE "START <TEN>" COMMAND 7710.11
7377 .ENABL LSB
7378
7379 014052 .JUMPC::
7380 014052 CALL 10$ ; START THE KL
014052 004737 014066' JSR PC,10$
7381 014056 000137 000000G JMP .EXITP ; AND EXIT FROM THE PARSER
7382 ;
7383 014062 .STRTT::
7384 014062 CALL .CKRNP ; SEE IF THE KL IS RUNNING
014062 004737 000000G JSR PC,.CKRNP
7385 014066 10$:
7386 014066 005046 CLR -(SP) ; CLEAR ADDRESS BUFFER
7387 014070 005046 CLR -(SP) ; .
7388 014072 005046 CLR -(SP) ; ..
7389 014074 010600 MOV SP,R0 ; ...POINTER TO R0
7390 014076 CALL .GTKLA ; ...GET THE START ADDRESS
014076 004737 000000G JSR PC,.GTKLA
7391 014102 CALL .TPTST ; ...SEE IF IT IS NON ZERO
014102 004737 000000G JSR PC,.TPTST
7392 014106 001424 BEQ STASZI ; ...CAN'T START KL AT 0
7393 014110 CALL .CKEOC ; ...CHECK FOR E-O-C
014110 004737 000000G JSR PC,.CKEOC
7394 014114 032737 000002 000000G BIT #LG.PRG,.FEMOD ; ...ARE WE AT LEAST IN PROGRAMMER MODE??
7395 014122 001402 BEQ 20$ ; ...NO -- JUST GO ON
7396 014124 CALL .ABORT ; ...YES -- START THE KL BY ANY MEANS
014124 004737 000004' JSR PC,.ABORT
7397 014130 20$:
7398 014130 010001 MOV R0,R1 ; ...POINTER FOR THE CALL
7399 014132 CALL .KLST ; ...START THE KL
014132 004737 000000G JSR PC,.KLST
7400 014136 062706 000006 ADD #^D6,SP ; ...CLEAR THE STACK
7401 014142 005037 000000G CLR .NOERR ; LET RSX20F RECOGNIZE KL ERRORS
7402 014146 052737 000000G 000002G BIS #EF.CRI,.COMEF+2 ; DECLARE THE COMM REGION INVALID
7403 014154 CALLR ..DTP2 ; START UP SECONDARY PROTOCOL AND EXIT.
014154 000137 000000G JMP ..DTP2
7404 ;
7405 014160 STASZI:
7406 014160 ERROR$ SZI ; ERROR -- START AT ZERO ILLEGAL
014160 012746 075331 MOV #^RSZI,-(SP)
014164 104400 TRAP TC.ERR
7407 ;
7408
7409 .DSABL LSB
STRTC -- START COMMAND DISPATCH MACRO M1113 03-APR-86 22:56 PAGE 187
.STRTU -- THE "START MICROCODE" COMMAND 7602.26
7411 .SBTTL .STRTU -- THE "START MICROCODE" COMMAND 7602.26
7412
7413 ;+
7414 ; .STRTU -- THE "START MICROCODE" COMMAND.
7415 ;
7416 ; THIS ROUTINE STARTS THE KL MICROCODE AT THE ADDRESS SPECIFIED.
7417 ; IF NO ADDRESS IS SPECIFIED, 0000 IS ASSUMED.
7418 ;
7419 ; INPUT ARGUMENTS:
7420 ;
7421 ; NONE.
7422 ;
7423 ; OUTPUT ARGUMENTS:
7424 ;
7425 ; NONE.
7426 ;
7427 ; ERROR CODES RETURNED:
7428 ;
7429 ; NONE.
7430 ;-
7431
7432 014166 .STRTU::
7433 014166 CALL .CKRUN ; SEE IF THE KL IS RUNNING
014166 004737 000000G JSR PC,.CKRUN
7434 014172 005000 CLR R0 ; CLEAR R0 (FOR DEFAULT)
7435 014174 111504 MOVB (R5),R4 ; LOOK AT THE CURRENT CHARACTER
7436 014176 132764 000010 000000G BITB #CH.EOC,.CHTAB(R4)
7437 014204 001004 BNE 10$ ; DO DEFAULT START IF E-O-C
7438 014206 CALL .GTELN ; GO READ THE ADDRESS
014206 004737 000000G JSR PC,.GTELN
7439 014212 CALL .CKEOC ; MUST HAVE E-O-C
014212 004737 000000G JSR PC,.CKEOC
7440 014216 10$:
7441 014216 032737 100000 000000G BIT #KF.CLK,.KLFLG ; IS THE KL CLOCK ON?
7442 014224 001402 BEQ 20$ ; NO -- JUST START THE MICROCODE
7443 014226 CALL .KLHLT ; YES -- STOP THE KL
014226 004737 000000G JSR PC,.KLHLT
7444 014232 20$:
7445 014232 CALLR .STUCD ; START THE KL MICROCODE AND RETURN
014232 000137 000000G JMP .STUCD
7446 ;
STRTC -- START COMMAND DISPATCH MACRO M1113 03-APR-86 22:56 PAGE 188
.STRTU -- THE "START MICROCODE" COMMAND 7602.26
7448
7449 .TITLE SWCMD -- SET / CLEAR / WHAT COMMAND MODULE 7702.16
7450
7451 .IDENT "007030"
7452
7453 ; COPYRIGHT (C) 1975, 1984, 1985 BY
7454 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
7455 ; ALL RIGHTS RESERVED.
7456 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
7457 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
7458 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
7459 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
7460 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
7461 ;
7462 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
7463 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
7464 ; CORPORATION.
7465 ;
7466 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7467 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
7468 ;
7469 ; MODULE: SET / CLEAR COMMAND
7470 ;
7471 ; VERSION: 06-25
7472 ;
7473 ; AUTHOR: R. BELANGER
7474 ;
7475 ; DATE: 7702.16
7476 ;
7477 ; THIS MODULE CONTAINS:
7478 ;
7479 ; 1) SET / CLEAR CONSOLE COMMAND CODE
7480 ;
7481 ; MODIFICATIONS:
7482 ;
7483 ; NO. DATE PROGRAMMER REASON
7484 ; --- ---- ---------- ------
7485 ; 001 28-FEB-77 R. BELANGER CHANGE "ECL" ERROR TO "CLE"
7486 ; [5.1011] 19-OCT-79 R. BELANGER ADD "WHAT HARDWARE" COMMAND
7487 ; 002 11-MAR-80 S. LEAPLINE ADD "SET/CLEAR/WHAT FAULT"
7488 ; 003 05-NOV-80 S. LEAPLINE ADD "SET/CLEAR/WHAT AUTO-TAKE"
7489 ;
7490 ;09-JUN-83 TCO 6.1675 D. WEAVER
7491 ; REMOVE THE "SET/CLEAR/WHAT AUTO-TAKE".
7492 ;
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 189
.SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
7494 .SBTTL .SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
7495
7496 .ENABL LSB
7497
7498 014236 .SCCON::
7499 014236 005737 000000G TST .NOTSW ; IS THIS A CLEAR?
7500 014242 001016 BNE 10$ ; YES -- SET OPERATOR
7501 014244 132764 000010 000000G BITB #CH.EOC,.CHTAB(R4)
7502 014252 001017 BNE .SCCOP ; E-O-C -- SET PROGRAMMER
7503 014254 CALL .CKOBJ ; MUST HAVE AN OBJECT
014254 004737 000000G JSR PC,.CKOBJ
7504 014260 012700 000000G MOV #.SCCOT,R0 ; TABLE POINTER TO R0
7505 014264 CALL .TSCAN ; SCAN THE TABLE
014264 004737 000000G JSR PC,.TSCAN
7506 014270 CALL .CKEOC ; MUST HAVE E-O-C
014270 004737 000000G JSR PC,.CKEOC
7507 014274 CALLR @2(R0) ; EXECUTE THE COMMAND
014274 000170 000002 JMP @2(R0)
7508 ;
7509 014300 10$:
7510 014300 CALL .CKEOC ; MUST HAVE E-O-C IF CLEAR
014300 004737 000000G JSR PC,.CKEOC
7511 014304 .SCCOO::
7512 014304 012701 000001 MOV #LG.OPR,R1 ; OPERATOR CONSULE
7513 014310 000405 BR 20$ ; EXIT
7514 ;
7515 014312 .SCCOP::
7516 014312 012701 000003 MOV #LG.PRM,R1 ; PROGRAMMER CONSOLE
7517 014316 000402 BR 20$ ; EXIT
7518 ;
7519 014320 .SCCOM::
7520 014320 012701 000007 MOV #LG.ALL,R1 ; MAINTENANCE CONSOLE
7521 014324 20$:
7522 014324 105737 000000G TSTB .KLNSW+0 ; +++001 IS REMOTE KLINIK MODE ENABLED?
7523 014330 003403 BLE 30$ ; +++001 NO -- GO ON
7524 014332 120137 000001G CMPB R1,.KLNMD+1 ; +++001 YES -- CAN WE DO THIS?
7525 014336 003005 BGT SCCCLE ; NO -- GIVE "CLE" ERROR
7526 014340 30$:
7527 014340 010137 000000G MOV R1,.FEMOD ; YES -- SET THE CONSOLE MODE
7528 014344 000405 BR .WHCON ; PRINT CONSOLE MODE AND EXIT
7529 ;
7530 014346 .SCCOU::
7531 014346 CALLR .EXITP ; EXIT TO USER CONSOLE
014346 000137 000000G JMP .EXITP
7532 ;
7533 014352 SCCCLE:
7534 014352 ERROR$ CLE ; ERROR -- CONSOLE LIMIT EXCEEDED
014352 012746 012245 MOV #^RCLE,-(SP)
014356 104400 TRAP TC.ERR
7535 ;
7536
7537 .DSABL LSB
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 190
.WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
7539 .SBTTL .WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
7540
7541 014360 .WHCON::
7542 014360 012700 002666' MOV #WCMMSG,R0 ; MESSAGE POINTER TO R0
7543 014364 CALL .TYMSG ; PRINT IT
014364 004737 000000G JSR PC,.TYMSG
7544 014370 013701 000000G MOV .FEMOD,R1 ; MODE WORD TO R1
7545 014374 012700 000000G MOV #MNTMSG,R0 ; MAINTENANCE
7546 014400 032701 000004 BIT #LG.MNT,R1 ; IS IT ON?
7547 014404 001007 BNE 10$ ; YES -- SAY SO
7548 014406 012700 000000G MOV #PRGMSG,R0 ; NO -- PROGRAMMER?
7549 014412 032701 000002 BIT #LG.PRG,R1 ; IS IT ON?
7550 014416 001002 BNE 10$ ; YES -- SAY SO
7551 014420 012700 000000G MOV #OPRMSG,R0 ; NO -- MUST BE OPERATOR
7552 014424 10$:
7553 014424 CALLR .TYLIN ; YES -- PRINT AND EXIT
014424 000137 000000G JMP .TYLIN
7554 ;
7555
7556 002666 .PSECT MESSAG
7557
7558 002666 WCMMSG:
7559 002666 040 103 117 .ASCIZ % CONSOLE MODE: %
002671 116 123 117
002674 114 105 040
002677 115 117 104
002702 105 072 040
002705 000
7560
7561 014430 .PSECT
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 191
.SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
7563 .SBTTL .SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
7564
7565 014430 .SCINC:: ; SET/CLEAR "INCREMENT"
7566 014430 005737 000000G TST .NOTSW ; IS THIS A CLEAR?
7567 014434 001016 BNE 10$ ; YES -- JUST CLEAR IT
7568 014436 005046 CLR -(SP) ; NO -- CLEAR A BUFFER ON THE STACK
7569 014440 005046 CLR -(SP) ; .
7570 014442 005046 CLR -(SP) ; ..
7571 014444 010600 MOV SP,R0 ; ...POINT TO THE BUFFER
7572 014446 CALL .GTNUM ; ...READ THE NUMBER
014446 004737 000000G JSR PC,.GTNUM
7573 014452 CALL .CKEOC ; ...MUST HAVE E-O-C
014452 004737 000000G JSR PC,.CKEOC
7574 014456 012701 000000G MOV #.KLINC,R1 ; ...POINT TO THE INCREMENT
7575 014462 POP (R1)+ ; ...LOAD THE NEW INCREMENT
014462 012621 MOV (SP)+,(R1)+
7576 014464 POP (R1)+ ; ..
014464 012621 MOV (SP)+,(R1)+
7577 014466 POP (R1) ; .
014466 012611 MOV (SP)+,(R1)
7578 014470 000406 BR 20$ ; AND EXIT
7579 ;
7580 014472 10$:
7581 014472 CALL .CKEOC ; MUST HAVE E-O-C
014472 004737 000000G JSR PC,.CKEOC
7582 014476 012700 000000G MOV #.KLINC,R0 ; POINT TO THE INCREMENT
7583 014502 CALL .TPCLR ; CLEAR IT
014502 004737 000000G JSR PC,.TPCLR
7584 014506 20$:
7585 ; BR .WHINC ; PRINT INCREMENT AND EXIT
7586 ;
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 192
.WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
7588 .SBTTL .WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
7589
7590 .ENABL LSB
7591
7592 014506 .WHINC::
7593 014506 012700 002706' MOV #WHIMSG,R0 ; MESSAGE POINTER TO R0
7594 014512 012701 000000G MOV #.KLINC,R1 ; INREMENT POINTER
7595 014516 000412 BR 10$ ; DO COMMON CODE
7596 ;
7597 014520 .WHRPT::
7598 014520 013737 000000G 000000G MOV .ORADX,.RDXSV ; SAVE CURRENT OUTPUT RADIX
7599 014526 012737 000012 000000G MOV #^D10,.ORADX ; SET IT TO DECIMAL
7600 014534 012700 002726' MOV #WHRMSG,R0 ; MESSAGE POINTER TO R0
7601 014540 012701 000000G MOV #.RPTCT,R1 ; REPEAT POINTER
7602 014544 10$:
7603 014544 CALL .TYMSG ; PRINT THE MESSAGE
014544 004737 000000G JSR PC,.TYMSG
7604 014550 005037 000000G CLR .LDZFL ; NO LEADING ZEROES
7605 014554 010100 MOV R1,R0 ; POINTER TO R0
7606 014556 CALL .TYKLN ; PRINT THE NUMBER
014556 004737 000000G JSR PC,.TYKLN
7607 014562 013737 000000G 000000G MOV .RDXSV,.ORADX ; RESET THE OUTPUT RADIX
7608 014570 CALLR .TCRLF ; END THE LINE AND EXIT
014570 000137 000000G JMP .TCRLF
7609 ;
7610
7611 .DSABL LSB
7612
7613 002706 .PSECT MESSAG
7614
7615 002706 WHIMSG:
7616 002706 040 113 114 .ASCIZ % KL INCREMENT: %
002711 040 111 116
002714 103 122 105
002717 115 105 116
002722 124 072 040
002725 000
7617 002726 WHRMSG:
7618 002726 040 122 105 .ASCIZ % REPEAT COUNT: %
002731 120 105 101
002734 124 040 103
002737 117 125 116
002742 124 072 040
002745 000
7619 014574 .PSECT
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 193
.SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
7621 .SBTTL .SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
7622
7623 .ENABL LSB
7624
7625 014574 .SCMEM:: ; SET / CLEAR "MEMORY"
7626 014574 005737 000000G TST .NOTSW ; IS THIS A CLEAR?
7627 014600 001015 BNE 10$ ; YES -- GO DO THE CLEAR
7628 014602 CALL .CKOBJ ; NO -- MUST HAVE AN OBJECT
014602 004737 000000G JSR PC,.CKOBJ
7629 014606 012700 000000G MOV #.SCMTB,R0 ; TABLE POINTER TO R0
7630 014612 CALL .TSCAN ; SCAN IT
014612 004737 000000G JSR PC,.TSCAN
7631 014616 CALL .CKEOC ; MUST BE E-O-C
014616 004737 000000G JSR PC,.CKEOC
7632 014622 CALLR @2(R0) ; DISPATCH FOR OBJECT
014622 000170 000002 JMP @2(R0)
7633 ;
7634 014626 .SCMEL:: ; SET MEMORY ELEVEN
7635 014626 012700 000002 MOV #^D2,R0 ; ELEVEN OFFSET IS 2
7636 014632 000403 BR 20$ ; DO COMMON STUFF
7637 014634 10$:
7638 014634 CALL .CKEOC ; MUST HAVE E-O-C TO CLEAR
014634 004737 000000G JSR PC,.CKEOC
7639 014640 .SCMKL::
7640 014640 005000 CLR R0 ; TEN OFFSET IS 0
7641 014642 20$:
7642 014642 010037 000000G MOV R0,.MEMFL ; SET THE FLAG
7643 ; BR .WHMEM ; AND EXIT
7644 ;
7645
7646 .DSABL LSB
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 194
.WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
7648 .SBTTL .WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
7649
7650 014646 .WHMEM::
7651 014646 012700 002746' MOV #WHMMSG,R0 ; MESSAGE POINTER TO R0
7652 014652 CALL .TYMSG ; TYPE IT
014652 004737 000000G JSR PC,.TYMSG
7653 014656 012700 000000G MOV #TENMSG,R0 ; ASSUME TEN
7654 014662 005737 000000G TST .MEMFL ; IS IT "TEN"
7655 014666 001402 BEQ 10$ ; YES -- SAY SO
7656 014670 012700 000000G MOV #ELEMSG,R0 ; NO -- SAY "ELEVEN"
7657 014674 10$:
7658 014674 CALLR .TYLIN ; PRINT AND EXIT
014674 000137 000000G JMP .TYLIN
7659 ;
7660
7661 002746 .PSECT MESSAG
7662
7663 002746 WHMMSG:
7664 002746 040 115 105 .ASCIZ % MEMORY: %
002751 115 117 122
002754 131 072 040
002757 000
7665
7666 014700 .PSECT
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 195
.SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
7668 .SBTTL .SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
7669
7670 014700 .SCOFS:: ; SET/CLEAR "OFFSET"
7671 014700 012700 000000G MOV #.APRWD,R0 ; DEFAULT OFFSET
7672 014704 005737 000000G TST .NOTSW ; IS THIS A CLEAR?
7673 014710 001002 BNE 10$ ; YES -- JUST EXIT
7674 014712 CALL .GTELN ; NO -- READ NEW OFFSET
014712 004737 000000G JSR PC,.GTELN
7675 014716 10$:
7676 014716 CALL .CKEOC ; MUST HAVE E-O-C
014716 004737 000000G JSR PC,.CKEOC
7677 014722 010037 000000G MOV R0,.RELWD ; SET IT
7678 ; BR .WHOFS ; PRINT IT AND RETURN
7679 ;
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 196
.WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
7681 .SBTTL .WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
7682
7683 014726 .WHOFS::
7684 014726 012700 002760' MOV #WHOMSG,R0 ; MESSAGE POINTER TO R0
7685 014732 CALL .TYMSG ; PRINT IT
014732 004737 000000G JSR PC,.TYMSG
7686 014736 013700 000000G MOV .RELWD,R0 ; OFFSET TO R0
7687 014742 CALL .TYELA ; PRINT IT
014742 004737 000000G JSR PC,.TYELA
7688 014746 CALLR .TCRLF ; END THE LINE AND EXIT
014746 000137 000000G JMP .TCRLF
7689 ;
7690
7691 002760 .PSECT MESSAG
7692
7693 002760 WHOMSG:
7694 002760 040 120 104 .ASCIZ % PDP-11 OFFSET: %
002763 120 055 061
002766 061 040 117
002771 106 106 123
002774 105 124 072
002777 040 000
7695 014752 .PSECT
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 197
.SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
7697 .SBTTL .SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
7698
7699 014752 .SCRLD:: ; SET/CLEAR "RELOAD"
7700 014752 CALL .CKEOC ; MUST HAVE E-O-C
014752 004737 000000G JSR PC,.CKEOC
7701 014756 113737 000000G 000000G MOVB .NOTSW,.KLRLD ; SET/CLEAR THE SWITCH
7702 014764 000413 BR .WHRLD ; PRINT THE STATE AND EXIT
7703 ;
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 198
.SCRTY -- THE "SET / CLEAR RETRY" COMMAND 7-DEC-78
7705 .SBTTL .SCRTY -- THE "SET / CLEAR RETRY" COMMAND 7-DEC-78
7706
7707 014766 .SCRTY:: ;[TCO 4.2107] SET/CLEAR "RETRY"
7708 014766 CALL .CKEOC ;[TCO 4.2107] MUST HAVE E-O-C
014766 004737 000000G JSR PC,.CKEOC
7709 014772 012701 000001 MOV #1,R1 ;[TCO 4.2107] DEFAULT IS SET
7710 014776 005737 000000G TST .NOTSW ;[TCO 4.2107] IS THIS A CLEAR
7711 015002 001401 BEQ 10$ ;[TCO 4.2107] NO -- GO ON
7712 015004 005001 CLR R1 ;[TCO 4.2107] YES -- CLEAR FLAG
7713 015006 010137 000000G 10$: MOV R1,.KACFL ;[TCO 4.2107] SET/CLEAR FLAG
7714 015012 000412 BR .WHRTY ;[TCO 4.2107] PRINT STATE AND EXIT
7715 ;
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 199
.WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
7717 .SBTTL .WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
7718
7719 .ENABL LSB
7720
7721 015014 .WHRLD::
7722 015014 012700 003001' MOV #WRLMSG,R0 ; MESSAGE POINTER TO R0
7723 015020 CALL .TYMSG ; PRINT IT
015020 004737 000000G JSR PC,.TYMSG
7724 015024 012700 000000G MOV #OFFMSG,R0 ; ASSUME "OFF"
7725 015030 105737 000000G TSTB .KLRLD ; IS IT OFF?
7726 015034 001014 BNE 20$ ; YES -- GO ON
7727 015036 000411 BR 10$ ; NO -- SAY SO
7728 ;
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 200
.WHRTY -- THE "WHAT RETRY" COMMAND 7-DEC-78
7730 .SBTTL .WHRTY -- THE "WHAT RETRY" COMMAND 7-DEC-78
7731
7732 015040 .WHRTY:: ; [TCO 4.2107] WHAT RETRY COMMAND ENTRY
7733 015040 012700 003022' MOV #WRTMSG,R0 ; [TCO 4.2107] MESSAGE POINTER
7734 015044 CALL .TYMSG ; [TCO 4.2107] PRINT IT
015044 004737 000000G JSR PC,.TYMSG
7735 015050 012700 000000G MOV #OFFMSG,R0 ; [TCO 4.2107] ASSUME OFF
7736 015054 005737 000000G TST .KACFL ; [TCO 4.2107] IS IT SET?
7737 015060 001402 BEQ 20$ ; [TCO 4.2107] NO -- GO ON
7738 015062 10$:
7739 015062 012700 000000G MOV #ONMSG,R0 ; [TCO 4.2107] YES -- CHANGE MESSAGE
7740 015066 20$:
7741 015066 CALLR .TYLIN ; [TCO 4.2107] PRINT AND EXIT
015066 000137 000000G JMP .TYLIN
7742 ;
7743
7744 .DSABL LSB
7745
7746 003001 .PSECT MESSAG
7747
7748 003001 WRLMSG:
7749 003001 040 122 105 .ASCIZ % RELOAD ENABLE: %
003004 114 117 101
003007 104 040 105
003012 116 101 102
003015 114 105 072
003020 040 000
7750 003022 WRTMSG:
7751 003022 040 122 105 .ASCIZ % RETRY ENABLE: %
003025 124 122 131
003030 040 105 116
003033 101 102 114
003036 105 072 040
003041 000
7752 015072 .PSECT
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 201
.SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
7754 .SBTTL .SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
7755
7756 015072 .SCRPT::
7757 015072 013737 000000G 000000G MOV .IRADX,.RDXSV ; SAVE CURRENT INPUT RADIX
7758 015100 012737 000012 000000G MOV #^D10,.IRADX ; SET IT TO DECIMAL
7759 015106 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
7760 015110 005046 CLR -(SP) ; .
7761 015112 005046 CLR -(SP) ; ..
7762 015114 010600 MOV SP,R0 ; ...POINT TO THE BUFFER
7763 015116 005737 000000G TST .NOTSW ; ...IS THIS A CLEAR?
7764 015122 001002 BNE 10$ ; ...YES -- DO THE CLEAR
7765 015124 CALL .GTKLN ; ...NO -- READ THE NEW REPEAT COUNT
015124 004737 000000G JSR PC,.GTKLN
7766 015130 10$:
7767 015130 CALL .CKEOC ; ...MUST HAVE E-O-C
015130 004737 000000G JSR PC,.CKEOC
7768 015134 012701 000000G MOV #.RPTCT,R1 ; ...POINT TO THE CURRENT REPEAT COUNT
7769 015140 POP <(R1)+,(R1)+,(R1)>
015140 012621 MOV (SP)+,(R1)+
015142 012621 MOV (SP)+,(R1)+
015144 012611 MOV (SP)+,(R1)
7770 015146 013700 000000G MOV .RPTPT,R0 ; POINT TO THE STACKED REPEAT COUNT
7771 015152 CALL .TPCLR ; CLEAR IT OUT
015152 004737 000000G JSR PC,.TPCLR
7772 015156 013737 000000G 000000G MOV .RDXSV,.IRADX ; RESET INPUT RADIX
7773 015164 CALLR .WHRPT ; PRINT THE NEW REPEAT COUNT AND EXIT
015164 000137 014520' JMP .WHRPT
7774 ;
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 202
.SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
7776 .SBTTL .SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
7777
7778 015170 .SCTRK:: ; SET/CLEAR "TRACK"
7779 015170 CALL .CKEOC ; MUST HAVE E-O-C
015170 004737 000000G JSR PC,.CKEOC
7780 015174 005001 CLR R1 ; CLEAR R1
7781 015176 005737 000000G TST .NOTSW ; IS THIS A CLEAR?
7782 015202 001001 BNE 10$ ; YES -- GO ON
7783 015204 005101 COM R1 ; NO -- INVERT THE SWITCH
7784 015206 10$:
7785 015206 010137 000000G MOV R1,.TRKWD ; SET/CLEAR THE SWITCH
7786 ; BR .WHTRK ; PRINT STATE AND RETURN
7787 ;
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 203
.WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
7789 .SBTTL .WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
7790
7791 .ENABL LSB
7792
7793 015212 .WHTRK::
7794 015212 012700 003042' MOV #WHTMSG,R0 ; MESSAGE POINTER TO R0
7795 015216 CALL .TYMSG ; PRINT IT
015216 004737 000000G JSR PC,.TYMSG
7796 015222 012700 000000G MOV #ONMSG,R0 ; ASSUME "ON"
7797 015226 005737 000000G TST .TRKWD ; IS IT ON?
7798 015232 001021 BNE 10$ ; YES -- GO ON
7799 015234 012700 000000G MOV #OFFMSG,R0 ; NO -- SAY SO
7800 015240 000416 BR 10$ ; PRINT AND EXIT
7801 ;
7802
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 204
.WHATV -- THE "WHAT VERSION" COMMAND 7607.21
7804 .SBTTL .WHATV -- THE "WHAT VERSION" COMMAND 7607.21
7805
7806 015242 .WHATV::
7807 015242 012700 003062' MOV #WVMSG1,R0 ; MESSAGE POINTER TO R0
7808 015246 CALL .TYMSG ; PRINT THAT
015246 004737 000000G JSR PC,.TYMSG
7809 015252 012700 000000G MOV #CPVMSG,R0 ; PARSER VERSION NUMBER
7810 015256 CALL .TYLIN ; PRINT IT
015256 004737 000000G JSR PC,.TYLIN
7811 015262 012700 003104' MOV #WVMSG2,R0 ; MESSAGE POINTER TO R0
7812 015266 CALL .TYMSG ; PRINT IT
015266 004737 000000G JSR PC,.TYMSG
7813 015272 012700 000000G MOV #.VERNO,R0 ; POINTER TO RSX20F ASCIZ VERSION NUMBER
7814 015276 10$:
7815 015276 CALLR .TYLIN ; PRINT IT AND EXIT
015276 000137 000000G JMP .TYLIN
7816 ;
7817
7818 003042 .PSECT MESSAG
7819
7820 003042 WHTMSG:
7821 003042 040 124 122 .ASCIZ % TRACK ENABLE: %
003045 101 103 113
003050 040 105 116
003053 101 102 114
003056 105 072 040
003061 000
7822 003062 WVMSG1:
7823 003062 040 120 101 .ASCIZ % PARSER VERSION: %
003065 122 123 105
003070 122 040 126
003073 105 122 123
003076 111 117 116
003101 072 040 000
7824 003104 WVMSG2:
7825 003104 040 122 123 .ASCIZ % RSX20F VERSION: %
003107 130 062 060
003112 106 040 126
003115 105 122 123
003120 111 117 116
003123 072 040 000
7826
7827 015302 .PSECT
7828
7829 .DSABL LSB
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 205
.WHRDW -- DISPLAY KL10 HARDWARE ENVIRONMENT 7910.18
7831 .SBTTL .WHRDW -- DISPLAY KL10 HARDWARE ENVIRONMENT 7910.18
7832
7833 ;+
7834 ; .WHRDW -- DISPLAY KL10 HARDWARE ENVIRONMENT
7835 ;
7836 ; THIS SUBROUTINE WILL DISPLAY THE KL10 HARDWARE ENVIRONMENT DETERMINED
7837 ; FROM THE CONTENT OF ".CPUSN" AND ".HRDWR" IN THE FRONT-END STATUS BLOCK.
7838 ;
7839 ; THIS ROUTINE WAS ADDED FOR TCO 5.1011
7840 ;
7841 ; INPUT ARGUMENTS:
7842 ;
7843 ; NONE.
7844 ;
7845 ; OUTPUT ARGUMENTS:
7846 ;
7847 ; NONE.
7848 ;
7849 ; ERROR CODES RETURNED:
7850 ;
7851 ; CRH -- CAN'T READ HARDWARE OPTIONS
7852 ; MRH -- HARDWARE OPTIONS MUST YET BE READ
7853 ;-
7854
7855 015302 .WHRDW::
7856 015302 005737 000000G TST .CPUSN ; DO WE HAVE THE HARDWARE OPTIONS??
7857 015306 001474 BEQ WHRMRH ; NO -- MUST BE READ BY KLINIT
7858 015310 002476 BLT WHRCRH ; NO -- CAN'T BE READ
7859 015312 012700 003126' MOV #WHHMS0,R0 ; YES -- SET UP PREAMBLE
7860 015316 CALL .TYMSG ; PRINT IT
015316 004737 000000G JSR PC,.TYMSG
7861 015322 013700 000000G MOV .CPUSN,R0 ; GET THE SERIAL NUMBER
7862 015326 PUSH .ORADX ; SAVE CURRENT RADIX
015326 013746 000000G MOV .ORADX,-(SP)
7863 015332 012737 000012 000000G MOV #^D10,.ORADX ; .SET RADIX TO DECIMAL
7864 015340 CALL .TYELN ; .PRINT IT
015340 004737 000000G JSR PC,.TYELN
7865 015344 012700 003142' MOV #WHHMS1,R0 ; .MODEL PREAMBLE TO R0
7866 015350 CALL .TYMSG ; .PRINT IT
015350 004737 000000G JSR PC,.TYMSG
7867 015354 012700 000101 MOV #'A,R0 ; .ASSUME A MODEL "A"
7868 015360 032737 000000G 000000G BIT #H.KEXT,.HRDWR ; .IS IT A MODEL "A"??
7869 015366 001401 BEQ 10$ ; .YES -- GO ON
7870 015370 005200 INC R0 ; .NO -- SET IT TO "B"
7871 015372 10$:
7872 015372 CALL .TYCHR ; .AND PRINT IT
015372 004737 000000G JSR PC,.TYCHR
7873 015376 CALL .TYCOM ; .PRINT COMMA
015376 004737 000000G JSR PC,.TYCOM
7874 015402 CALL .TYSPC ; .AND A SPACE
015402 004737 000000G JSR PC,.TYSPC
7875 015406 012700 000074 MOV #^D60,R0 ; .ASSUME 60 HERTZ
7876 015412 032737 000000G 000000G BIT #H.KPWR,.HRDWR ; .IS IT 60 HERTZ??
7877 015420 001402 BEQ 20$ ; .YES -- GO ON
7878 015422 162700 000012 SUB #^D10,R0 ; .NO -- MAKE IT 50
7879 015426 20$:
7880 015426 CALL .TYELN ; .PRINT POWER FREQUENCY
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 205-1
.WHRDW -- DISPLAY KL10 HARDWARE ENVIRONMENT 7910.18
015426 004737 000000G JSR PC,.TYELN
7881 015432 POP .ORADX ; RESTORE RADIX
015432 012637 000000G MOV (SP)+,.ORADX
7882 015436 012700 003154' MOV #WHHMS2,R0 ; END OF LINE
7883 015442 CALL .TYLIN ; PRINT THE LINE
015442 004737 000000G JSR PC,.TYLIN
7884 015446 012702 000004 MOV #4,R2 ; ITERATION COUNT TO R2
7885 015452 012703 001060' MOV #WHWTAB,R3 ; TABLE POINTER TO R3
7886 015456 30$:
7887 015456 012300 MOV (R3)+,R0 ; MESSAGE POINTER TO R0
7888 015460 032337 000000G BIT (R3)+,.HRDWR ; IS THE OPTION PRESENT??
7889 015464 001402 BEQ 40$ ; NO -- GO ON
7890 015466 CALL .TYLIN ; YES -- SAY SO
015466 004737 000000G JSR PC,.TYLIN
7891 015472 40$:
7892 015472 077207 SOB R2,30$ ; LOOP THROUGH ALL OPTIONS
7893 015474 CALLR .TCRLF ; END THE LINE AND EXIT
015474 000137 000000G JMP .TCRLF
7894 ;
7895 015500 WHRMRH:
7896 015500 ERROR$ MRH ; MUST READ HARDWARE
015500 012746 052030 MOV #^RMRH,-(SP)
015504 104400 TRAP TC.ERR
7897 ;
7898 015506 WHRCRH:
7899 015506 ERROR$ CRH ; CAN'T READ HARDWARE
015506 012746 012630 MOV #^RCRH,-(SP)
015512 104400 TRAP TC.ERR
7900 ;
7901
7902 001060 .PSECT DATA
7903
7904 001060 WHWTAB:
7905 001060 003164' 000000G .WORD WHHMS3,H.KMOS
7906 001064 003213' 000000G .WORD WHHMS4,H.KEXT
7907 001070 003240' 000000G .WORD WHHMS5,H.KCHN
7908 001074 003263' 000000G .WORD WHHMS6,H.KCAC
7909
7910 003126 .PSECT MESSAG
7911
7912 003126 WHHMS0:
7913 003126 040 113 114 .ASCIZ % KL10 S/N: %
003131 061 060 040
003134 123 057 116
003137 072 040 000
7914 003142 WHHMS1:
7915 003142 056 054 040 .ASCIZ %., MODEL %
003145 115 117 104
003150 105 114 040
003153 000
7916 003154 WHHMS2:
7917 003154 056 040 110 .ASCIZ %. HERTZ%
003157 105 122 124
003162 132 000
7918 003164 WHHMS3:
7919 003164 011 115 117 .ASCIZ % MOS MASTER OSCILLATOR%
003167 123 040 115
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 205-2
.WHRDW -- DISPLAY KL10 HARDWARE ENVIRONMENT 7910.18
003172 101 123 124
003175 105 122 040
003200 117 123 103
003203 111 114 114
003206 101 124 117
003211 122 000
7920 003213 WHHMS4:
7921 003213 011 105 130 .ASCIZ % EXTENDED ADDRESSING%
003216 124 105 116
003221 104 105 104
003224 040 101 104
003227 104 122 105
003232 123 123 111
003235 116 107 000
7922 003240 WHHMS5:
7923 003240 011 111 116 .ASCIZ % INTERNAL CHANNELS%
003243 124 105 122
003246 116 101 114
003251 040 103 110
003254 101 116 116
003257 105 114 123
003262 000
7924 003263 WHHMS6:
7925 003263 011 103 101 .ASCIZ % CACHE%
003266 103 110 105
003271 000
7926
7927 015514 .PSECT
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 206
.SFREC -- SET/CLEAR FAULT COMMAND
7929 .SBTTL .SFREC -- SET/CLEAR FAULT COMMAND
7930
7931 .ENABL LSB
7932
7933 015514 .SFREC::
7934 015514 CALL .CKEOC ;MUST HAVE E-O-C
015514 004737 000000G JSR PC,.CKEOC
7935 015520 113737 000000G 000000G MOVB .NOTSW,.KLFCF ;SET/CLEAR THE FLAG
7936 015526 000402 BR 20$
7937 ;
SWCMD -- SET / CLEAR / WHAT COM MACRO M1113 03-APR-86 22:56 PAGE 207
WHAT FAULT CONTINUATION COMMAND
7939 .SBTTL WHAT FAULT CONTINUATION COMMAND
7940
7941 015530 .WHREC::
7942 015530 CALL .CKEOC ;MUST HAVE E-O-C
015530 004737 000000G JSR PC,.CKEOC
7943 015534 20$:
7944 015534 012700 003272' MOV #WHRECM,R0 ;FAULT-CONTINUATION MESSAGE
7945 015540 CALL .TYMSG ;TYPE IT
015540 004737 000000G JSR PC,.TYMSG
7946 015544 012700 000000G MOV #ONMSG,R0 ;ASSUME IT'S ON
7947 015550 105737 000000G TSTB .KLFCF ;.KLCON = 0 = ON
7948 015554 001402 BEQ 10$ ;BIT IS OFF, F-C IS ON
7949 015556 012700 000000G MOV #OFFMSG,R0 ;BIT IS ON, F-C IS OFF
7950 015562 10$:
7951 015562 CALLR .TYLIN ;TYPE IT AND EXIT
015562 000137 000000G JMP .TYLIN
7952 ;
7953 .DSABL LSB
7954 003272 .PSECT MESSAG
7955
7956 003272 WHRECM:
7957 003272 106 101 125 .ASCIZ %FAULT-CONTINUATION: %
003275 114 124 055
003300 103 117 116
003303 124 111 116
003306 125 101 124
003311 111 117 116
003314 072 040 000
7958
7959 015566 .PSECT
7960
7961 .TITLE SWCPC -- SET / CLEAR CLOCK AND PARITY MODULE 7608.19
7962
7963 .IDENT "005000"
7964
7965 ;
7966 ; COPYRIGHT (C) 1975, 1984, 1985 BY
7967 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
7968 ; ALL RIGHTS RESERVED.
7969 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
7970 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
7971 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
7972 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
7973 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
7974 ;
7975 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
7976 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
7977 ; CORPORATION.
7978 ;
7979 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7980 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
7981 ;
7982 ; MODULE: SET / CLEAR CLOCK AND PARITY
7983 ;
7984 ; VERSION: 05-00
7985 ;
7986 ; AUTHOR: R. BELANGER
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 207-1
WHAT FAULT CONTINUATION COMMAND
7987 ;
7988 ; DATE: 7608.19
7989 ;
7990 ; THIS MODULE CONTAINS:
7991 ;
7992 ; 1) SET / CLEAR CLOCK DISPATCH CODE
7993 ;
7994 ; MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 208
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
7996 .SBTTL .SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
7997
7998 ;+
7999 ; .SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH.
8000 ; .SCFSS -- THE "SET / CLEAR FS-STOP" COMMAND DISPATCH.
8001 ; .SCPAR -- THE "SET / CLEAR PARITY-STOP" COMMAND DISPATCH.
8002 ;
8003 ; THESE SUBROUTINES WILL SET OR CLEAR THE SPECIFIED KL INTERNAL
8004 ; PARITY STOP ENABLE AS DIRECTED BY THE INPUT STREAM.
8005 ;
8006 ; INPUT ARGUMENTS:
8007 ;
8008 ; THE CURRENT PARITY STOP ENABLES ARE IN ".PSCWD"
8009 ; THE CURRENT CLOCK PARAMETERS ARE IN ".CLKWD"
8010 ;
8011 ; OUTPUT ARGUMENTS:
8012 ;
8013 ; THE NEW PARITY STOP ENABLES ARE IN ".PSCWD".
8014 ; THE NEW CLOCK PARAMETERS ARE IN ".CLKWD"
8015 ;
8016 ; ERROR CODES RETURNED:
8017 ;
8018 ; ILS -- ILLEGAL SEPARATOR CHARACTER.
8019 ;-
8020
8021 .ENABL LSB
8022
8023 015566 .SCCLK:: ; SET / CLEAR "CLOCK"
8024 015566 CALL .CKARG ; MUST HAVE AN ARGUMENT
015566 004737 000000G JSR PC,.CKARG
8025 015572 012703 001100' MOV #SCCLKT,R3 ; TABLE POINTER TO R3
8026 015576 000415 BR 10$ ; DO COMMON CODE
8027 ;
8028 015600 .SCFSS:: ; SET / CLEAR "FS-STOP"
8029 015600 CALL .CKEOC ; MUST BE E-O-C
015600 004737 000000G JSR PC,.CKEOC
8030 015604 012703 001112' MOV #SCPART,R3 ; TABLE POINTER TO R3
8031 015610 CALL 40$ ; READ THE CURRENT PARAMETERS
015610 004737 015742' JSR PC,40$
8032 015614 CALL .SCPFS ; SET THE CONTROL WORD UP
015614 004737 016230' JSR PC,.SCPFS
8033 015620 000425 BR 20$ ; AND GO SET IT
8034 ;
8035 015622 .SCPST:: ; SET / CLEAR "PARITY-STOP"
8036 015622 CALL .CKARG ; MUST HAVE AN ARGUMENT
015622 004737 000000G JSR PC,.CKARG
8037 015626 012703 001112' MOV #SCPART,R3 ; TABLE POINTER TO R3
8038 ; BR 10$ ; DO COMMON CODE
8039 ;
8040
8041 ; [CONTINUED ON THE FOLLOWING PAGE]
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 209
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
8043 ; [CONTINUED FROM THE PREVIOUS PAGE]
8044
8045 015632 10$:
8046 015632 CALL 40$ ; READ THE CURRENT PARAMETERS
015632 004737 015742' JSR PC,40$
8047 015636 011300 MOV (R3),R0 ; TABLE POINTER TO R0
8048 015640 CALL .TSCAN ; SCAN THE TABLE
015640 004737 000000G JSR PC,.TSCAN
8049 015644 CALL @2(R0) ; DO WHAT IT SAYS TO
015644 004770 000002 JSR PC,@2(R0)
8050 015650 111504 MOVB (R5),R4 ; GET THE LAST CHARACTER INTO R4
8051 015652 132764 000010 000000G BITB #CH.EOC,.CHTAB(R4)
8052 015660 001005 BNE 20$ ; E-O-C -- GO SET PARITY STOPS
8053 015662 122704 000054 CMPB #.COMMA,R4 ; NOT E-O-C -- IS IT A <COMMA>?
8054 015666 001037 BNE SCPILS ; NO -- GIVE "ILS" ERROR
8055 015670 105725 TSTB (R5)+ ; YES -- GET OVER THE COMMA
8056 015672 000757 BR 10$ ; AND GO ON
8057 ;
8058 015674 20$:
8059 015674 005723 TST (R3)+ ; ADVANCE THE POINTER
8060 015676 PUSH R1 ; SAVE NEW CONTROL WORD
015676 010146 MOV R1,-(SP)
8061 015700 010601 MOV SP,R1 ; .POINT TO THE ENABLE WORD
8062 015702 PUSH .KLFLG ; .SAVE ".KLFLG"
015702 013746 000000G MOV .KLFLG,-(SP)
8063 015706 CALL .KLHLT ; ..STOP THE KL
015706 004737 000000G JSR PC,.KLHLT
8064 015712 CALL @(R3)+ ; ..LOAD THE PARAMETERS
015712 004733 JSR PC,@(R3)+
8065 015714 POP .SVKLF ; ..SET UP ".SVKLF"
015714 012637 000000G MOV (SP)+,.SVKLF
8066 015720 CALL .RDCPP ; .READ BACK WHAT WE WROTE
015720 004737 000000G JSR PC,.RDCPP
8067 015724 023326 CMP @(R3)+,(SP)+ ; .DID WE READ WHAT WE WROTE
8068 015726 001401 BEQ 30$ ; YES -- GO ON
8069 015730 CALLR @(R3)+ ; NO -- GIVE THE PROPER ERROR
015730 000133 JMP @(R3)+
8070 ;
8071 015732 30$:
8072 015732 005723 TST (R3)+ ; GET OVER THE ERROR POINTER
8073 015734 CALL .KLRST ; RESTART THE KL
015734 004737 000000G JSR PC,.KLRST
8074 015740 CALLR @(R3)+ ; DISPLAY CURRENT PARAMETERS AND EXIT
015740 000133 JMP @(R3)+
8075 ;
8076
8077 ; [CONTINUED ON THE FOLLOWING PAGE]
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 210
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
8079 ; [CONTINUED FROM THE PREVIOUS PAGE]
8080
8081 015742 40$:
8082 015742 CALL .CKRUN ; INSURE WE CAN DO THIS
015742 004737 000000G JSR PC,.CKRUN
8083 015746 CALL .STPKL ; STOP THE KL10
015746 004737 000000G JSR PC,.STPKL
8084 015752 CALL .RDCPP ; READ CLOCK AND PARITY
015752 004737 000000G JSR PC,.RDCPP
8085 015756 017301 000004 MOV @4(R3),R1 ; DESIRED CONTROL WORD TO R1
8086 015762 CALLR .RSTKL ; RESTART THE KL AND EXIT
015762 000137 000000G JMP .RSTKL
8087 ;
8088
8089 .DSABL LSB
8090
8091 015766 SCPILS:
8092 015766 ERROR$ ILS ; ERROR -- ILLEGAL SEPARATOR CHARACTER
015766 012746 035063 MOV #^RILS,-(SP)
015772 104400 TRAP TC.ERR
8093 ;
8094 015774 SCPSCF:
8095 015774 ERROR$ SCF ; ERROR -- SET CLOCK FAILED
015774 012746 073476 MOV #^RSCF,-(SP)
016000 104400 TRAP TC.ERR
8096 ;
8097 016002 SCPSPF:
8098 016002 ERROR$ SPF ; ERROR -- SET PARITY FAILED
016002 012746 074506 MOV #^RSPF,-(SP)
016006 104400 TRAP TC.ERR
8099 ;
8100
8101 001100 .PSECT DATA
8102
8103 001100 SCCLKT:
8104 001100 000000G .WORD .SCCTB ; TABLE TO SCAN
8105 001102 000000G .WORD .LDCLK ; LOAD ROUTINE
8106 001104 000000G .WORD .CLKWD ; PARAMETER WORD
8107 001106 015774' .WORD SCPSCF ; ERROR ROUTINE
8108 001110 016272' .WORD .WHTCA ; DISPLAY ROUTINE
8109 001112 SCPART:
8110 001112 000000G .WORD .SCPTB ; TABLE TO SCAN
8111 001114 000000G .WORD .LDPAR ; LOAD ROUTINE
8112 001116 000000G .WORD .PSCWD ; PARAMETER WORD
8113 001120 016002' .WORD SCPSPF ; ERROR ROUTINE
8114 001122 016474' .WORD .WHTPA ; DISPLAY ROUTINE
8115
8116 016010 .PSECT
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 211
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
8118 .SBTTL .SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
8119
8120 .ENABL LSB
8121
8122 016010 .SCCLN:: ; SET / CLEAR CLOCK "NORMAL"
8123 016010 005001 CLR R1 ; CLEAR THE PARAMETER WORD
8124 016012 .SCCRF:: ; SET / CLEAR CLOCK "FULL"
8125 016012 005002 CLR R2 ; "FULL" CLOCK RATE
8126 016014 000410 BR 10$ ; DO COMMON CODE
8127 ;
8128 016016 .SCCRH:: ; SET / CLEAR CLOCK "HALF"
8129 016016 012702 000001 MOV #CR.HLF,R2 ; "HALF" CLOCK RATE
8130 016022 000405 BR 10$ ; DO COMMON CODE
8131 ;
8132 016024 .SCCRQ:: ; SET / CLEAR CLOCK "QUARTER"
8133 016024 012702 000002 MOV #CR.QTR,R2 ; "QUARTER" CLOCK RATE
8134 016030 000402 BR 10$ ; DO COMMON CODE
8135 ;
8136 016032 .SCCRS:: ; SET / CLEAR CLOCK "SLOW"
8137 016032 012702 000003 MOV #CR.SLO,R2 ; "SLOW" CLOCK RATE
8138 016036 10$:
8139 016036 042701 000003 BIC #CR.ALL,R1 ; CLEAR OUT THE OLD CLOCK RATE
8140 016042 000422 BR 40$ ; AND GO DO CLEAR CHECK
8141 ;
8142 016044 .SCCSE:: ; SET / CLEAR CLOCK "EXTERNAL"
8143 016044 012700 003317' MOV #CCEMSG,R0 ; ASK "ARE YOU SURE"
8144 016050 CALL .TYMSG ; PRINT IT
016050 004737 000000G JSR PC,.TYMSG
8145 016054 CALL .YESNO ; ASK "YES OR NO"
016054 004737 016634' JSR PC,.YESNO
8146 016060 103403 BCS 20$ ; SAID "NO" IF CC-C IS SET
8147 016062 012702 000010 MOV #CS.EXT,R2 ; "EXTERNAL" CLOCK SOURCE
8148 016066 000406 BR 30$ ; DO COMMNON CODE
8149 ;
8150 016070 20$:
8151 016070 000177 000000G JMP @.STRTV ; RESTART THE PARSER
8152 ;
8153 016074 .SCCSI:: ; SET / CLEAR CLOCK "INTERNAL"
8154 016074 005002 CLR R2 ; "INTERNAL" CLOCK SOURCE
8155 016076 000402 BR 30$ ; DO COMMON CODE
8156 ;
8157 016100 .SCCSM:: ; SET / CLEAR CLOCK "MARGIN"
8158 016100 012702 000004 MOV #CS.MGN,R2 ; "MARGIN" CLOCK SOURCE
8159 016104 30$:
8160 016104 042701 000014 BIC #CS.ALL,R1 ; CLEAR OUT THE OLD CLOCK SOURCE
8161 016110 40$:
8162 016110 005737 000000G TST .NOTSW ; IS THIS A CLEAR?
8163 016114 001002 BNE 50$ ; YES -- JUST EXIT
8164 016116 050201 BIS R2,R1 ; NO -- SET THE NEW CLOCK PARAMETERS
8165 016120 000401 BR 60$ ; AND EXIT
8166 ;
8167 016122 50$:
8168 016122 040201 BIC R2,R1 ; CLEAR THE NEW CLOCK PARAMETERS
8169 016124 60$:
8170 016124 RETURN ; EXIT
016124 000207 RTS PC
8171
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 211-1
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
8172 .DSABL LSB
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 212
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
8174 .ENABL LSB
8175
8176 016126 .SCCEC:: ; SET / CLEAR CLOCK "CRAM"
8177 016126 012702 002000 MOV #CD.CRC,R2 ; "CRAM" CLOCK ENABLE
8178 016132 000405 BR 10$ ; DO COMMON CODE
8179 ;
8180 016134 .SCCED:: ; SET / CLEAR CLOCK "DATA-PATH"
8181 016134 012702 001000 MOV #CD.DPC,R2 ; "DATA-PATH" CLOCK ENABLE
8182 016140 000402 BR 10$ ; DO COMMON CODE
8183 ;
8184 016142 .SCCEE:: ; SET / CLEAR CLOCK "CONTROL"
8185 016142 012702 000400 MOV #CD.CLC,R2 ; "CONTROL" CLOCK ENABLE
8186 016146 10$:
8187 016146 005737 000000G TST .NOTSW ; IS THIS A CLEAR?
8188 016152 001402 BEQ 20$ ; NO -- SET THE NEW CLOCK ENABLE
8189 016154 050201 BIS R2,R1 ; YES -- SET THE DISABLE
8190 016156 000401 BR 30$ ; AND EXIT
8191 ;
8192 016160 20$:
8193 016160 040201 BIC R2,R1 ; CLEAR THE DISABLE
8194 016162 30$:
8195 016162 RETURN ; AND EXIT
016162 000207 RTS PC
8196
8197 .DSABL LSB
8198
8199 003317 .PSECT MESSAG
8200
8201 003317 CCEMSG:
8202 003317 007 177 177 .ASCII <007><177><177><007><177><177><007><177><177>
003322 007 177 177
003325 007 177 177
8203 003330 040 103 117 .ASCIZ % CONFIRM EXTERNAL CLOCK SOURCE%
003333 116 106 111
003336 122 115 040
003341 105 130 124
003344 105 122 116
003347 101 114 040
003352 103 114 117
003355 103 113 040
003360 123 117 125
003363 122 103 105
003366 000
8204
8205 016164 .PSECT
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 213
.SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
8207 .SBTTL .SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
8208
8209 .ENABL LSB
8210
8211 016164 .SCPAL:: ; SET CLEAR PARITY-STOP "ALL"
8212 016164 012702 001416 MOV #PS.NRM,R2 ; NORMAL PARITY STOPS
8213 016170 000421 BR 10$ ; DO COMMON CODE
8214 ;
8215 016172 .SCPAR:: ; SET / CLEAR PARITY-STOP "AR"
8216 016172 012702 001000 MOV #AP.ARP,R2 ; AR / ARX PARITY STOP
8217 016176 000416 BR 10$ ; DO COMMON CODE
8218 ;
8219 016200 .SCPCR:: ; SET / CLEAR PARITY-STOP "CRAM"
8220 016200 012702 000004 MOV #IP.CRP,R2 ; CRAM PARITY STOP
8221 016204 000413 BR 10$ ; DO COMMON CODE
8222 ;
8223 016206 .SCPDR:: ; SET / CLEAR PARITY-STOP "DRAM"
8224 016206 012702 000002 MOV #IP.DRP,R2 ; DRAM PARITY STOP
8225 016212 000410 BR 10$ ; DO COMMON CODE
8226 ;
8227 016214 .SCPEN:: ; SET / CLEAR PARITY-STOP "ENABLE"
8228 016214 012702 000400 MOV #AP.EIP,R2 ; PARITY STOP ENABLE
8229 016220 000405 BR 10$ ; DO COMMON CODE
8230 ;
8231 016222 .SCPFM:: ; SET / CLEAR PARITY-STOP "FM"
8232 016222 012702 000010 MOV #IP.FMP,R2 ; FAST MEMORY PARITY STOP
8233 016226 000402 BR 10$ ; DO COMMON CODE
8234 ;
8235 016230 .SCPFS:: ; SET / CLEAR PARITY-STOP "FS-STOP"
8236 016230 012702 000001 MOV #IP.FSS,R2 ; FS STOP
8237 016234 10$:
8238 016234 005737 000000G TST .NOTSW ; IS THIS A CLEAR?
8239 016240 001402 BEQ 20$ ; NO -- GO ON
8240 016242 040201 BIC R2,R1 ; YES -- CLEAR THE ENABLE
8241 016244 RETURN ; EXIT
016244 000207 RTS PC
8242 016246 20$:
8243 016246 052701 000400 BIS #AP.EIP,R1 ; ENABLE THE ERROR STOPS
8244 016252 050201 BIS R2,R1 ; SET THE ENABLES
8245 016254 RETURN ; TO CALLER
016254 000207 RTS PC
8246
8247 .DSABL LSB
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 214
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
8249 .SBTTL .WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
8250
8251 016256 .WHTCL::
8252 016256 CALL .STPKL ; STOP THE KL
016256 004737 000000G JSR PC,.STPKL
8253 016262 CALL .RDCPP ; READ THE CLOCK BOARD
016262 004737 000000G JSR PC,.RDCPP
8254 016266 CALL .RSTKL ; RESTART THE KL
016266 004737 000000G JSR PC,.RSTKL
8255 016272 .WHTCA::
8256 016272 PUSH .CLKWD ; SAVE THE WORD ON THE STACK
016272 013746 000000G MOV .CLKWD,-(SP)
8257 016276 012700 003367' MOV #WCMSG0,R0 ; .HEADER MESSAGE
8258 016302 CALL .TYLIN ; .TYPE IT
016302 004737 000000G JSR PC,.TYLIN
8259 016306 012700 003413' MOV #WCMSG1,R0 ; .ENABLES
8260 016312 CALL .TYMSG ; .TYPE IT
016312 004737 000000G JSR PC,.TYMSG
8261 016316 012701 001124' MOV #CLDSTB,R1 ; .TABLE POINTER TO R1
8262 016322 012702 000003 MOV #^D3,R2 ; .ITERATION COUNT TO R2
8263 016326 011603 MOV (SP),R3 ; .CLOCK WORD TO R3
8264 016330 042703 174377 BIC #^C<CD.ALL>,R3 ; .MASK OUT THE DISABLES
8265 016334 001005 BNE 10$ ; .GO PRINT DISABLES
8266 016336 012700 003451' MOV #NONMSG,R0 ; .NO DISABLES SET -- SAY SO
8267 016342 CALL .TYLIN ; .TYPE IT
016342 004737 000000G JSR PC,.TYLIN
8268 016346 000414 BR 30$ ; .AND GO ON
8269 ;
8270 016350 10$:
8271 016350 012100 MOV (R1)+,R0 ; .MESSAGE POINTER TO R0
8272 016352 032103 BIT (R1)+,R3 ; .IS THE DISABLE ON??
8273 016354 001406 BEQ 20$ ; .NO -- FORGET IT
8274 016356 CALL .TYMSG ; .YES -- SAY SO
016356 004737 000000G JSR PC,.TYMSG
8275 016362 CALL .TYCOM ; .TYPE A COMMA
016362 004737 000000G JSR PC,.TYCOM
8276 016366 CALL .TYSPC ; .TYPE A <SPACE>
016366 004737 000000G JSR PC,.TYSPC
8277 016372 20$:
8278 016372 077212 SOB R2,10$ ; .LOOP TILL DONE
8279 016374 CALL .TCRLF ; .END THE LINE
016374 004737 000000G JSR PC,.TCRLF
8280
8281 ; [CONTINUED ON THE FOLLOWING PAGE]
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 215
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
8283 ; [CONTINUED FROM THE PREVIOUS PAGE]
8284
8285 016400 30$:
8286 016400 012700 003427' MOV #WCMSG2,R0 ; .SOURCE MESSAGE
8287 016404 CALL .TYMSG ; .PRINT IT
016404 004737 000000G JSR PC,.TYMSG
8288 016410 011601 MOV (SP),R1 ; .CLOCK CONTROL WORD TO R1
8289 016412 042701 177763 BIC #^C<CS.ALL>,R1 ; .FLUSH JUNK
8290 016416 006201 ASR R1 ; .MAKE AN INDEX OF IT
8291 016420 016100 001140' MOV CLSRTB(R1),R0 ; .SOURCE NAME TO R0
8292 016424 CALL .TYLIN ; .PRINT IT
016424 004737 000000G JSR PC,.TYLIN
8293 016430 012700 003441' MOV #WCMSG3,R0 ; .RATE MESSAGE
8294 016434 CALL .TYMSG ; .PRINT IT
016434 004737 000000G JSR PC,.TYMSG
8295 016440 POP R1 ; .CLOCK CONTROL WORD TO R1
016440 012601 MOV (SP)+,R1
8296 016442 042701 177774 BIC #^C<CR.ALL>,R1 ; FLUSH JUNK
8297 016446 006301 ASL R1 ; MAKE AN INDEX FROM IT
8298 016450 016100 001150' MOV CLRTTB(R1),R0 ; RATE NAME TO R0
8299 016454 CALLR .TYLIN ; PRINT IT AND EXIT
016454 000137 000000G JMP .TYLIN
8300 ;
8301
8302 001124 .PSECT DATA
8303
8304 001124 CLDSTB:
8305 001124 000000G .WORD CRMMSG
8306 001126 002000 .WORD CD.CRC
8307 001130 000000G .WORD DPTMSG
8308 001132 001000 .WORD CD.DPC
8309 001134 000000G .WORD CTLMSG
8310 001136 000400 .WORD CD.CLC
8311 001140 CLSRTB:
8312 001140 000000G .WORD INTMSG
8313 001142 000000G .WORD MGNMSG
8314 001144 000000G .WORD EXTMSG
8315 001146 000000G .WORD MGNMSG
8316 001150 CLRTTB:
8317 001150 000000G .WORD FULMSG
8318 001152 000000G .WORD HLFMSG
8319 001154 000000G .WORD QTRMSG
8320 001156 000000G .WORD SLOMSG
8321
8322 016460 .PSECT
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 216
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
8324 003367 .PSECT MESSAG
8325
8326 003367 WCMSG0:
8327 003367 113 114 040 .ASCIZ %KL CLOCK PARAMETERS%
003372 103 114 117
003375 103 113 040
003400 120 101 122
003403 101 115 105
003406 124 105 122
003411 123 000
8328 003413 WCMSG1:
8329 003413 040 104 111 .ASCIZ % DISABLED: %
003416 123 101 102
003421 114 105 104
003424 072 040 000
8330 003427 WCMSG2:
8331 003427 040 123 117 .ASCIZ % SOURCE: %
003432 125 122 103
003435 105 072 040
003440 000
8332 003441 WCMSG3:
8333 003441 040 122 101 .ASCIZ % RATE: %
003444 124 105 072
003447 040 000
8334 003451 NONMSG:
8335 003451 116 117 116 .ASCIZ %NONE%
003454 105 000
8336
8337 016460 .PSECT
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 217
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
8339 .SBTTL .WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
8340
8341 016460 .WHTPS::
8342 016460 CALL .STPKL ; STOP THE KL
016460 004737 000000G JSR PC,.STPKL
8343 016464 CALL .RDCPP ; READ THE CLOCK BOARD
016464 004737 000000G JSR PC,.RDCPP
8344 016470 CALL .RSTKL ; RESTART THE KL
016470 004737 000000G JSR PC,.RSTKL
8345 016474 .WHTPA::
8346 016474 PUSH .PSCWD ; SAVE THE WORD ON THE STACK
016474 013746 000000G MOV .PSCWD,-(SP)
8347 016500 012700 003456' MOV #WPMSG0,R0 ; .HEADER MESSAGE
8348 016504 CALL .TYLIN ; .TYPE IT
016504 004737 000000G JSR PC,.TYLIN
8349 016510 012700 003510' MOV #WPMSG1,R0 ; .ENABLE MESSAGE
8350 016514 CALL .TYMSG ; .TYPE IT
016514 004737 000000G JSR PC,.TYMSG
8351 016520 012700 000000G MOV #ONMSG,R0 ; .ASSUME THAT IT IS ON
8352 016524 032716 000400 BIT #AP.EIP,(SP) ; .IS THE ENABLE BIT ON?
8353 016530 001002 BNE 10$ ; .YES -- SAY SO
8354 016532 012700 000000G MOV #OFFMSG,R0 ; .NO -- CHANGE MESSAGE
8355 016536 10$:
8356 016536 CALL .TYLIN ; .TYPE IT
016536 004737 000000G JSR PC,.TYLIN
8357 016542 012700 003536' MOV #WPMSG2,R0 ; .PARITY STOPS
8358 016546 CALL .TYMSG ; .TYPE IT
016546 004737 000000G JSR PC,.TYMSG
8359 016552 042716 000400 BIC #AP.EIP,(SP) ; .CLEAR THE ENABLE BIT
8360 016556 001005 BNE 20$ ; .GO ON IF BITS ARE THERE
8361 016560 012700 003451' MOV #NONMSG,R0 ; .NONE THERE -- SAY SO
8362 016564 CALL .TYMSG ; .TYPE IT
016564 004737 000000G JSR PC,.TYMSG
8363 016570 000416 BR 50$ ; .AND EXIT
8364 ;
8365
8366 ; [CONTINUED ON THE FOLLOWING PAGE]
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 218
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
8368 ; [CONTINUED FROM THE PREVIOUS PAGE]
8369
8370 016572 20$:
8371 016572 012701 001160' MOV #PSENTB,R1 ; .TABLE POINTER TO R1
8372 016576 012702 000005 MOV #^D5,R2 ; .ITERATION COUNT TO R2
8373 016602 30$:
8374 016602 012100 MOV (R1)+,R0 ; .MESSAGE POINTER TO R0
8375 016604 032116 BIT (R1)+,(SP) ; .IS THE BIT ON?
8376 016606 001406 BEQ 40$ ; .NO -- GO ON
8377 016610 CALL .TYMSG ; .YES -- SAY SO
016610 004737 000000G JSR PC,.TYMSG
8378 016614 CALL .TYCOM ; .TYPE A COMMA
016614 004737 000000G JSR PC,.TYCOM
8379 016620 CALL .TYSPC ; .PRINT A <SPACE>
016620 004737 000000G JSR PC,.TYSPC
8380 016624 40$:
8381 016624 077212 SOB R2,30$ ; .LOOP TILL DONE
8382 016626 50$:
8383 016626 005726 TST (SP)+ ; .CLEAR THE STACK
8384 016630 CALLR .TCRLF ; END THE LINE AND EXIT
016630 000137 000000G JMP .TCRLF
8385 ;
8386
8387 001160 .PSECT DATA
8388
8389 001160 PSENTB:
8390 001160 000000G .WORD ARMSG
8391 001162 001000 .WORD AP.ARP
8392 001164 000000G .WORD CRMMSG
8393 001166 000004 .WORD IP.CRP
8394 001170 000000G .WORD DRMMSG
8395 001172 000002 .WORD IP.DRP
8396 001174 000000G .WORD FMMSG
8397 001176 000010 .WORD IP.FMP
8398 001200 000000G .WORD FSSMSG
8399 001202 000001 .WORD IP.FSS
8400
8401 016634 .PSECT
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 219
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
8403 003456 .PSECT MESSAG
8404
8405 003456 WPMSG0:
8406 003456 113 114 040 .ASCIZ %KL PARITY STOP PARAMETERS%
003461 120 101 122
003464 111 124 131
003467 040 123 124
003472 117 120 040
003475 120 101 122
003500 101 115 105
003503 124 105 122
003506 123 000
8407 003510 WPMSG1:
8408 003510 040 120 101 .ASCIZ % PARITY STOP ENABLE: %
003513 122 111 124
003516 131 040 123
003521 124 117 120
003524 040 105 116
003527 101 102 114
003532 105 072 040
003535 000
8409 003536 WPMSG2:
8410 003536 040 120 101 .ASCIZ % PARITY STOPS: %
003541 122 111 124
003544 131 040 123
003547 124 117 120
003552 123 072 040
003555 000
8411 016634 .PSECT
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 220
.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
8413 .SBTTL .YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
8414
8415 ;+
8416 ; .YESNO -- SUBROUTINE TO ASK "YES OR NO".
8417 ;
8418 ; THIS SUBROUTINE WILL ASK FOR A CONFIMATION TO A QUESTION, AND RETURN
8419 ; THE STATE OF THE RESPONSE IN CC-C ON RETURN. IF THE RESPONSE IS OTHER
8420 ; THAN A "YES" OR A "NO", THE QUESTION IS REITERATED.
8421 ;
8422 ; INPUT ARGUMENTS:
8423 ;
8424 ; NONE.
8425 ;
8426 ; OUTPUT ARGUMENTS:
8427 ;
8428 ; IF THE RESPONSE WAS "YES" CC-C IS CLEAR.
8429 ; IF THE RESPONSE WAS "NO" CC-C IS SET.
8430 ;
8431 ; ERROR CODES RETURNED:
8432 ;
8433 ; NONE.
8434 ;-
8435
8436 016634 .YESNO::
8437 016634 PUSH <R0,R1,R5> ; SAVE CALLERS REGISTERS
016634 010046 MOV R0,-(SP)
016636 010146 MOV R1,-(SP)
016640 010546 MOV R5,-(SP)
8438 016642 10$:
8439 016642 012700 003556' MOV #YONMSG,R0 ; ...MESSAGE POINTER TO R0
8440 016646 CALL .TYMSG ; ...PRINT IT
016646 004737 000000G JSR PC,.TYMSG
8441 016652 CALL .TYOUT ; ...FORCE IT OUT
016652 004737 000000G JSR PC,.TYOUT
8442 016656 012701 000000G MOV #.CIBFR,R1 ; ...POINT TO THE INPUT BUFFER
8443 016662 CALL .GTLIN ; ...READ THE RESPONSE
016662 004737 000000G JSR PC,.GTLIN
8444 016666 001765 BEQ 10$ ; ...TRY AGAIN IF NO REAL RESPONSE
8445 016670 010105 MOV R1,R5 ; ...BUFFER POINTER TO R5
8446 016672 012700 003575' MOV #YESMSG,R0 ; ...EXPECT "YES"
8447 016676 CALL .SSCAN ; ...SCAN FOR IT
016676 004737 000000G JSR PC,.SSCAN
8448 016702 103012 BCC 30$ ; ...WE GOT IT -- EXIT
8449 016704 010105 MOV R1,R5 ; ...SET UP BUFFER POINTER
8450 016706 012700 003601' MOV #NOMSG,R0 ; ...TRY FOR "NO"
8451 016712 CALL .SSCAN ; ...SCAN THE SYMBOL
016712 004737 000000G JSR PC,.SSCAN
8452 016716 103003 BCC 20$ ; ...WE GOT IT
8453 016720 CALL .TCRLF ; ...DID'NT GET EITHER
016720 004737 000000G JSR PC,.TCRLF
8454 016724 000746 BR 10$ ; ...SO TRY AGAIN
8455 ;
8456
8457 ; [CONTINUED ON THE FOLLOWING PAGE]
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 221
.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
8459 ; [CONTINUED FROM THE PREVIOUS PAGE]
8460
8461 016726 20$:
8462 016726 000261 SEC ; ...SET CC-C TO SAY "NO"
8463 016730 30$:
8464 016730 POP <R5,R1,R0> ; ...RESTORE REGISTERS
016730 012605 MOV (SP)+,R5
016732 012601 MOV (SP)+,R1
016734 012600 MOV (SP)+,R0
8465 016736 RETURN ; ...TO CALLER
016736 000207 RTS PC
8466
8467 003556 .PSECT MESSAG
8468
8469 003556 YONMSG:
8470 003556 040 050 131 .ASCIZ % (YES OR NO)? %
003561 105 123 040
003564 117 122 040
003567 116 117 051
003572 077 040 000
8471 003575 YESMSG:
8472 003575 131 105 123 .ASCIZ %YES%
003600 000
8473 003601 NOMSG:
8474 003601 116 117 000 .ASCIZ %NO%
8475
8476 016740 .PSECT
SWCPC -- SET / CLEAR CLOCK AND MACRO M1113 03-APR-86 22:56 PAGE 222
.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
8478
8479
8480 .TITLE SWDAT -- SET/CLEAR/WHAT "DATE" COMMAND MODULE 7703.04
8481
8482 .IDENT "006060"
8483
8484 ;
8485 ; COPYRIGHT (C) 1975, 1984, 1985 BY
8486 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
8487 ; ALL RIGHTS RESERVED.
8488 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8489 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
8490 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
8491 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
8492 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
8493 ;
8494 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
8495 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
8496 ; CORPORATION.
8497 ;
8498 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8499 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
8500 ;
8501 ; MODULE: "DATE" SUPPORT
8502 ;
8503 ; VERSION: 06-06
8504 ;
8505 ; AUTHOR: R. BELANGER
8506 ;
8507 ; DATE: 7703.04
8508 ;
8509 ; THIS MODULE CONTAINS:
8510 ;
8511 ; 1) SET CLEAR DATE CODE
8512 ; 2) WHAT DATE CODE
SWDAT -- SET/CLEAR/WHAT "DATE" MACRO M1113 03-APR-86 22:56 PAGE 223
.SCDAT -- "SET DATE" COMMAND 7703.04
8514 .SBTTL .SCDAT -- "SET DATE" COMMAND 7703.04
8515
8516 ;+
8517 ; .SCDAT -- THE "SET DATE" COMMAND
8518 ;
8519 ; THIS SUBROUTINE WILL ACCEPT A DATE AND TIME AS THE SYSTEM DATE AND TIME
8520 ; IF AND ONLY IF THE SYSTEM DATE VALID FLAG IS OFF.
8521 ;
8522 ; INPUT ARGUMENTS:
8523 ;
8524 ; NONE.
8525 ;
8526 ; OUTPUT ARGUMENTS:
8527 ;
8528 ; THE SYSTEM DATE IS SET AS SPECIFIED
8529 ;
8530 ; ERROR CODES RETURNED:
8531 ;
8532 ; CDI -- CLEAR DATE ILLEGAL
8533 ; DAV -- DATE ALREADY VALID
8534 ; NDI -- NULL DATE ILLEGAL
8535 ; NTI -- NULL TIME ILLEGAL
8536 ;-
8537
8538 .MCALL GTIM$S,.INH6,.ENB6
8539
8540 016740 .SCDAT::
8541 016740 032737 000000G 000002G BIT #EF.PR1,.COMEF+2 ; IS PRIMARY PROTOCOL RUNNING??
8542 016746 001133 BNE SCDCDI ; YES -- GIVE "CDI" ERROR
8543 016750 005737 000000G TST .NOTSW ; NO -- IS THIS A "CLEAR"??
8544 016754 001404 BEQ 10$ ; NO -- GO ON
8545 016756 005037 000000G CLR .DATE3 ; YES -- SET DATE INVALID
8546 016762 005037 000000G CLR .YEAR ; AND ALLOW "FUNNY" DATES
8547 016766 10$:
8548 016766 005737 000000G TST .DATE3 ; IS TIME ALREADY VALID?
8549 016772 001124 BNE SCDDAV ; YES -- GIVE "DAV" ERROR
8550 016774 CALL .CKEOC ; NO -- MUST HAVE E-O-C
016774 004737 000000G JSR PC,.CKEOC
8551 017000 005046 CLR -(SP) ; CLEAR BUFFER ON STACK
8552 017002 005046 CLR -(SP) ; .SO
8553 017004 010600 MOV SP,R0 ; ..POINT TO IT
8554 017006 CALL .GTDAT ; ..READ THE DATE
017006 004737 006026' JSR PC,.GTDAT
8555 017012 001517 BEQ SCDNDI ; ..ERROR IF NULL
8556 017014 005046 CLR -(SP) ; ..SPACE FOR TIME
8557 017016 010600 MOV SP,R0 ; ...POINT TO IT
8558 017020 CALL .GTTIM ; ...READ THE TIME
017020 004737 006472' JSR PC,.GTTIM
8559 017024 001515 BEQ SCDNTI ; ...ERROR IF NULL
8560 017026 116600 000002 MOVB 2(SP),R0 ; ...YEAR TO R0
8561 017032 162700 000114 SUB #^D76,R0 ; ...MINUS 1976
8562 017036 010002 MOV R0,R2 ; ...SAVE RESULT IN R2
8563 017040 001406 BEQ 20$ ; ...GO ON IF .EQ. 0
8564 017042 012701 000555 MOV #^D365,R1 ; ...CONVERT TO DAYS
8565 017046 CALL $MUL ; ...SO
017046 004737 000000G JSR PC,$MUL
8566 017052 010100 MOV R1,R0 ; ...RESULT TO R0
SWDAT -- SET/CLEAR/WHAT "DATE" MACRO M1113 03-APR-86 22:56 PAGE 223-1
.SCDAT -- "SET DATE" COMMAND 7703.04
8567 017054 005200 INC R0 ; ...PLUS 1 FOR 1976
8568 017056 20$:
8569 017056 116601 000003 MOVB 3(SP),R1 ; ...MONTH TO R1
8570 017062 006301 ASL R1 ; ...MAKE A WORD INDEX
8571 017064 066100 001212' ADD CDMTB-2(R1),R0 ; ...ADD DAYS TO THIS MONTH
8572 017070 005702 TST R2 ; ...IS THIS 1976?
8573 017072 001412 BEQ 40$ ; ...YES -- GO ON
8574 017074 132702 000003 BITB #3,R2 ; ...NO -- IS THIS A LEAP YEAR?
8575 017100 001004 BNE 30$ ; ...NO -- GO ON
8576 017102 022701 000002 CMP #2,R1 ; ...YES -- BEYOND FEBRUARY?
8577 017106 002401 BLT 30$ ; ...YES -- GO ON
8578 017110 005302 DEC R2 ; ...NO -- SUBTRACT ONE FOR THIS YEAR
8579 017112 30$:
8580 017112 006202 ASR R2 ; ...DIVIDE DIFFERENCE BY 4
8581 017114 006202 ASR R2 ; ...SO
8582 017116 060200 ADD R2,R0 ; ...ADD OFFSET FOR LEAP YEARS
8583 017120 40$:
8584 017120 116601 000004 MOVB 4(SP),R1 ; ...DATE TO R1
8585 017124 005301 DEC R1 ; ...MINUS 1
8586 017126 060100 ADD R1,R0 ; ...ADD IT IN
8587 017130 012701 000007 MOV #^D7,R1 ; ...DIVIDE BY DAYS PER WEEK
8588 017134 CALL $DIV ; ...SO
017134 004737 000000G JSR PC,$DIV
8589 017140 010100 MOV R1,R0 ; ...DAY OF WEEK OFFSET TO R0
8590 017142 010601 MOV SP,R1 ; ...STACK POINTER TO R1
8592 017144 .INH6 ; ...DISALLOW INTERRUPTS
017144 013746 177776 MOV @#PS,-(SP)
017150 112737 000300 177776 MOVB #300,@#PS
8594 017156 116037 001204' 000000G MOVB DOWTAB(R0),.DOW ;;; ...SET DAY OF WEEK FROM TABLE
8595 017164 012137 000000G MOV (R1)+,.SSM ;;; ...SET THE TIME
8596 017170 112100 MOVB (R1)+,R0 ;;; ...GET THE YEAR
8597 017172 062700 003554 ADD #^D1900,R0 ;;; ...PLUS 1900
8598 017176 010037 000000G MOV R0,.YEAR ;;; ...SET IT
8599 017202 105311 DECB (R1) ;;; [**] ...COMPUTE TRUE MONTH
8600 017204 112137 000000G MOVB (R1)+,.MON ;;; ...SET IT
8601 017210 105311 DECB (R1) ;;; [**] ...COMPUTE TRUE DAY
8602 017212 111137 000000G MOVB (R1),.DAY ;;; ...SET IT
8603 017216 012737 000001 000000G MOV #1,.DATE3 ;;; ...SET THE VALID FLAG
8605 017224 .ENB6 ;;; ...ALLOW INTERRUPTS
017224 012637 177776 MOV (SP)+,@#PS
8607 017230 062706 000006 ADD #^D6,SP ; ...RESET STACK
8608 017234 50$:
8609 017234 000414 BR .WHDAT ; DISPLAY TIME AND EXIT
8610 ;
SWDAT -- SET/CLEAR/WHAT "DATE" MACRO M1113 03-APR-86 22:56 PAGE 224
.SCDAT -- "SET DATE" COMMAND 7703.04
8612 017236 SCDCDI:
8613 017236 ERROR$ CDI ; ERROR -- CLEAR DATE ILLEGAL
017236 012746 011551 MOV #^RCDI,-(SP)
017242 104400 TRAP TC.ERR
8614 ;
8615 017244 SCDDAV:
8616 017244 ERROR$ DAV ; ERROR -- DATE ALREADY VALID
017244 012746 014476 MOV #^RDAV,-(SP)
017250 104400 TRAP TC.ERR
8617 ;
8618 017252 SCDNDI:
8619 017252 ERROR$ NDI ; ERROR -- NULL DATE ILLEGAL
017252 012746 054051 MOV #^RNDI,-(SP)
017256 104400 TRAP TC.ERR
8620 ;
8621 017260 SCDNTI:
8622 017260 ERROR$ NTI ; ERROR -- NULL TIME ILLEGAL
017260 012746 055251 MOV #^RNTI,-(SP)
017264 104400 TRAP TC.ERR
8623 ;
8624
8625 001204 .PSECT DATA
8626
8627 001204 DOWTAB:
8628 001204 003 004 .BYTE 3,4
8629 001206 005 006 .BYTE 5,6
8630 001210 000 001 .BYTE 0,1
8631 001212 002 .BYTE 2
8632 .EVEN
8633
8634 001214 CDMTB:
8635 001214 000000 .WORD 0
8636 001216 000037 .WORD ^D31
8637 001220 000073 .WORD ^D59
8638 001222 000132 .WORD ^D90
8639 001224 000170 .WORD ^D120
8640 001226 000227 .WORD ^D151
8641 001230 000265 .WORD ^D181
8642 001232 000324 .WORD ^D212
8643 001234 000363 .WORD ^D243
8644 001236 000421 .WORD ^D273
8645 001240 000460 .WORD ^D304
8646 001242 000516 .WORD ^D334
8647
8648 017266 .PSECT
SWDAT -- SET/CLEAR/WHAT "DATE" MACRO M1113 03-APR-86 22:56 PAGE 225
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
8650 .SBTTL .WHDAT -- THE "WHAT" DATE COMMAND 7703.03
8651
8652 ;+
8653 ; .WHDAT -- THE "WHAT DATE" COMMAND
8654 ;
8655 ; THIS SUBROUTINE WILL DISPLAY THE THE CURRENT SYSTEM TIME OF DAY
8656 ; ON THE CONSOLE DEVICE. IF THE TIME HAS NOT BEEN SET BY EITHER A
8657 ; "SET DATE" COMMAND OR BY THE KL10 EXECUTIVE THE VALID FLAG WILL BE OFF
8658 ; OTHERWISE IT WILL BE ON.
8659 ;
8660 ; INPUT ARGUMENTS:
8661 ;
8662 ; NONE.
8663 ;
8664 ; OUTPUT ARGUMENTS:
8665 ;
8666 ; NONE.
8667 ;
8668 ; ERROR CODES RETUNED:
8669 ;
8670 ; NONE.
8671 ;-
8672
8673
8674 017266 .WHDAT::
8675 017266 CALL .CKEOC ; MUST HAVE E-O-C
017266 004737 000000G JSR PC,.CKEOC
8676 017272 012701 001262' MOV #DATBUF,R1 ; BUFFER POINTER TO R1
8677 017276 GTIM$S R1 ; REAAD THE DATE AND TIME
017276 010146 MOV R1,-(SP)
017300 012746 MOV (PC)+,-(SP)
017302 073 002 .BYTE 59.,2
017304 104375 EMT 375
8678 017306 005046 CLR -(SP) ; CLEAR A BUFFER ON STACK
8679 017310 005046 CLR -(SP) ; .SO
8680 017312 010600 MOV SP,R0 ; ..POINTER TO R0
8681 017314 112120 MOVB (R1)+,(R0)+ ; ..SET YEAR
8682 017316 105721 TSTB (R1)+ ; ..ADVANCE POINTER
8683 017320 112120 MOVB (R1)+,(R0)+ ; ..SET MONTH
8684 017322 105721 TSTB (R1)+ ; ..ADVANCE POINTER
8685 017324 112120 MOVB (R1)+,(R0)+ ; ..SET DAY
8686 017326 012700 003604' MOV #WHDMS0,R0 ; ..MESSAGE POINTER TO R0
8687 017332 CALL .TYLIN ; ..PRINT IT
017332 004737 000000G JSR PC,.TYLIN
8688 017336 113700 000000G MOVB .DOW,R0 ; ..DAY OF WEEK INDEX TO R0
8689 017342 006300 ASL R0 ; ..TIMES 2
8690 017344 016000 001244' MOV DOWMTB(R0),R0 ; ..MESSAGE POINTER TO R0
8691 017350 CALL .TYMSG ; ..PRINT IT
017350 004737 000000G JSR PC,.TYMSG
8692 017354 CALL .TYSPC ; ..AND A <SPACE>
017354 004737 000000G JSR PC,.TYSPC
8693 017360 010600 MOV SP,R0 ; ..POINT TO DATE
8694 017362 CALL .TYDAT ; ..TYPE THE DATE
017362 004737 007040' JSR PC,.TYDAT
8695 017366 CALL .TYSPC ; ..AND A <SPACE>
017366 004737 000000G JSR PC,.TYSPC
8696 017372 012700 000000G MOV #.SSM,R0 ; ..POINT TO THE TIME
SWDAT -- SET/CLEAR/WHAT "DATE" MACRO M1113 03-APR-86 22:56 PAGE 225-1
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
8697 017376 CALL .TYTIM ; ..TYPE IT
017376 004737 007154' JSR PC,.TYTIM
8698 017402 CALL .TCRLF ; ..END THE LINE
017402 004737 000000G JSR PC,.TCRLF
8699 017406 012700 003632' MOV #WHDMS1,R0 ; ..MESSAGE POINTER TO R0
8700 017412 CALL .TYMSG ; ..PRINT IT
017412 004737 000000G JSR PC,.TYMSG
8701 017416 012700 000000G MOV #ONMSG,R0 ; ..ASSUME VALID
8702 017422 005737 000000G TST .DATE3 ; ..IS IT??
8703 017426 001002 BNE 10$ ; ..YES -- GO ON
8704 017430 012700 000000G MOV #OFFMSG,R0 ; ..NO -- SAY SO
8705 017434 10$:
8706 017434 022626 CMP (SP)+,(SP)+ ; ..CLEAR STACK
8707 017436 CALLR .TYLIN ; PRINT AND EXIT
017436 000137 000000G JMP .TYLIN
8708 ;
8709
8710 001244 .PSECT DATA
8711
8712 001244 DOWMTB:
8713 001244 003656' .WORD MONMSG
8714 001246 003666' .WORD TUEMSG
8715 001250 003677' .WORD WEDMSG
8716 001252 003712' .WORD THUMSG
8717 001254 003724' .WORD FRIMSG
8718 001256 003734' .WORD SATMSG
8719 001260 003746' .WORD SUNMSG
8720
8721 001262 DATBUF:
8722 001262 000000 000000 000000 .WORD 0,0,0,0,0,0,0,0
001270 000000 000000 000000
001276 000000 000000
8723
8724 017442 .PSECT
SWDAT -- SET/CLEAR/WHAT "DATE" MACRO M1113 03-APR-86 22:56 PAGE 226
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
8726 003604 .PSECT MESSAG
8727
8728 003604 WHDMS0:
8729 003604 103 125 122 .ASCIZ %CURRENT SYSTEM DATE: %
003607 122 105 116
003612 124 040 123
003615 131 123 124
003620 105 115 040
003623 104 101 124
003626 105 072 040
003631 000
8730 003632 WHDMS1:
8731 003632 040 126 101 .ASCIZ % VALIDITY FLAG IS: %
003635 114 111 104
003640 111 124 131
003643 040 106 114
003646 101 107 040
003651 111 123 072
003654 040 000
8732
8733 003656 MONMSG:
8734 003656 115 117 116 .ASCIZ %MONDAY,%
003661 104 101 131
003664 054 000
8735 003666 TUEMSG:
8736 003666 124 125 105 .ASCIZ %TUESDAY,%
003671 123 104 101
003674 131 054 000
8737 003677 WEDMSG:
8738 003677 127 105 104 .ASCIZ %WEDNESDAY,%
003702 116 105 123
003705 104 101 131
003710 054 000
8739 003712 THUMSG:
8740 003712 124 110 125 .ASCIZ %THURSDAY,%
003715 122 123 104
003720 101 131 054
003723 000
8741 003724 FRIMSG:
8742 003724 106 122 111 .ASCIZ %FRIDAY,%
003727 104 101 131
003732 054 000
8743 003734 SATMSG:
8744 003734 123 101 124 .ASCIZ %SATURDAY,%
003737 125 122 104
003742 101 131 054
003745 000
8745 003746 SUNMSG:
8746 003746 123 125 116 .ASCIZ %SUNDAY,%
003751 104 101 131
003754 054 000
8747
8748 017442 .PSECT
SWDAT -- SET/CLEAR/WHAT "DATE" MACRO M1113 03-APR-86 22:56 PAGE 228
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
8751
8752 .TITLE SWKLN -- SET/CLEAR/WHAT "KLINIK" COMMAND MODULE 7703.04
8753
8754 .IDENT "006060"
8755
8756 ;
8757 ; COPYRIGHT (C) 1975, 1984, 1985 BY
8758 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
8759 ; ALL RIGHTS RESERVED.
8760 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8761 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
8762 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
8763 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
8764 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
8765 ;
8766 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
8767 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
8768 ; CORPORATION.
8769 ;
8770 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8771 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
8772 ;
8773 ; MODULE: "KLINIK" SUPPORT
8774 ;
8775 ; VERSION: 06-06
8776 ;
8777 ; AUTHOR: R. BELANGER
8778 ;
8779 ; DATE: 7703.04
8780 ;
8781 ; THIS MODULE CONTAINS:
8782 ;
8783 ; 1) SET CLEAR KLINIK CODE
8784 ; 2) WHAT KLINIK CODE
SWKLN -- SET/CLEAR/WHAT "KLINIK MACRO M1113 03-APR-86 22:56 PAGE 229
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
8786 .SBTTL .SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
8787
8788 ;+
8789 ; .SCKLN -- THE SET / CLEAR KLINIK COMMAND
8790 ;
8791 ; THIS SUBROUTINE WILL SET OR CLEAR THE KLINIK PARAMETERS FOR THE
8792 ; RSX20F FRONT END. THE CLEAR COMMAND SIMPLY CLEARS THE KLINIK
8793 ; THE KLINIK ENABLE FLAG AND REQUESTS THE KLINIK TERMINATION TASK
8794 ; "KLD" IN ORDER THAT THE OPERATOR BE NOTIFIED.
8795 ;
8796 ; THE "SET KLINIK" COMMAND WILL PROMPT THE OPERATOR FOR THE REQUIRED
8797 ; KLINIK PARAMETERS, VALIDATE THEM AND PASS THEM TO THE RSX20F EXECUTIVE.
8798 ;
8799 ; INPUT ARGUMENTS:
8800 ;
8801 ; NONE.
8802 ;
8803 ; OUTPUT ARGUMENTS:
8804 ;
8805 ; NONE.
8806 ;
8807 ; ERROR CODES RETURNED:
8808 ;
8809 ; IPC -- ILLEGAL PASSWORD CHARACTER.
8810 ; KWE -- KLINIK WINDOW ERROR.
8811 ; NPI -- NULL PASSWORD ILLEGAL.
8812 ; PTL -- PASSWORD TOO LONG.
8813 ; SKI -- SET KLINIK ILLEGAL WHILE ACTIVE.
8814 ;-
8815
8816 .MCALL .ENB6,.INH6,WTSE$S,CLEF$S
SWKLN -- SET/CLEAR/WHAT "KLINIK MACRO M1113 03-APR-86 22:56 PAGE 230
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
8818 .ENABL LSB
8819
8820 017442 .SCKLN::
8821 017442 CALL .CKEOC ; MUST HAVE E-O-C
017442 004737 000000G JSR PC,.CKEOC
8822 017446 005737 000000G TST .NOTSW ; IS THIS A CLEAR?
8823 017452 001402 BEQ 10$ ; NO -- GO ON
8824 017454 000137 020364' JMP 80$ ; YES -- DO IT
8825 ;
8826 017460 10$:
8827 017460 105737 000000G TSTB .KLNSW+0 ; IS KLINIK ALREADY ACTIVE??
8828 017464 001055 BNE SCKSKI ; YES -- COMPLAIN
8829 017466 PUSH R5 ; SET UP TO GET KLINIK PARAMETERS
017466 010546 MOV R5,-(SP)
8830 017470 012700 004071' MOV #SCKMS4,R0 ; .MESSAGE POINTER TO R0
8831 017474 CALL .TYMSF ; .FORCE IT OUT
017474 004737 000000G JSR PC,.TYMSF
8832 017500 012701 000000G MOV #.CIBFR,R1 ; .BUFFER POINTER TO R1
8833 017504 010105 MOV R1,R5 ; .AND R5
8834 017506 CALL .GTLIN ; .READ KLINIK MODE
017506 004737 000000G JSR PC,.GTLIN
8835 017512 012700 000000G MOV #.KLMT1,R0 ; .KLINIK MODE TABLE POINTER TO R0
8836 017516 CALL .TSCAN ; .SCAN THE TABLE
017516 004737 000000G JSR PC,.TSCAN
8837 017522 116046 000002 MOVB 2(R0),-(SP) ; .KLINIK MODE FLAG TO STACK
8838 017526 100462 BMI 25$ ; READ WINDOW DATA IF USER
8839 017530 012700 003756' MOV #SCKMS0,R0 ; ..MESSAGE POINTER TO R0
8840 017534 CALL .TYMSF ; ..FORCE THE MESSAGE
017534 004737 000000G JSR PC,.TYMSF
8841 017540 012701 000000G MOV #.CIBFR,R1 ; ..USE THE INPUT DEVICE BUFFER
8842 017544 CALL .GTLIN ; ..READ THE LINE
017544 004737 000000G JSR PC,.GTLIN
8843 017550 001415 BEQ SCKNPI ; ..GIVE "NPI" ERROR IF NULL PASSWORD
8844 017552 013700 000000G MOV .INCHC,R0 ; ..CHARACTER COUNT TO R0
8845 017556 022700 000006 CMP #^D6,R0 ; ..IS THE PASSWORD TOO LONG?
8846 017562 002413 BLT SCKPTL ; ..YES -- GIVE "PTL" ERROR
8847 017564 160001 SUB R0,R1 ; ..NO -- ADJUST THE STRING POINTER
8848 017566 012702 001326' MOV #KLNPWD,R2 ; ..POINT TO THE PASSWORD
8849 017572 005022 CLR (R2)+ ; ..CLEAR IT
8850 017574 005022 CLR (R2)+ ; ..
8851 017576 005012 CLR (R2) ; ..SO
8852 017600 024242 CMP -(R2),-(R2) ; ..RESET THE POINTER
8853 017602 000415 BR 15$ ; ..AND GO ON
8854 ;
8855 017604 SCKNPI:
8856 017604 ERROR$ NPI ; ERROR -- NULL PASSWORD ILLEGAL
017604 012746 055011 MOV #^RNPI,-(SP)
017610 104400 TRAP TC.ERR
8857 ;
8858 017612 SCKPTL:
8859 017612 ERROR$ PTL ; ERROR -- PASSWORD TOO LONG
017612 012746 063454 MOV #^RPTL,-(SP)
017616 104400 TRAP TC.ERR
8860 ;
8861 017620 SCKSKI:
8862 017620 ERROR$ SKI ; ERROR -- ILLEGAL WHILE KLINIK ACTIVE
017620 012746 074201 MOV #^RSKI,-(SP)
SWKLN -- SET/CLEAR/WHAT "KLINIK MACRO M1113 03-APR-86 22:56 PAGE 230-1
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
017624 104400 TRAP TC.ERR
8863 ;
8864 017626 SCKIPC:
8865 017626 011204 MOV (R2),R4 ; OFFENDING CHARACTER TO R4
8866 017630 ERROR$ IPC ; ERROR -- ILLEGAL PASSWORD CHARACTER
017630 012746 035303 MOV #^RIPC,-(SP)
017634 104400 TRAP TC.ERR
8867 ;
8868 017636 15$:
8869 017636 112112 MOVB (R1)+,(R2) ; ..LOAD THE PASSWORD
8870 017640 122712 000060 CMPB #'0,(R2) ; ..SEE IF NUMERIC
8871 017644 003370 BGT SCKIPC ; ..TOO SMALL -- GIVE "IPC" ERROR
8872 017646 122712 000071 CMPB #'9,(R2) ; ..IN RANGE?
8873 017652 002006 BGE 20$ ; ..YES -- GO ON
8874 017654 122712 000101 CMPB #'A,(R2) ; ..NO -- IS THE CHARACTER ALPHABETIC?
8875 017660 003362 BGT SCKIPC ; ..TOO SMALL -- GIVE "IPC" ERROR
8876 017662 122712 000132 CMPB #'Z,(R2) ; ..[TCO 4.2084] IS IT REALLY IN RANGE?
8877 017666 002757 BLT SCKIPC ; ..TOO BIG -- GIVE "IPC" ERROR
8878 017670 20$:
8879 017670 105722 TSTB (R2)+ ; ..[TCO 4.2084] ADVANCE BYTE POINTER
8880 017672 077017 SOB R0,15$ ; ..LOOP UNTIL DONE
8881 017674 25$:
8882 017674 012700 003771' MOV #SCKMS1,R0 ; .."FROM" MESSAGE POINTER
8883 017700 CALL .TYMSG ; ..PRINT IT
017700 004737 000000G JSR PC,.TYMSG
8884 017704 005046 CLR -(SP) ; ..CLEAR A BUFFER FOR THE START DATE
8885 017706 005046 CLR -(SP) ; ...
8886 017710 010600 MOV SP,R0 ; ....POINT TO IT
8887 017712 CALL .GTDAT ; ....GET WINDOW OPEN DATE
017712 004737 006026' JSR PC,.GTDAT
8888 017716 012700 003771' MOV #SCKMS1,R0 ; ....SAME MESSAGE
8889 017722 CALL .TYMSG ; ....PRINT IT
017722 004737 000000G JSR PC,.TYMSG
8890 017726 005046 CLR -(SP) ; ....CLEAR A SPACE FOR THE START TIME
8891 017730 010600 MOV SP,R0 ; .....POINT TO IT
8892 017732 CALL .GTTIM ; .....GET WINDOW OPEN TIME
017732 004737 006472' JSR PC,.GTTIM
8893 017736 001002 BNE 30$ ; .....GO ON IF NOT DEFAULT
8894 017740 013716 000000G MOV .SSM,(SP) ; .....ELSE SET DEFAULT FROM THE SYSTEM
8895 017744 30$:
8896 017744 012700 004015' MOV #SCKMS2,R0 ; ....."TO" MESSAGE POINTER
8897 017750 CALL .TYMSG ; .....OUTPUT THAT
017750 004737 000000G JSR PC,.TYMSG
8898 017754 005046 CLR -(SP) ; .....CLEAR A BUFFER FOR THE END DATE
8899 017756 005046 CLR -(SP) ; ......
8900 017760 010600 MOV SP,R0 ; .......POINT TO IT
8901 017762 CALL .GTDAT ; .......GET THE END DATE
017762 004737 006026' JSR PC,.GTDAT
8902 017766 001044 BNE 50$ ; .......GO ON IF NOT DEFAULT
8903 017770 016616 000006 MOV 6(SP),(SP) ; .......DEFAULT -- GET OPEN DATE
8904 017774 016666 000010 000002 MOV 10(SP),2(SP) ; .......LOAD IT INTO CLOSE DATE
8905 020002 105720 TSTB (R0)+ ; .......GET OVER THE YEAR
8906 020004 112002 MOVB (R0)+,R2 ; .......MONTH TO R2
8907 020006 105210 INCB (R0) ; .......INCREMENT THE DATE
8908 020010 122702 000002 CMPB #^D2,R2 ; .......IS THIS FEBRUARY?
8909 020014 001422 BEQ 45$ ; .......YES -- HANDLE SPECIAL CASE
8910 020016 122710 000036 CMPB #^D30,(R0) ; .......NO -- HOW MANY DAYS?
SWKLN -- SET/CLEAR/WHAT "KLINIK MACRO M1113 03-APR-86 22:56 PAGE 230-2
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
8911 020022 002026 BGE 50$ ; .......ALL OK IF .LE. 30.
8912 020024 012701 172452 MOV #^C5325,R1 ; .......BIT MASK TO R1
8913 020030 35$:
8914 020030 006201 ASR R1 ; .......SHIFT IT RIGHT
8915 020032 077202 SOB R2,35$ ; .......TILL DONE
8916 020034 103021 BCC 50$ ; .......ALL OK IF CC-C IS CLEAR
8917 020036 40$:
8918 020036 112710 000001 MOVB #^D1,(R0) ; .......SET THE DAY TO 1
8919 020042 105240 INCB -(R0) ; .......INCREMENT THE MONTH
8920 020044 122710 000014 CMPB #^D12,(R0) ; .......DECEMBER?
8921 020050 002013 BGE 50$ ; .......YES -- GO ON
8922 020052 012710 000001 MOV #^D1,(R0) ; .......NO -- SET THE MONTH TO JANUARY
8923 020056 105240 INCB -(R0) ; .......AND INCREMENT THE YEAR
8924 020060 000407 BR 50$ ; .......EXIT
8925 ;
8926 020062 45$:
8927 020062 122710 000034 CMPB #^D28,(R0) ; .......28 DAYS?
8928 020066 002004 BGE 50$ ; .......YES -- GO ON
8929 020070 132760 000003 177776 BITB #3,-2(R0) ; .......NO -- LEAP YEAR?
8930 020076 001357 BNE 40$ ; .......NO -- SET TO MARCH 1
8931 020100 50$:
8932 020100 012700 004015' MOV #SCKMS2,R0 ; .......SAME MESSAGE FOR END TIME
8933 020104 CALL .TYMSG ; .......PRINT IT
020104 004737 000000G JSR PC,.TYMSG
8934 020110 005046 CLR -(SP) ; .......CLEAR A SPACE FOR THE END TIME
8935 020112 010600 MOV SP,R0 ; ........POINT TO IT
8936 020114 CALL .GTTIM ; ........GET THE END TIME
020114 004737 006472' JSR PC,.GTTIM
8937 020120 001002 BNE 55$ ; ........GO ON IF NOT DEFAULT
8938 020122 016616 000006 MOV 6(SP),(SP) ; ........ELSE SET DEFAULT
8939 020126 55$:
8940 020126 126666 000002 000010 CMPB 2(SP),10(SP) ; ........ARE THE YEARS IN RANGE?
8941 020134 002416 BLT SCKKWE ; ........NO -- GIVE "KWE" ERROR
8942 020136 003020 BGT 60$ ; ........YES -- SAME YEAR?
8943 020140 126666 000003 000011 CMPB 3(SP),11(SP) ; ........YES -- ARE THE MONTHS OK?
8944 020146 002411 BLT SCKKWE ; ........NO -- GIVE "KWE" ERROR
8945 020150 003013 BGT 60$ ; ........YES -- SAME MONTH?
8946 020152 126666 000004 000012 CMPB 4(SP),12(SP) ; ........YES -- ARE THE DATES OK?
8947 020160 002404 BLT SCKKWE ; ........NO -- GIVE "KWE" ERROR
8948 020162 003006 BGT 60$ ; ........YES -- SAME DATE?
8949 020164 021666 000006 CMP (SP),6(SP) ; ........YES -- ARE THE TIMES OK?
8950 020170 101003 BHI 60$ ; ........YES -- GO ON
8951 020172 SCKKWE:
8952 020172 ERROR$ KWE ; ERROR -- KLINIK WINDOW ERROR
020172 012746 044135 MOV #^RKWE,-(SP)
020176 104400 TRAP TC.ERR
8953 020200 60$:
8954 020200 005000 CLR R0 ; ........CLEAR R0
8955 020202 105766 000014 TSTB 14(SP) ; ........LOOK AT THE KLINIK MODE
8956 020206 002423 BLT 65$ ; ........GO ON IF USER
8957 020210 012700 004042' MOV #SCKMS3,R0 ; ........ASK FOR HIGHEST CONSOLE MODE
8958 020214 CALL .TYMSF ; ........FORCE IT
020214 004737 000000G JSR PC,.TYMSF
8959 020220 012701 000000G MOV #.CIBFR,R1 ; ........POINT TO THE INPUT BUFFER
8960 020224 010105 MOV R1,R5 ; ........AND R5 TOO
8961 020226 CALL .GTLIN ; ........READ THE RESPONSE
020226 004737 000000G JSR PC,.GTLIN
SWKLN -- SET/CLEAR/WHAT "KLINIK MACRO M1113 03-APR-86 22:56 PAGE 230-3
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
8962 020232 CALL .CKOBJ ; ........MUST HAVE AN OBJECT
020232 004737 000000G JSR PC,.CKOBJ
8963 020236 012700 000000G MOV #.KLMTB,R0 ; ........TABLE POINTER TO R0
8964 020242 CALL .TSCAN ; ........SCAN THE TABLE
020242 004737 000000G JSR PC,.TSCAN
8965 020246 116000 000002 MOVB 2(R0),R0 ; ........SAVE THE CONSOLE MODE
8966 020252 CALL .CKEOC ; ........MUST HAVE E-O-C
020252 004737 000000G JSR PC,.CKEOC
8967 020256 65$:
8969 020256 .INH6 ; ........DISALLOW INTERRUPTS
020256 013746 177776 MOV @#PS,-(SP)
020262 112737 000300 177776 MOVB #300,@#PS
8970 020270 POP R3 ;;; .........SAVED PSW TO R3
020270 012603 MOV (SP)+,R3
8972 020272 110037 000001G MOVB R0,.KLNMD+1 ;;; ........SET THE CONSOLE MODE
8973 020276 POP .KLNTT ;;; ........SET THE END TIME
020276 012637 000000G MOV (SP)+,.KLNTT
8974 020302 POP .KLNTD ;;; .......GET THE END DATE
020302 012637 000000G MOV (SP)+,.KLNTD
8975 020306 POP .KLNTD+2 ;;; ......BOTH HALVES
020306 012637 000002G MOV (SP)+,.KLNTD+2
8976 020312 POP .KLNFT ;;; .....SET THE START TIME
020312 012637 000000G MOV (SP)+,.KLNFT
8977 020316 POP .KLNFD ;;; ....POINT TO THE START DATE
020316 012637 000000G MOV (SP)+,.KLNFD
8978 020322 POP .KLNFD+2 ;;; ...BOTH HALVES
020322 012637 000002G MOV (SP)+,.KLNFD+2
8979 020326 112637 000000G MOVB (SP)+,.KLNMD+0 ;;; ..SET THE KLINIK MODE
8980 020332 002410 BLT 75$ ;;; .GO ON IF USER
8981 020334 012702 000006 MOV #^D6,R2 ;;; .CHARACTER COUNT TO R2
8982 020340 012701 000000G MOV #.KLNPW,R1 ;;; .POINT TO THE PASSWORD
8983 020344 012700 001326' MOV #KLNPWD,R0 ;;; .POINT TO OURS
8984 020350 70$:
8985 020350 112021 MOVB (R0)+,(R1)+ ;;; .LOAD THE PASSWORD
8986 020352 077202 SOB R2,70$ ;;; .LOOP TILL DONE
8987 020354 75$:
8989 020354 010337 177776 MOV R3,@#PS ;;; ENABLE INTERRUPTS
8991 020360 POP R5 ; .RESTORE R5
020360 012605 MOV (SP)+,R5
8992 020362 000421 BR 85$ ; AND EXIT
8993 ;
8994 020364 80$:
8995 020364 105737 000000G TSTB .KLNMD+0 ; ANYTHING TO CLEAR??
8996 020370 001502 BEQ 100$ ; NO -- JUST TELL OPERATOR ITS ALREADY CLEAR
8998 020372 .INH6 ; DISALLOW INTERRUPTS
020372 013746 177776 MOV @#PS,-(SP)
020376 112737 000300 177776 MOVB #300,@#PS
9000 020404 105037 000000G CLRB .KLNMD+0 ;;; CLEAR KLINIK
9001 020410 105037 000000G CLRB .KLNPW+0 ;;; CLEAR THE KLINIK PASSWORD
9002 020414 112737 000001 000001G MOVB #1,.KLNSW+1 ;;; MARK THAT WE WANT A CLEAR
9004 020422 .ENB6 ;;; ENABLE INTERRUPTS
020422 012637 177776 MOV (SP)+,@#PS
9006 020426 85$:
9008 020426 032737 000000G 000002G BIT #EF.PR1,.COMEF+2 ; ANY THING THERE TO GET THIS?
9009 020434 001460 BEQ 100$ ; NO -- GO ON
9010 020436 CLEF$S #E.FKLN ; RESET THE FLAG
020436 012746 000004 MOV #E.FKLN,-(SP)
SWKLN -- SET/CLEAR/WHAT "KLINIK MACRO M1113 03-APR-86 22:56 PAGE 230-4
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
020442 012746 MOV (PC)+,-(SP)
020444 037 002 .BYTE 31.,2
020446 104375 EMT 375
9012 020450 012700 000000G MOV #.KLNPB,R0 ; BUFFER POINTER TO R0
9013 020454 012710 000000G MOV #KLNPLN,(R0) ; BUFFER SIZE TO HEADER
9014 020460 012701 100000G MOV #BC.SKP+100000,R1 ; FUNCTION CODE TO R1
9015 020464 005002 CLR R2 ; NO EVENT FLAG
9016 020466 012703 000000G MOV #D.CCPU,R3 ; DEVICE CODE TO R3
9017 020472 CALL ..STIN ; SEND THE NEW PARAMETERS
020472 004737 000000G JSR PC,..STIN
9018 020476 012702 000000C MOV #KLNLGL/2,R2 ; ARGUMENT COUNT TO R2
9019 020502 012701 000000G MOV #.KLNPE,R1 ; INPUT BLOCK POINTER
9020 020506 012700 001326' MOV #KLNLGE,R0 ; OUTPUT BLOCK POINTER
9021 020512 90$:
9022 020512 014140 MOV -(R1),-(R0) ; LOAD THE PARAMETERS
9023 020514 077202 SOB R2,90$ ; LOOP TILL DONE
9024 020516 012702 000001 MOV #1,R2 ; ASSUME "SET"
9025 020522 005737 000000G TST .NOTSW ; IS IT??
9026 020526 001401 BEQ 95$ ; YES -- GO ON
9027 020530 005402 NEG R2 ; NO -- INVERT IT
9028 020532 95$:
9029 020532 105740 TSTB -(R0) ; GET OVER THE LOG CODE
9030 020534 110240 MOVB R2,-(R0) ; SET THE EVENT CODE
9031 020536 005740 TST -(R0) ; BACK OVER THE LOG FLAG
9032 020540 012740 000022 MOV #22,-(R0) ; SET THE PACKET SIZE
9033 020544 012701 100000G MOV #BC.HDS+100000,R1 ; FUNCTION CODE TO R1
9034 020550 012702 000004 MOV #E.FKLN,R2 ; EVENT FLAG TO R2
9035 020554 012703 000000G MOV #D.CKLN,R3 ; DEVICE CODE TO R3
9036 020560 CALL ..STIN ; LOG IT
020560 004737 000000G JSR PC,..STIN
9038 020564 WTSE$S #E.FKLN ; WAIT FOR IT
020564 012746 000004 MOV #E.FKLN,-(SP)
020570 012746 MOV (PC)+,-(SP)
020572 051 002 .BYTE 41.,2
020574 104375 EMT 375
9040 020576 100$:
9041 ; BR .WHKLN ; TELL THE STATE AND EXIT
9042 ;
9043
9044 .DSABL LSB
SWKLN -- SET/CLEAR/WHAT "KLINIK MACRO M1113 03-APR-86 22:56 PAGE 231
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
9046 001302 .PSECT DATA
9047
9048 001302 KLNLOG:
9049 001302 000000 .WORD 0
9050 001304 000000G .WORD DV.LOG
9051 001306 000000G .WORD K.LSCK
9052 001310 000000 000000 000000 .WORD 0,0,0
9053 001316 000000 000000 000000 .WORD 0,0,0
9054 001324 000000 .WORD 0
9055 001326' KLNLGE=.
9056
9057 001326 KLNPWD:
9058 001326 000000 000000 000000 .WORD 0,0,0 ; TEMP PASSWORD STORAGE
9059 003756 .PSECT MESSAG
9060
9061 003756 SCKMS0:
9062 003756 120 101 123 .ASCIZ %PASSWORD: %
003761 123 127 117
003764 122 104 072
003767 040 000
9063 003771 SCKMS1:
9064 003771 101 103 103 .ASCIZ %ACCESS WINDOW OPEN %
003774 105 123 123
003777 040 127 111
004002 116 104 117
004005 127 040 117
004010 120 105 116
004013 040 000
9065 004015 SCKMS2:
9066 004015 101 103 103 .ASCIZ %ACCESS WINDOW CLOSE %
004020 105 123 123
004023 040 127 111
004026 116 104 117
004031 127 040 103
004034 114 117 123
004037 105 040 000
9067 004042 SCKMS3:
9068 004042 110 111 107 .ASCIZ %HIGHEST CONSOLE MODE: %
004045 110 105 123
004050 124 040 103
004053 117 116 123
004056 117 114 105
004061 040 115 117
004064 104 105 072
004067 040 000
9069 004071 SCKMS4:
9070 004071 113 114 111 .ASCIZ %KLINIK MODE: %
004074 116 111 113
004077 040 115 117
004102 104 105 072
004105 040 000
9071 020576 .PSECT
SWKLN -- SET/CLEAR/WHAT "KLINIK MACRO M1113 03-APR-86 22:56 PAGE 232
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
9073 .SBTTL .WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
9074
9075 ;+
9076 ; .WHKLN -- THE "WHAT KLINIK" COMMAND
9077 ;
9078 ; THIS SUBROUTINE WILL REPORT THE STATE OF THE KLINIK PARAMETERS
9079 ; ON THE CONSOLE DEVICE.
9080 ;
9081 ; INPUT ARGUMENTS:
9082 ;
9083 ; NONE.
9084 ;
9085 ; OUTPUT ARGUMENTS:
9086 ;
9087 ; NONE.
9088 ;
9089 ; ERROR CODES RETURNED:
9090 ;
9091 ; NONE.
9092 ;-
9093
9094 .MCALL DIR$,RQST$
9095
9096 020576 .WHKLN::
9097 020576 CALL .CKEOC ; MUST HAVE E-O-C
020576 004737 000000G JSR PC,.CKEOC
9098 020602 012700 004107' MOV #WHKMS0,R0 ; MESSAGE POINTER TO R0
9099 020606 CALL .TYMSG ; PRINT IT
020606 004737 000000G JSR PC,.TYMSG
9100 020612 012700 004120' MOV #WHKMS1,R0 ; ASSUME KLINIK IS DISABLED
9101 020616 105737 000000G TSTB .KLNMD+0 ; IS IT?
9102 020622 001514 BEQ 40$ ; YES -- SAY SO
9103 020624 012700 004237' MOV #WHKMSA,R0 ; NO -- ASSUME ACTIVE
9104 020630 105737 000000G TSTB .KLNSW+0 ; IS IT??
9105 020634 001002 BNE 10$ ; YES -- GO ON
9106 020636 012700 004271' MOV #WHKMSI,R0 ; NO -- SAY INACTIVE
9107 020642 10$:
9108 020642 005737 000000G TST .KLNFD ; IS THERE A DATE??
9109 020646 001005 BNE 20$ ; YES -- KLINIK REALLY ALIVE
9110 020650 012700 004246' MOV #WHKMRB,R0 ; NO -- ALIVE FROM REBOOT
9111 020654 CALL .TYLIN
020654 004737 000000G JSR PC,.TYLIN
9112 020660 000436 BR 30$ ; TYPE MODE AND EXIT
9113 ;
9114 020662 20$:
9115 020662 CALL .TYLIN ; TYPE STATE
020662 004737 000000G JSR PC,.TYLIN
9116 020666 012700 004131' MOV #WHKMS2,R0 ; GET OPEN MESSAGE
9117 020672 CALL .TYMSG ; PRINT IT
020672 004737 000000G JSR PC,.TYMSG
9118 020676 012700 000000G MOV #.KLNFD,R0 ; POINT TO THE FROM DATE
9119 020702 CALL .TYDAT ; PRINT IT
020702 004737 007040' JSR PC,.TYDAT
9120 020706 012700 000000G MOV #.KLNFT,R0 ; POINT TO THE FROM TIME
9121 020712 CALL .TYTIM ; PRINT IT
020712 004737 007154' JSR PC,.TYTIM
9122 020716 CALL .TCRLF ; END THE LINE
SWKLN -- SET/CLEAR/WHAT "KLINIK MACRO M1113 03-APR-86 22:56 PAGE 232-1
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
020716 004737 000000G JSR PC,.TCRLF
9123 020722 012700 004157' MOV #WHKMS3,R0 ; CLOSE MESSAGE POINTER
9124 020726 CALL .TYMSG ; PRINT IT
020726 004737 000000G JSR PC,.TYMSG
9125 020732 012700 000000G MOV #.KLNTD,R0 ; POINT TO THE TO DATE
9126 020736 CALL .TYDAT ; PRINT IT
020736 004737 007040' JSR PC,.TYDAT
9127 020742 012700 000000G MOV #.KLNTT,R0 ; POINT TO THE TO TIME
9128 020746 CALL .TYTIM ; PRINT IT
020746 004737 007154' JSR PC,.TYTIM
9129 020752 CALL .TCRLF ; END THE LINE
020752 004737 000000G JSR PC,.TCRLF
9130 020756 30$:
9131 020756 012700 004302' MOV #WHKMSK,R0 ; KLINIK MODE
9132 020762 CALL .TYMSG ; PRINT IT
020762 004737 000000G JSR PC,.TYMSG
9133 020766 012700 000000G MOV #USRMSG,R0 ; ASSUME USER
9134 020772 105737 000000G TSTB .KLNMD+0 ; IS IT??
9135 020776 100426 BMI 40$ ; YES -- PRINT AND EXIT
9136 021000 012700 000000G MOV #REMMSG,R0 ; NO -- SAY REMOTE
9137 021004 CALL .TYLIN ; PRINT IT
021004 004737 000000G JSR PC,.TYLIN
9138 021010 012700 004207' MOV #WHKMS4,R0 ; CONSOLE MODE MESSAGE
9139 021014 CALL .TYMSG ; PRINT IT
021014 004737 000000G JSR PC,.TYMSG
9140 021020 012700 000000G MOV #MNTMSG,R0 ; MAINTENANCE MODE
9141 021024 122737 000007 000001G CMPB #LG.ALL,.KLNMD+1
9142 021032 001410 BEQ 40$ ; YES -- SAY SO
9143 021034 012700 000000G MOV #PRGMSG,R0 ; NO -- PROGRAMMER MAYBE
9144 021040 122737 000003 000001G CMPB #LG.PRM,.KLNMD+1
9145 021046 001402 BEQ 40$ ; YES -- SAY SO
9146 021050 012700 000000G MOV #OPRMSG,R0 ; NO -- MUST BE OPERATOR
9147 021054 40$:
9148 021054 105737 000001G TSTB .KLNSW+1 ; IS THIS A CLEAR COMMAND??
9149 021060 001407 BEQ 50$ ; NO -- JUST GO AWAY
9150 021062 CALL .TYLIN ; YES -- PRINT THE LINE
021062 004737 000000G JSR PC,.TYLIN
9151 021066 DIR$ #REQKLD ; REQUEST KLD
021066 012746 000114' MOV #REQKLD,-(SP)
021072 104375 EMT 375
9152 021074 CALLR .EXITP ; AND EXIT
021074 000137 000000G JMP .EXITP
9153 ;
9154 021100 50$:
9155 021100 CALLR .TYLIN ; PRINT AND EXIT
021100 000137 000000G JMP .TYLIN
9156 ;
9157
9158 000114 .PSECT DPBS
9159
9160 000114 REQKLD:
9161 000114 RQST$ KLDISC,,10
000114 013 007 .BYTE 11.,7
000116 043244 035473 .RAD50 /KLDISC/
000122 000000 000000 .WORD 0,0
000126 000010 .WORD 10
000130 000 000 .BYTE ,
SWKLN -- SET/CLEAR/WHAT "KLINIK MACRO M1113 03-APR-86 22:56 PAGE 232-2
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
9162
9163 021104 .PSECT
SWKLN -- SET/CLEAR/WHAT "KLINIK MACRO M1113 03-APR-86 22:56 PAGE 233
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
9165 004107 .PSECT MESSAG
9166
9167 004107 WHKMS0:
9168 004107 040 113 114 .ASCIZ % KLINIK %
004112 111 116 111
004115 113 040 000
9169 004120 WHKMS1:
9170 004120 104 111 123 .ASCIZ %DISABLED%
004123 101 102 114
004126 105 104 000
9171 004131 WHKMS2:
9172 004131 040 101 103 .ASCIZ % ACCESS WINDOW OPEN: %
004134 103 105 123
004137 123 040 127
004142 111 116 104
004145 117 127 040
004150 117 120 105
004153 116 072 040
004156 000
9173 004157 WHKMS3:
9174 004157 040 101 103 .ASCIZ % ACCESS WINDOW CLOSED: %
004162 103 105 123
004165 123 040 127
004170 111 116 104
004173 117 127 040
004176 103 114 117
004201 123 105 104
004204 072 040 000
9175 004207 WHKMS4:
9176 004207 040 110 111 .ASCIZ % HIGHEST CONSOLE MODE: %
004212 107 110 105
004215 123 124 040
004220 103 117 116
004223 123 117 114
004226 105 040 115
004231 117 104 105
004234 072 040 000
9177 004237 WHKMSA:
9178 004237 101 103 124 .ASCIZ %ACTIVE%
004242 111 126 105
004245 000
9179 004246 WHKMRB:
9180 004246 101 103 124 .ASCIZ %ACTIVE FROM REBOOT%
004251 111 126 105
004254 040 106 122
004257 117 115 040
004262 122 105 102
004265 117 117 124
004270 000
9181 004271 WHKMSI:
9182 004271 111 116 101 .ASCIZ %INACTIVE%
004274 103 124 111
004277 126 105 000
9183 004302 WHKMSK:
9184 004302 040 113 114 .ASCIZ % KLINIK MODE: %
004305 111 116 111
004310 113 040 115
SWKLN -- SET/CLEAR/WHAT "KLINIK MACRO M1113 03-APR-86 22:56 PAGE 233-1
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
004313 117 104 105
004316 072 040 000
9185 021104 .PSECT
SWKLN -- SET/CLEAR/WHAT "KLINIK MACRO M1113 03-APR-86 22:56 PAGE 235
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
9188
9189 .TITLE ZEROC -- ZERO COMMAND MODULE 7609.15
9190
9191 .IDENT "006130"
9192
9193 ;
9194 ; COPYRIGHT (C) 1975, 1984, 1985 BY
9195 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
9196 ; ALL RIGHTS RESERVED.
9197 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
9198 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
9199 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
9200 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
9201 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
9202 ;
9203 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
9204 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
9205 ; CORPORATION.
9206 ;
9207 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
9208 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
9209 ;
9210 ; MODULE: ZERO COMMAND
9211 ;
9212 ; VERSION: 06-13
9213 ;
9214 ; AUTHOR: R. BELANGER
9215 ;
9216 ; DATE: 7609.15
9217 ;
9218 ; THIS MODULE CONTAINS:
9219 ;
9220 ; 1) ZERO COMMAND CODE
9221 ;
9222
9223 .MCALL $DEF, DIR$, PRDP$
9224
9225 021104 $DEF
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1113 03-APR-86 22:56 PAGE 236
.ZEROC -- THE "ZERO" COMMAND 7609.15
9227 .SBTTL .ZEROC -- THE "ZERO" COMMAND 7609.15
9228
9229 ;+
9230 ; .ZEROC -- THE "ZERO" COMMAND.
9231 ;
9232 ; THIS ROUTINE WILL SET UP AND EXECUTE A KL "BLT" INSTRUCTION THAT
9233 ; WILL ZERO THE LOWER 256K OF KL MEMORY. KL AC 0 IS USED AS THE
9234 ; BLT POINTER, AND THUS IS NOT ZEROED.
9235 ;
9236 ; INPUT ARGUMENTS:
9237 ;
9238 ; NONE.
9239 ;
9240 ; OUTPUT ARGUMENTS:
9241 ;
9242 ; NONE
9243 ;
9244 ; ERROR CODES RETURNED:
9245 ;
9246 ; NONE.
9247 ;-
9248
9249 021104 .ZEROC::
9250 021104 CALL .CKRUN ; SEE IF THE KL IS RUNNING
021104 004737 000000G JSR PC,.CKRUN
9251 021110 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
9252 021112 005046 CLR -(SP) ; .
9253 021114 005046 CLR -(SP) ; ..
9254 021116 010600 MOV SP,R0 ; ...POINT TO THE BUFFER
9255 021120 CALL .GTKLA ; ...READ THE FIRST ADDRESS
021120 004737 000000G JSR PC,.GTKLA
9256 021124 010001 MOV R0,R1 ; ...SAVE POINTER TO FIRST ADDRESS
9257 021126 122704 000072 CMPB #':,R4 ; ...IS LAST CHARACTER A BRACKET?
9258 021132 001403 BEQ 10$ ; ...YES -- GO ON
9259 021134 162706 000006 SUB #^D6,SP ; ...NO -- FUDGE THE STACK POINTER
9260 021140 000407 BR 20$ ; ......AND ASSUME IT IS E-O-C
9261 ;
9262
9263 ; [CONTINUED ON THE FOLLOWING PAGE]
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1113 03-APR-86 22:56 PAGE 237
.ZEROC -- THE "ZERO" COMMAND 7609.15
9265 ; [CONTINUED FROM THE PREVIOUS PAGE]
9266
9267 021142 10$:
9268 021142 105725 TSTB (R5)+ ; ...GET OVER THE SEPARATOR
9269 021144 005046 CLR -(SP) ; ...CLEAR ANOTHER BUFFER
9270 021146 005046 CLR -(SP) ; ....
9271 021150 005046 CLR -(SP) ; .....
9272 021152 010600 MOV SP,R0 ; ......GET SECOND BUFFER POINTER
9273 021154 CALL .GTKLA ; ......READ THE SECOND ADDRESS
021154 004737 000000G JSR PC,.GTKLA
9274 021160 20$:
9275 021160 CALL .CKEOC ; ......MUST BE E-O-C
021160 004737 000000G JSR PC,.CKEOC
9276 021164 PUSH <R0,R1> ; ......SAVE THE POINTERS
021164 010046 MOV R0,-(SP)
021166 010146 MOV R1,-(SP)
9277 021170 CALL .STPKL ; ........STOP THE KL
021170 004737 000000G JSR PC,.STPKL
9278 021174 032737 100000 000000G BIT #KF.CLK,.KLFLG ; ........IS THE CLOCK RUNNING?
9279 021202 001002 BNE 30$ ; ........YES -- GO ON
9280 021204 CALL .STCLK ; ........NO -- START IT
021204 004737 000000G JSR PC,.STCLK
9281 021210 30$:
9282 021210 POP <R1,R0> ; ........RESTORE THE POINTERS
021210 012601 MOV (SP)+,R1
021212 012600 MOV (SP)+,R0
9283 021214 012702 000000G MOV #.TPDEC,R2 ; ......DISPATCH FOR DECREMENT
9284 021220 CALL .TPCMP ; ......COMPARE ADDRESSES
021220 004737 000000G JSR PC,.TPCMP
9285 021224 002402 BLT 40$ ; ......ALL OK IF (R1) .GT. (R0)
9286 021226 012702 000000G MOV #.TPINC,R2 ; ......SET UP FOR FORWARD
9287 021232 40$:
9288 021232 010003 MOV R0,R3 ; ......END ADDRESS TO R3
9289 021234 010100 MOV R1,R0 ; ......BEGINNING ADDESSS TO R0
9290 021236 010301 MOV R3,R1 ; ......END ADDRESS TO R1
9291 021240 005046 CLR -(SP) ; ......CLEAR A DATA BUFFER
9292 021242 005046 CLR -(SP) ; .......
9293 021244 005046 CLR -(SP) ; ........
9294 021246 010603 MOV SP,R3 ; .........POINT TO IT
9295 021250 010337 000140' MOV R3,ZERDPB+6 ; .........SET UP THE DEPOSIT DPB
9296 021254 010037 000136' MOV R0,ZERDPB+4 ; .........SO
9297
9298 ; [CONTINUED ON THE FOLLOWING PAGE]
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1113 03-APR-86 22:56 PAGE 238
.ZEROC -- THE "ZERO" COMMAND 7609.15
9300 ; [CONTINUED FROM THE PREVIOUS PAGE]
9301
9302 021260 50$:
9303 021260 012703 000144 MOV #^D100,R3 ; .........LOOP COUNT TO R4
9304 021264 60$:
9308 021264 DIR$ #ZERDPB ; .........DO THE DEPOSIT
021264 012746 000132' MOV #ZERDPB,-(SP)
021270 104375 EMT 375
9310 021272 103415 BCS 80$ ; .........ERROR IF CC-C IS SET
9311 021274 CALL .TPCMP ; .........ARE WE DONE?
021274 004737 000000G JSR PC,.TPCMP
9312 021300 001405 BEQ 70$ ; .........YES -- EXIT
9313 021302 CALL (R2) ; .........NO -- COMPUTE NEXT ADDRESS
021302 004712 JSR PC,(R2)
9314 021304 077311 SOB R3,60$ ; .........LOOP THRU THIS SET
9315 021306 CALL .CKCTC ; .........LOOK FOR CONTROL-C
021306 004737 000000G JSR PC,.CKCTC
9316 021312 000762 BR 50$ ; .........AND GO ON
9317 ;
9318 021314 70$:
9319 021314 062706 000022 ADD #^D18,SP ; .........CLEAR THE STACK
9320 021320 005037 000000G CLR .SVKLF ; CLEAR ".SVKLF"
9321 021324 RETURN ; TO CALLER
021324 000207 RTS PC
9322 021326 80$:
9323 021326 022737 000000G 000000G CMP #IE.EBX,$DSW ; IS THE EBOX STOPPED?
9324 021334 001403 BEQ ZERESD ; YES -- SAY SO
9325 021336 ERROR$ DMF ; NO -- ERROR -- DEPOSIT MEMORY FAILED
021336 012746 015416 MOV #^RDMF,-(SP)
021342 104400 TRAP TC.ERR
9326 ;
9327 021344 ZERESD:
9328 021344 ERROR$ ESD ; ERROR -- EBOX STOPPED - DEPOSIT
021344 012746 021074 MOV #^RESD,-(SP)
021350 104400 TRAP TC.ERR
9329 ;
9330
9331 000132 .PSECT DPBS
9332
9333 000132 ZERDPB:
9334 000132 PRDP$ 0,0,0,ED.PHY
000132 011 005 .BYTE DR.DTE,5
000134 016 200 .BYTE DF.PDP,ED.PHY
000136 000000 .WORD 0
000140 000000 .WORD 0
000142 000000 .WORD 0
9335
9336 021352 .PSECT
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1113 03-APR-86 22:56 PAGE 240
.ZEROC -- THE "ZERO" COMMAND 7609.15
9339
9340
9341
9342 ;
9343 ; COPYRIGHT (C) 1975, 1984, 1985 BY
9344 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
9345 ; ALL RIGHTS RESERVED.
9346 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
9347 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
9348 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
9349 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
9350 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
9351 ;
9352 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
9353 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
9354 ; CORPORATION.
9355 ;
9356 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
9357 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
9358 ;
9359 ;
9360 ; VERSION: 06-13
9361 ;
9362 ;
9363 ;
9364 ; THIS MODULE CONTAINS:
9365 ;
9366 ;
9367
9368
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1113 03-APR-86 22:56 PAGE 241
.ZEROC -- THE "ZERO" COMMAND 7609.15
9370
9371 ;+
9372 ;
9373 ; THIS ROUTINE WILL SET UP AND EXECUTE A KL "BLT" INSTRUCTION THAT
9374 ; WILL ZERO THE LOWER 256K OF KL MEMORY. KL AC 0 IS USED AS THE
9375 ; BLT POINTER, AND THUS IS NOT ZEROED.
9376 ;
9377 ; INPUT ARGUMENTS:
9378 ;
9379 ; NONE.
9380 ;
9381 ; OUTPUT ARGUMENTS:
9382 ;
9383 ; NONE
9384 ;
9385 ; ERROR CODES RETURNED:
9386 ;
9387 ; NONE.
9388 ;-
9389
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1113 03-APR-86 22:56 PAGE 244
.ZEROC -- THE "ZERO" COMMAND 7609.15
9393 001334 .PSECT DATA
9394 001334 000000 EXDEPF: .WORD 0
9395 001336 000000G QTAB: .WORD Q0
9396 001340 000000G .WORD Q1
9397 001342 000000G .WORD Q2
9398 001344 000000G .WORD Q3
9399
9400 021352 .PSECT
9401 .ENABL LSB
9402
9403 021352 .SAVQ::
9404 021352 005037 001334' CLR EXDEPF
9405 021356 000403 BR 10$
9406 021360 .RESQ::
9407 021360 012737 000001 001334' MOV #1,EXDEPF
9408 021366 10$:
9409 021366 PUSH <R0,R1,R2,R3>
021366 010046 MOV R0,-(SP)
021370 010146 MOV R1,-(SP)
021372 010246 MOV R2,-(SP)
021374 010346 MOV R3,-(SP)
9410 021376 CALL .GTELN
021376 004737 000000G JSR PC,.GTELN
9411 021402 006300 ASL R0
9412 021404 016003 001336' MOV QTAB(R0),R3
9413 021410 CALL .CKCOL
021410 004737 000000G JSR PC,.CKCOL
9414 021414 012700 000000G MOV #.EDKLX,R0
9415 021420 CALL .GTKLA
021420 004737 000000G JSR PC,.GTKLA
9416 021424 PUSH R3
021424 010346 MOV R3,-(SP)
9417 021426 PUSH #.EDKLX
021426 012746 000000G MOV #.EDKLX,-(SP)
9418 021432 010601 MOV SP,R1
9419 021434 012700 000200 MOV #ED.PHY,R0
9420 021440 005737 001334' TST EXDEPF
9421 021444 001403 BEQ 20$
9422 021446 CALL .DPKLM
021446 004737 000000G JSR PC,.DPKLM
9423 021452 000402 BR 30$
9424 021454 20$:
9425 021454 CALL .EXKLM
021454 004737 000000G JSR PC,.EXKLM
9426 021460 30$:
9427 021460 005726 TST (SP)+
9428 021462 005726 TST (SP)+
9429 021464 POP <R3,R2,R1,R0>
021464 012603 MOV (SP)+,R3
021466 012602 MOV (SP)+,R2
021470 012601 MOV (SP)+,R1
021472 012600 MOV (SP)+,R0
9430 021474 RETURN
021474 000207 RTS PC
9431 .DSABL LSB
9432
9433 .EVEN
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1113 03-APR-86 22:56 PAGE 244-1
.ZEROC -- THE "ZERO" COMMAND 7609.15
9434 000001 .END
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1113 03-APR-86 22:56 PAGE 244-2
SYMBOL TABLE
ABTAB 000530R 002 ASH = 000240 CCEMSG 003317R 003 CR.HLF= 000001 DG3B1 001711R 003
ACADR 001026RG 002 ASHC = 000244 CC.ALL= 003417 CR.NRM= 000000 DIAG1 = 174430
ACDAT 000766R 002 AUGMSG= ****** GX CC.NRM= 000000 CR.QTR= 000002 DIAG2 = 174432
ADD = 000270 A.LULU= 000002 CDD = 000020 CR.SLO= 000003 DIAG3 = 174436
ADDB = 000273 A.LUNA= 000004 CDMTB 001214R 002 CS.ALL= 000014 DIATAB 000356R 002
ADDI = 000271 A.LUNU= 000006 CD.ALL= 003400 CS.CS1= 000004 DIKL10= 000010
ADDM = 000272 BC.HDS= ****** GX CD.CLC= 000400 CS.CS2= 000010 DIV = 000234
ADH = 000000 BC.SKP= ****** GX CD.CRC= 002000 CS.EXP= 177670 DIVB = 000237
ADL = 000100 BIT0 = 000001 CD.DPC= 001000 CS.EXT= 000010 DIVI = 000235
AND = 000404 BIT00 = 000001 CD.NRM= 000000 CS.FST= 000004 DIVM = 000236
ANDB = 000407 BIT01 = 000002 CHNPNT= 000001 CS.MGN= 000004 DLYCNT= 174400
ANDCA = 000410 BIT02 = 000004 CH.ALP= 000001 CS.NRM= 000000 DMOVE = 000120
ANDCAB= 000413 BIT03 = 000010 CH.ANM= 000003 CS.UDF= 000014 DMOVEM= 000124
ANDCAI= 000411 BIT04 = 000020 CH.AOP= 000100 CTLMSG= ****** GX DMOVN = 000121
ANDCAM= 000412 BIT05 = 000040 CH.END= 000034 DATAI = 000001 DMOVNM= 000125
ANDCB = 000440 BIT06 = 000100 CH.EOC= 000010 DATAO = 000003 DON10C= 040000
ANDCBB= 000443 BIT07 = 000200 CH.EOL= 000004 DATBUF 001262R 002 DON10S= 100000
ANDCBI= 000441 BIT08 = 000400 CH.EOS= 000020 DCOMST= 000001 DON11C= 000100
ANDCBM= 000442 BIT09 = 001000 CH.ILL= 000200 DECMSG= ****** GX DON11S= 000200
ANDCM = 000420 BIT1 = 000002 CH.NUL= 000000 DEP = 010000 DOWMTB 001244R 002
ANDCMB= 000423 BIT10 = 002000 CH.NUM= 000002 DEPBLK 000756R 002 DOWTAB 001204R 002
ANDCMI= 000421 BIT11 = 004000 CH.PFX= 000040 DEPOS 001343R 003 DPB = 000137
ANDCMM= 000422 BIT12 = 010000 CIDLUN= 000001 DEX = 000400 DPOAPE 002542R
ANDI = 000405 BIT13 = 020000 CLDSTB 001124R 002 DEXDON= 000004 DPOATB 000000R 002
ANDM = 000406 BIT14 = 040000 CLEAR = 000400 DEXWD1= 174406 DPODTB 000004R 002
AOBJN = 000253 BIT15 = 100000 CLEARB= 000403 DEXWD2= 174404 DPOITB 000010R 002
AOBJP = 000252 BIT2 = 000004 CLEARI= 000401 DEXWD3= 174402 DPOKCN 002550R
AOJ = 000340 BIT3 = 000010 CLEARM= 000402 DFAD = 000110 DPONTB 000014R 002
AOJA = 000344 BIT4 = 000020 CLOSE = 000070 DFBEND= ****** GX DPOOAI 001546R
AOJE = 000342 BIT5 = 000040 CLRTTB 001150R 002 DFCIFC 000656R DPOPTB 000020R 002
AOJG = 000347 BIT6 = 000100 CLSRTB 001140R 002 DFDV = 000113 DPOVFE 002556R
AOJGE = 000345 BIT7 = 000200 CMDK1 002231R 003 DFMP = 000112 DPOZTB 000024R 002
AOJL = 000341 BIT8 = 000400 CMDK10 002366R 003 DFN = 000131 DPS4 = 040000
AOJLE = 000343 BIT9 = 001000 CMDK2 002244R 003 DFRMSG 000000R 003 DPTMSG= ****** GX
AOJN = 000346 BLKI = 000000 CMDK3 002256R 003 DFSB = 000111 DRATAB 000442R 002
AOS = 000350 BLKO = 000002 CMDK4 002267R 003 DFUNC = 000200 DRESET= 000100
AOSA = 000354 BLT = 000251 CMDK5 002302R 003 DF.DMG= 000004 DRMMSG= ****** GX
AOSE = 000352 BPARER= 000020 CMDK6 002315R 003 DF.DMN= 000007 DR.DTE= 000011
AOSG = 000357 CAI = 000300 CMDK7 002330R 003 DF.DOR= 000001 DSEND = 000004
AOSGE = 000355 CAIA = 000304 CMDK8 002342R 003 DF.EHG= 000010 DS04 = 004000
AOSL = 000351 CAIE = 000302 CMDK9 002354R 003 DF.EHM= 000011 DS05 = 002000
AOSLE = 000353 CAIG = 000307 CNUPE = 000002 DF.EMG= 000005 DS06 = 001000
AOSN = 000356 CAIGE = 000305 CODLUN= 000002 DF.EMN= 000006 DTEBUF 000140R 002
APR = 000000 CAIL = 000301 CONI = 000005 DF.KLR= 000012 DTECMD= 000451
APRMSG= ****** GX CAILE = 000303 CONKNC 000156R DF.KLW= 000013 DTEFLG= 000444
AP.ALL= 000177 CAIN = 000306 CONO = 000004 DF.KLX= 000014 DTEF11= 000450
AP.ARP= 001000 CALL = 000040 CONSO = 000007 DF.OFF= 000002 DTEMTD= 000455
AP.CDP= 000004 CALLI = 000047 CONSZ = 000006 DF.ON = 000003 DTEMTI= 000456
AP.EIP= 000400 CAM = 000310 CPUNUM= 000002 DF.PDP= 000016 DTEREG 000200R 002
AP.IPF= 000020 CAMA = 000314 CPVMSG= ****** GX DF.PEX= 000015 DUPE = 000020
AP.MPE= 000010 CAME = 000312 CRATAB 000412R 002 DG1B10 001424R 003 DURE = 000004
AP.NRM= 001400 CAMG = 000317 CRLTAB 000426R 002 DG1B11 001373R 003 DV.LOG= ****** GX
AP.NXM= 000040 CAMGE = 000315 CRMMSG= ****** GX DG1B5 001647R 003 DXWRD1= 002000
AP.PWF= 000001 CAML = 000311 CR.ALL= 000003 DG1B6 001604R 003 DX1MS1 001025R 003
AP.SAP= 000002 CAMLE = 000313 CR.CR1= 000001 DG1B7 001541R 003 DX1MS2 001045R 003
AP.SBE= 000100 CAMN = 000316 CR.CR2= 000002 DG1B8 001475R 003 D.CCPU= ****** GX
ARMSG = ****** GX CCA = 000014 CR.FUL= 000000 DG1B9 001450R 003 D.CKLN= ****** GX
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1113 03-APR-86 22:56 PAGE 244-3
SYMBOL TABLE
D1.CES= 004000 EOSMSG 002205R 003 FDVRB = 000177 FR.VM0= 000320 FR.161= 000342
D1.DCS= 000001 EPMSG0 002112R 003 FDVRI = 000175 FR.VM1= 000322 FR.162= 000344
D1.DDT= 000040 EPMSG1 002126R 003 FDVRM = 000176 FR.VM2= 000324 FR.163= 000346
D1.DEX= 000400 EPMSG2 002140R 003 FEBMSG= ****** GX FR.VM3= 000326 FR.164= 000350
D1.DFM= 000010 EPMSG3 002154R 003 FERTAB 000456R 002 FR.VM4= 000330 FR.165= 000352
D1.DS0= 100000 EPTR = 000000 FIX = 000122 FR.VM5= 000332 FR.166= 000354
D1.DS1= 040000 EPTUPT 000114R 002 FIXR = 000126 FR.VM6= 000334 FR.167= 000356
D1.DS2= 020000 EQV = 000444 FLTR = 000127 FR.VM7= 000336 FR.170= 000360
D1.DS3= 010000 EQVB = 000447 FMABO 002462R 003 FR.100= 000200 FR.171= 000362
D1.DS4= 004000 EQVI = 000445 FMBUF 001004R 002 FR.101= 000202 FR.172= 000364
D1.DS5= 002000 EQVM = 000446 FMERR 001002R 002 FR.102= 000204 FR.173= 000366
D1.DS6= 001000 ERRCES= ****** GX FMHED 002416R 003 FR.103= 000206 FR.174= 000370
D1.HLP= 001000 ERRCPE= ****** GX FMMSG = ****** GX FR.104= 000210 FR.175= 000372
D1.LBK= 000200 ERRDPE= ****** GX FMP = 000160 FR.105= 000212 FR.176= 000374
D1.MBZ= 000442 ERRFME= ****** GX FMPB = 000163 FR.106= 000214 FR.177= 000376
D1.PLS= 000020 ERR10C= 010000 FMPL = 000161 FR.107= 000216 FSB = 000150
D1.RUN= 002000 ERR10S= 020000 FMPM = 000162 FR.110= 000220 FSBB = 000153
D1.T10= 000200 ERR11C= 000001 FMPR = 000164 FR.111= 000222 FSBL = 000151
D1.T11= 000100 ERR11S= 000002 FMPRB = 000167 FR.112= 000224 FSBM = 000152
D1.V04= 000020 EXADTB 000034R 002 FMPRI = 000165 FR.113= 000226 FSBR = 000154
D1.XFR= 000004 EXAITB 000040R 002 FMPRM = 000166 FR.114= 000230 FSBRB = 000157
D1011 = 000040 EXAM 001353R 003 FNCIFC 001332R FR.115= 000232 FSBRI = 000155
D2.EBD= 040000 EXANTB 000044R 002 FNCOFC 001340R FR.116= 000234 FSBRM = 000156
D2.MBZ= 177641 EXAOAI 002110R FOFMSG 002003R 003 FR.117= 000236 FSC = 000132
D2.MS1= 000002 EXAPTB 000050R 002 FONMSG 001775R 003 FR.120= 000240 FSSMSG= ****** GX
D2.MS2= 000004 EXAZTB 000054R 002 FORPRO= 000020 FR.121= 000242 FTBYTE= 000000
D2.MS4= 000010 EXBLK 001022R 002 FRDBUF 000626RG 002 FR.122= 000244 FTCRAM= 000000
D2.MS8= 000020 EXCH = 000250 FRIMSG 003724R 003 FR.123= 000246 FTDEBU= 000001
D2.RA0= 100000 EXCIOC 003574R FR.ADX= 000254 FR.124= 000250 FTDISP= 000000
D2.RA1= 040000 EXDAT 001032RG 002 FR.APR= 000220 FR.125= 000252 FTDRAM= 000000
D2.RA2= 020000 EXDEPF 001334R 002 FR.ARX= 000252 FR.126= 000254 FTHELP= 000000
D2.RST= 000100 EXFMSG 002011R 003 FR.BRX= 000250 FR.127= 000256 FTKLE = 000001
D3.CDD= 000020 EXMDTB 000030R 002 FR.CA1= 000312 FR.130= 000260 FTKLER= 000000
D3.MBZ= 177704 EXRTBL= ****** GX FR.CA2= 000310 FR.131= 000262 FTLCVT= 000000
D3.NPE= 000002 EXTEND= 000123 FR.CL1= 000316 FR.132= 000264 FTLIST= 000001
D3.PAR= 040000 EXTKCN 003230R FR.CL2= 000314 FR.133= 000266 FTTRAK= 000001
D3.RST= 000001 EXTMSG= ****** GX FR.CRD= 000302 FR.134= 000270 FTTRP4= 000001
D3.SCD= 000040 E.FCID= 000002 FR.CR1= 000316 FR.135= 000272 FTUCVR= 000130
D3.SSL= 100000 E.FCOD= 000003 FR.CR2= 000314 FR.136= 000274 FT1105= 000001
D3.TXB= 000001 E.FCTC= ****** GX FR.CR3= 000312 FR.137= 000276 FT1110= 000001
D3.UPE= 000020 E.FFIL= 000006 FR.CR4= 000310 FR.140= 000300 FT1115= 000001
D3.URE= 000004 E.FHTO= 000001 FR.DA1= 000260 FR.141= 000302 FT1120= 000001
D3.WEP= 000010 E.FKLN= 000004 FR.DA2= 000262 FR.142= 000304 FT1135= 000001
EBSEL = 000100 E.FLOD= 000005 FR.EBS= 000356 FR.143= 000306 FT1140= 000001
EBUSPC= 000020 FAD = 000140 FR.FE1= 000266 FR.144= 000310 FT1145= 000000
EBUSPS= 000004 FADB = 000143 FR.FE2= 000264 FR.145= 000312 FULMSG= ****** GX
EDNKLA 000540R FADL = 000141 FR.PI0= 000200 FR.146= 000314 FW.APE= 000116
EDONES= 040000 FADM = 000142 FR.PI1= 000202 FR.147= 000316 FW.CA1= 000122
ED.EPT= 000000 FADR = 000144 FR.RAD= 000256 FR.150= 000320 FW.CA2= 000124
ED.EXV= 000040 FADRB = 000147 FR.RAR= 000240 FR.151= 000322 FW.CDR= 000112
ED.PHY= 000200 FADRI = 000145 FR.RBR= 000242 FR.152= 000324 FW.CHN= 000160
ED.UPT= 000100 FADRM = 000146 FR.RFM= 000246 FR.153= 000326 FW.CRD= 000126
ED.USV= 000140 FDV = 000170 FR.RMQ= 000244 FR.154= 000330 FW.CR1= 000136
EF.CRI= ****** GX FDVB = 000173 FR.SC1= 000262 FR.155= 000332 FW.CR2= 000134
EF.PR1= ****** GX FDVL = 000171 FR.SC2= 000260 FR.156= 000334 FW.CR3= 000132
ELEMSG= ****** GX FDVM = 000172 FR.SR1= 000306 FR.157= 000336 FW.CR4= 000130
ENTER = 000077 FDVR = 000174 FR.SR2= 000304 FR.160= 000340 FW.CSR= 000110
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1113 03-APR-86 22:56 PAGE 244-4
SYMBOL TABLE
FW.DJE= 000146 FX.SYC= 000010 HDDAG3 000237R 003 HRLS = 000507 INT11C= 002000
FW.DJO= 000150 FX.UDR= 000032 HDDEX1 000043R 003 HRLZ = 000514 INT11S= 004000
FW.DR1= 000140 FX.UIR= 000030 HDDEX2 000030R 003 HRLZI = 000515 IOR = 000434
FW.DR2= 000142 FX.000= 000000 HDDEX3 000015R 003 HRLZM = 000516 IORB = 000437
FW.DR3= 000144 FX.001= 000002 HDDLY 000004R 003 HRLZS = 000517 IORI = 000435
FW.EBL= 000174 FX.002= 000004 HDSTAT 000224R 003 HRR = 000540 IORM = 000436
FW.IAC= 000154 FX.003= 000006 HDTAD1 000056R 003 HRRE = 000570 IO.ACE= ****** GX
FW.IOJ= 000152 FX.004= 000010 HDTAD2 000071R 003 HRREI = 000571 IO.ACR= ****** GX
FW.IPE= 000114 FX.005= 000012 HDT10A 000126R 003 HRREM = 000572 IO.ATT= ****** GX
FW.KLO= 000156 FX.006= 000014 HDT10B 000102R 003 HRRES = 000573 IO.DET= ****** GX
FW.LAR= 000176 FX.007= 000016 HDT10D 000152R 003 HRRI = 000541 IP.ALL= 000017
FW.LBL= 000106 FX.010= 000020 HDT11A 000141R 003 HRRM = 000542 IP.CRP= 000004
FW.LBR= 000104 FX.011= 000022 HDT11B 000115R 003 HRRO = 000560 IP.DRP= 000002
FW.MBX= 000162 FX.012= 000024 HDT11D 000165R 003 HRROI = 000561 IP.FMP= 000010
FW.SBR= 000174 FX.013= 000026 HIBYTE= 177400 HRROM = 000562 IP.FSS= 000001
FW.040= 000100 FX.014= 000030 HLFMSG= ****** GX HRROS = 000563 IP.NRM= 000016
FW.041= 000102 FX.015= 000032 HLL = 000500 HRRS = 000543 JANMSG= ****** GX
FW.042= 000104 FX.016= 000034 HLLE = 000530 HRRZ = 000550 JFCL = 000255
FW.043= 000106 FX.017= 000036 HLLEI = 000531 HRRZI = 000551 JFFO = 000243
FW.044= 000110 FX.020= 000040 HLLEM = 000532 HRRZM = 000552 JRA = 000267
FW.045= 000112 FX.021= 000042 HLLES = 000533 HRRZS = 000553 JRST = 000254
FW.046= 000114 FX.022= 000044 HLLI = 000501 H.KCAC= ****** GX JSA = 000266
FW.047= 000116 FX.023= 000046 HLLM = 000502 H.KCHN= ****** GX JSP = 000265
FW.050= 000120 FX.024= 000050 HLLO = 000520 H.KEXT= ****** GX JSR = 000264
FW.051= 000122 FX.025= 000052 HLLOI = 000521 H.KMOS= ****** GX JSYS = 000104
FW.052= 000124 FX.026= 000054 HLLOM = 000522 H.KPWR= ****** GX JULMSG= ****** GX
FW.053= 000126 FX.027= 000056 HLLOS = 000523 I = 000000 JUMP = 000320
FW.054= 000130 FX.030= 000060 HLLS = 000503 IBP = 000133 JUMPA = 000324
FW.055= 000132 FX.031= 000062 HLLZ = 000510 IDIV = 000230 JUMPE = 000322
FW.056= 000134 FX.032= 000064 HLLZI = 000511 IDIVB = 000233 JUMPG = 000327
FW.057= 000136 FX.033= 000066 HLLZM = 000512 IDIVI = 000231 JUMPGE= 000325
FW.060= 000140 FX.034= 000070 HLLZS = 000513 IDIVM = 000232 JUMPL = 000321
FW.061= 000142 FX.035= 000072 HLR = 000544 IDPB = 000136 JUMPLE= 000323
FW.062= 000144 FX.036= 000074 HLRE = 000574 IE.ACT= ****** GX JUMPN = 000326
FW.063= 000146 FX.037= 000076 HLREI = 000575 IE.EBX= ****** GX JUNMSG= ****** GX
FW.064= 000150 GETEBR 000124RG 002 HLREM = 000576 IE.INS= ****** GX KF.BRM= 001000
FW.065= 000152 GETSTS= 000062 HLRES = 000577 IFLOP = 100000 KF.CES= 000100
FW.066= 000154 GETUBR 000132RG 002 HLRO = 000564 ILDB = 000134 KF.CLK= 100000
FW.067= 000156 GOOBLK 001016R 002 HLROI = 000565 IMUL = 000220 KF.CON= 000200
FW.070= 000160 GTDDBT 006442R HLROM = 000566 IMULB = 000223 KF.DEF= 000200
FW.071= 000162 GTDDOR 006450R HLROS = 000567 IMULI = 000221 KF.KLO= 000400
FW.072= 000164 GTDIDF 006456R HLRS = 000547 IMULM = 000222 KF.MRS= 020000
FW.073= 000166 GTDMS0 002167R 003 HLRZ = 000554 IN = 000056 KF.RUN= 040000
FW.074= 000170 GTDYOR 006464R HLRZI = 000555 INBUF = 000064 KF.SIM= 010000
FW.075= 000172 GTTITF 007024R HLRZM = 000556 INCEX 000074R 002 KF.SMC= 004000
FW.076= 000174 GTTMS0 002176R 003 HLRZS = 000557 INCFR 000064R 002 KF.SPM= 002000
FW.077= 000176 GTTTOR 007032R HRL = 000504 INCTX 000104R 002 KLETAB 000634RG 002
FX.BMC= 000012 G.TICP= 000016 HRLE = 000534 INDLUN= 000005 KLIOT = 000700
FX.CMR= 000014 G.TICT= 000014 HRLEI = 000535 INIDNP 007546R KLNLGE= 001326R 002
FX.CON= 000024 G.TIDA= 000004 HRLEM = 000536 INIDTC 007554R KLNLGL= ****** GX
FX.CRF= 000020 G.TIHR= 000006 HRLES = 000537 INIT = 000041 KLNLOG 001302R 002
FX.CSP= 000000 G.TIMI= 000010 HRLI = 000505 INPUT = 000066 KLNPLN= ****** GX
FX.CST= 000002 G.TIMO= 000002 HRLM = 000506 INTMSG= ****** GX KLNPWD 001326R 002
FX.EBC= 000006 G.TISC= 000012 HRLO = 000564 INTROF= 000010 KLP = 000574
FX.MBC= 000004 G.TIYR= 000000 HRLOI = 000565 INTRON= 000040 KLPSTP= ****** GX
FX.SMR= 000016 HDDAG1 000176R 003 HRLOM = 000566 INTSON= 000001 KLPWRF= 000010
FX.SRF= 000022 HDDAG2 000211R 003 HRLOS = 000567 INT10S= 000400 KL.ABO= ****** GX
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1113 03-APR-86 22:56 PAGE 244-5
SYMBOL TABLE
KL.REQ= ****** GX NOOP 000300R 002 PIDENT= 000000 RDPITE= 000410R 002 SCPSCF 015774R
K.LSCK= ****** GX NOVMSG= ****** GX POP = 000262 RELEAS= 000071 SCPSPF 016002R
LDB = 000135 NULSTP= 000040 POPJ = 000263 REMMSG= ****** GX SCRTAB 000506R 002
LGFMSG 002610R 003 NUPE = 000002 PRGMSG= ****** GX RENAME= 000055 SEPMSG= ****** GX
LGSMSG 002543R 003 OCTMSG= ****** GX PRI7 = 000340 REQKLD 000114R 004 SETA = 000424
LGVMSG 002576R 003 OFFMSG= ****** GX PROFF 001367R 003 RFMAD0= 100000 SETAB = 000427
LG.ALL= 000007 OFFSET 000116RG 002 PRON 001363R 003 RFMAD1= 040000 SETACB 000742R 002
LG.ARG= 000010 ONMSG = ****** GX PROPNT= 000021 RFMAD2= 020000 SETACI 000774R 002
LG.MAR= 000020 OPEN = 000050 PRTOFF= 004000 RFMAD3= 010000 SETAI = 000425
LG.MNT= 000004 OPRMSG= ****** GX PR0 = 000000 RM = 000010 SETAM = 000426
LG.MOD= 000040 OR = 000434 PR1 = 000040 RNGEX 000072R 002 SETCA = 000450
LG.NUL= 000000 ORB = 000437 PR2 = 000100 RNGFR 000062R 002 SETCAB= 000453
LG.OPR= 000001 ORCA = 000454 PR3 = 000140 RNGTX 000112R 002 SETCAI= 000451
LG.PRG= 000002 ORCAB = 000457 PR4 = 000200 ROT = 000241 SETCAM= 000452
LG.PRM= 000003 ORCAI = 000455 PR5 = 000240 ROTC = 000245 SETCM = 000460
LG.RNG= 000100 ORCAM = 000456 PR6 = 000300 RQSKLD 000000R 004 SETCMB= 000463
LG.RPT= 000400 ORCB = 000470 PR7 = 000340 RSAKCN 010532R SETCMI= 000461
LG.STR= 000200 ORCBB = 000473 PS = 177776 RSAPRI 000660R 002 SETCMM= 000462
LOAD11= 000004 ORCBI = 000471 PSENTB 001160R 002 RSERRI 000666R 002 SETM = 000414
LOGBUF 001040R 002 ORCBM = 000472 PSWW1 = 000005 RSPGI0 000710R 002 SETMB = 000417
LOGLUN= 000004 ORCM = 000464 PSWW10= 000014 RSPGI1 000716R 002 SETMI = 000415
LOGMSG= ****** GX ORCMB = 000467 PSWW11= 000015 RSPKCN 010710R SETMM = 000416
LOOKUP= 000076 ORCMI = 000465 PSWW12= 000016 RSTIOI 000674R 002 SETO = 000474
LPTMSG= ****** GX ORCMM = 000466 PSWW13= 000017 RSTPII 000702R 002 SETOB = 000477
LSH = 000242 ORI = 000435 PSWW2 = 000006 RUNITN 011002R SETOI = 000475
LSHC = 000246 ORM = 000436 PSWW3 = 000007 RUNNST 011010R SETOM = 000476
LSTLUN= 000003 OUT = 000057 PSWW4 = 000010 RUNTAA 011016R SETSTS= 000060
MAP = 000257 OUTBUF= 000065 PSWW5 = 000011 R.QSGC= 000015 SETZ = 000400
MARMSG= ****** GX OUTPUT= 000067 PSWW6 = 000012 R.QSPC= 000014 SETZB = 000403
MAYMSG= ****** GX PAG = 000010 PSWW7 = 000013 R.QSPN= 000006 SETZI = 000401
MGNMSG= ****** GX PAR$$E= 000050 PS.NRM= 001416 R.QSPR= 000012 SETZM = 000402
MNTMSG= ****** GX PAR$$K= 000126 PULSE = 000020 R.QSTN= 000002 SKIP = 000330
MONMSG 003656R 003 PAR$$V= 000015 PUSH = 000261 SATMSG 003734R 003 SKIPA = 000334
MOVE = 000200 PCMSG = ****** GX PUSHJ = 000260 SAVBLK 001014R 002 SKIPE = 000332
MOVEI = 000201 PCTAB 000522R 002 QSIZE = 000023 SBRTAB 000472R 002 SKIPG = 000337
MOVEM = 000202 PC.AFI= 000020 QTAB 001336R 002 SCAILI 012032R SKIPGE= 000335
MOVES = 000203 PC.AT0= 000004 QTRMSG= ****** GX SCANOR 012040R SKIPL = 000331
MOVM = 000214 PC.AT1= 000010 Q.BYCT= 000016 SCCCLE 014352R SKIPLE= 000333
MOVMI = 000215 PC.BIS= 000400 Q.IBUF= 000014 SCCLKT 001100R 002 SKIPN = 000336
MOVMM = 000216 PC.CY0= 004000 Q.IOAE= 000012 SCD = 000040 SLOMSG= ****** GX
MOVMS = 000217 PC.CY1= 002000 Q.IOEF= 000006 SCDCDI 017236R SOJ = 000360
MOVN = 000210 PC.FOV= 001000 Q.IOFN= 000002 SCDDAV 017244R SOJA = 000364
MOVNI = 000211 PC.FUF= 000002 Q.IOLU= 000004 SCDNDI 017252R SOJE = 000362
MOVNM = 000212 PC.LIP= 000040 Q.IOPL= 000014 SCDNTI 017260R SOJG = 000367
MOVNS = 000213 PC.NDV= 000001 Q.IOPR= 000007 SCKIPC 017626R SOJGE = 000365
MOVS = 000204 PC.OVF= 010000 Q.IOSB= 000010 SCKKWE 020172R SOJL = 000361
MOVSI = 000205 PC.UIO= 000100 Q.OBUF= 000014 SCKMS0 003756R 003 SOJLE = 000363
MOVSM = 000206 PC.USR= 000200 Q.OVFC= 000020 SCKMS1 003771R 003 SOJN = 000366
MOVSS = 000207 PERCLR= 001000 Q0 = ****** GX SCKMS2 004015R 003 SOS = 000370
MPE11 = 001000 PE.ALL= 000037 Q1 = ****** GX SCKMS3 004042R 003 SOSA = 000374
MUL = 000224 PE.CES= 000001 Q2 = ****** GX SCKMS4 004071R 003 SOSE = 000372
MULB = 000227 PE.CRM= 000004 Q3 = ****** GX SCKNPI 017604R SOSG = 000377
MULI = 000225 PE.DRM= 000002 RACADR 000730R 002 SCKPTL 017612R SOSGE = 000375
MULM = 000226 PE.FMP= 000010 RACBLK 000724R 002 SCKSKI 017620R SOSL = 000371
NOFMSG 001746R 003 PE.FSS= 000020 RACDAT 000734R 002 SCOCAP 013434R SOSLE = 000373
NOMSG 003601R 003 PHYS = 100000 RAMIS0= 010000 SCPART 001112R 002 SOSN = 000376
NONMSG 003451R 003 PI = 000004 RDPITB 000374R 002 SCPILS 015766R SPCTAB 000342R 002
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1113 03-APR-86 22:56 PAGE 244-6
SYMBOL TABLE
SPC1 001257R 003 ST.TXE= 020000 TLZ = 000621 TSON = 000677 WHKMS0 004107R 003
SPC2 001263R 003 ST.XDB= 000400 TLZA = 000625 TSZ = 000631 WHKMS1 004120R 003
SPC3 001300R 003 SUB = 000274 TLZE = 000623 TSZA = 000635 WHKMS2 004131R 003
SPC4 001304R 003 SUBB = 000277 TLZN = 000627 TSZE = 000633 WHKMS3 004157R 003
SPC5 001321R 003 SUBI = 000275 TOBM = 000004 TSZN = 000637 WHKMS4 004207R 003
SPC6 001332R 003 SUBM = 000276 TOIP = 000002 TTCALL= 000051 WHMMSG 002746R 003
SSTLEN= ****** GX SUNMSG 003746R 003 TOIT = 000001 TTYMSG= ****** GX WHOMSG 002760R 003
STASZI 014160R SVPCTB 000750R 002 TO10 = 000200 TUEMSG 003666R 003 WHOTMS 002644R 003
STAT = 174434 SWPFSW 012644R TO10AD= 174420 TYDMTB 000572R 002 WHRCRH 015506R
STATAB 000302R 002 SWR = 177570 TO10BC= 174414 TYLGMS 013272R WHRECM 003272R 003
STATO = 000061 SWSLLT= 100000 TO10BM= 000001 TYPAD2 004016R WHRMRH 015500R
STATUS= 000022 SXCT = 000106 TO10DB= 000400 TYPDG1 004240R WHRMSG 002726R 003
STATYP 003710R SYMTAB 000240R 002 TO10DN= 100000 TYPDG3 004312R WHTMSG 003042R 003
STATZ = 000063 TAKIRE 011160R TO10DT= 174424 TYPDTE 003612R WHWTAB 001060R 002
STA0 001004R 003 TAKNSF 011166R TO10ER= 020000 TYPDX1 003746R WPMSG0 003456R 003
STA1 000744R 003 TA2MS1 001104R 003 TO11 = 000100 UGETF = 000073 WPMSG1 003510R 003
STA10 000432R 003 TA2MS2 001126R 003 TO11AD= 174422 UJEN = 000100 WPMSG2 003536R 003
STA11 000402R 003 TA2MS3 001144R 003 TO11BC= 174416 UNASG1= 000032 WRLMSG 003001R 003
STA12 000362R 003 TA2MS4 001201R 003 TO11BM= 020000 UNASG2= 000033 WRTMSG 003022R 003
STA13 000327R 003 TA2MS5 001236R 003 TO11DB= 004000 UNASG3= 000034 WVMSG1 003062R 003
STA14 000306R 003 TC.CON= 000377 TO11DN= 000200 UNASG4= 000035 WVMSG2 003104R 003
STA15 000252R 003 TC.CTC= 000002 TO11DT= 174426 UNASG5= 000036 XCT = 000256
STA2 000714R 003 TC.ERR= 000000 TO11ER= 000002 UNASG6= 000037 XOR = 000430
STA3 000671R 003 TC.RST= 000001 TRC = 000640 USETI = 000074 XORB = 000433
STA4 000643R 003 TDC = 000650 TRCA = 000644 USETO = 000075 XORI = 000431
STA5 000604R 003 TDCA = 000654 TRCE = 000642 USRMSG= ****** GX XORM = 000432
STA6 000561R 003 TDCE = 000652 TRCN = 000646 VF.DSP= 000060 XR = 000000
STA7 000532R 003 TDCN = 000656 TRN = 000600 VF.FFD= 000061 YESMSG 003575R 003
STA8 000502R 003 TDN = 000610 TRNA = 000604 VF.INT= 000000 YONMSG 003556R 003
STA9 000450R 003 TDNA = 000614 TRNE = 000602 VF.OVR= 000053 ZERDPB 000132R 004
STOPEX 000070R 002 TDNE = 000612 TRNN = 000606 VF.PRM= 000044 ZERESD 021344R
STOPFR 000060R 002 TDNN = 000616 TRO = 000660 VF.SSP= 000040 ZSTOP = 040000
STOPTX 000076R 002 TDO = 000670 TROA = 000664 VMAMSG= ****** GX $DIV = ****** GX
STPKL 000066R 002 TDOA = 000674 TROE = 000662 VMATB 000536R 002 $DSW = ****** GX
ST.CED= 000100 TDOE = 000672 TRON = 000666 VMHTB 000544R 002 $MUL = ****** GX
ST.CLE= 000001 TDON = 000676 TRZ = 000620 WACMSG 002402R 003 $$ = 000037
ST.CTD= 040000 TDZ = 000630 TRZA = 000624 WCMMSG 002666R 003 $$A = 000100
ST.CTE= 010000 TDZA = 000634 TRZE = 000622 WCMSG0 003367R 003 $$B = 000000
ST.DW1= 002000 TDZE = 000632 TRZN = 000626 WCMSG1 003413R 003 $$C = 000200
ST.DXD= 000004 TDZN = 000636 TR.ALL= 000077 WCMSG2 003427R 003 $$D = 000011
ST.EBS= 000100 TEMADR 000762R 002 TR.DEP= 000020 WCMSG3 003441R 003 $$E = 000016
ST.EDB= 004000 TENAD1= 174410 TR.DTE= 000040 WEDMSG 003677R 003 $$F = 000000
ST.EPE= 000020 TENAD2= 174412 TR.EXM= 000010 WEP = 000010 $$$ARG= 000006
ST.IDS= 000010 TENMSG= ****** GX TR.FRD= 000002 WHDMS0 003604R 003 $$$OST= 000016
ST.IEN= 000040 THUMSG 003712R 003 TR.FWR= 000004 WHDMS1 003632R 003 $$$T1 = 000000
ST.ION= 000001 TLC = 000641 TR.FXC= 000001 WHHMS0 003126R 003 .ABORT 000004RG
ST.MBZ= 000000 TLCA = 000645 TSC = 000651 WHHMS1 003142R 003 .ABRTC 000000RG
ST.MOD= 000010 TLCE = 000643 TSCA = 000655 WHHMS2 003154R 003 .ABRT0 000032RG
ST.MPE= 001000 TLCN = 000647 TSCE = 000653 WHHMS3 003164R 003 .ACBLK= ****** GX
ST.NST= 000040 TLN = 000601 TSCN = 000657 WHHMS4 003213R 003 .APRWD= ****** GX
ST.RIZ= 010000 TLNA = 000605 TSN = 000611 WHHMS5 003240R 003 .ASCID 000016RG 004
ST.RST= 011121 TLNE = 000603 TSNA = 000615 WHHMS6 003263R 003 .ASCOD 000026RG 004
ST.SEP= 000004 TLNN = 000607 TSNE = 000613 WHIMSG 002706R 003 .ASLST 000036RG 004
ST.STE= 000002 TLO = 000661 TSNN = 000617 WHKMRB 004246R 003 .ATLMD= 000033
ST.TED= 000200 TLOA = 000665 TSO = 000671 WHKMSA 004237R 003 .ATLST 000064R 004
ST.TER= 000002 TLOE = 000663 TSOA = 000675 WHKMSI 004271R 003 .BRCLK= 005000
ST.TXD= 100000 TLON = 000667 TSOE = 000673 WHKMSK 004302R 003 .BUFSZ= ****** GX
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1113 03-APR-86 22:56 PAGE 244-7
SYMBOL TABLE
.CECLK= 004000 .DPOSD 000202RG .EXCTF= ****** GX .INFN = ****** GX .LDRJV= 063000
.CESCK= ****** GX .DPOSE 001372RG .EXDRA 004740RG .INFNB= ****** GX .LDRM1= 060000
.CHTAB= ****** GX .DPOSI 000206RG .EXDTE 003602RG .INICL= 070000 .LDRM2= 061000
.CIBFR= ****** GX .DPOSN 000212RG .EXEBR 003336RG .INICP 007562RG .LDRM3= 062000
.CISTS= ****** GX .DPOSP 000216RG .EXEBS 004404RG .INIC0 007332RG .LDSEL= 044000
.CKARG= ****** GX .DPOST 002244RG .EXECT= ****** GX .INIT 007334RG .LDZFL= ****** GX
.CKCOL= ****** GX .DPOSZ 000222RG .EXETB= ****** GX .INITC 007326RG .LGLWD= ****** GX
.CKCTC= ****** GX .DPOTB= ****** GX .EXEWD 002124RG .INKLF 007364RG .LOKUP= ****** GX
.CKEOC= ****** GX .DPSEE 001444RG .EXEWI 002132RG .INPOS= ****** GX .MARKC 010266RG
.CKEOS= ****** GX .DPSTE 002314RG .EXEWN 002140RG .INVBN= ****** GX .MEMFL= ****** GX
.CKOBJ= ****** GX .DRLTC= 015000 .EXEWP 002146RG .IRADX= ****** GX .MEMRS= 076000
.CKRNP= ****** GX .DSACF= 066000 .EXEWT 002116RG .IRLTC= 014000 .MON = ****** GX
.CKRUN= ****** GX .DSIOJ= 065000 .EXFER 004746RG .JUMPC 014052RG .MONTB= ****** GX
.CKSYM= ****** GX .DTBUF 000552RG 002 .EXFMR 004412RG .KACFL= ****** GX .NOERR= ****** GX
.CLKWD= ****** GX .DTDW1= ****** GX .EXITP= ****** GX .KLCON= ****** GX .NOHLT= ****** GX
.CLOSE= ****** GX .DTLST 000100R 004 .EXKLD 003244RG .KLE 007752RG .NOTSW= ****** GX
.CLRCM 013626RG .DTSTA= ****** GX .EXKLI 003252RG .KLEDF= ****** GX .OPEN = ****** GX
.CLRMR= 006000 .DTSTW= 000004 .EXKLM= ****** GX .KLEPT= ****** GX .ORADX= ****** GX
.CLRUN= 010000 .EDELA= ****** GX .EXKLN 003260RG .KLERQ= ****** GX .OTATT= ****** GX
.COMEF= ****** GX .EDEWD 000374RG .EXKLP 003266RG .KLEVL= ****** GX .OTBBC= ****** GX
.COMMA= 000054 .EDEWI 000406RG .EXKLT 003236RG .KLFCF= ****** GX .OTBUF= ****** GX
.CONBT= 012000 .EDEWN 000406RG .EXMEE 001670RG .KLFLG= ****** GX .OTFN = ****** GX
.CONTC 000062RG .EDEWP 000374RG .EXMEL 000356RG .KLHLT= ****** GX .OTFNB= ****** GX
.CPUSN= ****** GX .EDKLA= ****** GX .EXMKL 000366RG .KLINC= ****** GX .OTPOS= ****** GX
.CSHRG= 164000 .EDKLC 000516RG .EXMPI 005040RG .KLIWD= ****** GX .OTVBN= ****** GX
.DATE3= ****** GX .EDKLD 000444RG .EXMQR 004420RG .KLMTB= ****** GX .OUTLG= ****** GX
.DAY = ****** GX .EDKLI 000462RG .EXMTB= ****** GX .KLMT1= ****** GX .OUTLP= ****** GX
.DEPAR 002154RG .EDKLN 000432RG .EXMTE 002704RG .KLNFD= ****** GX .OUTTY= ****** GX
.DFBLK= ****** GX .EDKLP 000420RG .EXOBJ 000330RG .KLNFT= ****** GX .PASS = ****** GX
.DFCOM 000546RG .EDKLX= ****** GX .EXREG 005212RG .KLNMD= ****** GX .PCAB1= 150000
.DFRED 000664RG .EIOJA= 067000 .EXSBR 004754RG .KLNPB= ****** GX .PCAB2= 151000
.DFWRT 001130RG .ELDDW= ****** GX .EXSCR 004762RG .KLNPE= ****** GX .PCAB3= 152000
.DFXCT 001216RG .ELEDW= ****** GX .EXUBR 003344RG .KLNPW= ****** GX .PCAB4= 153000
.DIAG1= 000000 .ENTER= ****** GX .EXVAB 004426RG .KLNSW= ****** GX .PITAB= ****** GX
.DIAG2= 000002 .ERRCD= ****** GX .EXVMA 004434RG .KLNTD= ****** GX .PRDTE= ****** GX
.DIAG3= 000006 .ERRPC= ****** GX .EXVMH 004442RG .KLNTT= ****** GX .PSCWD= ****** GX
.DISCC 001346RG .EXAD 004340RG .EXVPC 004450RG .KLRLD= ****** GX .QUITC 011302RG
.DOW = ****** GX .EXADX 004346RG .FEMOD= ****** GX .KLRST= ****** GX .RCRM1= 147000
.DPBFR= ****** GX .EXAMA 000240RG .FREAD= ****** GX .KLSNP= ****** GX .RCRM2= 146000
.DPBFX= ****** GX .EXAMC 000226RG .FWRIT= ****** GX .KLST = ****** GX .RCRM3= 145000
.DPETB= ****** GX .EXAMD 000244RG .FXCT = ****** GX .KLSTP= ****** GX .RCRM4= 144000
.DPEWD 001562RG .EXAME 001642RG .GFNR = 102000 .LCRDL= 052000 .RCSPF= 141000
.DPEWI 001570RG .EXAMF 004544RG .GTDAT 006026RG .LCRDR= 051000 .RDADR 005254RG
.DPEWN 001576RG .EXAMI 000250RG .GTELN= ****** GX .LCRM1= 057000 .RDADX 005262RG
.DPEWP 001604RG .EXAMK 004650RG .GTKLA= ****** GX .LCRM2= 056000 .RDAPR 003274RG
.DPEWT 001554RG .EXAMN 000254RG .GTKLN= ****** GX .LCRM3= 055000 .RDARR 005270RG
.DPKLD 002572RG .EXAMP 000260RG .GTLIN= ****** GX .LCRM4= 054000 .RDARX 005276RG
.DPKLI 002600RG .EXAMT 002652RG .GTNBR= ****** GX .LCRM5= 053000 .RDBRR 005304RG
.DPKLM= ****** GX .EXAMZ 000264RG .GTNUM= ****** GX .LDAR = 077000 .RDBRX 005312RG
.DPKLN 002606RG .EXARR 004354RG .GTR50 011174RG .LDBRL= 043000 .RDCPP= ****** GX
.DPKLP 002614RG .EXARX 004362RG .GTTIM 006472RG .LDBRR= 042000 .RDCRA 005550RG
.DPKLT 002564RG .EXBFR= ****** GX .HALTC 007312RG .LDCK1= 046000 .RDCRL 005556RG
.DPOBJ 000270RG .EXBRR 004370RG .HRDWR= ****** GX .LDCK2= 047000 .RDCRM= ****** GX
.DPOEL 000320RG .EXBRX 004376RG .INBBC= ****** GX .LDCLK= ****** GX .RDDRA 005564RG
.DPOKL 000312RG .EXCRA 004724RG .INCHC= ****** GX .LDDIS= 045000 .RDEBS 005320RG
.DPOSA 000176RG .EXCRL 004732RG .INDFG= ****** GX .LDPAR= ****** GX .RDFER 005572RG
.DPOSC 000164RG .EXCTC 003526RG .INEXT 000622R 002 .LDRJD= 064000 .RDFLG 005344RG
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1113 03-APR-86 22:56 PAGE 244-8
SYMBOL TABLE
.RDFMA= ****** GX .RSTPI 010562RG .SCOTC 013466RG .STRTV= ****** GX .TYP3D= ****** GX
.RDFMO= ****** GX .RSTRC 011312RG .SCOTL 012774RG .STUCD= ****** GX .TYSLS= ****** GX
.RDFMP= ****** GX .RSTTB= ****** GX .SCOTP 013354RG .SVACB 011430RG .TYSPC= ****** GX
.RDFMR 005326RG .RUNCM 010716RG .SCOTT= ****** GX .SVESP= ****** GX .TYTIM 007154RG
.RDIPE= ****** GX .SACBK 012046RG .SCOTY 013442RG .SVKLF= ****** GX .T50TB= ****** GX
.RDJ14= 134000 .SACB1 012050RG .SCOUT 012706RG .SVPC 011466RG .UMRKC 010262RG
.RDJ71= 135000 .SAVEC 011404RG .SCPAL 016164RG .SWPAC 012514RG .VERNO= ****** GX
.RDMAB= 133000 .SAVFL 011542R .SCPAR 016172RG .SWPC 012214RG .VFYFL= ****** GX
.RDMQR 005334RG .SAVPC 011666R .SCPCR 016200RG .SWPIP= ****** GX .WHACB 012132RG
.RDPI 005470RG .SAVQ 021352RG .SCPDR 016206RG .TAKEC 011024RG .WHATB= ****** GX
.RDSBR 005600RG .SAVTB= ****** GX .SCPEN 016214RG .TAKE1 011100RG .WHATC 013702RG
.RDSCR 005606RG .SCACB 011774RG .SCPFM 016222RG .TCRLF= ****** GX .WHATV 015242RG
.RDVAB 005704RG .SCCEC 016126RG .SCPFS 016230RG .TPADD= ****** GX .WHCON 014360RG
.RDVMA 005712RG .SCCED 016134RG .SCPST 015622RG .TPCLR= ****** GX .WHDAT 017266RG
.RDVMH 005720RG .SCCEE 016142RG .SCPTB= ****** GX .TPCMP= ****** GX .WHINC 014506RG
.RDVPC 005676RG .SCCLK 015566RG .SCRLD 014752RG .TPDEC= ****** GX .WHKLN 020576RG
.RDXSV= ****** GX .SCCLN 016010RG .SCRPT 015072RG .TPDIV= ****** GX .WHMEM 014646RG
.RECNT= ****** GX .SCCOM 014320RG .SCRTY 014766RG .TPINC= ****** GX .WHOFS 014726RG
.RECPT= ****** GX .SCCON 014236RG .SCTRK 015170RG .TPNEG= ****** GX .WHOUT 013510RG
.RECRD= ****** GX .SCCOO 014304RG .SECLK= 003000 .TPSHI= ****** GX .WHRDW 015302RG
.REGSV= ****** GX .SCCOP 014312RG .SETCM 013646RG .TPSUB= ****** GX .WHREC 015530RG
.RELWD= ****** GX .SCCOT= ****** GX .SETC0 013656RG .TPTST= ****** GX .WHRLD 015014RG
.RESQ 021360RG .SCCOU 014346RG .SETMR= 007000 .TRKWD= ****** GX .WHRPT 014520RG
.RESTB= ****** GX .SCCRF 016012RG .SETRN= 011000 .TRPTV= ****** GX .WHRTY 015040RG
.RESTC 010364RG .SCCRH 016016RG .SETTB= ****** GX .TRP4V= ****** GX .WHTCA 016272RG
.RESTD= ****** GX .SCCRQ 016024RG .SFREC 015514RG .TSCAN= ****** GX .WHTCL 016256RG
.RESTI= ****** GX .SCCRS 016032RG .SHUTC 013740RG .TYACE= ****** GX .WHTPA 016474RG
.RESTP= ****** GX .SCCSE 016044RG .SNAP 010234RG .TYAC1= ****** GX .WHTPS 016460RG
.RNDPB 000046RG 004 .SCCSI 016074RG .SPACE= 000040 .TYCHR= ****** GX .WHTRK 015212RG
.RPTCT= ****** GX .SCCSM 016100RG .SSCAN= ****** GX .TYCOL= ****** GX .WRCRM= ****** GX
.RPTPT= ****** GX .SCCTB= ****** GX .SSCLK= 002000 .TYCOM= ****** GX .WRITZ= ****** GX
.RSACB 011336RG .SCDAT 016740RG .SSM = ****** GX .TYDAT 007040RG .WRMBX= 071000
.RSALL 010444RG .SCFSS 015600RG .SSTTB= ****** GX .TYELA= ****** GX .WRTAR= ****** GX
.RSAPR 010540RG .SCINC 014430RG .STCLK= ****** GX .TYELN= ****** GX .XFRCK 001260RG
.RSDTE 010512RG .SCKLN 017442RG .STPCL= 000000 .TYKLA= ****** GX .XFWCK 001276RG
.RSERR 010546RG .SCMEL 014626RG .STPKL= ****** GX .TYKLN= ****** GX .XFXCK 001314RG
.RSPAG 010572RG .SCMEM 014574RG .STRCL= 001000 .TYLIN= ****** GX .YEAR = ****** GX
.RSSWP 012652RG .SCMKL 014640RG .STRTB= ****** GX .TYMIN= ****** GX .YESNO 016634RG
.RSTIN 010516RG .SCMTB= ****** GX .STRTC 014030RG .TYMSF= ****** GX .ZEROC 021104RG
.RSTIO 010554RG .SCNOT 013726RG .STRTT 014062RG .TYMSG= ****** GX ..DTP2= ****** GX
.RSTKL= ****** GX .SCOFS 014700RG .STRTU 014166RG .TYOUT= ****** GX ..STIN= ****** GX
. ABS. 000000 000
021476 001
DATA 001346 002
MESSAG 004321 003
DPBS 000144 004
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 15844 WORDS ( 62 PAGES)
DYNAMIC MEMORY: 17606 WORDS ( 67 PAGES)
ELAPSED TIME: 00:05:35
,[51,20]PATREE/CR/-SP=[51,30]PATREE.TMP
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ABTAB 000530 R 110-4362 #111-4420
ACADR 001026 RG *165-6624 *165-6625 165-6653 165-6655 #165-6657
ACDAT 000766 R *162-6428 162-6445 #162-6448
ADD = 000270 #23-878
ADDB = 000273 #23-879
ADDI = 000271 #23-880
ADDM = 000272 #23-881
ADH = 000000 #76-3115 76-3115 76-3115 #76-3116 76-3116 76-3116 #139-5632 #139-5632 139-5632
139-5632 #139-5634 139-5634 139-5634 #139-5636 #139-5636 139-5636 139-5636 #139-5638
139-5638 139-5638 #141-5679 141-5679 141-5679 #141-5681 141-5681 141-5681 #153-6077
153-6077 153-6077 #162-6452 162-6452 162-6452
ADL = 000100 #76-3115 76-3115 76-3115 #76-3115 76-3115 76-3115 #76-3115 76-3115 76-3115
#76-3115 76-3115 76-3115 #76-3116 76-3116 76-3116 #76-3116 76-3116 76-3116
#76-3116 76-3116 76-3116 #76-3116 76-3116 76-3116 #139-5632 139-5632 139-5632
#139-5632 139-5632 139-5632 #139-5632 139-5632 139-5632 #139-5632 139-5632 139-5632
#139-5632 139-5632 139-5632 #139-5632 139-5632 139-5632 139-5632 #139-5632 139-5632
139-5632 #139-5634 139-5634 139-5634 #139-5634 139-5634 139-5634 #139-5634 139-5634
139-5634 #139-5634 139-5634 139-5634 #139-5634 139-5634 139-5634 #139-5634 139-5634
139-5634 #139-5636 139-5636 139-5636 #139-5636 139-5636 139-5636 #139-5636 139-5636
139-5636 #139-5636 139-5636 139-5636 #139-5636 139-5636 139-5636 #139-5636 139-5636
139-5636 139-5636 #139-5636 139-5636 139-5636 #139-5638 139-5638 139-5638 #139-5638
139-5638 139-5638 #139-5638 139-5638 139-5638 #139-5638 139-5638 139-5638 #139-5638
139-5638 139-5638 #139-5638 139-5638 139-5638 #141-5679 141-5679 141-5679 #141-5679
141-5679 141-5679 #141-5681 141-5681 141-5681 #141-5681 141-5681 141-5681 #141-5681
141-5681 141-5681 #141-5681 141-5681 141-5681 #153-6077 153-6077 153-6077 #153-6077
153-6077 153-6077 #153-6077 153-6077 153-6077 #153-6077 153-6077 153-6077 #162-6452
162-6452 162-6452 #162-6452 162-6452 162-6452 #162-6452 162-6452 162-6452 #162-6452
162-6452 162-6452
AND = 000404 #23-883
ANDB = 000407 #23-884
ANDCA = 000410 #23-885
ANDCAB = 000413 #23-886
ANDCAI = 000411 #23-887
ANDCAM = 000412 #23-888
ANDCB = 000440 #23-889
ANDCBB = 000443 #23-890
ANDCBI = 000441 #23-891
ANDCBM = 000442 #23-892
ANDCM = 000420 #23-893
ANDCMB = 000423 #23-894
ANDCMI = 000421 #23-895
ANDCMM = 000422 #23-896
ANDI = 000405 #23-897
ANDM = 000406 #23-898
AOBJN = 000253 #23-900
AOBJP = 000252 #23-901
AOJ = 000340 #23-903
AOJA = 000344 #23-904
AOJE = 000342 #23-905
AOJG = 000347 #23-906
AOJGE = 000345 #23-907
AOJL = 000341 #23-908
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
AOJLE = 000343 #23-909
AOJN = 000346 #23-910
AOS = 000350 #23-912
AOSA = 000354 #23-913
AOSE = 000352 #23-914
AOSG = 000357 #23-915
AOSGE = 000355 #23-916
AOSL = 000351 #23-917
AOSLE = 000353 #23-918
AOSN = 000356 #23-919
APR = 000000 #7-244 139-5632 139-5632 139-5634 139-5634 139-5636 139-5636
APRMSG = ****** GX 115-4785
AP.ALL = 000177 #9-349
AP.ARP = 001000 #16-634 16-638 213-8216 218-8391
AP.CDP = 000004 #9-344 9-349
AP.EIP = 000400 #16-636 16-638 213-8228 213-8243 217-8352 217-8359
AP.IPF = 000020 #9-346 9-349
AP.MPE = 000010 #9-345 9-349
AP.NRM = 001400 #16-638 16-640
AP.NXM = 000040 #9-347 9-349
AP.PWF = 000001 #9-342 9-349
AP.SAP = 000002 #9-343 9-349
AP.SBE = 000100 #9-348 9-349
ARMSG = ****** GX 218-8390
ASH = 000240 #23-921
ASHC = 000244 #23-922
AUGMSG = ****** GX 115-4789
A.LULU = 000002 #127-5197 #127-5206 #127-5212
A.LUNA = 000004 #127-5197 #127-5206 #127-5212
A.LUNU = 000006 #127-5197 #127-5206 #127-5212
BC.HDS = ****** GX 230-9033
BC.SKP = ****** GX 230-9014
BIT0 = 000001 #185-7375 #235-9225
BIT00 = 000001 #9-306 10-384 11-410 11-430 12-467 12-468 13-491 13-514 22-843
22-857 53-2290 57-2444 58-2458 61-2560 104-4126 158-6230
BIT01 = 000002 #9-307 10-387 11-406 11-428 12-465 12-466 13-492 13-513 22-844
22-858
BIT02 = 000004 #9-308 10-379 11-405 11-427 11-432 12-463 12-464 13-493 13-512
22-845 22-859
BIT03 = 000010 #9-309 10-378 11-404 11-424 12-460 12-462 13-494 13-511 22-846
22-860
BIT04 = 000020 #9-310 10-376 10-377 11-403 11-422 11-423 12-458 13-495 13-510
22-847 22-861
BIT05 = 000040 #9-311 10-374 11-410 11-421 12-456 12-457 13-496 13-509 22-848
22-862
BIT06 = 000100 #9-312 10-373 11-399 11-432 12-454 12-455 13-485 13-508 22-849
22-863
BIT07 = 000200 #9-313 10-371 10-372 11-410 11-432 12-452 13-484 13-507 22-850
22-864
BIT08 = 000400 #9-314 10-370 11-410 11-432 12-450 13-483 13-506 22-865
BIT09 = 001000 #9-315 10-366 10-369 11-410 11-432 12-448 13-482 13-505
BIT1 = 000002 #185-7375 #235-9225
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
BIT10 = 002000 #9-316 10-365 10-368 11-410 11-432 12-447 13-481 13-504 #185-7375
#235-9225
BIT11 = 004000 #9-317 10-364 10-367 11-410 11-432 12-445 13-480 13-503 #185-7375
#235-9225
BIT12 = 010000 #9-318 10-363 11-410 11-432 12-443 12-444 13-479 13-502 92-3786
92-3791 #185-7375 #235-9225
BIT13 = 020000 #9-319 10-362 11-395 11-410 11-432 12-441 13-478 #185-7375 #235-9225
BIT14 = 040000 #9-320 10-361 11-392 11-393 11-410 11-415 11-432 12-440 13-477
#185-7375 #235-9225
BIT15 = 100000 #9-321 10-360 11-391 11-410 11-414 11-432 12-438 13-476 106-4189
#185-7375 #235-9225
BIT2 = 000004 #185-7375 #235-9225
BIT3 = 000010 #185-7375 #235-9225
BIT4 = 000020 #185-7375 #235-9225
BIT5 = 000040 #185-7375 #235-9225
BIT6 = 000100 #185-7375 #235-9225
BIT7 = 000200 #185-7375 #235-9225
BIT8 = 000400 #185-7375 #235-9225
BIT9 = 001000 #185-7375 #235-9225
BLKI = 000000 #7-233
BLKO = 000002 #7-235
BLT = 000251 #23-924
BPARER = 000020 #185-7375 #235-9225
CAI = 000300 #24-926
CAIA = 000304 #24-927
CAIE = 000302 #24-928
CAIG = 000307 #24-929
CAIGE = 000305 #24-930
CAIL = 000301 #24-931
CAILE = 000303 #24-932
CAIN = 000306 #24-933
CALL = 000040 #24-935
CALLI = 000047 #24-936
CAM = 000310 #24-938
CAMA = 000314 #24-939
CAME = 000312 #24-940
CAMG = 000317 #24-941
CAMGE = 000315 #24-942
CAML = 000311 #24-943
CAMLE = 000313 #24-944
CAMN = 000316 #24-945
CCA = 000014 #7-247
CCEMSG 003317 R 211-8143 #212-8201
CC.ALL = 003417 #15-612
CC.NRM = 000000 #15-611
CDD = 000020 #185-7375 #235-9225
CDMTB 001214 R 223-8571 #224-8634
CD.ALL = 003400 #15-609 15-612 214-8264
CD.CLC = 000400 #15-607 212-8185 215-8310
CD.CRC = 002000 #15-605 212-8177 215-8306
CD.DPC = 001000 #15-606 212-8181 215-8308
CD.NRM = 000000 #15-608
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 4
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
CHNPNT = 000001 #185-7375 #235-9225
CH.ALP = 000001 #22-843 22-852
CH.ANM = 000003 #22-852
CH.AOP = 000100 #22-849
CH.END = 000034 #22-851
CH.EOC = 000010 #22-846 22-851 112-4543 114-4659 137-5562 164-6529 169-6782 187-7436 189-7501
209-8051
CH.EOL = 000004 #22-845 22-851
CH.EOS = 000020 #22-847 22-851
CH.ILL = 000200 #22-850
CH.NUL = 000000 #22-842
CH.NUM = 000002 #22-844 22-852
CH.PFX = 000040 #22-848
CIDLUN = 000001 #21-819 127-5197
CLDSTB 001124 R 214-8261 #215-8304
CLEAR = 000400 #24-947
CLEARB = 000403 #24-948
CLEARI = 000401 #24-949
CLEARM = 000402 #24-950
CLOSE = 000070 #24-952
CLRTTB 001150 R 215-8298 #215-8316
CLSRTB 001140 R 215-8291 #215-8311
CMDK1 002231 R 130-5355 #130-5355
CMDK10 002366 R 130-5364 #130-5364
CMDK2 002244 R 130-5356 #130-5356
CMDK3 002256 R 130-5357 #130-5357
CMDK4 002267 R 130-5358 #130-5358
CMDK5 002302 R 130-5359 #130-5359
CMDK6 002315 R 130-5360 #130-5360
CMDK7 002330 R 130-5361 #130-5361
CMDK8 002342 R 130-5362 #130-5362
CMDK9 002354 R 130-5363 #130-5363
CNUPE = 000002 #185-7375 #235-9225
CODLUN = 000002 #21-820 127-5206
CONI = 000005 #7-238 76-3115 76-3115
CONKNC 000156 R 38-1585 #38-1606
CONO = 000004 #7-237 139-5632 139-5632 139-5634 139-5634 139-5636 139-5636 139-5638 139-5638
141-5679 141-5679
CONSO = 000007 #7-240
CONSZ = 000006 #7-239
CPUNUM = 000002 #185-7375 #235-9225
CPVMSG = ****** GX 204-7809
CRATAB 000412 R 107-4228 #109-4281
CRLTAB 000426 R 107-4232 #109-4289
CRMMSG = ****** GX 215-8305 218-8392
CR.ALL = 000003 #15-597 15-612 211-8139 215-8296
CR.CR1 = 000001 #15-591 15-597
CR.CR2 = 000002 #15-592 15-597
CR.FUL = 000000 #15-593
CR.HLF = 000001 #15-594 211-8129
CR.NRM = 000000 #15-590
CR.QTR = 000002 #15-595 211-8133
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 5
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
CR.SLO = 000003 #15-596 211-8137
CS.ALL = 000014 #15-588 15-612 211-8160 215-8289
CS.CS1 = 000004 #15-582 15-588
CS.CS2 = 000010 #15-583 15-588
CS.EXP = 177670 #185-7375 #235-9225
CS.EXT = 000010 #15-586 211-8147
CS.FST = 000004 #15-584 15-585
CS.MGN = 000004 #15-585 211-8158
CS.NRM = 000000 #15-581
CS.UDF = 000014 #15-587
CTLMSG = ****** GX 215-8309
DATAI = 000001 #7-234 76-3116 76-3116
DATAO = 000003 #7-236 141-5681 141-5681 153-6077 153-6077 162-6452 162-6452
DATBUF 001262 R 225-8676 #225-8721
DCOMST = 000001 #185-7375 #235-9225
DEB880 = ****** 56-2363 81-3325 81-3330 111-4399 123-5059 123-5077 124-5091 127-5194 127-5203
159-6285 163-6466 223-8591 223-8604 230-8968 230-8988 230-8997 230-9003 230-9007
230-9037 238-9305
DECMSG = ****** GX 115-4793
DEP = 010000 #185-7375 #235-9225
DEPBLK 000756 R 162-6429 #162-6444
DEPOS 001343 R 84-3511 #84-3561
DEX = 000400 #185-7375 #235-9225
DEXDON = 000004 #185-7375 #235-9225
DEXWD1 = 174406 #185-7375 #235-9225
DEXWD2 = 174404 #185-7375 #235-9225
DEXWD3 = 174402 #185-7375 #235-9225
DFAD = 000110 #24-954
DFBEND = ****** GX 121-5009
DFCIFC 000656 R 49-2060 49-2062 49-2064 #49-2078
DFDV = 000113 #24-955
DFMP = 000112 #24-956
DFN = 000131 #24-957
DFRMSG 000000 R 50-2116 #50-2160
DFSB = 000111 #24-958
DFUNC = 000200 #185-7375 #235-9225
DF.DMG = 000004 #185-7375 #235-9225
DF.DMN = 000007 #185-7375 #235-9225
DF.DOR = 000001 #185-7375 #235-9225
DF.EHG = 000010 #185-7375 #235-9225
DF.EHM = 000011 #185-7375 #235-9225
DF.EMG = 000005 #185-7375 #235-9225
DF.EMN = 000006 #185-7375 #235-9225
DF.KLR = 000012 #185-7375 #235-9225
DF.KLW = 000013 #185-7375 #235-9225
DF.KLX = 000014 #185-7375 #235-9225
DF.OFF = 000002 #185-7375 #235-9225
DF.ON = 000003 #185-7375 #235-9225
DF.PDP = 000016 #185-7375 #235-9225 238-9334
DF.PEX = 000015 #185-7375 #235-9225
DG1B10 001424 R 85-3593 #85-3603
DG1B11 001373 R 85-3592 #85-3602
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 6
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DG1B5 001647 R 85-3598 #85-3608
DG1B6 001604 R 85-3597 #85-3607
DG1B7 001541 R 85-3596 #85-3606
DG1B8 001475 R 85-3595 #85-3605
DG1B9 001450 R 85-3594 #85-3604
DG3B1 001711 R 86-3620 #86-3626
DIAG1 = 174430 #185-7375 #235-9225
DIAG2 = 174432 #185-7375 #235-9225
DIAG3 = 174436 #185-7375 #235-9225
DIATAB 000356 R 85-3578 #85-3591
DIKL10 = 000010 #185-7375 #235-9225
DIV = 000234 #24-960
DIVB = 000237 #24-961
DIVI = 000235 #24-962
DIVM = 000236 #24-963
DLYCNT = 174400 #185-7375 #235-9225
DMOVE = 000120 #24-965
DMOVEM = 000124 #24-966
DMOVN = 000121 #24-967
DMOVNM = 000125 #24-968
DON10C = 040000 #185-7375 #235-9225
DON10S = 100000 #185-7375 #235-9225
DON11C = 000100 #185-7375 #235-9225
DON11S = 000200 #185-7375 #235-9225
DOWMTB 001244 R 225-8690 #225-8712
DOWTAB 001204 R 223-8594 #224-8627
DPB = 000137 #24-970
DPOAPE 002542 R 68-2817 #68-2821
DPOATB 000000 R 40-1674 #40-1679
DPODTB 000004 R 41-1689 #41-1694
DPOITB 000010 R 41-1701 #41-1706
DPOKCN 002550 R 67-2768 #68-2824
DPONTB 000014 R 41-1713 #41-1718
DPOOAI 001546 R 57-2445 58-2459 #58-2478
DPOPTB 000020 R 41-1725 #41-1730
DPOVFE 002556 R 68-2812 #68-2827
DPOZTB 000024 R 41-1737 #41-1742
DPS4 = 040000 #185-7375 #235-9225
DPTMSG = ****** GX 215-8307
DRATAB 000442 R 107-4236 #109-4297
DRESET = 000100 #185-7375 #235-9225
DRMMSG = ****** GX 218-8394
DR.DTE = 000011 #185-7375 #235-9225 238-9334
DSEND = 000004 #185-7375 #235-9225
DS04 = 004000 #185-7375 #235-9225
DS05 = 002000 #185-7375 #235-9225
DS06 = 001000 #185-7375 #235-9225
DTEBUF 000140 R 81-3323 81-3336 #81-3346 82-3412 83-3472 83-3475 84-3497 84-3510 84-3532
85-3573 86-3617
DTECMD = 000451 #185-7375 #235-9225
DTEFLG = 000444 #185-7375 #235-9225
DTEF11 = 000450 #185-7375 #235-9225
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 7
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DTEMTD = 000455 #185-7375 #235-9225
DTEMTI = 000456 #185-7375 #235-9225
DTEREG 000200 R 81-3334 #81-3348
DUPE = 000020 #185-7375 #235-9225
DURE = 000004 #185-7375 #235-9225
DV.LOG = ****** GX 231-9050
DXWRD1 = 002000 #185-7375 #235-9225
DX1MS1 001025 R 83-3470 #83-3485
DX1MS2 001045 R 83-3479 #83-3486
D.CCPU = ****** GX 230-9016
D.CKLN = ****** GX 230-9035
D1.CES = 004000 #10-367 165-6632
D1.DCS = 000001 #10-384
D1.DDT = 000040 #10-374 10-387
D1.DEX = 000400 #10-370 10-387
D1.DFM = 000010 #10-378
D1.DS0 = 100000 #10-360
D1.DS1 = 040000 #10-361
D1.DS2 = 020000 #10-362
D1.DS3 = 010000 #10-363
D1.DS4 = 004000 #10-364
D1.DS5 = 002000 #10-365
D1.DS6 = 001000 #10-366
D1.HLP = 001000 #10-369 124-5090
D1.LBK = 000200 #10-372
D1.MBZ = 000442 #10-387
D1.PLS = 000020 #10-377
D1.RUN = 002000 #10-368 123-5076
D1.T10 = 000200 #10-371
D1.T11 = 000100 #10-373
D1.V04 = 000020 #10-376
D1.XFR = 000004 #10-379
D1011 = 000040 #185-7375 #235-9225
D2.EBD = 040000 #11-393
D2.MBZ = 177641 #11-410
D2.MS1 = 000002 #11-406
D2.MS2 = 000004 #11-405
D2.MS4 = 000010 #11-404
D2.MS8 = 000020 #11-403
D2.RA0 = 100000 #11-391
D2.RA1 = 040000 #11-392
D2.RA2 = 020000 #11-395
D2.RST = 000100 #11-399
D3.CDD = 000020 #11-423
D3.MBZ = 177704 #11-432
D3.NPE = 000002 #11-428
D3.PAR = 040000 #11-415
D3.RST = 000001 #11-434
D3.SCD = 000040 #11-421
D3.SSL = 100000 #11-414
D3.TXB = 000001 #11-430 11-434
D3.UPE = 000020 #11-422
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 8
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
D3.URE = 000004 #11-427
D3.WEP = 000010 #11-424
EBSEL = 000100 #185-7375 #235-9225
EBUSPC = 000020 #185-7375 #235-9225
EBUSPS = 000004 #185-7375 #235-9225
EDNKLA 000540 R 47-1967 47-1969 #47-1984
EDONES = 040000 #185-7375 #235-9225
ED.EPT = 000000 #9-325
ED.EXV = 000040 #9-326 140-5660 182-7277
ED.PHY = 000200 #9-329 67-2787 68-2802 68-2807 71-2926 76-3139 123-5068 153-6060 162-6430
165-6628 165-6643 238-9334 244-9419
ED.UPT = 000100 #9-327
ED.USV = 000140 #9-328
EF.CRI = ****** GX 36-1520 186-7402
EF.PR1 = ****** GX 223-8541 230-9008
ELEMSG = ****** GX 194-7656
ENTER = 000077 #25-972
EOSMSG 002205 R 130-5331 #130-5345
EPMSG0 002112 R 98-3935 #99-3968
EPMSG1 002126 R 99-3949 #99-3970
EPMSG2 002140 R 99-3954 #99-3972
EPMSG3 002154 R 99-3959 #99-3974
EPTR = 000000 #185-7375 #235-9225
EPTUPT 000114 R #76-3113 *76-3121 *76-3123 76-3128
EQV = 000444 #25-974
EQVB = 000447 #25-975
EQVI = 000445 #25-976
EQVM = 000446 #25-977
ERRCES = ****** GX 130-5296
ERRCPE = ****** GX 130-5309
ERRDPE = ****** GX 130-5303
ERRFME = ****** GX 130-5315
ERR10C = 010000 #185-7375 #235-9225
ERR10S = 020000 #185-7375 #235-9225
ERR11C = 000001 #185-7375 #235-9225
ERR11S = 000002 #185-7375 #235-9225
EXADTB 000034 R 43-1792 #43-1797
EXAITB 000040 R 43-1804 #43-1809
EXAM 001353 R 84-3514 #84-3562
EXANTB 000044 R 43-1816 #43-1821
EXAOAI 002110 R 61-2561 #61-2602
EXAPTB 000050 R 43-1828 #43-1833
EXAZTB 000054 R 43-1840 #43-1845
EXBLK 001022 R 165-6627 #165-6655
EXCH = 000250 #25-979
EXCIOC 003574 R 78-3225 #78-3230
EXDAT 001032 RG 165-6656 #165-6659
EXDEPF 001334 R #244-9394 *244-9404 *244-9407 244-9420
EXFMSG 002011 R 92-3782 #93-3810
EXMDTB 000030 R 42-1777 #42-1782
EXRTBL = ****** GX 100-3984
EXTEND = 000123 #25-980
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 9
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
EXTKCN 003230 R 71-2916 #71-2977
EXTMSG = ****** GX 215-8314
E.FCID = 000002 #21-803 126-5176
E.FCOD = 000003 #21-804 126-5177
E.FCTC = ****** GX 126-5174
E.FFIL = 000006 #21-807
E.FHTO = 000001 #21-802 123-5050 126-5175 166-6702
E.FKLN = 000004 #21-805 230-9010 230-9034 230-9038
E.FLOD = 000005 #21-806 126-5179 175-7084 175-7087
FAD = 000140 #25-982
FADB = 000143 #25-983
FADL = 000141 #25-984
FADM = 000142 #25-985
FADR = 000144 #25-987
FADRB = 000147 #25-988
FADRI = 000145 #25-989
FADRM = 000146 #25-990
FDV = 000170 #25-992
FDVB = 000173 #25-993
FDVL = 000171 #25-994
FDVM = 000172 #25-995
FDVR = 000174 #25-997
FDVRB = 000177 #25-998
FDVRI = 000175 #25-999
FDVRM = 000176 #25-1000
FEBMSG = ****** GX 115-4783
FERTAB 000456 R 107-4240 #109-4305
FIX = 000122 #25-1002
FIXR = 000126 #25-1003
FLTR = 000127 #25-1005
FMABO 002462 R 164-6550 #164-6572
FMBUF 001004 R 164-6523 #164-6565 165-6638 165-6654
FMERR 001002 R *164-6508 164-6543 *164-6548 #164-6564 *165-6637
FMHED 002416 R 164-6521 #164-6571
FMMSG = ****** GX 218-8396
FMP = 000160 #25-1007
FMPB = 000163 #25-1008
FMPL = 000161 #25-1009
FMPM = 000162 #25-1010
FMPR = 000164 #25-1012
FMPRB = 000167 #25-1013
FMPRI = 000165 #25-1014
FMPRM = 000166 #25-1015
FNCIFC 001332 R 53-2274 53-2276 53-2281 53-2283 53-2288 #53-2293
FNCOFC 001340 R 53-2291 #53-2296
FOFMSG 002003 R 92-3788 #93-3808
FONMSG 001775 R 92-3785 #93-3806
FORPRO = 000020 #185-7375 #235-9225
FRDBUF 000626 RG 130-5298 #130-5350
FRIMSG 003724 R 225-8717 #226-8741
FR.ADX = 000254 #18-725 102-4031
FR.APR = 000220 #18-703 73-3051
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 10
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FR.ARX = 000252 #18-723 102-4039
FR.BRX = 000250 #18-721 102-4047
FR.CA1 = 000312 #19-755 19-756 109-4282
FR.CA2 = 000310 #19-752 19-753 109-4285
FR.CL1 = 000316 #19-762 109-4290
FR.CL2 = 000314 #19-759 109-4293
FR.CRD = 000302 #19-746
FR.CR1 = 000316 #19-761 19-762
FR.CR2 = 000314 #19-758 19-759
FR.CR3 = 000312 #19-756
FR.CR4 = 000310 #19-753
FR.DA1 = 000260 #18-731 109-4298
FR.DA2 = 000262 #18-734 109-4301
FR.EBS = 000356 #20-789 102-4051
FR.FE1 = 000266 #18-738 109-4306
FR.FE2 = 000264 #18-736 109-4309
FR.PI0 = 000200 #18-692 106-4187
FR.PI1 = 000202 #18-694 106-4190
FR.RAD = 000256 #18-727 102-4027
FR.RAR = 000240 #18-713 102-4035
FR.RBR = 000242 #18-715 102-4043
FR.RFM = 000246 #18-719 102-4055
FR.RMQ = 000244 #18-717 102-4059
FR.SC1 = 000262 #18-733 109-4322
FR.SC2 = 000260 #18-730 109-4325
FR.SR1 = 000306 #19-750 109-4314
FR.SR2 = 000304 #19-748 109-4317
FR.VM0 = 000320 #19-765
FR.VM1 = 000322 #19-767
FR.VM2 = 000324 #19-769
FR.VM3 = 000326 #19-771
FR.VM4 = 000330 #19-773
FR.VM5 = 000332 #19-775
FR.VM6 = 000334 #19-777
FR.VM7 = 000336 #19-779
FR.100 = 000200 #18-691 18-692 53-2273 104-4117 158-6221
FR.101 = 000202 #18-693 18-694 104-4110 158-6214
FR.102 = 000204 #18-695
FR.103 = 000206 #18-696 130-5299
FR.104 = 000210 #18-697 130-5305
FR.105 = 000212 #18-698 130-5311
FR.106 = 000214 #18-699
FR.107 = 000216 #18-700
FR.110 = 000220 #18-702 18-703
FR.111 = 000222 #18-704 155-6129
FR.112 = 000224 #18-705
FR.113 = 000226 #18-706
FR.114 = 000230 #18-707
FR.115 = 000232 #18-708
FR.116 = 000234 #18-709
FR.117 = 000236 #18-710
FR.120 = 000240 #18-712 18-713
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 11
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FR.121 = 000242 #18-714 18-715
FR.122 = 000244 #18-716 18-717
FR.123 = 000246 #18-718 18-719
FR.124 = 000250 #18-720 18-721
FR.125 = 000252 #18-722 18-723
FR.126 = 000254 #18-724 18-725
FR.127 = 000256 #18-726 18-727
FR.130 = 000260 #18-729 18-730 18-731
FR.131 = 000262 #18-732 18-733 18-734
FR.132 = 000264 #18-735 18-736 104-4124 158-6228
FR.133 = 000266 #18-737 18-738
FR.134 = 000270 #18-739
FR.135 = 000272 #18-740
FR.136 = 000274 #18-741
FR.137 = 000276 #18-742
FR.140 = 000300 #19-744
FR.141 = 000302 #19-745 19-746
FR.142 = 000304 #19-747 19-748
FR.143 = 000306 #19-749 19-750
FR.144 = 000310 #19-751 19-752
FR.145 = 000312 #19-754 19-755
FR.146 = 000314 #19-757 19-758
FR.147 = 000316 #19-760 19-761
FR.150 = 000320 #19-764 19-765 111-4417 111-4421 159-6302
FR.151 = 000322 #19-766 19-767
FR.152 = 000324 #19-768 19-769
FR.153 = 000326 #19-770 19-771
FR.154 = 000330 #19-772 19-773 111-4425 111-4429
FR.155 = 000332 #19-774 19-775
FR.156 = 000334 #19-776 19-777
FR.157 = 000336 #19-778 19-779
FR.160 = 000340 #20-781
FR.161 = 000342 #20-782
FR.162 = 000344 #20-783
FR.163 = 000346 #20-784
FR.164 = 000350 #20-785
FR.165 = 000352 #20-786
FR.166 = 000354 #20-787
FR.167 = 000356 #20-788 20-789
FR.170 = 000360 #20-791
FR.171 = 000362 #20-792
FR.172 = 000364 #20-793
FR.173 = 000366 #20-794
FR.174 = 000370 #20-795
FR.175 = 000372 #20-796
FR.176 = 000374 #20-797
FR.177 = 000376 #20-798 53-2275
FSB = 000150 #25-1017
FSBB = 000153 #25-1018
FSBL = 000151 #25-1019
FSBM = 000152 #25-1020
FSBR = 000154 #26-1022
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 12
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FSBRB = 000157 #26-1023
FSBRI = 000155 #26-1024
FSBRM = 000156 #26-1025
FSC = 000132 #26-1027
FSSMSG = ****** GX 218-8398
FTBYTE = 000000 #2-65
FTCRAM = 000000 #2-66
FTDEBU = 000001 #2-67
FTDISP = 000000 #2-68
FTDRAM = 000000 #2-69
FTHELP = 000000 #2-70
FTKLE = 000001 #2-77 123-5052 130-5291 131-5391
FTKLER = 000000 #2-71
FTLCMN = ****** 1-1 33-1409
FTLCVT = 000000 #2-72
FTLIST = 000001 #2-73 126-5178
FTTRAK = 000001 #2-74 13-490
FTTRP4 = 000001 #2-75
FTUCVR = 000130 #2-76
FT1105 = 000001 #2-64 #2-101
FT1110 = 000001 #2-63 #2-97 2-100
FT1115 = 000001 #2-62 #2-93 2-96
FT1120 = 000001 #2-61 #2-89 2-92
FT1135 = 000001 #2-60 #2-85 2-88
FT1140 = 000001 #2-59 2-84 3-110
FT1145 = 000000 #2-58 2-80
FULMSG = ****** GX 215-8317
FW.APE = 000116 #16-628
FW.CA1 = 000122 #16-644
FW.CA2 = 000124 #16-646
FW.CDR = 000112 #15-600
FW.CHN = 000160 #17-676
FW.CRD = 000126 #16-648
FW.CR1 = 000136 #16-656
FW.CR2 = 000134 #16-654
FW.CR3 = 000132 #16-652
FW.CR4 = 000130 #16-650
FW.CSR = 000110 #15-576
FW.DJE = 000146 #17-665
FW.DJO = 000150 #17-667
FW.DR1 = 000140 #17-659
FW.DR2 = 000142 #17-661
FW.DR3 = 000144 #17-663
FW.EBL = 000174 #17-684
FW.IAC = 000154 #17-671
FW.IOJ = 000152 #17-669
FW.IPE = 000114 #16-615
FW.KLO = 000156 #17-673
FW.LAR = 000176 #17-687 53-2282
FW.LBL = 000106 #15-574
FW.LBR = 000104 #15-572
FW.MBX = 000162 #17-678
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 13
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FW.SBR = 000174 #17-685
FW.040 = 000100 #15-569 53-2280
FW.041 = 000102 #15-570
FW.042 = 000104 #15-571 15-572
FW.043 = 000106 #15-573 15-574
FW.044 = 000110 #15-575 15-576
FW.045 = 000112 #15-599 15-600
FW.046 = 000114 #16-614 16-615
FW.047 = 000116 #16-627 16-628
FW.050 = 000120 #16-642
FW.051 = 000122 #16-643 16-644
FW.052 = 000124 #16-645 16-646
FW.053 = 000126 #16-647 16-648
FW.054 = 000130 #16-649 16-650
FW.055 = 000132 #16-651 16-652
FW.056 = 000134 #16-653 16-654
FW.057 = 000136 #16-655 16-656
FW.060 = 000140 #17-658 17-659
FW.061 = 000142 #17-660 17-661
FW.062 = 000144 #17-662 17-663
FW.063 = 000146 #17-664 17-665
FW.064 = 000150 #17-666 17-667
FW.065 = 000152 #17-668 17-669
FW.066 = 000154 #17-670 17-671
FW.067 = 000156 #17-672 17-673
FW.070 = 000160 #17-675 17-676
FW.071 = 000162 #17-677 17-678
FW.072 = 000164 #17-679
FW.073 = 000166 #17-680
FW.074 = 000170 #17-681
FW.075 = 000172 #17-682
FW.076 = 000174 #17-683 17-684 17-685
FW.077 = 000176 #17-686 17-687
FX.BMC = 000012 #14-529
FX.CMR = 000014 #14-531
FX.CON = 000024 #14-540 38-1592
FX.CRF = 000020 #14-536
FX.CSP = 000000 #14-519
FX.CST = 000002 #14-521
FX.EBC = 000006 #14-525
FX.MBC = 000004 #14-523
FX.SMR = 000016 #14-533
FX.SRF = 000022 #14-538
FX.SYC = 000010 #14-527
FX.UDR = 000032 #14-545
FX.UIR = 000030 #14-543
FX.000 = 000000 #14-518 14-519
FX.001 = 000002 #14-520 14-521
FX.002 = 000004 #14-522 14-523
FX.003 = 000006 #14-524 14-525
FX.004 = 000010 #14-526 14-527
FX.005 = 000012 #14-528 14-529
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 14
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FX.006 = 000014 #14-530 14-531
FX.007 = 000016 #14-532 14-533
FX.010 = 000020 #14-535 14-536
FX.011 = 000022 #14-537 14-538
FX.012 = 000024 #14-539 14-540
FX.013 = 000026 #14-541
FX.014 = 000030 #14-542 14-543
FX.015 = 000032 #14-544 14-545
FX.016 = 000034 #14-546
FX.017 = 000036 #14-547
FX.020 = 000040 #14-549
FX.021 = 000042 #14-550
FX.022 = 000044 #14-551
FX.023 = 000046 #14-552
FX.024 = 000050 #14-553
FX.025 = 000052 #14-554
FX.026 = 000054 #14-555
FX.027 = 000056 #14-556
FX.030 = 000060 #14-558
FX.031 = 000062 #14-559
FX.032 = 000064 #14-560
FX.033 = 000066 #14-561
FX.034 = 000070 #14-562
FX.035 = 000072 #14-563
FX.036 = 000074 #14-564
FX.037 = 000076 #14-565 53-2287
GETEBR 000124 RG #76-3115 76-3130
GETSTS = 000062 #26-1029
GETUBR 000132 RG #76-3116 76-3127
GOOBLK 001016 R 165-6642 #165-6653
GTDDBT 006442 R 112-4582 112-4586 112-4590 #113-4597
GTDDOR 006450 R 112-4565 112-4571 112-4575 112-4578 #113-4600
GTDIDF 006456 R 112-4515 112-4537 112-4547 #113-4603
GTDMS0 002167 R 112-4510 #113-4617
GTDYOR 006464 R 112-4552 #113-4606
GTTITF 007024 R 114-4662 #114-4719
GTTMS0 002176 R 114-4652 #114-4728
GTTTOR 007032 R 114-4677 114-4680 114-4696 114-4705 #114-4722
G.TICP = 000016 #112-4501 #170-6879 #225-8677
G.TICT = 000014 #112-4501 #170-6879 #225-8677
G.TIDA = 000004 #112-4501 #170-6879 #225-8677
G.TIHR = 000006 #112-4501 #170-6879 #225-8677
G.TIMI = 000010 #112-4501 #170-6879 #225-8677
G.TIMO = 000002 #112-4501 #170-6879 #225-8677
G.TISC = 000012 #112-4501 #170-6879 #225-8677
G.TIYR = 000000 #112-4501 #170-6879 #225-8677
HDDAG1 000176 R 81-3361 #81-3400
HDDAG2 000211 R 81-3362 #81-3401
HDDAG3 000237 R 81-3364 #81-3403
HDDEX1 000043 R 81-3352 #81-3391
HDDEX2 000030 R 81-3351 #81-3390
HDDEX3 000015 R 81-3350 #81-3389
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 15
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
HDDLY 000004 R 81-3349 #81-3388
HDSTAT 000224 R 81-3363 #81-3402
HDTAD1 000056 R 81-3353 #81-3392
HDTAD2 000071 R 81-3354 #81-3393
HDT10A 000126 R 81-3357 #81-3396
HDT10B 000102 R 81-3355 #81-3394
HDT10D 000152 R 81-3359 #81-3398
HDT11A 000141 R 81-3358 #81-3397
HDT11B 000115 R 81-3356 #81-3395
HDT11D 000165 R 81-3360 #81-3399
HIBYTE = 177400 #185-7375 #235-9225
HLFMSG = ****** GX 215-8318
HLL = 000500 #26-1031
HLLE = 000530 #26-1032
HLLEI = 000531 #26-1033
HLLEM = 000532 #26-1034
HLLES = 000533 #26-1035
HLLI = 000501 #26-1037
HLLM = 000502 #26-1038
HLLO = 000520 #26-1040
HLLOI = 000521 #26-1041
HLLOM = 000522 #26-1042
HLLOS = 000523 #26-1043
HLLS = 000503 #26-1045
HLLZ = 000510 #26-1047
HLLZI = 000511 #26-1048
HLLZM = 000512 #26-1049
HLLZS = 000513 #26-1050
HLR = 000544 #26-1052
HLRE = 000574 #26-1054
HLREI = 000575 #26-1055
HLREM = 000576 #26-1056
HLRES = 000577 #26-1057
HLRO = 000564 #26-1059
HLROI = 000565 #26-1060
HLROM = 000566 #26-1061
HLROS = 000567 #26-1062
HLRS = 000547 #26-1064
HLRZ = 000554 #26-1066
HLRZI = 000555 #26-1067
HLRZM = 000556 #26-1068
HLRZS = 000557 #26-1069
HRL = 000504 #27-1071
HRLE = 000534 #27-1073
HRLEI = 000535 #27-1074
HRLEM = 000536 #27-1075
HRLES = 000537 #27-1076
HRLI = 000505 #27-1078
HRLM = 000506 #27-1079
HRLO = 000564 #27-1081
HRLOI = 000565 #27-1082
HRLOM = 000566 #27-1083
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 16
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
HRLOS = 000567 #27-1084
HRLS = 000507 #27-1086
HRLZ = 000514 #27-1088
HRLZI = 000515 #27-1089
HRLZM = 000516 #27-1090
HRLZS = 000517 #27-1091
HRR = 000540 #27-1093
HRRE = 000570 #27-1095
HRREI = 000571 #27-1096
HRREM = 000572 #27-1097
HRRES = 000573 #27-1098
HRRI = 000541 #27-1100
HRRM = 000542 #27-1101
HRRO = 000560 #27-1103
HRROI = 000561 #27-1104
HRROM = 000562 #27-1105
HRROS = 000563 #27-1106
HRRS = 000543 #27-1108
HRRZ = 000550 #27-1110
HRRZI = 000551 #27-1111
HRRZM = 000552 #27-1112
HRRZS = 000553 #27-1113
H.KCAC = ****** GX 205-7908
H.KCHN = ****** GX 205-7907
H.KEXT = ****** GX 205-7868 205-7906
H.KMOS = ****** GX 205-7905
H.KPWR = ****** GX 205-7876
I = 000000 #76-3115 76-3115 #76-3116 76-3116 #139-5632 139-5632 #139-5634 139-5634 #139-5636
139-5636 #139-5638 139-5638 #141-5679 141-5679 #141-5681 141-5681 #153-6077 153-6077
#162-6452 162-6452
IBP = 000133 #28-1115
IDIV = 000230 #28-1117
IDIVB = 000233 #28-1118
IDIVI = 000231 #28-1119
IDIVM = 000232 #28-1120
IDPB = 000136 #28-1122
IE.ACT = ****** GX 144-5773
IE.EBX = ****** GX 238-9323
IE.INS = ****** GX 144-5771
IFLOP = 100000 #185-7375 #235-9225
ILDB = 000134 #28-1124
IMUL = 000220 #28-1126
IMULB = 000223 #28-1127
IMULI = 000221 #28-1128
IMULM = 000222 #28-1129
IN = 000056 #28-1131
INBUF = 000064 #28-1132
INCEX 000074 R 61-2580 *61-2593 *61-2596 #61-2610
INCFR 000064 R 50-2132 *50-2148 *50-2151 #50-2166
INCTX 000104 R 71-2941 *71-2955 *71-2956 *71-2957 71-2962 #71-2984
INDLUN = 000005 #21-823 146-5855
INIDNP 007546 R 123-5060 #124-5114
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 17
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
INIDTC 007554 R 124-5092 #124-5117
INIT = 000041 #28-1133
INPUT = 000066 #28-1134
INTMSG = ****** GX 215-8312
INTROF = 000010 #185-7375 #235-9225
INTRON = 000040 #185-7375 #235-9225
INTSON = 000001 #185-7375 #235-9225
INT10S = 000400 #185-7375 #235-9225
INT11C = 002000 #185-7375 #235-9225
INT11S = 004000 #185-7375 #235-9225
IOR = 000434 #28-1136 29-1204
IORB = 000437 #28-1137 29-1205
IORI = 000435 #28-1138 30-1222
IORM = 000436 #28-1139 30-1223
IO.ACE = ****** GX 170-6850
IO.ACR = ****** GX 146-5858
IO.ATT = ****** GX 175-7084
IO.DET = ****** GX 175-7087
IP.ALL = 000017 #16-625
IP.CRP = 000004 #16-621 16-624 213-8220 218-8393
IP.DRP = 000002 #16-622 16-624 213-8224 218-8395
IP.FMP = 000010 #16-620 16-624 213-8232 218-8397
IP.FSS = 000001 #16-623 16-625 213-8236 218-8399
IP.NRM = 000016 #16-624 16-625 16-640
JANMSG = ****** GX 115-4782
JFCL = 000255 #28-1141
JFFO = 000243 #28-1143
JRA = 000267 #28-1145
JRST = 000254 #28-1147
JSA = 000266 #28-1149
JSP = 000265 #28-1151
JSR = 000264 #28-1153
JSYS = 000104 #28-1155
JULMSG = ****** GX 115-4788
JUMP = 000320 #28-1157
JUMPA = 000324 #28-1158
JUMPE = 000322 #28-1159
JUMPG = 000327 #28-1160
JUMPGE = 000325 #28-1161
JUMPL = 000321 #28-1162
JUMPLE = 000323 #28-1163
JUMPN = 000326 #28-1164
JUNMSG = ****** GX 115-4787
KF.BRM = 001000 #13-482
KF.CES = 000100 #13-485
KF.CLK = 100000 #13-476 38-1588 65-2706 67-2767 71-2915 123-5064 123-5071 138-5583 140-5646
187-7441 237-9278
KF.CON = 000200 #13-484 13-486 38-1584 123-5071
KF.DEF = 000200 #13-486 121-5011
KF.KLO = 000400 #13-483 123-5071
KF.MRS = 020000 #13-478
KF.RUN = 040000 #13-477 38-1598 49-2069 123-5064 124-5094
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 18
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
KF.SIM = 010000 #13-479 38-1586
KF.SMC = 004000 #13-480
KF.SPM = 002000 #13-481
KLETAB 000634 RG 130-5317 130-5321 #130-5354
KLIOT = 000700 #28-1166
KLNLGE = 001326 R 230-9020 #231-9055
KLNLGL = ****** GX 230-9018
KLNLOG 001302 R #231-9048
KLNPLN = ****** GX 230-9013
KLNPWD 001326 R 230-8848 230-8983 #231-9057
KLP = 000574 #7-248
KLPSTP = ****** GX 36-1524 36-1524 118-4907
KLPWRF = 000010 #185-7375 #235-9225
KL.ABO = ****** GX 164-6554
KL.REQ = ****** GX 130-5338 164-6552
K.LSCK = ****** GX 231-9051
LDB = 000135 #29-1168
LGFMSG 002610 R 170-6832 #170-6907
LGSMSG 002543 R 170-6866 #170-6903
LGVMSG 002576 R 170-6869 #170-6905
LG.ALL = 000007 #22-867 189-7520 232-9141
LG.ARG = 000010 #22-860
LG.MAR = 000020 #22-861
LG.MNT = 000004 #22-859 22-867 190-7546
LG.MOD = 000040 #22-862
LG.NUL = 000000 #22-856
LG.OPR = 000001 #22-857 22-866 189-7512
LG.PRG = 000002 #22-858 22-866 186-7394 190-7549
LG.PRM = 000003 #22-866 22-867 189-7516 232-9144
LG.RNG = 000100 #22-863
LG.RPT = 000400 #22-865
LG.STR = 000200 #22-864
LOAD11 = 000004 #185-7375 #235-9225
LOGBUF 001040 R 170-6878 #170-6899
LOGLUN = 000004 #21-822 170-6840 170-6849
LOGMSG = ****** GX 174-7055
LOOKUP = 000076 #29-1170
LPTMSG = ****** GX 174-7047
LSH = 000242 #29-1172
LSHC = 000246 #29-1173
LSTLUN = 000003 #21-821 127-5212 175-7084 175-7087
MAP = 000257 #29-1175
MARMSG = ****** GX 115-4784
MAYMSG = ****** GX 115-4786
MGNMSG = ****** GX 215-8313 215-8315
MNTMSG = ****** GX 190-7545 232-9140
MONMSG 003656 R 225-8713 #226-8733
MOVE = 000200 #29-1177
MOVEI = 000201 #29-1178
MOVEM = 000202 #29-1179
MOVES = 000203 #29-1180
MOVM = 000214 #29-1182
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 19
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
MOVMI = 000215 #29-1183
MOVMM = 000216 #29-1184
MOVMS = 000217 #29-1185
MOVN = 000210 #29-1187
MOVNI = 000211 #29-1188
MOVNM = 000212 #29-1189
MOVNS = 000213 #29-1190
MOVS = 000204 #29-1192
MOVSI = 000205 #29-1193
MOVSM = 000206 #29-1194
MOVSS = 000207 #29-1195
MPE11 = 001000 #185-7375 #235-9225
MUL = 000224 #29-1197
MULB = 000227 #29-1198
MULI = 000225 #29-1199
MULM = 000226 #29-1200
NOFMSG 001746 R 92-3796 #93-3804
NOMSG 003601 R 220-8450 #221-8473
NONMSG 003451 R 214-8266 #216-8334 217-8361
NOOP 000300 R 81-3367 81-3368 81-3369 81-3371 81-3373 81-3374 81-3375 81-3376 81-3377
81-3378 81-3380 #81-3384
NOVMSG = ****** GX 115-4792
NULSTP = 000040 #185-7375 #235-9225
NUPE = 000002 #185-7375 #235-9225
OCTMSG = ****** GX 115-4791
OFFMSG = ****** GX 98-3941 199-7724 200-7735 203-7799 207-7949 217-8354 225-8704
OFFSET 000116 RG #76-3114 76-3125 76-3146
ONMSG = ****** GX 98-3937 200-7739 203-7796 207-7946 217-8351 225-8701
OPEN = 000050 #29-1202
OPRMSG = ****** GX 190-7551 232-9146
OR = 000434 #29-1204
ORB = 000437 #29-1205
ORCA = 000454 #29-1207
ORCAB = 000457 #29-1208
ORCAI = 000455 #29-1209
ORCAM = 000456 #29-1210
ORCB = 000470 #30-1212
ORCBB = 000473 #30-1213
ORCBI = 000471 #30-1214
ORCBM = 000472 #30-1215
ORCM = 000464 #30-1217
ORCMB = 000467 #30-1218
ORCMI = 000465 #30-1219
ORCMM = 000466 #30-1220
ORI = 000435 #30-1222
ORM = 000436 #30-1223
OUT = 000057 #30-1225
OUTBUF = 000065 #30-1226
OUTPUT = 000067 #30-1227
PAG = 000010 #7-246 76-3115 76-3115 76-3116 76-3116 141-5679 141-5679 141-5681 141-5681
153-6077 153-6077 162-6452 162-6452
PAR$$E = 000050 #1-50
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 20
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
PAR$$K = 000126 #1-54
PAR$$V = 000015 #1-49
PCMSG = ****** GX 94-3845
PCTAB 000522 R 110-4358 #111-4416
PC.AFI = 000020 #13-510
PC.AT0 = 000004 #13-512
PC.AT1 = 000010 #13-511
PC.BIS = 000400 #13-506
PC.CY0 = 004000 #13-503
PC.CY1 = 002000 #13-504
PC.FOV = 001000 #13-505
PC.FUF = 000002 #13-513
PC.LIP = 000040 #13-509
PC.NDV = 000001 #13-514
PC.OVF = 010000 #13-502 104-4128 158-6232
PC.UIO = 000100 #13-508
PC.USR = 000200 #13-507
PERCLR = 001000 #185-7375 #235-9225
PE.ALL = 000037 #9-338
PE.CES = 000001 #9-333 9-338
PE.CRM = 000004 #9-335 9-338
PE.DRM = 000002 #9-334 9-338
PE.FMP = 000010 #9-336 9-338
PE.FSS = 000020 #9-337 9-338
PHYS = 100000 #185-7375 #235-9225
PI = 000004 #7-245 139-5638 139-5638
PIDENT = 000000 #185-7375 #235-9225
POP = 000262 #30-1229
POPJ = 000263 #30-1230
PRGMSG = ****** GX 190-7548 232-9143
PRI7 = 000340 #185-7375 #235-9225
PROFF 001367 R 84-3521 #84-3564
PRON 001363 R 84-3518 #84-3563
PROPNT = 000021 #185-7375 #235-9225
PRTOFF = 004000 #185-7375 #235-9225
PR0 = 000000 #185-7375 #235-9225
PR1 = 000040 #185-7375 #235-9225
PR2 = 000100 #185-7375 #235-9225
PR3 = 000140 #185-7375 #235-9225
PR4 = 000200 #185-7375 #235-9225
PR5 = 000240 #185-7375 #235-9225
PR6 = 000300 #185-7375 #235-9225
PR7 = 000340 #185-7375 #235-9225
PS = 177776 81-3326 *81-3326 *81-3331 #185-7375 223-8592 *223-8592 *223-8605 230-8969 *230-8969
*230-8989 230-8998 *230-8998 *230-9004 #235-9225
PSENTB 001160 R 218-8371 #218-8389
PSWW1 = 000005 #185-7375 #235-9225
PSWW10 = 000014 #185-7375 #235-9225
PSWW11 = 000015 #185-7375 #235-9225
PSWW12 = 000016 #185-7375 #235-9225
PSWW13 = 000017 #185-7375 #235-9225
PSWW2 = 000006 #185-7375 #235-9225
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 21
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
PSWW3 = 000007 #185-7375 #235-9225
PSWW4 = 000010 #185-7375 #235-9225
PSWW5 = 000011 #185-7375 #235-9225
PSWW6 = 000012 #185-7375 #235-9225
PSWW7 = 000013 #185-7375 #235-9225
PS.NRM = 001416 #16-640 213-8212
PULSE = 000020 #185-7375 #235-9225
PUSH = 000261 #30-1232
PUSHJ = 000260 #30-1233
QSIZE = 000023 #185-7375 #235-9225
QTAB 001336 R #244-9395 244-9412
QTRMSG = ****** GX 215-8319
Q.BYCT = 000016 #21-814
Q.IBUF = 000014 #21-812
Q.IOAE = 000012 #175-7084 #175-7087
Q.IOEF = 000006 #175-7084 #175-7087
Q.IOFN = 000002 #175-7084 #175-7087
Q.IOLU = 000004 #175-7084 #175-7087
Q.IOPL = 000014 #21-811 21-812 21-813 21-814 21-815 #175-7084 #175-7087
Q.IOPR = 000007 #175-7084 #175-7087
Q.IOSB = 000010 #175-7084 #175-7087
Q.OBUF = 000014 #21-813
Q.OVFC = 000020 #21-815
Q0 = ****** GX 244-9395
Q1 = ****** GX 244-9396
Q2 = ****** GX 244-9397
Q3 = ****** GX 244-9398
RACADR 000730 R 153-6069 #153-6071
RACBLK 000724 R 153-6059 #153-6069
RACDAT 000734 R *153-6058 153-6070 #153-6073
RAMIS0 = 010000 #185-7375 #235-9225
RDPITB 000374 R 106-4168 #106-4186
RDPITE = 000410 R 106-4178 #106-4193
RELEAS = 000071 #30-1235
REMMSG = ****** GX 232-9136
RENAME = 000055 #30-1236
REQKLD 000114 R 232-9151 #232-9160
RFMAD0 = 100000 #185-7375 #235-9225
RFMAD1 = 040000 #185-7375 #235-9225
RFMAD2 = 020000 #185-7375 #235-9225
RFMAD3 = 010000 #185-7375 #235-9225
RM = 000010 #185-7375 #235-9225
RNGEX 000072 R 61-2576 *61-2582 *61-2592 #61-2609
RNGFR 000062 R 50-2128 *50-2134 *50-2147 #50-2165
RNGTX 000112 R 71-2936 *71-2944 *71-2954 #71-2985
ROT = 000241 #30-1238
ROTC = 000245 #30-1239
RQSKLD 000000 R 56-2364 #56-2371
RSAKCN 010532 R 138-5584 #138-5601
RSAPRI 000660 R 139-5610 #139-5631
RSERRI 000666 R 139-5614 #139-5633
RSPGI0 000710 R 140-5663 #141-5678
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 22
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
RSPGI1 000716 R 140-5665 #141-5680
RSPKCN 010710 R 140-5647 #141-5672
RSTIOI 000674 R 139-5618 #139-5635
RSTPII 000702 R 139-5622 #139-5637
RUNITN 011002 R 143-5755 #144-5775
RUNNST 011010 R 144-5772 #144-5778
RUNTAA 011016 R 144-5774 #144-5781
R.QSGC = 000015 #56-2372 #145-5806 #232-9161
R.QSPC = 000014 #56-2372 #145-5806 #232-9161
R.QSPN = 000006 #56-2372 #145-5806 #232-9161
R.QSPR = 000012 #56-2372 #145-5806 #232-9161
R.QSTN = 000002 #56-2372 #145-5806 #232-9161
SATMSG 003734 R 225-8718 #226-8743
SAVBLK 001014 R *164-6516 164-6524 164-6555 #164-6567
SBRTAB 000472 R 107-4244 #109-4313
SCAILI 012032 R 161-6371 #161-6380
SCANOR 012040 R 161-6375 #161-6382 164-6533
SCCCLE 014352 R 189-7525 #189-7533
SCCLKT 001100 R 208-8025 #210-8103
SCD = 000040 #185-7375 #235-9225
SCDCDI 017236 R 223-8542 #224-8612
SCDDAV 017244 R 223-8549 #224-8615
SCDNDI 017252 R 223-8555 #224-8618
SCDNTI 017260 R 223-8559 #224-8621
SCKIPC 017626 R #230-8864 230-8871 230-8875 230-8877
SCKKWE 020172 R 230-8941 230-8944 230-8947 #230-8951
SCKMS0 003756 R 230-8839 #231-9061
SCKMS1 003771 R 230-8882 230-8888 #231-9063
SCKMS2 004015 R 230-8896 230-8932 #231-9065
SCKMS3 004042 R 230-8957 #231-9067
SCKMS4 004071 R 230-8830 #231-9069
SCKNPI 017604 R 230-8843 #230-8855
SCKPTL 017612 R 230-8846 #230-8858
SCKSKI 017620 R 230-8828 #230-8861
SCOCAP 013434 R 171-6939 171-6946 #171-6950
SCPART 001112 R 208-8030 208-8037 #210-8109
SCPILS 015766 R 209-8054 #210-8091
SCPSCF 015774 R #210-8094 210-8107
SCPSPF 016002 R #210-8097 210-8113
SCRTAB 000506 R 107-4248 #109-4321
SEPMSG = ****** GX 115-4790
SETA = 000424 #30-1241
SETAB = 000427 #30-1242
SETACB 000742 R 153-6063 #153-6077
SETACI 000774 R 162-6434 #162-6452
SETAI = 000425 #30-1243
SETAM = 000426 #30-1244
SETCA = 000450 #30-1246
SETCAB = 000453 #30-1247
SETCAI = 000451 #30-1248
SETCAM = 000452 #30-1249
SETCM = 000460 #30-1251
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 23
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
SETCMB = 000463 #30-1252
SETCMI = 000461 #30-1253
SETCMM = 000462 #30-1254
SETM = 000414 #31-1256
SETMB = 000417 #31-1257
SETMI = 000415 #31-1258
SETMM = 000416 #31-1259
SETO = 000474 #31-1261
SETOB = 000477 #31-1262
SETOI = 000475 #31-1263
SETOM = 000476 #31-1264
SETSTS = 000060 #31-1266
SETZ = 000400 #31-1268
SETZB = 000403 #31-1269
SETZI = 000401 #31-1270
SETZM = 000402 #31-1271
SKIP = 000330 #31-1273
SKIPA = 000334 #31-1274
SKIPE = 000332 #31-1275
SKIPG = 000337 #31-1276
SKIPGE = 000335 #31-1277
SKIPL = 000331 #31-1278
SKIPLE = 000333 #31-1279
SKIPN = 000336 #31-1280
SLOMSG = ****** GX 215-8320
SOJ = 000360 #31-1282
SOJA = 000364 #31-1283
SOJE = 000362 #31-1284
SOJG = 000367 #31-1285
SOJGE = 000365 #31-1286
SOJL = 000361 #31-1287
SOJLE = 000363 #31-1288
SOJN = 000366 #31-1289
SOS = 000370 #31-1291
SOSA = 000374 #31-1292
SOSE = 000372 #31-1293
SOSG = 000377 #31-1294
SOSGE = 000375 #31-1295
SOSL = 000371 #31-1296
SOSLE = 000373 #31-1297
SOSN = 000376 #31-1298
SPCTAB 000342 R 84-3506 #84-3540
SPC1 001257 R 84-3541 #84-3555
SPC2 001263 R 84-3542 #84-3556
SPC3 001300 R 84-3543 #84-3557
SPC4 001304 R 84-3544 #84-3558
SPC5 001321 R 84-3545 #84-3559
SPC6 001332 R 84-3546 #84-3560
SSTLEN = ****** GX 125-5162
STASZI 014160 R 186-7392 #186-7405
STAT = 174434 #185-7375 #235-9225
STATAB 000302 R 82-3413 #82-3426
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 24
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
STATO = 000061 #31-1300
STATUS = 000022 #31-1301 #185-7375 #235-9225
STATYP 003710 R 81-3381 #82-3411
STATZ = 000063 #31-1302
STA0 001004 R 82-3442 #82-3461
STA1 000744 R 82-3441 #82-3460
STA10 000432 R 82-3432 #82-3451
STA11 000402 R 82-3431 #82-3450
STA12 000362 R 82-3430 #82-3449
STA13 000327 R 82-3429 #82-3448
STA14 000306 R 82-3428 #82-3447
STA15 000252 R 82-3427 #82-3446
STA2 000714 R 82-3440 #82-3459
STA3 000671 R 82-3439 #82-3458
STA4 000643 R 82-3438 #82-3457
STA5 000604 R 82-3437 #82-3456
STA6 000561 R 82-3436 #82-3455
STA7 000532 R 82-3435 #82-3454
STA8 000502 R 82-3434 #82-3453
STA9 000450 R 82-3433 #82-3452
STOPEX 000070 R *61-2558 61-2578 61-2594 61-2597 *61-2598 #61-2608
STOPFR 000060 R *50-2107 50-2130 50-2149 50-2152 *50-2153 #50-2164
STOPTX 000076 R *71-2911 *71-2912 *71-2913 71-2938 71-2958 71-2965 71-2966 71-2967 *71-2968
*71-2969 *71-2970 #71-2983
STPKL 000066 R 49-2067 *50-2105 *50-2143 #50-2167 *51-2193 *52-2234
ST.CED = 000100 #12-455 12-470
ST.CLE = 000001 #12-468 12-470
ST.CTD = 040000 #12-440
ST.CTE = 010000 #12-444 12-470
ST.DW1 = 002000 #12-447
ST.DXD = 000004 #12-463
ST.EBS = 000100 #12-454
ST.EDB = 004000 #12-445
ST.EPE = 000020 #12-458 12-470
ST.IDS = 000010 #12-462
ST.IEN = 000040 #12-457
ST.ION = 000001 #12-467
ST.MBZ = 000000 #12-472
ST.MOD = 000010 #12-460 123-5058
ST.MPE = 001000 #12-448 12-470
ST.NST = 000040 #12-456
ST.RIZ = 010000 #12-443
ST.RST = 011121 #12-470
ST.SEP = 000004 #12-464
ST.STE = 000002 #12-466
ST.TED = 000200 #12-452
ST.TER = 000002 #12-465
ST.TXD = 100000 #12-438
ST.TXE = 020000 #12-441
ST.XDB = 000400 #12-450
SUB = 000274 #32-1304
SUBB = 000277 #32-1305
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 25
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
SUBI = 000275 #32-1306
SUBM = 000276 #32-1307
SUNMSG 003746 R 225-8719 #226-8745
SVPCTB 000750 R 159-6262 #159-6301
SWPFSW 012644 R 165-6633 165-6636 #165-6648
SWR = 177570 #185-7375 #235-9225
SWSLLT = 100000 #185-7375 #235-9225
SXCT = 000106 #32-1309
SYMTAB 000240 R 81-3338 81-3338 #81-3366
TAKIRE 011160 R 146-5851 #146-5867
TAKNSF 011166 R 146-5857 #146-5869
TA2MS1 001104 R 84-3495 #84-3550
TA2MS2 001126 R 84-3508 #84-3551
TA2MS3 001144 R 84-3516 #84-3552
TA2MS4 001201 R 84-3525 #84-3553
TA2MS5 001236 R 84-3527 #84-3554
TC.CON = 000377 #22-874
TC.CTC = 000002 #22-871
TC.ERR = 000000 #22-873 38-1607 47-1985 49-2079 53-2294 53-2297 58-2479 61-2603 68-2822
68-2825 68-2828 71-2978 78-3231 113-4598 113-4601 113-4604 113-4607 114-4720
114-4723 124-5115 124-5118 138-5602 141-5673 144-5776 144-5779 144-5782 146-5868
146-5870 161-6381 161-6383 165-6649 171-6951 186-7406 189-7534 205-7896 205-7899
210-8092 210-8095 210-8098 224-8613 224-8616 224-8619 224-8622 230-8856 230-8859
230-8862 230-8866 230-8952 238-9325 238-9328
TC.RST = 000001 #22-872
TDC = 000650 #32-1311
TDCA = 000654 #32-1312
TDCE = 000652 #32-1313
TDCN = 000656 #32-1314
TDN = 000610 #32-1316
TDNA = 000614 #32-1317
TDNE = 000612 #32-1318
TDNN = 000616 #32-1319
TDO = 000670 #32-1321
TDOA = 000674 #32-1322
TDOE = 000672 #32-1323
TDON = 000676 #32-1324
TDZ = 000630 #32-1326
TDZA = 000634 #32-1327
TDZE = 000632 #32-1328
TDZN = 000636 #32-1329
TEMADR 000762 R 162-6444 #162-6446
TENAD1 = 174410 #185-7375 #235-9225
TENAD2 = 174412 #185-7375 #235-9225
TENMSG = ****** GX 194-7653
THUMSG 003712 R 225-8716 #226-8739
TLC = 000641 #32-1331
TLCA = 000645 #32-1332
TLCE = 000643 #32-1333
TLCN = 000647 #32-1334
TLN = 000601 #32-1336
TLNA = 000605 #32-1337
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 26
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TLNE = 000603 #32-1338
TLNN = 000607 #32-1339
TLO = 000661 #32-1341
TLOA = 000665 #32-1342
TLOE = 000663 #32-1343
TLON = 000667 #32-1344
TLZ = 000621 #32-1346
TLZA = 000625 #32-1347
TLZE = 000623 #32-1348
TLZN = 000627 #32-1349
TOBM = 000004 #185-7375 #235-9225
TOIP = 000002 #185-7375 #235-9225
TOIT = 000001 #185-7375 #235-9225
TO10 = 000200 #185-7375 #235-9225
TO10AD = 174420 #185-7375 #235-9225
TO10BC = 174414 #185-7375 #235-9225
TO10BM = 000001 #185-7375 #235-9225
TO10DB = 000400 #185-7375 #235-9225
TO10DN = 100000 #185-7375 #235-9225
TO10DT = 174424 #185-7375 #235-9225
TO10ER = 020000 #185-7375 #235-9225
TO11 = 000100 #185-7375 #235-9225
TO11AD = 174422 #185-7375 #235-9225
TO11BC = 174416 #185-7375 #235-9225
TO11BM = 020000 #185-7375 #235-9225
TO11DB = 004000 #185-7375 #235-9225
TO11DN = 000200 #185-7375 #235-9225
TO11DT = 174426 #185-7375 #235-9225
TO11ER = 000002 #185-7375 #235-9225
TRC = 000640 #32-1351
TRCA = 000644 #32-1352
TRCE = 000642 #32-1353
TRCN = 000646 #32-1354
TRN = 000600 #33-1356
TRNA = 000604 #33-1357
TRNE = 000602 #33-1358
TRNN = 000606 #33-1359
TRO = 000660 #33-1361
TROA = 000664 #33-1362
TROE = 000662 #33-1363
TRON = 000666 #33-1364
TRZ = 000620 #33-1366
TRZA = 000624 #33-1367
TRZE = 000622 #33-1368
TRZN = 000626 #33-1369
TR.ALL = 000077 #13-497
TR.DEP = 000020 #13-495 13-497
TR.DTE = 000040 #13-496 13-497
TR.EXM = 000010 #13-494 13-497
TR.FRD = 000002 #13-492 13-497
TR.FWR = 000004 #13-493 13-497
TR.FXC = 000001 #13-491 13-497
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 27
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TSC = 000651 #33-1371
TSCA = 000655 #33-1372
TSCE = 000653 #33-1373
TSCN = 000657 #33-1374
TSN = 000611 #33-1376
TSNA = 000615 #33-1377
TSNE = 000613 #33-1378
TSNN = 000617 #33-1379
TSO = 000671 #33-1381
TSOA = 000675 #33-1382
TSOE = 000673 #33-1383
TSON = 000677 #33-1384
TSZ = 000631 #33-1386
TSZA = 000635 #33-1387
TSZE = 000633 #33-1388
TSZN = 000637 #33-1389
TTCALL = 000051 #33-1391
TTYMSG = ****** GX 174-7039
TUEMSG 003666 R 225-8714 #226-8735
TYDMTB 000572 R 115-4765 #115-4781
TYLGMS 013272 R 170-6834 170-6834 170-6868 170-6868 #170-6877
TYPAD2 004016 R 81-3372 #84-3494
TYPDG1 004240 R 81-3379 #85-3572
TYPDG3 004312 R 81-3382 #86-3616
TYPDTE 003612 R 80-3296 #81-3321
TYPDX1 003746 R 81-3370 #83-3469
UGETF = 000073 #33-1393
UJEN = 000100 #33-1395
UNASG1 = 000032 #185-7375 #235-9225
UNASG2 = 000033 #185-7375 #235-9225
UNASG3 = 000034 #185-7375 #235-9225
UNASG4 = 000035 #185-7375 #235-9225
UNASG5 = 000036 #185-7375 #235-9225
UNASG6 = 000037 #185-7375 #235-9225
USETI = 000074 #33-1397
USETO = 000075 #33-1398
USRMSG = ****** GX 232-9133
VF.DSP = 000060 #21-829
VF.FFD = 000061 #21-830
VF.INT = 000000 #21-827
VF.OVR = 000053 #21-831
VF.PRM = 000044 #21-832
VF.SSP = 000040 #21-828
VMAMSG = ****** GX 94-3847
VMATB 000536 R 110-4366 #111-4424
VMHTB 000544 R 110-4370 #111-4428
WACMSG 002402 R 163-6460 #163-6482
WCMMSG 002666 R 190-7542 #190-7558
WCMSG0 003367 R 214-8257 #216-8326
WCMSG1 003413 R 214-8259 #216-8328
WCMSG2 003427 R 215-8286 #216-8330
WCMSG3 003441 R 215-8293 #216-8332
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 28
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
WEDMSG 003677 R 225-8715 #226-8737
WEP = 000010 #185-7375 #235-9225
WHDMS0 003604 R 225-8686 #226-8728
WHDMS1 003632 R 225-8699 #226-8730
WHHMS0 003126 R 205-7859 #205-7912
WHHMS1 003142 R 205-7865 #205-7914
WHHMS2 003154 R 205-7882 #205-7916
WHHMS3 003164 R 205-7905 #205-7918
WHHMS4 003213 R 205-7906 #205-7920
WHHMS5 003240 R 205-7907 #205-7922
WHHMS6 003263 R 205-7908 #205-7924
WHIMSG 002706 R 192-7593 #192-7615
WHKMRB 004246 R 232-9110 #233-9179
WHKMSA 004237 R 232-9103 #233-9177
WHKMSI 004271 R 232-9106 #233-9181
WHKMSK 004302 R 232-9131 #233-9183
WHKMS0 004107 R 232-9098 #233-9167
WHKMS1 004120 R 232-9100 #233-9169
WHKMS2 004131 R 232-9116 #233-9171
WHKMS3 004157 R 232-9123 #233-9173
WHKMS4 004207 R 232-9138 #233-9175
WHMMSG 002746 R 194-7651 #194-7663
WHOMSG 002760 R 196-7684 #196-7693
WHOTMS 002644 R 174-7034 #174-7063
WHRCRH 015506 R 205-7858 #205-7898
WHRECM 003272 R 207-7944 #207-7956
WHRMRH 015500 R 205-7857 #205-7895
WHRMSG 002726 R 192-7600 #192-7617
WHTMSG 003042 R 203-7794 #204-7820
WHWTAB 001060 R 205-7885 #205-7904
WPMSG0 003456 R 217-8347 #219-8405
WPMSG1 003510 R 217-8349 #219-8407
WPMSG2 003536 R 217-8357 #219-8409
WRLMSG 003001 R 199-7722 #200-7748
WRTMSG 003022 R 200-7733 #200-7750
WVMSG1 003062 R 204-7807 #204-7822
WVMSG2 003104 R 204-7811 #204-7824
XCT = 000256 #33-1400
XOR = 000430 #33-1402
XORB = 000433 #33-1403
XORI = 000431 #33-1404
XORM = 000432 #33-1405
XR = 000000 #76-3115 76-3115 #76-3116 76-3116 #139-5632 139-5632 #139-5634 139-5634 #139-5636
139-5636 #139-5638 139-5638 #141-5679 141-5679 #141-5681 141-5681 #153-6077 153-6077
#162-6452 162-6452
YESMSG 003575 R 220-8446 #221-8471
YONMSG 003556 R 220-8439 #221-8469
ZERDPB 000132 R *237-9295 *237-9296 238-9308 #238-9333
ZERESD 021344 R 238-9324 #238-9327
ZSTOP = 040000 #185-7375 #235-9225
$DIV = ****** GX 116-4825 116-4825 116-4829 116-4829 223-8588 223-8588
$DSW = ****** GX 144-5770 238-9323
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 29
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
$MUL = ****** GX 114-4683 114-4683 114-4687 114-4687 114-4698 114-4698 114-4708 114-4708 148-5915
148-5915 223-8565 223-8565
$$ = 000037 #34-1463 34-1463 #36-1512 36-1512 #36-1519 36-1519 #36-1521 36-1521 #36-1524
36-1524 #38-1582 38-1582 #38-1590 38-1590 #38-1593 38-1593 #38-1597 38-1597
#40-1671 40-1671 #42-1773 42-1773 #44-1875 44-1875 #45-1912 45-1912 #47-1946
47-1946 #47-1947 47-1947 #47-1951 47-1951 #47-1952 47-1952 #47-1956 47-1956
#47-1958 47-1958 #47-1962 47-1962 #47-1964 47-1964 #49-2053 49-2053 #49-2058
49-2058 #49-2072 49-2072 #50-2106 50-2106 #50-2108 50-2108 #50-2109 50-2109
#50-2115 50-2115 #50-2117 50-2117 #50-2120 50-2120 #50-2121 50-2121 #50-2122
50-2122 #50-2124 50-2124 #50-2125 50-2125 #50-2144 50-2144 #50-2146 50-2146
#51-2194 51-2194 #51-2195 51-2195 #51-2196 51-2196 #51-2203 51-2203 #51-2204
51-2204 #51-2207 51-2207 #52-2235 52-2235 #52-2236 52-2236 #52-2237 52-2237
#52-2238 52-2238 #56-2361 56-2361 #57-2435 57-2435 #57-2438 57-2438 #57-2442
57-2442 #57-2447 57-2447 #57-2448 57-2448 #58-2457 58-2457 #58-2466 58-2466
#58-2468 58-2468 #58-2469 58-2469 #58-2471 58-2471 #59-2491 59-2491 #59-2495
59-2495 #59-2499 59-2499 #59-2503 59-2503 #59-2513 59-2513 #60-2544 60-2544
#60-2547 60-2547 #60-2551 60-2551 #61-2559 61-2559 #61-2568 61-2568 #61-2570
61-2570 #61-2571 61-2571 #61-2573 61-2573 #61-2574 61-2574 #61-2590 61-2590
#61-2591 61-2591 #62-2623 62-2623 #62-2627 62-2627 #62-2631 62-2631 #62-2635
62-2635 #65-2697 65-2697 #65-2698 65-2698 #65-2703 65-2703 #65-2704 65-2704
#65-2708 65-2708 #65-2711 65-2711 #66-2747 66-2747 #66-2750 66-2750 #66-2755
66-2755 #66-2756 66-2756 #66-2759 66-2759 #67-2766 67-2766 #67-2788 67-2788
#67-2790 67-2790 #67-2791 67-2791 #67-2792 67-2792 #67-2794 67-2794 #67-2795
67-2795 #68-2803 68-2803 #68-2808 68-2808 #68-2811 68-2811 #68-2813 68-2813
#68-2814 68-2814 #68-2815 68-2815 #69-2840 69-2840 #69-2844 69-2844 #69-2848
69-2848 #69-2852 69-2852 #69-2863 69-2863 #70-2895 70-2895 #70-2898 70-2898
#70-2903 70-2903 #71-2910 71-2910 #71-2927 71-2927 #71-2929 71-2929 #71-2930
71-2930 #71-2931 71-2931 #71-2933 71-2933 #71-2934 71-2934 #71-2939 71-2939
#71-2942 71-2942 #71-2952 71-2952 #71-2953 71-2953 #71-2959 71-2959 #71-2963
71-2963 #72-2998 72-2998 #72-3002 72-3002 #72-3006 72-3006 #72-3010 72-3010
#73-3052 73-3052 #73-3054 73-3054 #76-3126 76-3126 #76-3131 76-3131 #76-3140
76-3140 #76-3145 76-3145 #76-3147 76-3147 #76-3153 76-3153 #78-3220 78-3220
#78-3221 78-3221 #80-3295 80-3295 #81-3335 81-3335 #81-3337 81-3337 #81-3338
81-3338 #82-3419 82-3419 #83-3471 83-3471 #83-3474 83-3474 #83-3480 83-3480
#84-3496 84-3496 #84-3507 84-3507 #84-3509 84-3509 #84-3515 84-3515 #84-3517
84-3517 #84-3522 84-3522 #84-3526 84-3526 #84-3528 84-3528 #84-3534 84-3534
#85-3584 85-3584 #86-3621 86-3621 #91-3733 91-3733 #91-3739 91-3739 #91-3740
91-3740 #91-3741 91-3741 #91-3743 91-3743 #91-3744 91-3744 #91-3745 91-3745
#91-3747 91-3747 #92-3776 92-3776 #92-3777 92-3777 #92-3778 92-3778 #92-3779
92-3779 #92-3783 92-3783 #92-3790 92-3790 #92-3797 92-3797 #94-3842 94-3842
#94-3844 94-3844 #94-3846 94-3846 #94-3848 94-3848 #94-3849 94-3849 #94-3850
94-3850 #96-3889 96-3889 #96-3891 96-3891 #96-3892 96-3892 #96-3894 96-3894
#96-3896 96-3896 #96-3897 96-3897 #96-3898 96-3898 #96-3900 96-3900 #98-3929
98-3929 #98-3931 98-3931 #98-3932 98-3932 #98-3933 98-3933 #98-3936 98-3936
#99-3948 99-3948 #99-3950 99-3950 #99-3953 99-3953 #99-3955 99-3955 #99-3958
99-3958 #99-3960 99-3960 #99-3963 99-3963 #100-3981 100-3981 #100-3982 100-3982
#100-3988 100-3988 #104-4111 104-4111 #104-4113 104-4113 #104-4118 104-4118 #104-4120
104-4120 #104-4125 104-4125 #106-4173 106-4173 #106-4175 106-4175 #108-4260 108-4260
#108-4262 108-4262 #108-4267 108-4267 #108-4269 108-4269 #110-4372 110-4372 #110-4380
110-4380 #111-4390 111-4390 #111-4395 111-4395 #112-4511 112-4511 #112-4512 112-4512
#112-4514 112-4514 #112-4533 112-4533 #112-4536 112-4536 #112-4539 112-4539 #112-4545
112-4545 #112-4546 112-4546 #112-4548 112-4548 #112-4555 112-4555 #114-4653 114-4653
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 30
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
#114-4656 114-4656 #114-4658 114-4658 #114-4661 114-4661 #114-4667 114-4667 #114-4670
114-4670 #114-4675 114-4675 #114-4683 114-4683 #114-4687 114-4687 #114-4698 114-4698
#114-4701 114-4701 #114-4702 114-4702 #114-4708 114-4708 #115-4761 115-4761 #115-4762
115-4762 #115-4766 115-4766 #115-4767 115-4767 #115-4771 115-4771 #115-4774 115-4774
#116-4825 116-4825 #116-4829 116-4829 #116-4834 116-4834 #116-4837 116-4837 #116-4838
116-4838 #116-4842 116-4842 #116-4845 116-4845 #118-4905 118-4905 #118-4906 118-4906
#120-4969 120-4969 #123-5057 123-5057 #123-5062 123-5062 #123-5070 123-5070 #123-5075
123-5075 #126-5181 126-5181 #126-5182 126-5182 #130-5300 130-5300 #130-5306 130-5306
#130-5312 130-5312 #130-5332 130-5332 #130-5340 130-5340 #131-5393 131-5393 #134-5478
134-5478 #134-5479 134-5479 #134-5481 134-5481 #134-5493 134-5493 #137-5564 137-5564
#137-5566 137-5566 #137-5570 137-5570 #137-5574 137-5574 #137-5575 137-5575 #138-5585
138-5585 #138-5586 138-5586 #138-5587 138-5587 #138-5588 138-5588 #138-5589 138-5589
#138-5597 138-5597 #138-5598 138-5598 #140-5648 140-5648 #140-5661 140-5661 #140-5664
140-5664 #140-5666 140-5666 #143-5753 143-5753 #143-5754 143-5754 #143-5757 143-5757
#143-5758 143-5758 #146-5843 146-5843 #146-5844 146-5844 #146-5847 146-5847 #146-5849
146-5849 #146-5856 146-5856 #146-5859 146-5859 #148-5915 148-5915 #149-5949 149-5949
#152-6011 152-6011 #152-6012 152-6012 #152-6013 152-6013 #153-6061 153-6061 #153-6064
153-6064 #154-6104 154-6104 #154-6105 154-6105 #154-6106 154-6106 #155-6130 155-6130
#155-6132 155-6132 #156-6159 156-6159 #156-6166 156-6166 #158-6215 158-6215 #158-6217
158-6217 #158-6222 158-6222 #158-6224 158-6224 #158-6229 158-6229 #159-6263 159-6263
#159-6271 159-6271 #159-6276 159-6276 #159-6281 159-6281 #161-6372 161-6372 #161-6373
161-6373 #161-6376 161-6376 #162-6432 162-6432 #162-6435 162-6435 #162-6439 162-6439
#163-6461 163-6461 #163-6463 163-6463 #163-6474 163-6474 #163-6476 163-6476 #164-6513
164-6513 #164-6517 164-6517 #164-6522 164-6522 #164-6525 164-6525 #164-6526 164-6526
#164-6527 164-6527 #164-6531 164-6531 #164-6535 164-6535 #164-6540 164-6540 #164-6551
164-6551 #164-6557 164-6557 #165-6623 165-6623 #165-6629 165-6629 #165-6631 165-6631
#165-6634 165-6634 #165-6639 165-6639 #165-6640 165-6640 #165-6641 165-6641 #165-6644
165-6644 #166-6703 166-6703 #166-6704 166-6704 #166-6706 166-6706 #169-6786 169-6786
#169-6787 169-6787 #169-6789 169-6789 #169-6791 169-6791 #169-6793 169-6793 #169-6794
169-6794 #169-6795 169-6795 #170-6833 170-6833 #170-6834 170-6834 #170-6835 170-6835
#170-6836 170-6836 #170-6837 170-6837 #170-6841 170-6841 #170-6851 170-6851 #170-6853
170-6853 #170-6854 170-6854 #170-6858 170-6858 #170-6867 170-6867 #170-6868 170-6868
#170-6870 170-6870 #170-6872 170-6872 #170-6873 170-6873 #170-6874 170-6874 #170-6889
170-6889 #170-6891 170-6891 #174-7035 174-7035 #174-7040 174-7040 #174-7046 174-7046
#174-7048 174-7048 #174-7054 174-7054 #174-7056 174-7056 #178-7151 178-7151 #178-7158
178-7158 #178-7163 178-7163 #179-7195 179-7195 #179-7196 179-7196 #179-7197 179-7197
#180-7204 180-7204 #182-7265 182-7265 #182-7278 182-7278 #182-7280 182-7280 #184-7341
184-7341 #184-7344 184-7344 #186-7380 186-7380 #186-7384 186-7384 #186-7390 186-7390
#186-7391 186-7391 #186-7393 186-7393 #186-7396 186-7396 #186-7399 186-7399 #187-7433
187-7433 #187-7438 187-7438 #187-7439 187-7439 #187-7443 187-7443 #189-7503 189-7503
#189-7505 189-7505 #189-7506 189-7506 #189-7510 189-7510 #190-7543 190-7543 #191-7572
191-7572 #191-7573 191-7573 #191-7581 191-7581 #191-7583 191-7583 #192-7603 192-7603
#192-7606 192-7606 #193-7628 193-7628 #193-7630 193-7630 #193-7631 193-7631 #193-7638
193-7638 #194-7652 194-7652 #195-7674 195-7674 #195-7676 195-7676 #196-7685 196-7685
#196-7687 196-7687 #197-7700 197-7700 #198-7708 198-7708 #199-7723 199-7723 #200-7734
200-7734 #201-7765 201-7765 #201-7767 201-7767 #201-7771 201-7771 #202-7779 202-7779
#203-7795 203-7795 #204-7808 204-7808 #204-7810 204-7810 #204-7812 204-7812 #205-7860
205-7860 #205-7864 205-7864 #205-7866 205-7866 #205-7872 205-7872 #205-7873 205-7873
#205-7874 205-7874 #205-7880 205-7880 #205-7883 205-7883 #205-7890 205-7890 #206-7934
206-7934 #207-7942 207-7942 #207-7945 207-7945 #208-8024 208-8024 #208-8029 208-8029
#208-8031 208-8031 #208-8032 208-8032 #208-8036 208-8036 #209-8046 209-8046 #209-8048
209-8048 #209-8049 209-8049 #209-8063 209-8063 #209-8064 209-8064 #209-8066 209-8066
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 31
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
#209-8073 209-8073 #210-8082 210-8082 #210-8083 210-8083 #210-8084 210-8084 #211-8144
211-8144 #211-8145 211-8145 #214-8252 214-8252 #214-8253 214-8253 #214-8254 214-8254
#214-8258 214-8258 #214-8260 214-8260 #214-8267 214-8267 #214-8274 214-8274 #214-8275
214-8275 #214-8276 214-8276 #214-8279 214-8279 #215-8287 215-8287 #215-8292 215-8292
#215-8294 215-8294 #217-8342 217-8342 #217-8343 217-8343 #217-8344 217-8344 #217-8348
217-8348 #217-8350 217-8350 #217-8356 217-8356 #217-8358 217-8358 #217-8362 217-8362
#218-8377 218-8377 #218-8378 218-8378 #218-8379 218-8379 #220-8440 220-8440 #220-8441
220-8441 #220-8443 220-8443 #220-8447 220-8447 #220-8451 220-8451 #220-8453 220-8453
#223-8550 223-8550 #223-8554 223-8554 #223-8558 223-8558 #223-8565 223-8565 #223-8588
223-8588 #225-8675 225-8675 #225-8687 225-8687 #225-8691 225-8691 #225-8692 225-8692
#225-8694 225-8694 #225-8695 225-8695 #225-8697 225-8697 #225-8698 225-8698 #225-8700
225-8700 #230-8821 230-8821 #230-8831 230-8831 #230-8834 230-8834 #230-8836 230-8836
#230-8840 230-8840 #230-8842 230-8842 #230-8883 230-8883 #230-8887 230-8887 #230-8889
230-8889 #230-8892 230-8892 #230-8897 230-8897 #230-8901 230-8901 #230-8933 230-8933
#230-8936 230-8936 #230-8958 230-8958 #230-8961 230-8961 #230-8962 230-8962 #230-8964
230-8964 #230-8966 230-8966 #230-9017 230-9017 #230-9036 230-9036 #232-9097 232-9097
#232-9099 232-9099 #232-9111 232-9111 #232-9115 232-9115 #232-9117 232-9117 #232-9119
232-9119 #232-9121 232-9121 #232-9122 232-9122 #232-9124 232-9124 #232-9126 232-9126
#232-9128 232-9128 #232-9129 232-9129 #232-9132 232-9132 #232-9137 232-9137 #232-9139
232-9139 #232-9150 232-9150 #236-9250 236-9250 #236-9255 236-9255 #237-9273 237-9273
#237-9275 237-9275 #237-9277 237-9277 #237-9280 237-9280 #237-9284 237-9284 #238-9311
238-9311 #238-9313 238-9313 #238-9315 238-9315 #244-9410 244-9410 #244-9413 244-9413
#244-9415 244-9415 #244-9422 244-9422 #244-9425 244-9425
$$A = 000100 #76-3115 76-3115 #76-3116 76-3116 #139-5632 139-5632 #139-5634 139-5634 #139-5636
139-5636 #139-5638 139-5638 #141-5679 141-5679 #141-5681 141-5681 #153-6077 153-6077
#162-6452 162-6452
$$B = 000000 #76-3115 76-3115 #76-3116 76-3116 #139-5632 139-5632 #139-5634 139-5634 #139-5636
139-5636 #139-5638 139-5638 #141-5679 141-5679 #141-5681 141-5681 #153-6077 153-6077
#162-6452 162-6452
$$C = 000200 #76-3115 76-3115 #76-3116 76-3116 #139-5632 139-5632 #139-5634 139-5634 #139-5636
139-5636 #139-5638 139-5638 #141-5679 141-5679 #141-5681 141-5681 #153-6077 153-6077
#162-6452 162-6452
$$D = 000011 #76-3115 76-3115 #76-3116 76-3116 #139-5632 139-5632 #139-5634 139-5634 #139-5636
139-5636 #139-5638 139-5638 #141-5679 141-5679 #141-5681 141-5681 #153-6077 153-6077
#162-6452 162-6452
$$E = 000016 #76-3115 76-3115 #76-3116 76-3116 #139-5632 139-5632 #139-5634 139-5634 #139-5636
139-5636 #139-5638 139-5638 #141-5679 141-5679 #141-5681 141-5681 #153-6077 153-6077
#162-6452 162-6452
$$F = 000000 #76-3115 76-3115 #76-3116 76-3116 #139-5632 139-5632 #139-5634 139-5634 #139-5636
139-5636 #139-5638 139-5638 #141-5679 141-5679 #141-5681 141-5681 #153-6077 153-6077
#162-6452 162-6452
$$$ARG = 000006 #127-5197 127-5197 #127-5197 127-5197 #127-5197 127-5197 #127-5206 127-5206 #127-5206
127-5206 #127-5206 127-5206 #127-5212 127-5212 #127-5212 127-5212 #127-5212 127-5212
#175-7084 175-7084 #175-7087 175-7087
$$$GLB = ****** 56-2372 56-2372 56-2372 56-2372 56-2372 56-2372 112-4501 112-4501 112-4501
112-4501 112-4501 112-4501 112-4501 112-4501 127-5197 127-5197 127-5197 127-5197
127-5206 127-5206 127-5206 127-5206 127-5212 127-5212 127-5212 127-5212 145-5806
145-5806 145-5806 145-5806 145-5806 145-5806 170-6879 170-6879 170-6879 170-6879
170-6879 170-6879 170-6879 170-6879 175-7084 175-7084 175-7084 175-7084 175-7084
175-7084 175-7084 175-7084 175-7087 175-7087 175-7087 175-7087 175-7087 175-7087
175-7087 175-7087 225-8677 225-8677 225-8677 225-8677 225-8677 225-8677 225-8677
225-8677 232-9161 232-9161 232-9161 232-9161 232-9161 232-9161
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 32
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
$$$OST = 000016 #56-2372 56-2372 56-2372 #56-2372 56-2372 56-2372 #56-2372 56-2372 56-2372
#56-2372 56-2372 56-2372 #56-2372 56-2372 56-2372 #56-2372 #112-4501 112-4501
112-4501 #112-4501 112-4501 112-4501 #112-4501 112-4501 112-4501 #112-4501 112-4501
112-4501 #112-4501 112-4501 112-4501 #112-4501 112-4501 112-4501 #112-4501 112-4501
112-4501 #112-4501 112-4501 112-4501 #112-4501 #127-5197 127-5197 127-5197 #127-5197
127-5197 127-5197 #127-5197 127-5197 127-5197 #127-5197 #127-5206 127-5206 127-5206
#127-5206 127-5206 127-5206 #127-5206 127-5206 127-5206 #127-5206 #127-5212 127-5212
127-5212 #127-5212 127-5212 127-5212 #127-5212 127-5212 127-5212 #127-5212 #145-5806
145-5806 145-5806 #145-5806 145-5806 145-5806 #145-5806 145-5806 145-5806 #145-5806
145-5806 145-5806 #145-5806 145-5806 145-5806 #145-5806 #170-6879 170-6879 170-6879
#170-6879 170-6879 170-6879 #170-6879 170-6879 170-6879 #170-6879 170-6879 170-6879
#170-6879 170-6879 170-6879 #170-6879 170-6879 170-6879 #170-6879 170-6879 170-6879
#170-6879 170-6879 170-6879 #170-6879 #175-7084 175-7084 175-7084 #175-7084 175-7084
175-7084 #175-7084 175-7084 175-7084 #175-7084 175-7084 175-7084 #175-7084 175-7084
175-7084 #175-7084 175-7084 175-7084 #175-7084 175-7084 #175-7087 175-7087 175-7087
#175-7087 175-7087 175-7087 #175-7087 175-7087 175-7087 #175-7087 175-7087 175-7087
#175-7087 175-7087 175-7087 #175-7087 175-7087 175-7087 #175-7087 175-7087 #225-8677
225-8677 225-8677 #225-8677 225-8677 225-8677 #225-8677 225-8677 225-8677 #225-8677
225-8677 225-8677 #225-8677 225-8677 225-8677 #225-8677 225-8677 225-8677 #225-8677
225-8677 225-8677 #225-8677 225-8677 225-8677 #225-8677 #232-9161 232-9161 232-9161
#232-9161 232-9161 232-9161 #232-9161 232-9161 232-9161 #232-9161 232-9161 232-9161
#232-9161 232-9161 232-9161 #232-9161
$$$T1 = 000000 #56-2372 56-2372 56-2372 56-2372 #56-2372 56-2372 #127-5197 127-5197 127-5197
#127-5197 127-5197 127-5197 #127-5197 127-5197 127-5197 #127-5206 127-5206 127-5206
#127-5206 127-5206 127-5206 #127-5206 127-5206 127-5206 #127-5212 127-5212 127-5212
#127-5212 127-5212 127-5212 #127-5212 127-5212 127-5212 #145-5806 145-5806 145-5806
145-5806 #145-5806 145-5806 #232-9161 232-9161 232-9161 232-9161 #232-9161 232-9161
.ABORT 000004 RG #36-1508 186-7396 186-7396
.ABRTC 000000 RG #34-1462
.ABRT0 000032 RG 36-1510 #36-1517
.ACBLK = ****** GX 153-6054 155-6134
.APRWD = ****** GX *73-3056 195-7671
.ASCID 000016 RG 125-5166 #127-5193
.ASCOD 000026 RG 125-5164 #127-5202
.ASLST 000036 RG 125-5168 #127-5211
.ATLMD = 000033 #21-838
.ATLST 000064 R 171-6945 #175-7083
.BRCLK = 005000 #185-7375 #235-9225
.BUFSZ = ****** GX 170-6859
.CECLK = 004000 #185-7375 #235-9225
.CESCK = ****** GX 123-5062 123-5062
.CHTAB = ****** GX 112-4543 114-4659 137-5562 164-6529 169-6782 187-7436 189-7501 209-8051
.CIBFR = ****** GX 112-4508 114-4654 130-5316 130-5326 220-8442 230-8832 230-8841 230-8959
.CISTS = ****** GX *130-5327 *130-5333
.CKARG = ****** GX 40-1671 40-1671 42-1773 42-1773 57-2435 57-2435 60-2544 60-2544 66-2747
66-2747 70-2895 70-2895 112-4514 112-4514 112-4536 112-4536 112-4546 112-4546
114-4661 114-4661 137-5564 137-5564 161-6372 161-6372 184-7341 184-7341 208-8024
208-8024 208-8036 208-8036
.CKCOL = ****** GX 51-2195 51-2195 57-2447 57-2447 65-2698 65-2698 66-2756 66-2756 244-9413
244-9413
.CKCTC = ****** GX 238-9315 238-9315
.CKEOC = ****** GX 34-1463 34-1463 38-1582 38-1582 56-2361 56-2361 58-2457 58-2457 61-2559
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 33
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
61-2559 61-2591 61-2591 65-2704 65-2704 67-2766 67-2766 71-2910 71-2910
71-2953 71-2953 78-3221 78-3221 80-3295 80-3295 91-3733 91-3733 92-3776
92-3776 94-3842 94-3842 96-3889 96-3889 98-3929 98-3929 100-3981 100-3981
112-4555 112-4555 114-4670 114-4670 118-4905 118-4905 120-4969 120-4969 131-5393
131-5393 137-5570 137-5570 143-5758 143-5758 146-5849 146-5849 149-5949 149-5949
152-6013 152-6013 154-6106 154-6106 169-6794 169-6794 179-7197 179-7197 182-7265
182-7265 186-7393 186-7393 187-7439 187-7439 189-7506 189-7506 189-7510 189-7510
191-7573 191-7573 191-7581 191-7581 193-7631 193-7631 193-7638 193-7638 195-7676
195-7676 197-7700 197-7700 198-7708 198-7708 201-7767 201-7767 202-7779 202-7779
206-7934 206-7934 207-7942 207-7942 208-8029 208-8029 223-8550 223-8550 225-8675
225-8675 230-8821 230-8821 230-8966 230-8966 232-9097 232-9097 237-9275 237-9275
.CKEOS = ****** GX 50-2108 50-2108 50-2146 50-2146 51-2204 51-2204 52-2236 52-2236
.CKOBJ = ****** GX 152-6011 152-6011 154-6104 154-6104 169-6791 169-6791 178-7151 178-7151 178-7158
178-7158 179-7195 179-7195 180-7204 180-7204 189-7503 189-7503 193-7628 193-7628
230-8962 230-8962
.CKRNP = ****** GX 137-5574 137-5574 186-7384 186-7384
.CKRUN = ****** GX 49-2053 49-2053 65-2697 65-2697 134-5478 134-5478 138-5597 138-5597 161-6376
161-6376 187-7433 187-7433 210-8082 210-8082 236-9250 236-9250
.CKSYM = ****** GX 114-4658 114-4658 143-5753 143-5753 146-5843 146-5843
.CLKWD = ****** GX 210-8106 214-8256
.CLOSE = ****** GX 170-6841 170-6841
.CLRCM 013626 RG #178-7150
.CLRMR = 006000 #185-7375 #235-9225
.CLRUN = 010000 #185-7375 #235-9225
.COMEF = ****** GX *36-1520 *186-7402 223-8541 230-9008
.COMMA = 000054 #21-836 209-8053
.CONBT = 012000 #185-7375 #235-9225
.CONTC 000062 RG #38-1581
.CPUSN = ****** GX 205-7856 205-7861
.CSHRG = 164000 #185-7375 #235-9225
.DATE3 = ****** GX *223-8545 223-8548 *223-8603 225-8702
.DAY = ****** GX *223-8602
.DEPAR 002154 RG #65-2696
.DFBLK = ****** GX 121-5006
.DFCOM 000546 RG #49-2052 50-2106 50-2106 50-2144 50-2144 51-2194 51-2194 52-2235 52-2235
.DFRED 000664 RG #50-2104 50-2138
.DFWRT 001130 RG #51-2192
.DFXCT 001216 RG #52-2233 52-2242
.DIAG1 = 000000 #10-353
.DIAG2 = 000002 #10-354
.DIAG3 = 000006 #10-356
.DISCC 001346 RG #56-2360
.DOW = ****** GX *223-8594 225-8688
.DPBFR = ****** GX 67-2775 68-2809
.DPBFX = ****** GX 66-2758 69-2857 69-2862
.DPETB = ****** GX 57-2437 66-2749
.DPEWD 001562 RG 41-1696 #59-2490
.DPEWI 001570 RG 41-1708 #59-2494
.DPEWN 001576 RG 41-1720 #59-2498
.DPEWP 001604 RG 41-1732 #59-2502
.DPEWT 001554 RG 41-1744 #59-2486
.DPKLD 002572 RG 41-1695 #69-2839
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 34
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.DPKLI 002600 RG 41-1707 #69-2843
.DPKLM = ****** GX 68-2803 68-2803 140-5661 140-5661 153-6061 153-6061 162-6432 162-6432 165-6644
165-6644 182-7278 182-7278 244-9422 244-9422
.DPKLN 002606 RG 41-1719 #69-2847
.DPKLP 002614 RG 41-1731 #69-2851
.DPKLT 002564 RG 41-1743 #69-2835
.DPOBJ 000270 RG 40-1672 #44-1873
.DPOEL 000320 RG #44-1885
.DPOKL 000312 RG #44-1881
.DPOSA 000176 RG #40-1673
.DPOSC 000164 RG #40-1669
.DPOSD 000202 RG #41-1688
.DPOSE 001372 RG 40-1681 44-1887 #57-2434
.DPOSI 000206 RG #41-1700
.DPOSN 000212 RG #41-1712
.DPOSP 000216 RG #41-1724
.DPOST 002244 RG 40-1680 44-1883 #66-2746
.DPOSZ 000222 RG #41-1736
.DPOTB = ****** GX 44-1874
.DPSEE 001444 RG #58-2456 59-2508 59-2516
.DPSTE 002314 RG #67-2765 69-2858 69-2864
.DRLTC = 015000 #185-7375 #235-9225
.DSACF = 066000 #185-7375 #235-9225
.DSIOJ = 065000 #185-7375 #235-9225
.DTBUF 000552 RG 112-4500 112-4580 #113-4612
.DTDW1 = ****** GX 123-5075 123-5075 165-6631 165-6631
.DTLST 000100 R 171-6938 #175-7086
.DTSTA = ****** GX 123-5057 123-5057
.DTSTW = 000004 #10-355
.EDELA = ****** GX 46-1932 46-1937 *58-2462 59-2487 *61-2563 62-2619
.EDEWD 000374 RG #46-1930 59-2491 59-2491 62-2623 62-2623
.EDEWI 000406 RG #46-1935 59-2495 59-2495 62-2627 62-2627
.EDEWN 000406 RG #46-1936 59-2499 59-2499 62-2631 62-2631
.EDEWP 000374 RG #46-1931 59-2503 59-2503 62-2635 62-2635
.EDKLA = ****** GX 47-1974 67-2769 71-2919 72-2994
.EDKLC 000516 RG 47-1946 47-1946 47-1951 47-1951 47-1956 47-1956 47-1962 47-1962 #47-1972
.EDKLD 000444 RG #47-1955 69-2840 69-2840 72-2998 72-2998
.EDKLI 000462 RG #47-1961 69-2844 69-2844 72-3002 72-3002
.EDKLN 000432 RG #47-1950 69-2848 69-2848 72-3006 72-3006
.EDKLP 000420 RG #47-1945 69-2852 69-2852 72-3010 72-3010
.EDKLX = ****** GX 47-1973 66-2754 69-2836 70-2902 *76-3133 *76-3134 *76-3135 76-3137 76-3149
*123-5066 *123-5067 124-5124 244-9414 244-9417
.EIOJA = 067000 #185-7375 #235-9225
.ELDDW = ****** GX *58-2463 59-2507
.ELEDW = ****** GX *61-2567
.ENTER = ****** GX 170-6853 170-6853
.ERRCD = ****** GX 130-5296 *130-5303 *130-5309 *130-5315 130-5319 156-6160 *156-6161 *156-6162 *156-6163
156-6164 *156-6167
.ERRPC = ****** GX 156-6168
.EXAD 004340 RG #89-3672
.EXADX 004346 RG #89-3676
.EXAMA 000240 RG #42-1776
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 35
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.EXAMC 000226 RG #42-1771
.EXAMD 000244 RG #43-1791
.EXAME 001642 RG 42-1784 45-1921 #60-2543 61-2586
.EXAMF 004544 RG #92-3775 94-3850 94-3850
.EXAMI 000250 RG #43-1803
.EXAMK 004650 RG #94-3841
.EXAMN 000254 RG #43-1815
.EXAMP 000260 RG #43-1827
.EXAMT 002652 RG 42-1783 45-1925 #70-2894 71-2948
.EXAMZ 000264 RG #43-1839
.EXARR 004354 RG #89-3680
.EXARX 004362 RG #89-3684
.EXBFR = ****** GX 67-2784 68-2806 68-2810 71-2918 76-3136 76-3143 76-3148 124-5125
.EXBRR 004370 RG #89-3688
.EXBRX 004376 RG #89-3692
.EXCRA 004724 RG #95-3859
.EXCRL 004732 RG #95-3863
.EXCTC 003526 RG #78-3215
.EXCTF = ****** GX 76-3131 76-3131 139-5624 140-5664 140-5664 140-5666 140-5666 153-6064 153-6064
162-6435 162-6435
.EXDRA 004740 RG #95-3867
.EXDTE 003602 RG #80-3294
.EXEBR 003336 RG #76-3121
.EXEBS 004404 RG #89-3696
.EXECT = ****** GX 78-3228
.EXETB = ****** GX 60-2546 70-2897
.EXEWD 002124 RG 43-1799 #62-2622
.EXEWI 002132 RG 43-1811 #62-2626
.EXEWN 002140 RG 43-1823 #62-2630
.EXEWP 002146 RG 43-1835 #62-2634
.EXEWT 002116 RG 43-1847 #62-2618
.EXFER 004746 RG #95-3871
.EXFMR 004412 RG #89-3700
.EXITP = ****** GX 38-1603 56-2366 124-5112 126-5186 130-5341 143-5762 149-5950 182-7281 186-7381
189-7531 232-9152
.EXKLD 003244 RG 43-1798 #72-2997
.EXKLI 003252 RG 43-1810 #72-3001
.EXKLM = ****** GX 67-2788 67-2788 68-2808 68-2808 71-2927 71-2927 76-3140 76-3140 123-5070
123-5070 165-6629 165-6629 244-9425 244-9425
.EXKLN 003260 RG 43-1822 #72-3005
.EXKLP 003266 RG 43-1834 #72-3009
.EXKLT 003236 RG 43-1846 #72-2993
.EXMEE 001670 RG #61-2557 62-2620 62-2624 62-2628 62-2632 62-2636
.EXMEL 000356 RG #45-1919
.EXMKL 000366 RG #45-1923
.EXMPI 005040 RG 94-3849 94-3849 #98-3928
.EXMQR 004420 RG #89-3704
.EXMTB = ****** GX 45-1911 100-3983
.EXMTE 002704 RG #71-2909 72-2995 72-2999 72-3003 72-3007 72-3011 76-3153 76-3153
.EXOBJ 000330 RG 42-1774 #45-1910
.EXREG 005212 RG #100-3980
.EXSBR 004754 RG #95-3875
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 36
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.EXSCR 004762 RG #95-3879
.EXUBR 003344 RG #76-3123
.EXVAB 004426 RG #90-3711
.EXVMA 004434 RG #90-3715 94-3848 94-3848
.EXVMH 004442 RG #90-3719
.EXVPC 004450 RG #90-3723 94-3846 94-3846
.FEMOD = ****** GX 186-7394 *189-7527 190-7544
.FREAD = ****** GX 50-2115 50-2115 73-3052 73-3052 102-4062 104-4111 104-4111 104-4118 104-4118
104-4125 104-4125 106-4173 106-4173 108-4260 108-4260 108-4267 108-4267 111-4390
111-4390 130-5300 130-5300 130-5306 130-5306 130-5312 130-5312 155-6130 155-6130
158-6215 158-6215 158-6222 158-6222 158-6229 158-6229 159-6276 159-6276
.FWRIT = ****** GX 51-2207 51-2207
.FXCT = ****** GX 38-1593 38-1593 52-2238 52-2238
.GFNR = 102000 #185-7375 #235-9225
.GTDAT 006026 RG #112-4496 223-8554 223-8554 230-8887 230-8887 230-8901 230-8901
.GTELN = ****** GX 57-2442 57-2442 57-2448 57-2448 59-2513 59-2513 60-2551 60-2551 61-2590
61-2590 134-5479 134-5479 161-6373 161-6373 164-6531 164-6531 187-7438 187-7438
195-7674 195-7674 244-9410 244-9410
.GTKLA = ****** GX 66-2755 66-2755 70-2903 70-2903 71-2952 71-2952 76-3126 76-3126 186-7390
186-7390 236-9255 236-9255 237-9273 237-9273 244-9415 244-9415
.GTKLN = ****** GX 49-2058 49-2058 51-2203 51-2203 66-2759 66-2759 69-2863 69-2863 78-3220
78-3220 201-7765 201-7765
.GTLIN = ****** GX 112-4512 112-4512 114-4656 114-4656 220-8443 220-8443 230-8834 230-8834 230-8842
230-8842 230-8961 230-8961
.GTNBR = ****** GX 112-4533 112-4533 112-4548 112-4548 114-4667 114-4667 114-4702 114-4702
.GTNUM = ****** GX 65-2703 65-2703 191-7572 191-7572
.GTR50 011174 RG 143-5754 143-5754 143-5757 143-5757 146-5844 146-5844 146-5847 146-5847 #148-5895
.GTTIM 006472 RG #114-4647 223-8558 223-8558 230-8892 230-8892 230-8936 230-8936
.HALTC 007312 RG #118-4904
.HRDWR = ****** GX 205-7868 205-7876 205-7888
.INBBC = ****** GX *146-5860
.INCHC = ****** GX 112-4594 114-4717 230-8844
.INDFG = ****** GX 146-5850 *146-5864
.INEXT 000622 R 123-5069 #124-5123
.INFN = ****** GX *146-5841 *146-5842 *146-5846 *146-5848 146-5853
.INFNB = ****** GX 146-5854
.INICL = 070000 #185-7375 #235-9225
.INICP 007562 RG #125-5154
.INIC0 007332 RG #120-4970 126-5182 126-5182
.INIT 007334 RG #121-5003
.INITC 007326 RG #120-4968
.INKLF 007364 RG 120-4971 #123-5049
.INPOS = ****** GX *146-5861
.INVBN = ****** GX *146-5862 *146-5863
.IRADX = ****** GX 112-4497 *112-4498 *112-4593 114-4648 *114-4649 *114-4716 201-7757 *201-7758 *201-7772
.IRLTC = 014000 #185-7375 #235-9225
.JUMPC 014052 RG #186-7379
.KACFL = ****** GX *198-7713 200-7736
.KLCON = ****** GX 38-1597 38-1597
.KLE 007752 RG #130-5292
.KLEDF = ****** GX *130-5330 *131-5395
.KLEPT = ****** GX *130-5317
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 37
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.KLERQ = ****** GX 123-5053 *130-5336 *131-5394
.KLEVL = ****** GX 130-5294 *130-5318 *131-5396
.KLFCF = ****** GX *206-7935 207-7947
.KLFLG = ****** GX 38-1583 49-2069 49-2071 65-2705 67-2767 71-2915 94-3843 *121-5011 123-5063
138-5582 140-5645 187-7441 209-8062 237-9278
.KLHLT = ****** GX 49-2072 49-2072 65-2708 65-2708 187-7443 187-7443 209-8063 209-8063
.KLINC = ****** GX 47-1957 47-1963 191-7574 191-7582 192-7594
.KLIWD = ****** GX 130-5338 164-6552 *164-6554
.KLMTB = ****** GX 230-8963
.KLMT1 = ****** GX 230-8835
.KLNFD = ****** GX *230-8977 *230-8978 232-9108 232-9118
.KLNFT = ****** GX *230-8976 232-9120
.KLNMD = ****** GX 189-7524 *230-8972 *230-8979 230-8995 *230-9000 232-9101 232-9134 232-9141 232-9144
.KLNPB = ****** GX 230-9012
.KLNPE = ****** GX 230-9019
.KLNPW = ****** GX 230-8982 *230-9001
.KLNSW = ****** GX *56-2362 189-7522 230-8827 *230-9002 232-9104 232-9148
.KLNTD = ****** GX *230-8974 *230-8975 232-9125
.KLNTT = ****** GX *230-8973 232-9127
.KLRLD = ****** GX *197-7701 199-7725
.KLRST = ****** GX 65-2714 209-8073 209-8073
.KLSNP = ****** GX 130-5334 *130-5337 *131-5397
.KLST = ****** GX 186-7399 186-7399
.KLSTP = ****** GX 36-1512 36-1512 118-4906 118-4906
.LCRDL = 052000 #185-7375 #235-9225
.LCRDR = 051000 #185-7375 #235-9225
.LCRM1 = 057000 #185-7375 #235-9225
.LCRM2 = 056000 #185-7375 #235-9225
.LCRM3 = 055000 #185-7375 #235-9225
.LCRM4 = 054000 #185-7375 #235-9225
.LCRM5 = 053000 #185-7375 #235-9225
.LDAR = 077000 #185-7375 #235-9225
.LDBRL = 043000 #185-7375 #235-9225
.LDBRR = 042000 #185-7375 #235-9225
.LDCK1 = 046000 #185-7375 #235-9225
.LDCK2 = 047000 #185-7375 #235-9225
.LDCLK = ****** GX 210-8105
.LDDIS = 045000 #185-7375 #235-9225
.LDPAR = ****** GX 210-8111
.LDRJD = 064000 #185-7375 #235-9225
.LDRJV = 063000 #185-7375 #235-9225
.LDRM1 = 060000 #185-7375 #235-9225
.LDRM2 = 061000 #185-7375 #235-9225
.LDRM3 = 062000 #185-7375 #235-9225
.LDSEL = 044000 #185-7375 #235-9225
.LDZFL = ****** GX *91-3731 *163-6473 *192-7604
.LGLWD = ****** GX *44-1878 *45-1915 *137-5569 *178-7166
.LOKUP = ****** GX 146-5856 146-5856 170-6851 170-6851
.MARKC 010266 RG #134-5475 134-5498
.MEMFL = ****** GX 40-1670 42-1772 *193-7642 194-7654
.MEMRS = 076000 #185-7375 #235-9225
.MON = ****** GX *223-8600
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 38
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.MONTB = ****** GX 112-4538
.NOERR = ****** GX *38-1600 164-6509 *164-6510 *164-6559 *186-7401
.NOHLT = ****** GX *182-7266
.NOTSW = ****** GX 161-6370 169-6784 170-6828 171-6934 172-6975 178-7152 *178-7154 *178-7159 *180-7205
189-7499 191-7566 193-7626 195-7672 197-7701 198-7710 201-7763 202-7781 206-7935
211-8162 212-8187 213-8238 223-8543 230-8822 230-9025
.OPEN = ****** GX 146-5859 146-5859 170-6854 170-6854 170-6858 170-6858
.ORADX = ****** GX 115-4756 *115-4757 *115-4775 116-4821 *116-4822 *116-4846 192-7598 *192-7599 *192-7607
205-7862 *205-7863 *205-7881
.OTATT = ****** GX 170-6839 *170-6855 *170-6856 170-6861 170-6862
.OTBBC = ****** GX *170-6859
.OTBUF = ****** GX 170-6860
.OTFN = ****** GX 170-6838 170-6847
.OTFNB = ****** GX 170-6848
.OTPOS = ****** GX *170-6860
.OTVBN = ****** GX *170-6861 *170-6862
.OUTLG = ****** GX 170-6830 *170-6842 170-6845 *170-6865 173-7005 174-7050
.OUTLP = ****** GX 171-6936 *171-6940 171-6943 *171-6947 173-7007 174-7042
.OUTTY = ****** GX *172-6977 *172-6979 *173-7009 174-7037
.PASS = ****** GX *164-6507 164-6545 *164-6547
.PCAB1 = 150000 #185-7375 #235-9225
.PCAB2 = 151000 #185-7375 #235-9225
.PCAB3 = 152000 #185-7375 #235-9225
.PCAB4 = 153000 #185-7375 #235-9225
.PITAB = ****** GX 106-4169 106-4194
.PRDTE = ****** GX 81-3322
.PSCWD = ****** GX 210-8112 217-8346
.QUITC 011302 RG #149-5948
.RCRM1 = 147000 #185-7375 #235-9225
.RCRM2 = 146000 #185-7375 #235-9225
.RCRM3 = 145000 #185-7375 #235-9225
.RCRM4 = 144000 #185-7375 #235-9225
.RCSPF = 141000 #185-7375 #235-9225
.RDADR 005254 RG 89-3673 #102-4026
.RDADX 005262 RG 89-3677 #102-4030
.RDAPR 003274 RG 68-2814 68-2814 #73-3048
.RDARR 005270 RG 89-3681 #102-4034
.RDARX 005276 RG 89-3685 #102-4038
.RDBRR 005304 RG 89-3689 #102-4042
.RDBRX 005312 RG 89-3693 #102-4046
.RDCPP = ****** GX 209-8066 209-8066 210-8084 210-8084 214-8253 214-8253 217-8343 217-8343
.RDCRA 005550 RG 95-3860 #107-4227
.RDCRL 005556 RG 95-3864 #107-4231
.RDCRM = ****** GX 134-5481 134-5481
.RDDRA 005564 RG 95-3868 #107-4235
.RDEBS 005320 RG 89-3697 #102-4050
.RDFER 005572 RG 95-3872 #107-4239
.RDFLG 005344 RG 92-3778 92-3778 #104-4106
.RDFMA = ****** GX 163-6463 163-6463 164-6513 164-6513
.RDFMO = ****** GX 164-6525 164-6525 165-6639 165-6639
.RDFMP = ****** GX 165-6634 165-6634
.RDFMR 005326 RG 89-3701 #102-4054
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 39
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.RDIPE = ****** GX 164-6517 164-6517
.RDJ14 = 134000 #185-7375 #235-9225
.RDJ71 = 135000 #185-7375 #235-9225
.RDMAB = 133000 #185-7375 #235-9225
.RDMQR 005334 RG 89-3705 #102-4058
.RDPI 005470 RG 98-3932 98-3932 #106-4166
.RDSBR 005600 RG 95-3876 #107-4243
.RDSCR 005606 RG 95-3880 #107-4247
.RDVAB 005704 RG 90-3712 #110-4361
.RDVMA 005712 RG 90-3716 #110-4365
.RDVMH 005720 RG 90-3720 #110-4369
.RDVPC 005676 RG 90-3724 #110-4357
.RDXSV = ****** GX *112-4497 112-4593 *114-4648 114-4716 *192-7598 192-7607 *201-7757 201-7772
.RECNT = ****** GX *170-6864
.RECPT = ****** GX *170-6863
.RECRD = ****** GX 170-6863
.REGSV = ****** GX 110-4372 159-6263
.RELWD = ****** GX *195-7677 196-7686
.RESQ 021360 RG #244-9406
.RESTB = ****** GX 137-5565
.RESTC 010364 RG #137-5560
.RESTD = ****** GX 138-5586 138-5586 138-5594
.RESTI = ****** GX 138-5599
.RESTP = ****** GX 137-5576 166-6703 166-6703
.RNDPB 000046 RG *143-5759 143-5760 #145-5805
.RPTCT = ****** GX 192-7601 201-7768
.RPTPT = ****** GX 201-7770
.RSACB 011336 RG #153-6053
.RSALL 010444 RG #138-5581
.RSAPR 010540 RG 138-5587 138-5587 #139-5609
.RSDTE 010512 RG #138-5593
.RSERR 010546 RG #139-5613
.RSPAG 010572 RG 138-5588 138-5588 #140-5644
.RSSWP 012652 RG 164-6527 164-6527 165-6641 165-6641 #166-6701
.RSTIN 010516 RG #138-5596
.RSTIO 010554 RG #139-5617
.RSTKL = ****** GX 51-2209 68-2815 68-2815 91-3741 91-3741 92-3779 92-3779 94-3852 96-3894
96-3894 98-3933 98-3933 100-3992 138-5591 140-5669 210-8086 214-8254 214-8254
217-8344 217-8344
.RSTPI 010562 RG 138-5589 138-5589 #139-5621
.RSTRC 011312 RG #152-6009
.RSTTB = ****** GX 152-6010
.RUNCM 010716 RG #143-5752
.SACBK 012046 RG 161-6378 #162-6421
.SACB1 012050 RG #162-6423 164-6557 164-6557 165-6623 165-6623 166-6706 166-6706
.SAVEC 011404 RG #154-6102
.SAVFL 011542 R 156-6159 156-6159 #158-6210
.SAVPC 011666 R 156-6169 #159-6261
.SAVQ 021352 RG #244-9403
.SAVTB = ****** GX 154-6103
.SCACB 011774 RG #161-6369
.SCCEC 016126 RG #212-8176
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 40
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.SCCED 016134 RG #212-8180
.SCCEE 016142 RG #212-8184
.SCCLK 015566 RG #208-8023
.SCCLN 016010 RG #211-8122
.SCCOM 014320 RG #189-7519
.SCCON 014236 RG #189-7498
.SCCOO 014304 RG #189-7511
.SCCOP 014312 RG 189-7502 #189-7515
.SCCOT = ****** GX 189-7504
.SCCOU 014346 RG #189-7530
.SCCRF 016012 RG #211-8124
.SCCRH 016016 RG #211-8128
.SCCRQ 016024 RG #211-8132
.SCCRS 016032 RG #211-8136
.SCCSE 016044 RG #211-8142
.SCCSI 016074 RG #211-8153
.SCCSM 016100 RG #211-8157
.SCCTB = ****** GX 210-8104
.SCDAT 016740 RG #223-8540
.SCFSS 015600 RG #208-8028
.SCINC 014430 RG #191-7565
.SCKLN 017442 RG #230-8820
.SCMEL 014626 RG #193-7634
.SCMEM 014574 RG #193-7625
.SCMKL 014640 RG #193-7639
.SCMTB = ****** GX 193-7629
.SCNOT 013726 RG #180-7203
.SCOFS 014700 RG #195-7670
.SCOTC 013466 RG 170-6843 171-6941 172-6978 #173-7004
.SCOTL 012774 RG 169-6786 169-6786 #170-6827
.SCOTP 013354 RG 169-6787 169-6787 #171-6933
.SCOTT = ****** GX 169-6792
.SCOTY 013442 RG 169-6789 169-6789 #172-6974
.SCOUT 012706 RG #169-6781
.SCPAL 016164 RG #213-8211
.SCPAR 016172 RG #213-8215
.SCPCR 016200 RG #213-8219
.SCPDR 016206 RG #213-8223
.SCPEN 016214 RG #213-8227
.SCPFM 016222 RG #213-8231
.SCPFS 016230 RG 208-8032 208-8032 #213-8235
.SCPST 015622 RG #208-8035
.SCPTB = ****** GX 210-8110
.SCRLD 014752 RG #197-7699
.SCRPT 015072 RG #201-7756
.SCRTY 014766 RG #198-7707
.SCTRK 015170 RG #202-7778
.SECLK = 003000 #185-7375 #235-9225
.SETCM 013646 RG #178-7157
.SETC0 013656 RG #178-7160 180-7206
.SETMR = 007000 #185-7375 #235-9225
.SETRN = 011000 #185-7375 #235-9225
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 41
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.SETTB = ****** GX 178-7162
.SFREC 015514 RG #206-7933
.SHUTC 013740 RG #182-7264
.SNAP 010234 RG #131-5392
.SPACE = 000040 #21-837 112-4522
.SSCAN = ****** GX 220-8447 220-8447 220-8451 220-8451
.SSCLK = 002000 #185-7375 #235-9225
.SSM = ****** GX 170-6890 *223-8595 225-8696 230-8894
.SSTTB = ****** GX *58-2464 *58-2475 *61-2562 *61-2566 125-5162
.STCLK = ****** GX 38-1590 38-1590 166-6704 166-6704 237-9280 237-9280
.STPCL = 000000 #185-7375 #235-9225
.STPKL = ****** GX 68-2813 68-2813 91-3739 91-3739 92-3777 92-3777 94-3844 94-3844 96-3891
96-3891 98-3931 98-3931 100-3982 100-3982 137-5575 137-5575 138-5585 138-5585
138-5598 138-5598 140-5648 140-5648 210-8083 210-8083 214-8252 214-8252 217-8342
217-8342 237-9277 237-9277
.STRCL = 001000 #185-7375 #235-9225
.STRTB = ****** GX 184-7343
.STRTC 014030 RG #184-7340
.STRTT 014062 RG 184-7342 #186-7383
.STRTU 014166 RG #187-7432
.STRTV = ****** GX 126-5183 211-8151
.STUCD = ****** GX 36-1519 36-1519 187-7445
.SVACB 011430 RG #155-6127
.SVESP = ****** GX *125-5155
.SVKLF = ****** GX *49-2071 *65-2712 *94-3851 *138-5590 *140-5668 *209-8065 *238-9320
.SVPC 011466 RG #156-6158
.SWPAC 012514 RG 164-6535 164-6535 164-6540 164-6540 #165-6621
.SWPC 012214 RG #164-6506
.SWPIP = ****** GX *164-6511 *164-6558
.TAKEC 011024 RG #146-5840
.TAKE1 011100 RG #146-5852
.TCRLF = ****** GX 50-2125 50-2125 58-2476 61-2574 61-2574 67-2795 67-2795 71-2934 71-2934
86-3622 91-3749 92-3799 96-3901 99-3964 126-5181 126-5181 130-5340 130-5340
163-6476 163-6476 170-6835 170-6835 170-6836 170-6836 170-6873 170-6873 170-6874
170-6874 174-7058 192-7608 196-7688 205-7893 214-8279 214-8279 218-8384 220-8453
220-8453 225-8698 225-8698 232-9122 232-9122 232-9129 232-9129
.TPADD = ****** GX 47-1964 47-1964 71-2942 71-2942 76-3147 76-3147
.TPCLR = ****** GX 110-4380 110-4380 112-4545 112-4545 114-4701 114-4701 159-6271 159-6271 191-7583
191-7583 201-7771 201-7771
.TPCMP = ****** GX 68-2811 68-2811 71-2939 71-2939 71-2959 71-2959 237-9284 237-9284 238-9311
238-9311
.TPDEC = ****** GX 47-1947 47-1947 237-9283
.TPDIV = ****** GX 114-4675 114-4675
.TPINC = ****** GX 47-1952 47-1952 237-9286
.TPNEG = ****** GX 71-2963 71-2963
.TPSHI = ****** GX 73-3054 73-3054 76-3145 76-3145 104-4113 104-4113 104-4120 104-4120 106-4175
106-4175 108-4262 108-4262 108-4269 108-4269 111-4395 111-4395 155-6132 155-6132
156-6166 156-6166 158-6217 158-6217 158-6224 158-6224 159-6281 159-6281
.TPSUB = ****** GX 47-1958 47-1958
.TPTST = ****** GX 186-7391 186-7391
.TRKWD = ****** GX *202-7785 203-7797
.TRPTV = ****** GX *36-1511 *36-1514
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 42
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.TRP4V = ****** GX 58-2464 61-2562
.TSCAN = ****** GX 44-1875 44-1875 45-1912 45-1912 57-2438 57-2438 60-2547 60-2547 66-2750
66-2750 70-2898 70-2898 112-4539 112-4539 137-5566 137-5566 152-6012 152-6012
154-6105 154-6105 169-6793 169-6793 178-7163 178-7163 179-7196 179-7196 184-7344
184-7344 189-7505 189-7505 193-7630 193-7630 209-8048 209-8048 230-8836 230-8836
230-8964 230-8964
.TYACE = ****** GX 165-6640 165-6640
.TYAC1 = ****** GX 164-6526 164-6526
.TYCHR = ****** GX 58-2468 58-2468 61-2570 61-2570 115-4771 115-4771 116-4834 116-4834 116-4842
116-4842 205-7872 205-7872
.TYCOL = ****** GX 116-4838 116-4838
.TYCOM = ****** GX 174-7046 174-7046 174-7054 174-7054 205-7873 205-7873 214-8275 214-8275 218-8378
218-8378
.TYDAT 007040 RG #115-4755 170-6889 170-6889 225-8694 225-8694 232-9119 232-9119 232-9126 232-9126
.TYELA = ****** GX 58-2466 58-2466 61-2568 61-2568 115-4761 115-4761 115-4774 115-4774 116-4837
116-4837 116-4845 116-4845 196-7687 196-7687
.TYELN = ****** GX 58-2471 58-2471 61-2573 61-2573 81-3337 81-3337 96-3900 96-3900 205-7864
205-7864 205-7880 205-7880
.TYKLA = ****** GX 67-2790 67-2790 71-2929 71-2929 84-3534 84-3534
.TYKLN = ****** GX 50-2124 50-2124 67-2794 67-2794 71-2933 71-2933 83-3474 83-3474 91-3747
91-3747 163-6474 163-6474 192-7606 192-7606
.TYLIN = ****** GX 92-3783 92-3783 164-6551 164-6551 190-7553 194-7658 200-7741 204-7810 204-7810
204-7815 205-7883 205-7883 205-7890 205-7890 207-7951 214-8258 214-8258 214-8267
214-8267 215-8292 215-8292 215-8299 217-8348 217-8348 217-8356 217-8356 225-8687
225-8687 225-8707 232-9111 232-9111 232-9115 232-9115 232-9137 232-9137 232-9150
232-9150 232-9155
.TYMIN = ****** GX 115-4762 115-4762 115-4767 115-4767
.TYMSF = ****** GX 112-4511 112-4511 114-4653 114-4653 230-8831 230-8831 230-8840 230-8840 230-8958
230-8958
.TYMSG = ****** GX 50-2117 50-2117 81-3335 81-3335 82-3419 82-3419 83-3471 83-3471 83-3480
83-3480 84-3496 84-3496 84-3507 84-3507 84-3509 84-3509 84-3515 84-3515
84-3517 84-3517 84-3522 84-3522 84-3526 84-3526 84-3528 84-3528 85-3584
85-3584 86-3621 86-3621 91-3743 91-3743 92-3790 92-3790 92-3797 92-3797
96-3896 96-3896 98-3936 98-3936 99-3948 99-3948 99-3950 99-3950 99-3955
99-3955 99-3960 99-3960 115-4766 115-4766 130-5332 130-5332 163-6461 163-6461
164-6522 164-6522 170-6833 170-6833 170-6867 170-6867 170-6870 170-6870 170-6872
170-6872 174-7035 174-7035 174-7040 174-7040 174-7048 174-7048 174-7056 174-7056
190-7543 190-7543 192-7603 192-7603 194-7652 194-7652 196-7685 196-7685 199-7723
199-7723 200-7734 200-7734 203-7795 203-7795 204-7808 204-7808 204-7812 204-7812
205-7860 205-7860 205-7866 205-7866 207-7945 207-7945 211-8144 211-8144 214-8260
214-8260 214-8274 214-8274 215-8287 215-8287 215-8294 215-8294 217-8350 217-8350
217-8358 217-8358 217-8362 217-8362 218-8377 218-8377 220-8440 220-8440 225-8691
225-8691 225-8700 225-8700 230-8883 230-8883 230-8889 230-8889 230-8897 230-8897
230-8933 230-8933 232-9099 232-9099 232-9117 232-9117 232-9124 232-9124 232-9132
232-9132 232-9139 232-9139
.TYOUT = ****** GX 220-8441 220-8441
.TYP3D = ****** GX 50-2120 50-2120 99-3953 99-3953 99-3958 99-3958 99-3963 99-3963
.TYSLS = ****** GX 50-2121 50-2121 67-2791 67-2791 71-2930 71-2930 91-3744 91-3744 96-3897
96-3897
.TYSPC = ****** GX 50-2122 50-2122 58-2469 58-2469 61-2571 61-2571 67-2792 67-2792 71-2931
71-2931 91-3745 91-3745 96-3898 96-3898 115-4776 116-4847 205-7874 205-7874
214-8276 214-8276 218-8379 218-8379 225-8692 225-8692 225-8695 225-8695
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 43
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.TYTIM 007154 RG #116-4820 170-6891 170-6891 225-8697 225-8697 232-9121 232-9121 232-9128 232-9128
.T50TB = ****** GX 148-5898
.UMRKC 010262 RG #134-5471 134-5499
.VERNO = ****** GX 170-6871 204-7813
.VFYFL = ****** GX 68-2804
.WHACB 012132 RG 162-6439 162-6439 #163-6458
.WHATB = ****** GX 179-7194
.WHATC 013702 RG #179-7193
.WHATV 015242 RG #204-7806
.WHCON 014360 RG 189-7528 #190-7541
.WHDAT 017266 RG 223-8609 #225-8674
.WHINC 014506 RG #192-7592
.WHKLN 020576 RG #232-9096
.WHMEM 014646 RG #194-7650
.WHOFS 014726 RG #196-7683
.WHOUT 013510 RG 169-6788 #174-7033
.WHRDW 015302 RG #205-7855
.WHREC 015530 RG #207-7941
.WHRLD 015014 RG 197-7702 #199-7721
.WHRPT 014520 RG #192-7597 201-7773
.WHRTY 015040 RG 198-7714 #200-7732
.WHTCA 016272 RG 210-8108 #214-8255
.WHTCL 016256 RG #214-8251
.WHTPA 016474 RG 210-8114 #217-8345
.WHTPS 016460 RG #217-8341
.WHTRK 015212 RG #203-7793
.WRCRM = ****** GX 134-5493 134-5493
.WRITZ = ****** GX 170-6837 170-6837
.WRMBX = 071000 #185-7375 #235-9225
.WRTAR = ****** GX 65-2711 65-2711
.XFRCK 001260 RG 50-2109 50-2109 #53-2272
.XFWCK 001276 RG 51-2196 51-2196 #53-2279
.XFXCK 001314 RG 52-2237 52-2237 #53-2286
.YEAR = ****** GX *223-8546 *223-8598
.YESNO 016634 RG 211-8145 211-8145 #220-8436
.ZEROC 021104 RG #236-9249
..DTP2 = ****** GX 36-1521 36-1521 182-7280 182-7280 186-7403
..STIN = ****** GX 230-9017 230-9017 230-9036 230-9036
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 44
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
ALUN$ #119-4946 127-5197 127-5206 127-5212 #168-6746
CALL #4-118 #34-1463 #36-1512 #36-1519 #36-1521 #36-1524 #38-1582 #38-1590 #38-1593 #38-1597
#40-1671 #42-1773 #44-1875 #45-1912 #47-1946 #47-1947 #47-1951 #47-1952 #47-1956 #47-1958
#47-1962 #47-1964 #49-2053 #49-2058 #49-2072 #50-2106 #50-2108 #50-2109 #50-2115 #50-2117
#50-2120 #50-2121 #50-2122 #50-2124 #50-2125 #50-2144 #50-2146 #51-2194 #51-2195 #51-2196
#51-2203 #51-2204 #51-2207 #52-2235 #52-2236 #52-2237 #52-2238 #56-2361 #57-2435 #57-2438
#57-2442 #57-2447 #57-2448 #58-2457 #58-2466 #58-2468 #58-2469 #58-2471 #59-2491 #59-2495
#59-2499 #59-2503 #59-2513 #60-2544 #60-2547 #60-2551 #61-2559 #61-2568 #61-2570 #61-2571
#61-2573 #61-2574 #61-2590 #61-2591 #62-2623 #62-2627 #62-2631 #62-2635 #65-2697 #65-2698
#65-2703 #65-2704 #65-2708 #65-2711 #66-2747 #66-2750 #66-2755 #66-2756 #66-2759 #67-2766
#67-2788 #67-2790 #67-2791 #67-2792 #67-2794 #67-2795 #68-2803 #68-2808 #68-2811 #68-2813
#68-2814 #68-2815 #69-2840 #69-2844 #69-2848 #69-2852 #69-2863 #70-2895 #70-2898 #70-2903
#71-2910 #71-2927 #71-2929 #71-2930 #71-2931 #71-2933 #71-2934 #71-2939 #71-2942 #71-2952
#71-2953 #71-2959 #71-2963 #72-2998 #72-3002 #72-3006 #72-3010 #73-3052 #73-3054 #76-3126
#76-3131 #76-3140 #76-3145 #76-3147 #76-3153 #78-3220 #78-3221 #80-3295 #81-3335 #81-3337
#81-3338 #82-3419 #83-3471 #83-3474 #83-3480 #84-3496 #84-3507 #84-3509 #84-3515 #84-3517
#84-3522 #84-3526 #84-3528 #84-3534 #85-3584 #86-3621 #91-3733 #91-3739 #91-3740 #91-3741
#91-3743 #91-3744 #91-3745 #91-3747 #92-3776 #92-3777 #92-3778 #92-3779 #92-3783 #92-3790
#92-3797 #94-3842 #94-3844 #94-3846 #94-3848 #94-3849 #94-3850 #96-3889 #96-3891 #96-3892
#96-3894 #96-3896 #96-3897 #96-3898 #96-3900 #98-3929 #98-3931 #98-3932 #98-3933 #98-3936
#99-3948 #99-3950 #99-3953 #99-3955 #99-3958 #99-3960 #99-3963 #100-3981 #100-3982 #100-3988
#104-4111 #104-4113 #104-4118 #104-4120 #104-4125 #106-4173 #106-4175 #108-4260 #108-4262 #108-4267
#108-4269 #110-4372 #110-4380 #111-4390 #111-4395 #112-4511 #112-4512 #112-4514 #112-4533 #112-4536
#112-4539 #112-4545 #112-4546 #112-4548 #112-4555 #114-4653 #114-4656 #114-4658 #114-4661 #114-4667
#114-4670 #114-4675 #114-4683 #114-4687 #114-4698 #114-4701 #114-4702 #114-4708 #115-4761 #115-4762
#115-4766 #115-4767 #115-4771 #115-4774 #116-4825 #116-4829 #116-4834 #116-4837 #116-4838 #116-4842
#116-4845 #118-4905 #118-4906 #120-4969 #123-5057 #123-5062 #123-5070 #123-5075 #126-5181 #126-5182
#130-5300 #130-5306 #130-5312 #130-5332 #130-5340 #131-5393 #134-5478 #134-5479 #134-5481 #134-5493
#137-5564 #137-5566 #137-5570 #137-5574 #137-5575 #138-5585 #138-5586 #138-5587 #138-5588 #138-5589
#138-5597 #138-5598 #140-5648 #140-5661 #140-5664 #140-5666 #143-5753 #143-5754 #143-5757 #143-5758
#146-5843 #146-5844 #146-5847 #146-5849 #146-5856 #146-5859 #148-5915 #149-5949 #152-6011 #152-6012
#152-6013 #153-6061 #153-6064 #154-6104 #154-6105 #154-6106 #155-6130 #155-6132 #156-6159 #156-6166
#158-6215 #158-6217 #158-6222 #158-6224 #158-6229 #159-6263 #159-6271 #159-6276 #159-6281 #161-6372
#161-6373 #161-6376 #162-6432 #162-6435 #162-6439 #163-6461 #163-6463 #163-6474 #163-6476 #164-6513
#164-6517 #164-6522 #164-6525 #164-6526 #164-6527 #164-6531 #164-6535 #164-6540 #164-6551 #164-6557
#165-6623 #165-6629 #165-6631 #165-6634 #165-6639 #165-6640 #165-6641 #165-6644 #166-6703 #166-6704
#166-6706 #169-6786 #169-6787 #169-6789 #169-6791 #169-6793 #169-6794 #169-6795 #170-6833 #170-6834
#170-6835 #170-6836 #170-6837 #170-6841 #170-6851 #170-6853 #170-6854 #170-6858 #170-6867 #170-6868
#170-6870 #170-6872 #170-6873 #170-6874 #170-6889 #170-6891 #174-7035 #174-7040 #174-7046 #174-7048
#174-7054 #174-7056 #178-7151 #178-7158 #178-7163 #179-7195 #179-7196 #179-7197 #180-7204 #182-7265
#182-7278 #182-7280 #184-7341 #184-7344 #186-7380 #186-7384 #186-7390 #186-7391 #186-7393 #186-7396
#186-7399 #187-7433 #187-7438 #187-7439 #187-7443 #189-7503 #189-7505 #189-7506 #189-7510 #190-7543
#191-7572 #191-7573 #191-7581 #191-7583 #192-7603 #192-7606 #193-7628 #193-7630 #193-7631 #193-7638
#194-7652 #195-7674 #195-7676 #196-7685 #196-7687 #197-7700 #198-7708 #199-7723 #200-7734 #201-7765
#201-7767 #201-7771 #202-7779 #203-7795 #204-7808 #204-7810 #204-7812 #205-7860 #205-7864 #205-7866
#205-7872 #205-7873 #205-7874 #205-7880 #205-7883 #205-7890 #206-7934 #207-7942 #207-7945 #208-8024
#208-8029 #208-8031 #208-8032 #208-8036 #209-8046 #209-8048 #209-8049 #209-8063 #209-8064 #209-8066
#209-8073 #210-8082 #210-8083 #210-8084 #211-8144 #211-8145 #214-8252 #214-8253 #214-8254 #214-8258
#214-8260 #214-8267 #214-8274 #214-8275 #214-8276 #214-8279 #215-8287 #215-8292 #215-8294 #217-8342
#217-8343 #217-8344 #217-8348 #217-8350 #217-8356 #217-8358 #217-8362 #218-8377 #218-8378 #218-8379
#220-8440 #220-8441 #220-8443 #220-8447 #220-8451 #220-8453 #223-8550 #223-8554 #223-8558 #223-8565
#223-8588 #225-8675 #225-8687 #225-8691 #225-8692 #225-8694 #225-8695 #225-8697 #225-8698 #225-8700
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 45
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
#230-8821 #230-8831 #230-8834 #230-8836 #230-8840 #230-8842 #230-8883 #230-8887 #230-8889 #230-8892
#230-8897 #230-8901 #230-8933 #230-8936 #230-8958 #230-8961 #230-8962 #230-8964 #230-8966 #230-9017
#230-9036 #232-9097 #232-9099 #232-9111 #232-9115 #232-9117 #232-9119 #232-9121 #232-9122 #232-9124
#232-9126 #232-9128 #232-9129 #232-9132 #232-9137 #232-9139 #232-9150 #236-9250 #236-9255 #237-9273
#237-9275 #237-9277 #237-9280 #237-9284 #238-9311 #238-9313 #238-9315 #244-9410 #244-9413 #244-9415
#244-9422 #244-9425
CALLR #4-127 #38-1603 #40-1674 #41-1689 #41-1701 #41-1713 #41-1725 #41-1737 #42-1777 #43-1792
#43-1804 #43-1816 #43-1828 #43-1840 #44-1879 #44-1883 #44-1887 #45-1917 #45-1921 #45-1925
#51-2209 #56-2366 #57-2439 #58-2476 #60-2548 #65-2714 #66-2751 #70-2899 #78-3228 #80-3296
#86-3622 #91-3749 #92-3799 #94-3852 #96-3901 #99-3964 #100-3992 #102-4062 #115-4776 #116-4847
#118-4907 #126-5186 #130-5341 #137-5571 #137-5576 #138-5591 #138-5594 #138-5599 #139-5624 #140-5669
#143-5762 #149-5950 #152-6014 #154-6107 #156-6169 #161-6378 #169-6788 #170-6843 #171-6941 #172-6978
#174-7058 #178-7167 #179-7198 #182-7281 #184-7345 #186-7403 #187-7445 #189-7507 #189-7531 #190-7553
#192-7608 #193-7632 #194-7658 #196-7688 #200-7741 #201-7773 #204-7815 #205-7893 #207-7951 #209-8069
#209-8074 #210-8086 #215-8299 #218-8384 #225-8707 #232-9152 #232-9155
CLEF$S #119-4946 #126-5174 #126-5175 #126-5176 #229-8816 #230-9010
COMND$ #5-181
DEFCMD #129-5254 130-5355 130-5356 130-5357 130-5358 130-5359 130-5360 130-5361 130-5362 130-5363
130-5364
DIR$ #55-2335 56-2364 #112-4494 #112-4501 112-4501 #119-4946 #123-5050 123-5050 #125-5162 125-5162
125-5164 125-5166 125-5168 #126-5174 126-5174 #126-5175 126-5175 #126-5176 126-5176 #126-5177
126-5177 #126-5179 126-5179 #142-5727 143-5760 #166-6702 166-6702 #168-6746 #170-6879 170-6879
171-6938 171-6945 #225-8677 225-8677 #230-9010 230-9010 #230-9038 230-9038 #232-9094 232-9151
#235-9223 238-9308
ERCON$ #5-172
ERROR$ #5-157 38-1607 47-1985 49-2079 53-2294 53-2297 58-2479 61-2603 68-2822 68-2825
68-2828 71-2978 78-3231 113-4598 113-4601 113-4604 113-4607 114-4720 114-4723 124-5115
124-5118 138-5602 141-5673 144-5776 144-5779 144-5782 146-5868 146-5870 161-6381 161-6383
165-6649 171-6951 186-7406 189-7534 205-7896 205-7899 210-8092 210-8095 210-8098 224-8613
224-8616 224-8619 224-8622 230-8856 230-8859 230-8862 230-8866 230-8952 238-9325 238-9328
ERR$ #56-2364 #112-4501 #123-5050 #125-5162 #125-5164 #125-5166 #125-5168 #126-5174 #126-5175 #126-5176
#126-5177 #126-5179 #143-5760 #166-6702 #170-6879 #171-6938 #171-6945 #225-8677 #230-9010 #230-9038
#232-9151 #238-9308
EXCH$ #6-223
FATAL$ #5-164
GTIM$S #112-4494 112-4501 #168-6746 170-6879 #223-8538 225-8677
IKL$ #8-252
IOKL$ #8-280 #76-3115 #76-3116 #139-5632 #139-5634 #139-5636 #139-5638 #141-5679 #141-5681 #153-6077
#162-6452
MOV$ #112-4501 112-4501 #123-5050 123-5050 #125-5162 125-5162 125-5162 #126-5174 126-5174 #126-5175
126-5175 #126-5176 126-5176 #126-5177 126-5177 #126-5179 126-5179 #166-6702 166-6702 #170-6879
170-6879 #225-8677 225-8677 #230-9010 230-9010 #230-9038 230-9038
NBL$ #127-5197 127-5197 #127-5206 127-5206 #127-5212 127-5212
NSERR$ #6-201
OFF$ #56-2372 56-2372 56-2372 56-2372 56-2372 56-2372 56-2372 #112-4501 112-4501 112-4501
112-4501 112-4501 112-4501 112-4501 112-4501 112-4501 #127-5197 127-5197 127-5197 127-5197
127-5197 #127-5206 127-5206 127-5206 127-5206 127-5206 #127-5212 127-5212 127-5212 127-5212
127-5212 #145-5806 145-5806 145-5806 145-5806 145-5806 145-5806 145-5806 #170-6879 170-6879
170-6879 170-6879 170-6879 170-6879 170-6879 170-6879 170-6879 #175-7084 175-7084 175-7084
175-7084 175-7084 175-7084 175-7084 175-7084 175-7084 #175-7087 175-7087 175-7087 175-7087
175-7087 175-7087 175-7087 175-7087 175-7087 #225-8677 225-8677 225-8677 225-8677 225-8677
225-8677 225-8677 225-8677 225-8677 #232-9161 232-9161 232-9161 232-9161 232-9161 232-9161
PATREE CREATED BY MACRO ON 3-APR-86 AT 22:59 PAGE 46
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
232-9161
POP #4-133 #36-1523 #49-2074 #50-2126 #50-2145 #50-2154 #51-2206 #57-2450 #58-2472 #58-2473
#59-2515 #61-2575 #65-2712 #67-2789 #67-2793 #68-2801 #71-2928 #71-2932 #71-2935 #71-2964
#71-2971 #71-2972 #71-2973 #73-3058 #76-3154 #94-3851 #96-3899 #100-3989 #104-4131 #106-4181
#108-4274 #112-4528 #112-4541 #112-4592 #114-4713 #114-4715 #115-4775 #116-4836 #116-4846 #121-5012
#124-5109 #130-5328 #138-5590 #140-5667 #140-5668 #143-5759 #148-5923 #148-5924 #156-6167 #158-6235
#162-6436 #163-6477 #164-6528 #164-6559 #170-6893 #191-7575 #191-7576 #191-7577 #201-7769 #205-7881
#209-8065 #215-8295 #221-8464 #230-8970 #230-8973 #230-8974 #230-8975 #230-8976 #230-8977 #230-8978
#230-8991 #237-9282 #244-9429
PRDP$ #235-9223 #238-9334
PUSH #4-139 36-1509 36-1510 38-1583 38-1607 47-1985 49-2079 50-2114 50-2142 50-2152
51-2201 53-2294 53-2297 57-2446 58-2460 58-2461 58-2479 59-2512 61-2565 61-2597
61-2603 65-2705 67-2780 67-2781 67-2783 67-2784 67-2785 68-2822 68-2825 68-2828
71-2917 71-2918 71-2924 71-2961 71-2965 71-2966 71-2967 71-2978 73-3049 76-3124
76-3136 76-3137 78-3231 91-3738 94-3843 96-3890 96-3893 100-3987 104-4107 106-4167
108-4256 108-4264 110-4377 112-4499 112-4516 112-4535 113-4598 113-4601 113-4604 113-4607
114-4650 114-4673 114-4678 114-4720 114-4723 115-4756 116-4821 116-4826 121-5004 123-5056
124-5115 124-5118 130-5293 138-5582 138-5602 140-5645 140-5649 140-5650 140-5655 140-5657
140-5658 141-5673 143-5756 144-5776 144-5779 144-5782 146-5868 146-5870 148-5896 156-6160
158-6211 159-6268 161-6381 161-6383 162-6424 163-6459 164-6509 164-6518 165-6649 170-6877
171-6951 182-7268 182-7270 182-7271 182-7272 182-7274 182-7275 186-7406 189-7534 205-7862
205-7896 205-7899 209-8060 209-8062 210-8092 210-8095 210-8098 214-8256 217-8346 220-8437
224-8613 224-8616 224-8619 224-8622 230-8829 230-8856 230-8859 230-8862 230-8866 230-8952
237-9276 238-9325 238-9328 244-9409 244-9416 244-9417
QDPB$ #175-7084 #175-7084 #175-7087 #175-7087
QIOW$ #168-6746 175-7084 175-7087
QIOW$S #168-6746
RETURN #4-147 36-1525 46-1934 46-1939 47-1980 49-2077 50-2156 52-2243 53-2292 61-2600
68-2820 71-2975 73-3059 76-3155 81-3342 81-3384 82-3422 83-3481 84-3536 85-3587
104-4132 106-4182 108-4275 111-4408 112-4595 114-4718 124-5110 130-5329 131-5398 134-5501
146-5865 148-5926 153-6065 155-6136 158-6236 159-6294 162-6440 163-6478 164-6560 165-6646
166-6707 170-6875 170-6894 171-6948 172-6980 173-7010 211-8170 212-8195 213-8241 213-8245
221-8465 238-9321 244-9430
RQST$ #55-2335 56-2372 #142-5727 145-5806 #232-9094 232-9161
R50$ #56-2372 #56-2372 #56-2372 #145-5806 #145-5806 #145-5806 #232-9161 #232-9161 #232-9161
SETF$S #119-4946 #123-5050 #126-5177 #126-5179 #160-6344 #166-6702
SPERR$ #6-211
SVTK$S #119-4946 #125-5162
WTSE$S #229-8816 #230-9038
$DEF #185-7373 #185-7375 #235-9223 #235-9225
.ENB6 #79-3268 81-3331 #223-8538 223-8605 #229-8816 230-9004
.INH6 #79-3268 81-3326 #223-8538 223-8592 #229-8816 230-8969 230-8998