Trailing-Edge
-
PDP-10 Archives
-
tops10_tools_bb-fp64b-sb
-
10,7/rsx20f/rsxtol/parser.lst
There are 2 other files named parser.lst in the archive. Click here to see a list.
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31
Table of contents
2- 57 DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20
3- 105 DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
4- 115 DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
7- 230 DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
9- 303 DEFINE -- LOCAL DEFINITIONS 7709.20
33- 1408 COPYRIGHT PAGE
35- 1475 DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
36- 1619 .SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
37- 1670 DATAB -- DTE-20 OPERATION BUFFERS 7709.20
38- 1689 DATAB -- INPUT / OUTPUT BUFFERS 7709.20
39- 1705 DATAB -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
40- 1745 .CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
47- 2066 .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
48- 2122 .CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
49- 2161 .CKCOL -- CHECK FOR A EQUAL 7709.21
50- 2196 .CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
51- 2226 .CKEOC -- CHECK END OF COMMAND 7602.16
52- 2264 .CKEOS -- CHECK END OF SYMBOL 7709.21
53- 2292 .CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
54- 2319 .CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
55- 2370 .CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
56- 2399 .EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
57- 2464 .PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
59- 2544 .PARER -- SPECIAL ERROR ROUTINES 7609.24
64- 2688 .PTDIE -- RECURSIVE TRAP HANDLER 7609.24
65- 2725 .PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
68- 2845 .PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
69- 2939 FILE INTERFACE DATA
70- 3037 .FNDIR -- ROUTINE TO FIND DIRECTORY FILE ID
71- 3100 .LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FID
72- 3164 .ENTER -- ROUTINE TO ENTER A FILE
73- 3214 .OPEN -- ROUTINE TO OPEN A FILE
74- 3269 .EXTND -- ROUTINE TO EXTEND A FILE
75- 3318 .CLOSE -- ROUTINE TO CLOSE A FILE
76- 3382 .SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK
77- 3421 .READR -- ROUTINE TO READ A RECORD
78- 3477 .READW -- READ A WORD FROM A FILE
79- 3514 .READB -- READ A BYTE FROM A FILE
80- 3547 .READ -- ROUTINE TO READ A BLOCK
81- 3595 .WRITR -- ROUTINE TO WRITE A RECORD
82- 3651 .WRITW -- WRITE A WORD TO A FILE
83- 3687 .WRITB -- WRITE A BYTE TO A FILE
84- 3718 .WRITZ -- WRITE OUT CURRENT BLOCK
85- 3759 .WRITE -- ROUTINE TO WRITE A BLOCK
88- 3841 .BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
89- 3881 .CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
90- 3920 .CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
92- 3977 .DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
96- 4117 .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
98- 4181 .EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
103- 4369 .EXCTF -- FAST INTERNAL EXECUTE 7602.17
105- 4459 .FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
107- 4536 .FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
109- 4633 .FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
112- 4735 .KLCON -- KL CONTINUE SUBROUTINE 7710.11
114- 4800 .KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
116- 4890 .KLST -- SUBROUTINE TO START THE KL 7512.08
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31
Table of contents
117- 4935 .KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
118- 4994 .KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
120- 5053 .KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
121- 5092 .LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
123- 5138 .LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
125- 5219 .LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
127- 5273 .MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
129- 5344 .RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 7510.09
132- 5474 .RDCRD -- SUBROUTINE TO READ THE KL CRAM DISP FIELD 7511.22
133- 5507 .RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19
135- 5600 .RDCRO -- SUBROUTINE TO READ THE KL CRAM OUTPUT 7511.05
136- 5633 .RDFMA -- SUBROUTINE TO READ THE KL FM ADDRESS 7511.14
137- 5681 .RDFMO -- SUBROUTINE TO READ KL FAST MEMORY OUTPUT 7708.30
138- 5714 .RDFMP -- READ FM PARITY ERROR BIT
139- 5747 .RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
140- 5798 .RESET -- KL RESET SUBROUTINES 7511.18
142- 5871 .RESTD -- DTE-20 RESET SUBROUTINE 7607.20
143- 5914 .RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
144- 5960 .RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
146- 6010 .RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
147- 6040 .STCLK -- START KL CLOCK SUBROUTINE 7607.15
148- 6071 .STPKL -- SUBROUTINE TO STOP THE KL 7602.25
149- 6101 .STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
150- 6135 .STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
151- 6167 .STUCD -- START KL MICROCODE SUBROUTINE 7511.22
153- 6238 .SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
154- 6269 .WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
155- 6315 .WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03
156- 6437 .NULLC -- THE NULL COMMAND 7602.10
158- 6481 .DOCMD -- DECODE A SINGLE COMMAND 7602.03
160- 6555 .EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
161- 6608 .START -- COMMAND PARSER MAIN LOOP 7602.02
162- 6634 .RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
164- 6703 .TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
168- 6820 .SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
172- 6913 .REPTC -- THE "REPEAT" COMMAND 7703.25
174- 7008 .CMDTB -- THE MAIN COMMAND TABLE 7703.25
175- 7090 .DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
176- 7105 .DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
177- 7126 .EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
178- 7141 .EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
179- 7214 .KLMTB -- THE KLINIK MODE TABLE 7702.16
180- 7232 .MONTB -- THE MONTH TABLE 7702.16
181- 7263 .NSETB -- NORMAL ERROR CODE TABLE 7710.11
182- 7363 .RSTTB -- THE RESTORE COMMAND TABLE 8306.09
183- 7370 .SAVTB -- THE SAVE COMMAND TABLE 8306.09
184- 7379 .RESTB -- THE RESET COMMAND TABLE 7602.18
185- 7400 .SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
186- 7427 .SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
187- 7436 .SCCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
188- 7449 .SCOTT -- THE "SET OUTPUT" COMMAND TABLE
189- 7460 .SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
190- 7479 .SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
191- 7520 .SPETB -- SPECIAL ERROR CODE TABLE 7702.16
192- 7539 .STRTB -- THE START COMMAND TABLE 7602.26
193- 7548 .WHATB -- THE WHAT COMMAND TABLE 7703.25
196- 7627 .SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31
Table of contents
197- 7668 .TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
200- 7764 .TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
201- 7816 .TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
202- 7856 .TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
203- 7892 .TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
204- 7926 .TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
205- 7963 .TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
206- 8003 .TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
209- 8081 .TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
210- 8131 .TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
213- 8230 .TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
215- 8313 .DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
218- 8402 .EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
222- 8543 .GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
223- 8586 .GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
225- 8716 .ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
226- 8758 .GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
227- 8789 .GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
228- 8822 .GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
230- 8907 .GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"
231- 9010 .GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
233- 9070 .GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
235- 9138 .GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
238- 9259 .GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
242- 9362 .TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
244- 9426 .TYACE -- TYPE AC ADDR AND CONTENTS
245- 9499 .TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
246- 9543 .TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
247- 9589 .TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
248- 9631 .TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
249- 9678 .TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
251- 9751 .TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.23
253- 9832 .TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF> 7601.23
254- 9879 .TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVICE 7601.23
255- 9908 .TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
257- 9963 .TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
259-10033 .TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 1
1 .IIF NDF FTLCMN,.NLIST
2 .TITLE DEFINE -- LOCAL DEFINITION MODULE 7709.20
3
4 .IDENT "016000"
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: 16-00
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 ; 003 27-Jan-88 A. Puchrik bump to version 16
48 ; SET VERSION OF THE PARSER HERE
49 ;
50 000016 PAR$$V = 16 ; VERSION 16
51 000000 PAR$$E = 00 ; EDIT 00
52 ;
53 ; THIS IS BEING EXPERIMENTED
54 ;
55 000126 PAR$$K = 'V ; KEY FOR RELEASE
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 2
DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20
57 .SBTTL DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20
58
59 000000 FT1145=0 ; ASSEMBLE FOR PDP-11/45 IF .NE. 0
60 000001 FT1140=1 ; ASSEMBLE FOR PDP-11/40 IF .NE. 0
61 000000 FT1135=0 ; ASSEMBLE FOR PDP-11/35 IF .NE. 0
62 000000 FT1120=0 ; ASSEMBLE FOR PDP-11/20 IF .NE. 0
63 000000 FT1115=0 ; ASSEMBLE FOR PDP-11/15 IF .NE. 0
64 000000 FT1110=0 ; ASSEMBLE FOR PDP-11/10 IF .NE. 0
65 000000 FT1105=0 ; ASSEMBLE FOR PDP-11/05 IF .NE. 0
66 000000 FTBYTE=0 ; ASSEMBLE BYTE SUPPORT IF .NE 0
67 000000 FTCRAM=0 ; ASSEMBLE CRAM FEATURES IF .NE. 0
68 000001 FTDEBUG=1 ; ASSEMBLE DEBUG FEATURES IF .NE. 0
69 000000 FTDISP=0 ; ASSEMBLE DISPATCH TABLE IF .NE 0
70 000000 FTDRAM=0 ; ASSEMBLE DRAM FEATURES IF .NE. 0
71 000000 FTHELP=0 ; ASSEMBLE HELP FEATURE IF .NE. 0
72 000000 FTKLER=0 ; ASSEMBLE "KLERR" SUPPORT IF .NE. 0
73 000000 FTLCVT=0 ; ASSEMBLE LOWER CASE SUPPORT IF .NE. 0
74 000001 FTLIST=1 ; ASSEMBLE LPT SUPPORT IF .NE. 0
75 000001 FTTRAK=1 ; ASSEMBLE TRACK FEATURE IF .NE. 0
76 000001 FTTRP4=1 ; ASSEMBLE TRAP AT 4 CODE IF .NE. 0
77 000130 FTUCVR=130 ; MICROCODE FEATURE SWITCH
78 000001 FTKLE=1 ; KLERR SNAPSHOT SUPPORT FLAG
79 ;DEB880=0 ; DEFINED IF DEBUGGING ON RSX-11M SYS880
80
81 .IF NE FT1145
82 FT1140=1
83 .ENDC ; FT1145
84
85 .IF NE FT1140
86 000001 FT1135=1
87 .ENDC ; FT1140
88
89 .IF NE FT1135
90 000001 FT1120=1
91 .ENDC ; FT1135
92
93 .IF NE FT1120
94 000001 FT1115=1
95 .ENDC ; FT1135
96
97 .IF NE FT1115
98 000001 FT1110=1
99 .ENDC ; FT1115
100
101 .IF NE FT1110
102 000001 FT1105=1
103 .ENDC ; FT1110
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 3
DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
105 .SBTTL DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
106
107 .LIST MEB, SYM
108 .NLIST CND
109 .ENABL AMA
110
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 4
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
115 .SBTTL DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
116
117 ; SUBROUTINE CALL MACROS
118
119 .MACRO CALL REG,DEST
120 .NTYPE $$,REG
121 .IF EQ $$&70
122 JSR REG,DEST
123 .IFF
124 JSR PC,REG
125 .ENDC ; IF EQ
126 .ENDM CALL
127
128 .MACRO CALLR DEST
129 JMP DEST
130 .ENDM CALLR
131
132 ; STACK OPERATION MACROS
133
134 .MACRO POP ARG
135 .IRP A,<ARG>
136 MOV (SP)+,A
137 .ENDR
138 .ENDM POP
139
140 .MACRO PUSH ARG
141 .IRP A,<ARG>
142 MOV A,-(SP)
143 .ENDR
144 .ENDM PUSH
145
146 ; SUBROUTINE RETURN MACRO
147
148 .MACRO RETURN REG
149 .IF NB <REG>
150 RTS REG
151 .IFF
152 RTS PC
153 .ENDC ; IF NB
154 .ENDM RETURN
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 5
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
156 ; DEFINE THE ERROR TRAP MACRO FOR ".PTTRP"
157
158 .MACRO ERROR$ CODE
159 PUSH #^R'CODE
160 TRAP TC.ERR
161 .ENDM ERROR$
162
163 ; DEFINE THE FATAL TRAP MACRO FOR ".PTTRP"
164
165 .MACRO FATAL$ CODE
166 FA$'CODE=.
167 PUSH #^R'CODE
168 TRAP TC.RST
169 .ENDM FATAL$
170
171 ; DEFINE THE CONTINUE TRAP MACRO FOR ".PTTRP"
172
173 .MACRO ERCON$ CODE
174 EC$'CODE=.
175 PUSH #^R'CODE
176 TRAP TC.CON
177 TST (SP)+
178 .ENDM ERCON$
179
180 ; DEFINE THE COMMAND TABLE MACRO
181
182 .MACRO COMND$ COMMAND,LGLBTS,DISPAT,NAM
183 .PSECT MESSAG
184 .IF NDF,NAM'MSG
185 $$$'NAM=0
186 NAM'MSG:: .ASCIZ %COMMAND%
187 .ENDC
188 .IF DF,$$PASS2
189 $$$'NAM=$$$'NAM+1
190 .IF EQ,$$$'NAM-1
191 NAM'MSG:: .ASCIZ %COMMAND%
192 .ENDC
193 .ENDC
194 .PSECT DATA
195 .WORD NAM'MSG ; POINTER TO "COMMAND" SYMBOL
196 .WORD LGLBTS ; LEGAL BITS
197 .WORD DISPAT ; ROUTINE TO CALL OR DATA
198 .ENDM COMND$
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 6
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
200 ; DEFINE THE NORMAL ERROR CODE MACRO
201
202 .MACRO NSERR$ COD,STRING
203 .PSECT ERRMSG
204 COD'ERM: .ASCIZ %COD - STRING%
205 .PSECT DATA
206 .RAD50 /COD/ ; "COD" IN .RAD50
207 .WORD COD'ERM ; POINTER TO MESSAGE
208 .ENDM NSERR$
209
210 ; DEFINE THE SPECIAL ERROR CODE MACRO
211
212 .MACRO SPERR$ COD,STRING
213 .PSECT ERRMSG
214 COD'ERM:
215 .ASCIZ %COD - STRING%
216 .PSECT DATA
217 .RAD50 /COD/ ; "COD" IN .RAD50
218 .WORD .SE'COD ; DISPATCH TO HANDLER
219 .WORD COD'ERM ; POINTER TO MESSAGE
220 .ENDM SPERR$
221
222 ; DEFINE AN "EXCHANGE" MACRO
223
224 .MACRO EXCH$ ARG1,ARG2
225 MOV ARG1,-(SP)
226 MOV ARG2,ARG1
227 MOV (SP)+,ARG2
228 .ENDM EXCH$
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 7
DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
230 .SBTTL DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
231
232 ; DEFINE KL I/O OPCODES
233
234 000000 BLKI=0 ; BLOCK IN
235 000001 DATAI=1 ; DATA IN
236 000002 BLKO=2 ; BLOCK OUT
237 000003 DATAO=3 ; DATA OUT
238 000004 CONO=4 ; CONDITIONS OUT
239 000005 CONI=5 ; CONDITIONS IN
240 000006 CONSZ=6 ; " " SKIP IF ZERO
241 000007 CONSO=7 ; " " " " ONES
242
243 ; DEFINE KL INTERNAL I/O DEVICES
244
245 000000 APR=0 ; ARITHMETIC PROCESSOR (ALU)
246 000004 PI=4 ; PRIORITY INTERRUPT SYSTEM
247 000010 PAG=10 ; PAGING SYSTEM
248 000014 CCA=14 ; CACHE CONTROL
249 000574 KLP=574 ; [**]
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 8
DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
251 ; DEFINE KL INSTRUCTION MACRO
252
253 .MACRO IKL$ OP,DAC,DI,DAD,DXR
254 ADH=0
255 ADL=0
256 .IF NB,DAD
257 .IRPC AD1,DAD
258 .IIF GE,<ADL-10000>,ADH=ADL/10000
259 ADL=10*<ADL&7777>+AD1
260 .ENDR
261 .ENDC ; .IF NB
262 .IIF B,DAC,AC=0
263 .IIF NB,DAC,AC=DAC
264 .IIF B,DI,I=0
265 .IIF NB,DI,I=DI
266 .IIF B,DXR,XR=0
267 .IIF NB,DXR,XR=DXR
268 $$A=<ADL&377>
269 $$B=<<ADL/400>!<ADH*200&377>>
270 $$C=<AC&1*200+<I*100+<XR*4>>+<ADH/2>>
271 $$D=<OP&37*10+<AC/2>>
272 $$E=<OP/40>
273 $$F=0
274 .BYTE $$A,$$B
275 .BYTE $$C,$$D
276 .BYTE $$E,$$F
277 .ENDM IKL$
278
279 ; DEFINE KL I/O INSTRUCTION MACRO
280
281 .MACRO IOKL$ OP,DDV,DI,DAD,DXR
282 .IIF B,DI,I=0
283 .IIF NB,DI,I=DI
284 .IIF B,DXR,XR=0
285 .IIF NB,DXR,XR=DXR
286 ADH = 0
287 ADL = 0
288 .IRPC AD1,DAD
289 .IIF GE,<ADL-10000>, ADH=ADL/10000
290 ADL=10*<ADL&7777>+AD1
291 .ENDR
292 $$A=<ADL&377>
293 $$B=<<ADL/400>!<ADH*200&377>>
294 $$C=<OP&1*200+<I*100+<XR*4>>+<ADH/2>>
295 $$D=<DDV&374+<OP/2>>
296 $$E=<DDV/400+16>
297 $$F=0
298 .BYTE $$A,$$B
299 .BYTE $$C,$$D
300 .BYTE $$E,$$F
301 .ENDM IOKL$
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 9
DEFINE -- LOCAL DEFINITIONS 7709.20
303 .SBTTL DEFINE -- LOCAL DEFINITIONS 7709.20
304
305 ; LOCAL DEFINITIONS
306
307 000001 BIT00=000001 ; DEFINE LOW BITS FOR SYMMETRY
308 000002 BIT01=000002
309 000004 BIT02=000004
310 000010 BIT03=000010
311 000020 BIT04=000020
312 000040 BIT05=000040
313 000100 BIT06=000100
314 000200 BIT07=000200
315 000400 BIT08=000400
316 001000 BIT09=001000
317 002000 BIT10=002000
318 004000 BIT11=004000
319 010000 BIT12=010000
320 020000 BIT13=020000
321 040000 BIT14=040000
322 100000 BIT15=100000
323
324 ; DEFINE EXAMINE DEPOSIT MODE BYTES
325
326 000000 ED.EPT=0*40 ; EXEC PROCESS TABLE (RELATIVE)
327 000040 ED.EXV=1*40 ; EXEC VIRTUAL SPACE
328 000100 ED.UPT=2*40 ; USER PROCESS TABLE (RELATIVE)
329 000140 ED.USV=3*40 ; USER VIRTUAL SPACE
330 000200 ED.PHY=4*40 ; PHYSICAL ADDRESSES
331
332 ; DEFINE BITS IN ".PEWRD"
333
334 000001 PE.CES=1 ; CLOCK ERROR STOP
335 000002 PE.DRM=2 ; DRAM PARITY ERROR
336 000004 PE.CRM=4 ; CRAM PARITY ERROR
337 000010 PE.FMP=10 ; FAST MEMORY PARITY ERROR
338 000020 PE.FSS=20 ; FIELD SERVICE STOP
339 000037 PE.ALL=PE.CES!PE.DRM!PE.CRM!PE.FMP!PE.FSS
340
341 ; DEFINE BITS IN ".APRWD"
342
343 000001 AP.PWF=1 ; APR POWER FAIL
344 000002 AP.SAP=2 ; APR SBUS ADDRESS PARITY ERROR
345 000004 AP.CDP=4 ; APR CACHE DIRECTORY PARITY ERROR
346 000010 AP.MPE=10 ; APR MB (MEMORY) PARITY ERROR
347 000020 AP.IPF=20 ; APR I/O PAGE FAIL ERROR
348 000040 AP.NXM=40 ; APR NON-EX-MEM ERROR
349 000100 AP.SBE=100 ; APR SBUS ERROR
350 000177 AP.ALL=AP.PWF!AP.SAP!AP.CDP!AP.MPE!AP.IPF!AP.NXM!AP.SBE
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 10
DEFINE -- LOCAL DEFINITIONS 7709.20
352 ; DEFINE OFFSETS INTO DTE-20 DIAG REGISTERS
353
354 000000 .DIAG1=0 ; DTE-20 DIAG1 WORD
355 000002 .DIAG2=2 ; DTE-20 DIAG2 WORD
356 000004 .DTSTW=4 ; DTE-20 STATUS WORD
357 000006 .DIAG3=6 ; DTE-20 DIAG3 WORD
358
359 ; DEFINE DTE-20 DIAG1 BITS
360
361 100000 D1.DS0=BIT15 ; DIAGNOSTIC SELECT CODE 00 [WRITE]
362 040000 D1.DS1=BIT14 ; " " " 01 "
363 020000 D1.DS2=BIT13 ; " " " 02 "
364 010000 D1.DS3=BIT12 ; " " " 03 "
365 004000 D1.DS4=BIT11 ; " " " 04 "
366 002000 D1.DS5=BIT10 ; " " " 05 "
367 001000 D1.DS6=BIT09 ; " " " 06 "
368 004000 D1.CES=BIT11 ; KL CLOCK ERROR STOP [READ]
369 002000 D1.RUN=BIT10 ; KL RUN FLAG [READ]
370 001000 D1.HLP=BIT09 ; KL IS IN HALT LOOP [READ]
371 000400 D1.DEX=BIT08 ; DTE-20 IS IN DEPOSIT / EXAMINE STATE [READ]
372 000200 D1.T10=BIT07 ; DTE-20 IS IN TO KL STATE [READ]
373 000200 D1.LBK=BIT07 ; PUT DTE-20 IN LOOPBACK MODE [WRITE]
374 000100 D1.T11=BIT06 ; DTE-20 IS IN TO 11 STATE [READ]
375 000040 D1.DDT=BIT05 ; SET DTE-20 DIAGNOSTIC MODE [WRITE]
376 ; DTE-20 IS IN DIAGNOSTIC MODE [READ]
377 000020 D1.V04=BIT04 ; VECTOR INTERRUPT ADDRESS BIT 04 [READ]
378 000020 D1.PLS=BIT04 ; GENERATE A CLOCK CYCLE IF D1.DDT SET [WRITE]
379 000010 D1.DFM=BIT03 ; CHANGE EX / DEP TO DIAG FUNCTIONS IF PRIVILEGED [WRITE]
380 000004 D1.XFR=BIT02 ; SEND DATA TO KL IF = 1 [READ]
381 ; RECEIVE DATA FROM KL IF = 0 [READ]
382
383 ; BIT 01 IS UNUSED [MBZ]
384
385 000001 D1.DCS=BIT00 ; DIAG COMMAND IN PROGRESS [READ]
386 ; SET DIAGNOSTIC COMMAND START IF = 1 [WRITE]
387 ; CLEAR DIAGNOSTIC COMMAND START IF = 0 [WRITE]
388 000442 D1.MBZ=D1.DEX!D1.DDT!BIT01 ; MUST BE ZERO ON WRITE
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 11
DEFINE -- LOCAL DEFINITIONS 7709.20
390 ; DEFINE DTE-20 DIAG2 BITS
391
392 100000 D2.RA0=BIT15 ; RFM ADDRESS BIT 0 [READ]
393 040000 D2.RA1=BIT14 ; RFM ADDRESS BIT 1 [READ]
394 040000 D2.EBD=BIT14 ; SET EBUS DONE IF = 1 [WRITE]
395 ; CLEAR EBUS DONE IF = 0 [WRITE]
396 020000 D2.RA2=BIT13 ; RFM ADDRESS BIT 2 [READ]
397
398 ; BITS 11 THRU 7 ARE UNUSED [MBZ]
399
400 000100 D2.RST=BIT06 ; RESET THE DTE-20 IF = 1 [WRITE]
401
402 ; BIT 5 IS UNUSED [MBZ]
403
404 000020 D2.MS8=BIT04 ; MINOR STATE COUNTER BIT 8 [WRITE]
405 000010 D2.MS4=BIT03 ; " " " " 4 "
406 000004 D2.MS2=BIT02 ; " " " " 2 "
407 000002 D2.MS1=BIT01 ; " " " " 1 "
408
409 ; BIT 0 IS UNUSED [MBZ]
410
411 177641 D2.MBZ=BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT05!BIT00
412
413 ; DEFINE DTE-20 DIAG3 BITS
414
415 100000 D3.SSL=BIT15 ; SWAP SELECT LEFT [READ]
416 040000 D3.PAR=BIT14 ; PARITY FLOP [READ]
417
418 ; BITS 13 THRU 08 ARE UNIBUS PARITY ERROR INFO [READ]
419
420 ; BITS 07 AND 06 ARE UNUSED [MBZ]
421
422 000040 D3.SCD=BIT05 ; SHIFT DATA IN 13-08 FOR NEXT READ [WRITE]
423 000020 D3.UPE=BIT04 ; DATO UNIBUS PARITY ERROR (DUPE) [READ]
424 000020 D3.CDD=BIT04 ; CLEAR DUPE AND DURE FLAGS
425 000010 D3.WEP=BIT03 ; WRITE EVEN UNIBUS PARITY FLOP [READ]
426 ; WRITE EVEN UNIBUS PARITY IF = 1 [WRITE]
427 ; WRITE ODD (GOOD) UNIBUS PARITY IF = 0 [WRITE]
428 000004 D3.URE=BIT02 ; DATO UNIBUS RECEIVE ERROR FLAG (DURE) [READ]
429 000002 D3.NPE=BIT01 ; NPR UNIBUS PARITY ERROR FLAG (NUPE) [READ]
430 ; CLEAR NUPE [WRITE]
431 000001 D3.TXB=BIT00 ; SET TO KL BYTE TRANSFER MODE [WRITE]
432
433 177704 D3.MBZ=BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT06!BIT02
434
435 000001 D3.RST=D3.TXB ; DIAG WORD 3 RESET BIT
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 12
DEFINE -- LOCAL DEFINITIONS 7709.20
437 ; DEFINE DTE-20 STATUS BITS
438
439 100000 ST.TXD=BIT15 ; TO KL TRANSFER DONE FLAG [READ]
440 ; SET TO KL TRANSFER DONE [WRITE]
441 040000 ST.CTD=BIT14 ; CLEAR TO KL TRANSFER DONE FLAG [WRITE]
442 020000 ST.TXE=BIT13 ; TO KL ERROR DONE FLAG [READ]
443 ; SET TO KL ERROR DONE FLAG [WRITE]
444 010000 ST.RIZ=BIT12 ; DTE-20 RAM LOCATION IS ZEROES [READ]
445 010000 ST.CTE=BIT12 ; CLEAR TO KL ERROR DONE FLAG [WRITE]
446 004000 ST.EDB=BIT11 ; 11 DOORBELL FLAG [READ]
447 ; SET THE 11 DOORBELL FLAG [WRITE]
448 002000 ST.DW1=BIT10 ; YES, THIS BIT IS HERE
449 001000 ST.MPE=BIT09 ; 11 MEMORY PARITY ERROR DURING TO KL XFER [READ]
450 ; CLEAR ST.MPE [WRITE]
451 000400 ST.XDB=BIT08 ; KL DOORBELL FLAG [READ]
452 ; RING THE KL DOORBELL [WRITE]
453 000200 ST.TED=BIT07 ; TO 11 TRANSFER DONE FLAG [READ]
454 ; SET ST.TED [WRITE]
455 000100 ST.EBS=BIT06 ; E BUFFER SELECT [READ]
456 000100 ST.CED=BIT06 ; CLEAR ST.TED [WRITE]
457 000040 ST.NST=BIT05 ; TO 11 XFER STOPPED BECAUSE STOP BIT WAS SET [READ]
458 000040 ST.IEN=BIT05 ; ENABLE DTE-20 TO GENERATE BR REQUESTS IF = 1
459 000020 ST.EPE=BIT04 ; EBUS PARITY ERROR FLAG [READ]
460 ; CLEAR EBUS PARITY ERROR FLAG IF = 1 [WRITE]
461 000010 ST.MOD=BIT03 ; DTE-20 IS PRIVILEGED IF = 0 [READ]
462 ; " " RESTRICTED " " 1 "
463 000010 ST.IDS=BIT03 ; DISABLE DTE-20 BR REQUESTS [WRITE]
464 000004 ST.DXD=BIT02 ; DEPOSIT / EXAMINE DONE FLAG [READ]
465 000004 ST.SEP=BIT02 ; SET EBUS PARITY ERROR IF = 1 [WRITE]
466 000002 ST.TER=BIT01 ; TO 11 BYTE XFER ERROR FLAG [READ]
467 000002 ST.STE=BIT01 ; SET ST.TER IF = 1 [WRITE]
468 000001 ST.ION=BIT00 ; 11 CAN GENERATE BR REQUESTS [READ]
469 000001 ST.CLE=BIT00 ; CLEAR ST.TER IF = 1 [WRITE]
470
471 011121 ST.RST=ST.CTE!ST.MPE!ST.CED!ST.EPE!ST.CLE
472
473 000000 ST.MBZ=0 ; BIT MASK FOR WRITE
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 13
DEFINE -- LOCAL DEFINITIONS 7709.20
475 ; DEFINE FLAG BITS IN ".KLFLG"
476
477 100000 KF.CLK=BIT15 ; KL CLOCK IS RUNNING IF .NE. 0
478 040000 KF.RUN=BIT14 ; KL RUN FLOP IS ON IF .NE. 0
479 020000 KF.MRS=BIT13 ; KL MASTER RESET FLOP IS ON IF .NE. 0
480 010000 KF.SIM=BIT12 ; KL IS IN SINGLE INSTRUCTION MODE IF .NE. 0
481 004000 KF.SMC=BIT11 ; KL IS IN SINGLE PULSE MBOX MODE IF .NE. 0
482 002000 KF.SPM=BIT10 ; " " " " " EBOX " " " "
483 001000 KF.BRM=BIT09 ; KL IS IN BURST MODE IF .NE. 0
484 000400 KF.KLO=BIT08 ; KL IS IN KL INSTRUCTION MODE IF .NE. 0
485 000200 KF.CON=BIT07 ; KL IS CONTINUABLE IF .NE. 0
486 000100 KF.CES=BIT06 ; KL IS IN CLOCK ERROR STOP STATE IF .NE. 0
487 000200 KF.DEF=KF.CON ; DEFAULT FLAGS (SEE ".INKLF")
488
489 ; DEFINE BITS IN ".TRKWD"
490
492 000001 TR.FXC=BIT00 ; TRACK FUNCTION EXECUTES IF .NE. 0
493 000002 TR.FRD=BIT01 ; TRACK FUNCTION READS IF .NE. 0
494 000004 TR.FWR=BIT02 ; TRACK FUNCTION EXECUTES IF .NE. 0
495 000010 TR.EXM=BIT03 ; TRACK MEMORY EXAMINES IF .NE. 0
496 000020 TR.DEP=BIT04 ; TRACK MEMORY DEPOSITS IF .NE. 0
497 000040 TR.DTE=BIT05 ; TRACK DTE-20 OPERATIONS IF .NE. 0
498 000077 TR.ALL=TR.FXC!TR.FRD!TR.FWR!TR.EXM!TR.DEP!TR.DTE
500
501 ; DEFINE KL PC FLAGS (FROM "C.MAC" V. 1, EDIT 24 7511.25)
502
503 010000 PC.OVF=BIT12 ; KL OVERFLOW FLAG (BIT 00)
504 004000 PC.CY0=BIT11 ; KL CARRY 0 FLAG (BIT 01)
505 002000 PC.CY1=BIT10 ; KL CARRY 1 FLAG (BIT 02)
506 001000 PC.FOV=BIT09 ; KL FLOATING OVERFLOW FLAG (BIT 03)
507 000400 PC.BIS=BIT08 ; KL BYTE INCREMENT SUPPRESSION FLAG (BIT 04)
508 000200 PC.USR=BIT07 ; KL USER MODE FLAG (BIT 05)
509 000100 PC.UIO=BIT06 ; KL USER IOT MODE FLAG (BIT 06)
510 000040 PC.LIP=BIT05 ; KL LAST INSTRUCTION PUBLIC FLAG (BIT 07)
511 000020 PC.AFI=BIT04 ; KL ADDRESS FAILURE INHIBIT FLAG (BIT 08)
512 000010 PC.AT1=BIT03 ; KL APR TRAP 1 FLAG (BIT 09)
513 000004 PC.AT0=BIT02 ; KL APR TRAP 0 FLAG (BIT 10)
514 000002 PC.FUF=BIT01 ; KL FLOATING UNDERFLOW FLAG (BIT 11)
515 000001 PC.NDV=BIT00 ; KL NO DIVIDE FLAG (BIT 12)
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 14
DEFINE -- LOCAL DEFINITIONS 7709.20
517 ; DEFINE DIAGNOSTIC FUNCTION EXECUTE CODES
518
519 000000 FX.000=0
520 000000 FX.CSP=FX.000 ; STOP THE KL CLOCK
521 000002 FX.001=1*2
522 000002 FX.CST=FX.001 ; START THE KL CLOCK
523 000004 FX.002=2*2
524 000004 FX.MBC=FX.002 ; PULSE THE MBOX CLOCK
525 000006 FX.003=3*2
526 000006 FX.EBC=FX.003 ; PULSE THE EBOX CLOCK
527 000010 FX.004=4*2
528 000010 FX.SYC=FX.004 ; SYNCH THE EBOX CLOCK LOW
529 000012 FX.005=5*2
530 000012 FX.BMC=FX.005 ; BURST THE MBOX CLOCK
531 000014 FX.006=6*2
532 000014 FX.CMR=FX.006 ; CLEAR MASTER RESET STATE
533 000016 FX.007=7*2
534 000016 FX.SMR=FX.007 ; SET MASTER RESET STATE
535
536 000020 FX.010=10*2
537 000020 FX.CRF=FX.010 ; CLEAR THE KL RUN FLOP
538 000022 FX.011=11*2
539 000022 FX.SRF=FX.011 ; SET THE KL RUN FLOP
540 000024 FX.012=12*2
541 000024 FX.CON=FX.012 ; SET THE KL CONTINUE FLOP
542 000026 FX.013=13*2
543 000030 FX.014=14*2
544 000030 FX.UIR=FX.014 ; UNLATCH THE IR
545 000032 FX.015=15*2
546 000032 FX.UDR=FX.015 ; UNLATCH THE DRAM REGISTER
547 000034 FX.016=16*2
548 000036 FX.017=17*2
549
550 000040 FX.020=20*2
551 000042 FX.021=21*2
552 000044 FX.022=22*2
553 000046 FX.023=23*2
554 000050 FX.024=24*2
555 000052 FX.025=25*2
556 000054 FX.026=26*2
557 000056 FX.027=27*2
558
559 000060 FX.030=30*2
560 000062 FX.031=31*2
561 000064 FX.032=32*2
562 000066 FX.033=33*2
563 000070 FX.034=34*2
564 000072 FX.035=35*2
565 000074 FX.036=36*2
566 000076 FX.037=37*2
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 15
DEFINE -- LOCAL DEFINITIONS 7709.20
568 ; DEFINE DIAGNOSTIC FUNCTION WRITE CODES
569
570 000100 FW.040=40*2
571 000102 FW.041=41*2
572 000104 FW.042=42*2
573 000104 FW.LBR=FW.042 ; LOAD BURST COUNTER RIGHT 4 BITS
574 000106 FW.043=43*2
575 000106 FW.LBL=FW.043 ; LOAD BURST COUNTER LEFT 4 BITS
576 000110 FW.044=44*2
577 000110 FW.CSR=FW.044 ; LOAD THE KL CLOCK SOURCE AND RATE
578
579 ; CLOCK SOURCE AND RATE CODES, EBUS 32-33 AND 34-35, RESPECTIVELY,
580 ; IN LOW BYTE OF CLOCK CONTROL WORD (".CLKWD").
581
582 000000 CS.NRM=0&14 ; KL NORMAL CLOCK SOURCE (EBUS 32-33)
583 000004 CS.CS1=4&14 ; KL CLOCK SOURCE 1
584 000010 CS.CS2=10&14 ; KL CLOCK SOURCE 2
585 000004 CS.FST=4&14 ; KL FAST CLOCK SOURCE
586 000004 CS.MGN=CS.FST ; KL MARGIN CLOCK SOURCE
587 000010 CS.EXT=10&14 ; KL EXTERNAL CLOCK SOURCE
588 000014 CS.UDF=14&14 ; UNDEFINED (DEFAULT TO FAST)
589 000014 CS.ALL=CS.CS1!CS.CS2 ; CLOCK SOURCE BIT MASK
590
591 000000 CR.NRM=0&3 ; KL NORMAL CLOCK SOURCE (EBUS 34-35)
592 000001 CR.CR1=1&3 ; KL CLOCK RATE 1
593 000002 CR.CR2=2&3 ; KL CLOCK RATE 2
594 000000 CR.FUL=0&3 ; KL CLOCK FULL SPEED
595 000001 CR.HLF=1&3 ; " " HALF "
596 000002 CR.QTR=2&3 ; " " QRTR "
597 000003 CR.SLO=3&3 ; " " SLOW "
598 000003 CR.ALL=CR.CR1!CR.CR2 ; CLOCK RATE BIT MASK
599
600 000112 FW.045=45*2
601 000112 FW.CDR=FW.045 ; LOAD THE KL CLOCK DISTRIBUTION REGISTER
602
603 ; CLOCK DISTRIBUTION DISABLE CODES, EBUS 33-35 TO THE KL, ALSO IN
604 ; THE HIGH BYTE OF THE CLOCK CONTROL WORD (".CLKWD").
605
606 002000 CD.CRC=<4&7>*400 ; DISABLE CONTROL RAM CLOCKS
607 001000 CD.DPC=<2&7>*400 ; DISABLE DATA PATHS CLOCKS
608 000400 CD.CLC=<1&7>*400 ; DISABLE CONTROL LOGIC CLOCKS
609 000000 CD.NRM=<0&7>*400 ; NORMAL CLOCK ENABLES
610 003400 CD.ALL=<7&7>*400 ; CLOCK DISABLE BIT MASK
611
612 000000 CC.NRM=0 ; NORMAL CLOCK CONTROL WORD
613 003417 CC.ALL=CS.ALL!CR.ALL!CD.ALL ; CLOCK CONTROL BIT MASK
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 16
DEFINE -- LOCAL DEFINITIONS 7709.20
615 000114 FW.046=46*2
616 000114 FW.IPE=FW.046 ; LOAD INTERNAL PARITY ENABLES
617
618 ; INTERNAL KL PARITY ENABLE CODES, EBUS 32 - 35 TO THE KL,
619 ; ALSO IN LOW BYTE OF THE PARITY STOP CONTROL WORD (".PSCWD").
620
621 000010 IP.FMP=10&17 ; FAST MEMORY PARITY STOP ENABLE
622 000004 IP.CRP=4&17 ; CRAM PARITY STOP ENABLE
623 000002 IP.DRP=2&17 ; DRAM PARITY STOP ENABLE
624 000001 IP.FSS=1&17 ; FIELD SERVICE STOP ENABLE
625 000016 IP.NRM=IP.FMP!IP.CRP!IP.DRP
626 000017 IP.ALL=IP.NRM!IP.FSS
627
628 000116 FW.047=47*2
629 000116 FW.APE=FW.047 ; LOAD AR/ARX PARITY ENABLES (ET AL.)
630
631 ; INTERNAL KL PARITY STOP CODES, EBUS 32 - 35 TO KL, "AP.EIP" MUST
632 ; BE SET TO ALLOW "IP.XXX" CONDITIONS TO STOP THE KL CLOCK
633 ; MAINTAINED IN HIGH BYTE OF THE PARITY STOP CONTROL WORD (".PSCWD").
634
635 001000 AP.ARP=<2&17>*400 ; ALLOW AR/ARX PARITY TO CAUSE A
636 ; PAGE FAIL TRAP IN THE KL
637 000400 AP.EIP=<1&17>*400 ; ENABLE INTERNAL PARITY ENABLES TO
638 ; STOP THE KL CLOCK
639 001400 AP.NRM=AP.EIP!AP.ARP ; NORMAL PARITY STOP ENABLES
640
641 001416 PS.NRM=AP.NRM!IP.NRM ; NORMAL PARITY STOP CONTROL WORD
642
643 000120 FW.050=50*2
644 000122 FW.051=51*2
645 000122 FW.CA1=FW.051 ; LOAD LOW CRAM ADDRESS
646 000124 FW.052=52*2
647 000124 FW.CA2=FW.052 ; LOAD HIGH CRAM ADDRESS
648 000126 FW.053=53*2
649 000126 FW.CRD=FW.053 ; LOAD CRAM DISPATCH
650 000130 FW.054=54*2
651 000130 FW.CR4=FW.054 ; LOAD CRAM BITS 60 THRU 78
652 000132 FW.055=55*2
653 000132 FW.CR3=FW.055 ; LOAD CRAM BITS 40 THRU 59
654 000134 FW.056=56*2
655 000134 FW.CR2=FW.056 ; LOAD CRAM BITS 20 THRU 39
656 000136 FW.057=57*2
657 000136 FW.CR1=FW.057 ; LOAD CRAM BITS 00 THRU 19
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 17
DEFINE -- LOCAL DEFINITIONS 7709.20
659 000140 FW.060=60*2
660 000140 FW.DR1=FW.060 ; LOAD DRAM A AND B EVEN
661 000142 FW.061=61*2
662 000142 FW.DR2=FW.061 ; LOAD DRAM A AND B ODD
663 000144 FW.062=62*2
664 000144 FW.DR3=FW.062 ; LOAD DRAM J COMMON
665 000146 FW.063=63*2
666 000146 FW.DJE=FW.063 ; LOAD DRAM J EVEN
667 000150 FW.064=64*2
668 000150 FW.DJO=FW.064 ; LOAD DRAM J ODD
669 000152 FW.065=65*2
670 000152 FW.IOJ=FW.065 ; DISABLE SPECIAL DECODE OF I/O AND JRST
671 000154 FW.066=66*2
672 000154 FW.IAC=FW.066 ; DISABLE IR AC OUTPUTS
673 000156 FW.067=67*2
674 000156 FW.KLO=FW.067 ; ENABLE KL OPCODES AND ACS
675
676 000160 FW.070=70*2
677 000160 FW.CHN=FW.070 ; CHANNEL CONTROL FUNCTIONS
678 000162 FW.071=71*2
679 000162 FW.MBX=FW.071 ; MBOX CONTROL FUNCTIONS
680 000164 FW.072=72*2
681 000166 FW.073=73*2
682 000170 FW.074=74*2
683 000172 FW.075=75*2
684 000174 FW.076=76*2
685 000174 FW.EBL=FW.076 ; EBUS REGISTER LOAD FUNCTION
686 000174 FW.SBR=FW.076 ; SBUS RESET FUNCTION
687 000176 FW.077=77*2
688 000176 FW.LAR=FW.077 ; LOAD AR REGISTER
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 18
DEFINE -- LOCAL DEFINITIONS 7709.20
690 ; DEFINE DIAGNOSTIC FUNCTION READ CODES
691
692 000200 FR.100=100*2
693 000200 FR.PI0=FR.100 ; PI BOARD READ 0
694 000202 FR.101=101*2
695 000202 FR.PI1=FR.101 ; PI BOARD READ 1
696 000204 FR.102=102*2
697 000206 FR.103=103*2
698 000210 FR.104=104*2
699 000212 FR.105=105*2
700 000214 FR.106=106*2
701 000216 FR.107=107*2
702
703 000220 FR.110=110*2
704 000220 FR.APR=FR.110 ; APR STATUS
705 000222 FR.111=111*2
706 000224 FR.112=112*2
707 000226 FR.113=113*2
708 000230 FR.114=114*2
709 000232 FR.115=115*2
710 000234 FR.116=116*2
711 000236 FR.117=117*2
712
713 000240 FR.120=120*2
714 000240 FR.RAR=FR.120 ; ARITHMETIC REGISTER [AR 00 - 35]
715 000242 FR.121=121*2
716 000242 FR.RBR=FR.121 ; BUFFER REGISTER [BR 00 - 35]
717 000244 FR.122=122*2
718 000244 FR.RMQ=FR.122 ; MQ REGISTER [MQ 00 - 35]
719 000246 FR.123=123*2
720 000246 FR.RFM=FR.123 ; FM REGISTER [FM 00 - 35]
721 000250 FR.124=124*2
722 000250 FR.BRX=FR.124 ; BR EXTENSION REGISTER [BRX 00 - 35]
723 000252 FR.125=125*2
724 000252 FR.ARX=FR.125 ; AR EXTENSION REGISTER [ARX 00 - 35]
725 000254 FR.126=126*2
726 000254 FR.ADX=FR.126 ; AD EXTENSION REGISTER [ADX 00 - 35]
727 000256 FR.127=127*2
728 000256 FR.RAD=FR.127 ; ADDER REGISTER [AD 00 - 35]
729
730 000260 FR.130=130*2
731 000260 FR.SC2=FR.130 ; SHIFT COUNT REGISTER 2
732 000260 FR.DA1=FR.130 ; DRAM ADDR 1
733 000262 FR.131=131*2
734 000262 FR.SC1=FR.131 ; SHIFT COUNT REGISTER 1
735 000262 FR.DA2=FR.131 ; DRAM ADDR 2
736 000264 FR.132=132*2
737 000264 FR.FE2=FR.132 ; FLOATING EXPONENT REGISTER 2
738 000266 FR.133=133*2
739 000266 FR.FE1=FR.133 ; FLOATING EXPONENT REGISTER 1
740 000270 FR.134=134*2
741 000272 FR.135=135*2
742 000274 FR.136=136*2
743 000276 FR.137=137*2
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 19
DEFINE -- LOCAL DEFINITIONS 7709.20
745 000300 FR.140=140*2
746 000302 FR.141=141*2
747 000302 FR.CRD=FR.141 ; READ CRAM DISP FIELD
748 000304 FR.142=142*2
749 000304 FR.SR2=FR.142 ; CRAM SBR RET 2
750 000306 FR.143=143*2
751 000306 FR.SR1=FR.143 ; CRAM SBR RET 1
752 000310 FR.144=144*2
753 000310 FR.CA2=FR.144 ; READ CRAM ADDRESS LOW
754 000310 FR.CR4=FR.CA2 ; CRAM DATA 60 - 78
755 000312 FR.145=145*2
756 000312 FR.CA1=FR.145 ; READ CRAM ADDRESS HIGH
757 000312 FR.CR3=FR.CA1 ; CRAM DATA 40 - 59
758 000314 FR.146=146*2
759 000314 FR.CR2=FR.146 ; CRAM DATA 20 - 39
760 000314 FR.CL2=FR.CR2 ; CRAM LOC 05 - 10
761 000316 FR.147=147*2
762 000316 FR.CR1=FR.147 ; CRAM DATA 00 - 19
763 000316 FR.CL1=FR.CR1 ; CRAM LOC 00 - 04
764
765 000320 FR.150=150*2
766 000320 FR.VM0=FR.150 ; VMA REGISTER 0
767 000322 FR.151=151*2
768 000322 FR.VM1=FR.151 ; VMA REGISTER 1
769 000324 FR.152=152*2
770 000324 FR.VM2=FR.152 ; VMA REGISTER 2
771 000326 FR.153=153*2
772 000326 FR.VM3=FR.153 ; VMA REGISTER 3
773 000330 FR.154=154*2
774 000330 FR.VM4=FR.154 ; VMA REGISTER 4
775 000332 FR.155=155*2
776 000332 FR.VM5=FR.155 ; VMA REGISTER 5
777 000334 FR.156=156*2
778 000334 FR.VM6=FR.156 ; VMA REGISTER 6
779 000336 FR.157=157*2
780 000336 FR.VM7=FR.157 ; VMA REGISTER 7
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 20
DEFINE -- LOCAL DEFINITIONS 7709.20
782 000340 FR.160=160*2
783 000342 FR.161=161*2
784 000344 FR.162=162*2
785 000346 FR.163=163*2
786 000350 FR.164=164*2
787 000352 FR.165=165*2
788 000354 FR.166=166*2
789 000356 FR.167=167*2
790 000356 FR.EBS=FR.167 ; [EBUS REG 00 THRU 35]
791
792 000360 FR.170=170*2
793 000362 FR.171=171*2
794 000364 FR.172=172*2
795 000366 FR.173=173*2
796 000370 FR.174=174*2
797 000372 FR.175=175*2
798 000374 FR.176=176*2
799 000376 FR.177=177*2
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 21
DEFINE -- LOCAL DEFINITIONS 7709.20
801 ; DEFINE EVENT FLAG CODES
802
803 000001 E.FHTO=^D1 ; KL HALT TIMEOUT EVENT FLAG
804 000002 E.FCID=^D2 ; CONSOLE DEVICE INPUT DONE EVENT FLAG
805 000003 E.FCOD=^D3 ; CONSOLE DEVICE OUTPUT DONE EVENT FLAG
806 000004 E.FKLN=^D4 ; KLINIK EVENT LOG DONE FLAG
807 000005 E.FLOD=^D5 ; LIST DEVICE OUTPUT DONE FLAG
808 000006 E.FFIL=^D6 ; FILE I/O DONE FLAG
809
810 ; DEFINE LOCAL OFFSETS FOR "QIOW$" DPBS
811
812 000014 Q.IOPL=14 ; **TEMPORARY**
813 000014 Q.IBUF=Q.IOPL ; INPUT BUFFER ADDRESS
814 000014 Q.OBUF=Q.IOPL ; OUTPUT BUFFER ADDRESS
815 000016 Q.BYCT=Q.IOPL+2 ; BUFFER BYTE COUNT (INPUT AND OUTPUT)
816 000020 Q.OVFC=Q.IOPL+4 ; OUTPUT CARRIAGE CONTROL CHARACTER
817
818 ; DEFINE THE LOGICAL UNIT NUMBERS
819
820 000001 CIDLUN=1 ; CONSOLE INPUT DEVICE LUN
821 000002 CODLUN=2 ; CONSOLE OUTPUT DEVICE LUN
822 000003 LSTLUN=3 ; LIST DEVICE LUN
823 000004 LOGLUN=4 ; LOG DEVICE LUN
824 000005 INDLUN=5 ; INDIRECT COMMAND FILE LUN
825
826 ; DEFINE THE VERTICAL FORMAT CODES FOR "QIOW$"
827
828 000000 VF.INT=000 ; <NULL> INTERNAL FORMAT CONTROL
829 000040 VF.SSP=040 ; <SPACE> SINGLE SPACE ALL LINES
830 000060 VF.DSP=060 ; "0" DOUBLE SPACE ALL LINES
831 000061 VF.FFD=061 ; "1" FORM FEED BEFORE OUTPUT
832 000053 VF.OVR=053 ; "+" OVER PRINT THE LINE
833 000044 VF.PRM=044 ; "$" PRINT LINE AS A PROMPT
834
835 ; DEFINE SOME SPECIAL CHARACTERS
836
837 000054 .COMMA=54 ; COMMA
838 000040 .SPACE=40 ; SPACE
839 000033 .ATLMD=33 ; ALT-MODE
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 22
DEFINE -- LOCAL DEFINITIONS 7709.20
841 ; DEFINE THE BITS IN THE CHARACTER PROPERTY TABLE ".CHTAB" (Q.V.)
842
843 000000 CH.NUL=0 ; CHARACTER IS NULL
844 000001 CH.ALP=BIT00 ; CHARACTER IS ALPHABETIC
845 000002 CH.NUM=BIT01 ; CHARACTER IS NUMERIC
846 000004 CH.EOL=BIT02 ; CHARACTER MAY END A LINE
847 000010 CH.EOC=BIT03 ; CHARACTER MAY END A COMMAND
848 000020 CH.EOS=BIT04 ; CHARACTER MAY END A SYMBOL
849 000040 CH.PFX=BIT05 ; CHARACTER MAY PREFIX A SYMBOL
850 000100 CH.AOP=BIT06 ; CHARACTER IS AN ARITHMETIC OPERATOR
851 000200 CH.ILL=BIT07 ; CHARACTER IS ILLEGAL
852 000034 CH.END=CH.EOL!CH.EOC!CH.EOS ; CHARACTER IS AN END CHARACTER
853 000003 CH.ANM=CH.ALP!CH.NUM ; CHARACTER IS ALPHANUMERIC
854
855 ; DEFINE THE LEGAL BITS IN THE COMMAND TABLES (Q.V.)
856
857 000000 LG.NUL=0 ; NULL
858 000001 LG.OPR=BIT00 ; COMMAND IS LEGAL IN OPERATOR MODE
859 000002 LG.PRG=BIT01 ; COMMAND IS LEGAL IN PROGRAMMER MODE
860 000004 LG.MNT=BIT02 ; COMMAND IS LEGAL IN MAINTENANACE MODE
861 000010 LG.ARG=BIT03 ; COMMAND MAY ACCEPT ARGUMENTS
862 000020 LG.MAR=BIT04 ; COMMAND MAY ACCEPT MULTIPLE ARGUMENTS
863 000040 LG.MOD=BIT05 ; COMMAND MAY ACCEPT MODIFIERS
864 000100 LG.RNG=BIT06 ; COMMAND MAY ACCEPT RANGE ARGUMENTS
865 000200 LG.STR=BIT07 ; COMMAND MAY ACCEPT STRING ARGUMENTS
866 000400 LG.RPT=BIT08 ; COMMAND MAY BE REPEATED
867 000003 LG.PRM=LG.OPR!LG.PRG ; INSURE COMMAND IS LEGAL IN BOTH MODES
868 000007 LG.ALL=LG.PRM!LG.MNT ; INSURE COMMAND IS LEGAL IN ALL MODES
869
870 ; DEFINE THE TRAP STATUS CODES
871
872 000002 TC.CTC=2 ; CONTROL-C TRAP, ABORT, RESTART, AND RETURN
873 000001 TC.RST=1 ; ABORT PROCESS AND RESTART THE KL
874 000000 TC.ERR=0 ; ABORT PROCESS AND RETURN TO PARSER
875 000377 TC.CON=377 ; REPORT ERROR AND ATTEMPT RECOVERY
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 23
DEFINE -- LOCAL DEFINITIONS 7709.20
877 ; DEFINE KL OPCODES
878
879 000270 ADD=270 ; ADD
880 000273 ADDB=273 ; ADD TO BOTH
881 000271 ADDI=271 ; ADD IMMEDIATE
882 000272 ADDM=272 ; ADD TO MEMORY
883 ;
884 000404 AND=404 ; AND
885 000407 ANDB=407 ; AND TO BOTH
886 000410 ANDCA=410 ; AND COMPLEMENT OF AC
887 000413 ANDCAB=413 ; AND COMPLEMENT OF AC TO BOTH
888 000411 ANDCAI=411 ; AND COMPLEMENT OF AC IMMEDIATE
889 000412 ANDCAM=412 ; AND COMPLEMENT OF AC TO MEMORY
890 000440 ANDCB=440 ; AND COMPLEMENT OF BOTH
891 000443 ANDCBB=443 ; AND COMPLEMENT OF BOTH TO BOTH
892 000441 ANDCBI=441 ; AND COMPLEMENT OF BOTH IMMEDIATE
893 000442 ANDCBM=442 ; AND COMPLEMENT OF BOTH TO MEMORY
894 000420 ANDCM=420 ; AND COMPLEMENT OF MEMORY
895 000423 ANDCMB=423 ; AND COMPLEMENT OF MEMORY TO BOTH
896 000421 ANDCMI=421 ; AND COMPLEMENT OF MEMORY IMMEDIATE
897 000422 ANDCMM=422 ; AND COMPLEMENT OF MEMORY TO MEMORY
898 000405 ANDI=405 ; AND IMMEDIATE
899 000406 ANDM=406 ; AND TO MEMORY
900 ;
901 000253 AOBJN=253 ; ADD 1 TO BOTH HALVES, JUMP IF NEGATIVE
902 000252 AOBJP=252 ; ADD 1 TO BOTH HALVES, JUMP IF POSITIVE
903 ;
904 000340 AOJ=340 ; ADD 1 AND (DON'T) JUMP
905 000344 AOJA=344 ; ADD 1 AND JUMP ALWAYS
906 000342 AOJE=342 ; ADD 1 AND JUMP IF .EQ. 0
907 000347 AOJG=347 ; ADD 1 AND JUMP IF .GT. 0
908 000345 AOJGE=345 ; ADD 1 AND JUMP IF .GE. 0
909 000341 AOJL=341 ; ADD 1 AND JUMP IF .LT. 0
910 000343 AOJLE=343 ; ADD 1 AND JUMP IF .LE. 0
911 000346 AOJN=346 ; ADD 1 AND JUMP IF .NE. 0
912 ;
913 000350 AOS=350 ; ADD 1 AND (DON'T) SKIP
914 000354 AOSA=354 ; ADD 1 AND SKIP ALWAYS
915 000352 AOSE=352 ; ADD 1 AND SKIP IF .EQ. 0
916 000357 AOSG=357 ; ADD 1 AND SKIP IF .GT. 0
917 000355 AOSGE=355 ; ADD 1 AND SKIP IF .GT. 0
918 000351 AOSL=351 ; ADD 1 AND SKIP IF .LT. 0
919 000353 AOSLE=353 ; ADD 1 AND SKIP IF .LE. 0
920 000356 AOSN=356 ; ADD 1 AND SKIP IF .NE. 0
921 ;
922 000240 ASH=240 ; ARITHMETIC SHIFT
923 000244 ASHC=244 ; ARITHMETIC SHIFT COMBINED
924 ;
925 000251 BLT=251 ; BLOCK TRANSFER
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 24
DEFINE -- LOCAL DEFINITIONS 7709.20
927 000300 CAI=300 ; COMPARE AC IMMEDIATE, DON'T SKIP
928 000304 CAIA=304 ; COMPARE AC IMMEDIATE, SKIP ALWAYS
929 000302 CAIE=302 ; COMPARE AC IMMEDIATE, SKIP IF .EQ.
930 000307 CAIG=307 ; COMPARE AC IMMEDIATE, SKIP IF .GT.
931 000305 CAIGE=305 ; COMPARE AC IMMDEIATE, SKIP IF .GE.
932 000301 CAIL=301 ; COMAPRE AC IMMEDIATE, SKIP IF .LT.
933 000303 CAILE=303 ; COMPARE AC IMMEDIATE, SKIP IF .LE.
934 000306 CAIN=306 ; COMPARE AC IMMEDIATE, SKIP IF .NE.
935 ;
936 000040 CALL=040 ; "CALL" UUO
937 000047 CALLI=047 ; "CALLI" UUO
938 ;
939 000310 CAM=310 ; COMPARE AC TO MEMORY, DON'T SKIP
940 000314 CAMA=314 ; COMPARE AC TO MEMORY, ALWAYS SKIP
941 000312 CAME=312 ; COMPARE AC TO MEMORY, SKIP IF .EQ.
942 000317 CAMG=317 ; COMPARE AC TO MEMORY, SKIP IF .GT.
943 000315 CAMGE=315 ; COMPARE AC TO MEMORY, SKIP IF .GE.
944 000311 CAML=311 ; COMPARE AC TO MEMORY, SKIP IF .LT.
945 000313 CAMLE=313 ; COMPARE AC TO MEMORY, SKIP IF .LE.
946 000316 CAMN=316 ; COMPARE AC TO MEMORY, SKIP IF .NE.
947 ;
948 000400 CLEAR=400 ; CLEAR AC
949 000403 CLEARB=403 ; CLEAR BOTH
950 000401 CLEARI=401 ; CLEAR IMMEDIATE
951 000402 CLEARM=402 ; CLEAR MEMORY
952 ;
953 000070 CLOSE=070 ; "CLOSE" UUO
954 ;
955 000110 DFAD=110 ; DOUBLE FLOATING ADD
956 000113 DFDV=113 ; DOUBLE FLOATING DIVIDE
957 000112 DFMP=112 ; DOUBLE FLOATING MULTIPLY
958 000131 DFN=131 ; DOUBLE FLOATING NEGATE
959 000111 DFSB=111 ; DOUBLE FLOATING SUBTRACT
960 ;
961 000234 DIV=234 ; DIVIDE
962 000237 DIVB=237 ; DIVIDE BOTH
963 000235 DIVI=235 ; DIVIDE IMMEDIATE
964 000236 DIVM=236 ; DIVIDE MEMORY
965 ;
966 000120 DMOVE=120 ; DOUBLE MOVE
967 000124 DMOVEM=124 ; DOUBLE MOVE TO MEMORY
968 000121 DMOVN=121 ; DOUBLE MOVE NEGATED
969 000125 DMOVNM=125 ; DOUBLE MOVE NEGATED TO MEMORY
970 ;
971 000137 DPB=137 ; DEPOSIT BYTE
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 25
DEFINE -- LOCAL DEFINITIONS 7709.20
973 000077 ENTER=077 ; "ENTER" UUO
974 ;
975 000444 EQV=444 ; EQUIVALENCE TO AC
976 000447 EQVB=447 ; EQUIVALENCE TO BOTH
977 000445 EQVI=445 ; EQUIVALENCE IMMEDIATE
978 000446 EQVM=446 ; EQUIVALENCE TO MEMORY
979 ;
980 000250 EXCH=250 ; EXCHANGE
981 000123 EXTEND=123 ; EXTEND
982 ;
983 000140 FAD=140 ; FLOATING ADD
984 000143 FADB=143 ; FLOATING ADD BOTH
985 000141 FADL=141 ; FLOATING ADD LONG
986 000142 FADM=142 ; FLOATING ADD MEMORY
987 ;
988 000144 FADR=144 ; FLOATING ADD, ROUNDED
989 000147 FADRB=147 ; FLOATING ADD, ROUNDED TO BOTH
990 000145 FADRI=145 ; FLOATING ADD, ROUNDED IMMEDIATE
991 000146 FADRM=146 ; FLOATING ADD, ROUNDED TO MEMORY
992 ;
993 000170 FDV=170 ; FLOATING DIVIDE
994 000173 FDVB=173 ; FLOATING DIVIDE TO BOTH
995 000171 FDVL=171 ; FLOATING DIVIDE LONG
996 000172 FDVM=172 ; FLOATING DIVIDE TO MEMORY
997 ;
998 000174 FDVR=174 ; FLOATING DIVIDE, ROUNDED
999 000177 FDVRB=177 ; FLOATING DIVIDE, ROUNDED TO BOTH
1000 000175 FDVRI=175 ; FLOATING DIVIDE, ROUNDED IMMMEDIATE
1001 000176 FDVRM=176 ; FLOATING DIVIDE, ROUNDED TO MEMORY
1002 ;
1003 000122 FIX=122 ; FIX
1004 000126 FIXR=126 ; FIX AND ROUND
1005 ;
1006 000127 FLTR=127 ; FLOAT AND ROUND
1007 ;
1008 000160 FMP=160 ; FLOATING MULTIPLY
1009 000163 FMPB=163 ; FLOATING MULTIPLY TO BOTH
1010 000161 FMPL=161 ; FLOATING MULTIPLY LONG
1011 000162 FMPM=162 ; FLOATING MULTIPLY TO MEMORY
1012 ;
1013 000164 FMPR=164 ; FLOATING MUTIPLY ROUNDED
1014 000167 FMPRB=167 ; FLOATING MULTIPLY ROUNDED, TO BOTH
1015 000165 FMPRI=165 ; FLOATING MULTIPLY ROUNDED, IMMEDIATE
1016 000166 FMPRM=166 ; FLOATING MULTIPLY ROUNDED, TO MEMORY
1017 ;
1018 000150 FSB=150 ; FLOATING SUBTRACT
1019 000153 FSBB=153 ; FLOATING SUBTRACT TO BOTH
1020 000151 FSBL=151 ; FLOATING SUBTRACT LONG
1021 000152 FSBM=152 ; FLOATING SUBTRACT TO MEMORY
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 26
DEFINE -- LOCAL DEFINITIONS 7709.20
1023 000154 FSBR=154 ; FLOATING SUBTRACT ROUNDED
1024 000157 FSBRB=157 ; FLOATING SUBTRACT ROUNDED, TO BOTH
1025 000155 FSBRI=155 ; FLOATING SUBTRACT ROUNDED, IMMEDIATE
1026 000156 FSBRM=156 ; FLOATING SUBTRACT ROUNDED, TO MEMORY
1027 ;
1028 000132 FSC=132 ; FLOATING SCALE
1029 ;
1030 000062 GETSTS=062 ; "GETSTS" UUO
1031 ;
1032 000500 HLL=500 ; HALFWORD LEFT TO LEFT
1033 000530 HLLE=530 ; " " " " EXTEND
1034 000531 HLLEI=531 ; " " " " " IMMEDIATE
1035 000532 HLLEM=532 ; " " " " " TO MEMORY
1036 000533 HLLES=533 ; " " " " " TO SELF
1037 ;
1038 000501 HLLI=501 ; HALFWORD LEFT TO LEFT IMMEDIATE
1039 000502 HLLM=502 ; " " " " TO MEMORY
1040 ;
1041 000520 HLLO=520 ; " " " " ONES
1042 000521 HLLOI=521 ; " " " " " IMMEDIATE
1043 000522 HLLOM=522 ; " " " " " MEMORY
1044 000523 HLLOS=523 ; " " " " " SELF
1045 ;
1046 000503 HLLS=503 ; HALFWORD LEFT TO LEFT SELF
1047 ;
1048 000510 HLLZ=510 ; HALFWORD LEFT TO LEFT ZERO, ET AL.
1049 000511 HLLZI=511
1050 000512 HLLZM=512
1051 000513 HLLZS=513
1052 ;
1053 000544 HLR=544 ; HALFWORD LEFT TO RIGHT
1054 ;
1055 000574 HLRE=574 ; HALFWORD LEFT TO RIGHT EXTEND, ET AL.
1056 000575 HLREI=575
1057 000576 HLREM=576
1058 000577 HLRES=577
1059 ;
1060 000564 HLRO=564 ; HALFWORD LEFT TO RIGHT ONES, ET AL.
1061 000565 HLROI=565
1062 000566 HLROM=566
1063 000567 HLROS=567
1064 ;
1065 000547 HLRS=547 ; HALFWORD LEFT TO RIGHT SELF
1066 ;
1067 000554 HLRZ=554 ; HALFWORD LEFT TO RIGHT ZEROS, ET AL.
1068 000555 HLRZI=555
1069 000556 HLRZM=556
1070 000557 HLRZS=557
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 27
DEFINE -- LOCAL DEFINITIONS 7709.20
1072 000504 HRL=504 ; HALFWORD RIGHT TO LEFT
1073 ;
1074 000534 HRLE=534 ; HALFWORD RIGHT TO LEFT EXTEND, ET AL.
1075 000535 HRLEI=535
1076 000536 HRLEM=536
1077 000537 HRLES=537
1078 ;
1079 000505 HRLI=505 ; HALFWORD RIGHT TO LEFT IMMEDIATE
1080 000506 HRLM=506 ; " " " " MEMORY
1081 ;
1082 000564 HRLO=564 ; HALFWORD RIGHT TO LEFT ONES, ET AL.
1083 000565 HRLOI=565
1084 000566 HRLOM=566
1085 000567 HRLOS=567
1086 ;
1087 000507 HRLS=507 ; HALFWORD RIGHT TO LEFT SELF
1088 ;
1089 000514 HRLZ=514 ; HALFWORD RIGHT TO LEFT ZERO, ET AL.
1090 000515 HRLZI=515
1091 000516 HRLZM=516
1092 000517 HRLZS=517
1093 ;
1094 000540 HRR=540 ; HALFWORD RIGHT TO RIGHT
1095 ;
1096 000570 HRRE=570 ; HALFWORD RIGHT TO RIGHT EXTEND, ET AL.
1097 000571 HRREI=571
1098 000572 HRREM=572
1099 000573 HRRES=573
1100 ;
1101 000541 HRRI=541 ; HALFWORD RIGHT TO RIGHT IMMEDIATE
1102 000542 HRRM=542 ; " " " " MEMORY
1103 ;
1104 000560 HRRO=560 ; HALFWORD RIGHT TO RIGHT ONES, ET AL.
1105 000561 HRROI=561
1106 000562 HRROM=562
1107 000563 HRROS=563
1108 ;
1109 000543 HRRS=543
1110 ;
1111 000550 HRRZ=550 ; HALFWORD RIGHT TO RIGHT ZERO, ET AL.
1112 000551 HRRZI=551
1113 000552 HRRZM=552
1114 000553 HRRZS=553
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 28
DEFINE -- LOCAL DEFINITIONS 7709.20
1116 000133 IBP=133 ; INCREMENT BYTE POINTER
1117 ;
1118 000230 IDIV=230 ; INTEGER DIVIDE
1119 000233 IDIVB=233 ; " " BOTH
1120 000231 IDIVI=231 ; " " IMMEDIATE
1121 000232 IDIVM=232 ; " " MEMORY
1122 ;
1123 000136 IDPB=136 ; INCREMENT AND DEPOSIT BYTE
1124 ;
1125 000134 ILDB=134 ; DECREMENT AND LOAD BYTE
1126 ;
1127 000220 IMUL=220 ; INTEGER MULTIPLY
1128 000223 IMULB=223 ; " " BOTH
1129 000221 IMULI=221 ; " " IMMEDIATE
1130 000222 IMULM=222 ; " " MEMORY
1131 ;
1132 000056 IN=056 ; "IN" UUO
1133 000064 INBUF=064 ; "INBUF" UUO
1134 000041 INIT=041 ; "INIT" UUO
1135 000066 INPUT=066 ; "INPUT" UUO
1136 ;
1137 000434 IOR=434 ; INCLUSIVE OR, ET AL.
1138 000437 IORB=437
1139 000435 IORI=435
1140 000436 IORM=436
1141 ;
1142 000255 JFCL=255 ; JUMP ON FLAGS AND CLEAR
1143 ;
1144 000243 JFFO=243 ; JUMP IF FOUND FIRST 1
1145 ;
1146 000267 JRA=267 ; JUMP AND RESTORE AC
1147 ;
1148 000254 JRST=254 ; JUMP AND RESTORE (PC FLAGS)
1149 ;
1150 000266 JSA=266 ; JUMP AND SAVE AC
1151 ;
1152 000265 JSP=265 ; JUMP AND SAVE PC
1153 ;
1154 000264 JSR=264 ; JUMP TO SUBROUTINE
1155 ;
1156 000104 JSYS=104 ; JSYS CALL
1157 ;
1158 000320 JUMP=320 ; JUMP (NEVER)
1159 000324 JUMPA=324 ; JUMP ALWAYS
1160 000322 JUMPE=322 ; JUMP IF AC .EQ. 0
1161 000327 JUMPG=327 ; JUMP IF AC .GT. 0
1162 000325 JUMPGE=325 ; JUMP IF AC .GE. 0
1163 000321 JUMPL=321 ; JUMP IF AC .LT. 0
1164 000323 JUMPLE=323 ; JUMP IF AC .LE. 0
1165 000326 JUMPN=326 ; JUMP IF AC .NE. 0
1166 ;
1167 000700 KLIOT=700 ; KL I/O INSTRUCTION BASE
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 29
DEFINE -- LOCAL DEFINITIONS 7709.20
1169 000135 LDB=135 ; LOAD BYTE
1170 ;
1171 000076 LOOKUP=076 ; "LOOKUP" UUO
1172 ;
1173 000242 LSH=242 ; LOGICAL SHIFT
1174 000246 LSHC=246 ; LOGICAL SHIFT COMBINED
1175 ;
1176 000257 MAP=257 ; MAP PAGED ADDRESS
1177 ;
1178 000200 MOVE=200 ; MOVE
1179 000201 MOVEI=201 ; MOVE IMMEDIATE
1180 000202 MOVEM=202 ; MOVE TO MEMORY
1181 000203 MOVES=203 ; MOVE TO SELF
1182 ;
1183 000214 MOVM=214 ; MOVE MAGNITUDE, ET AL.
1184 000215 MOVMI=215
1185 000216 MOVMM=216
1186 000217 MOVMS=217
1187 ;
1188 000210 MOVN=210 ; MOVE NEGATED, ET AL.
1189 000211 MOVNI=211
1190 000212 MOVNM=212
1191 000213 MOVNS=213
1192 ;
1193 000204 MOVS=204 ; MOVE SWAPPED, ET AL.
1194 000205 MOVSI=205
1195 000206 MOVSM=206
1196 000207 MOVSS=207
1197 ;
1198 000224 MUL=224 ; MULTIPLY
1199 000227 MULB=227 ; MULTIPLY BOTH
1200 000225 MULI=225 ; MULTIPLY IMMEDIATE
1201 000226 MULM=226 ; MULTIPLY MEMORY
1202 ;
1203 000050 OPEN=050 ; "OPEN" UUO
1204 ;
1205 000434 OR=IOR ; (INCLUSIVE) OR, ET AL.
1206 000437 ORB=IORB
1207 ;
1208 000454 ORCA=454 ; OR WITH COMPLEMENT OF AC
1209 000457 ORCAB=457 ; " " " " " BOTH
1210 000455 ORCAI=455 ; " " " " " IMMEDIATE
1211 000456 ORCAM=456 ; " " " " " MEMORY
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 30
DEFINE -- LOCAL DEFINITIONS 7709.20
1213 000470 ORCB=470 ; OR WITH COMPLEMENT OF BOTH, ET AL.
1214 000473 ORCBB=473
1215 000471 ORCBI=471
1216 000472 ORCBM=472
1217 ;
1218 000464 ORCM=464 ; OR WITH COMPLEMENT OF MEMORY, ET AL.
1219 000467 ORCMB=467
1220 000465 ORCMI=465
1221 000466 ORCMM=466
1222 ;
1223 000435 ORI=IORI ; (INCLUSIVE) OR, ET AL.
1224 000436 ORM=IORM
1225 ;
1226 000057 OUT=057 ; "OUT" UUO
1227 000065 OUTBUF=065 ; "OUTBUF" UUO
1228 000067 OUTPUT=067 ; "OUTPUT" UUO
1229 ;
1230 000262 POP=262 ; POP
1231 000263 POPJ=263 ; POP (RETURN) AND JUMP
1232 ;
1233 000261 PUSH=261 ; PUSH
1234 000260 PUSHJ=260 ; PUSH (RETURN) AND JUMP
1235 ;
1236 000071 RELEAS=071 ; "RELEAS(E)" UUO
1237 000055 RENAME=055 ; "RENAME" UUO
1238 ;
1239 000241 ROT=241 ; ROTATE
1240 000245 ROTC=245 ; ROTATE COMBINED
1241 ;
1242 000424 SETA=424 ; SET TO AC
1243 000427 SETAB=427 ; " " " BOTH
1244 000425 SETAI=425 ; " " " IMMEDIATE
1245 000426 SETAM=426 ; " " " MEMORY
1246 ;
1247 000450 SETCA=450 ; SET TO COMPLEMENT OF AC, ET AL.
1248 000453 SETCAB=453
1249 000451 SETCAI=451
1250 000452 SETCAM=452
1251 ;
1252 000460 SETCM=460 ; SET TO COMLEMENT OF MEMORY, ET AL.
1253 000463 SETCMB=463
1254 000461 SETCMI=461
1255 000462 SETCMM=462
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 31
DEFINE -- LOCAL DEFINITIONS 7709.20
1257 000414 SETM=414 ; SET TO MEMORY, ET AL
1258 000417 SETMB=417
1259 000415 SETMI=415
1260 000416 SETMM=416
1261 ;
1262 000474 SETO=474 ; SET TO ONES, ET AL.
1263 000477 SETOB=477
1264 000475 SETOI=475
1265 000476 SETOM=476
1266 ;
1267 000060 SETSTS=060 ; "SETSTS" UUO
1268 ;
1269 000400 SETZ=400 ; SET TO ZEROS, ET AL
1270 000403 SETZB=403
1271 000401 SETZI=401
1272 000402 SETZM=402
1273 ;
1274 000330 SKIP=330 ; SKIP (NEVER)
1275 000334 SKIPA=334 ; SKIP ALWAYS
1276 000332 SKIPE=332 ; SKIP IF MEMORY .EQ. 0
1277 000337 SKIPG=337 ; SKIP IF MEMORY .GT. 0
1278 000335 SKIPGE=335 ; SKIP IF MEMORY .GE. 0
1279 000331 SKIPL=331 ; SKIP IF MEMORY .LT. 0
1280 000333 SKIPLE=333 ; SKIP OF MEMORY .LE. 0
1281 000336 SKIPN=336 ; SKIP IF MEMORY .NE. 0
1282 ;
1283 000360 SOJ=360 ; SUBTRACT 1 AND NEVER JUMP
1284 000364 SOJA=364 ; SUBTRACT 1 (FROM AC) AND ALWAYS JUMP
1285 000362 SOJE=362 ; SUBTRACT 1 AND JUMP IF AC .EQ. 0
1286 000367 SOJG=367 ; SUBTRACT 1 AND JUMP IF AC .GT. 0
1287 000365 SOJGE=365 ; SUBTRACT 1 AND JUMP IF AC .GE. 0
1288 000361 SOJL=361 ; SUBTRACT 1 AND JUMP IF AC .LT. 0
1289 000363 SOJLE=363 ; SUBTRACT 1 AND JUMP IF AC .LE. 0
1290 000366 SOJN=366 ; SUBTRACT 1 AND JUMP IF AC .NE. 0
1291 ;
1292 000370 SOS=370 ; SUBTRACT 1 (FROM MEMORY) AND NEVER SKIP
1293 000374 SOSA=374 ; SUBTRACT 1 AND ALWAYS SKIP
1294 000372 SOSE=372 ; SUBTRACT 1 AND SKIP IF .EQ. 0
1295 000377 SOSG=377 ; SUBTRACT 1 AND SKIP IF .GT. 0
1296 000375 SOSGE=375 ; SUBTRACT 1 AND SKIP IF .GE. 0
1297 000371 SOSL=371 ; SUBTRACT 1 AND SKIP IF .LT. 0
1298 000373 SOSLE=373 ; SUBTRACT 1 AND SKIP IF .LE. 0
1299 000376 SOSN=376 ; SUBTRACT 1 AND SKIP IF .NE. 0
1300 ;
1301 000061 STATO=061 ; "STATO" UUO
1302 000062 STATUS=062 ; "STATUS" UUO
1303 000063 STATZ=063 ; "STATZ" UUO
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 32
DEFINE -- LOCAL DEFINITIONS 7709.20
1305 000274 SUB=274 ; SUBTRACT
1306 000277 SUBB=277 ; SUBTRACT BOTH
1307 000275 SUBI=275 ; SUBTRACT IMMEDIATE
1308 000276 SUBM=276 ; SUBTRACT MEMORY
1309 ;
1310 000106 SXCT=106 ; SECTION EXECUTE
1311 ;
1312 000650 TDC=650 ; TEST DIRECT COMPLEMENT NEVER SKIP
1313 000654 TDCA=654 ; " " " SKIP ALWAYS
1314 000652 TDCE=652 ; " " " " ON ZERO
1315 000656 TDCN=656 ; " " " " ON NON-ZERO
1316 ;
1317 000610 TDN=610 ; TEST DIRECT NO MODIFICATION, ET AL.
1318 000614 TDNA=614
1319 000612 TDNE=612
1320 000616 TDNN=616
1321 ;
1322 000670 TDO=670 ; TEST DIRECT ONES, ET AL.
1323 000674 TDOA=674
1324 000672 TDOE=672
1325 000676 TDON=676
1326 ;
1327 000630 TDZ=630 ; TEST DIRECT ZEROS, ET AL.
1328 000634 TDZA=634
1329 000632 TDZE=632
1330 000636 TDZN=636
1331 ;
1332 000641 TLC=641 ; TEST LEFT COMPLEMENT, ET AL.
1333 000645 TLCA=645
1334 000643 TLCE=643
1335 000647 TLCN=647
1336 ;
1337 000601 TLN=601 ; TEST LEFT NO MODIFICATION, ET AL.
1338 000605 TLNA=605
1339 000603 TLNE=603
1340 000607 TLNN=607
1341 ;
1342 000661 TLO=661 ; TEST LEFT ONES, ET AL.
1343 000665 TLOA=665
1344 000663 TLOE=663
1345 000667 TLON=667
1346 ;
1347 000621 TLZ=621 ; TEST LEFT ZEROS, ET AL.
1348 000625 TLZA=625
1349 000623 TLZE=623
1350 000627 TLZN=627
1351 ;
1352 000640 TRC=640 ; TEST RIGHT COMPLEMENT, ET AL.
1353 000644 TRCA=644
1354 000642 TRCE=642
1355 000646 TRCN=646
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:31 Page 33
DEFINE -- LOCAL DEFINITIONS 7709.20
1357 000600 TRN=600 ; TEST RIGHT NO MODIFICATION, ET AL.
1358 000604 TRNA=604
1359 000602 TRNE=602
1360 000606 TRNN=606
1361 ;
1362 000660 TRO=660 ; TEST RIGHT ONES, ET AL.
1363 000664 TROA=664
1364 000662 TROE=662
1365 000666 TRON=666
1366 ;
1367 000620 TRZ=620 ; TEST RIGHT ZEROS, ET AL.
1368 000624 TRZA=624
1369 000622 TRZE=622
1370 000626 TRZN=626
1371 ;
1372 000651 TSC=651 ; TEST SWAPPED COMLEMENT, ET AL.
1373 000655 TSCA=655
1374 000653 TSCE=653
1375 000657 TSCN=657
1376 ;
1377 000611 TSN=611 ; TEST SWAPPED NO MODIFICATION, ET AL.
1378 000615 TSNA=615
1379 000613 TSNE=613
1380 000617 TSNN=617
1381 ;
1382 000671 TSO=671 ; TEST SWAPPED ONES, ET AL.
1383 000675 TSOA=675
1384 000673 TSOE=673
1385 000677 TSON=677
1386 ;
1387 000631 TSZ=631 ; TEST SWAPPED ZEROS, ET AL.
1388 000635 TSZA=635
1389 000633 TSZE=633
1390 000637 TSZN=637
1391 ;
1392 000051 TTCALL=051 ; "TTCALL" UUO
1393 ;
1394 000073 UGETF=073 ; "UGETF" UUO
1395 ;
1396 000100 UJEN=100 ; "UJEN" CALL
1397 ;
1398 000074 USETI=074 ; "USETI" UUO
1399 000075 USETO=075 ; "USETO" UUO
1400 ;
1401 000256 XCT=256 ; EXECUTE
1402 ;
1403 000430 XOR=430 ; EXCLUSIVE OR, ET AL.
1404 000433 XORB=433
1405 000431 XORI=431
1406 000432 XORM=432
1407
1408 .SBTTL COPYRIGHT PAGE
1409
1411 .TITLE DATAB -- COMMAND PARSER DATA BASE 7709.20
1412
1413 .IDENT "007030"
1414
DATAB -- COMMAND PARSER DATA B MACRO V05.04 Tuesday 17-May-88 14:31 Page 33-1
COPYRIGHT PAGE
1415 ;
1416 ; COPYRIGHT (C) 1975, 1984, 1985 BY
1417 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
1418 ; ALL RIGHTS RESERVED.
1419 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
1420 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
1421 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
1422 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
1423 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
1424 ;
1425 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
1426 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
1427 ; CORPORATION.
1428 ;
1429 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
1430 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
1431 ;
1432 ; MODULE: COMMAND PARSER DATA BASE
1433 ;
1434 ; VERSION: 06-13
1435 ;
1436 ; AUTHOR: R. BELANGER
1437 ;
1438 ; DATE: 7709.20
1439 ;
1440 ; THIS MODULE CONTAINS:
1441 ;
1442 ; 1) THE IMPURE DATA BASE FOR THE COMMAND PARSER
1443 ;
1444 ; EDIT HISTORY
1445 ;
1446 ;20-Jun-83 TCO 6.1675 D. Weaver
1447 ; Add storage for SAVE AC-BLOCK command.
1448 ;
DATAB -- COMMAND PARSER DATA B MACRO V05.04 Tuesday 17-May-88 14:31 Page 34
COPYRIGHT PAGE
1450 .MACRO PARVR$ KEY,FRM,VER,EDT,NUM
1451 .IF B,NUM
1452 .IF NB,FRM
1453 PARVR$ \KEY,\FRM,\VER,\EDT,0
1454 .IFF
1455 PARVR$ \KEY,200,\VER,\EDT,0
1456 .ENDC
1457 .MEXIT
1458 .IFF
1459 .IF GE,VER-10
1460 .IF GE,EDT-10
1461 .ASCIZ <KEY><FRM>\'VER'-'EDT'\<200>
1462 .IFF
1463 .ASCIZ <KEY><FRM>\'VER'-0'EDT'\<200>
1464 .ENDC
1465 .IFF
1466 .IF GE,EDT-10
1467 .ASCIZ <KEY><FRM>\0'VER'-'EDT'\<200>
1468 .IFF
1469 .ASCIZ <KEY><FRM>\0'VER'-0'EDT'\<200>
1470 .ENDC
1471 .ENDC
1472 .ENDC
1473 .ENDM PARVR$
DATAB -- COMMAND PARSER DATA B MACRO V05.04 Tuesday 17-May-88 14:31 Page 35
DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
1475 .SBTTL DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
1476
1477 ; COMMAND PARSER VARIABLES ARE MAINTAINED IN THIS AREA
1478
1479 000000 .PSECT DATA
1480
1481 000000 .ACBLK::
1482 000000 000000 .WORD 0 ; [6.1675] STORAGE FOR SAVE/RESTORE AC-BLOCK
1483 000002 .APRWD::
1484 000002 000000 .WORD 0 ; KL APR ERROR STATUS WORD
1485 000004 .CCMDN::
1486 000004 000021' .WORD PARNAM ; POINTER TO CURRENT COMMAND NAME
1487 000006 .CISTS::
1488 000006 000000 000000 .WORD 0,0 ; I/O STATUS BLOCK FOR CONSOLE INPUT
1489 000012 .CLKWD::
1490 000012 100000 .WORD BIT15 ; KL CLOCK CONTROL WORD
1491 000014 .COSTS::
1492 000014 000000 000000 .WORD 0,0 ; I/O STATUS BLOCK FOR CONSOLE OUTPUT
1493 000020 .CRAMA::
1494 000020 000000 .WORD 0 ; KL CRAM ADDRESSS
1495 000022 .CRAMR::
1496 000022 000000 000000 000000 .WORD 0,0,0 ; BLOCK FOR KL CRAM READ
1497 000030 000000 000000 000000 .WORD 0,0,0
1498 000036 000000 000000 000000 .WORD 0,0,0
1499 000044 .CRAMW::
1500 000044 000000 000000 000000 .WORD 0,0,0 ; BLOCK FOR CRAM WRITE
1501 000052 000000 000000 000000 .WORD 0,0,0
1502 000060 000000 000000 000000 .WORD 0,0,0
1504 000066 .DBGSW::
1505 000066 000000 .WORD 0 ; DEBUG SWITCH
1507 000070 .DPBFR::
1508 000070 000000 000000 000000 .WORD 0,0,0 ; KL DEPOSIT DATA BUFFER
1509 000076 .DPBFX::
1510 000076 000000 000000 000000 .WORD 0,0,0 ; KL AUXILLIARY DEPOSIT DATA BUFFER
1519 000104 .EDELA::
1520 000104 000000 .WORD 0 ; LAST PDP-11 EXAMINE / DEPOSIT ADDRESS
1521 000106 .EDKLA::
1522 000106 000000 000000 000000 .WORD 0,0,0 ; KL EXAMINE / DEPOSIT ADDRESS BUFFER
1523 000114 .EDKLX::
1524 000114 000000 000000 000000 .WORD 0,0,0 ; KL AUXILLIARY EXAM / DEPOS ADDRESS BUFFER
1525 000122 .ELDDW::
1526 000122 000000 .WORD 0 ; LAST PDP-11 DEPOSIT DATA
1527 000124 .ELEDW::
1528 000124 000000 .WORD 0 ; LAST PDP-11 EXAMINE DATA
1529 000126 000000 000000 000000 Q0:: .WORD 0,0,0 ; [**]
1530 000134 000000 000000 000000 Q1:: .WORD 0,0,0 ; [**]
1531 000142 000000 000000 000000 Q2:: .WORD 0,0,0 ; [**]
1532 000150 000000 000000 000000 Q3:: .WORD 0,0,0 ; [**]
1533 000156 .EXBFR::
1534 000156 000000 000000 000000 .WORD 0,0,0 ; KL EXAMINE DATA BUFFER
1535 000164 .INCHC::
1536 000164 000000 .WORD 0 ; INPUT CHARACTER COUNT
1537 000166 .IRADX::
1538 000166 000010 .WORD ^D8 ; INPUT RADIX
1539 000170 .KLINC::
1540 000170 000001 000000 000000 .WORD ^D1,0,0 ; KL EXAMINE DEPOSIT INCREMENT
1541 000176 .KLEDF:: ; [5.1006]KLE DEFAULT COMMAND FLAG
DATAB -- COMMAND PARSER DATA B MACRO V05.04 Tuesday 17-May-88 14:31 Page 35-1
DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
1542 000176 000001 .WORD 1
1543 000200 .KLEPT:: ; [5.1006]DEFAULT COMMAND TABLE POINTER
1544 000200 000000 .WORD 0
1545 000202 .KLEVL:: ; [5.1006]POINTER VALID FLAG
1546 000202 000 .BYTE 0
1547 000203 .KLSNP:: ; [5.1006]SNAPSHOT COMMAND IN PROGRESS
1548 000203 000 .BYTE 0
1549 000204 .PASS:: ; [4.1.1049]FM SWEEP PASS FLAG
1550 000204 000000 .WORD 0
1551 000206 .OUTLG::
1552 000206 000 .BYTE 0 ; [5.1000]LOG OUTPUT FLAG
1553 000207 .OUTLP::
1554 000207 000 .BYTE 0 ; [5.1000]PRINT OUTPUT FLAG
1555 000210 .OUTTY::
1556 000210 001 .BYTE 1 ; [5.1000]TYPE OUTPUT FLAG
1557 .EVEN
1558 000212 .LDSTS::
1559 000212 000000 000000 .WORD 0,0 ; I/O STATUS BLOCK FOR LIST DEVICE
1560 000216 .LGLWD::
1561 000216 000000 .WORD 0 ; LEGAL BITS OF CURRENT COMMAND
1562 000220 .LDZFL::
1563 000220 177777 .WORD -^D1 ; PRINT LEADING ZEROES FLAG
1564 000222 .MEMFL::
1565 000222 000000 .WORD 0 ; EXAMINE DEPOSIT MEMORY OFFSET
1566 000224 .NOTSW::
1567 000224 000000 .WORD 0 ; "NOT" SWITCH
1568 000226 .ORADX::
1569 000226 000010 .WORD ^D8 ; OUTPUT RADIX
1570 000230 .PEWRD::
1571 000230 000000 .WORD 0 ; KL PARITY ERROR FLAGS
1572 000232 .PITAB::
1573 000232 000000 000000 .WORD 0,0 ; EXAMINE PI DATA BLOCK
1574 000236 .PSCWD::
1575 000236 100000 .WORD BIT15 ; KL PARITY STOP CONTROL WORD
1576 000240 .RDXSV::
1577 000240 000010 .WORD ^D8 ; SAVED RADIX
1578 000242 .RELWD::
1579 000242 000002' .WORD .APRWD ; RELOCATION VALUE
1580 000244 .RPTCT::
1581 000244 000000 000000 000000 .WORD 0,0,0 ; REPEAT COUNT
1582 000252 .RPTPT::
1583 000252 000000 .WORD 0 ; POINTER TO STACKED REPEAT COUNT
1584 000254 .STRTV::
1585 000254 010354' .WORD .START ; START VECTOR
1586 000256 .SVESP::
1587 000256 000000 .WORD 0 ; TO REINIT STACK POINTER
1588 000260 .SVKLF::
1589 000260 000000 .WORD 0 ; SAVED COPY OF ".KLFLG"
1590 000262 .SWPIP:: ; SWEEP IN PROGRESS FLAG
1591 000262 000000 .WORD 0
1593 000264 .TRKWD::
1594 000264 000000 .WORD 0 ; "TRACK" FLAGS
1596 000266 .TRP4V::
1597 000266 001352' .WORD .PTOAT ; TRAP AT 4 VECTOR
1598 000270 .TRPEC::
1599 000270 000000 .WORD 0 ; ERROR CODE RETURNED FROM TRAP
1600 000272 .TRPIP::
DATAB -- COMMAND PARSER DATA B MACRO V05.04 Tuesday 17-May-88 14:31 Page 35-2
DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
1601 000272 000002 .WORD ^D2 ; TRAP IN PROGRESS INTERLOCK
1602 000274 .TRPPC::
1603 000274 000000 .WORD 0 ; TRAP PC
1604 000276 .TRPPS::
1605 000276 000000 .WORD 0 ; TRAP PSW
1606 000300 .TRPSB::
1607 000300 000000 .WORD 0 ; TRAP STATUS BYTE
1608 000302 .TRPTV::
1609 000302 000000 .WORD 0 ; TRAP TRAP VECTOR
1610 000304 .TYOBC::
1611 000304 000204 .WORD ^D132 ; CONSOLE OUTPUT BYTE COUNT
1612 000306 .TYOBP::
1613 000306 000576' .WORD .COBFR ; CONSOLE OUTPUT BYTE POINTER
1614 000310 .VFYFL::
1615 000310 000000 .WORD 0 ; DEPOSIT VERIFY FLAG
1616 000312 DATABX::
1617 000312 000137 000000G JMP .INICP ; EXIT TO INIT
DATAB -- COMMAND PARSER DATA B MACRO V05.04 Tuesday 17-May-88 14:31 Page 36
.SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
1619 .SBTTL .SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
1620
1621 ; +
1622 ; .SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE.
1623 ;
1624 ; THESE ARE THE ENTRY POINTS FOR ALL SYNCHRONOUS TRAPS IN THE KL FRONT
1625 ; END COMMAND PARSER. THE PARSER USES SYNCHRONOUS TRAPS, (SST'S),
1626 ; PRIMARILY TO HANDLE INTERNAL ERRORS VIA THE "TRAP" INSTRUCTION. SST'S
1627 ; MAY ALSO BE USED TO HANDLE ODD ADDRESS TRAPS, BREAKPOINTS, AND OTHER
1628 ; ERROR CONDITIONS, AS WELL AS THE PREVIOUSLY MENTIONED ERROR TRAPS.
1629 ;
1630 ; SYNCHRONOUS TRAPS ARE ENABLED BY THE "SVTK$" DIRECTIVE (Q.V.) AS
1631 ; ALLOWED BY THE ENTRIES IN ".SSTTB", THE SST VECTOR TABLE, BELOW.
1632 ; A NON-ZERO ENTRY IN ".SSTTB" INDICATES THAT CONTROL IS TO BE PASSED
1633 ; TO THE ADDRESS IN THAT ENTRY UPON OCCURANCE OF THE ASSOCIATED
1634 ; CONDITION. A ZERO ENTRY IN THE VECTOR TABLE INDICATES THAT THE
1635 ; SYSTEM IS TO HANDLE THE ASSOCIATED CONDITION.
1636 ;
1637 ; THE FORMAT OF THE SST VECTOR TABLE IS AS FOLLOWS:
1638 ;
1639 ; !===============================================!
1640 ; 00 ! ODD ADDRESS TRAP HANDLER ADDRESS !
1641 ; !-----------------------------------------------!
1642 ; 02 ! MEMORY PROTECTION VIOLATION HANDLER ADDRESS !
1643 ; !-----------------------------------------------!
1644 ; 04 ! T-BIT TRAP HANDLER ADDRESS !
1645 ; !-----------------------------------------------!
1646 ; 06 ! IOT TRAP HANDLER ADDRESS !
1647 ; !-----------------------------------------------!
1648 ; 10 ! RESERVED INSTRUCTION TRAP HANDLER ADDRESS !
1649 ; !-----------------------------------------------!
1650 ; 12 ! ILLEGAL EMT TRAP HANDLER ADDRESS !
1651 ; !-----------------------------------------------!
1652 ; 14 ! TRAP INSTRUCTION TRAP HANDLER ADDRESS !
1653 ; !-----------------------------------------------!
1654 ; 16 ! FLOATING POINT TRAP HANDLER ADDRESS !
1655 ; !===============================================!
1656 ;-
1657
1658 000316 .SSTTB::
1659 000316 000000 .WORD 0 ; ODD ADDRESS TRAP HANDLER
1660 000320 000000 .WORD 0 ; MEMORY PROTECTION VIOLATION
1661 000322 000000 .WORD 0 ; BREAKPOINT TRAP HANDLER
1662 000324 000000 .WORD 0 ; "IOT" INSTRUCTION TRAP
1663 000326 000000 .WORD 0 ; RESERVED INSTRUCTION TRAP
1664 000330 000000 .WORD 0 ; NON-STANDARD EMT TRAP
1665 000332 001124' .WORD .PTTRP ; "TRAP" INSTRUCTION TRAP
1666 000334 000000 .WORD 0 ; FLOATING POINT TRAP
1667 000010 SSTLEN==.-.SSTTB/2 ; LENGTH OF THIS TABLE
1668 000334' SSTTBE==.-2
DATAB -- COMMAND PARSER DATA B MACRO V05.04 Tuesday 17-May-88 14:31 Page 37
DATAB -- DTE-20 OPERATION BUFFERS 7709.20
1670 .SBTTL DATAB -- DTE-20 OPERATION BUFFERS 7709.20
1671
1672 000336 .DFBLK::
1673 000336 .DFWB::
1674 000336 000000 000000 000000 .WORD 0,0,0 ; FUNCTION WRITE BUFFER
1675 000344 .DFRB::
1676 000344 000000 000000 000000 .WORD 0,0,0 ; FUNCTION READ BUFFER
1677
1678 000352 .DREG::
1679 000352 .DTDI1::
1680 000352 000000 .WORD 0 ; DTE-20 DIAG WORD 1 BUFFER
1681 000354 .DTDI2::
1682 000354 000000 .WORD 0 ; DTE-20 DIAG WORD 2 BUFFER
1683 000356 .DTSTS::
1684 000356 000000 .WORD 0 ; DTE-20 STATUS WORD BUFFER
1685 000360 .DTDI3::
1686 000360 000000 .WORD 0 ; DTE-20 DIAG WORD 3 BUFFER
1687 000362' DFBEND==.
DATAB -- COMMAND PARSER DATA B MACRO V05.04 Tuesday 17-May-88 14:31 Page 38
DATAB -- INPUT / OUTPUT BUFFERS 7709.20
1689 .SBTTL DATAB -- INPUT / OUTPUT BUFFERS 7709.20
1690
1691 ; THESE ARE THE I/O BUFFERS
1692
1693 000362 .CIBFR::
1694 000362 .BLKW ^D70 ; CONSOLE DEVICE INPUT BUFFER
1695 000214 .CIBFL==.-.CIBFR
1696
1697 000576 .COBFR::
1698 000576 .BLKW ^D70 ; CONSOLE DEVICE OUTPUT BUFFER
1699 000204 .COBFL==^D132
1700
1701 001012 .COMND::
1702 001012 .BLKW ^D140 ; COMMAND BUFFER
1703 000430 .CMNDL==.-.COMND
DATAB -- COMMAND PARSER DATA B MACRO V05.04 Tuesday 17-May-88 14:31 Page 39
DATAB -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
1705 .SBTTL DATAB -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
1706
1707 001442 .R50TB::
1708 001442 000022 .WORD <'0-36>-<50-50>
1709 001444 060 000 .ASCIZ %0%
1710 001446 177766 .WORD <'%-35>-<'0-36>
1711 001450 045 000 .ASCIZ /%/
1712 001452 000012 .WORD <'.-34>-<'%-35>
1713 001454 056 000 .ASCIZ %.%
1714 001456 177767 .WORD <'$-33>-<'.-34>
1715 001460 044 000 .ASCIZ %$%
1716 001462 000067 .WORD <'A-01>-<'$-33>
1717 001464 101 000 .ASCIZ %A%
1718 001466 177740 .WORD <' -00>-<'A-01>
1719 001470 000040 .WORD .SPACE
1720
1721 001472 .T50TB::
1722 001472 003100 .WORD 50*50
1723 001474 000050 .WORD 50
1724 001476 000001 .WORD 1
1725 001500 000000 .WORD 0
1726
1727 000000 .PSECT MESSAG
1728
1729 000000 CPVMSG::
1730 000000 PARVR$ PAR$$K,,PAR$$V,PAR$$E
000000 126 200 061 .ASCIZ <126><200>\16-00\<200>
000003 066 055 060
000006 060 200 000
1731 000011 PARMSG::
1732 000011 120 101 122 .ASCIZ %PAR -- %
000014 040 055 055
000017 040 000
1733 000021 PARNAM::
1734 000021 120 101 122 .ASCIZ %PARSER%
000024 123 105 122
000027 000
1735 000030 PROMPT::
1736 000030 120 101 122 .ASCIZ %PAR%
000033 000
1737 000034 KLEPRM::
1738 000034 113 114 105 .ASCIZ %KLE>%
000037 076 000
1739 000041 ONMSG::
1740 000041 117 116 000 .ASCIZ %ON%
1741 000044 OFFMSG::
1742 000044 117 106 106 .ASCIZ %OFF%
000047 000
1743 000000 .PSECT
DATAB -- COMMAND PARSER DATA B MACRO V05.04 Tuesday 17-May-88 14:31 Page 40
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1745 .SBTTL .CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1746
1747 ;+
1748 ; .CHTAB -- THE CHARACTER PROPERTY TABLE
1749 ;
1750 ; THIS IS A TABLE OF ASCII CHARACTER PROPERTIES. THERE IS ONE ENTRY
1751 ; FOR EACH CHARACTER IN THE ASCII STANDARD CHARACTER SET. EACH ENTRY
1752 ; IS ONE BYTE LONG, AND CONTAINS BITS ASSOCIATED WITH THE GENERAL
1753 ; PROPETIES OF THE ASCII CHARACTER IT REPRESENTS. ".CHTAB" IS
1754 ; REFERENCED BY USING THE ASCII CHARACTER UNDER TEST AS AN OFFSET
1755 ; INTO THE TABLE. ONE ASCII CHARACTER MAY HAVE MULTIPLE CHARACTERISTICS.
1756 ; THE DEFINITIONS FOR THE CHARACTERISTIC BITS ARE IN "COMMON.MAC",
1757 ; (Q.V.), WHICH ARE:
1758 ;
1759 ; "CH.ALP" -- (BIT00) -- CHARACTER IS ALPHABETIC,
1760 ; "CH.NUM" -- (BIT01) -- CHARACTER IS NUMERIC,
1761 ; "CH.EOL" -- (BIT02) -- CHARACTER MAY END A LINE,
1762 ; "CH.EOC" -- (BIT03) -- CHARACTER MAY END A COMMAND,
1763 ; "CH.EOS" -- (BIT04) -- CHARACTER MAY SUFFIX A SYMBOL,
1764 ; "CH.PFX" -- (BIT05) -- CHARACTER MAY PREFIX A SYMBOL,
1765 ; "CH.AOP" -- (BIT06) -- CHARACTER MAY PREFIX AN ARITHMETIC OPERATOR,
1766 ; "CH.ILL" -- (BIT07) -- CHARACTER IS ILLEGAL.
1767 ;
1768 ; TABS, (ASCII 011), AND LOWER CASE ALPHABETICS ARE ILLEGAL CHARACTERS
1769 ; SINCE THE INPUT ROUTINES CONVERT THESE CHARACTERS TO SPACES AND
1770 ; UPPER CASE ALPHABETICS, RESPECTIVELY.
1771 ;-
1772
1773 001502 .PSECT DATA
1774
1775 001502 .CHTAB::
1776 001502 034 .BYTE CH.EOL!CH.EOC!CH.EOS ; <NULL> (000)
1777 001503 030 .BYTE CH.EOS!CH.EOC ; ^A (001)
1778 001504 200 .BYTE CH.ILL ; ^B (002)
1779 001505 200 .BYTE CH.ILL ; ^C (003)
1780 001506 200 .BYTE CH.ILL ; ^D (004)
1781 001507 200 .BYTE CH.ILL ; ^E (005)
1782 001510 200 .BYTE CH.ILL ; ^F (006)
1783 001511 200 .BYTE CH.ILL ; ^G <BELL> (007)
1784 001512 200 .BYTE CH.ILL ; ^H (010)
1785 001513 200 .BYTE CH.ILL ; ^I <HORIZONTAL-TAB> (011)
1786 001514 200 .BYTE CH.ILL ; ^J <NEW-LINE> (012)
1787 001515 200 .BYTE CH.ILL ; ^K <VERTICAL-TAB> (013)
1788 001516 200 .BYTE CH.ILL ; ^L <FORM-FEED> (014)
1789 001517 200 .BYTE CH.ILL ; ^M <CARRIAGE-RETURN> (015)
1790 001520 200 .BYTE CH.ILL ; ^N (016)
1791 001521 200 .BYTE CH.ILL ; ^O (017)
1792 001522 200 .BYTE CH.ILL ; ^P (020)
1793 001523 200 .BYTE CH.ILL ; ^Q (021)
1794 001524 200 .BYTE CH.ILL ; ^R (022)
1795 001525 200 .BYTE CH.ILL ; ^S (023)
1796 001526 200 .BYTE CH.ILL ; ^T (024)
1797 001527 200 .BYTE CH.ILL ; ^U (025)
1798 001530 200 .BYTE CH.ILL ; ^V (026)
1799 001531 200 .BYTE CH.ILL ; ^W (027)
DATAB -- COMMAND PARSER DATA B MACRO V05.04 Tuesday 17-May-88 14:31 Page 41
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1801 001532 200 .BYTE CH.ILL ; ^X (030)
1802 001533 200 .BYTE CH.ILL ; ^Y (031)
1803 001534 200 .BYTE CH.ILL ; ^Z (032)
1804 001535 200 .BYTE CH.ILL ; <ALT-MODE> (033)
1805 001536 200 .BYTE CH.ILL ; ^\ (034)
1806 001537 200 .BYTE CH.ILL ; ^] (035)
1807 001540 200 .BYTE CH.ILL ; ^^ (036)
1808 001541 200 .BYTE CH.ILL ; ^_ (037)
1809 001542 020 .BYTE CH.EOS ; <SPACE> (040)
1810 001543 200 .BYTE CH.ILL ; ! (041)
1811 001544 020 .BYTE CH.EOS ; " (042)
1812 001545 200 .BYTE CH.ILL ; # (043)
1813 001546 200 .BYTE CH.ILL ; $ (044)
1814 001547 200 .BYTE CH.ILL ; % (045)
1815 001550 200 .BYTE CH.ILL ; & (046)
1816 001551 020 .BYTE CH.EOS ; ' (047)
1817 001552 140 .BYTE CH.AOP!CH.PFX ; ( (050)
1818 001553 100 .BYTE CH.AOP ; ) (051)
1819 001554 120 .BYTE CH.AOP!CH.EOS ; * (052)
1820 001555 160 .BYTE CH.AOP!CH.EOS!CH.PFX ; + (053)
1821 001556 030 .BYTE CH.EOS!CH.EOC ; , (054)
1822 001557 160 .BYTE CH.AOP!CH.EOS!CH.PFX ; - (055)
1823 001560 200 .BYTE CH.ILL ; . (056)
1824 001561 120 .BYTE CH.AOP!CH.EOS ; / (057)
1825 ;
1826 001562 002 .BYTE CH.NUM ; 0 (060)
1827 001563 002 .BYTE CH.NUM ; 1 (061)
1828 001564 002 .BYTE CH.NUM ; 2 (062)
1829 001565 002 .BYTE CH.NUM ; 3 (063)
1830 001566 002 .BYTE CH.NUM ; 4 (064)
1831 001567 002 .BYTE CH.NUM ; 5 (065)
1832 001570 002 .BYTE CH.NUM ; 6 (066)
1833 001571 002 .BYTE CH.NUM ; 7 (067)
1834 001572 002 .BYTE CH.NUM ; 8 (070)
1835 001573 002 .BYTE CH.NUM ; 9 (071)
1836 ;
1837 001574 030 .BYTE CH.EOS!CH.EOC ; : (072)
1838 001575 030 .BYTE CH.EOS!CH.EOC ; ; (073)
1839 001576 200 .BYTE CH.ILL ; < (074)
1840 001577 020 .BYTE CH.EOS ; = (075)
1841 001600 020 .BYTE CH.EOS ; > (076)
1842 001601 041 .BYTE CH.PFX!CH.ALP ; ? (077)
1843 001602 200 .BYTE CH.ILL ; @ (100)
DATAB -- COMMAND PARSER DATA B MACRO V05.04 Tuesday 17-May-88 14:31 Page 42
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1845 001603 001 .BYTE CH.ALP ; A (101)
1846 001604 101 .BYTE CH.ALP!CH.AOP ; B (102)
1847 001605 101 .BYTE CH.ALP!CH.AOP ; C (103)
1848 001606 101 .BYTE CH.ALP!CH.AOP ; D (104)
1849 001607 001 .BYTE CH.ALP ; E (105)
1850 001610 001 .BYTE CH.ALP ; F (106)
1851 001611 001 .BYTE CH.ALP ; G (107)
1852 001612 001 .BYTE CH.ALP ; H (110)
1853 001613 001 .BYTE CH.ALP ; I (111)
1854 001614 001 .BYTE CH.ALP ; J (112)
1855 001615 001 .BYTE CH.ALP ; K (113)
1856 001616 001 .BYTE CH.ALP ; L (114)
1857 001617 001 .BYTE CH.ALP ; M (115)
1858 001620 001 .BYTE CH.ALP ; N (116)
1859 001621 101 .BYTE CH.ALP!CH.AOP ; O (117)
1860 001622 001 .BYTE CH.ALP ; P (120)
1861 001623 001 .BYTE CH.ALP ; Q (121)
1862 001624 001 .BYTE CH.ALP ; R (122)
1863 001625 001 .BYTE CH.ALP ; S (123)
1864 001626 001 .BYTE CH.ALP ; T (124)
1865 001627 001 .BYTE CH.ALP ; U (125)
1866 001630 001 .BYTE CH.ALP ; V (126)
1867 001631 001 .BYTE CH.ALP ; W (127)
1868 001632 001 .BYTE CH.ALP ; X (130)
1869 001633 001 .BYTE CH.ALP ; Y (131)
1870 001634 001 .BYTE CH.ALP ; Z (132)
1871 ;
1872 001635 200 .BYTE CH.ILL ; [ (133)
1873 001636 200 .BYTE CH.ILL ; \ (134)
1874 001637 200 .BYTE CH.ILL ; ] (135)
1875 001640 140 .BYTE CH.AOP!CH.PFX ; ^ (136)
1876 001641 120 .BYTE CH.AOP!CH.EOS ; _ (137)
1877 001642 200 .BYTE CH.ILL ; @ (140)
1912 .EVEN
1913 000000 .PSECT
DATAB -- COMMAND PARSER DATA B MACRO V05.04 Tuesday 17-May-88 14:31 Page 44
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1916
1917 .TITLE DEB880 -- DEBUG PARSER DATA BASE
1918
1919 .IDENT "006110"
1920
1921 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO V05.04 Tuesday 17-May-88 14:31 Page 46
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
2020 .TITLE CHECK -- GENERAL ARGUMENT CHECK MODULE 7709.21
2021
2022 .IDENT "006020"
2023
2024 ;
2025 ; COPYRIGHT (C) 1975, 1984, 1985 BY
2026 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
2027 ; ALL RIGHTS RESERVED.
2028 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
2029 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
2030 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2031 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
2032 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2033 ;
2034 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2035 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2036 ; CORPORATION.
2037 ;
2038 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2039 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2040 ;
2041 ; MODULE: ALPANUMERIC ARGUMENT CHECK
2042 ;
2043 ; VERSION: 06-02
2044 ;
2045 ; AUTHOR: R. BELANGER
2046 ;
2047 ; DATE: 709.21
2048 ;
2049 ; THIS MODULE CONTAINS:
2050 ;
2051 ; 1) ALPHANUMERIC ARGUMENT CHECK CODE
2052 ; 2) TRAILING COLON CHECK CODE
2053 ; 3) END OF COMMAND CHECK CODE
2054 ; 4) END OF SYMBOL CHECK CODE
2055 ; 5) TRAILING OBJECT CHECK CODE
2056 ; 6) TRAILING SYMBOL CHECK CODE
2057 ;
2058 ; MODIFICATION:
2059 ;
2060 ; NO. DATE PROGRAMMER REASON
2061 ; --- ---- ---------- ------
2062 ; TCO 5.1002 18-SEP-79 K. LEFEBVRE ADD RETURN TO CES ON SWEEP
2063
2064 .MCALL CLEF$S
CHECK -- GENERAL ARGUMENT CHECK MACRO V05.04 Tuesday 17-May-88 14:31 Page 47
.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
2066 .SBTTL .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
2067
2068 ;+
2069 ; .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP BY READING
2070 ; DTE-20 DIAG WORD 1.
2071 ;
2072 ; THIS SUBROUTINE CHECKS FOR THE KL CLOCK ERROR STOP ("D1.CES") FLAG
2073 ; IN THE DTE-20 DIAG1 REGISTER, AND WILL RETURN NORMALLY IF THE BIT IS OFF.
2074 ;
2075 ; SEQUENCE OF OPERATION:
2076 ;
2077 ; (A) READ DTE-20 DIAG WORD 1,
2078 ; (B) TEST THE CLOCK ERROR STOP FLAG FROM (A),
2079 ; (C) IF THE FLAG IS CLEAR, EXIT, ELSE GO TO (D),
2080 ; (D) RESET THE STATE OF ".KLFLG" AND ".SVKLF" (Q.V.),
2081 ; (E) FORCE A CONTEXT SWITCH INTO SECONDARY PROTOCOL,
2082 ; (F) RETURN A .RAD50 "CES" ERROR CODE VIA ERROR TRAP.
2083 ;
2084 ; INPUT ARGUMENTS:
2085 ;
2086 ; NONE.
2087 ;
2088 ; OUTPUT ARGUMENTS:
2089 ;
2090 ; R0 CONTAINS A COPY OF DTE-20 DIAG WORD 1.
2091 ; CC-C IS SET IF CES AND SWEEP IN PROGRESS
2092 ;
2093 ; ERROR CODES RETURNED:
2094 ;
2095 ; CES -- KL CLOCK ERROR STOP.
2096 ; DSF -- DTE-20 STATUS FAILURE.
2097 ;-
2098
2099 000000 .CESCK::
2103 000000 CALL .DTDW1 ; READ DIAG WORD 1
000000 004737 003530' JSR PC,.DTDW1
2104 000004 032700 004000 BIT #D1.CES,R0 ; IS CLOCK ERROR STOP LIT?
2105 000010 001002 BNE CESCES ; YES -- GIVE "CES" ERROR
2106 000012 000241 CLC ; [5.1002]NO -- CLEAR CARRY
2107 000014 RETURN ; JUST RETURN
000014 000207 RTS PC
2108 000016 CESCES:
2109 000016 CALL ..DTSP ; [5.1002]STOP ALL PROTOCOLS
000016 004737 000000G JSR PC,..DTSP
2110 000022 112737 000001 000000G MOVB #1,.NOERR ; AND DISABLE ERROR INTERRUPT
2111 000030 005037 000260' CLR .SVKLF ; DISALLOW RESTARTS
2112 000034 042737 140200 000000G BIC #KF.CON!KF.RUN!KF.CLK,.KLFLG
2113 ; CLEAR THE CLOCK AND CONTINUEABLE FLAGS
2114 000042 052737 000100 000000G BIS #KF.CES,.KLFLG ; FLAG THE CLOCK ERROR STOP
2115 000050 005737 000262' TST .SWPIP ; [5.1002]SWEEP IN PROGRESS?
2116 000054 001402 BEQ 10$ ; [5.1002]NO -- TAKE ERROR TRAP
2117 000056 000261 SEC ; [5.1002]YES -- SET CARRY
2118 000060 RETURN ; [5.1002]EXIT
000060 000207 RTS PC
2119 000062 10$: ERROR$ CES ; ERROR -- CLOCK ERROR STOP
000062 012746 011633 MOV #^RCES,-(SP)
000066 104400 TRAP TC.ERR
CHECK -- GENERAL ARGUMENT CHECK MACRO V05.04 Tuesday 17-May-88 14:31 Page 47-1
.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
2120 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO V05.04 Tuesday 17-May-88 14:31 Page 48
.CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
2122 .SBTTL .CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
2123
2124 ;+
2125 ; .CKARG -- CHECK FOR AN ALPHANUMERIC ARGUMENT
2126 ;
2127 ; THIS ROUTINE WILL CHECK THE FIRST CHARACTER OF THE NEXT SYMBOL
2128 ; IN THE INPUT STREAM TO SEE IF IT IS ALPHABETIC OR NUMERIC.
2129 ;
2130 ; INPUT ARGUMENTS:
2131 ;
2132 ; R5 POINTS TO THE INPUT STREAM
2133 ;
2134 ; OUTPUT ARGUMENTS:
2135 ;
2136 ; R5 POINTS TO THE FIRST CHARACTER IN THE SYMBOL
2137 ; CC-N IS SET IF IT IS NUMERIC
2138 ; CC-Z IS SET IF IT IS ALPHABETIC
2139 ;
2140 ; ERROR CODES RETURNED:
2141 ;
2142 ; MRA -- MISSING REQUIRED ARGUMENT
2143 ;-
2144
2145 000070 .CKARG::
2146 000070 CALL .CKSYM ; GET OVER LEADING BLANKS
000070 004737 000374' JSR PC,.CKSYM
2147 000074 132764 000001 001502' BITB #CH.ALP,.CHTAB(R4)
2148 000102 001403 BEQ 10$ ; SEE IF IT IS NUMERIC
2149 000104 000250 CLN ; CLEAR CC-N
2150 000106 000264 SEZ ; SET CC-Z TO SAY ALPHABETIC
2151 000110 000406 BR 20$ ; AND EXIT
2152 ;
2153 000112 10$:
2154 000112 132764 000042 001502' BITB #CH.NUM!CH.PFX,.CHTAB(R4)
2155 000120 001417 BEQ CKCMRA ; NOT NUMERIC -- GIVE ERROR
2156 000122 000244 CLZ ; CLEAR CC-Z
2157 000124 000270 SEN ; SET CC-N TO SAY NUMERIC
2158 000126 20$:
2159 000126 RETURN ; TO CALLER
000126 000207 RTS PC
CHECK -- GENERAL ARGUMENT CHECK MACRO V05.04 Tuesday 17-May-88 14:31 Page 49
.CKCOL -- CHECK FOR A EQUAL 7709.21
2161 .SBTTL .CKCOL -- CHECK FOR A EQUAL 7709.21
2162
2163 ;+
2164 ; .CKCOL -- CHECK FOR A EQUAL
2165 ;
2166 ; THIS ROUTINE CHECKS FOR A EQUAL AFTER A SYMBOL
2167 ;
2168 ; INPUT ARGUMENTS:
2169 ;
2170 ; R5 POINTS TO THE INPUT STREAM
2171 ;
2172 ; OUTPUT ARGUMENTS:
2173 ;
2174 ; R5 POINTS TO THE FIRST CHARACTER AFTER THE EQUAL.
2175 ;
2176 ; ERROR CODES RETURNED:
2177 ;
2178 ; ILS -- ILLEGAL SEPARATOR CHARACTER.
2179 ; MRA -- MISSING REQUIRED ARGUMENT
2180 ;-
2181
2182 000130 .CKCOL::
2183 000130 112504 MOVB (R5)+,R4 ; GET THE CHARACTER
2184 000132 132764 000010 001502' BITB #CH.EOC,.CHTAB(R4)
2185 000140 001007 BNE CKCMRA ; MISSING ARGUMENT IF E-O-C
2186 000142 122704 000075 CMPB #'=,R4 ; IS IT A EQUAL?
2187 000146 001001 BNE CKCILS ; NO -- GIVE "ILS" ERROR
2188 000150 RETURN ; YES -- JUST RETURN
000150 000207 RTS PC
2189 000152 CKCILS:
2190 000152 ERROR$ ILS ; ERROR -- ILLEGAL SEPARATOR CHARACTER
000152 012746 035063 MOV #^RILS,-(SP)
000156 104400 TRAP TC.ERR
2191 ;
2192 000160 CKCMRA:
2193 000160 ERROR$ MRA ; ERROR -- MISSING REQUIRED ARGUMENT
000160 012746 052021 MOV #^RMRA,-(SP)
000164 104400 TRAP TC.ERR
2194 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO V05.04 Tuesday 17-May-88 14:31 Page 50
.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
2196 .SBTTL .CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
2197
2198 ;+
2199 ; .CKCTC -- CHECK FOR CONTROL-C TYPED
2200 ;
2201 ; THIS SUBROUTINE CHECKS THE CONTROL-C EVENT FLAG, "E.FCTC" AND WILL
2202 ; RETURN TO THE CALLING ROUTINE IF IT IS CLEAR OR TRAP IF IT IS SET.
2203 ;
2204 ; INPUT ARGUMENTS:
2205 ;
2206 ; NONE.
2207 ;
2208 ; OUTPUT ARGUMENTS:
2209 ;
2210 ; NONE
2211 ;
2212 ; ERROR CODES RETURNED:
2213 ;
2214 ; NONE.
2215 ;-
2216
2217 000166 .CKCTC::
2218 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
2219 000200 022737 000000G 000000G CMP #IS.SET,$DSW ; WAS IT SET?
2220 000206 001401 BEQ 10$ ; YES -- TRAP OUT
2221 000210 RETURN ; NO -- JUST RETURN
000210 000207 RTS PC
2222 000212 10$: ; PC OF CALL WILL BE IN ".TRPEC"
2223 000212 104402 TRAP TC.CTC ; .TRAP AND RESTART
2224 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO V05.04 Tuesday 17-May-88 14:31 Page 51
.CKEOC -- CHECK END OF COMMAND 7602.16
2226 .SBTTL .CKEOC -- CHECK END OF COMMAND 7602.16
2227
2228 ;+
2229 ; .CKEOC -- CHECK FOR END OF COMMAND
2230 ;
2231 ; THIS ROUTINE CHECKS FOR AN END OF COMMAND CHARACTER
2232 ;
2233 ; INPUT ARGUMENTS:
2234 ;
2235 ; R5 POINTS TO THE INPUT STREAM
2236 ;
2237 ; OUTPUT ARGUMENTS:
2238 ;
2239 ; R5 IS UNCHANGED
2240 ;
2241 ; ERROR CODES RETURNED:
2242 ;
2243 ; EOC -- END OF COMMAND REQUIRED
2244 ; ILS -- ILLEGAL SEPARATOR CHARACTER
2245 ;-
2246
2247 000214 .CKEOC::
2248 000214 111504 MOVB (R5),R4 ; GET THE CHARACTER
2249 000216 132764 000010 001502' BITB #CH.EOC,.CHTAB(R4)
2250 000224 001401 BEQ 10$ ; MAY BE ERROR IF NOT E-O-C
2251 000226 RETURN ; TO CALLER
000226 000207 RTS PC
2252 000230 10$:
2253 000230 PUSH R4 ; SAVE THE CHARACTER
000230 010446 MOV R4,-(SP)
2254 000232 CALL .CKSYM ; .LOOK FOR A NON-BLANK CHARACTER
000232 004737 000374' JSR PC,.CKSYM
2255 000236 122704 000077 CMPB #'?,R4 ; .IS THIS AN INQUIRY?
2256 000242 001402 BEQ CKEEOC ; .YES -- GIVE "EOC" ERROR
2257 000244 POP R4 ; .NO -- GIVE "ILS" ERROR
000244 012604 MOV (SP)+,R4
2258 000246 000741 BR CKCILS ; ERROR -- ILLEGAL SEPARATOR CHARACTER
2259 ;
2260 000250 CKEEOC:
2261 000250 ERROR$ EOC ; ERROR -- END OF COMMAND
000250 012746 020633 MOV #^REOC,-(SP)
000254 104400 TRAP TC.ERR
2262 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO V05.04 Tuesday 17-May-88 14:31 Page 52
.CKEOS -- CHECK END OF SYMBOL 7709.21
2264 .SBTTL .CKEOS -- CHECK END OF SYMBOL 7709.21
2265
2266 ;+
2267 ; .CKEOS -- CHECK FOR A NON-BLANK END OF SYMBOL
2268 ;
2269 ; THIS ROUTINE CHECKS FOR A NON-BLANK END-OF-SYMBOL CHARACTER
2270 ;
2271 ; INPUT ARGUMENTS:
2272 ;
2273 ; R5 POINTS TO THE END-OF-SYMBOL CHARACTER
2274 ;
2275 ; OUTPUT ARGUMENTS:
2276 ;
2277 ; R5 IS UNCHANGED
2278 ;
2279 ; ERROR CODES RETURNED:
2280 ;
2281 ; ILS -- ILLEGAL SEPARATOR CHRARACTER
2282 ;-
2283
2284 000256 .CKEOS::
2285 000256 111504 MOVB (R5),R4 ; GET THE CHARACTER INTO R4
2286 000260 132764 000020 001502' BITB #CH.EOS,.CHTAB(R4)
2287 000266 001731 BEQ CKCILS ; ILLEGAL IF NOT E-O-S
2288 000270 122704 000040 CMPB #.SPACE,R4 ; IS IS A <SPACE>?
2289 000274 001726 BEQ CKCILS ; YES -- COMPLAIN
2290 000276 RETURN ; NO -- JUST RETURN
000276 000207 RTS PC
CHECK -- GENERAL ARGUMENT CHECK MACRO V05.04 Tuesday 17-May-88 14:31 Page 53
.CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
2292 .SBTTL .CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
2293
2294 ;+
2295 ; .CKOBJ -- CHECK FOR A TRAILING OBJECT.
2296 ;
2297 ; THIS SUBROUTINE CHECKS TO SEE IF AN OBJECT SYMBOL FOLLOWS THE
2298 ; CURRENT SYMBOL.
2299 ;
2300 ; INPUT ARGUMENTS:
2301 ;
2302 ; NONE.
2303 ;
2304 ; OUTPUT ARGUMENTS:
2305 ;
2306 ; NONE.
2307 ;
2308 ; ERROR CODES RETURNED:
2309 ;
2310 ; MRA -- MISSING REQUIRED ARGUMENT.
2311 ;-
2312
2313 000300 .CKOBJ::
2314 000300 CALL .CKSYM ; GET OVER LEADING BLANKS
000300 004737 000374' JSR PC,.CKSYM
2315 000304 132764 000010 001502' BITB #CH.EOC,.CHTAB(R4)
2316 000312 001322 BNE CKCMRA ; ILLEGAL IF E-O-C
2317 000314 RETURN ; NOT E-O-C -- RETURN
000314 000207 RTS PC
CHECK -- GENERAL ARGUMENT CHECK MACRO V05.04 Tuesday 17-May-88 14:31 Page 54
.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
2319 .SBTTL .CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
2320
2321 ;+
2322 ; .CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING
2323 ; .CKRNP -- SPECIAL RUN CHECK FOR PROGRAMMER MODE
2324 ;
2325 ; THIS SUBROUTINE WILL CHECK IF THE KL IS RUNNING FROM ".KLFLG"
2326 ; OR IF THE FRONT END IS IN MAINTENANCE MODE.
2327 ;
2328 ; INPUT ARGUMENTS:
2329 ;
2330 ; NONE.
2331 ;
2332 ; OUTPUT ARGUMENTS:
2333 ;
2334 ; NONE.
2335 ;
2336 ; ERROR CODES RETURNED:
2337 ;
2338 ; KLR -- KL IS RUNNING.
2339 ;-
2340
2341 .ENABL LSB
2342
2343 000316 .CKRNP::
2344 000316 PUSH R0 ; SAVE R0
000316 010046 MOV R0,-(SP)
2345 000320 012700 000002 MOV #LG.PRG,R0 ; .SET PROGRAMMER ALLOWED
2346 000324 000402 BR 10$ ; .AND CONTINUE TEST
2347 ;
2348 000326 .CKRUN::
2349 000326 PUSH R0 ; SAVE R0
000326 010046 MOV R0,-(SP)
2350 000330 005000 CLR R0 ; .CLEAR R0
2351 000332 10$:
2352 000332 052700 000004 BIS #LG.MNT,R0 ; .SET MAINTENANCE ALLOWED
2353 000336 PUSH .KLFLG ; .SAVE ".KLFLG"
000336 013746 000000G MOV .KLFLG,-(SP)
2354 000342 005116 COM (SP) ; ..INVERT ".KLFLG"
2355 000344 032716 140000 BIT #KF.RUN!KF.CLK,(SP)
2356 000350 001003 BNE 20$ ; ..BRANCH IF THE KL IS NOT RUNNING
2357 000352 030037 000000G BIT R0,.FEMOD ; ..ARE WE IN ALLOWED MODE?
2358 000356 001403 BEQ CKRKLR ; ..NO -- GIVE "KLR" ERROR
2359 000360 20$:
2360 000360 005726 TST (SP)+ ; ..YES -- RESET THE STACK
2361 000362 POP R0 ; .RESTORE R0
000362 012600 MOV (SP)+,R0
2362 000364 RETURN ; TO CALLER
000364 000207 RTS PC
2363
2364 .DSABL LSB
2365
2366 000366 CKRKLR:
2367 000366 ERROR$ KLR ; ..ERROR -- KL IS RUNNING
000366 012746 043262 MOV #^RKLR,-(SP)
000372 104400 TRAP TC.ERR
2368 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO V05.04 Tuesday 17-May-88 14:31 Page 55
.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
2370 .SBTTL .CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
2371
2372 ;+
2373 ; .CKSYM -- SUBROUTINE TO FIND THE FIRST CHARACTER IN A SYMBOL.
2374 ;
2375 ; THIS SUBROUTINE WILL FIND THE FIRST NON-BLANK CHARACTER IN AN INPUT
2376 ; SYMBOL POINTED TO BY R5. THE SYMBOL IS THEN CHECKED TO SEE IF IT IS
2377 ; ALPAHBETIC, NUMERIC, OR A LEGAL PREFIX CHARACTER.
2378 ;
2379 ; INPUT ARGUMENTS:
2380 ;
2381 ; R5 POINTS TO THE INPUT STREAM.
2382 ;
2383 ; OUTPUT ARGUMENTS:
2384 ;
2385 ; R5 POINTS TO THE FIRST NON-BLANK CHARACTER.
2386 ;
2387 ; ERROR CODES RETURNED:
2388 ;
2389 ; NONE.
2390 ;-
2391
2392 000374 .CKSYM::
2393 000374 112504 MOVB (R5)+,R4 ; GET THE CHARACTER
2394 000376 122704 000040 CMPB #.SPACE,R4 ; IS IT A <SPACE>?
2395 000402 001774 BEQ .CKSYM ; YES -- DO NEXT CHARACTER
2396 000404 105745 TSTB -(R5) ; NO -- BACK THE POINTER UP
2397 000406 RETURN ; TO CALLER
000406 000207 RTS PC
CHECK -- GENERAL ARGUMENT CHECK MACRO V05.04 Tuesday 17-May-88 14:31 Page 56
.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
2399 .SBTTL .EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
2400
2401 ;+
2402 ; .EBPCK -- SUBROUTINE TO CHECK FOR EBUS PARITY ERRORS
2403 ;
2404 ; THIS SUBROUTINE WILL CAUSE AN ERROR TRAP IF THE EBUS PARITY ERROR
2405 ; FLAG IS TRUE IN THE DTE-20 STATUS WORD.
2406 ;
2407 ; INPUT ARGUMENTS:
2408 ;
2409 ; NONE.
2410 ;
2411 ; OUTPUT ARGUMENTS:
2412 ;
2413 ; R0 CONTAINS A COPY OF THE DTE-20 STATUS WORD
2414 ;
2415 ; ERROR CODES RETURNED:
2416 ;
2417 ; DSF -- DTE-20 STATUS FAILURE.
2418 ; EPE -- EBUS PARITY ERROR.
2419 ;-
2420
2421 000410 .EBPCK::
2422 000410 CALL .DTSTA ; READ DTE-20 STATUS WORD
000410 004737 003546' JSR PC,.DTSTA
2423 000414 032700 000020 BIT #ST.EPE,R0 ; EBUS PARITY ERROR?
2425 000420 001001 BNE EBPEPE ; YES -- GIVE "EPE" ERROR
2427 000422 RETURN ; NO -- JUST RETURN
000422 000207 RTS PC
2428 000424 EBPEPE:
2429 000424 ERROR$ EPE ; ERROR -- EBUS PARITY ERROR
000424 012746 020705 MOV #^REPE,-(SP)
000430 104400 TRAP TC.ERR
2430 ;
2431
2432 .TITLE ERROR -- PARSER ERROR HANDLER MODULE 7609.24
2433
2434 .IDENT "006020"
2435 ;
2436 ; COPYRIGHT (C) 1975, 1984, 1985 BY
2437 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
2438 ; ALL RIGHTS RESERVED.
2439 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
2440 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
2441 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2442 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
2443 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2444 ;
2445 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2446 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2447 ; CORPORATION.
2448 ;
2449 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2450 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2451 ;
2452 ; MODULE: ERROR HANDLER
2453 ;
ERROR -- PARSER ERROR HANDLER M MACRO V05.04 Tuesday 17-May-88 14:31 Page 56-1
.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
2454 ; VERSION: 06-02
2455 ;
2456 ; AUTHOR: R. BELANGER
2457 ;
2458 ; DATE: 7609.24
2459 ;
2460 ; THIS MODULE CONTAINS:
2461 ;
2462 ; 1) ERROR DECODER
ERROR -- PARSER ERROR HANDLER M MACRO V05.04 Tuesday 17-May-88 14:31 Page 57
.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
2464 .SBTTL .PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
2465
2466 ;+
2467 ; .PARER -- ERROR DECODE AND PRINT ROUTINE.
2468 ;
2469 ; THIS ROUTINE WILL DECODE THE .RAD50 ERROR CODE PASSED TO IT IN R0
2470 ; AND PRINT AN APPROPRIATE ENGLISH ERROR MESSAGE. THIS ROUTINE IS
2471 ; CALLED FROM THE TRAP HANDLER, ".PTTRP".
2472 ;
2473 ; TWO ERROR CODE TABLES ARE SCANNED, ONE FOR SPECIAL ERRORS AND ONE FOR
2474 ; NORMAL ERRORS, UNTIL A MATCH IS FOUND. IF NO MATCH IS FOUND, ".PARER"
2475 ; WILL ISSUE A "UEC" ERROR CODE.
2476 ;
2477 ; THE SPECIAL ERROR CODES REQUIRE SPECIAL HANDLING BY SEPARATE ROUTINES,
2478 ; THIER ENTRIES LOOK LIKE THIS:
2479 ;
2480 ; !===============================!
2481 ; ! .RAD50 ERROR CODE !
2482 ; !-------------------------------!
2483 ; ! DISPATCH ADDRESS !
2484 ; !-------------------------------!
2485 ; ! MESSAGE POINTER !
2486 ; !===============================!
2487 ;
2488 ; THE NORMAL ERRORS SIMPLY REQUIRE THAT THE ERROR MESSAGE BE PRINTED
2489 ; AND THE ENTRIES IN THIER TABLE LOOK LIKE THIS:
2490 ;
2491 ; !===============================!
2492 ; ! .RAD50 ERROR CODE !
2493 ; !-------------------------------!
2494 ; ! MESSAGE POINTER !
2495 ; !===============================!
2496 ;
2497 ; INPUT ARGUMENTS:
2498 ;
2499 ; R0 HOLDS THE .RAD50 ERROR CODE
2500 ;
2501 ; OUTPUT ARGUMENTS:
2502 ;
2503 ; NONE.
2504 ;
2505 ; ERROR MESSAGES RETURNED:
2506 ;
2507 ; IF THE CONSOLE DEVICE CANNOT BE ATTACHED OR DEATCHED,
2508 ; THE PARSER EXITS.
2509 ;
2510 ; UEC -- UNMATCHED ERROR CODE.
2511 ;-
ERROR -- PARSER ERROR HANDLER M MACRO V05.04 Tuesday 17-May-88 14:31 Page 58
.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
2513 000432 .PARER::
2514 000432 PUSH <R0,R1,R2> ; SAVE CALLER'S REGISTERS
000432 010046 MOV R0,-(SP)
000434 010146 MOV R1,-(SP)
000436 010246 MOV R2,-(SP)
2515 000440 012701 006740' MOV #.SPETB,R1 ; ...SPECIAL ERRORS GET CHECKED FIRST
2516 000444 10$:
2517 000444 012102 MOV (R1)+,R2 ; ...ERROR CODE TO R2
2518 000446 001405 BEQ 30$ ; ...END-OF-TABLE TRY OTHER ERROR CODES
2519 000450 020002 CMP R0,R2 ; ...DO THEY MATCH?
2520 000452 001402 BEQ 20$ ; ...YES -- DISPATCH TO SPECIAL HANDLER
2521 000454 022121 CMP (R1)+,(R1)+ ; ...NO -- GET OVER DISPATCH
2522 000456 000772 BR 10$ ; ...AND TRY THE NEXT ONE
2523 ;
2524 000460 20$:
2525 000460 000131 JMP @(R1)+ ; ...AWAY TO SPECIAL ROUTINE
2526 ;
2527 000462 30$:
2528 000462 012701 005542' MOV #.NSETB,R1 ; ...TABLE POINTER TO R1
2529 000466 40$:
2530 000466 012102 MOV (R1)+,R2 ; ...ERROR CODE TO R2
2531 000470 001521 BEQ PARUEC ; ...END-OF-TABLE -- GIVE UEC ERROR
2532 000472 020002 CMP R0,R2 ; ...DO THEY MATCH?
2533 000474 001402 BEQ 50$ ; ...YES -- PRINT THE MESSAGE
2534 000476 005721 TST (R1)+ ; ...NO -- GET OVER MESSAGE POINTER
2535 000500 000772 BR 40$ ; ...AND TRY NEXT CODE
2536 ;
2537 000502 50$:
2538 000502 CALL PARERC ; ...DO COMMON OUTPUT CODE
000502 004737 000662' JSR PC,PARERC
2539 000506 PARERX:
2540 000506 POP <R2,R1,R0> ; ...RESTORE THE REGISTERS
000506 012602 MOV (SP)+,R2
000510 012601 MOV (SP)+,R1
000512 012600 MOV (SP)+,R0
2541 000514 CALLR .TCRLF ; END THE LINE AND RETURN
000514 000137 015552' JMP .TCRLF
2542 ;
ERROR -- PARSER ERROR HANDLER M MACRO V05.04 Tuesday 17-May-88 14:31 Page 59
.PARER -- SPECIAL ERROR ROUTINES 7609.24
2544 .SBTTL .PARER -- SPECIAL ERROR ROUTINES 7609.24
2545
2546 .ENABL LSB
2547
2548 000520 .SEAMB::
2549 000520 .SENSK::
2550 000520 CALL PARERC ; ...DO COMMON CODE
000520 004737 000662' JSR PC,PARERC
2551 000524 10$:
2552 000524 112500 MOVB (R5)+,R0 ; ...LOAD THE OFFENDING SYMBOL
2553 000526 132760 000034 001502' BITB #CH.END,.CHTAB(R0)
2554 000534 001017 BNE 30$ ; ...UNTIL THE END
2555 000536 CALL .TYCHR ; ...OUTPUT THE CHARACTER
000536 004737 015520' JSR PC,.TYCHR
2556 000542 000770 BR 10$ ; ...CONTINUE
2557 ;
2558 000544 .SEILC::
2559 000544 .SEILS::
2560 000544 .SEIPC::
2561 000544 CALL PARERC ; ...DO COMMON CODE
000544 004737 000662' JSR PC,PARERC
2562 000550 110400 MOVB R4,R0 ; ...GET THE CHARACTER
2563 000552 122700 000040 CMPB #.SPACE,R0 ; ...IS IT A CONTROL CHARACTER?
2564 000556 003404 BLE 20$ ; ...NO -- JUST PRINT IT
2565 000560 CALL .TYUPA ; ...YES -- TYPE AN <UPARROW>
000560 004737 014612' JSR PC,.TYUPA
2566 000564 052700 000100 BIS #100,R0 ; ...MAKE IT A PRINTING CHARACTER
2567 000570 20$:
2568 000570 CALL .TYCHR ; ...PRINT THE CHARACTER
000570 004737 015520' JSR PC,.TYCHR
2569 000574 30$:
2570 000574 112700 000042 MOVB #'",R0 ; ...END QUOTE
2571 000600 CALL .TYCHR ; ...PRINT THAT
000600 004737 015520' JSR PC,.TYCHR
2572 000604 000740 BR PARERX ; ...AND EXIT
2573 ;
ERROR -- PARSER ERROR HANDLER M MACRO V05.04 Tuesday 17-May-88 14:31 Page 60
.PARER -- SPECIAL ERROR ROUTINES 7609.24
2575 000606 .SEFRF::
2576 000606 PUSH .KLDFR+2 ; ...SAVE THE READ CODE
000606 013746 000340' MOV .KLDFR+2,-(SP)
2577 000612 000405 BR 40$ ; ....TO COMMON CODE
2578 ;
2579 000614 .SEFWF::
2580 000614 PUSH .KLDFW+2 ; ...SAVE THE WRITE CODE
000614 013746 000352' MOV .KLDFW+2,-(SP)
2581 000620 000402 BR 40$ ; ....TO COMMON CODE
2582 ;
2583 000622 .SEFXF::
2584 000622 PUSH .KLDFX+2 ; ...SAVE THE EXECUTE CODE
000622 013746 000364' MOV .KLDFX+2,-(SP)
2585 000626 40$:
2586 000626 CALL PARERC ; ....DO COMMON STUFF
000626 004737 000662' JSR PC,PARERC
2587 000632 POP R0 ; ....GET THE CODE
000632 012600 MOV (SP)+,R0
2588 000634 000300 SWAB R0 ; ...SWAP THE BYTES
2589 000636 042700 177400 BIC #^C377,R0 ; ...CLEAR JUNK
2590 000642 006200 ASR R0 ; ...DIVIDE BY 2
2591 000644 CALL .TYP3D ; ...PRINT CODE
000644 004737 015032' JSR PC,.TYP3D
2592 000650 012700 000050' MOV #FLDMSG,R0 ; ...END MESSAGE
2593 000654 CALL .TYMSG ; ...PRINT IT
000654 004737 015462' JSR PC,.TYMSG
2594 000660 000712 BR PARERX ; ...AND EXIT
2595 ;
2596
2597 000050 .PSECT MESSAG
2598
2599 000050 FLDMSG:
2600 000050 040 106 101 .ASCIZ % FAILED%
000053 111 114 105
000056 104 000
2601 000662 .PSECT
ERROR -- PARSER ERROR HANDLER M MACRO V05.04 Tuesday 17-May-88 14:31 Page 61
.PARER -- SPECIAL ERROR ROUTINES 7609.24
2603 ; THIS IS THE COMMON ERROR CODE ROUTINE
2604
2605 000662 PARERC:
2606 000662 012700 000011' MOV #PARMSG,R0 ; ...PREAMBLE
2607 000666 CALL .TYMSG ; ...PRINT IT
000666 004737 015462' JSR PC,.TYMSG
2608 000672 012700 000133 MOV #'[,R0 ; ...LEFT BRACKET
2609 000676 CALL .TYCHR ; ...PRINT IT
000676 004737 015520' JSR PC,.TYCHR
2610 000702 013700 000004' MOV .CCMDN,R0 ; ...CURRENT COMMAND NAME
2611 000706 CALL .TYMSG ; ...PRINT IT
000706 004737 015462' JSR PC,.TYMSG
2612 000712 012700 000135 MOV #'],R0 ; ...RIGHT BRACKET
2613 000716 CALL .TYCHR ; ...PRINT IT
000716 004737 015520' JSR PC,.TYCHR
2614 000722 CALL .TYSPC ; ...<SPACE>
000722 004737 014602' JSR PC,.TYSPC
2615 000726 011100 MOV (R1),R0 ; ...ERROR MESSAGE
2616 000730 CALLR .TYMSG ; ...PRINT IT AND RETURN
000730 000137 015462' JMP .TYMSG
2617 ;
2618 000734 PARUEC:
2619 000734 PUSH R0 ; ...SAVE THE ERROR CODE
000734 010046 MOV R0,-(SP)
2620 000736 012701 001644' MOV #UECMSP,R1 ; ...."UEC" MESSAGE POINTER TO R1
2621 000742 CALL PARERC ; ....DO COMMON CODE
000742 004737 000662' JSR PC,PARERC
2622 000746 POP R0 ; ....RESTORE THE ERROR CODE
000746 012600 MOV (SP)+,R0
2623 000750 CALL .TYR50 ; ...PRINT IT
000750 004737 015772' JSR PC,.TYR50
2624 000754 000707 BR 30$ ; ...AND EXIT
2625 ;
2626
2627 .DSABL LSB
2628
2629 001644 .PSECT DATA
2630
2631 001644 UECMSP:
2632 001644 000060' .WORD UECMSG
2633
2634 000060 .PSECT MESSAG
2635
2636 000060 UECMSG:
2637 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
2638
2639 000756 .PSECT
ERROR -- PARSER ERROR HANDLER M MACRO V05.04 Tuesday 17-May-88 14:31 Page 62
.PARER -- SPECIAL ERROR ROUTINES 7609.24
2641 000756 .SECES::
2642 000756 CALL PARERC ; ...DO COMMON CODE
000756 004737 000662' JSR PC,PARERC
2643 000762 CALL .RDIPE ; ...READ THE ERROR BITS
000762 004737 006704' JSR PC,.RDIPE
2644 000766 PUSH R0 ; ....SAVE THEM
000766 010046 MOV R0,-(SP)
2645 000770 001420 BEQ 30$ ; ....BAD NEWS IF NONE THERE
2646 000772 012701 001646' MOV #SPCEST,R1 ; ....TABLE POINTER TO R1
2647 000776 10$:
2648 000776 032716 000001 BIT #BIT00,(SP) ; ....IS THE BIT ON
2649 001002 001407 BEQ 20$ ; ....NO -- GO ON
2650 001004 011100 MOV (R1),R0 ; ....YES -- SAY SO
2651 001006 CALL .TYMSG ; ....PRINT IT
001006 004737 015462' JSR PC,.TYMSG
2652 001012 CALL .TYCOM ; ....PRINT A COMMA
001012 004737 014552' JSR PC,.TYCOM
2653 001016 CALL .TYSPC ; ....AND A SPACE
001016 004737 014602' JSR PC,.TYSPC
2654 001022 20$:
2655 001022 005721 TST (R1)+ ; ....ADVANCE THE POINTER
2656 001024 006216 ASR (SP) ; ....SHIFT THE ERROR BITS
2657 001026 001363 BNE 10$ ; ....AND KEEP GOING
2658 001030 000404 BR 40$ ; ....FINISHED -- EXIT
2659 ;
2660 001032 30$:
2661 001032 012700 000122' MOV #NEBMSG,R0 ; ....NO ERROR BIT ARE SET
2662 001036 CALL .TYMSG ; ....SAY SO
001036 004737 015462' JSR PC,.TYMSG
2663 001042 40$:
2664 001042 005726 TST (SP)+ ; ....FLUSH THE STACK
2665 001044 000620 BR PARERX ; ...AND EXIT
2666 ;
2667
2668 001646 .PSECT DATA
2669
2670 001646 SPCEST:
2671 001646 000107' .WORD ERSMSG
2672 001650 001573' .WORD DRMMSG
2673 001652 001450' .WORD CRMMSG
2674 001654 001040' .WORD FMMSG
2675 001656 001607' .WORD FSSMSG
2676
2677 001046 .PSECT
ERROR -- PARSER ERROR HANDLER M MACRO V05.04 Tuesday 17-May-88 14:31 Page 63
.PARER -- SPECIAL ERROR ROUTINES 7609.24
2679 000107 .PSECT MESSAG
2680
2681 000107 ERSMSG:
2682 000107 105 122 122 .ASCIZ %ERROR STOP%
000112 117 122 040
000115 123 124 117
000120 120 000
2683 000122 NEBMSG:
2684 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
2685
2686 001046 .PSECT
ERROR -- PARSER ERROR HANDLER M MACRO V05.04 Tuesday 17-May-88 14:31 Page 64
.PTDIE -- RECURSIVE TRAP HANDLER 7609.24
2688 .SBTTL .PTDIE -- RECURSIVE TRAP HANDLER 7609.24
2689
2690 ;+
2691 ; .PTDIE -- RECURSIVE TRAP HANDLER.
2692 ;
2693 ; THIS ROUTINE HANDLES RECURSIVE TRAPS, WHICH ARE FATAL ERRORS. THE
2694 ; OTHER TRAP HANDLERS IN "PARTRP" ENABLE THIS HANDLER BY PLACING ITS
2695 ; ENTRY POINT IN THE APPROPRIATE PLACE IN THE SST VECTOR TABLE.
2696 ; ".PTDIE" WILL PRINT A MESSAGE WITH THE PC OF THE RECURSIVE TRAP AND
2697 ; EXIT TO THE SYSTEM VIA AN "IOT" TRAP. THIS ROUTINE IS ENTERED WITH
2698 ; THE TRAP PC AND PSW ON THE STACK IN THE NORMAL MANNER.
2699 ;
2700 ; ERROR CODES RETURNED:
2701 ;
2702 ; NONE.
2703 ;-
2704
2705
2706 001046 .PTDIE::
2707 001046 005337 000272' DEC .TRPIP ; ..DECREMENT THE INTERLOCK
2708 001052 001423 BEQ 20$ ; ..KILL NOW IF RECURSIVE
2709 001054 PUSH R0 ; ..SAVE R0
001054 010046 MOV R0,-(SP)
2710 001056 012700 000316' MOV #.SSTTB,R0 ; ...TABLE POINTER TO R0
2711 001062 10$:
2712 001062 005020 CLR (R0)+ ; ...CLEAR THIS ENTRY
2713 001064 020027 000334' CMP R0,#SSTTBE ; ...ARE WE DONE?
2714 001070 003774 BLE 10$ ; ...NO -- KEEP GOING
2715 001072 CALL .TCRLF ; ...START THE LINE
001072 004737 015552' JSR PC,.TCRLF
2716 001076 012700 000151' MOV #PTRTEM,R0 ; ...RECURSIVE ERROR MESSAGE
2717 001102 CALL .TYLIN ; ...PRINT IT
001102 004737 015446' JSR PC,.TYLIN
2718 001106 016600 000002 MOV 2(SP),R0 ; ...GET THE TRAP PC
2719 001112 CALL .TYELN ; ...TYPE THAT
001112 004737 014766' JSR PC,.TYELN
2720 001116 CALL .TCRLF ; ...END THE LINE
001116 004737 015552' JSR PC,.TCRLF
2721 001122 20$:
2722 001122 000004 IOT ; ...AND GO AWAY
2723 ;
ERROR -- PARSER ERROR HANDLER M MACRO V05.04 Tuesday 17-May-88 14:31 Page 65
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
2725 .SBTTL .PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
2726
2727 ;+
2728 ; .PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER.
2729 ;
2730 ; THIS ROUTINE HANDLES TRAPS FROM THE "TRAP" INSTRUCTION, WHICH IS USED
2731 ; BY THE RSX20F COMMAND PARSER TO HANDLE INTERNAL ERRORS. THE ACTION
2732 ; TAKEN BY THIS ROUTINE IS DICTATED BY THE TRAP STATUS BYTE, WHICH IS
2733 ; THE FIRST ITEM ON THE STACK UPON ENTRY. THERE ARE FOUR STATUS CODES
2734 ; WHICH ARE RETURNED IN THE TRAP STATUS BYTE:
2735 ;
2736 ; (A) "TC.CTC" -- CONTROL-C TRAP -- SAME EFFECT AS "TC.RST", EXCEPT THAT NO
2737 ; ERROR MESSAGE IS TYPED. THE VALUE OF "TC.CTC" IS +2.
2738 ;
2739 ; (B) "TC.RST" -- ABORT THE CURRENT PROCESS AND ATTEMPT TO RESTORE THE
2740 ; STATE OF THE KL. THE "ABORT$" MACRO (Q.V.) GENERATES
2741 ; THIS CODE. THE PREVIOUS STATE OF THE KL MAY BE
2742 ; RECOVERED FROM THESE ERRORS. THE VALUE OF "TC.RST" IS +1.
2743 ;
2744 ; (C) "TC.ERR" -- SIMPLY ABORT THE CURRENT PROCESS AND RETURN TO THE MAIN
2745 ; THE MAIN PARSER. THE "ERROR$" MACRO (Q.V.) GENERATES
2746 ; THIS CODE. THESE ERRORS DO NOT USUALLY AFFECT THE STATE
2747 ; OF THE KL. THE VALUE OF "TC.ERR" IS 0.
2748 ;
2749 ; (D) "TC.CON" -- SIMPLY REPORT THE ERROR AND CONTINUE THE PROCESS.
2750 ; THIS CODE IS GENERATED BY THE "ERCON$" MACRO (Q.V.)
2751 ; THESE ERRORS ALLOW ERROR SPECIFIC RECOVERY TO BE
2752 ; ATTEMPTED. THE VALUE OF "TC.CON" IS -1.
2753 ;
2754 ; THE DECISION TO RECOVER OR NOT IS MADE BASED ON THE TRAP STATUS BYTE,
2755 ; AFTER WHICH THE ERROR CODE IS PICKED UP, DECODED AND PRINTED BY ".PARER".
2756 ;
2757 ; UPON ENTRY TO THE TRAP INSTRUCTION TRAP HANDLER, THE STACK CONTAINS
2758 ; THE FOLLOWING INFORMATION:
2759 ;
2760 ; !=======================================!
2761 ; 6(SP)==> ! TRAP ERROR CODE !
2762 ; !---------------------------------------!
2763 ; 4(SP)==> ! TRAP PROCESSOR STATUS WORD !
2764 ; !---------------------------------------!
2765 ; 2(SP)==> ! TRAP PROGRAM COUNTER !
2766 ; !---------------------------------------!
2767 ; (SP)==> ! TRAP STATUS BYTE * 2 !
2768 ; !=======================================!
2769 ;
2770 ; EXECUTION MAY BE RESUMED AFTER THE TRAP BY ISSUING AN "RTI" INSTRUCTION.
2771 ;
2772 ; ERROR CODES RETURNED:
2773 ;
2774 ; RTH -- RECURSION IN TRAP HANDLER.
2775 ; UEC -- UNMATCHED ERROR CODE.
2776 ;-
ERROR -- PARSER ERROR HANDLER M MACRO V05.04 Tuesday 17-May-88 14:31 Page 66
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
2778 001124 .PTTRP::
2779 001124 005037 000262' CLR .SWPIP ; [5.1002]CLEAR SWEEP IN PROGRESS FLAG
2780 001130 005337 000272' DEC .TRPIP ; ....DECREMENT THE TRAP IN PROGRESS FLAG
2781 001134 002471 BLT 30$ ; ....SECOND RECURSION -- KILL TASK
2782 001136 011637 000300' MOV (SP),.TRPSB ; ....SAVE THE TRAP STATUS BYTE
2783 001142 016637 000002 000274' MOV 2(SP),.TRPPC ; ....SAVE THE TRAP PC
2784 001150 016637 000004 000276' MOV 4(SP),.TRPPS ; ....SAVE THE TRAP PSW
2785 001156 016637 000006 000270' MOV 6(SP),.TRPEC ; ....SAVE THE TRAP ERROR CODE
2786 001164 CALL R5,.REGSV ; ....SAVE TRAP REGISTERS
001164 004537 010316' JSR R5,.REGSV
2787 001170 PUSH R0 ; ....SAVE R0 TOO
001170 010046 MOV R0,-(SP)
2788 001172 105737 000300' TSTB .TRPSB ; .....TEST THE TRAP STATUS BYTE
2789 001176 003405 BLE 10$ ; .....DON'T TRY TO RECOVER THE KL
2790 001200 005737 000260' TST .SVKLF ; .....DID WE SAVE THE PREVIOUS STATE?
2791 001204 001402 BEQ 10$ ; .....NO -- FORGET RECOVERY
2792 001206 CALL .RSTKL ; .....RESTORE THE KL
001206 004737 007220' JSR PC,.RSTKL
2793 001212 10$:
2794 001212 013737 000240' 000166' MOV .RDXSV,.IRADX ; .....RESET THE INPUT RADIX
2795 001220 013737 000240' 000226' MOV .RDXSV,.ORADX ; .....AND OUTPUT RADIX
2796 001226 122737 000004 000300' CMPB #TC.CTC*2,.TRPSB; .....WAS THIS A CONTROL-C TRAP?
2797 001234 001425 BEQ 20$ ; .....YES -- JUST RESTART THE PARSER
2798 001236 013700 000302' MOV .TRPTV,R0 ; .....NO -- IS THIS A NORMAL TRAP??
2799 001242 001406 BEQ 15$ ; .....YES -- GO ON
2800 001244 010006 MOV R0,SP ; .....NO -- RESET THE STACK
2801 001246 005237 000272' INC .TRPIP ; .....RESET TRAP IN PROGRESS FLAG
2802 001252 005037 000302' CLR .TRPTV ; .....RESET THE TRAP TRAP VECTOR
2803 001256 CALLR @(SP)+ ; .....AND GO AWAY TO OTHER ROUTINE
001256 000136 JMP @(SP)+
2804 ;
2805 001260 15$:
2806 001260 CALL .TCRLF ; .....GIVE A FREE <CRLF>
001260 004737 015552' JSR PC,.TCRLF
2807 001264 013700 000270' MOV .TRPEC,R0 ; .....GET THE ERROR CODE IN R0
2808 001270 CALL .PARER ; .....DECODE AND PRINT THE ERROR
001270 004737 000432' JSR PC,.PARER
2809 001274 005737 000272' TST .TRPIP ; .....IS THIS A RECURSIVE TRAP?
2810 001300 001407 BEQ 30$ ; .....YES -- GIVE UP
2811 001302 105737 000300' TSTB .TRPSB ; .....TEST THE TRAP STATUS BYTE
2812 001306 002413 BLT 40$ ; .....RECOVER THE ERROR
2813 001310 20$:
2814 001310 005237 000272' INC .TRPIP ; .....RESET TRAP IN PROGRESS FLAG
2815 001314 000177 000254' JMP @.STRTV ; .....RESTART THE PARSER
2816 ;
2817
2818 ; [CONTINUED ON THE FOLLOWING PAGE]
ERROR -- PARSER ERROR HANDLER M MACRO V05.04 Tuesday 17-May-88 14:31 Page 67
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
2820 ; [CONTINUED FROM THE PREVIOUS PAGE]
2821
2822 001320 30$: ; .....HERE ON RECURSIVE TRAP
2823 001320 012700 000221' MOV #PTRTHM,R0 ; .....MESSAGE POINTER
2824 001324 CALL .TYLIN ; .....PRINT IT
001324 004737 015446' JSR PC,.TYLIN
2825 001330 CALL .TCRLF ; .....END THE LINE
001330 004737 015552' JSR PC,.TCRLF
2826 001334 000004 IOT ; .....AND GO "RIBIT"
2827 ;
2828 001336 40$: ; .....HERE TO RECOVER THE ERROR
2829 001336 005237 000272' INC .TRPIP ; .....DECREMENT THE INTERLOCK
2830 001342 POP R0 ; .....RESTORE R0
001342 012600 MOV (SP)+,R0
2831 001344 CALL @(SP)+ ; ....AND THE OTHER REGISTERS
001344 004736 JSR PC,@(SP)+
2832 001346 005726 TST (SP)+ ; ....GET OVER THE TRAP STATUS BYTE
2833 001350 000002 RTI ; ...TO WHEREVER WE WERE CALLED FROM
2834 ;
2835
2836 000151 .PSECT MESSAG
2837
2838 000151 PTRTEM:
2839 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
2840 000221 PTRTHM:
2841 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
2842
2843 001352 .PSECT
ERROR -- PARSER ERROR HANDLER M MACRO V05.04 Tuesday 17-May-88 14:31 Page 68
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
2845 .SBTTL .PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
2846
2847 ;+
2848 ; .PTOAT -- TRAP AT 4 TRAP HANDLER.
2849 ;
2850 ; THIS ROUTINE HANDLES TRAP AT 4 TRAPS FOR THE RSX20F COMMAND PARSER.
2851 ; AN ERROR MESSAGE WITH THE PC OF THE TRAP AT 4 TRAP IS PRINTED ON THE
2852 ; CONSOLE AND THE CURRENT OPERATION IS ABORTED. IF THE TRAP IS RECURSIVE,
2853 ; CONTROL IS PASSED TO ".PTDIE", AS THE TASK IS HOPELESSLY CONFUSED.
2854 ;
2855 ; UPON ENTRY TO THE TRAP AT 4 TRAP HANDLER, THE STACK CONTAINS
2856 ; THE FOLLOWING INFORMATION:
2857 ;
2858 ; !=======================================!
2859 ; 2(SP)==> ! TRAP PROCESSOR STATUS WORD !
2860 ; !---------------------------------------!
2861 ; (SP)==> ! TRAP PROGRAM COUNTER !
2862 ; !=======================================!
2863 ;
2864 ; ERROR CODES RETURNED:
2865 ;
2866 ; NONE.
2867 ;-
2868
2869 001352 .PTOAT::
2870 001352 POP .TRPPC ; ..SAVE THE TRAP PC
001352 012637 000274' MOV (SP)+,.TRPPC
2871 001356 POP .TRPPS ; .AND THE TRAP PSW
001356 012637 000276' MOV (SP)+,.TRPPS
2872 001362 CALL R5,.REGSV ; SAVE THE REGISTERS FROM TRAP
001362 004537 010316' JSR R5,.REGSV
2873 001366 PUSH R0 ; AND R0
001366 010046 MOV R0,-(SP)
2874 001370 012737 001046' 000316' MOV #.PTDIE,.SSTTB ; .SET UP TO DIE ON RECURSION
2875 001376 CALL .TCRLF ; .GIVE A FREE <CRLF>
001376 004737 015552' JSR PC,.TCRLF
2876 001402 012700 000270' MOV #PTOATM,R0 ; .GET THE MESSAGE POINTER
2877 001406 CALL .TYMSG ; .TYPE IT
001406 004737 015462' JSR PC,.TYMSG
2878 001412 013700 000104' MOV .EDELA,R0 ; .ADDRESS TO R0
2879 001416 CALL .TYELN ; .TYPE THAT
001416 004737 014766' JSR PC,.TYELN
2880 001422 CALL .TCRLF ; .AND A CRLF
001422 004737 015552' JSR PC,.TCRLF
2882 001426 005737 000066' TST .DBGSW ; .IS THE DEBUG SWITCH SET?
2883 001432 001403 BEQ 10$ ; .NO -- JUST RESTART
2884 001434 POP R0 ; .RESTORE R0
001434 012600 MOV (SP)+,R0
2885 001436 CALL @(SP)+ ; .AND THE REGISTERS
001436 004736 JSR PC,@(SP)+
2886 001440 000000 HALT ; SO WE CAN LOOK
2887 001442 10$:
2889 001442 005037 000316' CLR .SSTTB ; RESET THE TRAP VECTOR
2890 001446 000177 000254' JMP @.STRTV ; .AND START OVER
2891 ;
2892
2893 000270 .PSECT MESSAG
ERROR -- PARSER ERROR HANDLER M MACRO V05.04 Tuesday 17-May-88 14:31 Page 68-1
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
2894
2895 000270 PTOATM:
2896 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
2897
2898 001452 .PSECT
2899
2900 .TITLE FILIO -- FILE INTERFACE ROUTINES
2901
2902 .IDENT "006150"
2903
2904 ; COPYRIGHT (C) 1975, 1984, 1985 BY
2905 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
2906 ; ALL RIGHTS RESERVED.
2907 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
2908 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
2909 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2910 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
2911 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2912 ;
2913 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2914 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2915 ; CORPORATION.
2916 ;
2917 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2918 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2919 ;
2920 ; MODULE: PARSER FILE INTERFACE ROUTINES
2921 ;
2922 ; VERSION: 06-15
2923 ;
2924 ; AUTHOR: K. LEFEBVRE
2925 ;
2926 ; DATE: 29-AUG-79
2927 ;
2928 ; THIS MODULE CONTAINS:
2929 ;
2930 ; 1) FILE ACCESSING ROUTINES
2931 ; 2) FILE READ ROUTINES
2932 ; 3) FILE WRITE ROUTINES
2933 ;
2934 ;
2935 ; THESE ROUTINES WERE ADDED FOR TCO 5.1000
2936
2937 .MCALL DIR$,ALUN$,QIOW$,QIOW$S
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 69
FILE INTERFACE DATA
2939 .SBTTL FILE INTERFACE DATA
2940
2941 001660 .PSECT DATA,D ; 10/13/87 7.04
2942
2944
2945 001660 .INDFG:: ; INDIRECT COMMAND FILE FLAG
2946 001660 000000 .WORD 0
2947
2949 001662 .FISTS:: ; FILE I/O STATUS BLOCK
2950 001662 000000 000000 .WORD 0,0
2951
2952 001000 .BUFSZ==1000 ; BUFFER SIZE
2953
2955
2956 001666 .INFN:: ; INDIRECT COMMAND FILE NAME
2957 001666 000000 000000 000000 .WORD 0,0,0 ; FILE NAME
2958 001674 012314 .RAD50 /CMD/ ; EXTENSION
2959 001676 000000 .WORD 0 ; VERSION
2960 001700 005 005 .BYTE 5,5 ; OWNER
2961 001702 054523 .WORD "SY ; DEVICE
2962 001704 000000 .WORD 0 ; UNIT
2963
2964 001706 .INVBN:: ; CURRENT VIRTUAL BLOCK NO.
2965 001706 000000 000000 .WORD 0,0
2966 001712 .INBBC:: ; INPUT BUFFER BYTE COUNT
2967 001712 000000 .WORD 0
2968 001714 .INPOS:: ; INPUT BUFFER CURRENT POSITION
2969 001714 000000 .WORD 0
2970 001716 .INBUF:: ; INPUT BUFFER
2971 001716 .BLKW .BUFSZ/2
2972
2973 002716 .INFNB:: ; INPUT FILE NAME BLOCK
2974 002716 000000 000000 000000 .WORD 0,0,0 ; N.FID
2975 002724 140123 140123 000000 .RAD50 /005005 / ; N.FNAM
2976 002732 015172 .RAD50 /DIR/ ; N.FTYP
2977 002734 000000 .WORD 0 ; N.FVER
2978 002736 000000 .WORD 0 ; N.STAT
2979 002740 000000 .WORD 0 ; N.NEXT
2980 002742 177777 177777 .WORD -1,-1 ; DIRECTORY FID
2981 002746 005 005 .BYTE 5,5 ; OWNER
2982
2983 002750 .INATT:: ; FILE ATTRIBUTES
2984 002750 000 .BYTE 0 ; RECORD TYPE
2985 002751 000 .BYTE 0 ; RECORD ATTRIBUTES
2986 002752 000000 .WORD 0 ; LARGEST RECORD SIZE
2987 002754 000000 000000 .WORD 0,0 ; HIGHEST ALLOCATED BLOCK
2988 002760 000000 000000 .WORD 0,0 ; HIGHEST USED BLOCK
2989 002764 000000 .WORD 0 ; FIRST FREE BYTE
2990
2992
2993 002766 .OTFN:: ; LOG FILE NAME
2994 002766 062072 073632 000000 .RAD50 /PARSER / ; FILE NAME
2995 002774 046537 .RAD50 /LOG/ ; EXTENSION
2996 002776 000000 .WORD 0 ; VERSION
2997 003000 005 005 .BYTE 5,5 ; OWNER
2998 003002 054523 .WORD "SY ; DEVICE
2999 003004 000000 .WORD 0 ; UNIT
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 69-1
FILE INTERFACE DATA
3000
3001 003006 .OTVBN:: ; CURRENT VIRTUAL BLOCK NO.
3002 003006 000000 000000 .WORD 0,0
3003 003012 .OTBBC:: ; OUTPUT BUFFER BYTE COUNT
3004 003012 000000 .WORD 0
3005 003014 .OTPOS:: ; OUTPUT BUFFER CURRENT POSITION
3006 003014 000000 .WORD 0
3007 003016 .OTBUF:: ; OUTPUT BUFFER
3008 003016 .BLKW .BUFSZ/2
3009
3010 004016 .OTFNB:: ; OUTPUT FILE NAME BLOCK
3011 004016 000000 000000 000000 .WORD 0,0,0 ; N.FID
3012 004024 140123 140123 000000 .RAD50 /005005 / ; N.FNAM
3013 004032 015172 .RAD50 /DIR/ ; N.FTYP
3014 004034 000000 .WORD 0 ; N.FVER
3015 004036 000000 .WORD 0 ; N.STAT
3016 004040 000000 .WORD 0 ; N.NEXT
3017 004042 177777 177777 .WORD -1,-1 ; DIRECTORY FID
3018 004046 005 005 .BYTE 5,5 ; OWNER
3019
3020 004050 .OTATT:: ; FILE ATTRIBUTES
3021 004050 000 .BYTE 0 ; RECORD TYPE
3022 004051 000 .BYTE 0 ; RECORD ATTRIBUTES
3023 004052 000000 .WORD 0 ; LARGEST RECORD SIZE
3024 004054 000000 000000 .WORD 0,0 ; HIGHEST ALLOCATED BLOCK
3025 004060 000000 000000 .WORD 0,0 ; HIGHEST USED BLOCK
3026 004064 000000 .WORD 0 ; FIRST FREE BYTE
3027
3028 004066 .RECNT:: ; CURRENT RECORD SIZE
3029 004066 000000 .WORD 0
3030 004070 .RECPT:: ; CURRENT RECORD POSITION POINTER
3031 004070 004072' .WORD .RECRD
3032 004072 .RECRD::
3033 004072 .BLKB 80. ; CURRENT RECORD
3034
3035 001452 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 70
.FNDIR -- ROUTINE TO FIND DIRECTORY FILE ID
3037 .SBTTL .FNDIR -- ROUTINE TO FIND DIRECTORY FILE ID
3038
3039 ;+
3040 ;
3041 ; .FNDIR -- ROUTINE TO FIND THE [5,5] DIRECTORY FILE ID
3042 ;
3043 ; THIS ROUTINE WILL FIND THE FILE ID FOR THE [5,5] DIRECTORY IF
3044 ; IT HAS NOT ALREADY BEEN FOUND. IT WILL ALSO ASSIGN A LUN TO THE
3045 ; SYSTEM DEVICE.
3046 ;
3047 ; INPUT ARGUMENTS:
3048 ;
3049 ; R1=FILE NAME BLOCK
3050 ; R2=LUN
3051 ;
3052 ; OUTPUT ARGUMENTS:
3053 ;
3054 ; NONE
3055 ;
3056 ; ERROR CODES RETURNED:
3057 ;
3058 ; CAL -- CAN'T ASSIGN LUN
3059 ; DNF -- DIRECTORY FILE NOT FOUND
3060 ;-
3061
3062 001452 .FNDIR::
3063 001452 026127 000024 177777 CMP 24(R1),#-1 ; DIRECTORY FID ALREADY FOUND?
3064 001460 001032 BNE 10$ ; YES -- EXIT
3065 001462 010237 000002' MOV R2,FNDALU ; NO -- SET UP LUN
3066 001466 DIR$ #FNDALN ; ASSIGN LUN
001466 012746 000000' MOV #FNDALN,-(SP)
001472 104375 EMT 375
3067 001474 103425 BCS FNDCAL ; ERROR IF CC-C IS SET
3068 001476 010237 000014' MOV R2,FNDLUN ; SET LUN
3069 001502 010137 000036' MOV R1,FNDFNB ; SET FNB
3070 001506 DIR$ #FNDFNA ; GET FID
001506 012746 000010' MOV #FNDFNA,-(SP)
001512 104375 EMT 375
3071 001514 103420 BCS FNDDNF ; ERROR IF CC-C IS SET
3072 001516 105737 001662' TSTB .FISTS ; DID WE REALLY SUCCEED?
3073 001522 002415 BLT FNDDNF ; NO -- ERROR
3074 001524 016161 000000 000024 MOV 0(R1),24(R1) ; SAVE DIRECTORY FID
3075 001532 016161 000002 000026 MOV 2(R1),26(R1) ; SAVE DIRECTORY FID
3076 001540 016161 000004 000030 MOV 4(R1),30(R1) ; SAVE DIRECTORY FID
3077 001546 10$: RETURN ; DONE
001546 000207 RTS PC
3078 ;
3079 001550 FNDCAL:
3080 001550 ERROR$ CAL ; ERROR -- CAN'T ASSIGN LUN
001550 012746 011364 MOV #^RCAL,-(SP)
001554 104400 TRAP TC.ERR
3081 001556 FNDDNF:
3082 001556 ERROR$ DNF ; ERROR -- DIRECTORY FILE NOT FOUND
001556 012746 015466 MOV #^RDNF,-(SP)
001562 104400 TRAP TC.ERR
3083 ;
3084
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 70-1
.FNDIR -- ROUTINE TO FIND DIRECTORY FILE ID
3085 000000 .PSECT DPBS
3086
3087 000000 FNDALN: ; ASSIGN LUN DIRECTIVE
3088 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
3089
3090 000002' FNDALU=FNDALN+A.LULU
3091
3092 000010 FNDFNA: ; FIND FID DIRECTIVE
3093 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
3094
3095 000014' FNDLUN=FNDFNA+Q.IOLU
3096 000036' FNDFNB=FNDFNA+Q.IOPL+12
3097
3098 001564 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 71
.LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FID
3100 .SBTTL .LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FID
3101
3102 ;+
3103 ; .LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FILE ID
3104 ;
3105 ; THIS ROUTINE WILL LOOK UP A FILE TO GET ITS FILE ID SO THAT ALL
3106 ; FUTURE OPERATIONS CAN BE DONE BY FILE ID. IF THE FILE IS NOT
3107 ; FOUND THEN THE CC-C BIT IS SET AND THE ROUTINE RETURNS.
3108 ;
3109 ; INPUT ARGUMENTS:
3110 ;
3111 ; R0=FILE NAME
3112 ; R1=FILE NAME BLOCK
3113 ; R2=LUN
3114 ;
3115 ; OUTPUT ARGUMENTS:
3116 ;
3117 ; CC-C IS SET IF FILE NOT FOUND
3118 ;
3119 ; ERROR CODES RETURNED:
3120 ;
3121 ; CAL -- CAN'T ASSIGN LUN
3122 ; DNF -- DIRECTORY FILE NOT FOUND
3123 ; FLF -- FILE LOOKUP FAILURE
3124 ;-
3125
3126 .ENABL LSB
3127
3128 001564 .REMOV::
3129 001564 012737 000000G 000042' MOV #IO.RNA,LOKIOF ; REMOVE FROM DIRECTORY
3130 001572 000403 BR 3$ ; GO ON
3131 001574 .LOKUP::
3132 001574 012737 000000G 000042' MOV #IO.FNA,LOKIOF ; FIND DIRECTORY
3133 001602 3$: CALL .FNDIR ; FIND THE DIRECTORY FID
001602 004737 001452' JSR PC,.FNDIR
3134 001606 CALL .SETFN ; SET THE FILE NAME IN THE FNB
001606 004737 002166' JSR PC,.SETFN
3135 001612 010237 000044' MOV R2,LOKLUN ; SET LUN
3136 001616 010137 000066' MOV R1,LOKFNB ; SET FNB
3137 001622 DIR$ #LOKFNA ; GET FID
001622 012746 000040' MOV #LOKFNA,-(SP)
001626 104375 EMT 375
3138 001630 103412 BCS LOKFLF ; ERROR IF CC-C IS SET
3139 001632 105737 001662' TSTB .FISTS ; DID WE REALLY SUCCEED?
3140 001636 002401 BLT 10$ ; NO -- SEE WHY
3141 001640 5$: RETURN ; YES -- RETURN
001640 000207 RTS PC
3142 001642 122737 000000G 001662' 10$: CMPB #IE.NSF,.FISTS ; NO SUCH FILE?
3143 001650 001002 BNE LOKFLF ; NO -- ERROR
3144 001652 000261 SEC ; YES -- SET CC-C
3145 001654 RETURN ; DONE
001654 000207 RTS PC
3146
3147 .DSABL LSB
3148 ;
3149 001656 LOKFLF:
3150 001656 ERROR$ FLF ; ERROR -- FILE LOOKUP FAILURE
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 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
3151 ;
3152
3153 000040 .PSECT DPBS
3154
3155 000040 LOKFNA: ; GET FID DIRECTIVE
3156 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
3157
3158 000042' LOKIOF=LOKFNA+Q.IOFN
3159 000044' LOKLUN=LOKFNA+Q.IOLU
3160 000066' LOKFNB=LOKFNA+Q.IOPL+12
3161
3162 001664 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 72
.ENTER -- ROUTINE TO ENTER A FILE
3164 .SBTTL .ENTER -- ROUTINE TO ENTER A FILE
3165
3166 ;+
3167 ; .ENTER -- ROUTINE TO ENTER A FILE INTO A DIRECTORY
3168 ;
3169 ; THIS ROUTINE WILL CREATE A FILE OF A GIVEN NAME AND THEN ENTER IT
3170 ; INTO A DIRECTORY.
3171 ;
3172 ; INPUT ARGUMENTS:
3173 ;
3174 ; NONE
3175 ;
3176 ; OUTPUT ARGUMENTS:
3177 ;
3178 ; NONE
3179 ;
3180 ; ERROR CODES RETURNED:
3181 ;
3182 ; FEN -- FILE ENTER FAILURE
3183 ;-
3184
3185 001664 .ENTER::
3186 001664 DIR$ #ENTCRE ; CREATE THE FILE
001664 012746 000070' MOV #ENTCRE,-(SP)
001670 104375 EMT 375
3187 001672 103416 BCS ENTFEN ; ERROR IF CC-C IS SET
3188 001674 105737 001662' TSTB .FISTS ; DID WE REALLY SUCCEED?
3189 001700 002413 BLT ENTFEN ; NO -- ERROR
3190 001702 DIR$ #ENTENA ; YES -- ENTER THE FILE IN A DIRECTORY
001702 012746 000114' MOV #ENTENA,-(SP)
001706 104375 EMT 375
3191 001710 103404 BCS 10$ ; ERROR IF CC-C IS SET
3192 001712 105737 001662' TSTB .FISTS ; DID WE REALLY SUCCEED
3193 001716 002401 BLT 10$ ; NO -- ERROR
3194 001720 RETURN ; RETURN
001720 000207 RTS PC
3195 001722 10$: DIR$ #ENTDEL ; DELETE NEW FILE
001722 012746 000144' MOV #ENTDEL,-(SP)
001726 104375 EMT 375
3196 ;
3197 001730 ENTFEN:
3198 001730 ERROR$ FEN ; ERROR -- FILE ENTER FAILURE
001730 012746 023126 MOV #^RFEN,-(SP)
001734 104400 TRAP TC.ERR
3199 ;
3200
3201 000070 .PSECT DPBS
3202
3203 000070 ENTCRE: ; CREATE FILE DIRECTIVE
3204 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 V05.04 Tuesday 17-May-88 14:31 Page 72-1
.ENTER -- ROUTINE TO ENTER A FILE
000106 000000 .WORD
000110 100000 .WORD BIT15
000112 000001 .WORD 1
3205
3206 000114 ENTENA: ; ENTER FILE DIRECTIVE
3207 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
3208
3209 000144 ENTDEL: ; DELETE FILE DIRECTIVE
3210 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
3211
3212 001736 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 73
.OPEN -- ROUTINE TO OPEN A FILE
3214 .SBTTL .OPEN -- ROUTINE TO OPEN A FILE
3215
3216 ;+
3217 ; .OPEN -- ROUTINE TO OPEN A FILE WITH SOME ACCESS FUNCTION
3218 ;
3219 ; THIS ROUTINE WILL OPEN A FILE WITH SOME SPECIFIED ACCESS RIGHTS.
3220 ; IT WILL ALSO READ THE FILE ATTRIBUTES.
3221 ;
3222 ; INPUT ARGUMENTS:
3223 ;
3224 ; R1=FILE NAME BLOCK (FIRST 2 WORDS ARE FILE ID)
3225 ; R2=LUN
3226 ; R4=ACCESS FUNCTION
3227 ;
3228 ; OUTPUT ARGUMENTS:
3229 ;
3230 ; NONE
3231 ;
3232 ; ERROR CODES RETURNED:
3233 ;
3234 ; FOF -- FILE OPEN FAILURE
3235 ;-
3236
3237 001736 .OPEN::
3238 001736 010437 000162' MOV R4,OPEFUN ; SET FUNCTION
3239 001742 010237 000164' MOV R2,OPELUN ; SET LUN
3240 001746 010137 000174' MOV R1,OPEFID ; SET FID
3241 001752 010137 000210' MOV R1,OPEATT ; SET FILE ATTRIBUTES
3242 001756 062737 000032 000210' ADD #32,OPEATT ; POINT TO CORRECT ADDR
3243 001764 DIR$ #OPEACC ; OPEN THE FILE WITH SOME ACCESS
001764 012746 000160' MOV #OPEACC,-(SP)
001770 104375 EMT 375
3244 001772 103401 BCS OPEFOF ; ERROR IF CC-C IS SET
3245 001774 RETURN
001774 000207 RTS PC
3246 ;
3247 001776 OPEFOF:
3248 001776 ERROR$ FOF ; ERROR -- FILE OPEN FAILURE
001776 012746 023736 MOV #^RFOF,-(SP)
002002 104400 TRAP TC.ERR
3249 ;
3250
3251 000160 .PSECT DPBS
3252
3253 000160 OPEACC: ; OPEN FILE DIRECTIVE
3254 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 V05.04 Tuesday 17-May-88 14:31 Page 73-1
.OPEN -- ROUTINE TO OPEN A FILE
3255
3256 000162' OPEFUN=OPEACC+Q.IOFN
3257 000164' OPELUN=OPEACC+Q.IOLU
3258 000174' OPEFID=OPEACC+Q.IOPL
3259
3260 000206 OPERAT:
3261 000206 374 016 .BYTE -4,16
3262 000210 000000 .WORD 0
3263 000212 000 000 .BYTE 0,0
3264
3265 000210' OPEATT=OPERAT+2
3266
3267 002004 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 74
.EXTND -- ROUTINE TO EXTEND A FILE
3269 .SBTTL .EXTND -- ROUTINE TO EXTEND A FILE
3270
3271 ;+
3272 ; .EXTND -- ROUTINE TO EXTEND A FILE BY ONE BLOCK
3273 ;
3274 ; THIS ROUTINE WILL EXTEND A CURRENTLY OPEN FILE WITH EXTEND ACCESS
3275 ; BY ONE BLOCK.
3276 ;
3277 ; INPUT ARGUMENTS:
3278 ;
3279 ; NONE
3280 ;
3281 ; OUTPUT ARGUMENTS:
3282 ;
3283 ; NONE
3284 ;
3285 ; ERROR CODES RETURNED:
3286 ;
3287 ; FEF -- FILE EXTEND FAILURE
3288 ;-
3289
3290 002004 .EXTND::
3291 002004 DIR$ #EXTEXT ; EXTEND THE FILE
002004 012746 000214' MOV #EXTEXT,-(SP)
002010 104375 EMT 375
3292 002012 103411 BCS EXTFEF ; ERROR IF CC-C IS SET
3293 002014 105737 001662' TSTB .FISTS ; DID WE REALLY SUCCEED?
3294 002020 002406 BLT EXTFEF ; NO -- ERROR
3295 002022 062737 000001 004056' ADD #1,.OTATT+6 ; INCREASE BLOCKS ALLOCATED
3296 002030 005537 004054' ADC .OTATT+4 ; PROPAGATE CARRY
3297 002034 RETURN ; DONE
002034 000207 RTS PC
3298 ;
3299 002036 EXTFEF:
3300 002036 013737 003014' 004064' MOV .OTPOS,.OTATT+14 ; SET NEXT FREE BYTE
3301 002044 162737 003016' 004064' SUB #.OTBUF,.OTATT+14 ; MAKE RELATIVE
3302 002052 012701 004050' MOV #.OTATT,R1 ; SET ATTRIBUTE ADDR
3303 002056 012702 000004 MOV #LOGLUN,R2 ; SET LUN
3305 002062 105037 000206' CLRB .OUTLG ; INDICATE FILE CLOSED
3307 002066 CALL .CLOSE ; CLOSE FILE
002066 004737 002114' JSR PC,.CLOSE
3308 002072 ERROR$ FEF ; ERROR -- FILE EXTEND FAILURE
002072 012746 023116 MOV #^RFEF,-(SP)
002076 104400 TRAP TC.ERR
3309 ;
3310
3311 000214 .PSECT DPBS
3312
3313 000214 EXTEXT: ; FILE EXTEND DIRECTIVE
3314 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 V05.04 Tuesday 17-May-88 14:31 Page 74-1
.EXTND -- ROUTINE TO EXTEND A FILE
000232 000000 .WORD
000234 100000 .WORD BIT15
000236 000001 .WORD 1
3315
3316 002100 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 75
.CLOSE -- ROUTINE TO CLOSE A FILE
3318 .SBTTL .CLOSE -- ROUTINE TO CLOSE A FILE
3319
3320 ;+
3321 ; .CLOSE -- ROUTINE TO CLOSE A SPECIFIED FILE
3322 ;
3323 ; THIS ROUTINE WILL CLOSE AND DEACCESS A SPECIFIED FILE.
3324 ; IT WILL ALSO WRITE OUT THE CURRENT ATTRIBUTES.
3325 ;
3326 ; INPUT ARGUMENTS:
3327 ;
3328 ; R1=ATTRIBUTE BLOCK
3329 ; R2=LUN
3330 ;
3331 ; OUTPUT ARGUMENTS:
3332 ;
3333 ; NONE
3334 ;
3335 ; ERROR CODES RETURNED:
3336 ;
3337 ; FCF -- FILE CLOSE FAILURE
3338 ;-
3339
3340 .ENABL LSB
3341
3342 002100 .DELET::
3343 002100 012737 000000G 000242' MOV #IO.DEL,CLOIOF ; I/O FUNCTION FOR DELETE
3344 002106 005037 000256' CLR CLOATR ; NO ATTRIBUTES
3345 002112 000406 BR 5$ ; DO IT
3346 002114 .CLOSE::
3347 002114 012737 000000G 000242' MOV #IO.DAC,CLOIOF ; I/O FUNCTION FOR DEACCESS
3348 002122 012737 000260' 000256' MOV #CLOWAT,CLOATR ; WRITE ATTRIBUTES
3349 002130 010237 000244' 5$: MOV R2,CLOLUN ; SET LUN
3350 002134 010137 000262' MOV R1,CLOATT ; SET FILE ATTRIBUTES
3351 002140 DIR$ #CLODAC ; CLOSE FILE
002140 012746 000240' MOV #CLODAC,-(SP)
002144 104375 EMT 375
3352 002146 103404 BCS CLOFCF ; ERROR IF CC-C IS SET
3353 002150 105737 001662' TSTB .FISTS ; DID WE REALLY SUCCEED?
3354 002154 002401 BLT CLOFCF ; NO -- ERROR
3355 002156 RETURN ; YES -- DONE
002156 000207 RTS PC
3356 ;
3357
3358 .DSABL LSB
3359
3360 002160 CLOFCF:
3361 002160 ERROR$ FCF ; ERROR -- FILE CLOSE FAILURE
002160 012746 022776 MOV #^RFCF,-(SP)
002164 104400 TRAP TC.ERR
3362 ;
3363
3364 000240 .PSECT DPBS
3365
3366 000240 CLODAC: ; FILE CLOSE DIRECTIVE
3367 000240 QIOW$ 0,0,E.FFIL,,.FISTS,,<0,0>
000240 003 010 .BYTE 3,$$$ARG
000242 000000 .WORD 0
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 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
3368
3369 000242' CLOIOF=CLODAC+Q.IOFN
3370 000244' CLOLUN=CLODAC+Q.IOLU
3371 000256' CLOATR=CLODAC+Q.IOPL+2
3372
3373 000260 CLOWAT:
3374 000260 004 016 .BYTE 4,16
3375 000262 000000 .WORD 0
3376 000264 000 000 .BYTE 0,0
3377
3378 000262' CLOATT=CLOWAT+2
3379
3380 002166 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 76
.SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK
3382 .SBTTL .SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK
3383
3384 ;+
3385 ; .SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK
3386 ;
3387 ; THIS ROUTINE WILL INITIALIZE A FILE NAME BLOCK WITH A FILE NAME,
3388 ; VERSION NUMBER, AND STATUS VALUES.
3389 ;
3390 ; INPUT ARGUMENTS:
3391 ;
3392 ; R0=FILE NAME PTR
3393 ; R1=FILE NAME BLOCK ADDR
3394 ;
3395 ; OUTPUT ARGUMENTS:
3396 ;
3397 ; NONE
3398 ;
3399 ; ERROR CODES RETURNED:
3400 ;
3401 ; NONE
3402 ;-
3403
3404 002166 .SETFN::
3405 002166 PUSH <R1,R0> ; SAVE R0,R1
002166 010146 MOV R1,-(SP)
002170 010046 MOV R0,-(SP)
3406 002172 005021 CLR (R1)+ ; CLEAR FID
3407 002174 005021 CLR (R1)+ ; CLEAR FID
3408 002176 005021 CLR (R1)+ ; CLEAR FID
3409 002200 012021 MOV (R0)+,(R1)+ ; FILE NAME
3410 002202 012021 MOV (R0)+,(R1)+ ; FILE NAME
3411 002204 012021 MOV (R0)+,(R1)+ ; FILE NAME
3412 002206 012021 MOV (R0)+,(R1)+ ; EXTENSION
3413 002210 012021 MOV (R0)+,(R1)+ ; VERSION
3414 002212 005021 CLR (R1)+ ; STATUS
3415 002214 005011 CLR (R1) ; NEXT PTR
3416 002216 POP <R0,R1> ; RESTORE R0,R1
002216 012600 MOV (SP)+,R0
002220 012601 MOV (SP)+,R1
3417 002222 RETURN ; DONE
002222 000207 RTS PC
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 77
.SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK
3420
3421 .SBTTL .READR -- ROUTINE TO READ A RECORD
3422
3423 ;+
3424 ; .READR -- ROUTINE TO READ A RECORD FROM THE INDIRECT COMMAND FILE.
3425 ;
3426 ; THIS ROUTINE WILL GET A RECORD (EQUIVILENT TO A TYPED COMMAND) FROM
3427 ; THE CURRENTLY OPEN INDIRECT COMMAND FILE. IT WILL INVISIBLY READ
3428 ; VIRTUAL BLOCKS INORDER TO BLOCK THE RECORDS. IF AN E-O-F IS
3429 ; ENCOUNTERED THE OPEN FILE IS CLOSED AND INPUT IS REDIRECTED TO CTY.
3430 ;
3431 ; INPUT ARGUMENTS:
3432 ;
3433 ; R2=OUTPUT BUFFER
3434 ; R3=STATUS BLOCK
3435 ;
3436 ; OUTPUT ARGUMENTS:
3437 ; R2 POINTS TO END OF RECORD
3438 ; 2(R3) CONTAINS BYTE COUNT OF RECORD
3439 ;
3440 ; ERROR CODES RETURNED:
3441 ;
3442 ; FRD -- FILE READ FAILURE
3443 ;-
3444
3445 002224 .READR::
3446 002224 PUSH <R0,R1> ; SAVE R1 AND R0
002224 010046 MOV R0,-(SP)
002226 010146 MOV R1,-(SP)
3447 002230 10$: CALL .READW ; READ RECORD LENGTH FROM FILE
002230 004737 002330' JSR PC,.READW
3448 002234 103415 BCS 30$ ; EOF IF CC-C IS SET
3449 002236 005700 TST R0 ; SEE IF A NULL RECORD?
3450 002240 001773 BEQ 10$ ; YES -- READ NEXT RECORD
3451 002242 010001 MOV R0,R1 ; NO -- SAVE BYTE COUNT
3452 002244 010063 000002 MOV R0,2(R3) ; SET RETURNED BYTE COUNT
3453 002250 20$: CALL .READB ; READ CHARACTER
002250 004737 002406' JSR PC,.READB
3454 002254 103405 BCS 30$ ; EOF IF CC-C IS SET
3455 002256 110022 MOVB R0,(R2)+ ; SAVE CHARACTER
3456 002260 077105 SOB R1,20$ ; DONE?
3457 002262 25$: POP <R1,R0> ; YES -- RESTORE R1 AND R0
002262 012601 MOV (SP)+,R1
002264 012600 MOV (SP)+,R0
3458 002266 RETURN ; RETURN
002266 000207 RTS PC
3459 002270 005037 001660' 30$: CLR .INDFG ; REDIRECT INPUT TO CTY
3460 002274 012701 002716' MOV #.INFNB,R1 ; INPUT FILE NAME BLOCK
3461 002300 012702 000005 MOV #INDLUN,R2 ; FILE LUN
3462 002304 CALL .CLOSE ; CLOSE FILE AND DEACCESS
002304 004737 002114' JSR PC,.CLOSE
3463 002310 012700 000335' MOV #EOFMSG,R0 ; E-O-F MESSAGE PTR
3464 002314 CALL .TYMSG ; OUTPUT MESSAGE
002314 004737 015462' JSR PC,.TYMSG
3465 002320 005063 000002 40$: CLR 2(R3) ; CLEAR BYTE COUNT
3466 002324 000261 SEC ; SET CC-C BIT
3467 002326 000755 BR 25$ ; DONE
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 77-1
.READR -- ROUTINE TO READ A RECORD
3468 ;
3469
3470 000335 .PSECT MESSAG
3471
3472 000335 EOFMSG:
3473 000335 040 074 105 .ASCIZ % <EOF> %
000340 117 106 076
000343 040 000
3474
3475 002330 .PSECT
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 78
.READW -- READ A WORD FROM A FILE
3477 .SBTTL .READW -- READ A WORD FROM A FILE
3478
3479 ;+
3480 ; .READW -- ROUTINE TO READ A WORD FROM A FILE
3481 ;
3482 ; THIS ROUTINE WILL READ A WORD FROM THE CURRENTLY OPEN INDIRECT
3483 ; COMMAND FILE. IF THE CURRENT BLOCK IS EMPTY IT WILL READ IN THE
3484 ; NEXT ONE. THE WORD READ MUST BE WORD ALIGNED. IF AN E-O-F IS
3485 ; ENCOUNTERED THE CC-C BIT IS SET AND THE ROUTINE RETURNS.
3486 ;
3487 ; INPUT ARGUMENTS:
3488 ;
3489 ; NONE
3490 ;
3491 ; OUTPUT ARGUMENTS:
3492 ;
3493 ; R0 CONTAINS WORD READ
3494 ;
3495 ; ERROR CODES RETURNED:
3496 ;
3497 ; FRD -- FILE READ FAILURE
3498 ;-
3499
3500 002330 .READW::
3501 002330 032737 000001 001714' BIT #1,.INPOS ; ARE WE ON A WORD BOUNDRY?
3502 002336 001404 BEQ 10$ ; YES -- GO ON
3503 002340 005237 001714' INC .INPOS ; NO -- GET ON A WORD BOUNDRY
3504 002344 005337 001712' DEC .INBBC ; DECREMENT BYTE COUNT
3505 002350 005737 001712' 10$: TST .INBBC ; IS CURRENT BUFFER EMPTY?
3506 002354 003003 BGT 20$ ; NO -- GO ON
3507 002356 CALL .READ ; YES -- READ NEXT BLOCK
002356 004737 002440' JSR PC,.READ
3508 002362 103410 BCS 30$ ; EOF IF CC-C IS SET
3509 002364 017700 001714' 20$: MOV @.INPOS,R0 ; GET WORD INTO R0
3510 002370 062737 000002 001714' ADD #2,.INPOS ; UPDATE BUFFER POSITION PTR
3511 002376 162737 000002 001712' SUB #2,.INBBC ; UPDATE BUFFER BYTE COUNT
3512 002404 30$: RETURN ; DONE
002404 000207 RTS PC
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 79
.READB -- READ A BYTE FROM A FILE
3514 .SBTTL .READB -- READ A BYTE FROM A FILE
3515
3516 ;+
3517 ; .READB -- ROUTINE TO READ A BYTE FROM A FILE
3518 ;
3519 ; THIS ROUTINE WILL READ A BYTE FROM THE CURRENTLY OPEN INDIRECT
3520 ; COMMAND FILE. IF THE CURRENT BLOCK IS EMPTY IT WILL READ IN THE
3521 ; NEXT ONE. IF AN E-O-F IS ENCOUNTERED THE CC-C BIT IS SET AND THE
3522 ; ROUTINE RETURNS.
3523 ;
3524 ; INPUT ARGUMENTS:
3525 ;
3526 ; NONE
3527 ;
3528 ; OUTPUT ARGUMENTS:
3529 ;
3530 ; R0 CONTAINS BYTE READ
3531 ;
3532 ; ERROR CODES RETURNED:
3533 ;
3534 ; FRD -- FILE READ FAILURE
3535 ;-
3536
3537 002406 .READB::
3538 002406 005737 001712' TST .INBBC ; IS CURRENT BUFFER EMPTY?
3539 002412 003003 BGT 10$ ; NO -- GO ON
3540 002414 CALL .READ ; YES -- READ NEXT BLOCK
002414 004737 002440' JSR PC,.READ
3541 002420 103406 BCS 20$ ; EOF IF CC-C IS SET
3542 002422 117700 001714' 10$: MOVB @.INPOS,R0 ; GET WORD INTO R0
3543 002426 005237 001714' INC .INPOS ; UPDATE BUFFER POSITION PTR
3544 002432 005337 001712' DEC .INBBC ; UPDATE BUFFER BYTE COUNT
3545 002436 20$: RETURN ; DONE
002436 000207 RTS PC
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 80
.READ -- ROUTINE TO READ A BLOCK
3547 .SBTTL .READ -- ROUTINE TO READ A BLOCK
3548
3549 ;+
3550 ; .READ -- ROUTINE TO READ A BLOCK FROM INDIRECT COMMAND FILE
3551 ;
3552 ; THIS ROUTINE WILL READ A BLOCK FROM THE CURRENTLY OPEN INDIRECT
3553 ; COMMAND FILE. THE BUFFER COUNTS AND POINTERS WILL THEN BE SET.
3554 ; IF AN E-O-F IS ENCOUNTERED THE CC-C BIT IS SET AND THE ROUTINE
3555 ; RETURNS.
3556 ;
3557 ; INPUT ARGUMENTS:
3558 ;
3559 ; NONE
3560 ;
3561 ; OUTPUT ARGUMENTS:
3562 ;
3563 ; NONE
3564 ;
3565 ; ERROR CODES RETURNED:
3566 ;
3567 ; FRD -- FILE READ FAILURE
3568 ;-
3569
3570 002440 .READ::
3571 002440 062737 000001 001710' ADD #1,.INVBN+2 ; NEXT VIRTUAL BLOCK
3572 002446 005537 001706' ADC .INVBN ; PROPAGATE CARRY
3573 002452 023737 001710' 002762' CMP .INVBN+2,.INATT+12 ; EOF?
3574 002460 003041 BGT 10$ ; YES -- EXIT
3575 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
3576 002536 103414 BCS REAFRD ; ERROR IF CC-C IS SET
3577 002540 105737 001662' TSTB .FISTS ; SEE IF WE REALLY SUCCEEDED?
3578 002544 002411 BLT REAFRD ; NO -- CHECK ERROR
3579 002546 012737 001716' 001714' MOV #.INBUF,.INPOS ; YES -- SET BUFFER POSITION PTR
3580 002554 013737 001664' 001712' MOV .FISTS+2,.INBBC ; SET BUFFER BYTE COUNT
3581 002562 RETURN ; DONE
002562 000207 RTS PC
3582 002564 000261 10$: SEC ; YES -- SET CC-C
3583 002566 RETURN ; DONE
002566 000207 RTS PC
3584 ;
3585 002570 REAFRD:
3586 002570 012701 002750' MOV #.INATT,R1 ; SET ATTRIBUTE ADDR
3587 002574 012702 000005 MOV #INDLUN,R2 ; SET LUN
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 80-1
.READ -- ROUTINE TO READ A BLOCK
3588 002600 005037 001660' CLR .INDFG ; INDICATE FILE CLOSED
3589 002604 CALL .CLOSE ; CLOSE FILE
002604 004737 002114' JSR PC,.CLOSE
3590 002610 20$: ERROR$ FRD ; ERROR -- FILE READ FAILURE
002610 012746 024124 MOV #^RFRD,-(SP)
002614 104400 TRAP TC.ERR
3591 ;
3592
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 81
.WRITR -- ROUTINE TO WRITE A RECORD
3595 .SBTTL .WRITR -- ROUTINE TO WRITE A RECORD
3596
3597 ;+
3598 ; .WRITR -- ROUTINE TO WRITE A RECORD TO THE LOG FILE
3599 ;
3600 ; THIS ROUTINE WILL WRITE A RECORD TO THE FILE PARSER.LOG WHEN
3601 ; OUTPUT IS DIRECTED TO THE LOG FILE.
3602 ;
3603 ; INPUT ARGUMENTS:
3604 ;
3605 ; R2=RECORD PTR
3606 ; R1=BYTE COUNT
3607 ;
3608 ; OUTPUT ARGUMENTS:
3609 ;
3610 ; NONE
3611 ;
3612 ; ERROR CODES RETURNED:
3613 ;
3614 ; FEF -- FILE EXTEND FAILURE
3615 ; FWT -- FILE WRITE FAILURE
3616 ;-
3617
3618 002616 .WRITR::
3619 002616 PUSH R0 ; SAVE R0
002616 010046 MOV R0,-(SP)
3620 002620 121227 000012 5$: CMPB (R2),#12 ; CHARACTER A <LF>?
3621 002624 001414 BEQ 7$ ; YES -- WRITE OUT RECORD
3622 002626 121227 000015 CMPB (R2),#15 ; NO -- CHARACTER A <CR>?
3623 002632 001444 BEQ 40$ ; YES -- PROCESS IT
3624 002634 112277 004070' MOVB (R2)+,@.RECPT ; NO -- WRITE CHAR TO RECORD
3625 002640 005237 004070' INC .RECPT ; UPDATE POINTER
3626 002644 005237 004066' INC .RECNT ; INCREMENT COUNT
3627 002650 077115 SOB R1,5$ ; DONE?
3628 002652 6$: POP R0 ; YES -- RESTORE R0
002652 012600 MOV (SP)+,R0
3629 002654 RETURN ; EXIT
002654 000207 RTS PC
3630 002656 7$: PUSH <R2,R1> ; SAVE R2,R1
002656 010246 MOV R2,-(SP)
002660 010146 MOV R1,-(SP)
3631 002662 012702 004072' MOV #.RECRD,R2 ; R2 POINTS TO RECORD
3632 002666 013701 004066' MOV .RECNT,R1 ; R1 HAS RECORD COUNT
3633 002672 020137 004052' CMP R1,.OTATT+2 ; IS THIS THE BIGGEST RECORD?
3634 002676 101402 BLOS 10$ ; NO -- GO ON
3635 002700 010137 004052' MOV R1,.OTATT+2 ; YES -- SAVE IT
3636 002704 010100 10$: MOV R1,R0 ; WRITE OUT RECORD BYTE COUNT
3637 002706 CALL .WRITW ; WRITE IT
002706 004737 002754' JSR PC,.WRITW
3638 002712 005701 TST R1 ; IS THIS A NULL RECORD?
3639 002714 001404 BEQ 30$ ; YES -- DONE
3640 002716 112200 20$: MOVB (R2)+,R0 ; NO -- GET NEXT BYTE OF RECORD
3641 002720 CALL .WRITB ; WRITE IT
002720 004737 003030' JSR PC,.WRITB
3642 002724 077104 SOB R1,20$ ; ALL BYTES WRITTEN?
3643 002726 30$: POP <R1,R2> ; YES -- RESTORE R2,R1
002726 012601 MOV (SP)+,R1
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 81-1
.WRITR -- ROUTINE TO WRITE A RECORD
002730 012602 MOV (SP)+,R2
3644 002732 012737 004072' 004070' MOV #.RECRD,.RECPT ; RESET RECORD POINTER
3645 002740 005037 004066' CLR .RECNT ; CLEAR RECORD COUNT
3646 002744 105722 40$: TSTB (R2)+ ; REMOVE NEW LINE CHARACTER
3647 002746 005301 DEC R1 ; REMOVE FROM COUNT
3648 002750 001323 BNE 5$ ; NO -- GO ON
3649 002752 000737 BR 6$ ; YES -- EXIT
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 82
.WRITW -- WRITE A WORD TO A FILE
3651 .SBTTL .WRITW -- WRITE A WORD TO A FILE
3652
3653 ;+
3654 ; .WRITW -- ROUTINE TO WRITE A WORD TO A FILE
3655 ;
3656 ; THIS ROUTINE WILL WRITE A WORD TO A CURRENTLY OPEN FILE. IF THE
3657 ; CURRENT BLOCK IS FULL THEN THE BLOCK WILL BE WRITTEN TO DISK AND
3658 ; THE WORD WILL BE WRITTEN TO THE NEW BLOCK.
3659 ;
3660 ; INPUT ARGUMENTS:
3661 ;
3662 ; R0=WORD TO WRITE
3663 ;
3664 ; OUTPUT ARGUMENTS:
3665 ;
3666 ; NONE
3667 ;
3668 ; ERROR CODES RETURNED:
3669 ;
3670 ; FEF -- FILE EXTEND FAILURE
3671 ; FWT -- FILE WRITE FAILURE
3672 ;-
3673
3674 002754 .WRITW::
3675 002754 032737 000001 003014' BIT #1,.OTPOS ; ARE WE ON A WORD BOUNDRY?
3676 002762 001404 BEQ 10$ ; YES -- GO ON
3677 002764 005237 003014' INC .OTPOS ; NO -- POSITION TO WORD BOUNDRY
3678 002770 005337 003012' DEC .OTBBC ; DECREMENT FREE BYTE COUNT
3679 002774 005737 003012' 10$: TST .OTBBC ; BLOCK FULL?
3680 003000 003002 BGT 20$ ; NO -- GO ON
3681 003002 CALL .WRITE ; YES -- WRITE OUT BLOCK
003002 004737 003160' JSR PC,.WRITE
3682 003006 010077 003014' 20$: MOV R0,@.OTPOS ; WRITE WORD TO BUFFER
3683 003012 062737 000002 003014' ADD #2,.OTPOS ; UPDATE BUFFER POINTER
3684 003020 162737 000002 003012' SUB #2,.OTBBC ; UPDATE BYTE COUNT
3685 003026 RETURN ; DONE
003026 000207 RTS PC
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 83
.WRITB -- WRITE A BYTE TO A FILE
3687 .SBTTL .WRITB -- WRITE A BYTE TO A FILE
3688
3689 ;+
3690 ; .WRITB -- ROUTINE TO WRITE A BYTE TO A FILE
3691 ;
3692 ; THIS ROUTINE WILL WRITE A BYTE TO A BUFFER THAT WILL THEN BE WRITTEN
3693 ; TO DISK WHEN IT IS FULL.
3694 ;
3695 ; INPUT ARGUMENTS:
3696 ;
3697 ; R0=BYTE TO WRITE
3698 ;
3699 ; OUTPUT ARGUMENTS:
3700 ;
3701 ; NONE
3702 ;
3703 ; ERROR CODES RETURNED:
3704 ;
3705 ; FEF -- FILE EXTEND FAILURE
3706 ; FWT -- FILE WRITE FAILURE
3707 ;-
3708
3709 003030 .WRITB::
3710 003030 005737 003012' TST .OTBBC ; BUFFER FULL?
3711 003034 003002 BGT 10$ ; NO -- GO ON
3712 003036 CALL .WRITE ; YES -- WRITE OUT BLOCK
003036 004737 003160' JSR PC,.WRITE
3713 003042 110077 003014' 10$: MOVB R0,@.OTPOS ; WRITE BYE TO BUFFER
3714 003046 005237 003014' INC .OTPOS ; UPDATE POSITION
3715 003052 005337 003012' DEC .OTBBC ; UPDATE BYTE COUNT
3716 003056 RETURN ; DONE
003056 000207 RTS PC
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 84
.WRITZ -- WRITE OUT CURRENT BLOCK
3718 .SBTTL .WRITZ -- WRITE OUT CURRENT BLOCK
3719
3720 ;+
3721 ; .WRITZ -- ROUTINE TO WRITE OUT CURRENT BUFFER
3722 ;
3723 ; THIS ROUTINE WILL WRITE OUT THE CURRENT BUFFER TO THE DISK FILE.
3724 ; IF THE BUFFER IS NOT FULL THE THE EXCESS SPACE IS ZEROED.
3725 ;
3726 ; INPUT ARGUMENTS:
3727 ;
3728 ; NONE
3729 ;
3730 ; OUTPUT ARGUMENTS:
3731 ;
3732 ; NONE
3733 ;
3734 ; ERROR CODES RETURNED:
3735 ;
3736 ; FEF -- FILE EXTEND FAILURE
3737 ; FWT -- FILE WRITE FAILURE
3738 ;-
3739
3740 003060 .WRITZ::
3741 003060 013737 003014' 004064' MOV .OTPOS,.OTATT+14 ; NEXT FREE BYTE
3742 003066 162737 003016' 004064' SUB #.OTBUF,.OTATT+14 ; MAKE RELATIVE ADDR
3743 003074 023727 003012' 000002 CMP .OTBBC,#2 ; MORE THAN 1 BYTE LEFT?
3744 003102 002413 BLT 10$ ; NO -- JUST ZERO BUFFER
3745 003104 013700 003012' MOV .OTBBC,R0 ; YES -- WRITE ZERO RECORD
3746 003110 032737 000001 003014' BIT #1,.OTPOS ; ON WORD BOUNDRY?
3747 003116 001401 BEQ 5$ ; YES -- GO ON
3748 003120 005300 DEC R0 ; NO -- DECREMENT COUNT
3749 003122 162700 000002 5$: SUB #2,R0 ; DISCOUNT RECORD COUNT FIELD
3750 003126 CALL .WRITW ; WRITE COUNT
003126 004737 002754' JSR PC,.WRITW
3751 003132 005737 003012' 10$: TST .OTBBC ; BUFFER FULL?
3752 003136 001405 BEQ 20$ ; YES -- DONE
3753 003140 112700 000000 MOVB #0,R0 ; WRITE OUT ZEROS
3754 003144 12$: CALL .WRITB ; NO -- FILL BUFFER
003144 004737 003030' JSR PC,.WRITB
3755 003150 000770 BR 10$ ; NEXT
3756 003152 20$: CALL .WRITE ; WRITE OUT BUFFER
003152 004737 003160' JSR PC,.WRITE
3757 003156 RETURN ; DONE
003156 000207 RTS PC
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 85
.WRITE -- ROUTINE TO WRITE A BLOCK
3759 .SBTTL .WRITE -- ROUTINE TO WRITE A BLOCK
3760
3761 ;+
3762 ; .WRITE -- ROUTINE TO WRITE A BLOCK TO A FILE
3763 ;
3764 ; THIS ROUTINE WILL WRITE A BLOCK TO A CURRENTLY OPEN FILE ON DISK.
3765 ; IF THE FILE SPACE IS FULL THE FILE WILL BE EXTENDED.
3766 ;
3767 ; INPUT ARGUMENTS:
3768 ;
3769 ; NONE
3770 ;
3771 ; OUTPUT ARGUMENTS:
3772 ;
3773 ; NONE
3774 ;
3775 ; ERROR CODES RETURNED:
3776 ;
3777 ; FEF -- FILE EXTEND FAILURE
3778 ; FWT -- FILE WRITE FAILURE
3779 ;-
3780
3781 003160 .WRITE::
3782 003160 062737 000001 003010' ADD #1,.OTVBN+2 ; NEXT VIRTUAL BLOCK
3783 003166 005537 003006' ADC .OTVBN ; PROPAGATE CARRY
3784 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
3785 003246 103427 BCS WRIFWT ; ERROR IF CC-C IS SET
3786 003250 105737 001662' TSTB .FISTS ; DID WE REALLY SUCCEED?
3787 003254 002415 BLT 20$ ; NO -- SEE WHY
3788 003256 013737 003010' 004062' MOV .OTVBN+2,.OTATT+12 ; SET HIGHEST USED BLOCK
3789 003264 013737 003006' 004060' MOV .OTVBN,.OTATT+10 ; SET HIGHEST USED BLOCK
3790 003272 012737 003016' 003014' MOV #.OTBUF,.OTPOS ; YES -- SET BUFFER POINTER
3791 003300 012737 001000 003012' MOV #.BUFSZ,.OTBBC ; SET BYTE COUNT
3792 003306 RETURN ; DONE
003306 000207 RTS PC
3793 003310 122737 000000G 001662' 20$: CMPB #IE.EOF,.FISTS ; E-O-F FOUND?
3794 003316 001003 BNE WRIFWT ; NO -- ERROR
3795 003320 CALL .EXTND ; YES -- EXTEND FILE
003320 004737 002004' JSR PC,.EXTND
3796 003324 000722 BR 10$ ; TRY AGAIN
3797 ;
3798 003326 WRIFWT:
3799 003326 ERROR$ FWT ; ERROR -- FILE WRITE FAILURE
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 85-1
.WRITE -- ROUTINE TO WRITE A BLOCK
003326 012746 024454 MOV #^RFWT,-(SP)
003332 104400 TRAP TC.ERR
3800 ;
FILIO -- FILE INTERFACE ROUTINE MACRO V05.04 Tuesday 17-May-88 14:31 Page 87
.WRITE -- ROUTINE TO WRITE A BLOCK
3803
3804 .TITLE KL10F -- KL10 FUNCTION MODULE 7812.21
3805
3806 .IDENT "007050"
3807
3808 ;
3809 ; COPYRIGHT (C) 1975, 1984 BY
3810 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3811 ;
3812 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3813 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3814 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3815 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3816 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3817 ;
3818 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3819 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3820 ; CORPORATION.
3821 ;
3822 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3823 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3824 ;
3825 ; MODULE: KL10 FUNCTIONS
3826 ;
3827 ; VERSION: 07-05
3828 ;
3829 ; AUTHOR: R. BELANGER
3830 ;
3831 ; DATE: 7812.21
3832 ;
3833 ; THIS MODULE CONTAINS:
3834 ;
3835 ; 1) KL MBOX CLOCK BURST CODE
3836
3837 .MCALL $DEF,DIR$,MRKT$,PREX$,PRDP$,KLDR$,KLDW$,KLDX$,WTSE$S
3838
3839 003334 $DEF
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 88
.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
3841 .SBTTL .BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
3842
3843 ;+
3844 ; .BRMBC -- SUBROUTINE TO STOP THE KL CLOCK AND BURST THE MBOX
3845 ; CLOCK AS IN ".BURST".
3846 ; .BURST -- SUBROUTINE TO BURST THE KL MBOX CLOCK
3847 ; A MAXIMUM OF 255 DECIMAL TICKS PER CALL.
3848 ;
3849 ; THIS SUBROUTINE LOADS THE KL BURST COUNT REGISTER
3850 ; AND RUNS THE MBOX CLOCK FROM THE BURST COUNT REGISTER. IT WILL
3851 ; FAIL IF A BURST COUNT .GT. 255 DECIMAL IS REQUESTED IN ONE CALL.
3852 ;
3853 ; INPUT ARGUMENTS:
3854 ;
3855 ; R0 CONTAINS THE BURST COUNT
3856 ;
3857 ; OUTPUT ARGUMENTS:
3858 ;
3859 ; NONE.
3860 ;
3861 ; ERROR CODES RETURNED:
3862 ;
3863 ; BAE -- BURST ARGUMENT ERROR.
3864 ; FWF -- FUNCTION WRITE FAILED.
3865 ; FXF -- FUNCTION EXECUTE FAILED.
3866 ;-
3867
3868 003334 .BRMBC::
3869 003334 CALL .STPXC ; STOP THE KL CLOCK
003334 004737 007316' JSR PC,.STPXC
3870 003340 .BURST::
3871 003340 022700 000377 CMP #^D255,R0 ; IS ARGUMENT .GT. 255 DECIMAL?
3872 003344 103406 BLO BCCTER ; YES -- ERROR
3873 003346 CALL .LDBRG ; NO -- LOAD THE BURST COUNTER
003346 004737 005472' JSR PC,.LDBRG
3874 003352 012700 000012 MOV #FX.BMC,R0 ; SET UP TO BURST THE MBOX CLOCK
3875 003356 CALLR .FXCT ; DO IT
003356 000137 004566' JMP .FXCT
3876 ;
3877 003362 BCCTER:
3878 003362 ERROR$ BAE ; ERROR -- ARGUMENT OUT OF RANGE
003362 012746 006255 MOV #^RBAE,-(SP)
003366 104400 TRAP TC.ERR
3879 ;
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 89
.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
3881 .SBTTL .CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
3882
3883 ;+
3884 ; .CLDFB -- SUBROUTINE TO CLEAR THE DTE-20 TRANSFER BUFFERS
3885 ; .CLDFR -- SUBROUTINE TO CLEAR THE DTE-20 READ BUFFER
3886 ; .CLDFW -- SUBROUTINE TO CLEAR THE DTE-20 WRITE BUFFER
3887 ;
3888 ; THE SUBROUTINES CLEAR THE INDICATED BUFFERS
3889 ;
3890 ; INPUT ARGUMENTS:
3891 ;
3892 ; NONE.
3893 ;
3894 ; OUTPUT ARGUMENTS:
3895 ;
3896 ; NONE.
3897 ;
3898 ; ERROR CODES RETURNED:
3899 ;
3900 ; NONE.
3901 ;-
3902
3903 .ENABL LSB
3904
3905 003370 .CLDFB::
3906 003370 CALL .CLDFW ; CLEAR THE WRITE HALF OF THE BUFFER
003370 004737 003404' JSR PC,.CLDFW
3907 003374 .CLDFR::
3908 003374 PUSH R0 ; SAVE R0
003374 010046 MOV R0,-(SP)
3909 003376 012700 000344' MOV #.DFRB,R0 ; .CLEAR THE FUNCTION READ BUFFER
3910 003402 000403 BR 10$ ; .
3911 ;
3912 003404 .CLDFW::
3913 003404 PUSH R0 ; SAVE R0
003404 010046 MOV R0,-(SP)
3914 003406 012700 000336' MOV #.DFWB,R0 ; .CLEAR THE FUNCTION WRITE BUFFER
3915 003412 10$:
3916 003412 CALL .TPCLR ; .CLEAR THE BUFFER
003412 004737 011372' JSR PC,.TPCLR
3917 003416 000414 BR 20$ ; .RESTORE R0 AND EXIT
3918 ;
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 90
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
3920 .SBTTL .CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
3921
3922 ;+
3923 ; .CLRFF -- SUBROUTINE TO CLEAR THE KL RUN FLOP.
3924 ;
3925 ; THIS SUBROUTINE CLEARS THE KL RUN FLOP AND ISSUES A
3926 ; "MARK TIME" DIRECTIVE FOR THE CLOCK SHUTDOWN IN ".KLHLT".
3927 ;
3928 ; INPUT ARGUMENTS:
3929 ;
3930 ; NONE.
3931 ;
3932 ; OUTPUT ARGUMENTS:
3933 ;
3934 ; NONE
3935 ;
3936 ; ERROR CODES RETURNED:
3937 ;
3938 ; FXF -- FUNCTION EXECUTE FAILED.
3939 ;-
3940
3941 003420 .CLRFF::
3942 003420 000241 CLC ; CLEAR CC-C
3944 003422 DIR$ #.MTDPB ; REQUEST MARK TIME (FOR ".KLHLT")
003422 012746 000266' MOV #.MTDPB,-(SP)
003426 104375 EMT 375
3946 003430 PUSH R0 ; SAVE R0
003430 010046 MOV R0,-(SP)
3947 003432 112737 000001 000000G MOVB #1,.NOHLT ; TELL RSX20F NOT TO WORRY ABOUT THIS
3948 003440 012700 000020 MOV #FX.CRF,R0 ; .SET UP TO CLEAR KL RUN FLOP
3949 003444 CALL .FXCT ; .DO IT
003444 004737 004566' JSR PC,.FXCT
3950 003450 20$:
3951 003450 POP R0 ; .RESTORE R0
003450 012600 MOV (SP)+,R0
3952 003452 RETURN ; TO CALLER
003452 000207 RTS PC
3953
3954 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 91
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
3956 ; DPB FOR MARK TIME DIRECTIVE
3957
3958 ; !===============================================!
3959 ; 00 ! DPB SIZE ! DIC !
3960 ; !-----------------------------------------------!
3961 ; 02 ! EVENT FLAG !
3962 ; !-----------------------------------------------!
3963 ; 04 ! TIME INTERVAL IN CLOCK TICKS !
3964 ; !-----------------------------------------------!
3965 ; 06 ! RESCHEDULE INTERVAL IN CLOCK TICKS !
3966 ; !-----------------------------------------------!
3967 ; 10 ! AST HANDLER ENTRY POINT !
3968 ; !===============================================!
3969
3970 000266 .PSECT DPBS
3971
3972 000266 .MTDPB::
3973 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
3974
3975 003454 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 92
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
3977 .SBTTL .DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
3978
3979 ;+
3980 ; .DTDW1 -- SUBROUTINE TO READ DTE-20 DIAG WORD 1.
3981 ; .DTDW2 -- SUBROUTINE TO READ DTE-20 DIAG WORD 2.
3982 ; .DTSTA -- SUBROUTINE TO READ DTE-20 STATUS WORD.
3983 ; .DTDW3 -- SUBROUTINE TO READ DTE-20 DIAG WORD 3.
3984 ; .DWDW1 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 1.
3985 ; .DWDW2 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 2.
3986 ; .DWSTA -- SUBROUTINE TO WRITE DTE-20 STATUS WORD.
3987 ; .DWDW3 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 3.
3988 ;
3989 ; THESE SUBROUTINES READ OR WRITE THE CONTENT OF THE SPECIFIED
3990 ; DTE-20 REGISTER.
3991 ;
3992 ; THE CONTENT OF THE REGISTER TO BE WRITTEN IS PASSED IN R0.
3993 ; WHETHER A READ OR WRITE IS SPECIFIED, THE CONTENT OF THE REGISTER
3994 ; AFTER THE READ OR WRITE IS ALWAYS RETURNED IN R0 AND IN ".DREG".
3995 ;
3996 ; INPUT ARGUMENTS:
3997 ;
3998 ; (READ) NONE.
3999 ; (WRITE) R0 POINTS TO THE DATA TO BE WRITTEN.
4000 ;
4001 ; OUTPUT ARGUMENTS:
4002 ;
4003 ; R0 CONTAINS THE DATA FROM THE REGISTER WHICH WAS
4004 ; READ OR WRITTEN.
4005 ;
4006 ; ERROR CODES RETURNED:
4007 ;
4008 ; DSF -- DTE-20 STATUS FAILURE.
4009 ;-
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 93
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
4011 .ENABL LSB
4012
4013 003454 .DWDW1:: ; DIAG WORD 1 WRITE ENTRY
4014 003454 105037 000303' CLRB .REGRW+3 ; SET DIAG1 OFFSET
4015 003460 000413 BR 10$ ; DO COMMON WRITE CODE
4016 ;
4017 003462 .DWDW2:: ; DIAG WORD 2 WRITE ENTRY
4018 003462 112737 000002 000303' MOVB #.DIAG2,.REGRW+3; DIAG2 OFFSET
4019 003470 000407 BR 10$ ; DO COMMON WRITE CODE
4020 ;
4021 003472 .DWSTA:: ; STATUS WRITE ENTRY
4022 003472 112737 000004 000303' MOVB #.DTSTW,.REGRW+3; OFFSET FOR STATUS
4023 003500 000403 BR 10$ ; DO COMMON WRITE CODE
4024 ;
4025 003502 .DWDW3:: ; DIAG WORD 3 WRITE ENTRY
4026 003502 112737 000006 000303' MOVB #.DIAG3,.REGRW+3; SET DIAG WORD 3 OFFSET
4027 003510 10$: ; COMMON WRITE CODE
4028 003510 010037 000304' MOV R0,.REGRW+4 ; SET THE DATA POINTER IN THE DPB
4029 003514 113700 000303' MOVB .REGRW+3,R0 ; GET THE REGISTER OFFSET
4030 003520 046077 004212' 000304' BIC MBZTAB(R0),@.REGRW+4
4031 ; ZERO THE MBZ BITS
4032 003526 000420 BR 30$ ; WRITE IT
4033 ;
4034 003530 .DTDW1:: ; DIAG WORD 1 READ ENTRY
4035 003530 105037 000303' CLRB .REGRW+3 ; DIAG WORD 1 OFFSET IS 0
4036 003534 000413 BR 20$ ; GO READ IT
4037 ;
4038 003536 .DTDW2:: ; DIAG WORD 2 READ ENTRY
4039 003536 112737 000002 000303' MOVB #.DIAG2,.REGRW+3; DIAG WORD 2 OFFSET IS 2
4040 003544 000407 BR 20$ ; GO READ IT
4041 ;
4042 003546 .DTSTA:: ; STATUS WORD READ ENTRY
4043 003546 112737 000004 000303' MOVB #.DTSTW,.REGRW+3; SET THE OFFSET FOR THE STATUS WORD
4044 003554 000403 BR 20$ ; GO READ THE DTE-20 STATUS REGISTER
4045 ;
4046 003556 .DTDW3:: ; DIAG WORD 3 READ ENTRY
4047 003556 112737 000006 000303' MOVB #.DIAG3,.REGRW+3; SET THE OFFSET FOR DIAG WORD 3
4048
4049 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 94
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
4051 ; [CONTINUED FROM THE PREVIOUS PAGE]
4052
4053 003564 20$:
4054 003564 005037 000304' CLR .REGRW+4 ; THIS IS NOT A WRITE
4055 003570 30$: ; DATA BUFFER ALREADY LOADED FOR WRITE
4056 003570 005037 000352' CLR .DREG ; CLEAR RETURNED DATA BUFFER
4060 003574 DIR$ #.REGRW ; READ OR WRITE THE REGISTER
003574 012746 000300' MOV #.REGRW,-(SP)
003600 104375 EMT 375
4062 003602 103411 BCS DTEDSF ; ERROR IF CC-C IS SET
4063 003604 013700 000352' MOV .DREG,R0 ; PUT A COPY IN R0
4065 003610 032737 000040 000264' BIT #TR.DTE,.TRKWD ; NO -- ARE WE TRACKING DTE-20 OPS?
4066 003616 001402 BEQ 40$ ; NO -- JUST RETURN
4067 003620 CALLR .DTTRK ; YES -- TRACK IT AND RETURN
003620 000137 012332' JMP .DTTRK
4068 ;
4069 003624 40$:
4071 003624 RETURN ; GO AWAY
003624 000207 RTS PC
4072
4073 .DSABL LSB
4074
4075 003626 DTEDSF:
4076 003626 ERROR$ DSF ; ERROR -- DTE-20 REGISTER READ OR WRITE FAILED
003626 012746 015776 MOV #^RDSF,-(SP)
003632 104400 TRAP TC.ERR
4077 ;
4078
4079 ; TABLE TO CLEAR MBZ BITS ON REGISTER WRITE
4080
4081 004212 .PSECT DATA
4082
4083 004212 MBZTAB:
4084 004212 000442 .WORD D1.MBZ
4085 004214 177641 .WORD D2.MBZ
4086 004216 000000 .WORD ST.MBZ
4087 004220 177704 .WORD D3.MBZ
4088
4089 003634 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 95
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
4091 ; DPB TO READ OR WRITE THE DTE-20 REGISTERS
4092
4093 ; !===============================================!
4094 ; 00 ! DPB SIZE ! DIC !
4095 ; !-----------------------------------------------!
4096 ; 02 ! REGISTER OFFSET ! DIRECTIVE CODE !
4097 ; !-----------------------------------------------!
4098 ; 04 ! POINTER TO DATA TO BE WRITTEN !
4099 ; !-----------------------------------------------!
4100 ; 06 ! DESTINATION ADDRESS FOR DATA READ !
4101 ; !-----------------------------------------------!
4102 ; 10 ! DTE-20 NUMBER !
4103 ; !===============================================!
4104
4105 000300 .PSECT DPBS
4106
4107 000300 .REGRW::
4108 000300 002411 .WORD 2411
4109 000302 017 000 .BYTE 17,0
4110 000304 000000 .WORD 0
4111 000306 000352' .WORD .DREG
4112 000310 000000 .WORD 0
4113 000310' RGDTEN==.-2
4114
4115 003634 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 96
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
4117 .SBTTL .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
4118
4119 ;+
4120 ; .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK VIA MBOX CLOCKS
4121 ;
4122 ; THIS SUBROUTINE WILL SIMULATE AN EBOX CLOCK WITH MBOX CLOCKS.
4123 ; DOING THIS PREVENTS THE EBOX AND MBOX FROM BECOMING UNSYNCHRONIZED.
4124 ; THE EBOX CLOCK IS SYNCHED LOW ON EXIT.
4125 ;
4126 ; SEQUENCE OF OPERATION:
4127 ;
4128 ; (A) AN MBOX CLOCK IS ISSUED (FX.002),
4129 ; (B) THE STATE OF [CLK EBOX SRC H] IS TESTED:
4130 ; (1) IF FALSE GO TO (A),
4131 ; (2) IF TRUE GO TO (C),
4132 ; (C) THE EBOX CLOCK IS SYNCHED LOW.
4133 ;
4134 ; INPUT ARGUMENTS:
4135 ;
4136 ; NONE.
4137 ;
4138 ; OUTPUT ARGUMENTS:
4139 ;
4140 ; NONE.
4141 ;
4142 ; ERROR CODES RETURNED:
4143 ;
4144 ; CES -- CLOCK ERROR STOP.
4145 ; DSF -- DTE-20 STATUS FAILURE.
4146 ; ECT -- EBOX CLOCK TIMEOUT.
4147 ; FRF -- FUNCTION READ FAILED.
4148 ; FXF -- FUNCTION EXECUTE FAILED.
4149 ;
4150 ; NOTE:
4151 ;
4152 ; THIS SUBROUTINE ASSUMES THAT THE KL CLOCK IS OFF.
4153 ;-
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 97
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
4155 003634 .EBCLK::
4156 003634 PUSH <R2,R1,R0> ; SAVE CALLER'S REGISTERS
003634 010246 MOV R2,-(SP)
003636 010146 MOV R1,-(SP)
003640 010046 MOV R0,-(SP)
4157 003642 CALL .CESCK ; ...SEE IF CLOCK ERROR STOP IS UP
003642 004737 000000' JSR PC,.CESCK
4158 003646 012702 000310 MOV #^D200,R2 ; ...TIMEOUT COUNT TO R2
4159 003652 10$:
4160 003652 005001 CLR R1 ; ...CLEAR R1
4161 003654 012700 000004 MOV #FX.MBC,R0 ; ...DO ONE MBOX CLOCK
4162 003660 CALL .FXCT ; ...DO IT
003660 004737 004566' JSR PC,.FXCT
4163 003664 012700 000210 MOV #FR.104,R0 ; ...READ STATE OF [CLK EBX SRC H]
4164 003670 CALL .FREAD ; ...DO IT
003670 004737 004362' JSR PC,.FREAD
4165 003674 032710 000004 BIT #BIT02,(R0) ; ...IS IT THERE?
4169 003700 001001 BNE 20$ ; ...YES -- SYNCH THE CLOCK AND EXIT
4170 003702 077215 SOB R2,10$ ; ...NO -- LOOP TILL COUNT EXHAUSTED
4171 003704 20$:
4172 003704 005702 TST R2 ; ...WHAT'S IN R2?
4173 003706 003405 BLE EBCECT ; ...TIMED OUT IF .LE. 0
4174 003710 POP <R0,R1,R2> ; ...RESTORE CALLER'S REGISTERS
003710 012600 MOV (SP)+,R0
003712 012601 MOV (SP)+,R1
003714 012602 MOV (SP)+,R2
4175 003716 CALLR .SYNXC ; FORCE SYNCH THE CLOCK AND EXIT
003716 000137 007470' JMP .SYNXC
4176 ;
4177 003722 EBCECT:
4178 003722 ERROR$ ECT ; ERROR -- EBOX CLOCK TIME OUT
003722 012746 017714 MOV #^RECT,-(SP)
003726 104400 TRAP TC.ERR
4179 ;
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 98
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4181 .SBTTL .EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4182
4183 ;+
4184 ; .EXKLM -- SUBROUTINE TO EXAMINE KL MEMORY.
4185 ; .DPKLM -- SUBROUTINE TO DEPOSIT KL MEMORY.
4186 ;
4187 ; THIS SUBROUTINE EXAMINES OR DEPOSITS ONE LOCATION OF KL MEMORY.
4188 ;
4189 ; INPUT ARGUMENTS:
4190 ;
4191 ; R0 MUST CONTAIN ONE OF THE FOLLOWING ADDRESS SPACE CODES:
4192 ;
4193 ; (A) ED.EPT (000) EXEC PROCESS TABLE (RELATIVE),
4194 ; (B) ED.EXV (040) EXEC VIRTUAL ADDRESS SPACE,
4195 ; (C) ED.UPT (100) USER PROCESS TABLE (RELATIVE),
4196 ; (D) ED.USV (140) USER VIRTUAL ADDRESS SPACE,
4197 ; (E) ED.PHY (200) PHYSICAL ADDRESS SPACE.
4198 ;
4199 ; R1 MUST CONTAIN A POINTER TO A TWO WORD POINTER BLOCK OF THE FORM:
4200 ;
4201 ; !===================================!
4202 ; 00 ! POINTER TO KL ADDRESS !
4203 ; !-----------------------------------!
4204 ; 02 ! POINTER TO KL DATA !
4205 ; !===================================!
4206 ;
4207 ; THE KL ADDRESS POINTER MUST POINT TO A TWO WORD BLOCK OF THE FORM:
4208 ;
4209 ; !===================================!
4210 ; 00 ! KL ADDRESS 20 - 35 !
4211 ; !-----------------------------------!
4212 ; 02 ! KL ADDRESS 19 - 14 !
4213 ; !===================================!
4214 ;
4215 ; THE KL DATA POINTER POINTS TO A TRIPLET IN DEXWORD FORMAT.
4216 ;
4217 ; OUTPUT ARGUMENTS:
4218 ;
4219 ; SAME AS INPUT ARGUMENTS.
4220 ;
4221 ; ERROR CODES RETURNED:
4222 ;
4223 ; ESD -- EBOX STOPPED - DEPOSIT.
4224 ; ESE -- EBOX STOPPED - EXAMINE.
4225 ; EMF -- EXAMINE KL MEMORY FAILED.
4226 ; DMF -- DEPOSIT KL MEMORY FAILED.
4227 ;-
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 99
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4229 .ENABL LSB
4230
4231 003730 .EXKLM::
4232 003730 PUSH <R2,R3> ; SAVE R2 AND R3 ON THE STACK
003730 010246 MOV R2,-(SP)
003732 010346 MOV R3,-(SP)
4233 003734 012702 004222' MOV #.ETAB,R2 ; ..POINTER TO EXAMINE TABLE
4234 003740 CALL .EXDPM ; ..GO DO EXAMINE
003740 004737 004020' JSR PC,.EXDPM
4241 003744 032737 000010 000264' BIT #TR.EXM,.TRKWD ; ..ARE WE TRACKING EXAMINES?
4242 003752 001417 BEQ 10$ ; ..NO -- GO ON
4243 003754 CALL .EXTRK ; ..YES -- TRACK IT
003754 004737 012442' JSR PC,.EXTRK
4245 003760 000414 BR 10$ ; ..AND GO AWAY
4246 ;
4247 003762 .DPKLM::
4248 003762 PUSH <R2,R3> ; SAVE R2 AND R3 ON THE STACK
003762 010246 MOV R2,-(SP)
003764 010346 MOV R3,-(SP)
4249 003766 012702 004232' MOV #.DTAB,R2 ; ..POINTER TO DEPOSIT TABLE
4250 003772 CALL .EXDPM ; ..DO THE DEPOSIT
003772 004737 004020' JSR PC,.EXDPM
4257 003776 032737 000020 000264' BIT #TR.DEP,.TRKWD ; ..ARE WE TRACKING DEPOSITS?
4258 004004 001402 BEQ 10$ ; ..NO -- GO ON
4259 004006 CALL .DPTRK ; ..YES -- TRACK THE DEPOSIT
004006 004737 012454' JSR PC,.DPTRK
4261 004012 10$:
4262 004012 POP <R3,R2> ; ..RESTORE R2 AND R3
004012 012603 MOV (SP)+,R3
004014 012602 MOV (SP)+,R2
4263 004016 RETURN ; RETURN TO CALLER
004016 000207 RTS PC
4264
4265 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 100
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4267 ; THIS IS THE COMMON DEPOSIT / EXAMINE CODE
4268
4269 004020 .EXDPM::
4270 004020 000241 CLC ; CLEAR CC-C
4271 004022 012203 MOV (R2)+,R3 ; GET THE DPB POINTER INTO R3
4272 004024 110023 MOVB R0,(R3)+ ; PUT THE MODE INTO THE DPB
4273 004026 011123 MOV (R1),(R3)+ ; PUT THE POINTER TO THE KL ADDRESS IN THE DPB
4274 004030 016113 000002 MOV 2(R1),(R3) ; AND DESTINATION POINTER TOO
4275 004034 011303 MOV (R3),R3 ; GET ADDRESS OF CALLER'S DATA BLOCK
4276 004036 042763 177760 000004 BIC #177760,4(R3) ; CLEAR EXTRANEOUS BITS
4280 004044 DIR$ (R2)+ ; DO THE EXAMINE OR DEPOSIT
004044 012246 MOV (R2)+,-(SP)
004046 104375 EMT 375
4282 004050 103401 BCS 10$ ; ERROR IF CC-C IS SET
4283 004052 RETURN ; TO CALLER
004052 000207 RTS PC
4284 004054 10$:
4285 004054 022737 000000G 000000G CMP #IE.EBX,$DSW ; IS THE EBOX STOPPED?
4286 004062 001401 BEQ 20$ ; YES -- EBOX IS STOPPED
4287 004064 005722 TST (R2)+ ; NO -- OTHER ERROR
4288 004066 20$:
4289 004066 CALL .CESCK ; SEE IF CLOCK ERROR STOP IS UP
004066 004737 000000' JSR PC,.CESCK
4290 004072 103001 BCC 25$ ; [5.1002]CES SWEEP RETURN?
4291 004074 RETURN ; [5.1002]YES -- EXIT
004074 000207 RTS PC
4292 004076 25$: CALL .RESTD ; RESET THE DTE-20 SINCE IT MAY BE CONFUSED
004076 004737 007102' JSR PC,.RESTD
4293 004102 000132 JMP @(R2)+ ; GIVE THE EXAMINE ERROR TRAP
4294 ;
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 101
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4296 ; TABLES FOR EXAMINE / DEPOSIT KL MEMORY
4297
4298 004222 .PSECT DATA
4299
4300 004222 .ETAB:
4301 004222 000327' .WORD .EXDPB+3 ; POINTER FOR EXAMINE MODE IN DPB
4302 004224 000324' .WORD .EXDPB ; EXAMINE DPB POINTER
4303 004226 004120' .WORD EXDESE ; EBOX STOPPED - EXAMINE
4304 004230 004142' .WORD EXDEMF ; EXAMINE KL FAILED
4305
4306 004232 .DTAB:
4307 004232 000315' .WORD .DPDPB+3 ; POINTER FOR DEPOSIT MODE IN DPB
4308 004234 000312' .WORD .DPDPB ; DEPOSIT DPB POINTER
4309 004236 004104' .WORD EXDESD ; EBOX STOPPED - DEPOSIT
4310 004240 004134' .WORD EXDDMF ; DEPOSIT KL FAILED
4311
4312 004104 .PSECT
4313
4314 004104 EXDESD:
4315 004104 042737 100000 000000G BIC #KF.CLK,.KLFLG ; FLAG THE EBOX STOP
4316 004112 ERROR$ ESD ; ERROR -- EBOX STOPPED - DEPOSIT
004112 012746 021074 MOV #^RESD,-(SP)
004116 104400 TRAP TC.ERR
4317 ;
4318 004120 EXDESE:
4319 004120 042737 100000 000000G BIC #KF.CLK,.KLFLG ; FLAG THE EBOX STOP
4320 004126 ERROR$ ESE ; ERROR -- EBOX STOPPED - EXAMINE
004126 012746 021075 MOV #^RESE,-(SP)
004132 104400 TRAP TC.ERR
4321 ;
4322 004134 EXDDMF:
4323 004134 ERROR$ DMF ; ERROR -- DEPOSIT MEMORY FAILED
004134 012746 015416 MOV #^RDMF,-(SP)
004140 104400 TRAP TC.ERR
4324 ;
4325 004142 EXDEMF:
4326 004142 ERROR$ EMF ; ERROR -- EXAMINE MEMORY FAILED
004142 012746 020516 MOV #^REMF,-(SP)
004146 104400 TRAP TC.ERR
4327 ;
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 102
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4329 ; DPB FOR PRIVILEGED DEPOSIT
4330
4331 ; !===============================================!
4332 ; 00 ! DPB SIZE ! DIC !
4333 ; !-----------------------------------------------!
4334 ; 02 ! DEPOSIT TYPE ! DIRECTIVE CODE !
4335 ; !-----------------------------------------------!
4336 ; 04 ! KL DEPOSIT ADDRESS POINTER !
4337 ; !-----------------------------------------------!
4338 ; 06 ! KL DEPOSIT DATA POINTER !
4339 ; !-----------------------------------------------!
4340 ; 10 ! DTE-20 NUMBER !
4341 ; !===============================================!
4342
4343 000312 .PSECT DPBS
4344
4345 000312 .DPDPB::
4346 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
4347 000322' DPDTEN==.-2
4348
4349 ; DPB FOR PRIVILEGED EXAMINE
4350
4351 ; !===============================================!
4352 ; 00 ! DPB SIZE ! DIC !
4353 ; !-----------------------------------------------!
4354 ; 02 ! EXAMINE TYPE ! DIRECTIVE CODE !
4355 ; !-----------------------------------------------!
4356 ; 04 ! KL ADDRESS WORD POINTER !
4357 ; !-----------------------------------------------!
4358 ; 06 ! DATA DESTINATION POINTER !
4359 ; !-----------------------------------------------!
4360 ; 10 ! DTE-20 NUMBER !
4361 ; !===============================================!
4362
4363 000324 .EXDPB::
4364 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
4365 000334' EXDTEN==.-2
4366
4367 004150 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 103
.EXCTF -- FAST INTERNAL EXECUTE 7602.17
4369 .SBTTL .EXCTF -- FAST INTERNAL EXECUTE 7602.17
4370
4371 ;+
4372 ; .EXCTF -- FST INTERNAL EXECUTE.
4373 ;
4374 ; THIS SUBROUTINE WILL EXECUTE A KL INSTRUCTION WITHOUT
4375 ; CLOCKING THE KL OUT THE HALT LOOP; THE KL IS SIMPLY
4376 ; CONTINUED
4377 ;
4378 ; INPUT ARGUMENTS:
4379 ;
4380 ; NONE.
4381 ;
4382 ; OUTPUT ARGUMENTS:
4383 ;
4384 ; NONE.
4385 ;
4386 ; ERROR CODES RETURNED:
4387 ;
4388 ; NONE
4389 ;-
4390
4391 004150 .EXCTF::
4392 004150 PUSH .KLFLG ; SAVE ".KLFLG"
004150 013746 000000G MOV .KLFLG,-(SP)
4393 004154 005116 COM (SP) ; .INVERT IT
4394 004156 032716 140000 BIT #KF.CLK!KF.RUN,(SP)
4395 004162 001013 BNE 10$ ; .NOT REALLY RUNNING -- DO OTHER XCT
4396 004164 005116 COM (SP) ; .RESET SAVED ".KLFLG"
4397 004166 PUSH R0 ; .SAVE R0
004166 010046 MOV R0,-(SP)
4398 004170 CALL .STPKL ; ..STOP THE KL
004170 004737 007272' JSR PC,.STPKL
4399 004174 POP R1 ; ..INSTRUCTION POINTER TO R1
004174 012601 MOV (SP)+,R1
4400 004176 CALL .KLXCT ; .EXECUTE THE INSTRUCTION
004176 004737 005442' JSR PC,.KLXCT
4401 004202 POP .SVKLF ; .SET UP ".SVKLF"
004202 012637 000260' MOV (SP)+,.SVKLF
4402 004206 CALLR .RSTKL ; RESTART THE KL
004206 000137 007220' JMP .RSTKL
4403 ;
4404 004212 10$:
4405 004212 005726 TST (SP)+ ; .FLUSH THE STACK
4406 004214 022020 CMP (R0)+,(R0)+ ; ADVANCE THE POINTER
4407 004216 PUSH <(R0),-(R0),-(R0)>
004216 011046 MOV (R0),-(SP)
004220 014046 MOV -(R0),-(SP)
004222 014046 MOV -(R0),-(SP)
4408 004224 010600 MOV SP,R0 ; ...POINT TO STACKED INSTRUCTION
4409
4410 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 104
.EXCTF -- FAST INTERNAL EXECUTE 7602.17
4412 ; [CONTINUED FROM THE PREVIOUS PAGE]
4413
4414 004226 .EXECT::
4415 004226 010001 MOV R0,R1 ; ...POINTER TO R1
4416 004230 PUSH .KLFLG ; ...SAVE ".KLFLG"
004230 013746 000000G MOV .KLFLG,-(SP)
4417 004234 CALL .KLXCT ; ....START THE EXECUTE
004234 004737 005442' JSR PC,.KLXCT
4418 004240 10$:
4419 004240 CALL .EBCLK ; ....GIVE ONE EBOX CLOCK
004240 004737 003634' JSR PC,.EBCLK
4420 004244 CALL .DTDW1 ; ....READ DTE-20 DIAG WORD 1
004244 004737 003530' JSR PC,.DTDW1
4421 004250 032700 001000 BIT #D1.HLP,R0 ; ....IS THE HALT LOOP UP?
4423 004254 001371 BNE 10$ ; ....YES -- WAIT TILL IT ISN'T
4425 004256 CALL .STCLK ; ....OUT OF HALT LOOP -- START THE CLOCK
004256 004737 007246' JSR PC,.STCLK
4426 004262 012701 005000 MOV #5000,R1 ; ....WAIT COUNT TO R1
4427 004266 20$:
4428 004266 CALL .DTDW1 ; ....READ DTE-20 DIAG WORD 1
004266 004737 003530' JSR PC,.DTDW1
4429 004272 032700 001000 BIT #D1.HLP,R0 ; ....LOOK FOR THE HALT LOOP AGAIN
4433 004276 001002 BNE 30$ ; ....IN THE HALT LOOP -- FINISH UP
4434 004300 077106 SOB R1,20$ ; ....NOT YET -- TRY AGAIN
4435 004302 000424 BR EXECTO ; ....EXECUTE TIMED OUT
4436 ;
4437 004304 30$:
4438 004304 005116 COM (SP) ; ....INVERT OLD ".KLFLG"
4439 004306 032716 140000 BIT #KF.CLK!KF.RUN,(SP) ; ....WAS THE KL RUNNING??
4440 004312 001003 BNE 40$ ; ....NO -- GO ON
4441 004314 CALL .KLCON ; ....YES -- CONTINUE THE KL
004314 004737 004736' JSR PC,.KLCON
4442 004320 000412 BR 60$ ; ....AND EXIT
4443 ;
4444 004322 40$:
4445 004322 032716 100000 BIT #KF.CLK,(SP) ; ....WAS THE CLOCK ON?
4446 004326 001402 BEQ 50$ ; ....YES -- GO ON
4447 004330 CALL .STPXC ; ....NO -- STOP IT
004330 004737 007316' JSR PC,.STPXC
4448 004334 50$:
4449 004334 032716 040000 BIT #KF.RUN,(SP) ; ....WAS THE RUN FLOP ON??
4450 004340 001002 BNE 60$ ; ....NO -- GO ON
4451 004342 CALL .STRUN ; ....YES -- SET IT
004342 004737 007346' JSR PC,.STRUN
4452 004346 60$:
4453 004346 062706 000010 ADD #^D8,SP ; ....RESET THE STACK
4454 004352 RETURN ; AND EXIT
004352 000207 RTS PC
4455 004354 EXECTO:
4456 004354 ERROR$ XTO ; ERROR -- EXECUTE TIMED OUT
004354 012746 114457 MOV #^RXTO,-(SP)
004360 104400 TRAP TC.ERR
4457 ;
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 105
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
4459 .SBTTL .FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
4460
4461 ;+
4462 ; .FREAD -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION READ.
4463 ;
4464 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION READ.
4465 ;
4466 ; SEQUENCE OF OPERATION:
4467 ;
4468 ; THE DFR IS EXECUTED AND DATA LOADED THRU R1 IF R1 .NE. 0,
4469 ; IF R1 IS .EQ. 0 THE DATA IS NOT MOVED FROM ".DFRB".
4470 ;
4471 ; INPUT ARGUMENTS:
4472 ;
4473 ; R0 HOLDS THE FUNCTION READ CODE
4474 ; R1 POINTS TO A DESTINATION BUFFER
4475 ;
4476 ; OUTPUT ARGUMENTS:
4477 ;
4478 ; R0 POINTS TO THE SUBROUTINE DATA BLOCK
4479 ; R1 POINTS TO THE CALLER'S READ BLOCK
4480 ;
4481 ; ERROR CODES RETURNED:
4482 ;
4483 ; FRF -- FUNCTION READ FAILED.
4484 ;-
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 106
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
4486 004362 .FREAD::
4487 004362 110037 000341' MOVB R0,.KLDFR+3 ; SET THE DFR# IN THE DPB
4491 004366 DIR$ #.KLDFR ; CALL THE EXEC TO DO THE READ
004366 012746 000336' MOV #.KLDFR,-(SP)
004372 104375 EMT 375
4493 004374 103420 BCS FRDFRF ; ERROR IF CC-C IS SET
4494 004376 012700 000344' MOV #.DFRB,R0 ; POINT TO TOP OF READ BLOCK
4495 004402 005701 TST R1 ; TEST R1
4496 004404 001405 BEQ 10$ ; EXIT IF R1 .EQ. 0
4497 004406 012021 MOV (R0)+,(R1)+ ; LOAD HIS BUFFER FROM OURS
4498 004410 012021 MOV (R0)+,(R1)+
4499 004412 011011 MOV (R0),(R1)
4500 004414 024040 CMP -(R0),-(R0) ; BACK THE POINTERS UP
4501 004416 024141 CMP -(R1),-(R1)
4502 004420 10$:
4504 004420 032737 000002 000264' BIT #TR.FRD,.TRKWD ; ARE WE TRACKING FUNCTION READS?
4505 004426 001402 BEQ 20$ ; NO -- JUST EXIT
4506 004430 CALL .FRTRK ; YES -- DO IT
004430 004737 012172' JSR PC,.FRTRK
4507 004434 20$:
4509 004434 RETURN ; TO CALLER
004434 000207 RTS PC
4510 004436 FRDFRF:
4511 004436 ERROR$ FRF ; ERROR -- FUNCTION READ FAILED
004436 012746 024126 MOV #^RFRF,-(SP)
004442 104400 TRAP TC.ERR
4512 ;
4513
4514 ; DPB FOR DIAGNOSTIC FUNCTION READ
4515
4516 ; !===============================================!
4517 ; 00 ! DPB SIZE ! DIC !
4518 ; !-----------------------------------------------!
4519 ; 02 ! DFR OPCODE ! DFR CODE !
4520 ; !-----------------------------------------------!
4521 ; 04 ! TRANSFER BUFFER ADDRESS !
4522 ; !-----------------------------------------------!
4523 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
4524 ; !-----------------------------------------------!
4525 ; 10 ! DTE-20 NUMBER !
4526 ; !===============================================!
4527
4528 000336 .PSECT DPBS
4529
4530 000336 .KLDFR::
4531 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
4532 000346' FRDTEN==.-2
4533
4534 004444 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 107
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
4536 .SBTTL .FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
4537
4538 ;+
4539 ; .FWRIT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION WRITE.
4540 ;
4541 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION WRITE.
4542 ;
4543 ; SEQUENCE OF OPERATION:
4544 ;
4545 ; .FWRIT:
4546 ;
4547 ; (A) THE DATA IS LOADED THRU R1 IF R1 .NE. 0,
4548 ; IF R1 IS .EQ. 0 THE DATA IS ASSUMED TO BE IN ".DFWB",
4549 ; (B) THE FUNCTION WRITE IS EXECUTED.
4550 ;
4551 ; INPUT ARGUMENTS:
4552 ;
4553 ; R0 HOLDS THE FUNCTION WRITE CODE
4554 ; R1 POINTS TO A SOURCE BUFFER
4555 ;
4556 ; OUTPUT ARGUMENTS:
4557 ;
4558 ; R0 POINTS TO THE SUBROUTINE DATA BLOCK
4559 ; R1 POINTS TO THE CALLER'S WRITE BLOCK
4560 ;
4561 ; ERROR CODES RETURNED:
4562 ;
4563 ; FWF -- FUNCTION WRITE FAILED.
4564 ;-
4565
4566 004444 .FWRIT::
4567 004444 110037 000353' MOVB R0,.KLDFW+3 ; SET THE DFW# IN THE DPB
4568 004450 012700 000336' MOV #.DFWB,R0 ; POINT TO TOP OF WRITE BLOCK
4569 004454 005701 TST R1 ; TEST R1
4570 004456 001405 BEQ 10$ ; ALREADY IN ".DFWB" IF R1 .EQ. 0
4571 004460 012120 MOV (R1)+,(R0)+ ; LOAD THE DATA BLOCK
4572 004462 012120 MOV (R1)+,(R0)+
4573 004464 011110 MOV (R1),(R0)
4574 004466 024040 CMP -(R0),-(R0) ; BACK THE POINTERS UP
4575 004470 024141 CMP -(R1),-(R1)
4576
4577
4578 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 108
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
4580 ; [CONTINUED FROM THE PREVIOUS PAGE]
4581
4582 004472 10$:
4583 004472 042760 177760 000004 BIC #177760,4(R0) ; FLUSH EXTRANEOUS BITS
4587 004500 DIR$ #.KLDFW ; CALL THE EXEC TO DO THE WRITE
004500 012746 000350' MOV #.KLDFW,-(SP)
004504 104375 EMT 375
4589 004506 103424 BCS FWRFWF ; ERROR IF CC-C IS SET
4590 004510 PUSH R0 ; SAVE THE BUFFER POINTER
004510 010046 MOV R0,-(SP)
4591 004512 113700 000353' MOVB .KLDFW+3,R0 ; .GET THE WRITE CODE
4592 004516 120027 000110 CMPB R0,#FW.044 ; .DID WE WRITE THE CLOCK BOARD?
4593 004522 002406 BLT 20$ ; .NO -- JUST EXIT
4594 004524 120027 000116 CMPB R0,#FW.047 ; .MAYBE -- DID WE REALLY?
4595 004530 003003 BGT 20$ ; .NO -- JUST EXIT
4596 004532 042737 100000 000000G BIC #KF.CLK,.KLFLG ; .YES -- TURN THE CLOCK BIT OFF
4597 004540 20$:
4599 004540 032737 000004 000264' BIT #TR.FWR,.TRKWD ; .ARE WE TRACKING FUNCTION WRITES?
4600 004546 001402 BEQ 30$ ; .NO -- GO ON
4601 004550 CALL .FWTRK ; .YES -- LEAVE TRACKS ON CONSOLE
004550 004737 012212' JSR PC,.FWTRK
4602 004554 30$:
4604 004554 POP R0 ; .RESTORE THE BUFFER POINTER
004554 012600 MOV (SP)+,R0
4605 004556 RETURN ; YES -- RETURN TO CALLER
004556 000207 RTS PC
4606
4607 004560 FWRFWF:
4608 004560 ERROR$ FWF ; ERROR -- FUNCTION WRITE FAILED
004560 012746 024436 MOV #^RFWF,-(SP)
004564 104400 TRAP TC.ERR
4609 ;
4610
4611 ; DPB FOR DIAGNOSTIC FUNCTION WRITE
4612
4613 ; !===============================================!
4614 ; 00 ! DPB SIZE ! DIC !
4615 ; !-----------------------------------------------!
4616 ; 02 ! DFW OPCODE ! DFW CODE !
4617 ; !-----------------------------------------------!
4618 ; 04 ! TRANSFER BUFFER ADDRESS !
4619 ; !-----------------------------------------------!
4620 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
4621 ; !-----------------------------------------------!
4622 ; 10 ! DTE-20 NUMBER !
4623 ; !===============================================!
4624
4625 000350 .PSECT DPBS
4626
4627 000350 .KLDFW::
4628 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
4629 000360' FWDTEN==.-2
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 108-1
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
4630
4631 004566 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 109
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
4633 .SBTTL .FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
4634 ;+
4635 ; .FXCT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
4636 ;
4637 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION EXECUTE AND MAINTAIN
4638 ; THE STATE OF THE KL CLOCK ("KF.CLK") AND RUN FLOP ("KF.RUN") FLAGS
4639 ; IN THE KL STATE FLAG WORD, ".KLFLG".
4640 ;
4641 ; SEQUENCE OF OPERATION:
4642 ;
4643 ; THE DFX IS SIMPLY EXECUTED.
4644 ;
4645 ; INPUT ARGUMENTS:
4646 ;
4647 ; R0 CONTAINS THE FUNCTION EXECUTE CODE
4648 ;
4649 ; OUTPUT ARGUMENTS:
4650 ;
4651 ; NONE.
4652 ;
4653 ; ERROR CODES RETURNED:
4654 ;
4655 ; FXF -- FUNCTION EXECUTE FAILED.
4656 ;-
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 110
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
4658 004566 .FXCT::
4659 004566 110037 000365' MOVB R0,.KLDFX+3 ; SET THE EXECUTE CODE IN THE DPB
4663 004572 DIR$ #.KLDFX ; CALL THE EXEC TO DO THE DFX
004572 012746 000362' MOV #.KLDFX,-(SP)
004576 104375 EMT 375
4665 004600 103453 BCS FXCFXF ; ERROR IF CC-C IS SET
4666 004602 113746 000365' MOVB .KLDFX+3,-(SP) ; PUT THE EXECUTE CODE ON THE STACK
4667 004606 012700 100000 MOV #KF.CLK,R0 ; .FLAG BIT TO R0
4668 004612 121627 000002 CMPB (SP),#FX.CST ; .IS DFX CODE .EQ. 1?
4669 004616 001411 BEQ 10$ ; .YES -- DO CLOCK STARTED STUFF
4670 004620 121627 000016 CMPB (SP),#FX.SMR ; .NO -- IS DFX CODE .GT. 7?
4671 004624 101014 BHI 20$ ; .YES -- LEAVE NOW
4672 004626 030037 000000G BIT R0,.KLFLG ; .NO -- IS THE FLAG OFF ALREADY?
4673 004632 001426 BEQ 40$ ; .YES -- LEAVE NOW
4674 004634 040037 000000G BIC R0,.KLFLG ; .NO -- TURN IF OFF
4675 004640 000423 BR 40$ ; .AND GO AWAY
4676 ;
4677 004642 10$:
4678 004642 030037 000000G BIT R0,.KLFLG ; .IS THE FLAG ON ALREADY?
4679 004646 001020 BNE 40$ ; .YES -- LEAVE NOW
4680 004650 050037 000000G BIS R0,.KLFLG ; .NO -- LIGHT IT UP
4681 004654 000415 BR 40$ ; .AND EXIT
4682 ;
4683 004656 20$:
4684 004656 012700 040000 MOV #KF.RUN,R0 ; .DO RUN FLAG STUFF
4685 004662 121627 000022 CMPB (SP),#FX.SRF ; .SET THE RUN FLOP?
4686 004666 001003 BNE 30$ ; .NO -- GO ON
4687 004670 050037 000000G BIS R0,.KLFLG ; .YES -- SET THE FLAG
4688 004674 000405 BR 40$ ; .AND GO AWAY
4689 ;
4690 004676 30$:
4691 004676 121627 000020 CMPB (SP),#FX.CRF ; .CLEAR RUN FLOP?
4692 004702 001002 BNE 40$ ; .NO -- JUST GO AWAY
4693 004704 040037 000000G BIC R0,.KLFLG ; .YES -- CLEAR THE FLAG
4694
4695 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 111
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
4697 ; [CONTINUED FROM THE PREVIOUS PAGE]
4698
4699 004710 40$:
4701 004710 032737 000001 000264' BIT #TR.FXC,.TRKWD ; .ARE WE TRACKING FUNCTION EXECUTES?
4702 004716 001402 BEQ 50$ ; .NO -- JUST EXIT
4703 004720 CALL .FXTRK ; .YES -- DO IT
004720 004737 012232' JSR PC,.FXTRK
4704 004724 50$:
4706 004724 POP R0 ; .RESTORE R0
004724 012600 MOV (SP)+,R0
4707 004726 RETURN ; TO CALLER
004726 000207 RTS PC
4708 004730 FXCFXF:
4709 004730 ERROR$ FXF ; FUNCTION EXECUTE FAILED
004730 012746 024506 MOV #^RFXF,-(SP)
004734 104400 TRAP TC.ERR
4710 ;
4711
4712 ; DIRECTIVE PARAMETER BLOCK DIAGNOSTIC FUNCTION EXECUTE
4713
4714 ; !===============================================!
4715 ; 00 ! DPB SIZE ! DIC !
4716 ; !-----------------------------------------------!
4717 ; 02 ! DFX OPCODE ! DFX CODE !
4718 ; !-----------------------------------------------!
4719 ; 04 ! TRANSFER BUFFER ADDRESS !
4720 ; !-----------------------------------------------!
4721 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
4722 ; !-----------------------------------------------!
4723 ; 10 ! DTE-20 NUMBER !
4724 ; !===============================================!
4725
4726
4727 000362 .PSECT DPBS
4728
4729 000362 .KLDFX::
4730 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
4731 000372' FXDTEN==.-2
4732
4733 004736 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 112
.KLCON -- KL CONTINUE SUBROUTINE 7710.11
4735 .SBTTL .KLCON -- KL CONTINUE SUBROUTINE 7710.11
4736
4737 ;+
4738 ; .KLCON -- SUBROUTINE TO CONTINUE THE KL.
4739 ; .KLGO -- SUBROUTINE TO FINISH STARTING THE KL.
4740 ;
4741 ; THIS SUBROUTINE STARTS THE KL CLOCK AND SETS THE KL
4742 ; RUN FLOP ".KLCON" SETS THE CONTINUE FLOP PRIOR TO THIS.
4743 ;
4744 ; SEQUENCE OF OPERATION:
4745 ;
4746 ; .KLCON:
4747 ;
4748 ; (A) THE KL CONTINUE FLOP IS SET,
4749 ;
4750 ; .KLGO:
4751 ;
4752 ; (A) THE KL CLOCK IS STARTED IF NOT IN SINGLE PULSE MODE,
4753 ; (B) THE KL RUN FLOP IS SET IF NOT IN SINGLE INSTRUCTION MODE
4754 ; OR SINGLE PULSE MODE.
4755 ;
4756 ; INPUT ARGUMENTS:
4757 ;
4758 ; NONE.
4759 ;
4760 ; OUTPUT ARGUMENTS:
4761 ;
4762 ; NONE.
4763 ;
4764 ; ERROR CODES RETURNED:
4765 ;
4766 ; CFH -- CAN'T FIND KL HALT LOOP.
4767 ; CSK -- CAN'T START KL.
4768 ; DSF -- DTE-20 STATUS FAILURE.
4769 ; FRF -- FUNCTION READ FAILED.
4770 ; FWF -- FUNCTION WRITE FAILED.
4771 ; FXF -- FUNCTION EXECUTE FAILED.
4772 ;-
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 113
.KLCON -- KL CONTINUE SUBROUTINE 7710.11
4774 004736 .KLCON::
4775 004736 PUSH R1 ; SAVE R1 ON THE STACK
004736 010146 MOV R1,-(SP)
4776 004740 012701 000000G MOV #.KLFLG,R1 ; .FLAG WORD POINTER TO R1
4777 004744 .KLGO::
4778 004744 032711 002000 BIT #KF.SPM,(R1) ; .SINGLE PULSE MODE?
4779 004750 001027 BNE 30$ ; .YES -- JUST EXIT
4780 004752 032711 010000 BIT #KF.SIM,(R1) ; .NO -- SINGLE INSTRUCTION MODE?
4781 004756 001002 BNE 10$ ; .YES -- GO ON
4782 004760 CALL .STRUN ; .NO -- SET THE KL RUN FLOP
004760 004737 007346' JSR PC,.STRUN
4783 004764 10$:
4784 004764 012700 000024 MOV #FX.CON,R0 ; .SET THE CONTINUE BUTTON
4785 004770 CALL .FXCT ; .DO IT
004770 004737 004566' JSR PC,.FXCT
4786 004774 032711 100000 BIT #KF.CLK,(R1) ; .IS THE CLOCK RUNNING?
4787 005000 001002 BNE 20$ ; .YES -- EXIT
4788 005002 CALL .STCLK ; .NO -- START THE KL CLOCK
005002 004737 007246' JSR PC,.STCLK
4789 005006 20$:
4790 005006 011100 MOV (R1),R0 ; .GET ".KLFLG" INTO R0
4791 005010 005100 COM R0 ; .INVERT IT
4792 005012 032700 140000 BIT #KF.CLK!KF.RUN,R0 ; .IS THE KL RUNNING??
4793 005016 001004 BNE 30$ ; .NO -- JUST EXIT
4794 005020 052711 000200 BIS #KF.CON,(R1) ; .YES -- KL IS NOW CONTINUEABLE
4795 005024 105037 000000G CLRB .NOHLT ; .LET RSX20F CATCH KL HALTS
4796 005030 30$:
4797 005030 POP R1 ; .RESTORE R1
005030 012601 MOV (SP)+,R1
4798 005032 RETURN ; EXIT
005032 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 114
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
4800 .SBTTL .KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
4801
4802 ;+
4803 ; .KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP
4804 ; AND SYNCH THE EBOX CLOCK LOW.
4805 ;
4806 ; THIS SUBROUTINE CLEARS THE KL RUN FLOP, GETS THE KL INTO
4807 ; THE MICROCODE HALT LOOP, AND TURNS THE KL CLOCK OFF.
4808 ;
4809 ; SEQUENCE OF OPERATION:
4810 ;
4811 ; (A) THE KL RUN FLOP IS TURNED OFF,
4812 ; (B) THE KL IS MOVED INTO THE UCODE HALT LOOP,
4813 ; (C) A SMALL WAIT IS TIMED OUT (TO LET KL I/O SETTLE)
4814 ; (D) THE KL CLOCK IS TURNED OFF,
4815 ; (E) THE KL CLOCK IS SYNCHED LOW.
4816 ;
4817 ; INPUT ARGUMENTS:
4818 ;
4819 ; NONE.
4820 ;
4821 ; OUTPUT ARGUMENTS:
4822 ;
4823 ; NONE.
4824 ;
4825 ; ERROR CODES RETURNED:
4826 ;
4827 ; CFH -- CAN'T FIND KL HALT LOOP.
4828 ; DSF -- DTE-20 STATUS FAILURE.
4829 ; FWF -- FUNCTION WRITE FAILED.
4830 ; FXF -- FUNCTION EXECUTE FAILED.
4831 ;
4832 ; NOTE: THIS SUBROUTINE EXITS WITH THE KL CLOCK OFF.
4833 ;-
4834
4835 005034 .KLHLT::
4836 005034 PUSH <R0,R1,R2> ; SAVE CALLER'S REGISTERS
005034 010046 MOV R0,-(SP)
005036 010146 MOV R1,-(SP)
005040 010246 MOV R2,-(SP)
4837 005042 CALL .DTDW1 ; ...READ DIAG WORD 1
005042 004737 003530' JSR PC,.DTDW1
4838 005046 032700 004000 BIT #D1.CES,R0 ; ...IS CLOCK ERROR STOP UP?
4840 005052 001016 BNE 40$ ; ...YES -- JUST EXIT
4842 005054 CALL .CLRFF ; ...NO -- CLEAR THE RUN FLOP
005054 004737 003420' JSR PC,.CLRFF
4843 005060 012701 000024 MOV #^D20,R1 ; ...SET UP WAIT COUNT
4844
4845 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 115
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
4847 ; [CONTINUED FROM THE PREVIOUS PAGE]
4848
4849 005064 10$:
4850 005064 CALL .DTDW1 ; ...READ THE DTE-20 DIAG WORD 1
005064 004737 003530' JSR PC,.DTDW1
4851 005070 032700 001000 BIT #D1.HLP,R0 ; ...IN THE HALT LOOP YET?
4855 005074 001001 BNE 20$ ; ...YES -- EXIT
4856 005076 077106 SOB R1,10$ ; ...NO -- TRY TILL COUNT EXHAUSTED
4857 005100 20$:
4858 005100 005701 TST R1 ; ...IS R1 .GT. 0?
4859 005102 003407 BLE 50$ ; ...NO -- GO MOVE THE CLOCK MANUALLY
4860 005104 30$:
4861 005104 CALL .STPXC ; ...STOP THE KL CLOCK
005104 004737 007316' JSR PC,.STPXC
4862 005110 40$:
4863 005110 POP <R2,R1,R0> ; ...RESTORE CALLER'S REGISTERS
005110 012602 MOV (SP)+,R2
005112 012601 MOV (SP)+,R1
005114 012600 MOV (SP)+,R0
4864 005116 CALLR .SYNXC ; SYNCH THE EBOX CLOCK LOW AND EXIT
005116 000137 007470' JMP .SYNXC
4865 ;
4866
4867 ; GET HERE IF WE CAN'T GET INTO HALT LOOP NORMALLY.
4868 ; THIS MEANS THAT:
4869 ;
4870 ; (A) MICROCODE WASN'T RUNNING, OR
4871 ; (B) MICROCODE WASN'T LOADED.
4872
4873 005122 50$:
4874 005122 CALL .STPXC ; ...MAKE SURE THE CLOCK IS OFF
005122 004737 007316' JSR PC,.STPXC
4875 005126 012702 000012 MOV #^D10,R2 ; ...ITERATION COUNT TO R2
4876 005132 60$:
4877 005132 012700 000310 MOV #^D200,R0 ; ...200 (DECIMAL) CLOCKS PER PASS
4878 005136 CALL .BURST ; ...BURST THE CLOCK
005136 004737 003340' JSR PC,.BURST
4879 005142 CALL .DTDW1 ; ...READ DTE-20 DIAG WORD 1
005142 004737 003530' JSR PC,.DTDW1
4880 005146 032700 001000 BIT #D1.HLP,R0 ; ...ARE WE IN HALT LOOP NOW?
4884 005152 001354 BNE 30$ ; ...YES -- GO STOP AND SYNCH THE CLOCK
4885 005154 077212 SOB R2,60$ ; ...NO -- LOOP TILL COUNT EXHAUSTED
4886 005156 KLHCFH:
4887 005156 ERROR$ CFH ; ERROR -- CAN'T FIND HALT LOOP
005156 012746 011670 MOV #^RCFH,-(SP)
005162 104400 TRAP TC.ERR
4888 ;
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 116
.KLST -- SUBROUTINE TO START THE KL 7512.08
4890 .SBTTL .KLST -- SUBROUTINE TO START THE KL 7512.08
4891
4892 ; .KLST -- SUBROUTINE TO START THE KL.
4893 ;
4894 ; THIS SUBROUTINE STARTS THE KL FROM THE HALT LOOP AT THE ADDRESS
4895 ; POINTED T0 BY R1 IN THE CALL.
4896 ;
4897 ; SEQUENCE OF OPERATION:
4898 ;
4899 ; (A) THE KL IS STOPPED IN THE HALT LOOP,
4900 ; (B) THE PC WORD IS LOADED INTO THE AR REGISTER,
4901 ; (C) THE KL IS ALLOWED TO RUN THRU ".KLCON".
4902 ;
4903 ; INPUT ARGUMENTS:
4904 ;
4905 ; R1 POINTS TO A 23 BIT KL ADDRESS
4906 ;
4907 ; OUTPUT ARGUMENTS:
4908 ;
4909 ; NONE.
4910 ;
4911 ; ERROR CODES RETURNED:
4912 ;
4913 ; CFH -- CAN'T FIND KL HALT LOOP.
4914 ; CSK -- CAN'T START KL.
4915 ; DSF -- DTE-20 STATUS FAILURE.
4916 ; FRF -- FUNCTION READ FAILED.
4917 ; FWF -- FUNCTION WRITE FAILED.
4918 ; FXF -- FUNCTION EXECUTE FAILED.
4919 ;
4920 ; NOTE:
4921 ;
4922 ; THIS SUBROUTINE IS DEPENDENT UPON MICROCODE VERSION 122.
4923 ;-
4924
4925 005164 .KLST::
4926 005164 PUSH R1 ; SAVE POINTER ON THE STACK
005164 010146 MOV R1,-(SP)
4927 005166 CALL .KLHLT ; .HALT THE KL
005166 004737 005034' JSR PC,.KLHLT
4928 005172 011601 MOV (SP),R1 ; .GET THE POINTER
4929 005174 012700 000176 MOV #FW.LAR,R0 ; .LOAD THE AR REGISTER
4930 005200 CALL .FWRIT ; .DO IT
005200 004737 004444' JSR PC,.FWRIT
4931 005204 012701 000000G MOV #.KLFLG,R1 ; .POINT TO ".KLFLG"
4932 005210 000655 BR .KLGO ; .AND FINISH THE START
4933 ;
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 117
.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
4935 .SBTTL .KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
4936
4937 ;+
4938 ; .KLSTP -- SUBROUTINE TO PUT THE KL INTO THE HALT LOOP.
4939 ;
4940 ; THIS SUBROUTINE WILL PUT THE KL INTO THE MICROCODE HALT LOOP
4941 ; AND EXIT WITH THE KL CLOCK RUNNING.
4942 ;
4943 ; INPUT ARGUMENTS:
4944 ;
4945 ; NONE.
4946 ;
4947 ; OUTPUT ARGUMENTS:
4948 ;
4949 ; NONE.
4950 ;
4951 ; ERROR CODES RETURNED:
4952 ;
4953 ; CFH -- CAN'T FIND HALT LOOP.
4954 ; DSF -- DTE-20 STATUS FAILURE.
4955 ; FXF -- FUNCTION EXECUTE FAILED.
4956 ;-
4957
4958
4959 005212 .KLSTP::
4960 005212 032737 100000 000000G BIT #KF.CLK,.KLFLG ; IS THE CLOCK OFF?
4961 005220 001001 BNE 10$ ; NO -- GO ON
4962 005222 000704 BR .KLHLT ; YES -- HALT THE KL
4963 ;
4964 005224 10$:
4965 005224 PUSH <R0,R1> ; SAVE R0 AND R1 ON THE STACK
005224 010046 MOV R0,-(SP)
005226 010146 MOV R1,-(SP)
4966 005230 012701 000144 MOV #^D100,R1 ; ..SETUP WAIT COUNT
4967 005234 CALL .CLRFF ; ..CLEAR THE RUN FLOP
005234 004737 003420' JSR PC,.CLRFF
4968 005240 20$:
4969 005240 CALL .DTDW1 ; ..READ DIAG WORD 1
005240 004737 003530' JSR PC,.DTDW1
4970 005244 032700 001000 BIT #D1.HLP,R0 ; ..ARE WE IN THE HALT LOOP?
4974 005250 001001 BNE 30$ ; ..YES -- GO ON
4975 005252 077106 SOB R1,20$ ; ..NO -- KEEP TRYING
4976 005254 30$:
4977 005254 005701 TST R1 ; ..IS R1 .GT. 0?
4978 005256 003403 BLE KLSCFH ; ..NO -- GIVE "CFH" ERROR
4979 005260 POP <R1,R0> ; ..YES -- RESTORE REGISTERS
005260 012601 MOV (SP)+,R1
005262 012600 MOV (SP)+,R0
4980 005264 RETURN ; TO CALLER
005264 000207 RTS PC
4981 005266 KLSCFH:
4982 005266 ERROR$ CFH ; ERROR -- CAN'T FIND KL HALT LOOP
005266 012746 011670 MOV #^RCFH,-(SP)
005272 104400 TRAP TC.ERR
4983 ;
4984 004242 .PSECT DATA
4985 004242 STPCI:
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 117-1
.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
4986 004242 IOKL$ CONO KLP,,400000
004242 000 000 .BYTE $$A,$$B
004244 002 176 .BYTE $$C,$$D
004246 017 000 .BYTE $$E,$$F
4987 005274 .PSECT
4988 005274 KLPSTP::
4989 005274 PUSH R0
005274 010046 MOV R0,-(SP)
4990 005276 012700 004242' MOV #STPCI,R0
4991 005302 CALL .EXCTF
005302 004737 004150' JSR PC,.EXCTF
4992 005306 POP R0
005306 012600 MOV (SP)+,R0
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 118
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
4994 .SBTTL .KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
4995
4996 ;+
4997 ; .KLRST -- SUBROUTINE TO RESTART THE KL.
4998 ;
4999 ; THIS SUBROUTINE WILL RESTART THE KL AS DIRECTED BY ".SVKLF",
5000 ; THE SAVED KL STATE FLAG WORD.
5001 ;
5002 ; INPUT ARGUMENTS:
5003 ;
5004 ; THE SAVED COPY OF ".KLFLG" IS IN ".SVKLF"
5005 ;
5006 ; OUTPUT ARGUMENTS:
5007 ;
5008 ; ".SVKLF" IS CLEARED.
5009 ;
5010 ; ERROR CODES RETURNED:
5011 ;
5012 ; CFH -- CAN'T FIND KL HALT LOOP.
5013 ; DSF -- DTE-20 STATUS FAILURE.
5014 ; FRF -- FUNCTION READ FAILED.
5015 ; FWF -- FUNCTION WRITE FAILED.
5016 ; FXF -- FUNCTION EXECUTE FAILED.
5017 ;-
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 119
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
5019 005310 .KLRST::
5020 005310 PUSH <R1,R0> ; SAVE R0 AND R1
005310 010146 MOV R1,-(SP)
005312 010046 MOV R0,-(SP)
5021 005314 013701 000260' MOV .SVKLF,R1 ; ..GET COPY OF OLD FLAGS
5022 005320 032701 013000 BIT #KF.SPM!KF.SIM!KF.BRM,R1
5023 005324 001016 BNE 20$ ; ..BRANCH IF BURST, SINGLE INSTRUCTION OR PULSE MODE
5024 005326 005101 COM R1 ; ..INVERT R1
5025 005330 032701 140000 BIT #KF.RUN!KF.CLK,R1
5026 005334 001011 BNE 10$ ; ..BRANCH IF NOT RUNNING
5027 005336 CALL .STRUN ; ..SET THE RUN FLOP
005336 004737 007346' JSR PC,.STRUN
5028 005342 012700 000024 MOV #FX.CON,R0 ; ..NOW DO THE CONTINUE BUTTON
5029 005346 CALL .FXCT ; ..SO
005346 004737 004566' JSR PC,.FXCT
5030 005352 013701 000260' MOV .SVKLF,R1 ; ..ELSE GET THE WORD AGAIN
5031 005356 000406 BR 30$ ; ..AND GO AWAY
5032 ;
5033 005360 10$:
5034 005360 005101 COM R1 ; ..STRAIGHTEN R1 OUT
5035 005362 20$:
5036 005362 032701 040000 BIT #KF.RUN,R1 ; ..WAS RUN FLOP SET?
5037 005366 001402 BEQ 30$ ; ..NO -- GO ON
5038 005370 CALL .STRUN ; ..YES -- SET THE RUN FLOP
005370 004737 007346' JSR PC,.STRUN
5039 005374 30$:
5040 005374 032701 100000 BIT #KF.CLK,R1 ; ..WAS CLOCK RUNNING?
5041 005400 001413 BEQ 40$ ; ..NO -- JUST EXIT
5042 005402 032737 100000 000000G BIT #KF.CLK,.KLFLG ; ..YES -- IS THE CLOCK ALREADY ON?
5043 005410 001007 BNE 40$ ; ..YES -- JUST EXIT
5044 005412 CALL .STCLK ; ..NO -- START THE CLOCK
005412 004737 007246' JSR PC,.STCLK
5045 005416 032701 040000 BIT #KF.RUN,R1 ; ..DID WE LET IT RUN ?
5046 005422 001402 BEQ 40$ ; ..NO -- JUST EXIT
5047 005424 105037 000000G CLRB .NOHLT ; ..YES -- LET RSX20F CHECK FOR HALTS
5048 005430 40$:
5049 005430 POP <R0,R1> ; ..RESTORE R0 AND R1
005430 012600 MOV (SP)+,R0
005432 012601 MOV (SP)+,R1
5050 005434 005037 000260' CLR .SVKLF ; RESET ".SVKLF"
5051 005440 RETURN ; AND EXIT
005440 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 120
.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
5053 .SBTTL .KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
5054
5055 ;+
5056 ; .KLXCT -- SUBROUTINE TO EXECUTE A KL INSTRUCTION.
5057 ;
5058 ; THIS SUBROUTINE LOADS A KL INSTRUCTION INTO THE AR REGISTER
5059 ; AND CAUSES THAT INSTRUCTION TO BE EXECUTED.
5060 ;
5061 ; SEQUENCE OF OPERATION:
5062 ;
5063 ; (A) THE KL IS STOPPED IN THE HALT LOOP WITH THE CLOCK OFF,
5064 ; (B) INSTRUCTION TO BE EXECUTED IS LOADED INTO THE AR,
5065 ; (C) THE KL CONTINUE FLOP IS SET.
5066 ;
5067 ; INPUT ARGUMENTS:
5068 ;
5069 ; R1 POINTS TO A 36 BIT KL INSTRUCTION WORD
5070 ;
5071 ; OUTPUT ARGUMENTS:
5072 ;
5073 ; NONE.
5074 ;
5075 ; ERROR CODES RETURNED:
5076 ;
5077 ; CFH -- CAN'T FIND KL HALT LOOP.
5078 ; DSF -- DTE-20 STATUS FAILURE.
5079 ; FRF -- FUNCTION READ FAILED.
5080 ; FWF -- FUNCTION WRITE FAILED.
5081 ; FXF -- FUNCTION EXECUTE FAILED.
5082 ;-
5083
5084 005442 .KLXCT::
5085 005442 CALL .KLHLT ; STOP THE KL IN THE HALT LOOP
005442 004737 005034' JSR PC,.KLHLT
5086 005446 012700 000176 MOV #FW.LAR,R0 ; LOAD THE AR REGISTER
5087 005452 CALL .FWRIT ; DO IT
005452 004737 004444' JSR PC,.FWRIT
5088 005456 012700 000024 MOV #FX.CON,R0 ; SET THE "CONTINUE BUTTON"
5089 005462 CALLR .FXCT ; DO IT AND RETURN
005462 000137 004566' JMP .FXCT
5090 ;
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 121
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
5092 .SBTTL .LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
5093
5094 ;+
5095 ; .LDBRC -- SUBROUTINE TO STOP THE KL CLOCK AND LOAD THE
5096 ; MBOX BURST COUNT REGISTER AS IN ".LDBRG".
5097 ; .LDBRG -- SUBROUTINE TO LOAD THE MBOX CLOCK BURST COUNTER.
5098 ;
5099 ; THIS SUBROUTINE LOADS THE KL MBOX BURST COUNT REGISTER
5100 ; WITH THE COUNT PASSED TO IT IN R0.
5101 ;
5102 ; INPUT ARGUMENTS:
5103 ;
5104 ; R0 CONTAINS THE CLOCK COUNT
5105 ;
5106 ; OUTPUT ARGUMENTS:
5107 ;
5108 ; NONE.
5109 ;
5110 ; ERROR CODES RETURNED:
5111 ;
5112 ; FWF -- FUNCTION WRITE FAILED.
5113 ; FXF -- FUNCTION EXECUTE FAILED.
5114 ;-
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 122
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
5116 005466 .LDBRC::
5117 005466 CALL .STPXC ; STOP THE KL CLOCK
005466 004737 007316' JSR PC,.STPXC
5118 005472 .LDBRG::
5119 005472 PUSH <R1,R0> ; SAVE R1 AND R0 ON THE STACK
005472 010146 MOV R1,-(SP)
005474 010046 MOV R0,-(SP)
5120 005476 CALL .CLDFB ; ..CLEAR THE DFW BUFFERS
005476 004737 003370' JSR PC,.CLDFB
5121 005502 011600 MOV (SP),R0 ; ..GET THE BURST COUNT FROM THE STACK
5122 005504 042700 177760 BIC #177760,R0 ; ..CLEAR UNUSED BITS
5123 005510 010037 000336' MOV R0,.DFWB ; ..SET RIGHT COUNT IN THE BUFFER
5124 005514 012700 000104 MOV #FW.LBR,R0 ; ..SET UP TO LOAD THE RIGHT HALF
5125 005520 005001 CLR R1 ; ..CLEAR R1
5126 005522 CALL .FWRIT ; ..DO IT
005522 004737 004444' JSR PC,.FWRIT
5127 005526 011600 MOV (SP),R0 ; ..GET THE ORIGINAL COUNT FROM THE STACK
5128 005530 012701 177774 MOV #-^D4,R1 ; ..SHIFT COUNT TO R1
5129 005534 CALL .SHIFT ; ..SHIFT IT RIGHT 4 PLACES
005534 004737 011130' JSR PC,.SHIFT
5130 005540 042700 177760 BIC #177760,R0 ; ..CLEAR UNUSED BITS
5131 005544 010037 000336' MOV R0,.DFWB ; ..PUT THE HIGH COUNT IN THE WRITE BUFFER
5132 005550 005001 CLR R1 ; ..CLEAR R1
5133 005552 012700 000106 MOV #FW.LBL,R0 ; ..SET UP TO LOAD THE LEFT HALF
5134 005556 CALL .FWRIT ; ..DO IT
005556 004737 004444' JSR PC,.FWRIT
5135 005562 POP <R0,R1> ; ..RESTORE R0 AND R1
005562 012600 MOV (SP)+,R0
005564 012601 MOV (SP)+,R1
5136 005566 RETURN ; AND LEAVE
005566 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 123
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
5138 .SBTTL .LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
5139
5140 ;+
5141 ; .LDCLK -- SUBROUTINE TO LOAD THE KL CLOCK CONTROL REGISTERS.
5142 ; .LDPAR -- SUBROUTINE TO LOAD THE KL PARITY CONTROL REGISTERS.
5143 ;
5144 ; THESE SUBROUTINES SET UP THE KL CLOCK SOURCE, RATE, AND
5145 ; DISTRIBUTION REGISTERS OR THE PARITY CONTROL REGISTERS.
5146 ;
5147 ; SEQUENCE OF OPERATION:
5148 ;
5149 ; .LDCLK:
5150 ;
5151 ; (A) THE KL CLOCK SOURCE, RATE, AND DISTRIBUTION
5152 ; PARAMETERS ARE SET IN THE CLOCK CONTROL REGISTERS,
5153 ; (B) THE PARAMETERS WRITTEN IN (A) ARE SAVED IN THE
5154 ; CLOCK STATUS WORD (".CLKWD").
5155 ;
5156 ; .LDPAR:
5157 ;
5158 ; (A) THE KL INTERNAL PARITY CONTROL BITS ARE WRITTEN INTO THE
5159 ; PARITY CONTROL REGISTER,
5160 ; (B) THE CONTROL BITS WITTEN IN (A) ARE SAVED IN THE PARITY
5161 ; CONTROL WORD (".PSCWD").
5162 ;
5163 ; INPUT ARGUMENTS:
5164 ;
5165 ; R1 POINTS TO A PARAMETER WORD
5166 ;
5167 ; THE CLOCK PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
5168 ;
5169 ; !========================================!
5170 ; ! DISTRIBUTION ! SOURCE AND RATE !
5171 ; !========================================!
5172 ;
5173 ; THE PARITY PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
5174 ;
5175 ; !========================================!
5176 ; ! CONTROL BITS ! CLOCK STOP BITS !
5177 ; !========================================!
5178 ;
5179 ; OUTPUT ARGUMENTS:
5180 ;
5181 ; R0 CONTAINS A COPY OF THE UPDATED PARAMTER WORD
5182 ;
5183 ; ERROR CODES RETURNED:
5184 ;
5185 ; FWF -- FUNCTION WRITE FAILED.
5186 ;-
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 124
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
5188 .ENABL LSB
5189
5190 005570 .LDCLK::
5191 005570 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
005570 004537 010316' JSR R5,.REGSV
5192 005574 012703 000012' MOV #.CLKWD,R3 ; CONTROL WORD POINTER TO R3
5193 005600 012704 000110 MOV #FW.CSR,R4 ; BASE CLOCK WRITE TO R4
5194 005604 000406 BR 10$ ; DO COMMON CODE
5195 ;
5196 005606 .LDPAR::
5197 005606 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
005606 004537 010316' JSR R5,.REGSV
5198 005612 012703 000236' MOV #.PSCWD,R3 ; CONTROL WORD POINTER TO R3
5199 005616 012704 000114 MOV #FW.IPE,R4 ; BASE PARITY WRITE TO R4
5200 ; FALL INTO COMMON CODE
5201 005622 10$:
5202 005622 010102 MOV R1,R2 ; CALLER'S PARAMETER POINTER TO R2
5203 005624 CALL .CLDFW ; CLEAR THE WRITE BUFFER
005624 004737 003404' JSR PC,.CLDFW
5204 005630 005001 CLR R1 ; CLEAR R1
5205 005632 111237 000336' MOVB (R2),.DFWB ; SET LOW BYTE PARAMETER
5206 005636 010400 MOV R4,R0 ; DFW CODE TO R0
5207 005640 CALL .FWRIT ; DO IT
005640 004737 004444' JSR PC,.FWRIT
5208 005644 112223 MOVB (R2)+,(R3)+ ; MARK THE NEW LOW BYTE CODE
5209 005646 005724 TST (R4)+ ; NEXT WRITE CODE
5210 005650 111210 MOVB (R2),(R0) ; SET THE HIGH BYTE PARAMETERS
5211 005652 010400 MOV R4,R0 ; DFW CODE TO R0
5212 005654 CALL .FWRIT ; DO IT
005654 004737 004444' JSR PC,.FWRIT
5213 005660 111223 MOVB (R2),(R3)+ ; MARK THE NEW HIGH BYTE CODE
5214 005662 014300 MOV -(R3),R0 ; PUT A COPY IN R0
5215 005664 RETURN ; EXIT
005664 000207 RTS PC
5216
5217 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 125
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
5219 .SBTTL .LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
5220
5221 ;+
5222 ; .LDCRA -- SUBROUTINE TO LOAD A 12 BIT ADDRESS INTO THE
5223 ; KL CRAM ADDRESS REGISTER.
5224 ;
5225 ; THIS SUBROUTINE LOADS A 12 BIT CRAM ADDRESS INTO THE
5226 ; KL CRAM ADDRESS REGISTER.
5227 ;
5228 ; SEQUENCE OF OPERATION:
5229 ;
5230 ; (A) THE KL CLOCK IS TURNED OFF (BY (B)),
5231 ; (B) THE KL CRAM ADDRESS IS CLEARED BY ".RESET",
5232 ; (C) THE ADDRESS IS LOADED INTO CRAM DIAG ADDR.
5233 ;
5234 ; INPUT ARGUMENTS:
5235 ;
5236 ; R0 CONTAINS THE CRAM ADDRESS TO BE LOADED
5237 ;
5238 ; OUTPUT ARGUMENTS:
5239 ;
5240 ; NONE.
5241 ;
5242 ; ERROR CODES RETURNED:
5243 ;
5244 ; FWF -- FUNCTION WRITE FAILED.
5245 ;-
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 126
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
5247 005666 .LDCRA::
5248 005666 042700 170000 BIC #170000,R0 ; CLEAR UNUSED BITS
5249 005672 PUSH <R1,R0> ; PUT R0 AND R1 ON THE STACK
005672 010146 MOV R1,-(SP)
005674 010046 MOV R0,-(SP)
5250 005676 CALL .RESTP ; ..CLEAR CRAM DIAG ADDR AND CRAM ADDR
005676 004737 007146' JSR PC,.RESTP
5251 ; ..ALSO RETAIN CLOCK AND PARITY CONTROL
5252 005702 CALL .CLDFW ; ..CLEAR THE FW BUFFER
005702 004737 003404' JSR PC,.CLDFW
5253 005706 012700 000336' MOV #.DFWB,R0 ; ..SET UP THE BUFFER ADDRESS
5254 005712 011610 MOV (SP),(R0) ; ..LOAD THE ADDRESS FROM THE STACK
5255 005714 001427 BEQ 10$ ; ..LEAVE NOW IF ZERO
5256 005716 042710 174077 BIC #174077,(R0) ; ..CLEAR UNWANTED BITS
5257 005722 012701 000030 MOV #^D24,R1 ; ..SHIFT COUNT TO R1
5258 005726 CALL .TPSHI ; ..SHIFT IT OVER
005726 004737 011772' JSR PC,.TPSHI
5259 005732 005001 CLR R1 ; ..CLEAR R1
5260 005734 012700 000124 MOV #FW.CA2,R0 ; ..SET UP TO WRITE IT
5261 005740 CALL .FWRIT ; ..DO IT
005740 004737 004444' JSR PC,.FWRIT
5262 005744 011610 MOV (SP),(R0) ; ..GET ADDRESS FROM THE STACK AGAIN
5263 005746 042710 177700 BIC #177700,(R0) ; ..CLEAR UNWANTED BITS
5264 005752 012701 000036 MOV #^D30,R1 ; ..SHIFT COUNT TO R1
5265 005756 CALL .TPSHI ; ..SHIFT THAT OVER
005756 004737 011772' JSR PC,.TPSHI
5266 005762 005001 CLR R1 ; ..CLEAR R1
5267 005764 012700 000122 MOV #FW.CA1,R0 ; ..SET UP TO WRITE IT
5268 005770 CALL .FWRIT ; ..DO IT
005770 004737 004444' JSR PC,.FWRIT
5269 005774 10$:
5270 005774 POP <R0,R1> ; ..RESTORE REGISTERS
005774 012600 MOV (SP)+,R0
005776 012601 MOV (SP)+,R1
5271 006000 RETURN ; EXIT TO CALLER
006000 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 127
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
5273 .SBTTL .MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
5274
5275 ;+
5276 ; .MRCLR -- SUBROUTINE TO CLEAR THE KL IN THE MASTER RESET STATE.
5277 ;
5278 ; THIS SUBROUTINE SETS THE KL MASTER RESET FLOP AND ALLOWS THE
5279 ; KL CLOCK TO RUN, CLEARING THE KL.
5280 ;
5281 ; SEQUENCE OF OPERATION:
5282 ;
5283 ; (A) THE MASTER RESET FLOP IS SET,
5284 ; (B) THE KL CLOCK IS ALLOWED TO RUN FOR A SHORT TIME,
5285 ; (C) THE NXM TIMERS ARE RESYNCHRONIZED,
5286 ; (D) THE KL CLOCK IS STOPPED AND SYNCHED,
5287 ; (E) THE MASTER RESET FLOP IS CLEARED.
5288 ;
5289 ; INPUT ARGUMENTS:
5290 ;
5291 ; NONE.
5292 ;
5293 ; OUTPUT ARGUMENTS:
5294 ;
5295 ; NONE.
5296 ;
5297 ; ERROR CODES RETURNED:
5298 ;
5299 ; FRF -- FUNCTION READ FAILED.
5300 ; FWF -- FUNCTION WRITE FAILED.
5301 ; FXF -- FUNCTION EXECUTE FAILED.
5302 ;-
5303
5304 006002 .MRCLR::
5305 006002 PUSH <R0,R1,R2> ; SAVE REGISTERS
006002 010046 MOV R0,-(SP)
006004 010146 MOV R1,-(SP)
006006 010246 MOV R2,-(SP)
5306 006010 012700 000016 MOV #FX.SMR,R0 ; ...SET MASTER RESET FLOP
5307 006014 CALL .FXCT ; ...DO IT
006014 004737 004566' JSR PC,.FXCT
5308 006020 052737 020000 000000G BIS #KF.MRS,.KLFLG ; ...SET THE FLAG
5309 006026 CALL .STCLF ; ...FORCE START THE KL CLOCK
006026 004737 007254' JSR PC,.STCLF
5310 006032 012701 000764 MOV #^D500,R1 ; ...SET UP WAIT COUNT
5311
5312 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 128
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
5314 ; [CONTINUED FROM THE PREVIOUS PAGE]
5315
5316 006036 10$:
5317 006036 077101 SOB R1,10$ ; ...STALL A WHILE
5318 006040 CALL .STPXC ; ...STOP THE KL CLOCK
006040 004737 007316' JSR PC,.STPXC
5319 006044 CALL .CLDFB ; ...CLEAR THE FUNCTION BUFFERS
006044 004737 003370' JSR PC,.CLDFB
5320 006050 012700 000160 MOV #FW.CHN,R0 ; ...CLEAR THE CHANNELS
5321 006054 CALL .FWRIT ; ...DO IT
006054 004737 004444' JSR PC,.FWRIT
5322 006060 012702 000003 MOV #^D3,R2 ; ...LOOP COUNT TO R2
5323 006064 20$: ; ...HERE TO RESYNCH THE NXM TIMERS
5324 006064 005001 CLR R1 ; ...CLEAR R1
5325 006066 012700 000344 MOV #FR.162,R0 ; ...LOOK FOR [A CHANGE COMING L]
5326 006072 CALL .FREAD ; ...DO THE READ
006072 004737 004362' JSR PC,.FREAD
5327 006076 032710 000010 BIT #BIT03,(R0) ; ...IS IT THERE?
5331 006102 001405 BEQ 30$ ; ...YES -- GO ON
5332 006104 012700 000004 MOV #FX.MBC,R0 ; ...NO -- STEP THE CLOCK
5333 006110 CALL .FXCT ; ...DO IT
006110 004737 004566' JSR PC,.FXCT
5334 006114 077215 SOB R2,20$ ; ...LOOP THREE TIMES MAX
5335 006116 30$:
5336 006116 CALL .SYNXC ; ...SYNCH THE CLOCK
006116 004737 007470' JSR PC,.SYNXC
5337 006122 012700 000014 MOV #FX.CMR,R0 ; ...CLEAR MASTER RESET FLOP
5338 006126 CALL .FXCT ; ...DO IT
006126 004737 004566' JSR PC,.FXCT
5339 006132 042737 020300 000000G BIC #KF.MRS!KF.CON!KF.CES,.KLFLG
5340 ; ...CLEAR THE FLAGS
5341 006140 POP <R2,R1,R0> ; ...RESTORE REGISTERS
006140 012602 MOV (SP)+,R2
006142 012601 MOV (SP)+,R1
006144 012600 MOV (SP)+,R0
5342 006146 RETURN ; EXIT TO CALLER
006146 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 129
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75
5344 .SBTTL .RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 7510.09
5345
5346 ;+
5347 ; .RDCPP -- SUBROUTINE TO READ THE KL CLOCK AND INTERNAL PARITY
5348 ; CHECKING PARAMETERS.
5349 ;
5350 ; THIS SUBROUTINE READS THE KL CLOCK SOURCE, RATE AND DISTRIBUTION
5351 ; ENABLES AS WELL AS THE KL INTERNAL PARITY ENABLES AND MAINTAINS
5352 ; THEM IN ".CLKWD" AND ".PSCWD", RESPECTIVELY.
5353 ;
5354 ; INPUT ARGUMENTS:
5355 ;
5356 ; NONE.
5357 ;
5358 ; OUTPUT ARGUMENTS:
5359 ;
5360 ; ".CLKWD" AND ".PSCWD" CONTAIN THE UPDATED CLOCK AND
5361 ; PARITY ENABLES.
5362 ;
5363 ; ERROR CODES RETURNED:
5364 ;
5365 ; FRF -- FUNCTION READ FAILED.
5366 ;-
5367
5368 006150 .RDCPP::
5369 006150 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
006150 004537 010316' JSR R5,.REGSV
5370 006154 PUSH R0 ; R0 TOO
006154 010046 MOV R0,-(SP)
5371 006156 012704 000004 MOV #^D4,R4 ; .USE R4 AS A COUNTER
5372 006162 012703 004270' MOV #RDCPT1,R3 ; .BIT TEST TABLE POINTER TO R3
5373 006166 012705 004260' MOV #RDCPT3,R5 ; .SAVE AREA POINTER TO R5
5374 006172 10$:
5375 006172 112300 MOVB (R3)+,R0 ; .FR CODE TO R0
5376 006174 005001 CLR R1 ; .CLEAR R1
5377 006176 CALL .FREAD ; .READ A WORD
006176 004737 004362' JSR PC,.FREAD
5378 006202 011025 MOV (R0),(R5)+ ; .SAVE BITS 20 THRU 35 IN TABLE
5379 006204 077406 SOB R4,10$ ; .READ ALL FOUR OF THEM
5380 006206 005037 000012' CLR .CLKWD ; .CLEAR THE OLD CLOCK PARAMETERS
5381 006212 005037 000236' CLR .PSCWD ; .AND THE OLD PARITY STOP PARAMETERS
5382
5383 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 130
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75
5385 ; [CONTINUED FROM THE PREVIOUS PAGE]
5386
5387 006216 012700 000004 MOV #^D4,R0 ; .DO OUTER LOOP 4 TIMES
5388 006222 012705 004260' MOV #RDCPT3,R5 ; .KL SAVE AREA POINTER TO R5
5389 006226 20$:
5390 006226 012704 000004 MOV #^D4,R4 ; .DO INNER LOOP 4 TIMES
5391 006232 012702 004250' MOV #RDCPT2,R2 ; .KL MASK POINTER TO R2
5392 006236 30$:
5393 006236 012701 000012' MOV #.CLKWD,R1 ; .CLOCK WORD POINTER TO R1
5394 006242 020427 000002 CMP R4,#^D2 ; .IS INNER LOOP COUNT .GT. 2?
5395 006246 101004 BHI 50$ ; .YES -- CONTINUE
5396 006250 001001 BNE 40$ ; .NO -- IS IT .LT. 2?
5397 006252 005115 COM (R5) ; .NO -- INVERT THE WORD SO REST OF CODE WORKS
5398 006254 40$:
5399 006254 012701 000236' MOV #.PSCWD,R1 ; .DO PARITY WORD
5400 006260 50$:
5401 006260 041311 BIC (R3),(R1) ; .FLUSH THE BIT IN THE FLAG WORD
5402 006262 031215 BIT (R2),(R5) ; .TEST THE BIT WE READ IN THIS WORD
5403 006264 001401 BEQ 60$ ; .BRANCH IF BIT IS OFF
5404 006266 051311 BIS (R3),(R1) ; .TURN THE BIT ON IN THE FLAG WORD
5405 006270 60$:
5406 006270 022322 CMP (R3)+,(R2)+ ; .ADVANCE THE MASK POINTERS
5407 006272 077417 SOB R4,30$ ; .DO INNER LOOP 4 TIMES
5408 006274 005125 COM (R5)+ ; .ADVANCE THE SAVE AREA POINTER
5409 ; .AND STRAIGHTEN THE WORD OUT
5410 006276 077025 SOB R0,20$ ; .DO OUTER LOOP 4 TIMES
5411 006300 POP R0 ; .GIVE R0 BACK
006300 012600 MOV (SP)+,R0
5412 006302 RETURN ; AND GO AWAY
006302 000207 RTS PC
5413
5414 ; THESE BITS ARE USED TO MASK THE DATA FROM THE FUNCTION READS
5415
5416 004250 .PSECT DATA
5417
5418 004250 RDCPT2:
5419 004250 000010 .WORD BIT03 ; KL BIT 32
5420 004252 000004 .WORD BIT02 ; KL BIT 33
5421 004254 000002 .WORD BIT01 ; KL BIT 34
5422 004256 000001 .WORD BIT00 ; KL BIT 35
5423
5424 ; THE DATA FROM THE FUNCTION READS ARE STORED IN THIS TABLE
5425
5426 004260 RDCPT3:
5427 004260 000000 .WORD 0 ; FR.104 BITS 20 - 35
5428 004262 000000 .WORD 0 ; FR.105 BITS 20 - 35
5429 004264 000000 .WORD 0 ; FR.106 BITS 20 - 35
5430 004266 000000 .WORD 0 ; FR.107 BITS 20 - 35
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 131
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75
5432 ; TABLES USED TO READ AND SET CLOCK AND PARITY ENABLES
5433 ; THE FIRST FOUR BYTES IN THIS TABLE ARE THE FUNCTION READ CODES
5434 ; TO BE EXECUTED, THE REMAINING WORDS ARE USED TO SET OR CLEAR
5435 ; THE APPROPRIATE BITS IN ".CLKWD" AND ".PSCWD"
5436
5437 004270 RDCPT1:
5438 004270 210 .BYTE FR.104
5439 004271 212 .BYTE FR.105
5440 004272 214 .BYTE FR.106
5441 004273 216 .BYTE FR.107
5442 004274 000010 .WORD CS.CS2 ; CLK SOURCE 2 H [FR.104 - BIT 32]
5443 ; [FW 44 - BIT 32]
5444 004276 000000 .WORD 0 ; BLANK [FR.104 - BIT 33]
5445 004300 000010 .WORD IP.FMP ; FM PAR EN L [FR.104 - BIT 34]
5446 ; [FW 46 - BIT 32]
5447 004302 000000 .WORD 0 ; BLANK [FR.104 - BIT 35]
5448 004304 000004 .WORD CS.CS1 ; CLK SOURCE 1 H [FR.105 - BIT 32]
5449 ; [FW 44 - BIT 33]
5450 004306 002000 .WORD CD.CRC ; CLK CRAM DIS H [FR.105 - BIT 33]
5451 ; [FW 45 - BIT 33]
5452 004310 000004 .WORD IP.CRP ; CRAM PAR EN L [FR.105 - BIT 34]
5453 ; [FW 46 - BIT 33]
5454 004312 000000 .WORD 0 ; BLANK [FR.105 BIT - 35]
5455 004314 000002 .WORD CR.CR2 ; CLK RATE 2 H [FR.106 - BIT 32]
5456 ; [FW 44 - BIT 34]
5457 004316 001000 .WORD CD.DPC ; CLK EDP DIS H [FR.106 - BIT 33]
5458 ; [FW 45 - BIT 34]
5459 004320 000002 .WORD IP.DRP ; DRAM PAR EN L [FR.106 - BIT 34]
5460 ; [FW 46 - BIT 34]
5461 004322 001000 .WORD AP.ARP ; AR/ARX PAR EN L [FR.106 - BIT 35]
5462 ; [FW 47 - BIT 34]
5463 004324 000001 .WORD CR.CR1 ; CLK RATE 1 H [FR.107 - BIT 32]
5464 ; [FW 44 - BIT 35]
5465 004326 000400 .WORD CD.CLC ; CLK CTL DIS H [FR.107 - BIT 33]
5466 ; [FW 45 - BIT 35]
5467 004330 000001 .WORD IP.FSS ; FS STOP EN L [FR.107 -BIT 34]
5468 ; [FW 46 - BIT 35]
5469 004332 000400 .WORD AP.EIP ; CLK ERR STOP EN L [FR.107 - BIT 35]
5470 ; [FW 47 - BIT 35]
5471
5472 006304 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 132
.RDCRD -- SUBROUTINE TO READ THE KL CRAM DISP FIELD 7511.22
5474 .SBTTL .RDCRD -- SUBROUTINE TO READ THE KL CRAM DISP FIELD 7511.22
5475
5476 ;+
5477 ; .RDCRD -- SUBROUTINE TO READ THE KL CRAM DISP FIELD.
5478 ;
5479 ; THIS SUBROUTINE READS AND RETURNS THE CONTENT OF THE CRAM DISP FIELD
5480 ; IN R0.
5481 ;
5482 ; INPUT ARGUMENTS:
5483 ;
5484 ; NONE.
5485 ;
5486 ; OUTPUT ARGUMENTS:
5487 ;
5488 ; R0 CONTAINS THE CURRENT CRAM DISP FIELD
5489 ;
5490 ; ERROR CODES RETURNED:
5491 ;
5492 ; FRF -- FUNCTION READ FAILED.
5493 ;-
5494
5495 006304 .RDCRD::
5496 006304 PUSH R1 ; SAVE R1 ON THE STACK
006304 010146 MOV R1,-(SP)
5497 006306 005001 CLR R1 ; .CLEAR R1
5498 006310 012700 000302 MOV #FR.CRD,R0 ; .FR CODE TO R0
5499 006314 CALL .FREAD ; .READ IT
006314 004737 004362' JSR PC,.FREAD
5500 006320 012701 177742 MOV #-^D30,R1 ; .SHIFT COUNT TO R1
5501 006324 CALL .TPSHI ; .SHIFT IT
006324 004737 011772' JSR PC,.TPSHI
5502 006330 042710 177700 BIC #^C77,(R0) ; .MASK UNWANTED BITS
5503 006334 011000 MOV (R0),R0 ; .COPY TO R0
5504 006336 POP R1 ; .RESTORE R1
006336 012601 MOV (SP)+,R1
5505 006340 RETURN ; AND GO AWAY
006340 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 133
.RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19
5507 .SBTTL .RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19
5508
5509 ;+
5510 ; .RDCRM -- SUBROUTINE TO READ A LOCATION IN THE KL CONTROL RAM.
5511 ; .RDCRR -- SUBROUTINE TO READ THE OUTPUT OF THE CRAM REGISTER.
5512 ;
5513 ; THIS SUBROUTINE WILL READ ONE LOCATION IN THE KL CONTROL RAM.
5514 ;
5515 ; SEQUENCE OF OPERATION:
5516 ;
5517 ; .RDCRM:
5518 ;
5519 ; (A) THE KL IS HALTED IN THE HALT LOOP,
5520 ; (B) THE CONTROL RAM ADDRESS IS LOADED,
5521 ;
5522 ; .RDCRR:
5523 ;
5524 ; (C) THE CONTENT OF THE CURRENT CRAM ADDRESS IS READ.
5525 ;
5526 ; INPUT ARGUMENTS:
5527 ;
5528 ; R0 CONTAINS THE CRAM ADDRESS TO BE READ IN THE CALL TO ".RDCRM".
5529 ;
5530 ; OUTPUT ARGUMENTS:
5531 ;
5532 ; R0 CONTAINS A POINTER TO THE RAM DATA.
5533 ;
5534 ; THE FOLLOWING IS A PICTURE OF THRE DATA RETURNED BY THIS SUBROUTINE:
5535 ;
5536 ; WORD CRAM DATA
5537 ; ---- ---------
5538 ; +==================================+
5539 ; 00 | CRAM BITS 68 THRU 78 |
5540 ; +----------------------------------+
5541 ; 01 | CRAM BITS 60 THRU 66 |
5542 ; +----------------------------------+
5543 ; 02 | CRAM BITS 48 THRU 59 |
5544 ; +----------------------------------+
5545 ; 03 | CRAM BITS 40 THRU 47 |
5546 ; +----------------------------------+
5547 ; 04 | CRAM BITS 28 THRU 39 |
5548 ; +----------------------------------+
5549 ; 05 | CRAM BITS 20 THRU 27 |
5550 ; +----------------------------------+
5551 ; 06 | CRAM BITS 08 THRU 19 |
5552 ; +----------------------------------+
5553 ; 07 | CRAM BITS 00 THRU 07 |
5554 ; +----------------------------------+
5555 ; 08 | CRAM DISP BITS 00 THRU 04 |
5556 ; +==================================+
5557 ;
5558 ; ERROR CODES RETURNED:
5559 ;
5560 ; CAE -- CRAM ADDRESS ERROR.
5561 ; FRF -- FUNCTION READ FAILED.
5562 ; FWF -- FUNCTION WRITE FAILED.
5563 ; FXF -- FUNCTION EXECUTE FAILED.
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 133-1
.RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19
5564 ;-
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 134
.RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19
5566 006342 .RDCRM::
5567 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)
5568 006352 020027 003777 CMP R0,#3777 ; ....[TCO 6.????]IS THE ADDRESS IN RANGE?
5569 006356 101052 BHI RDCRME ; ....NO -- GIVE "CRA" ERROR
5570 006360 CALL .LDCRA ; ....YES -- LOAD THE CRAM ADDRESS
006360 004737 005666' JSR PC,.LDCRA
5571 006364 012700 000006 MOV #FX.EBC,R0 ; ....NOW CLOCK THE DATA OUT OF THE RAM
5572 006370 CALL .FXCT ; ....DO IT
006370 004737 004566' JSR PC,.FXCT
5573 006374 .RDCRR:: ; ....HERE TO READ THE CRAM REGISTER
5574 006374 012702 000022' MOV #.CRAMR,R2 ; ....SAVE AREA POINTER TO R2
5575 006400 012704 000310 MOV #FR.CR4,R4 ; ....BASE READ TO R4
5576 006404 012703 000004 MOV #^D4,R3 ; ....USE R3 AS A COUNTER
5577 006410 10$:
5578 006410 005001 CLR R1 ; ....CLEAR R1
5579 006412 010400 MOV R4,R0 ; ....PASS THE FREAD CODE
5580 006414 CALL .FREAD ; ....DO IT
006414 004737 004362' JSR PC,.FREAD
5581 006420 012022 MOV (R0)+,(R2)+ ; ....LOAD CALLER'S BUFFER FROM OURS
5582 006422 012022 MOV (R0)+,(R2)+ ; ....
5583 006424 062704 000002 ADD #^D2,R4 ; ....INCREMENT THE FREAD CODE
5584 006430 077311 SOB R3,10$ ; ....LOOP TILL DONE
5585 006432 CALL .RDCRD ; ....READ THE DISPATCH FIELD
006432 004737 006304' JSR PC,.RDCRD
5586 006436 010012 MOV R0,(R2) ; ....PUT IT IN THE DATA BLOCK
5587 006440 CALL .CLDFW ; ....CLEAR THE FUNCTION WRITE BUFFER
006440 004737 003404' JSR PC,.CLDFW
5588 006444 005001 CLR R1 ; ....CLEAR R1
5589 006446 012700 000122 MOV #FW.CA1,R0 ; ....CLEAR CRAM DIAG ADDR
5590 006452 CALL .FWRIT ; ....SO
006452 004737 004444' JSR PC,.FWRIT
5591 006456 012700 000124 MOV #FW.CA2,R0 ; ....NOW THE OTHER HALF
5592 006462 CALL .FWRIT ; ....SO
006462 004737 004444' JSR PC,.FWRIT
5593 006466 012700 000022' MOV #.CRAMR,R0 ; ....POINT TO SAVE AREA
5594 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
5595 006502 RETURN ; TO CALLER
006502 000207 RTS PC
5596 006504 RDCRME:
5597 006504 ERROR$ CAE ; ERROR -- CRAM ADDRESS ERROR
006504 012746 011355 MOV #^RCAE,-(SP)
006510 104400 TRAP TC.ERR
5598 ;
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 135
.RDCRO -- SUBROUTINE TO READ THE KL CRAM OUTPUT 7511.05
5600 .SBTTL .RDCRO -- SUBROUTINE TO READ THE KL CRAM OUTPUT 7511.05
5601
5602 ;+
5603 ; .RDCRO -- SUBROUTINE TO READ THE KL CRAM OUTPUT.
5604 ;
5605 ; THIS SUBROUTINE WILL READ THE CURRENT OUTPUT OF THE KL CRAM
5606 ; AND IS USEFUL ON CLOCK ERROR STOPS (Q.V.) WHICH ARE CAUSED BY
5607 ; CRAM PARITY ERRORS.
5608 ;
5609 ; INPUT ARGUMENTS:
5610 ;
5611 ; NONE.
5612 ;
5613 ; OUTPUT ARGUMENTS:
5614 ;
5615 ; R0 CONTAINS A POINTER TO A TEN WORD BLOCK WHICH CONTAINS THE
5616 ; CURRENT CRAM ADDRESS FOLLOWED BY THE CURRENT CRAM CONTENTS
5617 ;
5618 ; ERROR CODES RETURNED:
5619 ;
5620 ; CAE -- CRAM ADDRESS ERROR.
5621 ; FRF -- FUNCTION READ FAILED.
5622 ; FWF -- FUNCTION WRITE FAILED.
5623 ; FXF -- FUNCTION EXECUTE FAILED.
5624 ;-
5625
5626 006512 .RDCRO:
5627 006512 CALL .RDCRA ; READ THE CRAM ADDRESS
006512 004737 000000G JSR PC,.RDCRA
5628 006516 010037 000020' MOV R0,.CRAMA ; SAVE THE ADDRESS
5629 006522 CALL .RDCRR ; READ THE CRAM DATA
006522 004737 006374' JSR PC,.RDCRR
5630 006526 005740 TST -(R0) ; RETURN POINTER
5631 006530 RETURN ; TO CALLER
006530 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 136
.RDFMA -- SUBROUTINE TO READ THE KL FM ADDRESS 7511.14
5633 .SBTTL .RDFMA -- SUBROUTINE TO READ THE KL FM ADDRESS 7511.14
5634
5635 ;+
5636 ; .RDFMA -- SUBROUTINE TO READ THE KL FAST MEMORY ADDRESS REGISTER.
5637 ;
5638 ; THIS SUBROUTINE WILL READ AND RETURN THE KL FAST MEMORY ADDRESS
5639 ; A LOCATION POINTED TO BY R1 IN THE CALL. IF R1 IS ZERO, THE DATA
5640 ; IS RETURNED ONLY IN R0.
5641 ;
5642 ; INPUT ARGUMENTS:
5643 ;
5644 ; R1 POINTS TO A BUFFER FOR THE DATA
5645 ;
5646 ; OUTPUT ARGUMENTS:
5647 ;
5648 ; R0 CONTAINS THE DATA
5649 ; THE BUFFER POINTED TO BY R1 CONTAINS THE DATA
5650 ;
5651 ; THE FORMAT OF THE DATA RETURNED IS:
5652 ;
5653 ; !===============================================!
5654 ; ! FM BLOCK ! FM ADDRESS !
5655 ; !===============================================!
5656 ;
5657 ; ERROR CODES RETURNED:
5658 ;
5659 ; FRF -- FUNCTION READ FAILED.
5660 ;-
5661
5662 006532 .RDFMA::
5663 006532 PUSH R1 ; SAVE R1 ON THE STACK
006532 010146 MOV R1,-(SP)
5664 006534 005001 CLR R1 ; .CLEAR R1
5665 006536 012700 000230 MOV #FR.114,R0 ; .FR CODE TO READ FM ADDRESS
5666 006542 CALL .FREAD ; .READ IT
006542 004737 004362' JSR PC,.FREAD
5667 006546 012701 177753 MOV #-^D21,R1 ; .SHIFT COUNT TO R1
5668 006552 CALL .TPSHI ; .SHIFT IT
006552 004737 011772' JSR PC,.TPSHI
5669 006556 PUSH (R0) ; .SAVE THE WORD ON THE STACK
006556 011046 MOV (R0),-(SP)
5670 006560 042716 177760 BIC #177760,(SP) ; ..MASK FM ADDRESS
5671 006564 042710 176017 BIC #176017,(R0) ; ..MASK OUT THE FM BLOCK NUMBER
5672 006570 012701 000004 MOV #^D4,R1 ; ..SHIFT IT INTO THE HIGH BYTE
5673 006574 CALL .TPSHI ; ..SO
006574 004737 011772' JSR PC,.TPSHI
5674 006600 052610 BIS (SP)+,(R0) ; ..SET IN THE FAST MEMORY ADDRESS
5675 006602 011000 MOV (R0),R0 ; .GET IT INTO R0
5676 006604 POP R1 ; .DO WE HAVE A POINTER?
006604 012601 MOV (SP)+,R1
5677 006606 001401 BEQ 10$ ; NO -- JUST EXIT
5678 006610 010011 MOV R0,(R1) ; YES -- PUT IT WHERE HE WANTS IT
5679 006612 10$: RETURN ; AND LEAVE
006612 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 137
.RDFMO -- SUBROUTINE TO READ KL FAST MEMORY OUTPUT 7708.30
5681 .SBTTL .RDFMO -- SUBROUTINE TO READ KL FAST MEMORY OUTPUT 7708.30
5682
5683 ;+
5684 ; .RDFMO -- SUBROUTINE TO READ THE KL FAST MEMORY REGISTERS
5685 ;
5686 ; THIS SUBROUTINE WILL READ AND STORE THE FAST MEMORY ADDRESS AND
5687 ; OUTPUT IN A FOUR WORD BLOCK STARTING AT ".FMADR", AND IS USEFUL
5688 ; FOR GATHERING DATA ON FAST MEMORY PARITY ERRORS.
5689 ;
5690 ; INPUT ARGUMENTS:
5691 ;
5692 ; R0 POINTS TO OUTPUT BUFFER
5693 ;
5694 ; OUTPUT ARGUMENTS:
5695 ;
5696 ; R0 POINTS TO OUTPUT BUFFER
5697 ;
5698 ; ERROR CODES RETURNED:
5699 ;
5700 ; FRF -- FUNCTION READ FAILED.
5701 ;-
5702
5703 006614 .RDFMO::
5704 006614 PUSH <R1,R0> ; SAVE R0,R1 ON THE STACK
006614 010146 MOV R1,-(SP)
006616 010046 MOV R0,-(SP)
5705 006620 005001 CLR R1 ; ..CLEAR R1
5706 006622 CALL .RDFMA ; ..READ THE FAST MEMORY ADDRESS
006622 004737 006532' JSR PC,.RDFMA
5707 006626 011601 MOV (SP),R1 ; ..SET UP POINTER
5708 006630 010021 MOV R0,(R1)+ ; ..SAVE FM ADDRESS
5709 006632 012700 000246 MOV #FR.RFM,R0 ; ..READ FM REGISTER FUNCTION READ
5710 006636 CALL .FREAD ; ..READ IT
006636 004737 004362' JSR PC,.FREAD
5711 006642 POP <R0,R1> ; ..RESTORE R1,R0
006642 012600 MOV (SP)+,R0
006644 012601 MOV (SP)+,R1
5712 006646 RETURN ; TO CALLER
006646 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 138
.RDFMP -- READ FM PARITY ERROR BIT
5714 .SBTTL .RDFMP -- READ FM PARITY ERROR BIT
5715
5716 ;+
5717 ; .RDFMP -- SUBROUTINE TO READ FM PARITY BIT
5718 ;
5719 ; THIS ROUTINE WILL:
5720 ; 1. READ FM BLOCK,ADDR,AND PARITY
5721 ; 2. SHIFT PARITY BIT INTO R0
5722 ;
5723 ; INPUT ARGUMENTS:
5724 ;
5725 ; NONE
5726 ;
5727 ; OUTPUT ARGUMENTS:
5728 ;
5729 ; R0-PARITY ERROR BIT VALUE
5730 ;
5731 ; ERROR CODES RETURNED:
5732 ;
5733 ; FRF -- FUNCTION READ FAILED
5734 ;-
5735
5736 006650 .RDFMP::
5737 006650 005001 CLR R1 ; NO BUFFER FOR .FREAD OUTPUT
5738 006652 012700 000230 MOV #FR.114,R0 ; FUNCTION READ 114
5739 006656 CALL .FREAD ; DO READ
006656 004737 004362' JSR PC,.FREAD
5740 006662 103407 BCS 10$ ; ERROR
5741 006664 012701 177756 MOV #-^D18,R1 ; SHIFT KL BIT 17 TO ELEVEN BIT 0
5742 006670 CALL .TPSHI ; SHIFT IT
006670 004737 011772' JSR PC,.TPSHI
5743 006674 011000 MOV (R0),R0 ; GET VALUE
5744 006676 042700 177776 BIC #177776,R0 ; CLEAR ALL BUT BIT 0
5745 006702 10$: RETURN
006702 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 139
.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
5747 .SBTTL .RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
5748
5749 ;+
5750 ; .RDIPE -- SUBROUTINE TO READ THE KL INTERNAL PARITY ERROR FLAGS.
5751 ;
5752 ; THIS SUBROUTINE READS THE INTERNAL KL PARITY ERROR FLAGS AND
5753 ; STORES THEM IN ".PEWRD" IN THE FOLLOWING FORMAT:
5754 ;
5755 ; (A) BIT00 ("PE.CES") [CLK ERROR STOP H],
5756 ; (B) BIT01 ("PE.DRM") [CLK DRAM PAR ERR H],
5757 ; (C) BIT02 ("PE.CRM") [CLK CRAM PAR ERR H],
5758 ; (D) BIT03 ("PE.FMP") [CLK FM PAR ERR H],
5759 ; (E) BIT04 ("PE.FSS") [CLK FS ERROR H].
5760 ;
5761 ; INPUT ARGUMENTS:
5762 ;
5763 ; NONE.
5764 ;
5765 ; OUTPUT ARGUMENTS:
5766 ; R0 CONTAINS A COPY OF THE FLAGS IN ".PEWRD".
5767 ;
5768 ; ERROR CODES RETURNED:
5769 ;
5770 ; FRF -- FUNCTION READ FAILED.
5771 ;-
5772
5773 006704 .RDIPE::
5774 006704 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
006704 004537 010316' JSR R5,.REGSV
5775 006710 012702 000204 MOV #FR.102,R2 ; BASE FUNCTION READ TO R2
5776 006714 012703 000040 MOV #BIT05,R3 ; MASK BIT TO R3
5777 006720 012704 000230' MOV #.PEWRD,R4 ; WORD POINTER TO R4
5778 006724 005014 CLR (R4) ; CLEAR THE WORD
5779 006726 012705 000001 MOV #BIT00,R5 ; BASE WORD MASK TO R5
5780 006732 005001 CLR R1 ; CLEAR R1
5781 006734 10$:
5782 006734 010200 MOV R2,R0 ; GET THE FR NUMBER
5783 006736 CALL .FREAD ; DO THE READ
006736 004737 004362' JSR PC,.FREAD
5784 006742 030310 BIT R3,(R0) ; IS THE BIT ON?
5785 006744 001401 BEQ 20$ ; NO -- GO ON
5786 006746 050514 BIS R5,(R4) ; YES -- SET THE BIT IN THE WORD
5787 006750 20$:
5788 006750 062702 000002 ADD #^D2,R2 ; NEXT FUNCTION READ
5789 006754 006305 ASL R5 ; SHIFT THE WORD MASK
5790 006756 020503 CMP R5,R3 ; ARE WE DONE?
5791 006760 001365 BNE 10$ ; NO -- KEEP GOING
5795 006762 011400 MOV (R4),R0 ; YES -- PUT THE WORD IN R0
5796 006764 RETURN ; AND GO AWAY
006764 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 140
.RESET -- KL RESET SUBROUTINES 7511.18
5798 .SBTTL .RESET -- KL RESET SUBROUTINES 7511.18
5799
5800 ;+
5801 ; .RESET -- SUBROUTINE TO RESET THE KL.
5802 ;
5803 ; THIS SUBROUTINE PERFORM ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
5804 ; THE KL MICROPROCESSOR AND SET UP CLOCK ENABLES AND PARITY STOPS.
5805 ;
5806 ; SEQUENCE OF OPERATION:
5807 ;
5808 ; (A) THE DTE-20 IS CLEARED,
5809 ; (B) THE MASTER RESET SUBROUTINE IS INVOKED,
5810 ; (C) THE MAJOR KL CONTROL REGISTERS ARE CLEARED
5811 ; (THIS IS A FULL KL MASTER RESET).
5812 ;
5813 ; INPUT ARGUMENTS:
5814 ;
5815 ; NONE.
5816 ;
5817 ; OUTPUT ARGUMENTS:
5818 ;
5819 ; NONE.
5820 ;
5821 ; ERROR CODES RETURNED:
5822 ;
5823 ; DSF -- DTE-20 STATUS FAILURE.
5824 ; FRF -- FUNCTION READ FAILED.
5825 ; FWF -- FUNCTION WRITE FAILED.
5826 ; FXF -- FUNCTION EXECUTE FAILED.
5827 ;-
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 141
.RESET -- KL RESET SUBROUTINES 7511.18
5829 006766 .RESET::
5830 006766 PUSH <R0,R1,R2> ; SAVE CALLER'S REGISTERS
006766 010046 MOV R0,-(SP)
006770 010146 MOV R1,-(SP)
006772 010246 MOV R2,-(SP)
5831 006774 CALL .RESTD ; ...RESET THE DTE-20
006774 004737 007102' JSR PC,.RESTD
5832 007000 012702 004334' MOV #RESETT,R2 ; ...FUNCTION TABLE POINTER TO R2
5833 007004 CALL .STPXC ; ...STOP THE KL CLOCK
007004 004737 007316' JSR PC,.STPXC
5834 007010 005046 CLR -(SP) ; ...CLEAR A TEMP BUFFER
5835 007012 010601 MOV SP,R1 ; ....POINT TO TEMP BUFFER
5836 007014 CALL .LDCLK ; ....CLEAR THE CLOCKS OUT
007014 004737 005570' JSR PC,.LDCLK
5837 007020 CALL .LDPAR ; ....RESET THE PARITY REGISTERS
007020 004737 005606' JSR PC,.LDPAR
5838 007024 CALL .MRCLR ; ....DO MASTER RESET STUFF
007024 004737 006002' JSR PC,.MRCLR
5839 007030 CALL .CLDFB ; ....CLEAR THE FUNCTION BUFFERS
007030 004737 003370' JSR PC,.CLDFB
5840 007034 10$:
5841 007034 005001 CLR R1 ; ....CLEAR R1
5842 007036 112200 MOVB (R2)+,R0 ; ....FUNCTION WRITE CODE TO R0
5843 007040 CALL .FWRIT ; ....DO THE WRITE
007040 004737 004444' JSR PC,.FWRIT
5844 007044 022702 004342' CMP #RSTEND,R2 ; ....ARE WE CLOSE TO END?
5845 007050 101371 BHI 10$ ; ....NO -- KEEP GOING
5846 007052 112210 MOVB (R2)+,(R0) ; ....YES -- GET THE DATA
5847 007054 111200 MOVB (R2),R0 ; ....FOR LAST WRITE
5848 007056 CALL .FWRIT ; ....DO IT
007056 004737 004444' JSR PC,.FWRIT
5849 007062 005726 TST (SP)+ ; ....CLEAR THE STACK
5850 007064 POP <R2,R1,R0> ; ...RESTORE REGISTERS
007064 012602 MOV (SP)+,R2
007066 012601 MOV (SP)+,R1
007070 012600 MOV (SP)+,R0
5851 007072 052737 000000G 000002G BIS #EF.CRI,.COMEF+2 ; DECLARE THE COMM REGION INVALID
5852 007100 RETURN ; TO CALLER
007100 000207 RTS PC
5853
5854 ; TABLE OF FUNCTION WRITE CODES FOR RESET
5855
5856 004334 .PSECT DATA
5857
5858 004334 RESETT:
5859 004334 104 .BYTE FW.LBR ; CLEAR BURST COUNTER - RIGHT
5860 004335 106 .BYTE FW.LBL ; CLEAR BURST COUNTER - LEFT
5861 004336 124 .BYTE FW.CA2 ; CLEAR CRAM DIAG ADDR - LEFT
5862 004337 122 .BYTE FW.CA1 ; CLEAR CRAM DIAG ADDR - RIGHT
5863 004340 156 .BYTE FW.KLO ; ENABLE KL OPCODES
5864 004341 174 .BYTE FW.EBL ; EBUS LOAD
5865 004342' RSTEND=.
5866 004342 012 .BYTE 12 ; DATA FOR
5867 004343 162 .BYTE FW.MBX ; MBOX CONTROL
5868 .EVEN
5869 007102 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 142
.RESTD -- DTE-20 RESET SUBROUTINE 7607.20
5871 .SBTTL .RESTD -- DTE-20 RESET SUBROUTINE 7607.20
5872
5873 ;+
5874 ; .RESTD -- SUBROUTINE TO RESET THE DTE-20.
5875 ;
5876 ; THIS SUBROUTINE RESETS THE DTE-20.
5877 ;
5878 ; SEQUENCE OF OPERATION:
5879 ;
5880 ; (A) THE DTE-20 IS CLEARED.
5881 ;
5882 ; INPUT ARGUMENTS:
5883 ;
5884 ; NONE.
5885 ;
5886 ; OUTPUT ARGUMENTS:
5887 ;
5888 ; NONE.
5889 ;
5890 ; ERROR CODES RETURNED:
5891 ;
5892 ; DSF -- DTE-20 STATUS FAILURE.
5893 ; FRF -- FUNCTION READ FAILED.
5894 ; FWF -- FUNCTION WRITE FAILED.
5895 ; FXF -- FUNCTION EXECUTE FAILED.
5896 ;-
5897
5898 007102 .RESTD::
5899 007102 012700 004344' MOV #D2RST,R0 ; DIAG WORD 2 RESET
5900 007106 CALL .DWDW2 ; WRITE IT
007106 004737 003462' JSR PC,.DWDW2
5901 007112 012700 004346' MOV #D3RST,R0 ; DIAG WORD 3 RESET
5902 007116 CALLR .DWDW3 ; WRITE IT
007116 000137 003502' JMP .DWDW3
5903 ;
5904
5905 004344 .PSECT DATA
5906
5907 004344 D2RST:
5908 004344 000100 .WORD D2.RST ; DIAG WORD 2 RESET
5909 004346 D3RST:
5910 004346 000001 .WORD D3.RST ; DIAG WORD 3 RESET
5911
5912 007122 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 143
.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
5914 .SBTTL .RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
5915
5916 ;+
5917 ; .RESTI -- SUBROUTINE TO RESET THE KL AND SET UP NORMAL
5918 ; KL CLOCK ENABLES AND PARITY STOPS.
5919 ;
5920 ; THIS SUBROUTINE PERFORMS ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
5921 ; THE KL MICROPROCESSOR AND SET UP NORMAL CLOCK ENABLES AND PARITY STOPS
5922 ;
5923 ; SEQUENCE OF OPERATION:
5924 ;
5925 ; (A) ".RESET" IS INVOKED,
5926 ; (B) NORMAL KL CLOCKS ARE ENABLED,
5927 ; (C) NORMAL KL PARITY STOPS ARE ENABLED.
5928 ;
5929 ; INPUT ARGUMENTS:
5930 ;
5931 ; NONE.
5932 ;
5933 ; OUTPUT ARGUMENTS:
5934 ;
5935 ; NONE.
5936 ;
5937 ; ERROR CODES RETURNED:
5938 ;
5939 ; DSF -- DTE-20 STATUS FAILURE.
5940 ; FRF -- FUNCTION READ FAILED.
5941 ; FWF -- FUNCTION WRITE FAILED.
5942 ; FXF -- FUNCTION EXECUTE FAILED.
5943 ;-
5944
5945 .ENABL LSB
5946
5947 007122 .RESTI::
5948 007122 PUSH R1 ; SAVE R1
007122 010146 MOV R1,-(SP)
5949 007124 005046 CLR -(SP) ; .CLEAR A LOCATION ON THE STACK
5950 007126 CALL .RESET ; ..RESET THE KL
007126 004737 006766' JSR PC,.RESET
5951 007132 010601 MOV SP,R1 ; ..POINT TO SCRATCH BUFFER
5955 007134 CALL .LDCLK ; ..SET NORMAL CLOCK ENABLES
007134 004737 005570' JSR PC,.LDCLK
5956 007140 012716 001416 MOV #PS.NRM,(SP) ; ..SET UP NORMAL PARITY ENABLES
5957 007144 000417 BR 10$ ; ..AND GO SET THEM
5958 ;
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 144
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
5960 .SBTTL .RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
5961
5962 ;+
5963 ; .RESTP -- SUBROUTINE TO RESET THE KL AND RESTORE THE
5964 ; PREVIOUS KL PARITY STOPS.
5965 ;
5966 ; THIS SUBROUTINE PERFORMS ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
5967 ; THE KL MICROPROCESSOR AND SET UP CURRENT CLOCK ENABLES AND PARITY STOPS
5968 ;
5969 ; SEQUENCE OF OPERATION:
5970 ;
5971 ; (A) ".RESET" IS INVOKED.
5972 ; (B) THE PREVIOUSLY ENABLED CLOCK AND PARITY CONTROLS ARE
5973 ; REENABLED.
5974 ;
5975 ; INPUT ARGUMENTS:
5976 ;
5977 ; NONE.
5978 ;
5979 ; OUTPUT ARGUMENTS:
5980 ;
5981 ; NONE.
5982 ;
5983 ; ERROR CODES RETURNED:
5984 ;
5985 ; DSF -- DTE-20 STATUS FAILURE.
5986 ; FRF -- FUNCTION READ FAILED.
5987 ; FWF -- FUNCTION WRITE FAILED.
5988 ; FXF -- FUNCTION EXECUTE FAILED.
5989 ;-
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 145
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
5991 007146 .RESTP::
5992 007146 PUSH R1 ; SAVE R1
007146 010146 MOV R1,-(SP)
5993 007150 CALL .STPXC ; .STOP THE KL CLOCK
007150 004737 007316' JSR PC,.STPXC
5994 007154 CALL .RDCPP ; .READ CURRENT CLOCK AND PARITY ENABLES
007154 004737 006150' JSR PC,.RDCPP
5995 007160 PUSH .PSCWD ; .SAVE THE PARITY CONTROL WORD
007160 013746 000236' MOV .PSCWD,-(SP)
5996 007164 PUSH .CLKWD ; ..SAVE THE CLOCK CONTROL WORD
007164 013746 000012' MOV .CLKWD,-(SP)
5997 007170 CALL .RESET ; ...DO A MASTER RESET
007170 004737 006766' JSR PC,.RESET
5998 007174 010601 MOV SP,R1 ; ...POINT TO THE CLOCK WORD
5999 007176 CALL .LDCLK ; ...LOAD THE CLOCKS AGAIN
007176 004737 005570' JSR PC,.LDCLK
6000 007202 005726 TST (SP)+ ; ...FLUSH SAVED CLOCK WORD
6001 007204 10$:
6002 007204 010601 MOV SP,R1 ; ..POINT TO THE PARITY WORD
6003 007206 CALL .LDPAR ; ..LOAD THE PARITY STOPS
007206 004737 005606' JSR PC,.LDPAR
6004 007212 005726 TST (SP)+ ; ..FLUSH THE PARITY WORD
6005 007214 POP R1 ; .RESTORE R1
007214 012601 MOV (SP)+,R1
6006 007216 RETURN ; AND GO AWAY
007216 000207 RTS PC
6007
6008 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 146
.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
6010 .SBTTL .RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
6011
6012 ;+
6013 ; .RSTKL -- SUBROUTINE TO RESTART THE KL
6014 ;
6015 ; THIS SUBROUTINE WILL RESTART THE KL, IF IT WAS STOPPED BY ".STPKL".
6016 ;
6017 ; INPUT ARGUMENTS:
6018 ;
6019 ; THE STATE FLAGS IN ".SVKLF" REPRESENT THE STATE TO WHICH
6020 ; THE KL IS TO BE RESTORED.
6021 ;
6022 ; OUTPUT ARGUMENTS:
6023 ;
6024 ; ".SVKLF" IS CLEARED.
6025 ;
6026 ; ERROR CODES RETURNED:
6027 ;
6028 ; NONE.
6029 ;-
6030
6031 007220 .RSTKL::
6032 007220 032737 040000 000260' BIT #KF.RUN,.SVKLF ; DID WE STOP THE KL?
6033 007226 001404 BEQ 10$ ; NO -- JUST RETURN
6034 007230 CALL .KLRST ; YES -- RESTART THE KL
007230 004737 005310' JSR PC,.KLRST
6035 007234 105037 000000G CLRB .NOHLT ; LET RSX20F DETECT HALTS
6036 007240 10$:
6037 007240 005037 000260' CLR .SVKLF ; CLEAR SAVED FLAGS
6038 007244 RETURN ; TO CALLER
007244 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 147
.STCLK -- START KL CLOCK SUBROUTINE 7607.15
6040 .SBTTL .STCLK -- START KL CLOCK SUBROUTINE 7607.15
6041
6042 ;+
6043 ; .STCLK -- SUBROUTINE TO START THE KL CLOCK.
6044 ;
6045 ; THIS SUBROUTINE WILL START THE KL CLOCK.
6046 ;
6047 ; INPUT ARGUMENTS:
6048 ;
6049 ; NONE.
6050 ;
6051 ; OUTPUT ARGUMENTS:
6052 ;
6053 ; NONE.
6054 ;
6055 ; ERROR CODES RETURNED:
6056 ;
6057 ; CES -- CLOCK ERROR STOP.
6058 ; FXF -- FUNCTION EXECUTE FAILED.
6059 ;-
6060
6061 007246 .STCLK::
6062 007246 000241 CLC ; CLEAR CC-C
6063 007250 CALL .CESCK ; CHECK FOR CLOCK ERROR STOP
007250 004737 000000' JSR PC,.CESCK
6064 007254 .STCLF:: ; HERE TO START THE CLOCK ANYWAY
6065 007254 PUSH R0 ; SAVE R0
007254 010046 MOV R0,-(SP)
6066 007256 012700 000002 MOV #FX.CST,R0 ; .SET UP TO START THE KL CLOCK
6067 007262 CALL .FXCT ; .DO IT
007262 004737 004566' JSR PC,.FXCT
6068 007266 POP R0 ; .RESTORE R0
007266 012600 MOV (SP)+,R0
6069 007270 RETURN ; RETURN TO CALLER
007270 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 148
.STPKL -- SUBROUTINE TO STOP THE KL 7602.25
6071 .SBTTL .STPKL -- SUBROUTINE TO STOP THE KL 7602.25
6072
6073 ;+
6074 ; .STPKL -- SUBROUTINE TO STOP THE KL.
6075 ;
6076 ; THIS SUBROUTINE WILL STOP THE KL HALT LOOP IF IT BELIEVES THAT
6077 ; THE KL RUN FLOP IS SET ("KF.RUN" IN ".KLFLG").
6078 ;
6079 ; INPUT ARGUMENTS:
6080 ;
6081 ; THE STATE OF THE KL IS IN ".KLFLG"
6082 ;
6083 ; OUTPUT ARGUMENTS:
6084 ;
6085 ; THE CURRENT STATE OF THE KL IS IN ".KLFLG"
6086 ; THE PREVIOUS STATE OF THE KL IS IN ".SVKLF"
6087 ;
6088 ; ERROR CODES RETURNED:
6089 ;
6090 ; NONE.
6091 ;-
6092
6093 007272 .STPKL::
6094 007272 032737 040000 000000G BIT #KF.RUN,.KLFLG ; IS THE KL RUNNING?
6095 007300 001405 BEQ 10$ ; NO -- JUST EXIT
6096 007302 013737 000000G 000260' MOV .KLFLG,.SVKLF ; YES -- SAVE CURRENT KL STATE
6097 007310 CALL .KLSTP ; STOP THE KL
007310 004737 005212' JSR PC,.KLSTP
6098 007314 10$:
6099 007314 RETURN ; TO CALLER
007314 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 149
.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
6101 .SBTTL .STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
6102
6103 ;+
6104 ; .STPXC -- SUBROUTINE TO STOP THE KL CLOCK.
6105 ;
6106 ; THIS SUBROUTINE STOPS THE KL CLOCK.
6107 ;
6108 ; INPUT ARGUMENTS:
6109 ;
6110 ; NONE.
6111 ;
6112 ; OUTPUT ARGUMENTS:
6113 ;
6114 ; NONE
6115 ;
6116 ; ERROR CODES RETURNED:
6117 ;
6118 ; FXF -- FUNCTION EXECUTE FAILED
6119 ;-
6120
6121 .ENABL LSB
6122
6123 007316 .STPXC::
6124 007316 000241 CLC ; CLEAR CC-C
6126 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
6128 007332 PUSH R0 ; SAVE R0
007332 010046 MOV R0,-(SP)
6129 007334 112737 000001 000000G MOVB #1,.NOERR ; TELL RSX20F NOT TO PANIC ABOUT CLOCK STOP
6130 007342 005000 CLR R0 ; .SET UP TO STOP THE KL CLOCK
6131 ; .FUNCTION CODE IS ZERO
6132 007344 000404 BR 10$ ; .DO IT
6133 ;
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 150
.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
6135 .SBTTL .STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
6136
6137 ;+
6138 ; .STRUN -- SUBROUTINE TO SET THE KL RUN FLOP.
6139 ;
6140 ; THIS SUBROUTINE SETS THE KL RUN FLOP.
6141 ;
6142 ;
6143 ; INPUT ARGUMENTS:
6144 ;
6145 ; NONE.
6146 ;
6147 ; OUTPUT ARGUMENTS:
6148 ;
6149 ; NONE
6150 ;
6151 ; ERROR CODES RETURNED:
6152 ;
6153 ; FXF -- FUNCTION EXECUTE FAILED
6154 ;-
6155
6156 007346 .STRUN::
6157 007346 000241 CLC ; CLEAR CC-C
6158 007350 PUSH R0 ; SAVE R0
007350 010046 MOV R0,-(SP)
6159 007352 012700 000022 MOV #FX.SRF,R0 ; .SET UP TO SET KL RUN FLOP
6160 007356 10$:
6161 007356 CALL .FXCT ; .DO IT
007356 004737 004566' JSR PC,.FXCT
6162 007362 POP R0 ; .RESTORE R0
007362 012600 MOV (SP)+,R0
6163 007364 RETURN ; TO CALLER
007364 000207 RTS PC
6164
6165 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 151
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
6167 .SBTTL .STUCD -- START KL MICROCODE SUBROUTINE 7511.22
6168
6169 ;+
6170 ; .STUCD -- SUBROUTINE TO START THE KL MICROCODE AT THE
6171 ; ADDRESS SPECIFIED IN R0.
6172 ;
6173 ; SEQUENCE OF OPERATION:
6174 ;
6175 ; (A) THE KL RUN FLOP IS CLEARED,
6176 ; (B) THE KL RUN FLOP IS TURNED OFF,
6177 ; (C) THE KL IS CLEARED,
6178 ; (D) THE CRAM ADDRESS IS LOADED,
6179 ; (E) THE KL CLOCK IS RESTARTED.
6180 ;
6181 ; THE SUBROUTINE EXITS WHEN THE KL HAS FOUND THE HALT LOOP.
6182 ; IF THE HALT LOOP IS NOT FOUND, AN ERROR RETURN IS GIVEN.
6183 ;
6184 ; INPUT ARGUMENTS:
6185 ;
6186 ; R0 CONTAINS THE CRAM ADDRESS
6187 ;
6188 ; OUTPUT ARGUMENTS:
6189 ;
6190 ; NONE.
6191 ;
6192 ; ERROR CODES RETURNED:
6193 ;
6194 ; CAE -- CRAM ADDRESS ERROR.
6195 ; FRF -- FUNCTION READ FAILED.
6196 ; FWF -- FUNCTION WRITE FAILED.
6197 ; FXF -- FUNCTION EXECUTE FAILED
6198 ; UNL -- UCODE NOT LOADED.
6199 ;
6200 ; NOTE:
6201 ;
6202 ; THE NORMAL CRAM STARTING ADDRESS IS 0. ATTEMPTING TO
6203 ; START THE CONTROL RAM AT AN ADDRESS OTHER THAN 0 CAN
6204 ; PRODUCE STRANGE RESULTS. CAVEAT PROGRAMMATOR (OPERATOR).
6205 ; CONSIDER YOURSELF WARNED.
6206 ;-
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 152
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
6208 007366 .STUCD::
6209 007366 020027 003777 CMP R0,#3777 ; [TCO 6.????]IS IT IN RANGE?
6210 007372 101030 BHI STUCAE ; NO -- GIVE "CAE" ERROR
6211 007374 PUSH <R1,R0> ; YES -- SAVE THE ADDRESS ON THE STACK
007374 010146 MOV R1,-(SP)
007376 010046 MOV R0,-(SP)
6212 007400 CALL .CLRFF ; ..CLEAR THE KL RUN FLOP
007400 004737 003420' JSR PC,.CLRFF
6213 007404 CALL .STPXC ; ..STOP THE KL CLOCK
007404 004737 007316' JSR PC,.STPXC
6214 007410 011600 MOV (SP),R0 ; ..CRAM ADDRESS TO R0
6215 007412 CALL .LDCRA ; ..LOAD IT
007412 004737 005666' JSR PC,.LDCRA
6216 007416 CALL .STCLK ; ..START THE KL CLOCK
007416 004737 007246' JSR PC,.STCLK
6217 007422 012701 000310 MOV #^D200,R1 ; ..SETUP WAIT LOOP
6218 007426 10$:
6219 007426 CALL .DTDW1 ; ..READ DTE-20 DIAG WORD 1
007426 004737 003530' JSR PC,.DTDW1
6220 007432 032700 001000 BIT #D1.HLP,R0 ; ..ARE WE IN THE HALT LOOP?
6224 007436 001001 BNE 20$ ; ..YES -- EXIT
6225 007440 077106 SOB R1,10$ ; ..NO -- TRY TILL COUNT EXHAUSTED
6226 007442 20$:
6227 007442 005701 TST R1 ; ..DID COUNT GET EXHAUSTED?
6228 007444 003406 BLE STUUNL ; ..YES -- WE LOST
6229 007446 POP <R0,R1> ; ..NO -- RESTORE R0 AND R1
007446 012600 MOV (SP)+,R0
007450 012601 MOV (SP)+,R1
6230 007452 RETURN ; TO CALLER
007452 000207 RTS PC
6231 007454 STUCAE:
6232 007454 ERROR$ CAE ; ERROR -- CRAM ADDRESSING ERROR
007454 012746 011355 MOV #^RCAE,-(SP)
007460 104400 TRAP TC.ERR
6233 ;
6234 007462 STUUNL:
6235 007462 ERROR$ UNL ; ERROR -- UCODE NOT LOADED
007462 012746 102574 MOV #^RUNL,-(SP)
007466 104400 TRAP TC.ERR
6236 ;
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 153
.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
6238 .SBTTL .SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
6239
6240 ;+
6241 ; .SYNXC -- SUBROUTINE TO SYNCH THE EBOX CLOCK LOW.
6242 ;
6243 ; THIS SUBROUTINE SYNCHS THE KL EBOX CLOCK LOW
6244 ;
6245 ;
6246 ; INPUT ARGUMENTS:
6247 ;
6248 ; NONE.
6249 ;
6250 ; OUTPUT ARGUMENTS:
6251 ;
6252 ; NONE
6253 ;
6254 ; ERROR CODES RETURNED:
6255 ;
6256 ; FXF -- FUNCTION EXECUTE FAILED
6257 ;-
6258
6259 .ENABL LSB
6260
6261 007470 .SYNXC::
6262 007470 000241 CLC ; CLEAR CC-C
6263 007472 PUSH R0 ; SAVE R0
007472 010046 MOV R0,-(SP)
6264 007474 012700 000010 MOV #FX.SYC,R0 ; .SET UP TO SYNCH EBOX CLOCK
6265 007500 CALL .FXCT ; .DO IT
007500 004737 004566' JSR PC,.FXCT
6266 007504 000411 BR 10$ ; .RESTORE R0 AND EXIT
6267 ;
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 154
.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
6269 .SBTTL .WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
6270
6271 ;+
6272 ; .WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER.
6273 ; .WRAR1 -- SUBROUTINE TO WRITE THE KL AR REGISTER WITHOUT
6274 ; STOPPING THE KL CLOCK.
6275 ;
6276 ; THIS SUBROUTINE WILL WRITE A 36 BIT WORD TO THE KL AR REGISTER.
6277 ;
6278 ; SEQUENCE OF OPERATION:
6279 ;
6280 ; .WRTAR:
6281 ;
6282 ; (A) THE KL CLOCK IS STOPPED,
6283 ;
6284 ; .WRAR1:
6285 ;
6286 ; (B) THE EBOX CLOCK IS SYNCHED LOW,
6287 ; (C) THE DATA IS WRITTEN INTO THE KL AR REGISTER.
6288 ;
6289 ; INPUT ARGUMENTS:
6290 ;
6291 ; R1 POINTS TO THE DATA TO BE WRITTEN
6292 ;
6293 ; OUTPUT ARGUMENTS:
6294 ;
6295 ; NONE.
6296 ;
6297 ; ERROR CODES RETURNED:
6298 ;
6299 ; FWF -- FUNCTION WRITE FAILED.
6300 ;-
6301
6302 007506 .WRTAR::
6303 007506 CALL .STPXC ; STOP THE KL CLOCK
007506 004737 007316' JSR PC,.STPXC
6304 007512 .WRAR1::
6305 007512 CALL .SYNXC ; FORCE THE EBOX CLOCK LOW
007512 004737 007470' JSR PC,.SYNXC
6306 007516 PUSH R0 ; SAVE R0
007516 010046 MOV R0,-(SP)
6307 007520 012700 000176 MOV #FW.LAR,R0 ; .FUNCTION WRITE CODE TO R0
6308 007524 CALL .FWRIT ; .LOAD THE AR
007524 004737 004444' JSR PC,.FWRIT
6309 007530 10$:
6310 007530 POP R0 ; .RESTORE R0
007530 012600 MOV (SP)+,R0
6311 007532 RETURN ; RETURN TO CALLER
007532 000207 RTS PC
6312
6313 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 155
.WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03
6315 .SBTTL .WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03
6316
6317 ;+
6318 ; .WRCRM -- SUBROUTINE TO WRITE A LOCATION IN THE KL CONTROL RAM.
6319 ;
6320 ; THIS SUBROUTINE WILL WRITE ONE LOCATION IN THE KL CONTROL RAM.
6321 ; THE CRAM ADDRESS TO BE WRITTEN IS SPECIFIED IN R0.
6322 ;
6323 ; SEQUENCE OF OPERATION:
6324 ;
6325 ; (A) THE KL IS HALTED IN THE HALT LOOP,
6326 ; (B) THE CONTROL RAM ADDRESS IS LOADED,
6327 ; (C) THE CONTENT OF THAT CRAM ADDRESS IS WRITTEN.
6328 ;
6329 ; INPUT ARGUMENTS:
6330 ;
6331 ; R0 CONTAINS THE CRAM ADDRESS TO BE WRITTEN.
6332 ; R1 POINTS TO A NINE WORD DATA BLOCK TO BE WRITTEN.
6333 ;
6334 ; OUTPUT ARGUMENTS:
6335 ;
6336 ; NONE.
6337 ;
6338 ; THE FOLLOWING IS A PICTURE OF THE DATA WRITTEN BY THIS SUBROUTINE:
6339 ;
6340 ; WORD CRAM DATA
6341 ; ---- ---------
6342 ; +==================================+
6343 ; 00 | CRAM BITS 68 THRU 78 |
6344 ; +----------------------------------+
6345 ; 01 | CRAM BITS 60 THRU 66 |
6346 ; +----------------------------------+
6347 ; 02 | CRAM BITS 48 THRU 59 |
6348 ; +----------------------------------+
6349 ; 03 | CRAM BITS 40 THRU 47 |
6350 ; +----------------------------------+
6351 ; 04 | CRAM BITS 28 THRU 39 |
6352 ; +----------------------------------+
6353 ; 05 | CRAM BITS 20 THRU 27 |
6354 ; +----------------------------------+
6355 ; 06 | CRAM BITS 08 THRU 19 |
6356 ; +----------------------------------+
6357 ; 07 | CRAM BITS 00 THRU 07 |
6358 ; +----------------------------------+
6359 ; 08 | CRAM DISP BITS 00 THRU 04 |
6360 ; +==================================+
6361 ;
6362 ; ERROR CODES RETURNED:
6363 ;
6364 ; CAE -- CRAM ADDRESS ERROR.
6365 ; FRF -- FUNCTION READ FAILED.
6366 ; FWF -- FUNCTION WRITE FAILED.
6367 ; FXF -- FUNCTION EXECUTE FAILED.
6368 ;-
6369
6370 007534 .WRCRM::
6371 007534 020027 003777 CMP R0,#3777 ; [TCO 6.????]IS THE ADDRESS IN RANGE?
KL10F -- KL10 FUNCTION MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 155-1
.WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03
6372 007540 101063 BHI WRCRME ; NO -- GIVE "CAE" ERROR
6373 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)
6374 007554 010102 MOV R1,R2 ; .....CALLER'S POINTER TO R2
6375 007556 012704 000130 MOV #FW.CR4,R4 ; .....BASE WRITE TO R4
6376 007562 011600 MOV (SP),R0 ; .....GET CRAM ADDRESS FROM THE STACK
6377 007564 CALL .LDCRA ; .....LOAD IT
007564 004737 005666' JSR PC,.LDCRA
6378 007570 012703 000004 MOV #^D4,R3 ; .....USE R3 AS A COUNTER
6379 007574 012700 000336' 10$: MOV #.DFWB,R0 ; .....POINT TO THE WRITE BUFFER
6380 007600 012220 MOV (R2)+,(R0)+ ; .....LOAD OUR BUFFER FROM CALLER'S
6381 007602 012220 MOV (R2)+,(R0)+ ; .....
6382 007604 005010 CLR (R0) ; .....
6383 007606 005001 CLR R1 ; .....CLEAR R1
6384 007610 010400 MOV R4,R0 ; .....PASS THE FWRITE CODE
6385 007612 CALL .FWRIT ; .....DO IT
007612 004737 004444' JSR PC,.FWRIT
6386 007616 062704 000002 ADD #^D2,R4 ; .....INCREMENT THE FWRITE CODE
6387 007622 077314 SOB R3,10$ ; .....LOOP TILL DONE
6388 007624 011210 MOV (R2),(R0) ; .....LOAD THE CRAM DISP BITS
6389 007626 012701 000036 MOV #^D30,R1 ; .....SHIFT COUNT
6390 007632 CALL .TPSHI ; .....SHIFT IT
007632 004737 011772' JSR PC,.TPSHI
6391 007636 005001 CLR R1 ; .....CLEAR R1
6392 007640 012700 000126 MOV #FW.CRD,R0 ; .....WRITE CODE
6393 007644 CALL .FWRIT ; .....WRITE IT
007644 004737 004444' JSR PC,.FWRIT
6394 007650 CALL .CLDFW ; .....CLEAR THE FUNCTION WRITE BUFFER
007650 004737 003404' JSR PC,.CLDFW
6395 007654 012700 000122 MOV #FW.CA1,R0 ; .....CLEAR CRAM DIAG ADDR
6396 007660 CALL .FWRIT ; .....SO
007660 004737 004444' JSR PC,.FWRIT
6397 007664 012700 000124 MOV #FW.CA2,R0 ; .....NOW FOR THE OTHER HALF
6398 007670 CALL .FWRIT ; .....SO
007670 004737 004444' JSR PC,.FWRIT
6399 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
6400 007706 RETURN ; TO CALLER
007706 000207 RTS PC
6401 007710 WRCRME:
6402 007710 ERROR$ CAE ; ERROR -- CRAM ADDRESSING ERROR
007710 012746 011355 MOV #^RCAE,-(SP)
007714 104400 TRAP TC.ERR
6403 ;
6404 .TITLE NULLC -- NULL COMMAND MODULE 7603.30
6405
6406 .IDENT "005000"
6407
6408 ;
NULLC -- NULL COMMAND MODULE 76 MACRO V05.04 Tuesday 17-May-88 14:31 Page 155-2
.WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03
6409 ; COPYRIGHT (C) 1975, 1984, 1985 BY
6410 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6411 ; ALL RIGHTS RESERVED.
6412 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
6413 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
6414 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
6415 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
6416 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
6417 ;
6418 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
6419 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
6420 ; CORPORATION.
6421 ;
6422 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6423 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
6424 ;
6425 ; MODULE: NULL COMMAND
6426 ;
6427 ; VERSION: 01-01
6428 ;
6429 ; AUTHOR: R. BELANGER
6430 ;
6431 ; DATE: 7603.30
6432 ;
6433 ; THIS MODULE CONTAINS:
6434 ;
6435 ; 1) NULL COMMAND CODE
NULLC -- NULL COMMAND MODULE 76 MACRO V05.04 Tuesday 17-May-88 14:31 Page 156
.NULLC -- THE NULL COMMAND 7602.10
6437 .SBTTL .NULLC -- THE NULL COMMAND 7602.10
6438
6439 007716 .NULLC::
6440 007716 012737 000021' 000004' MOV #PARNAM,.CCMDN ; RESET THE COMMAND NAME
6441 007724 CALLR .CKEOC ; CHECK E-O-C CHARACTER
007724 000137 000214' JMP .CKEOC
6442 ;
NULLC -- NULL COMMAND MODULE 76 MACRO V05.04 Tuesday 17-May-88 14:31 Page 157
.NULLC -- THE NULL COMMAND 7602.10
6444
6445
6446 .TITLE PARSE -- TOP-LEVEL COMMAND DECODER MODULE 7603.30
6447
6448 .IDENT "006270"
6449
6450 ;
6451 ; COPYRIGHT (C) 1975, 1984, 1985 BY
6452 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6453 ; ALL RIGHTS RESERVED.
6454 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
6455 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
6456 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
6457 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
6458 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
6459 ;
6460 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
6461 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
6462 ; CORPORATION.
6463 ;
6464 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6465 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
6466 ;
6467 ; MODULE: TOP-LEVEL COMMAND DECODER
6468 ;
6469 ; VERSION: 06-27
6470 ;
6471 ; AUTHOR: R. BELANGER
6472 ;
6473 ; DATE: 7603.30
6474 ;
6475 ; THIS MODULE CONTAINS:
6476 ;
6477 ; 1) COMMAND DECODER
6478
6479 .MCALL DIR$,EXIT$S,QIOW$S,.ENB6,.INH6
PARSE -- TOP-LEVEL COMMAND DECO MACRO V05.04 Tuesday 17-May-88 14:31 Page 158
.DOCMD -- DECODE A SINGLE COMMAND 7602.03
6481 .SBTTL .DOCMD -- DECODE A SINGLE COMMAND 7602.03
6482
6483 ;+
6484 ; .DOCMD -- DECODE AND DISPATCH FOR A SINGLE COMMAND
6485 ;
6486 ; THIS SUBROUTINE WILL DECODE THE INPUT STREAM FROM THE MAIN COMMAND
6487 ; SYMBOL TABLE, ".CMDTB", SET UP THE LEGAL BITS FOR EACH COMMAND
6488 ; DECODED, AND PERFORM THE DISPATCH FOR THAT COMMAND.
6489 ;
6490 ; INPUT ARGUMENTS:
6491 ;
6492 ; R0 POINTS TO A REPEAT COUNT
6493 ; R5 POINTS TO THE INPUT STREAM.
6494 ;
6495 ; OUTPUT ARGUMENTS:
6496 ;
6497 ; R0 POINTS TO THE COMMAND NAME POINTER IN THE COMMAND TABLE
6498 ;
6499 ; ERROR CODES RETURNED:
6500 ;
6501 ; CNR -- COMMAND IS NOT REPEATABLE
6502 ;-
6503
6504 007730 .DOCMD::
6505 007730 022020 CMP (R0)+,(R0)+ ; POINT TO THE END OF THE REPEAT COUNT
6506 007732 PUSH <(R0),-(R0),-(R0)>
007732 011046 MOV (R0),-(SP)
007734 014046 MOV -(R0),-(SP)
007736 014046 MOV -(R0),-(SP)
6507 007740 010600 MOV SP,R0 ; ...POINT TO THE REPEAT COUNT
6508 007742 PUSH R5 ; ...SAVE COMMAND LINE POINTER
007742 010546 MOV R5,-(SP)
6509 007744 PUSH R0 ; ....SAVE THE REPEAT COUNT POINTER
007744 010046 MOV R0,-(SP)
6510 007746 010037 000252' MOV R0,.RPTPT ; .....FOR "CLEAR REPEAT"
6511 007752 10$:
6512 007752 012700 004350' MOV #.CMDTB,R0 ; .....POINT TO THE COMMAND TABLE
6513 007756 012737 000021' 000004' MOV #PARNAM,.CCMDN ; ....."PARSER" IS CURRENT COMMAND
6514 007764 CALL .TSCAN ; .....SCAN THE TABLE
007764 004737 010524' JSR PC,.TSCAN
6515 007770 011037 000216' MOV (R0),.LGLWD ; .....SET UP THE LEGAL BITS FOR COMMAND
6516 007774 014037 000004' MOV -(R0),.CCMDN ; .....SET THE POINTER TO THIS NAME
6517
6518 ; [CONTINUED ON THE FOLLOWING PAGE]
PARSE -- TOP-LEVEL COMMAND DECO MACRO V05.04 Tuesday 17-May-88 14:31 Page 159
.DOCMD -- DECODE A SINGLE COMMAND 7602.03
6520 ; [CONTINUED FROM THE PREVIOUS PAGE]
6521
6522 010000 20$:
6523 010000 CALL @4(R0) ; .....DO THE COMMAND
010000 004770 000004 JSR PC,@4(R0)
6524 010004 011600 MOV (SP),R0 ; .....POINT TO THE REPEAT COUNT
6525 010006 CALL .TPTST ; .....IS THERE REALLY ONE THERE
010006 004737 011474' JSR PC,.TPTST
6526 010012 001404 BEQ 30$ ; .....NO -- JUST GO ON
6527 010014 032737 000400 000216' BIT #LG.RPT,.LGLWD ; .....YES -- IS THIS COMMAND REPEATABLE?
6528 010022 001427 BEQ DOCCNR ; .....NO -- GIVE "CNR" ERROR
6529 010024 30$:
6530 010024 105725 TSTB (R5)+ ; .....YES -- IS THIS THE END??
6531 010026 001010 BNE 40$ ; .....NO -- GO ON SCANNING THIS LINE
6532 010030 105745 TSTB -(R5) ; .....YES -- BACK THE POINTER UP
6533 010032 CALL .TPDEC ; .....DECREMENT STACKED REPEAT COUNT
010032 004737 011550' JSR PC,.TPDEC
6534 010036 CALL .TPTST ; .....SEE WHAT THE COUNT IS
010036 004737 011474' JSR PC,.TPTST
6535 010042 003405 BLE 50$ ; .....DONE IF .LE. 0
6536 010044 016605 000002 MOV 2(SP),R5 ; .....RESTORE INPUT STREAM POINTER
6537 010050 40$:
6538 010050 005037 000216' CLR .LGLWD ; .....CLEAR THE LEGAL BITS
6539 010054 000736 BR 10$ ; .....AND REITERATE OR CONTINUE
6540 ;
6541 010056 50$:
6542 010056 062706 000012 ADD #^D10,SP ; .....FLUSH THE STACK
6544 010062 005737 000000G TST .KLERQ ; [5.1006]SNAPSHOT IN PROGRESS?
6545 010066 001401 BEQ 55$ ; [5.1006]NO -- DO ERROR CHECKS
6546 010070 RETURN ; [5.1006]YES -- DONE
010070 000207 RTS PC
6548 010072 55$: CALL .CESCK ; CHECK FOR CLOCK ERROR STOP
010072 004737 000000' JSR PC,.CESCK
6549 010076 CALLR .EBPCK ; AND EBUS PARITY ERROR
010076 000137 000410' JMP .EBPCK
6550 ;
6551 010102 DOCCNR:
6552 010102 ERROR$ CNR ; ERROR -- COMMAND IS NOT REPEATABLE
010102 012746 012402 MOV #^RCNR,-(SP)
010106 104400 TRAP TC.ERR
6553 ;
PARSE -- TOP-LEVEL COMMAND DECO MACRO V05.04 Tuesday 17-May-88 14:31 Page 160
.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
6555 .SBTTL .EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
6556
6557 ;+
6558 ; .EXITP -- THE COMMAND PARSER EXIT POINT.
6559 ;
6560 ; THIS ROUTINE IS THE COMMAND PARSER EXIT POINT
6561 ;
6562 ; INPUT ARGUMENTS:
6563 ;
6564 ; NONE.
6565 ;
6566 ; OUTPUT ARGUMENTS:
6567 ;
6568 ; NONE.
6569 ;
6570 ; ERROR CODES RETURNED:
6571 ;
6572 ; NONE.
6573 ;-
6574
6575 010110 .EXITP::
6577 010110 005737 000066' TST .DBGSW ; LOOK AT THE DEBUG SWITCH
6578 010114 001401 BEQ 5$ ; CLEAR -- DON'T HALT
6579 010116 000000 HALT ; FOR DEBUGGING
6580 010120 5$:
6582 010120 005737 001660' TST .INDFG ; [5.1000]INDIRECT FILE OPEN?
6583 010124 001410 BEQ 10$ ; [5.1000]NO -- GO ON
6584 010126 012701 002750' MOV #.INATT,R1 ; [5.1000]SET ATTRIBUTE ADDR
6585 010132 012702 000005 MOV #INDLUN,R2 ; [5.1000]SET LUN
6586 010136 005037 001660' CLR .INDFG ; [5.1000]INDICATE FILE CLOSED
6587 010142 CALL .CLOSE ; [5.1000]CLOSE FILE
010142 004737 002114' JSR PC,.CLOSE
6588 010146 105737 000206' 10$: TSTB .OUTLG ; [5.1000]LOG FILE OPEN?
6589 010152 001412 BEQ 20$ ; [5.1000]NO -- GO NO
6590 010154 105037 000206' CLRB .OUTLG ; [5.1000]INDICATE FILE CLOSED
6591 010160 CALL .WRITZ ; [5.1000]WRITE OUT CURRENT BLOCK
010160 004737 003060' JSR PC,.WRITZ
6592 010164 012701 004050' MOV #.OTATT,R1 ; [5.1000]YES -- SET ATTRIBUTE ADDR
6593 010170 012702 000004 MOV #LOGLUN,R2 ; [5.1000]SET LUN
6594 010174 CALL .CLOSE ; [5.1000]CLOSE FILE
010174 004737 002114' JSR PC,.CLOSE
6595 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
6596 010234 005037 000000G CLR .KLERQ ; [5.1006]CLEAR SNAPSHOT FLAG
6597 010240 142737 000000G 000000G BICB #M.PARQ,.MISC ; CLEAR THE PRIORITY FLAG
6598 010246 .INH6 ; DISALLOW INTERRUPTS
010246 013746 177776 MOV @#PS,-(SP)
010252 112737 000300 177776 MOVB #300,@#PS
6599 010260 013705 000000G MOV CTYPTR,R5 ; POINT TO THE CTY
PARSE -- TOP-LEVEL COMMAND DECO MACRO V05.04 Tuesday 17-May-88 14:31 Page 160-1
.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
6600 010264 042765 000000G 000000G BIC #TT.OUT,STSW1(R5) ; CLEAR ANY I/O IN PROGRESS WE MAY HAVE SCREWED
6601 010272 012703 000000G MOV #D.CDLS,R3 ;;; SEND A FREE ACK FOR THE CTY
6602 010276 CALL ..SACK ;;;
010276 004737 000000G JSR PC,..SACK
6603 010302 .ENB6 ; ALLOW INTERRUPTS
010302 012637 177776 MOV (SP)+,@#PS
6604 010306 EXIT$S ; EXIT
010306 012746 MOV (PC)+,-(SP)
010310 063 001 .BYTE 51.,1
010312 104375 EMT 375
6605 010314 000004 IOT ; HELP....
6606 ;
PARSE -- TOP-LEVEL COMMAND DECO MACRO V05.04 Tuesday 17-May-88 14:31 Page 161
.START -- COMMAND PARSER MAIN LOOP 7602.02
6608 .SBTTL .START -- COMMAND PARSER MAIN LOOP 7602.02
6609
6610 ;+
6611 ; .START -- COMMAND PARSER MAIN LOOP.
6612 ;
6613 ; THIS IS THE MAIN LOOP AND TOPMOST LEVEL OF THE RSX20F CONSOLE
6614 ; COMMAND PARSER. CONTROL IS PASSED HERE ON STARTUP AND ON ERROR
6615 ; RESTARTS FROM ".PTTRP". THE PROMPT STRING IS OUTPUT TO THE CONSOLE
6616 ; OUTPUT DEVICE AND THE NEXT COMMAND STRING IS SOLICITED FROM
6617 ; THE OPERATOR.
6618 ;
6619 ; INPUT ARGUMENTS:
6620 ;
6621 ; NONE.
6622 ;
6623 ; OUTPUT ARGUMENTS:
6624 ;
6625 ; R0 POINTS TO THE REPEAT COUNT
6626 ; R5 POINTS TO THE INPUT STREAM
6627 ;
6628 ; ERROR CODES RETURNED:
6629 ;
6630 ; IF THE CONSOLE DEVICE CANNOT BE ATTACHED OR DETACHED, THE
6631 ; PARSER EXITS.
6632 ;-
PARSE -- TOP-LEVEL COMMAND DECO MACRO V05.04 Tuesday 17-May-88 14:31 Page 162
.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
6634 .SBTTL .RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
6635
6636 ;+
6637 ; .REGSV -- SUBROUTINE TO SAVE AND RESTORE R5 - R1 ON THE STACK.
6638 ;
6639 ; R1 - R5 ARE SAVED ON THE STACK, AND MAY BE RESTORED BY EITHER:
6640 ;
6641 ; RETURN ; RETURNS TO HIGHER LEVEL
6642 ; -OR-
6643 ; CALL @(SP)+ ; RETURNS TO SAME LEVEL
6644 ;
6645 ; NO REGISTERS ARE DESTROYED BY THIS SUBROUTINE, AND SUBSEQUENT CALLS
6646 ; WILL NEST.
6647 ;
6648 ; CALLING SEQUENCE IS:
6649 ;
6650 ; CALL R5,.REGSV
6651 ; ONLY RETURN
6652 ;-
6653
6654 010316 .REGSV:: ; DEFINE AS GLOBAL
6655 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)
6656 010330 016605 000012 MOV 12(SP),R5 ; .....RESTORE R5
6657 010334 000241 CLC ; .....CLEAR CC-C
6658 010336 CALL @(SP)+ ; .....RETURN WITH RESTORE ADDRESS ON THE STACK
010336 004736 JSR PC,@(SP)+
6659
6660 ; HERE TO RESTORE R1 - R5 AND RETURN
6661
6662 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
6663 010352 RETURN ; RETURN
010352 000207 RTS PC
PARSE -- TOP-LEVEL COMMAND DECO MACRO V05.04 Tuesday 17-May-88 14:31 Page 163
.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
6665 010354 .START::
6666 010354 013706 000256' MOV .SVESP,SP ; INIT THE STACK POINTER
6667 010360 10$:
6668 010360 005037 000260' CLR .SVKLF ; RESET ".SVKLF"
6669 010364 012737 000021' 000004' MOV #PARNAM,.CCMDN ; SET UP PARSER NAME
6670 010372 CALL .TYINI ; INIT OUTPUT POINTERS
010372 004737 015736' JSR PC,.TYINI
6671 010376 012701 000000G MOV #.KLFLG,R1 ; POINT TO ".KLFLG"
6673 010402 012700 000034' MOV #KLEPRM,R0 ; [5.1006]KLE PROMPT
6674 010406 005737 000000G TST .KLERQ ; [5.1006]KL CRASH?
6675 010412 001003 BNE 12$ ; [5.1006]YES -- GET KLE INPUT
6676 010414 005037 000176' CLR .KLEDF ; [5.1006]NO -- CLEAR DEFAULT FLAG
6677 010420 000403 BR 15$ ; [5.1006]GO ON
6678 010422 12$: CALL .TYMSF ; [5.1006]YES -- OUTPUT PROMPT
010422 004737 015454' JSR PC,.TYMSF
6679 010426 000423 BR 35$ ; [5.1006]GET COMMANDS
6681 010430 012700 000030' 15$: MOV #PROMPT,R0 ; POINT TO THE PROMPT STRING
6682 010434 CALL .TYMSG ; PRINT IT
010434 004737 015462' JSR PC,.TYMSG
6683 010440 012700 000076 MOV #'>,R0 ; ASSUME THE KL IS RUNNING
6684 010444 032711 100000 BIT #KF.CLK,(R1) ; IS THE CLOCK ON?
6685 010450 001406 BEQ 20$ ; NO -- PRINT "#"
6686 010452 032711 040000 BIT #KF.RUN,(R1) ; YES -- IS THE RUN FLOP ON?
6687 010456 001005 BNE 30$ ; YES -- PRINT ">"
6688 010460 012700 000045 MOV #'%,R0 ; NO -- PRINT "%"
6689 010464 000402 BR 30$ ; GO DO IT
6690 ;
6691 010466 20$:
6692 010466 012700 000043 MOV #'#,R0 ; KL CLOCK IS OFF
6693 010472 30$:
6694 010472 CALL .TFCHR ; FORCE PRINT THE PROMPT CHARACTER
010472 004737 015504' JSR PC,.TFCHR
6695 010476 012705 001012' 35$: MOV #.COMND,R5 ; SET UP COMMAND BUFFER POINTER
6696 010502 CALL .GTCMD ; GO READ A COMMAND LINE
010502 004737 012610' JSR PC,.GTCMD
6697 010506 005037 000216' CLR .LGLWD ; FLUSH OLD LEGAL BITS
6698 010512 012700 000244' MOV #.RPTCT,R0 ; GET THE REPEAT COUNT POINTER
6699 010516 CALL .DOCMD ; NOW GO EXECUTE A COMMAND
010516 004737 007730' JSR PC,.DOCMD
6700 010522 000716 BR 10$ ; AND START OVER AGAIN
6701 ;
PARSE -- TOP-LEVEL COMMAND DECO MACRO V05.04 Tuesday 17-May-88 14:31 Page 164
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
6703 .SBTTL .TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
6704
6705 ;+
6706 ; .TSCAN -- ROUTINE TO SCAN AN ".ASCIZ" SYMBOL TABLE.
6707 ;
6708 ; THIS ROUTINE WILL SCAN A SYMBOL TABLE AND RETURN THE DISPATCH
6709 ; ADDRESS ASSOCIATED WITH THE SYMBOL IN R0.
6710 ;
6711 ; THE ENTRIES IN THE SYMBOL TABLE ARE OF THE FORM:
6712 ;
6713 ; !=======================================!
6714 ; ! POINTER TO ".ASCIZ" SYMBOL !
6715 ; !---------------------------------------!
6716 ; ! LEGAL BITS FOR OBJECT !
6717 ; !---------------------------------------!
6718 ; ! DISPATCH FOR OBJECT !
6719 ; !=======================================!
6720 ;
6721 ; INPUT ARGUMENTS:
6722 ;
6723 ; R0 POINTS TO THE SYMBOL TABLE
6724 ;
6725 ; OUTPUT ARGUMENTS:
6726 ;
6727 ; R0 POINTS TO THE "LEGAL" BITS OF THE MATCHED SYMBOL
6728 ;
6729 ; ERROR CODES RETURNED:
6730 ;
6731 ; AMB -- AMBIGUOUS KEYWORD.
6732 ; NSK -- NON-EXISTENT KEYWORD.
6733 ; WRM -- WRONG MODE FOR COMMAND.
6734 ;-
PARSE -- TOP-LEVEL COMMAND DECO MACRO V05.04 Tuesday 17-May-88 14:31 Page 165
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
6736 010524 .TSCAN::
6737 010524 CALL .CKCTC ; SEE IF "^C" WAS TYPED
010524 004737 000166' JSR PC,.CKCTC
6738 010530 CALL .CKSYM ; GET OVER LEADING BLANKS
010530 004737 000374' JSR PC,.CKSYM
6739 010534 122704 000077 CMPB #'?,R4 ; IS THIS AN INQUIRY?
6740 010540 001442 BEQ 50$ ; YES -- DISPLAY THE TABLE
6741 010542 PUSH R1 ; NO -- SAVE R1 ON THE STACK
010542 010146 MOV R1,-(SP)
6742 010544 PUSH R5 ; .SAVE THE INPUT POINTER
010544 010546 MOV R5,-(SP)
6743 010546 010001 MOV R0,R1 ; ..TABLE POINTER TO R1
6744 010550 PUSH R5 ; ..SAVE THE INPUT POINTER AGAIN
010550 010546 MOV R5,-(SP)
6745 010552 005046 CLR -(SP) ; ...CLEAR A SCRATCH AREA
6746 010554 10$:
6747 010554 012100 MOV (R1)+,R0 ; ....GET THE ADDRESS OF THE SYMBOL
6748 010556 CALL .SSCAN ; ....SCAN IT
010556 004737 010774' JSR PC,.SSCAN
6749 010562 103412 BCS 30$ ; ....NO MATCH -- TRY NEXT ENTRY
6750 010564 001004 BNE 20$ ; ....MATCH -- SAVE POINTER AND CONTINUE
6751 010566 010100 MOV R1,R0 ; ....EXACT MATCH -- PUT THE POINTER IN R0
6752 010570 010566 000004 MOV R5,4(SP) ; ....FIX THE INPUT POINTER
6753 010574 000414 BR 40$ ; ....AND SET UP FOR EXIT
6754 ;
6755 010576 20$:
6756 010576 005716 TST (SP) ; ....HAVE WE ALREADY FOUND A MATCH?
6757 010600 001062 BNE TSCAMB ; ....YES -- GIVE "AMB" ERROR
6758 010602 010116 MOV R1,(SP) ; ....NO -- SAVE POINTER AND GO ON
6759 010604 010566 000004 MOV R5,4(SP) ; ....SAVE THE BUFFER POINTER
6760 010610 30$:
6761 010610 016605 000002 MOV 2(SP),R5 ; ....RESET THE INPUT POINTER
6762 010614 022121 CMP (R1)+,(R1)+ ; ....ADVANCE THE POINTER
6763 010616 005711 TST (R1) ; ....IS THIS THE END OF THE TABLE?
6764 010620 001355 BNE 10$ ; ....NO -- TRY THIS SYMBOL
6765 010622 011600 MOV (SP),R0 ; ....YES -- DID WE FIND A MATCH?
6766 010624 001455 BEQ TSCNSK ; ....NO -- GIVE "NSK" ERROR
6767 010626 40$:
6768 010626 033710 000000G BIT .FEMOD,(R0) ; ....YES -- CAN WE DO THIS COMMAND?
6769 010632 001455 BEQ TSCWRM ; ....NO -- GIVE "WRM" ERROR
6770 010634 022626 CMP (SP)+,(SP)+ ; ....YES -- CLEAR THE STACK
6771 010636 POP R5 ; ..RETURN UPDATED LINE POINTER
010636 012605 MOV (SP)+,R5
6772 010640 111504 MOVB (R5),R4 ; .PUT THE DELIMITER IN R4
6773 010642 POP R1 ; .RESTORE R1
010642 012601 MOV (SP)+,R1
6774 010644 RETURN ; WITH POINTER TO LEGAL BITS IN R0
010644 000207 RTS PC
PARSE -- TOP-LEVEL COMMAND DECO MACRO V05.04 Tuesday 17-May-88 14:31 Page 166
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
6776 010646 50$:
6777 010646 105725 TSTB (R5)+ ; GET OVER THE "?"
6778 010650 CALL .CKEOC ; CHECK FOR E-O-C
010650 004737 000214' JSR PC,.CKEOC
6779 010654 010001 MOV R0,R1 ; TABLE POINTER TO R1
6780 010656 CALL .TCRLF ; TYPE A <CRLF>
010656 004737 015552' JSR PC,.TCRLF
6781 010662 013700 000004' MOV .CCMDN,R0 ; CURRENT COMMAND NAME
6782 010666 CALL .TYMSG ; PRINT THAT
010666 004737 015462' JSR PC,.TYMSG
6783 010672 012700 000345' MOV #TDMSG0,R0 ; REST OF LINE
6784 010676 CALL .TYLIN ; PRINT IT
010676 004737 015446' JSR PC,.TYLIN
6785 010702 60$:
6786 010702 012100 MOV (R1)+,R0 ; NAME POINTER TO R0
6787 010704 001414 BEQ 80$ ; EXIT IF NULL
6788 010706 031137 000000G BIT (R1),.FEMOD ; COMMAND LEGAL IN THIS MODE?
6789 010712 001407 BEQ 70$ ; NO -- GO ON
6790 010714 105760 000001 TSTB 1(R0) ; [5.1012]ONE CHAR COMMAND?
6791 010720 001404 BEQ 70$ ; [5.1012]YES -- SKIP IT
6792 010722 CALL .TYSPC ; YES -- SPACE OVER
010722 004737 014602' JSR PC,.TYSPC
6793 010726 CALL .TYLIN ; PRINT THIS NAME
010726 004737 015446' JSR PC,.TYLIN
6794 010732 70$:
6795 010732 022121 CMP (R1)+,(R1)+ ; POINT TO THE NEXT NAME
6796 010734 000762 BR 60$ ; AND GO ON
6797 ;
6798 010736 80$:
6799 010736 013706 000256' MOV .SVESP,SP ; RESET THE STACK
6800 010742 000177 000254' JMP @.STRTV ; AND START OVER
6801 ;
PARSE -- TOP-LEVEL COMMAND DECO MACRO V05.04 Tuesday 17-May-88 14:31 Page 167
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
6803 010746 TSCAMB:
6804 010746 016605 000002 MOV 2(SP),R5 ; RESET INPUT POINTER
6805 010752 ERROR$ AMB ; .ERROR -- MULTIPLE MATCH
010752 012746 004112 MOV #^RAMB,-(SP)
010756 104400 TRAP TC.ERR
6806 ;
6807 010760 TSCNSK:
6808 010760 ERROR$ NSK ; .ERROR -- NON-EXISTENT KEYWORD
010760 012746 055203 MOV #^RNSK,-(SP)
010764 104400 TRAP TC.ERR
6809 ;
6810 010766 TSCWRM:
6811 010766 ERROR$ WRM ; .ERROR -- WRONG MODE FOR COMMAND
010766 012746 111235 MOV #^RWRM,-(SP)
010772 104400 TRAP TC.ERR
6812 ;
6813
6814 000345 .PSECT MESSAG
6815
6816 000345 TDMSG0:
6817 000345 040 103 117 .ASCIZ % COMMANDS ARE:%
000350 115 115 101
000353 116 104 123
000356 040 101 122
000361 105 072 000
6818 010774 .PSECT
PARSE -- TOP-LEVEL COMMAND DECO MACRO V05.04 Tuesday 17-May-88 14:31 Page 168
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
6820 .SBTTL .SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
6821
6822 ;+
6823 ; .SSCAN -- ROUTINE TO SCAN A SYMBOL IN THE INPUT STREAM FOR A MATCH
6824 ; WITH AN ".ASCIZ" SYMBOL IN A TABLE.
6825 ;
6826 ; THIS ROUTINE WILL FIND A MATCH OR NON-MATCH ON A SYMBOL POINTED TO
6827 ; BY R5 WITH THE ".ASCIZ" SYMBOLS IN THE TABLE POINTED TO BY R0.
6828 ;
6829 ; INPUT ARGUMENTS:
6830 ;
6831 ; R0 POINTS TO AN ".ASCIZ" SYMBOL IN A TABLE DESCRIBED IN
6832 ; ".TSCAN" (Q.V.).
6833 ; R5 POINTS TO THE INPUT STREAM, OR THE OTHER SYMBOL TO BE
6834 ; MATCHED.
6835 ;
6836 ; OUTPUT ARGUMENTS:
6837 ;
6838 ; ON FAILURE, (NO MATCH):
6839 ; R5 POINTS TO THE BEGINNING OF THE SYMBOL IN THE INPUT STREAM
6840 ; R4 CONTAINS THE LAST CHARACTER PROCESSED IN THE INPUT STREAM
6841 ; CC-C IS SET.
6842 ;
6843 ; ON SUCCESS, (MATCH):
6844 ; R5 POINTS TO THE DELIMITER AFTER THE SYMBOL
6845 ; R4 CONTAINS THAT DELIMITER CHARACTER
6846 ; CC-C IS CLEAR
6847 ; IF CC-Z IS SET, THE MATCH WAS EXACT.
6848 ;
6849 ; ERROR CODES RETURNED:
6850 ;
6851 ; ILS -- ILLEGAL SEPARATOR CHARCATER.
6852 ;-
PARSE -- TOP-LEVEL COMMAND DECO MACRO V05.04 Tuesday 17-May-88 14:31 Page 169
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
6854 010774 .SSCAN::
6855 010774 121510 CMPB (R5),(R0) ; TEST CHARACTERS FOR MATCH
6856 010776 001006 BNE 20$ ; NO MATCH -- CHECK DELIMITER
6857 011000 105720 TSTB (R0)+ ; ADVANCE THE POINTERS
6858 011002 001402 BEQ 10$ ; MATCH ON ".ASCIZ" SYMBOLS?
6859 011004 105725 TSTB (R5)+ ; NO -- ADVANCE OTHER POINTER
6860 011006 000772 BR .SSCAN ; AND TRY NEXT TWO CHARACTERS
6861 ;
6862 011010 10$:
6863 011010 105740 TSTB -(R0) ; BACK THE POINTER UP
6864 011012 000405 BR 30$ ; AND EXIT
6865 ;
6866 011014 20$:
6867 011014 111504 MOVB (R5),R4 ; GET LAST CHARACTER FROM INPUT
6868 011016 132764 000034 001502' BITB #CH.END,.CHTAB(R4)
6869 011024 001402 BEQ 40$ ; NOT LEGAL DELIMITER -- GIVE NO MATCH
6870 011026 30$:
6871 011026 105710 TSTB (R0) ; LOOK AT THE LAST CHARACTER IN OUR SYMBOL
6872 011030 000401 BR 50$ ; AND EXIT
6873 ;
6874 011032 40$:
6875 011032 000261 SEC ; SET CC-C TO SAY "NO MATCH"
6876 011034 50$:
6877 011034 RETURN ; TO CALLER
011034 000207 RTS PC
REPTC -- REPEAT COMMAND MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 171
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
6880 .TITLE REPTC -- REPEAT COMMAND MODULE 7703.25
6881
6882 .IDENT "005000"
6883
6884 ;
6885 ; COPYRIGHT (C) 1975, 1984, 1985 BY
6886 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6887 ; ALL RIGHTS RESERVED.
6888 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
6889 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
6890 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
6891 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
6892 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
6893 ;
6894 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
6895 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
6896 ; CORPORATION.
6897 ;
6898 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6899 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
6900 ;
6901 ; MODULE: REPEAT COMMAND
6902 ;
6903 ; VERSION: 05-00
6904 ;
6905 ; AUTHOR: R. BELANGER
6906 ;
6907 ; DATE: 7703.25
6908 ;
6909 ; THIS MODULE CONTAINS:
6910 ;
6911 ; 1) REPEAT COMMAND CODE
REPTC -- REPEAT COMMAND MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 172
.REPTC -- THE "REPEAT" COMMAND 7703.25
6913 .SBTTL .REPTC -- THE "REPEAT" COMMAND 7703.25
6914
6915 ;+
6916 ; .REPTC -- THE "REPEAT" COMMAND
6917 ;
6918 ; THIS ROUTINE WILL ACCEPT AND CHECK A 36 BIT REPEAT COUNT BEFORE
6919 ; CALLING THE TOP LEVEL OF THE COMMAND PARSER.
6920 ;
6921 ; INPUT ARGUMENTS:
6922 ;
6923 ; NONE.
6924 ;
6925 ; OUTPUT ARGUMENTS:
6926 ;
6927 ; R0 POINTS TO A 36 BIT REPEAT COUNT
6928 ;
6929 ; ERROR CODES RETURNED:
6930 ;
6931 ; IRC -- ILLEGAL REPEAT COUNT
6932 ;-
6933
6934 011036 .REPTC::
6935 011036 013737 000166' 000240' MOV .IRADX,.RDXSV ; SAVE CURRENT INPUT RADIX
6936 011044 012737 000012 000166' MOV #^D10,.IRADX ; SET IT TO DECIMAL
6937 011052 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
6938 011054 005046 CLR -(SP) ; .
6939 011056 005046 CLR -(SP) ; ..
6940 011060 010600 MOV SP,R0 ; ...POINT TO IT
6941 011062 CALL .GTKLN ; ...READ THE NUMBER
011062 004737 013302' JSR PC,.GTKLN
6942 011066 013737 000240' 000166' MOV .RDXSV,.IRADX ; ...RESET INPUT RADIX
6943 011074 CALL .TPTST ; ...SEE WHAT WE GOT
011074 004737 011474' JSR PC,.TPTST
6944 011100 003410 BLE REPIRC ; ...ILLEGAL IF .LE. 0
6945 011102 CALL .CKEOC ; ...CHECK E-O-C
011102 004737 000214' JSR PC,.CKEOC
6946 011106 105725 TSTB (R5)+ ; ...GET OVER THE E-O-C CHARACTER
6947 011110 CALL .DOCMD ; ...CONTINUE PROCESSING THE LINE
011110 004737 007730' JSR PC,.DOCMD
6948 011114 062706 000006 ADD #^D6,SP ; ...FLUSH THE STACK
6949 011120 RETURN ; TO CALLER
011120 000207 RTS PC
6950 011122 REPIRC:
6951 011122 ERROR$ IRC ; ERROR -- ILLEGAL REPEAT COUNT
011122 012746 035423 MOV #^RIRC,-(SP)
011126 104400 TRAP TC.ERR
6952 ;
REPTC -- REPEAT COMMAND MODULE MACRO V05.04 Tuesday 17-May-88 14:31 Page 173
.REPTC -- THE "REPEAT" COMMAND 7703.25
6954
6955 .TITLE TABLE -- COMMAND PARSER COMMAND TABLES 7812.20
6956
6957 .IDENT "007030"
6958
6959 ;
6960 ; COPYRIGHT (C) 1975, 1984, 1985 BY
6961 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6962 ; ALL RIGHTS RESERVED.
6963 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
6964 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
6965 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
6966 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
6967 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
6968 ;
6969 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
6970 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
6971 ; CORPORATION.
6972 ;
6973 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6974 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
6975 ;
6976 ; MODULE: MAIN COMMAND PARSER TABLES
6977 ;
6978 ; VERSION: 07-03
6979 ;
6980 ; AUTHOR: R. BELANGER
6981 ;
6982 ; DATE: 7812.20
6983 ;
6984 ; THIS MODULE CONTAINS:
6985 ;
6986 ; 1) THE MAIN COMMAND TABLES
6987 ;
6988 ; MODIFICATIONS:
6989 ;
6990 ; NO. DATE PROGRAMMER REASON
6991 ; --- ---- ---------- ------
6992 ; 001 28-FEB-77 R. BELANGER ADD DISCONNECT COMMAND
6993 ;
6994 ; [5.1000] 24-AUG-79 K. LEFEBVRE ADD "TAKE" COMMAND
6995 ; ADD "SET OUTPUT" COMMAND
6996 ; [5.1002] 14-SEP-79 K. LEFEBVRE ADD "SET AC-BLOCK" COMMAND
6997 ; ADD "SWEEP" COMMAND
6998 ; [5.1010] 17-OCT-79 K.LEFEBVRE ADD "SHOW" COMMAND
6999 ; [5.1011] 19-OCT-79 R.BELANGER ADD "WHAT HARDWARE" COMMAND
7000 ; [5.1012] 19-OCT-79 R.BELANGER ADD "MARK-MICROCODE" COMMAND
7001 ; ADD "UNMARK-MICROCODE" COMMAND
7002 ; 002 05-NOV-80 S. LEAPLINE ADD "AUTO-TAKE" COMMAND
7003 ;
7004 ;09-Jun-83 TCO 6.1675 D. Weaver
7005 ; Remove the "SET/CLEAR/WHAT AUTO-TAKE" commands.
7006 ;
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 174
.CMDTB -- THE MAIN COMMAND TABLE 7703.25
7008 .SBTTL .CMDTB -- THE MAIN COMMAND TABLE 7703.25
7009
7010 004350 .PSECT DATA
7011
7012 004350 .CMDTB::
7013 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
7014 ;
7015 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
7016 ;
7017 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
7018 ;
7019 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
7020 ;
7021 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
7022 ;
7023 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
7024 ;
7025 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 V05.04 Tuesday 17-May-88 14:31 Page 174-1
.CMDTB -- THE MAIN COMMAND TABLE 7703.25
7026 ;
7027 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
7028 ;
7029 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
7030 ;
7031 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
7032 ;
7033 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
7034 ;
7039 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
7040 ;
7041 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
7042 ;
7043 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
7044 ;
7045 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 V05.04 Tuesday 17-May-88 14:31 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
7046 ;
7047 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
7048 ;
7049 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
7050 ;
7051 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
7052 ;
7053 ;
7054 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
7055
7056 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
7057
7058 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
7059 ;
7060 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
7061 ;
7062 004554 COMND$ RUN,LG.OPR,.RUNCM,RUN
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 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
7063 ;
7064 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
7065 ;
7066 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
7067 ;
7068 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
7069 ;
7070 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
7071 ;
7072 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
7073 ;
7074 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
7075 ;
7076 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
7077 ;
7078 004634 COMND$ UNMARK-MICROCODE,LG.MNT,.UMRKC,UNM
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 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
7079 ;
7080 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
7081 ;
7082 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
7083 ;
7084 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
7085 ;
7086 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
7087 ;
7088 004672 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 175
.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
7090 .SBTTL .DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
7091
7092 004674 .DPETB::
7093 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
7094 ;
7095 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
7096 ;
7097 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
7098 ;
7099 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
7100 ;
7101 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
7102 ;
7103 004732 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 176
.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
7105 .SBTTL .DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
7106
7107 004734 .DPOTB::
7108 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
7109 ;
7110 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
7111 ;
7112 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
7113 ;
7114 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
7115 ;
7116 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
7117 ;
7118 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
7119 ;
7120 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
7121 ;
7122 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
7123 ;
7124 005014 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 177
.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
7126 .SBTTL .EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
7127
7128 005016 .EXETB::
7129 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
7130 ;
7131 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
7132 ;
7133 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
7134 ;
7135 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
7136 ;
7137 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
7138 ;
7139 005054 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 178
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
7141 .SBTTL .EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
7142
7143 005056 .EXMTB::
7144 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
7145 ;
7146 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
7147 ;
7148 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
7149 ;
7150 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
7151 ;
7152 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
7153 ;
7154 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
7155 ;
7156 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
7157 ;
7158 ;
7159 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
7160 ;
7161 005136 COMND$ MQ,<LG.PRG!LG.RPT>,.EXMQR,MQ
001043 115 121 000 MQMSG:: .ASCIZ %MQ%
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 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
7162 ;
7163 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
7164 ;
7165 ;
7166 000012 EXRTBL==<.-.EXMTB>/6
7167 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
7168 ;
7169 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
7170 ;
7171 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
7172 ;
7173 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
7174 ;
7175 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
7176 ;
7177 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
7178
7179 005216 COMND$ ELEVEN,<LG.OPR!LG.RPT>,.EXMEL,ELE
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 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
7180 ;
7181 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
7182 ;
7183 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
7184 ;
7185 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
7186 ;
7187 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
7188 ;
7189 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
7190 ;
7191 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
7192 ;
7193 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
7194 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
7195 ;
7196 005304 COMND$ VMAH,<LG.PRG!LG.RPT>,.EXVMH,VMH
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 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
7197 ;
7198 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
7199 ;
7200 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
7201 ;
7202 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
7203 ;
7204 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
7205 ;
7206 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
7207 ;
7208 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
7209 ;
7210 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
7211 ;
7212 005364 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 179
.KLMTB -- THE KLINIK MODE TABLE 7702.16
7214 .SBTTL .KLMTB -- THE KLINIK MODE TABLE 7702.16
7215
7216 005366 .KLMTB::
7217 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
7218 ;
7219 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
7220 ;
7221 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
7222 ;
7223 005410 000000 .WORD 0 ; END OF TABLE MARKER
7224
7225 005412 .KLMT1::
7226 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
7227 ;
7228 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
7229 ;
7230 005426 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 180
.MONTB -- THE MONTH TABLE 7702.16
7232 .SBTTL .MONTB -- THE MONTH TABLE 7702.16
7233
7234
7235 005430 .MONTB::
7236 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
7237 ;
7238 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
7239 ;
7240 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
7241 ;
7242 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
7243 ;
7244 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
7245 ;
7246 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
7247 ;
7248 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
7249 ;
7250 005502 COMND$ AUGUST,LG.ALL,8.,AUG
001317 101 125 107 AUGMSG:: .ASCIZ %AUGUST%
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 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
7251 ;
7252 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
7253 ;
7254 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
7255 ;
7256 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
7257 ;
7258 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
7259 ;
7260 005540 000000 .WORD 0 ; END OF TABLE MARKER
7261
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 181
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
7263 .SBTTL .NSETB -- NORMAL ERROR CODE TABLE 7710.11
7264
7265 005542 .NSETB::
7266 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
7267 ;
7268 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
7269 ;
7270 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
7271 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
7272 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 V05.04 Tuesday 17-May-88 14:31 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
7273 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
7274 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
7275 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
7276 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 V05.04 Tuesday 17-May-88 14:31 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
7277 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
7278 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
7279 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
7280 ;
7284 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 V05.04 Tuesday 17-May-88 14:31 Page 181-3
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
005622 014476 .RAD50 /DAV/ ; "DAV" IN .RAD50
005624 000531' .WORD DAVERM ; POINTER TO MESSAGE
7285 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
7286 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
7287 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
7288 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
7289 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 V05.04 Tuesday 17-May-88 14:31 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
7290 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
7291 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
7292 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
7293 ;
7294 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 V05.04 Tuesday 17-May-88 14:31 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
7295 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
7296 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
7297 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
7298 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
7299 005712 NSERR$ ESE,<EBOX STOPPED - EXAMINE>
001342 105 123 105 ESEERM: .ASCIZ %ESE - EBOX STOPPED - EXAMINE%
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 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
7300 ;
7301 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
7302 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
7303 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
7304 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 V05.04 Tuesday 17-May-88 14:31 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
7305 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
7306 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
7307 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
7308 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
7309 ;
7310 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 V05.04 Tuesday 17-May-88 14:31 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
7311 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
7312 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
7313 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
7314 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
7315 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 V05.04 Tuesday 17-May-88 14:31 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
7316 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
7317 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
7318 ;
7319 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
7320 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
7321 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 V05.04 Tuesday 17-May-88 14:31 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
7322 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
7323 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
7324 ;
7325 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
7326 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 V05.04 Tuesday 17-May-88 14:31 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
7327 ;
7328 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
7329 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
7330 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
7331 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 V05.04 Tuesday 17-May-88 14:31 Page 181-12
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
006070 002653' .WORD NPIERM ; POINTER TO MESSAGE
7332 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
7333 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
7334 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
7335 ;
7336 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
7337 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
7338 ;
7339 006116 NSERR$ PTL,<PASSWORD TOO LONG>
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 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
7340 ;
7341 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
7342 ;
7343 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
7344 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
7345 006136 NSERR$ SPF,<SET PARITY FAILED>
003261 123 120 106 SPFERM: .ASCIZ %SPF - SET PARITY FAILED%
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 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
7346 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
7347 ;
7348 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
7349 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
7350 ;
7351 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 V05.04 Tuesday 17-May-88 14:31 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
7352 ;
7353 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
7354 ;
7355 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
7356 ;
7357 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
7358 ;
7359 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 V05.04 Tuesday 17-May-88 14:31 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
7360 ;
7361 006202 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 182
.RSTTB -- THE RESTORE COMMAND TABLE 8306.09
7363 .SBTTL .RSTTB -- THE RESTORE COMMAND TABLE 8306.09
7364
7365 006204 .RSTTB::
7366 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
7367 ;
7368 006212 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 183
.SAVTB -- THE SAVE COMMAND TABLE 8306.09
7370 .SBTTL .SAVTB -- THE SAVE COMMAND TABLE 8306.09
7371
7372 006214 .SAVTB::
7373 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
7374 ;
7375 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
7376 ;
7377 006230 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 184
.RESTB -- THE RESET COMMAND TABLE 7602.18
7379 .SBTTL .RESTB -- THE RESET COMMAND TABLE 7602.18
7380
7381 006232 .RESTB::
7382 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
7383 ;
7384 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
7385 ;
7386 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
7387 ;
7388 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
7389 ;
7390 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
7391 ;
7392 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
7393 ;
7394 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
7395 ;
7396 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
7397 ;
7398 006312 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 185
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
7400 .SBTTL .SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
7401
7402 006314 .SCCTB::
7403 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
7404 ;
7405 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
7406 ;
7407 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
7408 ;
7409 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
7410 ;
7411 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
7412 ;
7413 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
7414 ;
7415 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 V05.04 Tuesday 17-May-88 14:31 Page 185-1
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
006364 000000G .WORD .SCCSM ; ROUTINE TO CALL OR DATA
7416 ;
7417 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
7418 ;
7419 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
7420 ;
7421 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
7422 ;
7423 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
7424 ;
7425 006416 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 186
.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
7427 .SBTTL .SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
7428
7429 006420 .SCMTB::
7430 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
7431 ;
7432 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
7433 ;
7434 006434 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 187
.SCCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
7436 .SBTTL .SCCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
7437
7438 006436 .SCCOT::
7439 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
7440 ;
7441 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
7442 ;
7443 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
7444 ;
7445 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
7446 ;
7447 006466 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 188
.SCOTT -- THE "SET OUTPUT" COMMAND TABLE
7449 .SBTTL .SCOTT -- THE "SET OUTPUT" COMMAND TABLE
7450
7451 006470 .SCOTT::
7452 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
7453 ;
7454 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
7455 ;
7456 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
7457 ;
7458 006512 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 189
.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
7460 .SBTTL .SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
7461
7462 006514 .SCPTB::
7463 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
7464 ;
7465 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
7466 ;
7467 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
7468 ;
7469 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
7470 ;
7471 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
7472 ;
7473 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
7474 ;
7475 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
7476 ;
7477 006566 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 190
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
7479 .SBTTL .SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
7480
7481 006570 .SETTB::
7482 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
7483 ;
7484 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
7485 ;
7486 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
7487 ;
7488 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
7489 ;
7490 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
7491 ;
7492 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
7493 ;
7494 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
7495 ;
7496 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 V05.04 Tuesday 17-May-88 14:31 Page 190-1
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
7497 ;
7498 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
7499 ;
7500 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
7501 ;
7502 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
7503 ;
7504 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
7505 ;
7506 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
7507 ;
7508 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
7509 ;
7510 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
7511 ;
7512 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 V05.04 Tuesday 17-May-88 14:31 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
7513 ;
7515 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
7516 ;
7518 006736 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 191
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
7520 .SBTTL .SPETB -- SPECIAL ERROR CODE TABLE 7702.16
7521
7522 006740 .SPETB::
7523 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
7524 ;
7525 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
7526 ;
7527 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
7528 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
7529 006770 SPERR$ FXF,<FUNCTION EXECUTE >
004027 106 130 106 .ASCIZ %FXF - FUNCTION EXECUTE %
004032 040 055 040
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 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
7530 ;
7531 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
7532 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
7533 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
7534 ;
7535 007020 SPERR$ NSK,<NO SUCH KEYWORD ">
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 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
7536 ;
7537 007026 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 192
.STRTB -- THE START COMMAND TABLE 7602.26
7539 .SBTTL .STRTB -- THE START COMMAND TABLE 7602.26
7540
7541 007030 .STRTB::
7542 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
7543 ;
7544 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
7545 ;
7546 007044 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 193
.WHATB -- THE WHAT COMMAND TABLE 7703.25
7548 .SBTTL .WHATB -- THE WHAT COMMAND TABLE 7703.25
7549
7550 007046 .WHATB::
7551 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
7552 ;
7553 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
7554 ;
7555 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
7556 ;
7557 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
7558 ;
7559 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
7560 ;
7561 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
7562 ;
7563 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
7564 ;
7565 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
7566 ;
7567 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
7568 ;
7569 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
7570 ;
7571 007142 COMND$ OUTPUT,LG.OPR,.WHOUT,OUT
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 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
7572 ;
7573 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
7574 ;
7575 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
7576 ;
7577 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
7578 ;
7579 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
7580 ;
7582 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
7583 ;
7585 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
7586 ;
7587 007214 000000 .WORD 0 ; END OF TABLE MARKER
7588 011130 .PSECT
7589
7590 000000 $$PASS2=0
TABLE -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 195
.WHATB -- THE WHAT COMMAND TABLE 7703.25
7593
7594 .TITLE TPSIM -- TRIPLE PRECISION ARITHMETIC SIMULATOR MODULE 7603.30
7595
7596 .IDENT "005000"
7597
7598 ;
7599 ; COPYRIGHT (C) 1975, 1984, 1985 BY
7600 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
7601 ; ALL RIGHTS RESERVED.
7602 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
7603 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
7604 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
7605 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
7606 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
7607 ;
7608 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
7609 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
7610 ; CORPORATION.
7611 ;
7612 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7613 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
7614 ;
7615 ; MODULE: TRIPLE PRECISION ARITHMETIC SIMULATOR
7616 ;
7617 ; VERSION: 05-00
7618 ;
7619 ; AUTHOR: R. BELANGER
7620 ;
7621 ; DATE: 7603.30
7622 ;
7623 ; THIS MODULE CONTAINS:
7624 ;
7625 ; 1) TRIPLE PRECISION ARITHMETIC SIMULATOR
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 196
.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
7627 .SBTTL .SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
7628
7629 ;+
7630 ; .SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS
7631 ;
7632 ; THIS SUBROUTINE SHIFTS THE NUMBER IN R0 AS SPECIFIED BY THE SHIFT
7633 ; COUNT IN R1.
7634 ;
7635 ; INPUT ARGUMENTS:
7636 ;
7637 ; R0 HOLDS THE NUMBER TO BE SHIFTED
7638 ; R1 HOLDS A 16 BIT SHIFT COUNT
7639 ;
7640 ; OUTPUT ARGUMENTS:
7641 ;
7642 ; R0 HOLDS THE SHIFTED NUMBER
7643 ; R1 HOLDS THE SHIFT COUNT
7644 ;
7645 ; ERROR CODES RETURNED:
7646 ;
7647 ; NONE
7648 ;-
7649
7650 011130 .SHIFT::
7651 011130 PUSH R1 ; SAVE R1 ON THE STACK
011130 010146 MOV R1,-(SP)
7652 011132 001407 BEQ 30$ ; .EXIT IF .EQ. 0
7653 011134 002403 BLT 20$ ; .SHIFT RIGHT IF NEGATIVE
7654 011136 10$:
7655 011136 006300 ASL R0 ; .SHIFT IT LEFT
7656 011140 077102 SOB R1,10$ ; .TILL COUNT IS EXHAUSTED
7657 011142 000403 BR 30$ ; .EXIT
7658 ;
7659 011144 20$:
7660 011144 006200 ASR R0 ; .SHIFT IT RIGHT
7661 011146 005201 INC R1 ; .COUNT THE SHIFT
7662 011150 001375 BNE 20$ ; .TILL COUNT EXHAUSTED
7663 011152 30$:
7664 011152 POP R1 ; .RESTORE R1 FROM THE STACK
011152 012601 MOV (SP)+,R1
7665 011154 000241 CLC ; CLEAR CC-C
7666 011156 RETURN ; RETURN
011156 000207 RTS PC
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 197
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
7668 .SBTTL .TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
7669
7670 ;+
7671 ; .TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE.
7672 ;
7673 ; THIS SUBROUTINE WILL DIVIDE THE 48 BIT DIVIDEND POINTED TO BY R0
7674 ; BY THE 48 BIT DIVISOR POINTED TO BY R1 IN THE CALL. ON RETURN,
7675 ; R0 POINTS TO A 48 BIT QUOTIENT, AND R2 POINTS TO A 48 BIT REMAINDER.
7676 ;
7677 ; INPUT ARGUMENTS:
7678 ;
7679 ; R0 POINTS TO THE DIVIDEND
7680 ; R1 POINTS TO THE DIVISOR
7681 ;
7682 ; OUTPUT ARGUMENTS:
7683 ;
7684 ; R0 POINTS TO THE QUOTIENT
7685 ; R1 POINTS TO THE REMAINDER
7686 ; THE DIVISOR AND DIVIDEND ARE DESTROYED
7687 ;
7688 ; ERROR CODES RETURNED:
7689 ;
7690 ; DCK -- DIVIDE CHECK.
7691 ;-
7692
7693 007216 .PSECT DATA
7694
7695 007216 TPDRMN:
7696 007216 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR REMAINDER
7697 007224 TPDDVS:
7698 007224 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR DIVISOR
7699 007232 TPDDVD:
7700 007232 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR DIVIDEND / QUOTIENT
7701
7702 011160 .PSECT
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 198
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
7704 .ENABL LSB
7705
7706 011160 .TPDIV::
7707 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)
7708 011170 CALL .TPXTN ; ....SIGN EXTEND THE DIVIDEND
011170 004737 011420' JSR PC,.TPXTN
7709 011174 010100 MOV R1,R0 ; ....POINT TO THE DIVISOR
7710 011176 CALL .TPXTN ; ....AND SIGN EXTEND IT
011176 004737 011420' JSR PC,.TPXTN
7711 011202 CALL .TPTST ; ....SEE IF IT IS ZERO OR NEGATIVE
011202 004737 011474' JSR PC,.TPTST
7712 011206 003466 BLE TPDDCK ; ....YES -- GIVE "DCK" ERROR
7713 011210 011600 MOV (SP),R0 ; ....NO -- RESTORE DIVIDEND POINTER
7714 011212 012703 000060 MOV #^D48,R3 ; ....ITERATION COUNT TO R3
7715 011216 012702 007216' MOV #TPDRMN,R2 ; ....DATA BLOCK POINTER TO R2
7716 011222 005022 CLR (R2)+ ; ....CLEAR THE REMAINDER
7717 011224 005022 CLR (R2)+ ; ....
7718 011226 005022 CLR (R2)+ ; ....
7719 011230 012122 MOV (R1)+,(R2)+ ; ....LOAD THE DIVISOR
7720 011232 012122 MOV (R1)+,(R2)+ ; ....
7721 011234 012122 MOV (R1)+,(R2)+ ; ....
7722 011236 012022 MOV (R0)+,(R2)+ ; ....LOAD THE DIVIDEND
7723 011240 012022 MOV (R0)+,(R2)+ ; ....
7724 011242 012022 MOV (R0)+,(R2)+ ; ....
7725 011244 012700 007216' MOV #TPDRMN,R0 ; ....REMAINDER POINTER TO R0
7726 011250 012701 007224' MOV #TPDDVS,R1 ; ....DIVISOR POINTER TO R1
7727 011254 012702 007232' MOV #TPDDVD,R2 ; ....DIVIDEND POINTER TO R2
7728
7729 ; [CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 199
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
7731 ; [CONTINUED FROM THE PREVIOUS PAGE]
7732
7733 011260 10$:
7734 011260 006312 ASL (R2) ; ....SHIFT THE DIVIDEND LEFT
7735 011262 006162 000002 ROL 2(R2) ; ....
7736 011266 006162 000004 ROL 4(R2) ; ....
7737 011272 006110 ROL (R0) ; ....INTO THE REMAINDER
7738 011274 006160 000002 ROL 2(R0) ; ....
7739 011300 006160 000004 ROL 4(R0) ; ....
7740 011304 CALL .TPCMP ; ....SEE IF REMAINDER IS .GE. DIVISOR
011304 004737 011440' JSR PC,.TPCMP
7741 011310 103407 BLO 20$ ; ....NO -- JUST KEEP GOING
7742 011312 CALL .TPSUB ; ....YES -- SUBTRACT DIVISOR FROM REMAINDER
011312 004737 011562' JSR PC,.TPSUB
7743 011316 PUSH R0 ; ....SAVE REMAINDER POINTER
011316 010046 MOV R0,-(SP)
7744 011320 010200 MOV R2,R0 ; .....QUOTIENT POINTER TO R0
7745 011322 CALL .TPINC ; .....INCREMENT THE QUOTIENT
011322 004737 011536' JSR PC,.TPINC
7746 011326 POP R0 ; .....RESTORE REMAINDER POINTER
011326 012600 MOV (SP)+,R0
7747 011330 20$:
7748 011330 077325 SOB R3,10$ ; ....LOOP TILL COUNT IS EXHAUSTED
7749 011332 POP <R0,R1> ; ....GET R0 AND R1 FROM THE STACK
011332 012600 MOV (SP)+,R0
011334 012601 MOV (SP)+,R1
7750 011336 012220 MOV (R2)+,(R0)+ ; ..UNLOAD THE QUOTIENT
7751 011340 012220 MOV (R2)+,(R0)+ ; ..
7752 011342 011210 MOV (R2),(R0) ; ..
7753 011344 012702 007216' MOV #TPDRMN,R2 ; ..POINT TO THE REMAINDER
7754 011350 012221 MOV (R2)+,(R1)+ ; ..UNLOAD THE REMAINDER
7755 011352 012221 MOV (R2)+,(R1)+ ; ..
7756 011354 011211 MOV (R2),(R1) ; ..
7757 011356 POP <R2,R3> ; ..RESTORE OTHER REGISTERS
011356 012602 MOV (SP)+,R2
011360 012603 MOV (SP)+,R3
7758 011362 000506 BR 50$ ; AND GO AWAY
7759 ;
7760 011364 TPDDCK:
7761 011364 ERROR$ DCK ; ERROR -- DIVIDE CHECK
011364 012746 014603 MOV #^RDCK,-(SP)
011370 104400 TRAP TC.ERR
7762 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 200
.TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
7764 .SBTTL .TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
7765
7766 ;+
7767 ; .TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER
7768 ; .TPCOM -- SUBROUTINE TO COMPLEMENT A 48 BIT NUMBER.
7769 ; .TPNEG -- SUBROUTINE TO NEGATE A 48 BIT NUMBER.
7770 ; .TPXTN -- SUBROUTINE TO SIGN EXTEND A 36 BIT NUMBER INTO A 48 BIT NUMBER
7771 ;
7772 ; THESE SUBROUTINE PERFORM THE FUNCTIONS INDICATED. ALL SUBROUTINES
7773 ; ACCEPT A DESTINATION POINTER IN R0. ALL SUBROUTINES
7774 ; RETURN THE POINTER UNALTERED. NO OTHER REGISTERS ARE ALTERED
7775 ; BY THESE ROUTINES.
7776 ;
7777 ; INPUT ARGUMENTS:
7778 ;
7779 ; R0 POINTS TO THE DESTINATION OPERAND
7780 ;
7781 ; OUTPUT ARGUMENTS:
7782 ;
7783 ; R0 POINTS TO THE DESINATION OPERAND
7784 ;
7785 ; ERROR CODES RETURNED:
7786 ;
7787 ; NONE.
7788 ;-
7789
7790 011372 .TPCLR:: ; CLEAR A 48 BIT WORD
7791 011372 005020 CLR (R0)+ ; SO
7792 011374 005020 CLR (R0)+
7793 011376 005010 CLR (R0)
7794 011400 000500 BR 60$ ; RESET R0 AND RETURN
7795 ;
7796
7797 011402 .TPCOM:: ; COMPLEMENT A 48 BIT NUMBER
7798 011402 005120 COM (R0)+ ; COMPLEMENT
7799 011404 005120 COM (R0)+ ; EACH WORD
7800 011406 005110 COM (R0) ; IN THE TRIPLET
7801 011410 000474 BR 60$ ; RESET R0 AND RETURN
7802 ;
7803
7804 011412 .TPNEG:: ; NEGATE A 48 BIT NUMBER
7805 011412 CALL .TPCOM ; FIRST COMPLEMENT THE NUMBER
011412 004737 011402' JSR PC,.TPCOM
7806 011416 000447 BR .TPINC ; -0 + NOT(0)+1 AND RETURN
7807 ;
7808
7809 011420 .TPXTN::
7810 011420 032760 000010 000004 BIT #10,4(R0) ; TEST THE SIGN BIT
7811 011426 001466 BEQ 70$ ; EXIT IF POSITIVE
7812 011430 052760 177760 000004 BIS #^C17,4(R0) ; SIGN EXTEND IF NEGATIVE
7813 011436 000462 BR 70$ ; EXIT
7814 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 201
.TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
7816 .SBTTL .TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
7817
7818 ;+
7819 ; .TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS.
7820 ;
7821 ; THIS SUBROUTINE WILL COMPARE THE 48 BIT NUMBER POINTED TO BY
7822 ; R0 AND THE 48 BIT NUMBER POINTED TO BY R1 IN THE CALL.
7823 ;
7824 ; INPUT ARGUMENTS:
7825 ;
7826 ; R0 POINTS TO THE FIRST NUMBER
7827 ; R1 POINTS TO THE SECOND NUMBER
7828 ;
7829 ; OUTPUT ARGUMENTS:
7830 ;
7831 ; R0 POINTS TO THE FIRST NUMBER
7832 ; R1 POINTS TO THE SECOND NUMBER
7833 ; CC-N IS SET IF (R0) .LT. (R1)
7834 ; CC-Z IS SET IF (R0) .EQ. (R1)
7835 ; CC-Z IS CLEAR IF (R0) .GT. (R1)
7836 ;
7837 ; ERROR CODES RETURNED:
7838 ;
7839 ; NONE.
7840 ;-
7841
7842 011440 .TPCMP:: ; COMPARE TWO 48 BIT NUMBERS
7843 011440 026061 000004 000004 CMP 4(R0),4(R1) ; COMPARE THE HIGH WORDS
7844 011446 001056 BNE 70$ ; NOT EQUAL -- EXIT
7845 011450 026061 000002 000002 CMP 2(R0),2(R1) ; COMPARE THE MIDDLE WORDS
7846 011456 001001 BNE 30$ ; NOT EQUAL -- EXIT
7847 011460 021011 CMP (R0),(R1) ; COMPARE THE LOW WORDS
7848 011462 30$:
7849 011462 000250 CLN ; CLEAR CC-N
7850 011464 000242 CLV ; CLEAR CC-V
7851 011466 103046 BCC 70$ ; BRANCH IF NON-NEGATIVE
7852 011470 000270 SEN ; NEGATIVE -- SET CC-N
7853 011472 000444 BR 70$ ; EXIT
7854 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 202
.TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
7856 .SBTTL .TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
7857
7858 ;+
7859 ; .TPTST -- TEST A 48 BIT NUMBER FOR ZERO.
7860 ;
7861 ; THIS SUBROUTINE WILL TEST THE 48 BIT NUMBER POINTED TO BY R0 TO
7862 ; SEE IF IT ZERO OR NON-ZERO. IF THE NUMBER IS ZERO, CC-Z IS SET
7863 ; ON RETURN, IF NON-ZERO, CC-Z IS CLEAR SET ON RETURN.
7864 ; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
7865 ;
7866 ; INPUT ARGUMENTS:
7867 ;
7868 ; R0 POINTS TO THE NUMBER TO BE TESTED
7869 ;
7870 ; OUTPUT ARGUMENTS:
7871 ;
7872 ; R0 POINTS TO THE TESTED NUMBER
7873 ; CC-Z IS SET IF THE NUMBER IS ZERO
7874 ; CC-Z IS CLEAR IF THE NUMBER IS NON-ZERO
7875 ;
7876 ; ERROR CODES RETURNED:
7877 ;
7878 ; NONE.
7879 ;-
7880
7881 011474 .TPTST:: ; TEST A TRIPLE PRECISION NUMBER FOR ZERO
7882 011474 005760 000004 TST 4(R0) ; TEST THE HIGH WORD
7883 011500 001041 BNE 70$ ; NON ZERO?
7884 011502 005760 000002 TST 2(R0) ; TEST THE MIDDLE WORD
7885 011506 001001 BNE 40$ ; NON ZERO?
7886 011510 005710 TST (R0) ; TEST THE LOW WORD
7887 011512 40$:
7888 011512 000250 CLN ; CLEAR CC-N
7889 011514 000433 BR 70$ ; EXIT
7890 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 203
.TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
7892 .SBTTL .TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
7893
7894 ;+
7895 ; .TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS.
7896 ;
7897 ; THIS SUBROUTINE ADDS TWO 48 BIT ADDENDS WHICH ARE POINTED TO BY
7898 ; R0 AND R1 IN THE CALL, AND RETURNS A POINTER TO THE SUM IN R0.
7899 ; THE ADDEND POINTED TO BY R1 IS ADDED TO THAT POINTED TO BY R0.
7900 ;
7901 ; INPUT ARGUMENTS:
7902 ;
7903 ; R0 POINTS TO THE FIRST ADDEND
7904 ; R1 POINTS TO THE SECOND ADDEND
7905 ;
7906 ; OUTPUT ARGUMENTS:
7907 ;
7908 ; R0 POINTS TO THE SUM
7909 ; R1 POINTS TO THE SECOND ADDEND
7910 ;
7911 ; ERROR CODES RETURNED:
7912 ;
7913 ; NONE.
7914 ;-
7915
7916 011516 .TPADD::
7917 011516 062120 ADD (R1)+,(R0)+ ; ADD LOW ORDER PARTS
7918 011520 005510 ADC (R0) ; CARRY ANY OVERFLOW
7919 011522 005560 000002 ADC 2(R0) ; AND ANY OVER FLOW FROM THAT
7920 011526 062120 ADD (R1)+,(R0)+ ; ADD MIDDLE WORD
7921 011530 005510 ADC (R0) ; FIX CARRIES
7922 011532 061110 ADD (R1),(R0) ; ADD HIGH ORDER PARTS
7923 011534 000421 BR 50$ ; RESET REGISTERS ANS EXIT
7924 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 204
.TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
7926 .SBTTL .TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
7927
7928 ;+
7929 ; .TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER.
7930 ; .TPDEC -- SUBROUTINE TO DECREMENT A 48 BIT NUMBER.
7931 ;
7932 ; THESE SUBROUTINES WILL INCREMENT OR DECREMENT A 48 BIT NUMBER
7933 ; POINTED TO BY R0 IN THE CALL. ON RETURN, THE POINTER IN R0 IS
7934 ; UNCHANGED. NO OTHER REGISTERS ARE ALTERED BY THESE SUBROUTINES.
7935 ;
7936 ; INPUT ARGUMENTS:
7937 ;
7938 ; R0 POINTS TO THE OPERAND
7939 ;
7940 ; OUTPUT ARGUMENTS:
7941 ;
7942 ; R0 POINTS TO THE OPERAND
7943 ;
7944 ; ERROR CODES RETURNED:
7945 ;
7946 ; NONE.
7947 ;-
7948
7949 011536 .TPINC:: ; INCREMENT A 48 BIT NUMBER
7950 011536 062720 000001 ADD #1,(R0)+ ; DO THE INCREMENT
7951 011542 005520 ADC (R0)+ ; AND CARRY THE CARRIES
7952 011544 005510 ADC (R0)
7953 011546 000415 BR 60$ ; AND EXIT
7954 ;
7955
7956 011550 .TPDEC:: ; DECREMENT A 48 BIT NUMBER
7957 011550 162720 000001 SUB #1,(R0)+ ; DO THE DECREMENT
7958 011554 005620 SBC (R0)+ ; AND STRAIGHTEN OUT THE CARRIES
7959 011556 005610 SBC (R0)
7960 011560 000410 BR 60$ ; ADJUST R0 AND RETURN
7961 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 205
.TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
7963 .SBTTL .TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
7964
7965 ;+
7966 ; .TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS.
7967 ;
7968 ; THIS SUBROUTINE WILL SUBTRACT TWO 48 BIT NUMBERS POINTED TO BY R0,
7969 ; (MINUEND), AND R1 (SUBTRAHEND) IN THE CALL, AND WILL RETURN A
7970 ; POINTER TO THE DIFFERENCE IN R0.
7971 ;
7972 ; INPUT ARGUMENTS:
7973 ;
7974 ; R0 POINTS TO THE MINUEND
7975 ; R1 POINTS TO THE SUBTRAHEND
7976 ;
7977 ; OUTPUT ARGUMENTS:
7978 ;
7979 ; R0 POINTS TO THE DIFFERENCE
7980 ; R1 POINTS TO THE SUBTRAHEND
7981 ;
7982 ; ERROR CODES RETURNED:
7983 ;
7984 ; NONE.
7985 ;-
7986
7987 011562 .TPSUB::
7988 011562 162120 SUB (R1)+,(R0)+ ; SUBTRACT LOW ORDER PARTS
7989 011564 005610 SBC (R0) ; CARRY ANY OVERFLOW
7990 011566 005660 000002 SBC 2(R0) ; AND ANY OVERFLOWS FROM THAT
7991 011572 162120 SUB (R1)+,(R0)+
7992 011574 005610 SBC (R0) ; FIX CARRIES
7993 011576 161110 SUB (R1),(R0) ; SUBTRACT HIGH ORDER PARTS
7994 011600 50$:
7995 011600 024141 CMP -(R1),-(R1) ; RESET R1
7996 011602 60$:
7997 011602 024040 CMP -(R0),-(R0) ; RESET R0
7998 011604 70$:
7999 011604 RETURN ; AND EXIT
011604 000207 RTS PC
8000
8001 .DSABL LSB
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 206
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
8003 .SBTTL .TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
8004
8005 ;+
8006 ; .TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE.
8007 ;
8008 ; THIS SUBROUTINE WILL MULTIPLY THE 48 BIT MULTIPLICAND POINTED
8009 ; TO BY R0 BY THE 48 BIT MULTIPLIER POINTER IN R1, AND RETURN A
8010 ; POINTER TO THE 48 BIT PRODUCT IN R0. THE MULTIPLIER IS UNCHANGED,
8011 ; AND NO OTHER REGISTERS ARE ALTERED BY THIS SUBROUTINE.
8012 ;
8013 ; INPUT ARGUMENTS:
8014 ;
8015 ; R0 POINTS TO THE MULTIPLICAND
8016 ; R1 POINTS TO THE MULTIPLIER
8017 ;
8018 ; OUTPUT ARGUMENTS:
8019 ;
8020 ; R0 POINTS TO THE PRODUCT
8021 ; R1 POINTS TO THE MULTIPLIER
8022 ;
8023 ; ERROR CODES RETURNED:
8024 ;
8025 ; NONE.
8026 ;-
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 207
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
8028 011606 .TPMUL::
8029 011606 PUSH <R2,R1,R0> ; SAVE CALLER'S REGISTERS
011606 010246 MOV R2,-(SP)
011610 010146 MOV R1,-(SP)
011612 010046 MOV R0,-(SP)
8030 011614 CALL .TPTST ; ...SEE IF MULTIPLICAND .EQ. 0
011614 004737 011474' JSR PC,.TPTST
8031 011620 001460 BEQ 50$ ; ...YES -- QUIT NOW
8032 011622 010100 MOV R1,R0 ; ...NO -- POINT TO MULTIPLIER
8033 011624 CALL .TPTST ; ...SEE IF IT IS .EQ. 0
011624 004737 011474' JSR PC,.TPTST
8034 011630 001004 BNE 10$ ; ...NO -- ALL OK
8035 011632 011600 MOV (SP),R0 ; ...YES -- GET MULTIPLICAND POINTER
8036 011634 CALL .TPCLR ; ...AND MAKE IT .EQ. 0
011634 004737 011372' JSR PC,.TPCLR
8037 011640 000450 BR 50$ ; ...RETURN TO CALLER
8038 ;
8039 011642 10$:
8040 011642 011600 MOV (SP),R0 ; ...R0 POINTS TO MULTIPLCAND
8041 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)
8042 011654 024141 CMP -(R1),-(R1) ; .......CALLER'S MULTIPLIER SAVED
8043 011656 010102 MOV R1,R2 ; .......R2 POINTS TO THE MULTIPLIER
8044 011660 010001 MOV R0,R1 ; .......R1 POINTS TO THE MULTIPLICAND
8045 011662 005046 CLR -(SP) ; .......CLEAR A BUFFER ON THE STACK
8046 011664 005046 CLR -(SP) ; ........
8047 011666 005046 CLR -(SP) ; .........
8048 011670 010600 MOV SP,R0 ; ..........R0 POINTS TO TEMPORARY RESULT
8049 011672 20$:
8050 011672 006062 000004 ROR 4(R2) ; ..........SHIFT THE MULTIPLIER RIGHT
8051 011676 006062 000002 ROR 2(R2) ; ..........
8052 011702 006012 ROR (R2) ; ..........
8053 011704 103002 BCC 30$ ; ..........DID WE GET A CARRY?
8054 011706 CALL .TPADD ; ..........YES -- ADD THE MULTIPLICAND
011706 004737 011516' JSR PC,.TPADD
8055 011712 30$:
8056 011712 006311 ASL (R1) ; ..........DOUBLE MULTIPLICAND IN ANY CASE
8057 011714 006161 000002 ROL 2(R1) ; ..........
8058 011720 006161 000004 ROL 4(R1) ; ..........
8059 011724 PUSH R0 ; ..........SAVE RESULT POINTER
011724 010046 MOV R0,-(SP)
8060 011726 010200 MOV R2,R0 ; ...........POINT TO MULTIPLIER
8061 011730 CALL .TPTST ; ...........IS IT .EQ. 0?
011730 004737 011474' JSR PC,.TPTST
8062 011734 001402 BEQ 40$ ; ...........YES -- SET UP FOR RETURN
8063 011736 POP R0 ; ...........NO -- RESTORE R0
011736 012600 MOV (SP)+,R0
8064 011740 000754 BR 20$ ; ..........AND CONTINUE
8065 ;
8066
8067 ; [CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 208
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
8069 ; [CONTINUED FROM THE PREVIOUS PAGE]
8070
8071 ; HERE TO RETURN PRODUCT AND EXIT
8072
8073 011742 40$:
8074 011742 POP R0 ; ...........GET RID OF MULTIPLIER POINTER
011742 012600 MOV (SP)+,R0
8075 011744 POP <(R1)+,(R1)+,(R1)>
011744 012621 MOV (SP)+,(R1)+
011746 012621 MOV (SP)+,(R1)+
011750 012611 MOV (SP)+,(R1)
8076 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)
8077 011762 50$:
8078 011762 POP <R0,R1,R2> ; ...RESTORE REGISTERS
011762 012600 MOV (SP)+,R0
011764 012601 MOV (SP)+,R1
011766 012602 MOV (SP)+,R2
8079 011770 RETURN ; TO CALLER
011770 000207 RTS PC
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 209
.TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
8081 .SBTTL .TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
8082
8083 ;+
8084 ; .TPSHI -- SUBROUTINE TO SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER.
8085 ;
8086 ; THIS SUBROUTINE SHIFTS THE 48 BIT NUMBER POINTED TO BY R0 BY THE
8087 ; 16 BIT NUMBER IN R1 IN THE CALL. ON RETURN R0 POINTS TO THE SHIFTED
8088 ; 48 BIT NUMBER. THE DIRECTION OF THE SHIFT IS DETERMINED BY THE SIGN
8089 ; OF THE 16 BIT NUMBER IN R1. NO REGISTERS ARE ALTERED BY THIS ROUTINE.
8090 ;
8091 ; INPUT ARGUMENTS:
8092 ;
8093 ; R0 POINTS TO THE NUMBER TO BE SHIFTED
8094 ; R1 HOLDS THE 16 BIT SHIFT COUNT
8095 ;
8096 ; OUTPUT ARGUMENTS:
8097 ;
8098 ; R0 POINTS TO THE SHIFTED NUMBER
8099 ; R0 HOLDS THE 16 BIT SHIFT COUNT
8100 ;
8101 ; ERROR CODES RETURNED:
8102 ;
8103 ; NONE.
8104 ;-
8105
8106 011772 .TPSHI::
8107 011772 PUSH R1 ; SAVE R1 FROM DESTRUCTION
011772 010146 MOV R1,-(SP)
8108 011774 001416 BEQ 30$ ; .ON ZERO DO NOTHING
8109 011776 003002 BGT 10$ ; .REALLY MEANS LEFT
8110 012000 005401 NEG R1 ; .MEANS RIGHT, SO NEGATE
8111 012002 000406 BR 20$ ; .AND GO RIGHT
8112 ;
8113 012004 10$:
8114 012004 006320 ASL (R0)+ ; .CLEAR CC-C AND SHIFT
8115 012006 006120 ROL (R0)+ ; .USE CC-C AND SHIFT
8116 012010 006110 ROL (R0) ; .
8117 012012 024040 CMP -(R0),-(R0) ; .POINT BACK TO BEGINNING
8118 012014 077105 SOB R1,10$ ; .AND LOOP 'TILL DONE
8119 012016 000405 BR 30$ ; .DONE -- EXIT
8120 ;
8121 012020 20$: ; .HERE TO SHIFT RIGHT
8122 012020 022020 CMP (R0)+,(R0)+ ; .FIX POINTER TO POINT TO HIGH PART
8123 012022 006210 ASR (R0) ; .SHIFT HIGH PART
8124 012024 006040 ROR -(R0) ; .THEN MIDDLE PART
8125 012026 006040 ROR -(R0) ; .THEN LOW PART
8126 012030 077105 SOB R1,20$ ; .UNTIL DONE
8127 012032 30$:
8128 012032 POP R1 ; .RESTORE R1
012032 012601 MOV (SP)+,R1
8129 012034 RETURN ; AND RETURN TO CALLER
012034 000207 RTS PC
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 210
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
8131 .SBTTL .TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
8132
8133 ;+
8134 ; .TPSHL -- SUBROUTINE TO SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER.
8135 ;
8136 ; THIS SUBROUTINE WILL SHIFT THE 48 BIT NUMBER POINTED TO BY R0 BY
8137 ; THE 48 BIT NUMBER POINTED TO BY R1 IN THE CALL. BOTH POINTERS ARE
8138 ; RETURNED UNALTERED, AND NO OTHER REGISTERS ARE ALTERED BY THE
8139 ; SUBROUTINE. THE DIRECTION OF THE SHIFT IS DETERMINED BY THE SIGN
8140 ; OF THE 48 BIT NUMBER POINTED TO BY R1.
8141 ;
8142 ; INPUT ARGUMENTS:
8143 ;
8144 ; R0 POINTS TO THE NUMBER TO BE SHIFTED
8145 ; R1 POINTS TO THE SHIFT COUNT
8146 ;
8147 ; OUTPUT ARGUMENTS:
8148 ;
8149 ; R0 POINTS TO THE SHIFTED NUMBER
8150 ; R1 POINTS TO THE SHIFT COUNT
8151 ;
8152 ; ERROR CODES RETURNED:
8153 ;
8154 ; NONE.
8155 ;-
8156
8157 012036 .TPSHL::
8158 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)
8159 012046 024141 CMP -(R1),-(R1) ; ....BACK THE POINTER UP
8160 012050 PUSH <R2,R0> ; ....SAVE R2 AND R0
012050 010246 MOV R2,-(SP)
012052 010046 MOV R0,-(SP)
8161 012054 010100 MOV R1,R0 ; ......POINT TO THE SHIFT COUNT
8162 012056 CALL .TPXTN ; ......DO THE SIGN EXTENSION
012056 004737 011420' JSR PC,.TPXTN
8163 012062 CALL .TPTST ; ......SEE WHAT IT IS
012062 004737 011474' JSR PC,.TPTST
8164 012066 001432 BEQ 30$ ; ......EXIT IF .EQ. ZERO
8165 012070 002415 BLT 20$ ; ......SHIFT RIGHT IF .LT. ZERO
8166
8167 ; [CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 211
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
8169 ; [CONTINUED FROM THE PREVIOUS PAGE]
8170
8171 012072 10$: ; ......HERE TO SHIFT LEFT
8172 012072 010002 MOV R0,R2 ; ......SHIFT COUNT POINTER TO R2
8173 012074 011600 MOV (SP),R0 ; ......POINT TO THE NUMBER
8174 012076 012701 000001 MOV #^D1,R1 ; ......SUBSTITUTE SHIFT COUNT
8175 012102 CALL .TPSHI ; ......SHIFT IT ONCE
012102 004737 011772' JSR PC,.TPSHI
8176 012106 010200 MOV R2,R0 ; ......REAL SHIFT COUNT POINTER TO R0
8177 012110 CALL .TPDEC ; ......DECREMENT IT
012110 004737 011550' JSR PC,.TPDEC
8178 012114 CALL .TPTST ; ......ARE WE DONE?
012114 004737 011474' JSR PC,.TPTST
8179 012120 001364 BNE 10$ ; ......NO -- KEEP GOING
8180 012122 000414 BR 30$ ; ......YES -- EXIT
8181 ;
8182 012124 20$: ; ......HERE TO SHIFT RIGHT
8183 012124 010002 MOV R0,R2 ; ......SHIFT COUNT TO R2
8184 012126 011600 MOV (SP),R0 ; ......POINT TO THE NUMBER
8185 012130 012701 177777 MOV #-^D1,R1 ; ......SUBSTITUTE SHIFT COUNT
8186 012134 CALL .TPSHI ; ......SHIFT IT
012134 004737 011772' JSR PC,.TPSHI
8187 012140 010200 MOV R2,R0 ; ......REAL SHIFT COUNT POINTER TO R0
8188 012142 CALL .TPINC ; ......INCREMENT IT
012142 004737 011536' JSR PC,.TPINC
8189 012146 CALL .TPTST ; ......ARE WE DONE?
012146 004737 011474' JSR PC,.TPTST
8190 012152 001364 BNE 20$ ; ......NO -- KEEP GOING
8191 012154 30$:
8192 012154 POP <R0,R2> ; ......RESTORE R0 AND R2
012154 012600 MOV (SP)+,R0
012156 012602 MOV (SP)+,R2
8193 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)
8194 012170 RETURN ; RETURN TO CALLER
012170 000207 RTS PC
TPSIM -- TRIPLE PRECISION ARITH MACRO V05.04 Tuesday 17-May-88 14:31 Page 212
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
8196
8197 .TITLE TRACK -- DIAGNOSTIC FUNCTION TRACK MODULE 7603.30
8198
8199 .IDENT "005000"
8200
8201 ;
8202 ; COPYRIGHT (C) 1975, 1984, 1985 BY
8203 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
8204 ; ALL RIGHTS RESERVED.
8205 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8206 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
8207 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
8208 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
8209 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
8210 ;
8211 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
8212 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
8213 ; CORPORATION.
8214 ;
8215 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8216 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
8217 ;
8218 ; MODULE: DAIGNOSTIC FUNCTION TRACK
8219 ;
8220 ; VERSION: 05-00
8221 ;
8222 ; AUTHOR: R. BELANGER
8223 ;
8224 ; DATE: 7603.30
8225 ;
8226 ; THIS MODULE CONTAINS:
8227 ;
8228 ; 1) DIAGNOSTIC FUNCTION TRACK CODE
TRACK -- DIAGNOSTIC FUNCTION TR MACRO V05.04 Tuesday 17-May-88 14:31 Page 213
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
8230 .SBTTL .TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
8231
8232 ;+
8233 ; .FRTRK -- SUBROUTINE TO TRACK A FUNCTION READ.
8234 ; .FWTRK -- SUBROUTINE TO TRACK A FUNCTION WRITE.
8235 ; .FXTRK -- SUBROUTINE TO TRACK A FUNCTION EXECUTE.
8236 ;
8237 ; THESE SUBROUTINES TRACK A FUNCTION READ, WRITE, OR EXECUTE
8238 ; BY DISPLAYING THE FUNCTION CODE AND THE CONTENT OF THE BUFFER
8239 ; ON THE FRONT END OUTPUT DEVICE.
8240 ;
8241 ; THESE SUBROUTINES ARE CALLED INTERNALLY AND ARE DEPENDENT UPON THE
8242 ; STATE OF THE SWITCHES IN ".TRKWD". THE ".TRKWD" SWITCHES ARE TURNED
8243 ; ON OR OFF BY THE "SET" AND "CLEAR TRACK" COMMANDS, RESPECTIVELY.
8244 ;
8245 ; ERROR CODES RETURNED:
8246 ;
8247 ; NONE.
8248 ;-
8249
8251
8252 .ENABL LSB
8253
8254 012172 .FRTRK::
8255 012172 PUSH R0 ; SAVE R0 ON THE STACK
012172 010046 MOV R0,-(SP)
8256 012174 PUSH .KLDFR+2 ; .SAVE THE FR CODE TOO
012174 013746 000340' MOV .KLDFR+2,-(SP)
8257 012200 PUSH #.DFRB ; ..AND THE BUFFER ADDRESS
012200 012746 000344' MOV #.DFRB,-(SP)
8258 012204 012700 002014' MOV #TFRMSG,R0 ; ...MESSAGE POINTER TO R0
8259 012210 000416 BR 10$ ; ...DO THE TRACKING
8260 ;
8261 012212 .FWTRK::
8262 012212 PUSH R0 ; SAVE R0 ON THE STACK
012212 010046 MOV R0,-(SP)
8263 012214 PUSH .KLDFW+2 ; .SAVE THE FW CODE
012214 013746 000352' MOV .KLDFW+2,-(SP)
8264 012220 PUSH #.DFWB ; ..AND THE BUFFER ADDRESS
012220 012746 000336' MOV #.DFWB,-(SP)
8265 012224 012700 002031' MOV #TFWMSG,R0 ; ...MESSAGE POINTER TO R0
8266 012230 000406 BR 10$ ; ...GO TRACK IT
8267 ;
8268 012232 .FXTRK::
8269 012232 PUSH R0 ; SAVE R0 ON THE STACK
012232 010046 MOV R0,-(SP)
8270 012234 PUSH .KLDFX+2 ; .SAVE THE FX CODE
012234 013746 000364' MOV .KLDFX+2,-(SP)
8271 012240 005046 CLR -(SP) ; ..NO BUFFER ADDRESS
8272 012242 012700 002046' MOV #TFXMSG,R0 ; ...MESSAGE POINTER TO R0
8273 ; BR 10$ ; ...AND FALL INTO COMMON CODE
8274 ;
8275
8276 ; [CONTINUED ON THE FOLLOWING PAGE]
TRACK -- DIAGNOSTIC FUNCTION TR MACRO V05.04 Tuesday 17-May-88 14:31 Page 214
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
8278 ; [CONTINUED FROM THE PREVIOUS PAGE]
8279
8280 012246 10$:
8281 012246 012737 177777 000220' MOV #-^D1,.LDZFL ; ...PRINT LEADING ZEROES
8282 012254 CALL .TYMSG ; ...PRINT THE MESSAGE
012254 004737 015462' JSR PC,.TYMSG
8283 012260 016600 000002 MOV 2(SP),R0 ; ...GET THE FUNCTION CODE
8284 012264 000300 SWAB R0 ; ...SWAP THE BYTES
8285 012266 042700 177400 BIC #177400,R0 ; ...FLUSH JUNK FROM HIGH BYTE
8286 012272 006200 ASR R0 ; ...DIVIDE IT BY 2
8287 012274 CALL .TYP3D ; ...TYPE THAT
012274 004737 015032' JSR PC,.TYP3D
8288 012300 011600 MOV (SP),R0 ; ...BUFFER ADDRESS?
8289 012302 001406 BEQ 20$ ; ...NO -- JUST EXIT
8290 012304 CALL .TYSLS ; ...YES -- TYPE A SLASH AND
012304 004737 014572' JSR PC,.TYSLS
8291 012310 CALL .TYSPC ; ...TYPE A <SPACE> AND
012310 004737 014602' JSR PC,.TYSPC
8292 012314 CALL .TYKLN ; ...TYPE ITS CONTENT
012314 004737 015156' JSR PC,.TYKLN
8293 012320 20$:
8294 012320 CALL .TCRLF ; ...NOW A <CRLF>
012320 004737 015552' JSR PC,.TCRLF
8295 012324 022626 CMP (SP)+,(SP)+ ; ...GET RID OF BUFFER POINTER AND CODE
8296 012326 POP R0 ; .RESTORE R0
012326 012600 MOV (SP)+,R0
8297 012330 RETURN ; AND GO AWAY
012330 000207 RTS PC
8298
8299 .DSABL LSB
8300
8301 002014 .PSECT MESSAG
8302
8303 002014 TFRMSG:
8304 002014 011 124 122 .ASCIZ % TRACK > FR %
002017 101 103 113
002022 040 076 040
002025 106 122 040
002030 000
8305 002031 TFWMSG:
8306 002031 011 124 122 .ASCIZ % TRACK > FW %
002034 101 103 113
002037 040 076 040
002042 106 127 040
002045 000
8307 002046 TFXMSG:
8308 002046 011 124 122 .ASCIZ % TRACK > FX %
002051 101 103 113
002054 040 076 040
002057 106 130 040
002062 000
8309 012332 .PSECT
8310
TRACK -- DIAGNOSTIC FUNCTION TR MACRO V05.04 Tuesday 17-May-88 14:31 Page 215
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
8313 .SBTTL .DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
8314
8315 ;+
8316 ; .DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS
8317 ;
8318 ; THIS SUBROUTINE WILL TRACK DTE-20 OPERATIONS AND PRINT ALL DTE-20
8319 ; REFERENCES BY THE COMMAND PARSER ON THE CONSOLE OUTPUT DEVICE.
8320 ; THIS SUBROUTINE IS CALLED INTERNALLY, DEPENDENT UPON THE STATE OF
8321 ; THE DTE-20 TRACK FLAG ("TR.DTE") IN THE TRACK CONTROL WORD, ".TRKWD."
8322 ;
8323 ; CALLING SEQUENCE IS:
8324 ;
8325 ; CALL .DTTRK ; TRACK THE DTE-20
8326 ; ; ONLY RETURN
8327 ;
8328 ; THE DTE-20 REGISTER OPERATED UPON IS IDENTIFIED BY ONE OF THE FOLLOWING:
8329 ;
8330 ; (A) DIAG 1 - DIAG WORD 1,
8331 ; (B) DIAG 2 - DIAG WORD 2,
8332 ; (C) STATUS - STATUS WORD,
8333 ; (D) DIAG 3 - DIAG WORD 3.
8334 ;
8335 ; A READ OPERATION IS IDENTIFIED BY "RD", AND A WRITE OPERATION BY "WR".
8336 ;
8337 ; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
8338 ;
8339 ; ERROR CODES RETURNED:
8340 ;
8341 ; NONE.
8342 ;-
8343
TRACK -- DIAGNOSTIC FUNCTION TR MACRO V05.04 Tuesday 17-May-88 14:31 Page 216
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
8346 012332 .DTTRK::
8347 012332 012737 177777 000220' MOV #-^D1,.LDZFL ; PRINT LEADING ZEROES
8348 012340 PUSH R0 ; SAVE R0
012340 010046 MOV R0,-(SP)
8349 012342 012700 002063' MOV #DTRMSG,R0 ; .MESSAGE POINTER TO R0
8350 012346 CALL .TYMSG ; .PRINT IT
012346 004737 015462' JSR PC,.TYMSG
8351 012352 113700 000303' MOVB .REGRW+3,R0 ; .GET THE REGISTER OFFSET
8352 012356 016000 007240' MOV REGTAB(R0),R0 ; .REGISTER MESSAGE POINTER TO R0
8353 012362 CALL .TYMSG ; .TYPE IT
012362 004737 015462' JSR PC,.TYMSG
8354 012366 CALL .TYSPC ; .NOW A <SPACE>
012366 004737 014602' JSR PC,.TYSPC
8355 012372 005737 000304' TST .REGRW+4 ; .IS THIS A WRITE?
8356 012376 001002 BNE 10$ ; .YES -- GO ON
8357 012400 011600 MOV (SP),R0 ; .NO -- DATA TO R0
8358 012402 000402 BR 20$ ; .GO PRINT IT
8359 ;
8360 012404 10$:
8361 012404 017700 000304' MOV @.REGRW+4,R0 ; .GET WRITTEN DATA
8362 012410 20$:
8363 012410 CALL .TYELN ; .PRINT THE DATA
012410 004737 014766' JSR PC,.TYELN
8364 012414 012700 002144' MOV #DRDMSG,R0 ; .READ MESSAGE POINTER TO R0
8365 012420 005737 000304' TST .REGRW+4 ; .WAS IT A WRITE?
8366 012424 001402 BEQ 30$ ; .YES -- GO ON
8367 012426 012700 002150' MOV #DWRMSG,R0 ; .NO -- WRITE MESSAGE POINTER TO R0
8368 012432 30$:
8369 012432 CALL .TYLIN ; .PRINT IT AND A <CRLF>
012432 004737 015446' JSR PC,.TYLIN
8370 012436 POP R0 ; .RESTORE R0
012436 012600 MOV (SP)+,R0
8371 012440 RETURN ; TO CALLER
012440 000207 RTS PC
TRACK -- DIAGNOSTIC FUNCTION TR MACRO V05.04 Tuesday 17-May-88 14:31 Page 217
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
8373 007240 .PSECT DATA
8374
8375 007240 REGTAB:
8376 007240 002104' .WORD DW1MSG ; MESSAGE POINTERS
8377 007242 002114' .WORD DW2MSG
8378 007244 002124' .WORD STAMSG
8379 007246 002134' .WORD DW3MSG
8380
8381 002063 .PSECT MESSAG
8382 002063 DTRMSG:
8383 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
8384
8385 002104 DW1MSG:
8386 002104 104 111 101 .ASCIZ %DIAG 1/%
002107 107 040 061
002112 057 000
8387 002114 DW2MSG:
8388 002114 104 111 101 .ASCIZ %DIAG 2/%
002117 107 040 062
002122 057 000
8389 002124 STAMSG:
8390 002124 123 124 101 .ASCIZ %STATUS/%
002127 124 125 123
002132 057 000
8391 002134 DW3MSG:
8392 002134 104 111 101 .ASCIZ %DIAG 3/%
002137 107 040 063
002142 057 000
8393
8394 002144 DRDMSG:
8395 002144 040 122 104 .ASCIZ % RD%
002147 000
8396 002150 DWRMSG:
8397 002150 040 127 122 .ASCIZ % WR%
002153 000
8398 012442 .PSECT
8399
TRACK -- DIAGNOSTIC FUNCTION TR MACRO V05.04 Tuesday 17-May-88 14:31 Page 218
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
8402 .SBTTL .EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
8403
8404 ;+
8405 ; .EXTRK -- SUBROUTINE TO TRACK A KL EXAMINE.
8406 ; .DPTRK -- SUBROUTINE TO TRACK A KL DEPOSIT.
8407 ;
8408 ; THESE SUBROUTINES WILL TRACK A KL EXAMINE OR DEPOSIT BY
8409 ; DISPLAYING THE ADDRESS, DATA, AND REFERENCE TYPE OF THE EXAMINE
8410 ; OR DEPOSIT ON THE CONSOLE DEVICE AS IT IS EXECUTED.
8411 ;
8412 ; THESE SUBROUTINES ARE CALLED INTERNALLY DEPENDENT ON THE STATE OF
8413 ; THE TRACK CONTROL WORD ".TRKWD".
8414 ;
8415 ; THE SWITCHES IN ".TRKWD" ARE TURNED ON OR OFF BY THE "SET" AND
8416 ; "CLEAR TRACK" COMMANDS, RESPECTIVELY.
8417 ;
8418 ; NO REGISTERS ARE ALTERED BY THESE SUBROUTINES.
8419 ;
8420 ; ERROR CODES RETURNED:
8421 ;
8422 ; NONE.
8423 ;-
8424
8426
8427 .ENABL LSB
8428
8429 012442 .EXTRK::
8430 012442 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
012442 004537 010316' JSR R5,.REGSV
8431 012446 012705 002200' MOV #ETRMSG,R5 ; PREAMBLE TO TYPE
8432 012452 000404 BR 10$ ; DO COMMON CODE
8433 ;
8434 012454 .DPTRK::
8435 012454 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
012454 004537 010316' JSR R5,.REGSV
8436 012460 012705 002215' MOV #DTKMSG,R5 ; PREAMBLE TO TYPE
8437 ; AND FALL INTO COMMON CODE
8438
8439 ; [CONTINUED ON THE FOLLOWING PAGE]
TRACK -- DIAGNOSTIC FUNCTION TR MACRO V05.04 Tuesday 17-May-88 14:31 Page 219
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
8441 ; [CONTINUED FROM THE PREVIOUS PAGE]
8442
8443 012464 10$:
8444 012464 PUSH R0 ; SAVE R0 ON THE STACK
012464 010046 MOV R0,-(SP)
8445 012466 011100 MOV (R1),R0 ; .GET ADDRESS POINTER
8446 012470 012702 007250' MOV #TRADDR,R2 ; .POINT TO OUR BLOCK
8447 012474 012022 MOV (R0)+,(R2)+ ; .AND LOAD IT
8448 012476 012022 MOV (R0)+,(R2)+ ; .
8449 012500 005012 CLR (R2) ; .ZERO THE LAST WORD
8450 012502 016100 000002 MOV 2(R1),R0 ; .GET DATA POINTER
8451 012506 012702 007256' MOV #TRDATA,R2 ; .POINT TO OUR BLOCK
8452 012512 012022 MOV (R0)+,(R2)+ ; .AND LOAD IT
8453 012514 012022 MOV (R0)+,(R2)+ ; .
8454 012516 011012 MOV (R0),(R2) ; .
8455 012520 010500 MOV R5,R0 ; .PREAMBLE POINTER TO R0
8456 012522 CALL .TYMSG ; .PRINT IT
012522 004737 015462' JSR PC,.TYMSG
8457 012526 012700 007250' MOV #TRADDR,R0 ; .POINT TO ADDRESS
8458 012532 CALL .TYKLA ; .PRINT IT
012532 004737 015106' JSR PC,.TYKLA
8459 012536 CALL .TYSLS ; .TYPE A SLASH
012536 004737 014572' JSR PC,.TYSLS
8460 012542 CALL .TYSPC ; .AND A <SPACE>
012542 004737 014602' JSR PC,.TYSPC
8461 012546 012700 007256' MOV #TRDATA,R0 ; .POINT TO DATA
8462 012552 CALL .TYKLN ; .PRINT IT
012552 004737 015156' JSR PC,.TYKLN
8463 012556 CALL .TYSPC ; .AND A <SPACE>
012556 004737 014602' JSR PC,.TYSPC
8464 012562 011600 MOV (SP),R0 ; .GET TYPE
8465 012564 006200 ASR R0 ; .DIVIDE BY 16
8466 012566 006200 ASR R0 ; .
8467 012570 006200 ASR R0 ; .
8468 012572 006200 ASR R0 ; .
8469 012574 016000 007264' MOV EDTYTB(R0),R0 ; .GET TYPE POINTER
8470 012600 CALL .TYLIN ; .PRINT IT AND A <CRLF>
012600 004737 015446' JSR PC,.TYLIN
8471 012604 POP R0 ; .AND R0
012604 012600 MOV (SP)+,R0
8472 012606 RETURN ; TO CALLER
012606 000207 RTS PC
8473
8474 .DSABL LSB
TRACK -- DIAGNOSTIC FUNCTION TR MACRO V05.04 Tuesday 17-May-88 14:31 Page 220
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
8476 007250 .PSECT DATA
8477
8478 007250 TRADDR:
8479 007250 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR ADDRESS
8480 007256 TRDATA:
8481 007256 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR DATA
8482 007264 EDTYTB: ; POINTERS FOR TYPE MESSAGES
8483 007264 002154' .WORD EDEPT ; EPT SPACE
8484 007266 002160' .WORD EDEXV ; EXEC VIRTUAL SPACE
8485 007270 002164' .WORD EDUPT ; UPT SPACE
8486 007272 002170' .WORD EDUSV ; USER VIRTUAL
8487 007274 002174' .WORD EDPHY ; PHYSICAL SPACE
8488
8489 002154 .PSECT MESSAG
8490 002154 EDEPT:
8491 002154 105 120 124 .ASCIZ %EPT%
002157 000
8492 002160 EDEXV:
8493 002160 105 126 123 .ASCIZ %EVS%
002163 000
8494 002164 EDUPT:
8495 002164 125 120 124 .ASCIZ %UPT%
002167 000
8496 002170 EDUSV:
8497 002170 125 126 123 .ASCIZ %UVS%
002173 000
8498 002174 EDPHY:
8499 002174 120 110 131 .ASCIZ %PHY%
002177 000
8500 002200 ETRMSG:
8501 002200 011 124 122 .ASCIZ % TRACK > EX %
002203 101 103 113
002206 040 076 040
002211 105 130 040
002214 000
8502 002215 DTKMSG:
8503 002215 011 124 122 .ASCIZ % TRACK > DP %
002220 101 103 113
002223 040 076 040
002226 104 120 040
002231 000
8504 012610 .PSECT
8505
TRACK -- DIAGNOSTIC FUNCTION TR MACRO V05.04 Tuesday 17-May-88 14:31 Page 221
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
8508
8509
8510 .TITLE TYINP -- COMMAND PARSER COMMAND INPUT MODULE 7603.30
8511
8512 .IDENT "006110"
8513
8514 ;
8515 ; COPYRIGHT (C) 1975, 1984, 1985 BY
8516 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
8517 ; ALL RIGHTS RESERVED.
8518 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8519 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
8520 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
8521 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
8522 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
8523 ;
8524 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
8525 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
8526 ; CORPORATION.
8527 ;
8528 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8529 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
8530 ;
8531 ; MODULE: COMMAND PARSER COMMAND INPUT
8532 ;
8533 ; VERSION: 06-11
8534 ;
8535 ; AUTHOR: R. BELANGER
8536 ;
8537 ; DATE: 7603.30
8538 ;
8539 ; THIS MODULE CONTAINS:
8540 ;
8541 ; 1) COMMAND LINE INPUT CODE
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 222
.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
8543 .SBTTL .GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
8544
8545 ;+
8546 ; .GTCMD -- SUBROUTINE TO GET A COMMAND LINE FROM THE CONSOLE INPUT
8547 ; BUFFER.
8548 ;
8549 ; THIS SUBROUTINE WILL GET A COMMAND LINE FROM THE CONSOLE INPUT DEVICE
8550 ; BUFFER AND PLACE IT INTO THE COMMAND BUFFER.
8551 ;
8552 ; INPUT ARGUMENTS:
8553 ;
8554 ; R5 POINTS TO THE DESTINATION BUFFER.
8555 ;
8556 ; OUTPUT ARGUMENTS:
8557 ;
8558 ; R5 POINTS TO THE BEGINNING OF THE COMMAND BUFFER
8559 ; ".INCHC" HAS THE COUNT OF THE CHARACTERS IN THE COMMAND BUFFER
8560 ; THE LAST CHARACTER IN THE COMMAND BUFFER IS A "<NULL>".
8561 ;
8562 ; ERROR CODES RETURNED:
8563 ;
8564 ; IF THE CONSOLE INPUT FAILS, THE PARSER WILL EXIT.
8565 ;
8566 ; CBO -- COMMAND BUFFER OVERFLOW.
8567 ; ILC -- ILLEGAL CHARACTER.
8568 ;-
8569
8570 012610 .GTCMD::
8571 012610 010501 MOV R5,R1 ; COMMAND BUFFER POINTER TO R1
8572 012612 10$:
8573 012612 PUSH R1 ; SAVE R1 ON THE STACK
012612 010146 MOV R1,-(SP)
8574 012614 CALL .GTLIN ; .GO GET THE COMMAND LINE
012614 004737 012644' JSR PC,.GTLIN
8575 012620 022601 CMP (SP)+,R1 ; .DID THE POINTER CHANGE?
8576 012622 001407 BEQ 20$ ; NO -- JUST EXIT
8577 012624 122741 000055 CMPB #'-,-(R1) ; YES -- WAS LAST CHARACTER LINE CONTINUATION?
8578 012630 001004 BNE 20$ ; NO -- EXIT
8579 012632 111100 MOVB (R1),R0 ; YES -- PROMPT FOR CONTINUATION
8580 012634 CALL .TFCHR ; FORCE PRINT THE PROMPT
012634 004737 015504' JSR PC,.TFCHR
8581 012640 000764 BR 10$ ; AND GO GET THE REST OF THE LINE
8582 ;
8583 012642 20$:
8584 012642 RETURN ; TO CALLER
012642 000207 RTS PC
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 223
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
8586 .SBTTL .GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
8587
8588 ;+
8589 ; .GTLIN -- SUBROUTINE TO GET AN INPUT LINE FROM THE CONSOLE
8590 ;
8591 ; THIS SUBROUTINE WILL GET A LINE OF INPUT FROM THE CONSOLE DEVICE
8592 ; AND PERFORM THE FOLLOWING CHARACTER CONVERSIONS:
8593 ;
8594 ; (A) LOWER CASE CHARACTERS ARE CONVERTED TO UPPER CASE
8595 ; (B) "<TAB>" IS CONVERTED TO "<SPACE>"
8596 ;
8597 ; INPUT ARGUMENTS:
8598 ;
8599 ; R1 POINTS TO THE BEGINNING OF THE DESTINATION BUFFER
8600 ;
8601 ; OUTPUT ARGUMENTS:
8602 ;
8603 ; R1 POINTS TO THE END OF THE DESTINATION BUFFER
8604 ;
8605 ; ERROR CODES RETURNED:
8606 ;
8607 ; IF THE CONSOLE INPUT FAILS, THE PARSER WILL EXIT.
8608 ;
8609 ; CBO -- COMMAND BUFFER OVERFLOW.
8610 ; FRD -- FILE READ FAILURE
8611 ; ILC -- ILLEGAL CHARACTER.
8612 ;-
8613
8614 .MCALL DIR$, QIOW$
8615
8616 012644 .GTLIN::
8617 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)
8618 012654 012700 000362' MOV #.CIBFR,R0 ; ...INPUT BUFFER POINTER TO R0
8619 012660 005037 000164' CLR .INCHC ; ...CLEAR THE CHARACTER COUNTER
8620 012664 005737 001660' TST .INDFG ; [5.1000]IS INPUT REDIRECTED TO FILE?
8622 012670 001011 BNE 10$ ; [5.1000]YES -- GET INPUT FROM FILE
8623 012672 005737 000176' TST .KLEDF ; [5.1006]NO -- GET DEFAULT COMMANDS?
8624 012676 001427 BEQ 12$ ; [5.1006]NO -- GET INPUT FROM CTY
8625 012700 CALL .KLE ; [5.1006]YES -- GET COMMANDS
012700 004737 000000G JSR PC,.KLE
8626 012704 005737 000010' TST .CISTS+2 ; [5.1006]ANY COMMAND?
8627 012710 001442 BEQ 15$ ; [5.1006]NO -- DONE
8628 012712 000407 BR 11$ ; [5.1006]YES -- ECHO COMMANDS
8632 012714 012702 000362' 10$: MOV #.CIBFR,R2 ; [5.1000]YES -- SET UP INPUT BUFFER
8633 012720 012703 000006' MOV #.CISTS,R3 ; [5.1000]STATUS PTR
8634 012724 CALL .READR ; [5.1000]GET THE COMMAND
012724 004737 002224' JSR PC,.READR
8635 012730 103432 BCS 15$ ; [5.1000]EOF ENCOUNTERED
8636 012732 012737 000362' 000430' 11$: MOV #.CIBFR,.CDOBP ; [5.1000]SET ECHO BUFFER
8637 012740 013737 000010' 000432' MOV .CISTS+2,.CDOBC ; [5.1000]SET BYTE COUNT
8638 012746 001423 BEQ 15$ ; [5.1000]NULL COMMAND?
8639 012750 CALL .TYOUT ; [5.1000]NO -- ECHO IT
012750 004737 015600' JSR PC,.TYOUT
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 223-1
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
8640 012754 000420 BR 15$ ; [5.1000]PROCESS COMMAND
8641 012756 12$: DIR$ #.CDINP ; ...READ THE LINE INTO INPUT BUFFER
012756 012746 000374' MOV #.CDINP,-(SP)
012762 104375 EMT 375
8642 012764 103457 BCS 70$ ; ...GIVE CONSOLE INPUT FAILED ERROR
8643 012766 105737 000006' TSTB .CISTS ; ...TEST THE STATUS BYTE
8644 012772 002454 BLT 70$ ; ...GIVE CONSOLE INPUT FAILED ERROR
8645 012774 012737 000362' 000452' MOV #.CIBFR,.LDOBP ; [5.1000]NO -- SET LOG,LPT OUTPUT BUFFER
8646 013002 013737 000010' 000454' MOV .CISTS+2,.LDOBC ; [5.1000]SET BYTE COUNT
8647 013010 001402 BEQ 15$ ; [5.1000]NULL COMMAND?
8648 013012 CALL .TYOU1 ; [5.1000]NO -- ECHO COMMAND TO LPT,LOG
013012 004737 015660' JSR PC,.TYOU1
8649 013016 15$: CALL .TCRLF ; ...ACKNOWLEDGE THE LINE
013016 004737 015552' JSR PC,.TCRLF
8650 013022 013703 000010' MOV .CISTS+2,R3 ; ...INPUT BYTE COUNT TO R3
8651 013026 001415 BEQ 40$ ; ...NULL LINE IF .EQ. 0
8652 013030 20$:
8653 013030 112004 MOVB (R0)+,R4 ; ...GET THE CHARACTER INTO R4
8654 013032 001441 BEQ GTLILC ; ...ILLEGAL IF <NULL>
8655 013034 105764 001502' TSTB .CHTAB(R4) ; ...SEE IF IT IS A LEGAL CHARACTER
8656 013040 002420 BLT 50$ ; ...NO -- SEE IF IT IS REALLY ILLEGAL
8657
8658 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 224
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
8660 ; [CONTINUED FROM THE PREVIOUS PAGE]
8661
8662 013042 30$:
8663 013042 110421 MOVB R4,(R1)+ ; ...PUT IT INTO THE OUTPUT BUFFER
8664 013044 005237 000164' INC .INCHC ; ...INCREMENT THE CHARACTER COUNT
8665 013050 023727 000164' 000430 CMP .INCHC,#.CMNDL ; ...HAVE WE OVERFLOWED?
8666 013056 003024 BGT GTLCBO ; ...YES -- GIVE ERROR
8667 013060 077315 SOB R3,20$ ; ...NO -- LOOP TILL DONE THIS LINE
8668 013062 40$:
8669 013062 105011 CLRB (R1) ; ...MARK THE END OF LINE
8670 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
8671 013074 005737 000164' TST .INCHC ; TEST THE INPUT BYTE COUNT
8672 013100 RETURN ; TO CALLER
013100 000207 RTS PC
8673 013102 50$: ; ...HERE TO CHECK ILLEGAL CHARACTERS
8674 013102 122704 000041 CMPB #'!,R4 ; ...WAS IT A COMMENT?
8675 013106 001765 BEQ 40$ ; ...YES -- JUST EXIT
8676 013110 122704 000011 CMPB #11,R4 ; ...NO -- WAS IT A <TAB>?
8680 013114 001010 BNE GTLILC ; ...NO -- GIVE "ILC" ERROR
8682 013116 112704 000040 MOVB #.SPACE,R4 ; ...YES -- MAKE IT A <SPACE>
8683 013122 000747 BR 30$ ; ...AND PUT IT IN THE BUFFER
8684 ;
8695 013124 70$:
8696 013124 CALLR .EXITP ; EXIT GRACEFULLY
013124 000137 010110' JMP .EXITP
8697 ;
8698 013130 GTLCBO:
8699 013130 ERROR$ CBO ; ERROR -- COMMAND BUFFER OVERFLOW
013130 012746 011437 MOV #^RCBO,-(SP)
013134 104400 TRAP TC.ERR
8700 ;
8701 013136 GTLILC:
8702 013136 ERROR$ ILC ; ERROR -- ILLEGAL CHARACTER
013136 012746 035043 MOV #^RILC,-(SP)
013142 104400 TRAP TC.ERR
8703 ;
8704 ; THIS IS THE CONSOLE INPUT DPB
8705
8706 000374 .PSECT DPBS
8707
8708 000374 .CDINP::
8709 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
8710
8711 000410' .CDIBP=.CDINP+Q.IOPL ; CONSOLE INPUT BYTE POINTER
8712 000412' .CDIBC=.CDINP+Q.BYCT ; CONSOLE INPUT BYTE COUNT
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 224-1
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
8713
8714 013144 .PSECT
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 225
.ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
8716 .SBTTL .ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
8717
8718 ;+
8719 ; .ELNCK -- SUBROUTINE TO TEST FOR A LEGAL PDP-11 NUMBER
8720 ;
8721 ; THIS SUBROUTINE WILL TEST A NUMBER TO SEE IF IT IS A LEGAL PDP-11
8722 ; NUMBER. THIS IS REQUIRED BECAUSE THE NUMERIC INPUT ROUTINES HANDLE
8723 ; ONLY 36 BIT NUMBERS.
8724 ;
8725 ; INPUT ARGUMENTS:
8726 ;
8727 ; R0 POINTS TO THE PDP-11 NUMBER TO BE TESTED
8728 ;
8729 ; OUTPUT ARGUMENTS:
8730 ;
8731 ; R0 POINTS TO THE PDP-11 NUMBER
8732 ;
8733 ; ERROR CODES RETURNED:
8734 ;
8735 ; NOR -- INPUT NUMBER OUT OF RANGE.
8736 ;-
8737
8738 013144 .ELNCK::
8739 013144 032760 000010 000004 BIT #10,4(R0) ; IS THIS A NEGATIVE NUMBER?
8740 013152 001411 BEQ 10$ ; NO -- POSITIVE
8741 013154 022760 177777 000004 CMP #-^D1,4(R0) ; YES -- ARE ALL THE BITS ON?
8742 013162 001014 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
8743 013164 022760 177777 000002 CMP #-^D1,2(R0) ; YES -- HOW ABOUT THE SECOND WORD?
8744 013172 001010 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
8745 013174 000406 BR 20$ ; YES -- ALL OK, EXIT
8746 ;
8747 013176 10$:
8748 013176 005760 000004 TST 4(R0) ; SEE IF HIGH WORD IS .EQ. ZERO
8749 013202 001004 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
8750 013204 005760 000002 TST 2(R0) ; IS SECOND WORD .EQ. ZERO?
8751 013210 001001 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
8752 013212 20$:
8753 013212 RETURN ; TO CALLER
013212 000207 RTS PC
8754 013214 ELNNOR:
8755 013214 000137 014534' JMP GTNNOR ; GIVE "NOR" ERROR
8756 ;
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 226
.GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
8758 .SBTTL .GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
8759
8760 ;+
8761 ; .GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER
8762 ;
8763 ; THIS SUBROUTINE WILL RETURN A PDP-11 NUMBER IN R0.
8764 ;
8765 ; INPUT ARGUMENTS:
8766 ;
8767 ; NONE.
8768 ;
8769 ; OUTPUT ARGUMENTS:
8770 ;
8771 ; R0 HOLDS THE PDP-11 NUMBER.
8772 ;
8773 ; ERROR CODES RETURNED:
8774 ;
8775 ; NOR -- INPUT NUMBER OUT OF RANGE.
8776 ;-
8777
8778 013220 .GTELN::
8779 013220 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
8780 013222 005046 CLR -(SP) ; .
8781 013224 005046 CLR -(SP) ; ..
8782 013226 010600 MOV SP,R0 ; ...
8783 013230 CALL .GTNUM ; ...GET A NUMBER
013230 004737 013302' JSR PC,.GTNUM
8784 013234 CALL .ELNCK ; ...SEE IF IS REALLY A PDP-11 NUMBER
013234 004737 013144' JSR PC,.ELNCK
8785 013240 011000 MOV (R0),R0 ; ...PUT THE NUMBER IN R0
8786 013242 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
8787 013246 RETURN ; TO CALLER
013246 000207 RTS PC
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 227
.GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
8789 .SBTTL .GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
8790
8791 ;+
8792 ; .GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS.
8793 ;
8794 ; THIS SUBROUTINE WILL READ AND RETURN A 36 BIT NUMBER AS A 22 BIT
8795 ; ADDRESS IN THE BUFFER POINTED TO BY R0 IN THE CALL.
8796 ;
8797 ; INPUT ARGUMENTS:
8798 ;
8799 ; R0 POINTS TO A THREE WORD BUFFER
8800 ;
8801 ; OUTPUT ARGUMENTS:
8802 ;
8803 ; R0 POINTS TO THE 22 BIT KL ADDRESS
8804 ;
8805 ; ERROR CODES RETURNED:
8806 ;
8807 ; KLA -- KL ADDRESS ERROR.
8808 ; NOR -- NUMBER OUT OF RANGE
8809 ;-
8810
8811 013250 .GTKLA::
8812 013250 CALL .GTNUM ; GET A NUMBER
013250 004737 013302' JSR PC,.GTNUM
8813 013254 005760 000004 TST 4(R0) ; CHECK FOR A LEGAL ADDRESS
8814 013260 001005 BNE GTKKLA ; BAD NEWS -- OUT OF RANGE
8815 013262 032760 177600 000002 BIT #^C177,2(R0) ; LOOK AT SECOND WORD
8816 013270 001001 BNE GTKKLA ; SAME HERE -- OUT OF RANGE
8817 013272 RETURN ; TO CALLER
013272 000207 RTS PC
8818 013274 GTKKLA:
8819 013274 ERROR$ KLA ; ERROR -- KL ADDRESS ERROR
013274 012746 043241 MOV #^RKLA,-(SP)
013300 104400 TRAP TC.ERR
8820 ;
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 228
.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
8822 .SBTTL .GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
8823
8824 ;+
8825 ; .GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION
8826 ; .GTKLN -- ".GTNUM" BY ANOTHER NAME
8827 ;
8828 ; THIS SUBROUTINE WILL READ AND CONVERT A NUMERIC EXPRESSION FROM
8829 ; THE INPUT STREAM AND RETURN A POINTER TO THE NUMBER IN R0
8830 ;
8831 ; INPUT ARGUMENTS:
8832 ;
8833 ; R0 POINTS TO THE DESTINATION OF THE NUMBER
8834 ; R5 POINTS TO THE INPUT STREAM
8835 ;
8836 ; OUTPUT ARGUMENTS:
8837 ;
8838 ; R0 POINTS TO THE NUMBER
8839 ; R5 POINTS TO THE FIRST CHARACTER AFTER THE NUMBER
8840 ;
8841 ; ERROR CODES RETURNED:
8842 ;
8843 ; ILC -- ILLEGAL CHARACTER.
8844 ; NOR -- NUMBER OUT OF RANGE.
8845 ;-
8846
8847 013302 .GTNUM::
8848 013302 .GTKLN::
8849 013302 PUSH R1 ; SAVE R1
013302 010146 MOV R1,-(SP)
8850 013304 CALL .CKSYM ; .GET OVER LEADING BLANKS
013304 004737 000374' JSR PC,.CKSYM
8851 013310 122715 000077 CMPB #'?,(R5) ; .IS THIS AN INQUIRY?
8852 013314 001474 BEQ GTNNER ; .YES -- SAY SO
8853 013316 CALL .TPCLR ; .NO -- CLEAR CALLER'S NUMBER
013316 004737 011372' JSR PC,.TPCLR
8854 013322 CALL .CKARG ; [5.1018]IS ARGUMENT NUMERIC?
013322 004737 000070' JSR PC,.CKARG
8855 013326 100403 BMI 5$ ; [5.1018]YES -- GET IT
8856 013330 CALL .GTOPC ; <*>NO -- DECODE OPCODE
013330 004737 013514' JSR PC,.GTOPC
8857 013334 000405 BR 7$ ; [5.1018]GET RIGHT HALF
8858 013336 5$: CALL .GTEXP ; .READ THIS EXPRESSION
013336 004737 013706' JSR PC,.GTEXP
8859 013342 122715 000040 CMPB #.SPACE,(R5) ; .IS THE TERMINATOR A <SPACE>?
8860 013346 001053 BNE 30$ ; .NO -- JUST EXIT
8861 013350 7$: CALL .CKARG ; .YES -- SEE IF NUMERIC ARGUMENT FOLLOWS
013350 004737 000070' JSR PC,.CKARG
8862 013354 001454 BEQ GTNNER ; .NOT NUMERIC -- GIVE "NER" ERROR
8863 013356 CALL .TPTST ; .NUMERIC -- SEE IF PREVIOUS IS NEGATIVE
013356 004737 011474' JSR PC,.TPTST
8864 013362 002407 BLT 10$ ; .NEGATIVE -- DON'T DO RANGE CHECK
8865 013364 032760 177774 000002 BIT #^C3,2(R0) ; .IS THE NUMBER IN RANGE?
8866 013372 001043 BNE GTNORE ; .NO -- GIVE "NOR" ERROR
8867 013374 005760 000004 TST 4(R0) ; .IS IT REALLY IN RANGE?
8868 013400 001040 BNE GTNORE ; .NO -- GIVE "NOR" ERROR
8869
8870 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 229
.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
8872 ; [CONTINUED FROM THE PREVIOUS PAGE]
8873
8874 013402 10$:
8875 013402 012701 000022 MOV #^D18,R1 ; .SHIFT COUNT TO R1
8876 013406 CALL .TPSHI ; .SHIFT IT
013406 004737 011772' JSR PC,.TPSHI
8877 013412 010001 MOV R0,R1 ; .SAVE THE POINTER TO THE CURRENT NUMBER
8878 013414 005046 CLR -(SP) ; .CLEAR A NEW BUFFER
8879 013416 005046 CLR -(SP) ; ..
8880 013420 005046 CLR -(SP) ; ...
8881 013422 010600 MOV SP,R0 ; ....POINT TO THE BUFFER
8882 013424 PUSH R1 ; ....SAVE THE OLD POINTER
013424 010146 MOV R1,-(SP)
8883 013426 CALL .GTEXP ; .....READ THE NEW EXPRESSION
013426 004737 013706' JSR PC,.GTEXP
8884 013432 CALL .CKEOS ; .....MUST HAVE E-O-S AT THIS POINT
013432 004737 000256' JSR PC,.CKEOS
8885 013436 CALL .TPTST ; .....SEE IF THIS NUMBER IS NEGATIVE
013436 004737 011474' JSR PC,.TPTST
8886 013442 003005 BGT 20$ ; .....YES -- GO ON
8887 013444 005060 000004 CLR 4(R0) ; .....YES -- FIX IT UP
8888 013450 042760 177774 000002 BIC #^C3,2(R0) ; .....SO
8889 013456 20$:
8890 013456 POP R1 ; .....GET THE POINTER TO THE FIRST PART
013456 012601 MOV (SP)+,R1
8891 013460 052021 BIS (R0)+,(R1)+ ; ....ASSEMBLE THE NEW NUMBER
8892 013462 052021 BIS (R0)+,(R1)+ ; ....FROM BOTH HALVES
8893 013464 051011 BIS (R0),(R1) ; ....SO
8894 013466 062706 000006 ADD #^D6,SP ; ....RESET THE STACK
8895 013472 024141 CMP -(R1),-(R1) ; .BACK THE POINTER UP
8896 013474 010100 MOV R1,R0 ; .PUT IT IN R0
8897 013476 30$:
8898 013476 POP R1 ; .RESTORE R1
013476 012601 MOV (SP)+,R1
8899 013500 RETURN ; TO CALLER
013500 000207 RTS PC
8900 013502 GTNORE:
8901 013502 000137 014534' JMP GTNNOR ; GIVE "NOR" ERROR
8902 ;
8903 013506 GTNNER:
8904 013506 ERROR$ NER ; ERROR -- NUMERIC EXPRESSION REQUIRED
013506 012746 054132 MOV #^RNER,-(SP)
013512 104400 TRAP TC.ERR
8905 ;
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 230
.GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"
8907 .SBTTL .GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"
8908
8909 ;+
8910 ; .GTOPC -- KL I/O OPCODE DECODER ROUTINE
8911 ;
8912 ; THIS ROUTINE WILL DECODE AN ARGUMENT OF THE FORM "FUNC DEV" WHERE
8913 ; FUNC IS ONE OF THE FOLLOWING "CONO,CONI,DATAO,DATAI,BLKO,BLKI,CONSO,
8914 ; CONSZ" AND DEV IS A DEVICE CODE. THE ROUTINE WILL RETURN IN THE THREE
8915 ; WORD BLOCK POINTED TO BY R0 THE LEFT HALF OF THE 36 BIT KL INSTRUCTION
8916 ; IN THE FIRST 18 BITS.
8917
8918 ; THIS ROUTINE ADDED FOR TCO 5.1018
8919 ;
8920 ; INPUT ARGUMENTS:
8921 ;
8922 ; R0 POINTS TO THE 3 WORD DESTINATION BLOCK
8923 ; R5 POINTS TO INPUT STREAM
8924 ;
8925 ; OUTPUT ARGUMENTS:
8926 ;
8927 ; R0 POINTS TO NUMBER WITH LEFT HALF FILLED IN
8928 ; R5 POINTS TO FIRST CHARACTER AFTER "FUNC DEV"
8929 ;
8930 ; ERROR CODES RETURNED:
8931 ;
8932 ; ILI -- ILLEGAL INSTRUCTION
8933 ; NER -- NUMERIC EXPRESSION REQUIRED
8934 ; NOR -- NUMBER OUT OF RANGE
8935 ;-
8936
8937 013514 .GTOPC::
8938 013514 PUSH <R0,R1,R5> ; SAVE REGISTERS
013514 010046 MOV R0,-(SP)
013516 010146 MOV R1,-(SP)
013520 010546 MOV R5,-(SP)
8939 013522 005010 CLR (R0) ; CLEAR BITS 20-35
8940 013524 052710 100000 BIS #100000,(R0) ; SET BIT 20 FOR I/O OPCODE
8941 013530 052760 000003 000002 BIS #3,2(R0) ; SET BITS 18-19 FOR I/O OPCODE
8942 013536 012701 007276' MOV #IOTAB,R1 ; TABLE PTR TO R1
8943 013542 012100 10$: MOV (R1)+,R0 ; TEXT PTR TO R0
8944 013544 001455 BEQ GTNILI ; TABLE DONE?
8945 013546 011605 MOV (SP),R5 ; RESTORE R5 (CHANGED ON PARTIAL MATCH)
8946 013550 CALL .SSCAN ; NO -- CHECK FOR MATCH
013550 004737 010774' JSR PC,.SSCAN
8947 013554 103772 BCS 10$ ; NO MATCH
8948 013556 001371 BNE 10$ ; NOT EXACT MATCH
8949 013560 005726 TST (SP)+ ; R5 NO LONGER NEEDED
8950 013562 162701 007300' SUB #IOTAB+2,R1 ; GET TABLE OFFSET
8951 013566 006301 ASL R1 ; PUT INSTR CODE IN POSITION
8952 013570 006301 ASL R1
8953 013572 006301 ASL R1
8954 013574 006301 ASL R1
8955 013576 016600 000002 MOV 2(SP),R0 ; RESTORE R0
8956 013602 050110 BIS R1,(R0) ; SET INSTR CODE
8957 013604 122715 000040 CMPB #' ,(R5) ; NEXT CHAR A SPACE?
8958 013610 001033 BNE GTNILI ; NO -- ERROR
8959 013612 CALL .CKARG ; YES -- NEXT ARGUMENT NUMERIC?
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 230-1
.GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"
013612 004737 000070' JSR PC,.CKARG
8960 013616 100333 BPL GTNNER ; NO -- ERROR
8961 013620 CALL .GTELN ; YES -- GET DEVICE CODE
013620 004737 013220' JSR PC,.GTELN
8962 013624 020027 000774 CMP R0,#774 ; IN RANGE?
8963 013630 101324 BHI GTNORE ; NO -- TOO LARGE ERROR
8964 013632 032700 000003 BIT #3,R0 ; YES -- ILLEGAL BITS ON?
8965 013636 001321 BNE GTNORE ; YES -- ERROR
8966 013640 006300 ASL R0 ; NO -- PUT DEVICE CODE IN POSITION
8967 013642 006300 ASL R0
8968 013644 006300 ASL R0
8969 013646 006300 ASL R0
8970 013650 006300 ASL R0
8971 013652 006300 ASL R0
8972 013654 010001 MOV R0,R1 ; STORE VALUE IN R1
8973 013656 016600 000002 MOV 2(SP),R0 ; RESTORE R0
8974 013662 050110 BIS R1,(R0) ; SET DEVICE CODE
8975 013664 122725 000054 CMPB #',,(R5)+ ; NEXT CHAR A COMMA?
8976 013670 001003 BNE GTNILI ; NO -- ERROR
8977 013672 POP <R1,R0> ; YES -- RESTORE REGISTERS
013672 012601 MOV (SP)+,R1
013674 012600 MOV (SP)+,R0
8978 013676 RETURN
013676 000207 RTS PC
8979 ;
8980 013700 GTNILI:
8981 013700 ERROR$ ILI ; ERROR -- ILLEGAL INSTRUCTION
013700 012746 035051 MOV #^RILI,-(SP)
013704 104400 TRAP TC.ERR
8982 ;
8983
8984 007276 .PSECT DATA
8985
8986 007276 IOTAB:
8987 007276 002232' .WORD BLKIS
8988 007300 002237' .WORD DATAIS
8989 007302 002245' .WORD BLKOS
8990 007304 002252' .WORD DATAOS
8991 007306 002260' .WORD CONOS
8992 007310 002265' .WORD CONIS
8993 007312 002272' .WORD CONSZS
8994 007314 002300' .WORD CONSOS
8995 007316 000000 .WORD 0
8996
8997 002232 .PSECT MESSAG
8998
8999 002232 102 114 113 BLKIS: .ASCIZ /BLKI/
002235 111 000
9000 002237 104 101 124 DATAIS: .ASCIZ /DATAI/
002242 101 111 000
9001 002245 102 114 113 BLKOS: .ASCIZ /BLKO/
002250 117 000
9002 002252 104 101 124 DATAOS: .ASCIZ /DATAO/
002255 101 117 000
9003 002260 103 117 116 CONOS: .ASCIZ /CONO/
002263 117 000
9004 002265 103 117 116 CONIS: .ASCIZ /CONI/
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 230-2
.GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"
002270 111 000
9005 002272 103 117 116 CONSZS: .ASCIZ /CONSZ/
002275 123 132 000
9006 002300 103 117 116 CONSOS: .ASCIZ /CONSO/
002303 123 117 000
9007
9008 013706 .PSECT
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 231
.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
9010 .SBTTL .GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
9011
9012 ;+
9013 ; .GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM"
9014 ;
9015 ; THIS ROUTINE EVALUATES NUMERIC EXPRESSIONS FOR ".GTNUM".
9016 ;
9017 ; DEFINITION OF AN EXPRESSION:
9018 ;
9019 ; EXP=TERM+TERM!TERM-TERM!TERM+TERM+....!TERM-TERM-....!TERM
9020 ;
9021 ; INPUT ARGUMENTS:
9022 ;
9023 ; R0 POINTS TO A THREE WORD BUFFER
9024 ;
9025 ; OUTPUT ARGUMENTS:
9026 ;
9027 ; R0 POINTS TO THE EVALUATED EXPRESSION
9028 ;
9029 ; ERROR CODES RETURNED:
9030 ;
9031 ; NONE.
9032 ;-
9033
9034 013706 .GTEXP::
9035 013706 CALL .GTTRM ; GET THE NEXT TERM
013706 004737 014002' JSR PC,.GTTRM
9036 013712 10$:
9037 013712 122715 000053 CMPB #'+,(R5) ; DID HE SAY ADD?
9038 013716 001404 BEQ 20$ ; YES -- GO DO THE ADDITION
9039 013720 122715 000055 CMPB #'-,(R5) ; NO -- DID HE SAY SUBTRACT?
9040 013724 001404 BEQ 30$ ; YES -- GO DO THE SUBTRACTION
9041 013726 RETURN ; NO -- JUST RETURN
013726 000207 RTS PC
9042
9043 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 232
.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
9045 ; [CONTINUED FROM THE PREVIOUS PAGE]
9046
9047 013730 20$:
9048 013730 012702 011516' MOV #.TPADD,R2 ; DISPATCH ADDRESS TO R2
9049 013734 000402 BR 40$ ; TO COMMON ROUTINE
9050 ;
9051 013736 30$:
9052 013736 012702 011562' MOV #.TPSUB,R2 ; DISPATCH ADDRESS TO R2
9053 013742 40$:
9054 013742 112504 MOVB (R5)+,R4 ; GET OVER THE OPERATOR CHARACTER
9055 013744 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
9056 013746 005046 CLR -(SP) ; .
9057 013750 005046 CLR -(SP) ; ..
9058 013752 010601 MOV SP,R1 ; ...SCRATCH POINTER TO R1
9059 013754 PUSH R2 ; ...SAVE THE DISPATCH ADDRESS
013754 010246 MOV R2,-(SP)
9060 013756 PUSH R0 ; ....AND PREVIOUS POINTER
013756 010046 MOV R0,-(SP)
9061 013760 010100 MOV R1,R0 ; .....CURRENT POINTER TO R0
9062 013762 CALL .GTTRM ; .....GET THE NEXT TERM
013762 004737 014002' JSR PC,.GTTRM
9063 013766 010001 MOV R0,R1 ; .....CURRENT POINTER TO R1
9064 013770 POP R0 ; .....RESTORE PREVIOUS POINTER
013770 012600 MOV (SP)+,R0
9065 013772 CALL @(SP)+ ; ....DO THE ADDITION OR SUBTRACTION
013772 004736 JSR PC,@(SP)+
9066 013774 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
9067 014000 000744 BR 10$ ; AND SEE IF THERE IS MORE
9068 ;
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 233
.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
9070 .SBTTL .GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
9071
9072 ;+
9073 ; .GTTRM -- TERM EVALUATOR FOR ".GTNUM"
9074 ;
9075 ; THIS ROUTINE EVALUATES NUMERIC TERMS FOR ".GTNUM".
9076 ;
9077 ; DEFINITION OF A TERM:
9078 ;
9079 ; TERM=FACTOR*FACTOR!FACTOR/FACTOR!FACTOR*FACTOR*....!FACTOR/FACTOR/....!FACTOR
9080 ;
9081 ; INPUT ARGUMENTS:
9082 ;
9083 ; R0 POINTS TO A THREE WORD BUFFER
9084 ;
9085 ; OUTPUT ARGUMENTS:
9086 ;
9087 ; R0 POINTS TO THE EVALUATED TERM
9088 ;
9089 ; ERROR CODES RETURNED:
9090 ;
9091 ; NONE.
9092 ;-
9093
9094 014002 .GTTRM::
9095 014002 CALL .GTFCT ; GET THE NEXT FACTOR
014002 004737 014114' JSR PC,.GTFCT
9096 014006 001411 BEQ 20$ ; EXIT IF NULL ARGUMENT
9097 014010 10$:
9098 014010 122715 000137 CMPB #'_,(R5) ; DID HE SAY SHIFT?
9099 014014 001407 BEQ 30$ ; YES -- GO DO THE SHIFT
9100 014016 122715 000052 CMPB #'*,(R5) ; NO -- DID HE SAY MULTIPLY?
9101 014022 001412 BEQ 50$ ; YES -- GO DO THE MULTIPLICATION
9102 014024 122715 000057 CMPB #'/,(R5) ; NO -- DID HE SAY DIVIDE?
9103 014030 001404 BEQ 40$ ; YES -- GO DO THE DIVISION
9104 014032 20$:
9105 014032 RETURN ; NO -- JUST RETURN
014032 000207 RTS PC
9106
9107 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 234
.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
9109 ; [CONTINUED FROM THE PREVIOUS PAGE]
9110
9111 014034 30$:
9112 014034 012702 012036' MOV #.TPSHL,R2 ; DISPATCH TO R2
9113 014040 000405 BR 60$ ; TO COMMON CODE
9114 ;
9115 014042 40$:
9116 014042 012702 011160' MOV #.TPDIV,R2 ; DISPATCH TO R2
9117 014046 000402 BR 60$ ; TO COMMON ROUTINE
9118 ;
9119 014050 50$:
9120 014050 012702 011606' MOV #.TPMUL,R2 ; DISPATCH TO R2
9121 014054 60$:
9122 014054 112504 MOVB (R5)+,R4 ; GET OVER THE OPERATOR CHARACTER
9123 014056 005046 CLR -(SP) ; CREATE A SCRATCH BUFFER ON THE STACK
9124 014060 005046 CLR -(SP) ; .
9125 014062 005046 CLR -(SP) ; ..
9126 014064 010601 MOV SP,R1 ; ...SCRATCH POINTER TO R1
9127 014066 PUSH R2 ; ...SAVE THE DISPATCH POINTER
014066 010246 MOV R2,-(SP)
9128 014070 PUSH R0 ; ....SAVE PREVIOUS NUMBER POINTER
014070 010046 MOV R0,-(SP)
9129 014072 010100 MOV R1,R0 ; .....CURRENT POINTER TO R0
9130 014074 CALL .GTFCT ; .....GET THE NEXT FACTOR
014074 004737 014114' JSR PC,.GTFCT
9131 014100 010001 MOV R0,R1 ; .....POINTER TO R1
9132 014102 POP R0 ; .....PREVIOUS POINTER TO R0
014102 012600 MOV (SP)+,R0
9133 014104 CALL @(SP)+ ; ....DO DIVISION OR MULTIPLICATION
014104 004736 JSR PC,@(SP)+
9134 014106 062706 000006 ADD #^D6,SP ; ...CLEAR THE STACK
9135 014112 000736 BR 10$ ; AND SEE IF THERE IS MORE
9136 ;
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 235
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
9138 .SBTTL .GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
9139
9140 ;+
9141 ; .GTFCT -- FACTOR EVALUATOR FOR ".GTNUM"
9142 ;
9143 ; THIS ROUTINE EVALUATES NUMERIC FACTORS FOR ".GTNUM".
9144 ;
9145 ; DEFINITION OF AN FACTOR:
9146 ;
9147 ; FACTOR=(EXP)!+FACTOR!-FACTOR!NUMBER
9148 ;
9149 ; INPUT ARGUMENTS:
9150 ;
9151 ; R0 POINTS TO A THREE WORD BUFFER
9152 ;
9153 ; OUTPUT ARGUMENTS:
9154 ;
9155 ; R0 POINTS TO THE EVALUATED FACTOR
9156 ;
9157 ; ERROR CODES RETURNED:
9158 ;
9159 ; NONE.
9160 ;-
9161
9162 .ENABL LSB
9163
9164 014114 .GTFCT::
9165 014114 122715 000136 CMPB #'^,(R5) ; SPECIAL RADIX?
9166 014120 001435 BEQ 30$ ; YES -- GO HANDLE IT
9167 014122 122715 000050 CMPB #'(,(R5) ; NO -- DOES THE FIRST CHARACTER OPEN EXPRESSION?
9168 014126 001517 BEQ 65$ ; YES -- GO HANDLE IT
9169 014130 122715 000053 CMPB #'+,(R5) ; NO -- IS IT A <PLUS>?
9170 014134 001503 BEQ 60$ ; YES -- GO HANDLE <PLUS>
9171 014136 122715 000055 CMPB #'-,(R5) ; NO -- IS IT A <MINUS>?
9172 014142 001500 BEQ 60$ ; YES -- GO HANDLE <MINUS>
9173 014144 CALL .GTNBR ; NO -- GO GET A NUMBER
014144 004737 014410' JSR PC,.GTNBR
9174 014150 10$:
9175 014150 122715 000047 CMPB #'',(R5) ; RELOCATE?
9176 014154 001404 BEQ 20$ ; YES -- DO IT
9177 014156 122715 000042 CMPB #'",(R5) ; NO -- UNRELOCATE?
9178 014162 001401 BEQ 20$ ; YES -- DO IT
9179 014164 15$:
9180 014164 RETURN ; TO CALLER
014164 000207 RTS PC
9181
9182 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 236
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
9184 ; [CONTINUED FROM THE PREVIOUS PAGE]
9185
9186 014166 20$:
9187 014166 PUSH R1 ; SAVE R1
014166 010146 MOV R1,-(SP)
9188 014170 013701 000242' MOV .RELWD,R1 ; .RELOCATION TO R1
9189 014174 122715 000042 CMPB #'",(R5) ; .UNRELOCATE?
9190 014200 001001 BNE 25$ ; .NO -- GO ON
9191 014202 005401 NEG R1 ; .YES -- NEGATE IT
9192 014204 25$:
9193 014204 060110 ADD R1,(R0) ; .COMPUTE THE FACTOR
9194 014206 105725 TSTB (R5)+ ; .GET OVER THE SYMBOL
9195 014210 POP R1 ; .RESTORE R1
014210 012601 MOV (SP)+,R1
9196 014212 000764 BR 15$ ; AND EXIT
9197 ;
9198 014214 30$:
9199 014214 105725 TSTB (R5)+ ; GET OVER THE UP-ARROW
9200 014216 112546 MOVB (R5)+,-(SP) ; SAVE THE NEXT CHARACTER
9201 014220 CALL .CKARG ; .LOOK FOR A TRAILING ARGUMENT
014220 004737 000070' JSR PC,.CKARG
9202 014224 001417 BEQ GTFILC ; .ERROR IF CC-Z IS SET
9203 014226 POP R4 ; .RESTORE THE CHARACTER
014226 012604 MOV (SP)+,R4
9204 014230 122704 000103 CMPB #'C,R4 ; .COMPLEMENT?
9205 014234 001436 BEQ 55$ ; .YES -- PROCESS COMPLEMENT
9206 014236 PUSH .IRADX ; .NO -- SAVE THE CURRENT RADIX
014236 013746 000166' MOV .IRADX,-(SP)
9207 014242 122704 000104 CMPB #'D,R4 ; .DECIMAL?
9208 014246 001415 BEQ 40$ ; .YES -- PROCESS DECIMAL
9209 014250 122704 000102 CMPB #'B,R4 ; .NO -- BINARY?
9210 014254 001406 BEQ 35$ ; .YES -- PROCESS BINARY
9211 014256 122704 000117 CMPB #'O,R4 ; .NO -- OCTAL?
9212 014262 001413 BEQ 45$ ; .YES -- PROCESS OCTAL
9213 014264 GTFILC:
9214 014264 ERROR$ ILC ; .NO -- GIVE "ILC" ERROR
014264 012746 035043 MOV #^RILC,-(SP)
014270 104400 TRAP TC.ERR
9215 ;
9216
9217 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 237
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
9219 ; [CONTINUED FROM THE PREVIOUS PAGE]
9220
9221 014272 35$:
9222 014272 012737 000002 000166' MOV #^D2,.IRADX ; .SET THE RADIX TO BINARY
9223 014300 000407 BR 50$ ; .TO COMMON CODE
9224 ;
9225 014302 40$:
9226 014302 012737 000012 000166' MOV #^D10,.IRADX ; .SET THE RADIX TO DECIMAL
9227 014310 000403 BR 50$ ; .TO COMMON CODE
9228 ;
9229 014312 45$:
9230 014312 012737 000010 000166' MOV #^D8,.IRADX ; .SET THE RADIX TO OCTAL
9231 014320 50$:
9232 014320 CALL .GTFCT ; .GET THE FACTOR
014320 004737 014114' JSR PC,.GTFCT
9233 014324 POP .IRADX ; .RESTORE THE ORIGINAL RADIX
014324 012637 000166' MOV (SP)+,.IRADX
9234 014330 000707 BR 10$ ; AND EXIT
9235 ;
9236 014332 55$:
9237 014332 CALL .GTFCT ; GET THE FACTOR
014332 004737 014114' JSR PC,.GTFCT
9238 014336 CALL .TPCOM ; AND INVERT IT
014336 004737 011402' JSR PC,.TPCOM
9239 014342 000702 BR 10$ ; EXIT
9240 ;
9241 014344 60$:
9242 014344 112546 MOVB (R5)+,-(SP) ; SAVE THE NEXT CHARACTER
9243 014346 CALL .GTFCT ; .GO LOOK FOR MORE
014346 004737 014114' JSR PC,.GTFCT
9244 014352 122726 000055 CMPB #'-,(SP)+ ; .WAS THE PREFIX A <MINUS>?
9245 014356 001274 BNE 10$ ; NO -- JUST EXIT
9246 014360 CALL .TPNEG ; YES -- NEGATE IT
014360 004737 011412' JSR PC,.TPNEG
9247 014364 000671 BR 10$ ; AND EXIT
9248 ;
9249 014366 65$:
9250 014366 112504 MOVB (R5)+,R4 ; GET OVER THE PAREN
9251 014370 CALL .GTEXP ; READ THIS EXPRESSION
014370 004737 013706' JSR PC,.GTEXP
9252 014374 122725 000051 CMPB #'),(R5)+ ; DID WE END IT PROPERLY?
9253 014400 001663 BEQ 10$ ; YES -- JUST EXIT
9254 014402 ERROR$ RPM ; NO -- ERROR -- RIGHT PARENTHESES MISSING
014402 012746 071415 MOV #^RRPM,-(SP)
014406 104400 TRAP TC.ERR
9255 ;
9256
9257 .DSABL LSB
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 238
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
9259 .SBTTL .GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
9260
9261 ;+
9262 ; .GTNBR -- NUMBER EVALUATOR FOR ".GTNUM"
9263 ;
9264 ; THIS ROUTINE EVALUATES NUMBERS FOR ".GTNUM".
9265 ;
9266 ; INPUT ARGUMENTS:
9267 ;
9268 ; R0 POINTS TO A THREE WORD BUFFER
9269 ;
9270 ; OUTPUT ARGUMENTS:
9271 ;
9272 ; R0 POINTS TO THE EVALUATED NUMBER
9273 ;
9274 ; ERROR CODES RETURNED:
9275 ;
9276 ; NONE.
9277 ;-
9278
9279 014410 .GTNBR::
9280 014410 005037 000164' CLR .INCHC ; CLEAR THE CHARACTER COUNT
9281 014414 PUSH R1 ; SAVE R1
014414 010146 MOV R1,-(SP)
9282 014416 005046 CLR -(SP) ; .SET UP THE INPUT RADIX
9283 014420 005046 CLR -(SP) ; ..
9284 014422 PUSH .IRADX ; ...SO
014422 013746 000166' MOV .IRADX,-(SP)
9285 014426 010601 MOV SP,R1 ; ....POINT TO THE INPUT RADIX
9286 014430 10$:
9287 014430 112504 MOVB (R5)+,R4 ; ....GET THE CHARACTER INTO R4
9288 014432 132764 000002 001502' BITB #CH.NUM,.CHTAB(R4)
9289 014440 001422 BEQ 20$ ; ....EXIT IF NON-NUMERIC
9290 014442 005237 000164' INC .INCHC ; ....INCREMENT THE CHARACTER COUNT
9291 014446 142704 177760 BICB #^C17,R4 ; ....FLUSH ASCII
9292 014452 120411 CMPB R4,(R1) ; ....DID WE EXCEED THE INPUT RADIX?
9293 014454 002027 BGE GTNNOR ; ....YES -- GIVE "NOR" ERROR
9294 014456 CALL .TPMUL ; ....NO -- MAKE ROOM FOR THIS DIGIT
014456 004737 011606' JSR PC,.TPMUL
9295 014462 PUSH (R1) ; ....SAVE THE RADIX
014462 011146 MOV (R1),-(SP)
9296 014464 010411 MOV R4,(R1) ; .....SET UP TO ADD THIS DIGIT
9297 014466 CALL .TPADD ; .....TO THE CUMULATIVE RESULT
014466 004737 011516' JSR PC,.TPADD
9298 014472 032760 177760 000004 BIT #^C17,4(R0) ; .....HAVE WE OVERFLOWED THE NUMBER?
9299 014500 001015 BNE GTNNOR ; .....YES -- GIVE "NOR" ERROR
9300 014502 POP (R1) ; .....NO -- RESTORE THE RADIX
014502 012611 MOV (SP)+,(R1)
9301 014504 000751 BR 10$ ; ....AND CONTINUE
9302 ;
9303
9304 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO V05.04 Tuesday 17-May-88 14:31 Page 239
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
9306 ; [CONTINUED FROM THE PREVIOUS PAGE]
9307
9308 014506 20$:
9309 014506 062706 000006 ADD #^D6,SP ; ....FLUSH THE STACK
9310 014512 POP R1 ; .RESTORE R1
014512 012601 MOV (SP)+,R1
9311 014514 105745 TSTB -(R5) ; BACK THE INPUT POINTER UP
9312 014516 005737 000164' TST .INCHC ; LOOK AT THE CHARACTER COUNT
9313 014522 001401 BEQ GTNMRA ; GIVE "MRA" ERROR IF NONE THERE
9314 014524 RETURN ; TO CALLER
014524 000207 RTS PC
9315 014526 GTNMRA:
9316 014526 ERROR$ MRA ; ERROR -- MISSING REQUIRED ARGUMENT
014526 012746 052021 MOV #^RMRA,-(SP)
014532 104400 TRAP TC.ERR
9317 ;
9318 014534 GTNNOR:
9319 014534 ERROR$ NOR ; ERROR -- NUMBER OUT OF RANGE
014534 012746 054752 MOV #^RNOR,-(SP)
014540 104400 TRAP TC.ERR
9320 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 241
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
9323 .TITLE TYOUT -- GENERAL TERMINAL OUTPUT MODULE 7603.30
9324
9325 .IDENT "006110"
9326
9327 ;
9328 ; COPYRIGHT (C) 1975, 1984, 1985 BY
9329 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
9330 ; ALL RIGHTS RESERVED.
9331 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
9332 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
9333 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
9334 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
9335 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
9336 ;
9337 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
9338 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
9339 ; CORPORATION.
9340 ;
9341 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
9342 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
9343 ;
9344 ; MODULE: GENERAL TERMINAL OUTPUT
9345 ;
9346 ; VERSION: 06-11
9347 ;
9348 ; AUTHOR: R. BELANGER
9349 ;
9350 ; DATE: 7603.30
9351 ;
9352 ; THIS MODULE CONTAINS:
9353 ;
9354 ; 1) GENERAL TERMINAL OUTPUT CODE
9355 ;
9356 ; MODIFICATIONS:
9357 ;
9358 ; NO. DATE PROGRAMMER REASON
9359 ; --- ---- ---------- ------
9360 ; [5.1000] 24-AUG-79 K. LEFEBVRE ADD LINE PRINTER SUPPORT
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 242
.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
9362 .SBTTL .TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
9363
9364 ;+
9365 ; .TYAST -- SUBROUTINE TO TYPE AN <ASTERISK> ON THE CONSOLE OUTPUT DEVICE.
9366 ; .TYCOL -- SUBROUTINE TO TYPE A <COLON> ON THE CONSOLE OUTPUT DEVICE.
9367 ; .TYCOM -- SUBROUTINE TO TYPE A <COMMA> ON THE CONSOLE OUTPUT DEVICE.
9368 ; .TYMIN -- SUBROUTINE TO TYPE A <MINUS> ON THE CONSOLE OUTPUT DEVICE.
9369 ; .TYSLS -- SUBROUTINE TO TYPE A <SLASH> ON THE CONSOLE OUTPUT DEVICE.
9370 ; .TYSPC -- SUBROUTINE TO TYPE A <SPACE> ON THE CONSOLE OUTPUT DEVICE.
9371 ; .TYUPA -- SUBROUTINE TO TYPE AN <UP-ARROW> ON THE CONSOLE OUTPUT DEVICE.
9372 ;
9373 ; THESE SUBROUTINES TYPE THE INDICATED CHARACTER(S) ON THE CONSOLE
9374 ; OUTPUT DEVICE.
9375 ;
9376 ; INPUT ARGUMENTS:
9377 ;
9378 ; NONE.
9379 ;
9380 ; OUTPUT ARGUMENTS:
9381 ;
9382 ; NONE.
9383 ;
9384 ; ERROR CODES RETURNED:
9385 ;
9386 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9387 ;-
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 243
.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
9389 .ENABL LSB
9390
9391 014542 .TYCOL::
9392 014542 PUSH R0 ; SAVE R0
014542 010046 MOV R0,-(SP)
9393 014544 012700 000072 MOV #':,R0 ; .<COLON> TO R0
9394 014550 000423 BR 10$ ; .DO OUTPUT
9395 ;
9396 014552 .TYCOM::
9397 014552 PUSH R0 ; SAVE R0
014552 010046 MOV R0,-(SP)
9398 014554 012700 000054 MOV #',,R0 ; .<COMMA> TO R0
9399 014560 000417 BR 10$ ; .OUTPUT IT
9400 ;
9401 014562 .TYMIN::
9402 014562 PUSH R0 ; SAVE R0
014562 010046 MOV R0,-(SP)
9403 014564 012700 000055 MOV #'-,R0 ; <HYPHEN> TO R0
9404 014570 000413 BR 10$ ; .DO OUTPUT
9405 ;
9406 014572 .TYSLS::
9407 014572 PUSH R0 ; SAVE R0
014572 010046 MOV R0,-(SP)
9408 014574 012700 000057 MOV #'/,R0 ; .<SLASH> TO R0
9409 014600 000407 BR 10$ ; .OUTPUT IT
9410 ;
9411 014602 .TYSPC::
9412 014602 PUSH R0 ; SAVE R0
014602 010046 MOV R0,-(SP)
9413 014604 012700 000040 MOV #.SPACE,R0 ; .<SPACE> TO R0
9414 014610 000403 BR 10$ ; .OUTPUT IT
9415 ;
9416 014612 .TYUPA::
9417 014612 PUSH R0 ; SAVE R0
014612 010046 MOV R0,-(SP)
9418 014614 012700 000136 MOV #'^,R0 ; .<UP-ARROW> TO R0
9419 014620 10$:
9420 014620 CALL .TYCHR ; .OUTPUT IT
014620 004737 015520' JSR PC,.TYCHR
9421 014624 POP R0 ; .RESTORE R0
014624 012600 MOV (SP)+,R0
9422 014626 RETURN ; TO CALLER
014626 000207 RTS PC
9423
9424 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 244
.TYACE -- TYPE AC ADDR AND CONTENTS
9426 .SBTTL .TYACE -- TYPE AC ADDR AND CONTENTS
9427
9428 ;+
9429 ; .TYACE -- SUBROUTINE TO TYPE AC ADDR AND CONTENTS
9430 ;
9431 ; THIS ROUTINE WILL TYPE:
9432 ; N:AAAAAA/ DDDDDD DDDDDD
9433 ; N-AC BLOCK NUMBER
9434 ; A-AC ADDR
9435 ; D-AC DATA
9436 ;
9437 ; INPUT ARGUMENTS:
9438 ;
9439 ; +---------------+
9440 ; R0=> ! BLOCK ! ADDR !
9441 ; +---------------+
9442 ; ! KL BITS 20-35 !
9443 ; +---------------+
9444 ; ! KL BITS 4-19 !
9445 ; +---------------+
9446 ; ! KL BITS 0-3 !
9447 ; +---------------+
9448 ;
9449 ; OUTPUT ARGUMENTS:
9450 ;
9451 ; NONE
9452 ;
9453 ; ERROR CODES RETURNED:
9454 ;
9455 ; NONE
9456 ;-
9457
9458 014630 .TYACE::
9459 014630 PUSH R0 ; SAVE R0
014630 010046 MOV R0,-(SP)
9460 014632 113700 000204' MOVB .PASS,R0 ; PASS NO.
9461 014636 005200 INC R0 ; MAKE 1 OR 2
9462 014640 062700 000060 ADD #'0,R0 ; MAKE ASCII
9463 014644 110037 002323' MOVB R0,PRMFM+13. ; PUT IN MESSAGE
9464 014650 012700 002306' MOV #PRMFM,R0 ; FM SWEEP PROMPT
9465 014654 CALL .TYMSG ; TYPE IT
014654 004737 015462' JSR PC,.TYMSG
9466 014660 POP R0 ; RESTORE R0
014660 012600 MOV (SP)+,R0
9467 014662 .TYAC1::PUSH R2 ; ALT. ENTRY PT., SAVE R2
014662 010246 MOV R2,-(SP)
9468 014664 010002 MOV R0,R2 ; SAVE R0
9469 014666 011000 MOV (R0),R0 ; GET FIRST WORD OF DATA
9470 014670 000300 SWAB R0 ; GET BLOCK NO. IN LOW BYTE
9471 014672 042700 177600 BIC #177600,R0 ; CLEAR ADDR
9472 014676 062700 000060 ADD #'0,R0 ; CONVERT TO ASCII
9473 014702 CALL .TYCHR ; TYPE IT
014702 004737 015520' JSR PC,.TYCHR
9474 014706 CALL .TYCOL ; TYPE COLON
014706 004737 014542' JSR PC,.TYCOL
9475 014712 012237 007320' MOV (R2)+,ADRTMP ; GET FIRST DATA VALUE
9476 014716 042737 177600 007320' BIC #177600,ADRTMP ; CLEAR BLOCK NO.
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 244-1
.TYACE -- TYPE AC ADDR AND CONTENTS
9477 014724 012700 007320' MOV #ADRTMP,R0 ; PTR TO AC ADDR
9478 014730 CALL .TYKLA ; TYPE KL ADDR
014730 004737 015106' JSR PC,.TYKLA
9479 014734 CALL .TYSLS ; TYPE SLASH
014734 004737 014572' JSR PC,.TYSLS
9480 014740 CALL .TYSPC ; TYPE SPACE
014740 004737 014602' JSR PC,.TYSPC
9481 014744 010200 MOV R2,R0 ; PTR TO AC DATA
9482 014746 CALL .TYKLN ; TYPE KL DATA
014746 004737 015156' JSR PC,.TYKLN
9483 014752 CALL .TCRLF ; TYPE CR-LF
014752 004737 015552' JSR PC,.TCRLF
9484 014756 POP R2 ; RESTORE R2
014756 012602 MOV (SP)+,R2
9485 014760 RETURN
014760 000207 RTS PC
9486
9487 007320 .PSECT DATA
9488
9489 007320 000000 ADRTMP: .WORD 0 ; TEMPORARY ADDR LOCATION
9490 007322 000000 .WORD 0
9491 007324 000000 .WORD 0
9492
9493 002306 .PSECT MESSAG
9494
9495 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
9496
9497 014762 .PSECT
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 245
.TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
9499 .SBTTL .TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
9500
9501 ;+
9502 ; .TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS
9503 ; .TYELN -- SUBROUTINE TO TYPE A PDP-11 NUMBER
9504 ;
9505 ; THIS SUBROUTINE WILL TYPE AND FORMAT A PDP-11 NUMBER ACCORDING TO THE
9506 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
9507 ;
9508 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
9509 ; (B) OCTAL: 6 DIGITS -- XXXXXX
9510 ; (C) DECIMAL: NO FORMATTING
9511 ;
9512 ; INPUT ARGUMENTS:
9513 ;
9514 ; R0 HOLDS THE NUMBER TO BE PRINTED
9515 ;
9516 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
9517 ;
9518 ; R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
9519 ; R3 POINTS TO A FORMAT TABLE
9520 ;
9521 ; ERROR CODES RETURNED:
9522 ;
9523 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9524 ;-
9525 .ENABL LSB
9526
9527
9528 014762 .TYELA::
9529 014762 005037 000220' CLR .LDZFL ; NO LEADING ZEROES
9530 014766 .TYELN::
9531 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)
9532 014776 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
9533 015000 022737 000002 000226' CMP #^D2,.ORADX ; ....BINARY?
9534 015006 001002 BNE 10$ ; ....NO
9535 015010 012703 007342' MOV #ELNBIN,R3 ; ....BINARY FORMAT TABLE TO R3
9536 015014 10$:
9537 015014 022737 000012 000226' CMP #^D10,.ORADX ; ....DECIMAL?
9538 015022 001424 BEQ 30$ ; ....YES
9539 015024 012703 007360' MOV #ELNOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
9540 015030 000421 BR 30$ ; ....SET UP POINTERS AND EXIT
9541 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 246
.TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
9543 .SBTTL .TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
9544
9545 ;+
9546 ; .TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER
9547 ;
9548 ; THIS SUBROUTINE WILL TYPE AND FORMAT A PDP-11 NUMBER ACCORDING TO THE
9549 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
9550 ;
9551 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
9552 ; (B) OCTAL: 3 DIGITS -- XXX
9553 ; (C) DECIMAL: NO FORMATTING
9554 ;
9555 ; INPUT ARGUMENTS:
9556 ;
9557 ; R0 HOLDS THE NUMBER TO BE PRINTED
9558 ;
9559 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
9560 ;
9561 ; R0 POINTS TO THE BYTE TO BE PRINTED (ON THE STACK)
9562 ; R3 POINTS TO A FORMAT TABLE
9563 ;
9564 ; ERROR CODES RETURNED:
9565 ;
9566 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9567 ;-
9568
9569 015032 .TYP3D::
9570 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)
9571 015042 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
9572 015044 022737 000002 000226' CMP #^D2,.ORADX ; ....BINARY?
9573 015052 001002 BNE 20$ ; ....NO
9574 015054 012703 007350' MOV #ELBBIN,R3 ; ....BINARY FORMAT TABLE TO R3
9575 015060 20$:
9576 015060 022737 000012 000226' CMP #^D10,.ORADX ; ....DECIMAL?
9577 015066 001402 BEQ 30$ ; ....YES
9578 015070 012703 007354' MOV #ELBOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
9579 015074 30$:
9580 015074 005046 CLR -(SP) ; ....SET UP BUFFERS ON THE STACK
9581 015076 005046 CLR -(SP) ; .....
9582 015100 PUSH R0 ; ......NUMBER TO BE TYPED
015100 010046 MOV R0,-(SP)
9583 015102 010600 MOV SP,R0 ; .......POINT TO IT
9584 015104 000455 BR .TYNCM ; .......AND GO TO COMMON ROUTINE
9585 ;
9586
9587 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 247
.TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
9589 .SBTTL .TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
9590
9591 ;+
9592 ; .TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS
9593 ;
9594 ; THIS SUBROUTINE WILL TYPE AND FORMAT A KL ADDRESS ACCORDING TO THE
9595 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
9596 ;
9597 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
9598 ; (B) OCTAL: HALFWORD FORMAT -- XX<SP>XXXXXX
9599 ; (C) DECIMAL: NO FORMATTING
9600 ;
9601 ; INPUT ARGUMENTS:
9602 ;
9603 ; R0 POINTS TO THE KL ADDRESS TO BE PRINTED
9604 ;
9605 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
9606 ;
9607 ; R0 POINTS TO THE ADDRESS TO BE PRINTED (ON THE STACK)
9608 ; R3 POINTS TO A FORMAT TABLE
9609 ;
9610 ; ERROR CODES RETURNED:
9611 ;
9612 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9613 ;-
9614
9615 .ENABL LSB
9616
9617 015106 .TYKLA::
9618 015106 005037 000220' CLR .LDZFL ; NO LEADING ZEROES
9619 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)
9620 015122 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
9621 015124 022737 000002 000226' CMP #^D2,.ORADX ; ....BINARY?
9622 015132 001002 BNE 10$ ; ....NO
9623 015134 012703 007336' MOV #KLABIN,R3 ; ....BINARY FORMAT TABLE TO R3
9624 015140 10$:
9625 015140 022737 000012 000226' CMP #^D10,.ORADX ; ....DECIMAL?
9626 015146 001424 BEQ 30$ ; ....YES
9627 015150 012703 007362' MOV #KLAOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
9628 015154 000421 BR 30$ ; ....GO DO COMMON CODE
9629 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 248
.TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
9631 .SBTTL .TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
9632
9633 ;+
9634 ; .TYKLN -- SUBROUTINE TO TYPE A KL NUMBER
9635 ;
9636 ; THIS SUBROUTINE WILL TYPE AND FORMAT A KL NUMBER ACCORDING TO THE
9637 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
9638 ;
9639 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
9640 ; (B) OCTAL: 6 DIGITS AND A SPACE -- XXXXXX<SP>XXXXXX
9641 ; (C) DECIMAL: NO FORMATTING
9642 ;
9643 ; INPUT ARGUMENTS:
9644 ;
9645 ; R0 POINTS TO THE NUMBER TO BE PRINTED
9646 ;
9647 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
9648 ;
9649 ; R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
9650 ; R3 POINTS TO A FORMAT TABLE
9651 ;
9652 ; ERROR CODES RETURNED:
9653 ;
9654 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9655 ;-
9656
9657 015156 .TYKLN::
9658 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)
9659 015166 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
9660 015170 022737 000002 000226' CMP #^D2,.ORADX ; ....BINARY?
9661 015176 001002 BNE 20$ ; ....NO
9662 015200 012703 007326' MOV #KLNBIN,R3 ; ....BINARY FORMAT TABLE TO R3
9663 015204 20$:
9664 015204 022737 000012 000226' CMP #^D10,.ORADX ; ....DECIMAL?
9665 015212 001402 BEQ 30$ ; ....YES
9666 015214 012703 007356' MOV #KLNOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
9667 015220 30$:
9668 015220 062700 000006 ADD #^D6,R0 ; ....POINT TO THE END OF THE NUMBER
9669 015224 PUSH -(R0) ; ....SET IT ON THE STACK
015224 014046 MOV -(R0),-(SP)
9670 015226 042710 177760 BIC #^C17,(R0) ; .....TRUNCATE TO 36 BITS
9671 015232 PUSH <-(R0),-(R0)> ; .....PUT THE REST ON THE STACK
015232 014046 MOV -(R0),-(SP)
015234 014046 MOV -(R0),-(SP)
9672 015236 010600 MOV SP,R0 ; .......POINT TO THE STACKED NUMBER
9673 ; BR .TYNCM ; .......AND GO TO COMMON ROUTINE
9674 ;
9675
9676 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 249
.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
9678 .SBTTL .TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
9679
9680 ;+
9681 ; .TYNCM -- COMMON ENTRY POINT FOR ".TYNUM".
9682 ;
9683 ; THIS SUBROUTINE SETS UP THE REMAINDER OF THE ARGUMENTS REQUIRED
9684 ; BY ".TYNUM" FROM ".TYELN" AND ".TYKLN".
9685 ;
9686 ; INPUT ARGUMENTS:
9687 ;
9688 ; R1, R2, AND R3 ARE ON THE STACK
9689 ; R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
9690 ; R3 POINTS TO A FORMAT TABLE
9691 ;
9692 ; OUTPUT ARGUMENTS:
9693 ;
9694 ; R0 POINTS TO THE ORIGINAL NUMBER
9695 ;
9696 ; ERROR CODES RETURNED:
9697 ;
9698 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9699 ;-
9700
9701 015240 .TYNCM::
9702 015240 005046 CLR -(SP) ; .......SPACE FOR DIVISOR
9703 015242 005046 CLR -(SP) ; ........
9704 015244 005046 CLR -(SP) ; .........
9705 015246 010601 MOV SP,R1 ; ..........POINT TO IT
9706 015250 005002 CLR R2 ; ..........CLEAR R2
9707 015252 005737 000220' TST .LDZFL ; ..........ARE WE PRINTING LEADING ZEROS/
9708 015256 001006 BNE 10$ ; ..........YES -- GO ON
9709 015260 CALL .TPTST ; ..........NO -- IS THIS NUMBER .EQ. 0?
015260 004737 011474' JSR PC,.TPTST
9710 015264 001003 BNE 10$ ; ..........NO -- JUST PRINT IT
9711 015266 005003 CLR R3 ; ..........YES -- CALL IT UNFORMATTED
9712 015270 005337 000220' DEC .LDZFL ; ..........AND SAY WE PRINT ZEROES
9713 015274 10$:
9714 015274 CALL .TYNUM ; ..........FORMAT AND PRINT THE NUMBER
015274 004737 015316' JSR PC,.TYNUM
9715 015300 062706 000014 ADD #^D12,SP ; ..........FLUSH THE STACK
9716 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
9717 015314 RETURN ; TO CALLER
015314 000207 RTS PC
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 250
.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
9719 ; THESE ARE THE FORMAT TABLES
9720
9721 007326 .PSECT DATA
9722
9723 007326 KLNBIN:: ; KL BINARY TABLE
9724 007326 003 040 .BYTE 3,.SPACE ; 3 DIGITS AND A SPACE
9725 007330 003 040 .BYTE 3,.SPACE
9726 007332 003 040 .BYTE 3,.SPACE
9727 007334 003 040 .BYTE 3,.SPACE
9728 007336 KLABIN:: ; KL ADDRESS BINARY
9729 007336 003 040 .BYTE 3,.SPACE
9730 007340 003 040 .BYTE 3,.SPACE
9731 007342 ELNBIN:: ; ELEVEN BINARY TABLE
9732 007342 003 040 .BYTE 3,.SPACE
9733 007344 003 040 .BYTE 3,.SPACE
9734 007346 003 040 .BYTE 3,.SPACE
9735 007350 ELBBIN:: ; PDP-11 BYTE BINARY TABLE
9736 007350 003 040 .BYTE 3,.SPACE
9737 007352 003 040 .BYTE 3,.SPACE
9738 007354 ELBOCT:: ; PDP-11 BYTE OCTAL TABLE
9739 007354 003 000 .BYTE 3,0 ; END OF TABLE
9740
9741 007356 KLNOCT:: ; KL OCTAL TABLE
9742 007356 006 040 .BYTE 6,.SPACE ; 6 DIGITS AND A SPACE
9743 007360 ELNOCT:: ; PDP-11 OCTAL TABLE
9744 007360 006 000 .BYTE 6,0 ; END OF TABLE
9745 007362 KLAOCT:: ; KL ADDRESS OCTAL
9746 007362 006 040 .BYTE 6,.SPACE
9747 007364 002 000 .BYTE 2,0
9748 .EVEN
9749 015316 .PSECT
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 251
.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.2
9751 .SBTTL .TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.23
9752
9753 ;+
9754 ; .TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER ON THE
9755 ; CONSOLE OUTPUT DEVICE.
9756 ;
9757 ; THIS SUBROUTINE WILL TYPE A FORMATTED NUMBER IN THE RADIX SPECIFIED
9758 ; IN ".ORADX" ON THE CONSOLE OUTPUT DEVICE.
9759 ;
9760 ; INPUT ARGUMENTS:
9761 ;
9762 ; R0 POINTS TO THE 36 BIT NUMBER TO BE TYPED
9763 ; R1 POINTS TO A TRIPLET TO BE USED AS A DIVISOR / REMAINDER BUFFER
9764 ; R2 IS CLEAR
9765 ; R3 POINTS TO A FORMAT CONTROL TABLE
9766 ;
9767 ; OUTPUT ARGUMENTS:
9768 ;
9769 ; R0, R1, R2, AND R3 ARE CLOBBERED
9770 ; THE NUMBER POINTED TO BY R0 IS CLOBBERED
9771 ; THE FORMATTED NUMBER IS PLACED IN THE OUTPUT BUFFER
9772 ;
9773 ; ERROR CODES RETURNED:
9774 ;
9775 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9776 ;-
9777
9778 015316 .TYNUM::
9779 015316 005703 TST R3 ; CHECK THE FORMAT POINTER
9780 015320 001422 BEQ 50$ ; UNFORMATTED IF .EQ. 0
9781 015322 112302 MOVB (R3)+,R2 ; ITERATION COUNT TO R2
9782 015324 001410 BEQ 40$ ; JUST A FORMAT CHARACTER IF .EQ. 0
9783 015326 10$:
9784 015326 000417 BR 50$ ; CONVERT ONE DIGIT
9785 ;
9786 015330 20$:
9787 015330 005702 TST R2 ; TEST ITERATION COUNT
9788 015332 001004 BNE 30$ ; FORMATTED NUMBER -- DO ITERATION COUNT
9789 015334 CALL .TPTST ; HAS THE QUOTIENT GONE TO ZERO?
015334 004737 011474' JSR PC,.TPTST
9790 015340 001441 BEQ 80$ ; YES -- PRINT THE NUMBER
9791 015342 000411 BR 50$ ; NO -- KEEP GOING UNTIL IT DOES
9792 ;
9793 015344 30$:
9794 015344 077210 SOB R2,10$ ; LOOP THRU THIS SET OF ITERATIONS
9795
9796 ; [CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 252
.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.2
9798 ; [CONTINUED FROM THE PREVIOUS PAGE]
9799
9800 015346 40$:
9801 015346 112302 MOVB (R3)+,R2 ; FORMAT CONTROL CHARACTER TO R2
9802 015350 001435 BEQ 80$ ; DONE IF .EQ. 0
9803 015352 162702 000060 SUB #60,R2 ; SINCE OUTPUT ROUTINE WILL ADD 60
9804 015356 PUSH R2 ; <PUSH>PUT THE FORMAT CHARACTER IN THE STACK
015356 010246 MOV R2,-(SP)
9805 015360 PUSH #60$ ; <PUSH>FAKE THE PRINT ROUTINE OUT
015360 012746 015416' MOV #60$,-(SP)
9806 015364 000754 BR .TYNUM ; AND DO THE NEXT PART
9807 ;
9808 015366 50$: ; HERE TO CONVERT ONE DIGIT
9809 015366 PUSH R0 ; SAVE R0
015366 010046 MOV R0,-(SP)
9810 015370 010100 MOV R1,R0 ; MOVE R1 TO R0
9811 015372 CALL .TPCLR ; .CLEAR REMAINDER OUT
015372 004737 011372' JSR PC,.TPCLR
9812 015376 POP R0 ; .RESTORE R0
015376 012600 MOV (SP)+,R0
9813 015400 013711 000226' MOV .ORADX,(R1) ; OUTPUT RADIX AS DIVISOR
9814 015404 CALL .TPDIV ; DO THE DIVISION
015404 004737 011160' JSR PC,.TPDIV
9815 015410 PUSH (R1) ; <PUSH> SAVE THE DIGIT
015410 011146 MOV (R1),-(SP)
9816 015412 CALL 20$ ; AND GO GET MORE
015412 004737 015330' JSR PC,20$
9817 ;
9818 015416 60$: ; HERE TO UNSTACK THE NUMBER
9819 015416 POP R0 ; <POP>GET THE NUMBER OFF THE STACK
015416 012600 MOV (SP)+,R0
9820 015420 005737 000220' TST .LDZFL ; PRINT LEADING ZEROES?
9821 015424 001004 BNE 70$ ; YES -- DO IT
9822 015426 005700 TST R0 ; NO -- SEE IF .EQ. 0 OR FORMAT
9823 015430 003405 BLE 80$ ; YES -- DON'T PRINT IT
9824 015432 005337 000220' DEC .LDZFL ; NO -- SET THE FLAG AND PRINT
9825 015436 70$:
9826 015436 062700 000060 ADD #60,R0 ; ASCIIZE IT
9827 015442 000426 BR .TYCHR ; PRINT IT
9828 ;
9829 015444 80$:
9830 015444 RETURN ; FOR NEXT NUMBER OR TO CALLER
015444 000207 RTS PC
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 253
.TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF>
9832 .SBTTL .TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF> 7601.23
9833
9834 ;+
9835 ; .TYLIN -- SUBROUTINE TO OUTPUT AN ".ASCIZ" MESSAGE APPENDED BY A <CRLF>
9836 ; .TYMSG -- SUBROUTINE TO OUTPUT AN ".ASCIZ" MESSAGE TO THE CONSOLE
9837 ; OUTPUT DEVICE.
9838 ;
9839 ; THESE SUBROUTINES WILL OUTPUT AN ".ASCIZ" MESSAGE TO THE CONSOLE
9840 ; OUTPUT DEVICE. ".TYLIN" WILL APPEND A <CRLF> SEQUENCE TO THE
9841 ; MESSAGE (FORCING THE BUFFER TO BE OUTPUT).
9842 ;
9843 ; INPUT ARGUMENTS:
9844 ;
9845 ; R0 POINTS TO THE .ASCIZ MESSAGE
9846 ;
9847 ; OUTPUT ARGUMENTS:
9848 ;
9849 ; NONE.
9850 ;
9851 ; ERROR CODES RETURNED:
9852 ;
9853 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9854 ;-
9855
9856 .ENABL LSB
9857
9858 015446 .TYLIN::
9859 015446 CALL .TYMSG ; OUTPUT THE MESSAGE
015446 004737 015462' JSR PC,.TYMSG
9860 015452 000437 BR .TCRLF ; OUTPUT A <CRLF> AND EXIT
9861 ;
9862 015454 .TYMSF::
9863 015454 CALL .TYMSG ; PRINT THE MESSAGE
015454 004737 015462' JSR PC,.TYMSG
9864 015460 000413 BR 30$ ; FORCE IT AND EXIT
9865 ;
9866 015462 .TYMSG::
9867 015462 PUSH R1 ; SAVE R1
015462 010146 MOV R1,-(SP)
9868 015464 010001 MOV R0,R1 ; .MESSAGE POINTER TO R1
9869 015466 10$:
9870 015466 112100 MOVB (R1)+,R0 ; .GET THE CHARACTER INTO R0
9871 015470 001403 BEQ 20$ ; .EXIT IF <NULL>
9872 015472 CALL .TYCHR ; .OUTPUT THE CHARACTER
015472 004737 015520' JSR PC,.TYCHR
9873 015476 000773 BR 10$ ; .AND GO GET THE NEXT CHARACTER
9874 ;
9875 015500 20$:
9876 015500 POP R1 ; .RESTORE R1
015500 012601 MOV (SP)+,R1
9877 015502 RETURN ; TO CALLER
015502 000207 RTS PC
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 254
.TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVIC
9879 .SBTTL .TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVICE 7601.23
9880
9881 ;+
9882 ; .TFCHR -- FORCED CHARACTER OUTPUT SUBROUTINE
9883 ;
9884 ; THIS SUBROUTINE WILL FORCE PRINT ONE CHARACTER TO THE CONSOLE
9885 ; OUTPUT DEVICE.
9886 ;
9887 ; INPUT ARGUMENTS:
9888 ;
9889 ; R0 CONTAINS THE CHARACTER TO BE FORCED TO THE OUTPUT DEVICE
9890 ;
9891 ; OUTPUT ARGUMENTS:
9892 ;
9893 ; THE OUTPUT BYTE COUNTERS AND BYTE POINTER ARE UPDATED.
9894 ;
9895 ; ERROR CODES RETURNED:
9896 ;
9897 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9898 ;-
9899
9900 015504 .TFCHR::
9901 015504 CALL .TYCHR ; LOAD THE CHARACTER INTO THE BUFFER
015504 004737 015520' JSR PC,.TYCHR
9902 015510 30$:
9903 015510 005737 000432' TST .CDOBC ; WAS THE BUFFER DUMPED?
9904 015514 001430 BEQ 40$ ; YES -- JUST EXIT
9905 015516 000430 BR .TYOUT ; NO -- FORCE THE BUFFER OUT
9906 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 255
.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
9908 .SBTTL .TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
9909
9910 ;+
9911 ; .TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE
9912 ; .TCRLF -- OUTPUT A <CRLF>
9913 ;
9914 ; THIS SUBROUTINE WILL LOAD ON ASCII CHARACTER INTO THE CONSOLE
9915 ; DEVICE OUTPUT BUFFER AND WILL DUMP THE BUFFER TO THE CONSOLE
9916 ; OUTPUT DEVICE ON:
9917 ;
9918 ; (A) APPEARANCE OF A <NEW-LINE> CHARACTER IN THE INPUT STREAM
9919 ;
9920 ; (B) OUTPUT BUFFER OVERFLOW
9921 ;
9922 ; INPUT ARGUMENTS:
9923 ;
9924 ; R0 CONTAINS THE CHARACTER TO BE OUTPUT.
9925 ;
9926 ; OUTPUT ARGUMENTS:
9927 ;
9928 ; THE OUTPUT BYTE POINTER AND BYTE COUNTERS ARE UPDATED
9929 ; OR REINITIALIZED IF THE BUFFER WAS DUMPED.
9930 ;
9931 ; ERROR CODES RETURNED:
9932 ;
9933 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
9934 ;-
9935
9936 015520 .TYCHR::
9937 015520 110077 000306' MOVB R0,@.TYOBP ; PUT THE CHARACTER IN THE BUFFER
9938 015524 005237 000306' INC .TYOBP ; POINT TO THE NEXT BYTE
9939 015530 005237 000432' INC .CDOBC ; INCREMENT THE OUTPUT BYTE COUNT
9940 015534 005337 000304' DEC .TYOBC ; DECREMENT THE LINE CONTROL COUNTER
9941 015540 001404 BEQ .TCRLF ; END-OF-LINE -- FORCE OUTPUT
9942 015542 122700 000012 CMPB #12,R0 ; WAS IT A "<NEW-LINE>"?
9943 015546 001013 BNE 40$ ; NO -- JUST EXIT
9944 015550 000413 BR .TYOUT ; YES -- OUTPUT THE LINE AND RETURN
9945 ;
9946
9947 ; [CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 256
.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
9949 ; [CONTINUED FROM THE PREVIOUS PAGE]
9950
9951 015552 .TCRLF:: ; HERE ON OUTPUT BUFFER END
9952 015552 PUSH R0 ; SAVE R0
015552 010046 MOV R0,-(SP)
9953 015554 012700 000015 MOV #15,R0 ; .<CARRIAGE-RETURN>
9954 015560 CALL .TYCHR ; .TO BUFFER
015560 004737 015520' JSR PC,.TYCHR
9955 015564 012700 000012 MOV #12,R0 ; .<NEW-LINE>
9956 015570 CALL .TYCHR ; .TO BUFFER
015570 004737 015520' JSR PC,.TYCHR
9957 015574 POP R0 ; .RESTORE R0
015574 012600 MOV (SP)+,R0
9958 015576 40$:
9959 015576 RETURN ; AND EXIT
015576 000207 RTS PC
9960
9961 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 257
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
9963 .SBTTL .TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
9964
9965 ;+
9966 ; .TYINI -- CONSOLE DEVICE INITIALIZATION
9967 ; .TYOUT -- CONSOLE OUTPUT SUBROUTINE
9968 ;
9969 ; THESE SUBROUTINES WILL OUTPUT THE BUFFER TO THE CONSOLE OUTPUT DEVICE.
9970 ;
9971 ; INPUT ARGUMENTS:
9972 ;
9973 ; NONE.
9974 ;
9975 ; OUTPUT ARGUMENTS:
9976 ;
9977 ; THE OUTPUT BUFFER POINTER AND BYTE COUNTS ARE RESET
9978 ;
9979 ; ERROR CODES RETURNED:
9980 ;
9981 ; IF THE OUTPUT FAILS THE PARSER EXITS.
9982 ;-
9983
9984
9985 .MCALL DIR$, QIOW$
9986
9987 .ENABL LSB
9988
9989 015600 .TYOUT::
9990 015600 105737 000210' TSTB .OUTTY ; [5.1000]TYPE OUTPUT?
9991 015604 001417 BEQ 10$ ; [5.1000]NO -- NEXT DEVICE
9992 015606 DIR$ #.ATCID ; YES -- ATTACH THE CONSOLE DEVICE
015606 012746 000460' MOV #.ATCID,-(SP)
015612 104375 EMT 375
9993 015614 103464 BCS TYODIE ; ERROR IF CC-C IS SET
9994 015616 DIR$ #.CDOUT ; OUTPUT THE BUFFER TO CONSOLE
015616 012746 000414' MOV #.CDOUT,-(SP)
015622 104375 EMT 375
9995 015624 103460 BCS TYODIE ; ERROR IF CC-C IS SET
9996 015626 105737 000014' TSTB .COSTS ; DID WE REALLY SUCCEED?
9997 015632 002455 BLT TYODIE ; NO -- COMPLAIN BITTERLY
9998 015634 DIR$ #.DTCID ; DETACH CONSOLE
015634 012746 000474' MOV #.DTCID,-(SP)
015640 104375 EMT 375
9999 015642 103451 BCS TYODIE ; ERROR IF CC-C IS SET
10000 015644 013737 000430' 000452' 10$: MOV .CDOBP,.LDOBP ; [5.1000]SET BUFFER POINTER
10001 015652 013737 000432' 000454' MOV .CDOBC,.LDOBC ; [5.1000]SET BYTE COUNT
10002 015660 .TYOU1:: ; [5.1000]ALT ENTRY POINT FOR CMD ECHO
10003 015660 105737 000207' TSTB .OUTLP ; [5.1000]PRINT OUTPUT?
10004 015664 001407 BEQ 20$ ; [5.1000]NO -- NEXT DEVICE
10005 015666 DIR$ #.LDOUT ; [5.1000]YES -- OUTPUT BUFFER
015666 012746 000436' MOV #.LDOUT,-(SP)
015672 104375 EMT 375
10006 015674 103434 BCS TYODIE ; [5.1000]ERROR IF CC-C IS SET
10007 015676 105737 000212' TSTB .LDSTS ; [5.1000]DID WE REALLY SUCCEED
10008 015702 002431 BLT TYODIE ; [5.1000]NO -- COMPLAIN BITTERLY
10009 015704 105737 000206' 20$: TSTB .OUTLG ; [5.1000]LOG OUTPUT?
10010 015710 001412 BEQ 30$ ; [5.1000]NO -- DONE OUTPUTTING
10011 015712 PUSH <R1,R2> ; [5.1000]YES -- SAVE REGISTERS
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 257-1
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
015712 010146 MOV R1,-(SP)
015714 010246 MOV R2,-(SP)
10012 015716 013702 000452' MOV .LDOBP,R2 ; [5.1000]SET BUFFER POINTER
10013 015722 013701 000454' MOV .LDOBC,R1 ; [5.1000]SET BYTE COUNTER
10014 015726 CALL .WRITR ; [5.1000]LOG IT
015726 004737 002616' JSR PC,.WRITR
10015 015732 POP <R2,R1> ; [5.1000]RESTORE REGISTERS
015732 012602 MOV (SP)+,R2
015734 012601 MOV (SP)+,R1
10016 015736 30$:
10017
10018 ; [CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 258
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
10020 ; [CONTINUED FROM THE PREVIOUS PAGE]
10021
10022 015736 .TYINI:: ; HERE TO INIT OUTPUT POINTERS
10023 015736 005037 000432' CLR .CDOBC ; RESET BUFFER BYTE COUNT
10024 015742 012737 000576' 000430' MOV #.COBFR,.CDOBP ; [5.1000]RESET BUFFER PTR
10025 015750 012737 000204 000304' MOV #.COBFL,.TYOBC ; RESET OUTPUT LINE CONTROL
10026 015756 012737 000576' 000306' MOV #.COBFR,.TYOBP ; RESET OUTPUT BYTE POINTER
10027 015764 RETURN ; AND EXIT
015764 000207 RTS PC
10028 015766 TYODIE:
10029 015766 CALLR .EXITP ; EXIT GRACEFULLY
015766 000137 010110' JMP .EXITP
10030 ;
10031 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 259
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
10033 .SBTTL .TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
10034
10035 ;+
10036 ; .TYR50 -- TYPE A .RAD50 SYMBOL
10037 ;
10038 ; THIS ROUTINE WILL CONVERT THE .RAD50 SYMBOL IN R0 TO ASCII
10039 ; AND PRINT IT ON THE CONSOLE DEVICE.
10040 ;
10041 ; INPUT ARGUMENTS:
10042 ;
10043 ; R0 HOLDS THE .RAD50 SYMBOL TO BE PRINTED.
10044 ;
10045 ; OUTPUT ARGUMENTS:
10046 ;
10047 ; NONE.
10048 ;
10049 ; ERROR CODES RETURNED:
10050 ;
10051 ; NONE.
10052 ;-
10053
10054 015772 .TYR50::
10055 015772 PUSH <R1,R2> ; SAVE REGISTERS
015772 010146 MOV R1,-(SP)
015774 010246 MOV R2,-(SP)
10056 015776 012702 001472' MOV #.T50TB,R2 ; ..TABLE OF DIVISORS TO R2
10057 016002 10$:
10058 016002 012201 MOV (R2)+,R1 ; ..CURRENT DIVISOR TO R1
10059 016004 001414 BEQ 30$ ; ..DONE IF .EQ. 0
10060 016006 CALL $DIV ; ..DO THE DIVISION
016006 004737 000000G JSR PC,$DIV
10061 016012 PUSH R1 ; ..SAVE THE REMAINDER
016012 010146 MOV R1,-(SP)
10062 016014 012701 001442' MOV #.R50TB,R1 ; ...CONVERSION TABLE POINTER TO R1
10063 016020 20$:
10064 016020 062100 ADD (R1)+,R0 ; ...CONVERT THIS CHARACTER
10065 016022 020021 CMP R0,(R1)+ ; ...FOUND IT YET?
10066 016024 103775 BLO 20$ ; ...NO -- KEEP TRYING
10067 016026 CALL .TYCHR ; ...YES -- PUT IT IN THE BUFFER
016026 004737 015520' JSR PC,.TYCHR
10068 016032 POP R0 ; ...LAST REMAINDER IS NEW DIVIDEND
016032 012600 MOV (SP)+,R0
10069 016034 000762 BR 10$ ; ..DO THE NEXT CHARACTER
10070 ;
10071 016036 30$:
10072 016036 POP <R2,R1> ; ..RESTORE REGISTERS
016036 012602 MOV (SP)+,R2
016040 012601 MOV (SP)+,R1
10073 016042 RETURN ; TO CALLER
016042 000207 RTS PC
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 260
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
10075 ; THIS IS A PICTURE OF THE "QIOW$" DPB, NOT ALL OF THE ARGUMENTS
10076 ; IN THE DPB ARE USED BY SOME FORMS OF THE "QIOW$" DIRECTIVE.
10077 ;
10078 ; !===============================================!
10079 ; 00 ! DPB SIZE ! DIC !
10080 ; !-----------------------------------------------!
10081 ; 02 ! INPUT / OUTPUT FUNCTION CODE !
10082 ; !-----------------------------------------------!
10083 ; 04 ! LOGICAL UNIT NUMBER !
10084 ; !-----------------------------------------------!
10085 ; 06 ! PRIORITY ! EVENT FLAG NUMBER !
10086 ; !-----------------------------------------------!
10087 ; 10 ! I/O STATUS BLOCK ADDRESS !
10088 ; !-----------------------------------------------!
10089 ; 12 ! AST ROUTINE ADDRESS (NOT USED) !
10090 ; !-----------------------------------------------!
10091 ; 14 ! DATA BUFFER ADDRESS !
10092 ; !-----------------------------------------------!
10093 ; 16 ! BYTE COUNT !
10094 ; !-----------------------------------------------!
10095 ; 20 ! OUTPUT FORMAT CONTROL CHARACTER !
10096 ; !===============================================!
10097
10098 ; THIS IS THE CONSOLE OUTPUT DPB
10099
10100 000414 .PSECT DPBS
10101
10102 000414 .CDOUT::
10103 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
10104
10105 000430' .CDOBP==.CDOUT+Q.IOPL ; CONSOLE OUTPUT BYTE POINTER
10106 000432' .CDOBC==.CDOUT+Q.BYCT ; CONSOLE OUTPUT BYTE COUNT
10107 000434' .CDOFC==.CDOUT+Q.OVFC ; CONSOLE OUTPUT FORMAT CHARACTER
10108
10109 ; THIS IS THE LIST DEVICE OUTPUT DPB
10110
10111 000436 .LDOUT::
10112 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
10113
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 260-1
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
10114 000452' .LDOBP==.LDOUT+Q.IOPL ; LIST DEVICE BYTE POINTER
10115 000454' .LDOBC==.LDOUT+Q.BYCT ; LIST DEVICE BYTE COUNT
10116 000456' .LDOFC=.LDOUT+Q.OVFC ; LIST DEVICE FORMAT CHARACTER
10117
10118 ; ATTACH CONSOLE INPUT DEVICE EXCLUSIVELY TO PARSER TASK
10119
10120 000460 .ATCID::
10121 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
10122
10123 ; DETACH THE CONSOLE INPUT DEVICE FROM THE PARSER TASK
10124
10125 000474 .DTCID::
10126 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
10127
10128 016044 .PSECT
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 Page 262
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
10131
10132 000001 FTLCMN==1
10133
10134 000312' .END DATABX
TYOUT -- GENERAL TERMINAL OUTPU MACRO V05.04 Tuesday 17-May-88 14:31 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 V05.04 Tuesday 17-May-88 14:31 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 V05.04 Tuesday 17-May-88 14:31 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 V05.04 Tuesday 17-May-88 14:31 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= 000000 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= 000016 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 V05.04 Tuesday 17-May-88 14:31 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 V05.04 Tuesday 17-May-88 14:31 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 V05.04 Tuesday 17-May-88 14:31 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 V05.04 Tuesday 17-May-88 14:31 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 (RW,I,GBL,ABS,OVR)
016044 001 (RW,I,LCL,REL,CON)
DATA 007366 002 (RW,D,LCL,REL,CON)
MESSAG 002327 003 (RW,I,LCL,REL,CON)
DPBS 000510 004 (RW,I,LCL,REL,CON)
ERRMSG 004250 005 (RW,I,LCL,REL,CON)
Errors detected: 0
*** Assembler statistics
Work file reads: 0
Work file writes: 0
Size of work file: 16688 Words ( 66 Pages)
Size of core pool: 17948 Words ( 69 Pages)
Operating system: RSX-11M/PLUS
Elapsed time: 00:05:33.10
,[51,20]PAROOT/CR/-SP=[51,30]PAROOT.TMP
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 1
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
ABMSG 001051 RG 178-7167 #178-7167 178-7167
ABOMSG 000365 RG 174-7015 #174-7015 174-7015
ACBMSG 001372 RG 182-7366 #182-7366 182-7366 183-7375 183-7375 190-7482 190-7482 193-7551 193-7551
ADD = 000270 #23-879
ADDB = 000273 #23-880
ADDI = 000271 #23-881
ADDM = 000272 #23-882
ADH = 000004 #117-4986 #117-4986 117-4986 117-4986
ADL = 000000 #117-4986 117-4986 117-4986 #117-4986 117-4986 117-4986 #117-4986 117-4986 117-4986
#117-4986 117-4986 117-4986 #117-4986 117-4986 117-4986 #117-4986 117-4986 117-4986
117-4986 #117-4986 117-4986 117-4986
ADMSG 001011 RG 178-7144 #178-7144 178-7144
ADRTMP 007320 R *244-9475 *244-9476 244-9477 #244-9489
ADXMSG 001014 RG 178-7146 #178-7146 178-7146
ALLMSG 001414 RG 184-7382 #184-7382 184-7382 189-7463 189-7463
AMBERM 003670 R #191-7523 191-7523
AND = 000404 #23-884
ANDB = 000407 #23-885
ANDCA = 000410 #23-886
ANDCAB = 000413 #23-887
ANDCAI = 000411 #23-888
ANDCAM = 000412 #23-889
ANDCB = 000440 #23-890
ANDCBB = 000443 #23-891
ANDCBI = 000441 #23-892
ANDCBM = 000442 #23-893
ANDCM = 000420 #23-894
ANDCMB = 000423 #23-895
ANDCMI = 000421 #23-896
ANDCMM = 000422 #23-897
ANDI = 000405 #23-898
ANDM = 000406 #23-899
AOBJN = 000253 #23-901
AOBJP = 000252 #23-902
AOJ = 000340 #23-904
AOJA = 000344 #23-905
AOJE = 000342 #23-906
AOJG = 000347 #23-907
AOJGE = 000345 #23-908
AOJL = 000341 #23-909
AOJLE = 000343 #23-910
AOJN = 000346 #23-911
AOS = 000350 #23-913
AOSA = 000354 #23-914
AOSE = 000352 #23-915
AOSG = 000357 #23-916
AOSGE = 000355 #23-917
AOSL = 000351 #23-918
AOSLE = 000353 #23-919
AOSN = 000356 #23-920
APEERM 000000 R #181-7266 181-7266
APR = 000000 #7-245
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 2
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
APRMSG 001273 RG 180-7242 #180-7242 180-7242
AP.ALL = 000177 #9-350
AP.ARP = 001000 #16-635 16-639 131-5461
AP.CDP = 000004 #9-345 9-350
AP.EIP = 000400 #16-637 16-639 131-5469
AP.IPF = 000020 #9-347 9-350
AP.MPE = 000010 #9-346 9-350
AP.NRM = 001400 #16-639 16-641
AP.NXM = 000040 #9-348 9-350
AP.PWF = 000001 #9-343 9-350
AP.SAP = 000002 #9-344 9-350
AP.SBE = 000100 #9-349 9-350
ARMSG 000773 RG 176-7108 #176-7108 176-7108 178-7148 178-7148 189-7465 189-7465
ARXMSG 001020 RG 178-7150 #178-7150 178-7150
ASH = 000240 #23-922
ASHC = 000244 #23-923
AUGMSG 001317 RG 180-7250 #180-7250 180-7250
A.LULU = 000002 #70-3088 70-3090
A.LUNA = 000004 #70-3088
A.LUNU = 000006 #70-3088
BAEERM 000023 R #181-7268 181-7268
BCCTER 003362 R 88-3872 #88-3877
BIT0 = 000001 #87-3839
BIT00 = 000001 #9-307 10-385 11-411 11-431 12-468 12-469 13-492 13-515 22-844
22-858 62-2648 130-5422 139-5779
BIT01 = 000002 #9-308 10-388 11-407 11-429 12-466 12-467 13-493 13-514 22-845
22-859 130-5421
BIT02 = 000004 #9-309 10-380 11-406 11-428 11-433 12-464 12-465 13-494 13-513
22-846 22-860 97-4165 130-5420
BIT03 = 000010 #9-310 10-379 11-405 11-425 12-461 12-463 13-495 13-512 22-847
22-861 128-5327 130-5419
BIT04 = 000020 #9-311 10-377 10-378 11-404 11-423 11-424 12-459 13-496 13-511
22-848 22-862
BIT05 = 000040 #9-312 10-375 11-411 11-422 12-457 12-458 13-497 13-510 22-849
22-863 139-5776
BIT06 = 000100 #9-313 10-374 11-400 11-433 12-455 12-456 13-486 13-509 22-850
22-864
BIT07 = 000200 #9-314 10-372 10-373 11-411 11-433 12-453 13-485 13-508 22-851
22-865
BIT08 = 000400 #9-315 10-371 11-411 11-433 12-451 13-484 13-507 22-866
BIT09 = 001000 #9-316 10-367 10-370 11-411 11-433 12-449 13-483 13-506
BIT1 = 000002 #87-3839
BIT10 = 002000 #9-317 10-366 10-369 11-411 11-433 12-448 13-482 13-505 #87-3839
BIT11 = 004000 #9-318 10-365 10-368 11-411 11-433 12-446 13-481 13-504 #87-3839
BIT12 = 010000 #9-319 10-364 11-411 11-433 12-444 12-445 13-480 13-503 #87-3839
BIT13 = 020000 #9-320 10-363 11-396 11-411 11-433 12-442 13-479 #87-3839
BIT14 = 040000 #9-321 10-362 11-393 11-394 11-411 11-416 11-433 12-441 13-478
#87-3839
BIT15 = 100000 #9-322 10-361 11-392 11-411 11-415 11-433 12-439 13-477 35-1490
35-1575 72-3204 73-3254 74-3314 #87-3839
BIT2 = 000004 #87-3839
BIT3 = 000010 #87-3839
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 3
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
BIT4 = 000020 #87-3839
BIT5 = 000040 #87-3839
BIT6 = 000100 #87-3839
BIT7 = 000200 #87-3839
BIT8 = 000400 #87-3839
BIT9 = 001000 #87-3839
BLKI = 000000 #7-234
BLKIS 002232 R 230-8987 #230-8999
BLKO = 000002 #7-236
BLKOS 002245 R 230-8989 #230-9001
BLT = 000251 #23-925
BPARER = 000020 #87-3839
BRMSG 001024 RG 178-7152 #178-7152 178-7152
BRXMSG 001027 RG 178-7154 #178-7154 178-7154
CAEERM 000052 R #181-7270 181-7270
CAI = 000300 #24-927
CAIA = 000304 #24-928
CAIE = 000302 #24-929
CAIG = 000307 #24-930
CAIGE = 000305 #24-931
CAIL = 000301 #24-932
CAILE = 000303 #24-933
CAIN = 000306 #24-934
CALERM 000104 R #181-7271 181-7271
CALL = 000040 #24-936
CALLI = 000047 #24-937
CAM = 000310 #24-939
CAMA = 000314 #24-940
CAME = 000312 #24-941
CAMG = 000317 #24-942
CAMGE = 000315 #24-943
CAML = 000311 #24-944
CAMLE = 000313 #24-945
CAMN = 000316 #24-946
CAPERM 000133 R #181-7272 181-7272
CBOERM 000166 R #181-7273 181-7273
CCA = 000014 #7-248
CC.ALL = 003417 #15-613
CC.NRM = 000000 #15-612 143-5952
CDD = 000020 #87-3839
CDIERM 000224 R #181-7274 181-7274
CD.ALL = 003400 #15-610 15-613
CD.CLC = 000400 #15-608 131-5465
CD.CRC = 002000 #15-606 131-5450
CD.DPC = 001000 #15-607 131-5457
CD.NRM = 000000 #15-609
CESCES 000016 R 47-2105 #47-2108
CESERM 003722 R #191-7525 191-7525
CFHERM 000305 R #181-7275 181-7275
CHNPNT = 000001 #87-3839
CH.ALP = 000001 #22-844 22-853 41-1842 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 42-1859
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 4
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
42-1860 42-1861 42-1862 42-1863 42-1864 42-1865 42-1866 42-1867 42-1868
42-1869 42-1870 48-2147
CH.ANM = 000003 #22-853
CH.AOP = 000100 #22-850 41-1817 41-1818 41-1819 41-1820 41-1822 41-1824 42-1846 42-1847
42-1848 42-1859 42-1875 42-1876
CH.END = 000034 #22-852 59-2553 169-6868
CH.EOC = 000010 #22-847 22-852 40-1776 40-1777 41-1821 41-1837 41-1838 49-2184 51-2249
53-2315
CH.EOL = 000004 #22-846 22-852 40-1776
CH.EOS = 000020 #22-848 22-852 40-1776 40-1777 41-1809 41-1811 41-1816 41-1819 41-1820
41-1821 41-1822 41-1824 41-1837 41-1838 41-1840 41-1841 42-1876 52-2286
CH.ILL = 000200 #22-851 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 40-1799 41-1801 41-1802 41-1803 41-1804
41-1805 41-1806 41-1807 41-1808 41-1810 41-1812 41-1813 41-1814 41-1815
41-1823 41-1839 41-1843 42-1872 42-1873 42-1874 42-1877
CH.NUL = 000000 #22-843
CH.NUM = 000002 #22-845 22-853 41-1826 41-1827 41-1828 41-1829 41-1830 41-1831 41-1832
41-1833 41-1834 41-1835 48-2154 238-9288
CH.PFX = 000040 #22-849 41-1817 41-1820 41-1822 41-1842 42-1875 48-2154
CIDLUN = 000001 #21-820 160-6595 224-8709 260-10121 260-10126
CKCILS 000152 R 49-2187 #49-2189 51-2258 52-2287 52-2289
CKCMRA 000160 R 48-2155 49-2185 #49-2192 53-2316
CKEEOC 000250 R 51-2256 #51-2260
CKRKLR 000366 R 54-2358 #54-2366
CLEAR = 000400 #24-948
CLEARB = 000403 #24-949
CLEARI = 000401 #24-950
CLEARM = 000402 #24-951
CLEERM 000343 R #181-7276 181-7276
CLKMSG 001617 RG 190-7484 #190-7484 190-7484 193-7553 193-7553
CLOATR = 000256 R *75-3344 *75-3348 #75-3371
CLOATT = 000262 R *75-3350 #75-3378
CLODAC 000240 R 75-3351 #75-3366 75-3369 75-3370 75-3371
CLOFCF 002160 R 75-3352 75-3354 #75-3360
CLOIOF = 000242 R *75-3343 *75-3347 #75-3369
CLOLUN = 000244 R *75-3349 #75-3370
CLOSE = 000070 #24-953
CLOWAT 000260 R 75-3348 #75-3373 75-3378
CLRMSG 000373 RG 174-7017 #174-7017 174-7017
CNRERM 000400 R #181-7277 181-7277
CNTMSG 000401 RG 174-7019 #174-7019 174-7019
CNUPE = 000002 #87-3839
CODLUN = 000002 #21-821 260-10103
CONI = 000005 #7-239
CONIS 002265 R 230-8992 #230-9004
CONMSG 001625 RG 190-7486 #190-7486 190-7486 193-7555 193-7555
CONO = 000004 #7-238 117-4986 117-4986
CONOS 002260 R 230-8991 #230-9003
CONSO = 000007 #7-241
CONSOS 002300 R 230-8994 #230-9006
CONSZ = 000006 #7-240
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 5
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
CONSZS 002272 R 230-8993 #230-9005
CPEERM 000440 R #181-7278 181-7278
CPUMSG 001420 RG 184-7384 #184-7384 184-7384
CPUNUM = 000002 #87-3839
CPVMSG 000000 RG #39-1729
CRAMSG 001054 RG 178-7169 #178-7169 178-7169
CRHERM 000467 R #181-7279 181-7279
CRLMSG 001063 RG 178-7171 #178-7171 178-7171
CRMMSG 001450 RG 62-2673 185-7405 #185-7405 185-7405 189-7467 189-7467
CR.ALL = 000003 #15-598 15-613
CR.CR1 = 000001 #15-592 15-598 131-5463
CR.CR2 = 000002 #15-593 15-598 131-5455
CR.FUL = 000000 #15-594
CR.HLF = 000001 #15-595
CR.NRM = 000000 #15-591
CR.QTR = 000002 #15-596
CR.SLO = 000003 #15-597
CS.ALL = 000014 #15-589 15-613
CS.CS1 = 000004 #15-583 15-589 131-5448
CS.CS2 = 000010 #15-584 15-589 131-5442
CS.EXP = 177670 #87-3839
CS.EXT = 000010 #15-587
CS.FST = 000004 #15-585 15-586
CS.MGN = 000004 #15-586
CS.NRM = 000000 #15-582
CS.UDF = 000014 #15-588
CTLMSG 001467 RG 185-7409 #185-7409 185-7409
CTYPTR = ****** GX 160-6599
DATABX 000312 RG #35-1616 262-10134
DATAI = 000001 #7-235
DATAIS 002237 R 230-8988 #230-9000
DATAO = 000003 #7-237
DATAOS 002252 R 230-8990 #230-9002
DATMSG 001635 RG 190-7488 #190-7488 190-7488 193-7557 193-7557
DAVERM 000531 R #181-7284 181-7284
DBTERM 000562 R #181-7285 181-7285
DCKERM 000612 R #181-7286 181-7286
DCOMST = 000001 #87-3839
DCRMSG 000724 RG 175-7093 #175-7093 175-7093 176-7114 176-7114 177-7129 177-7129 178-7202 178-7202
DEB880 = ****** 44-1922 47-2100 56-2424 90-3943 94-4057 97-4166 99-4235 99-4251 100-4277
104-4422 104-4430 106-4488 108-4584 110-4660 114-4839 115-4852 115-4881 117-4971
128-5328 139-5792 149-6125 152-6221
DECMSG 001361 RG 180-7258 #180-7258 180-7258
DEP = 010000 #87-3839
DEPMSG 000412 RG 174-7021 #174-7021 174-7021
DEX = 000400 #87-3839
DEXDON = 000004 #87-3839
DEXWD1 = 174406 #87-3839
DEXWD2 = 174404 #87-3839
DEXWD3 = 174402 #87-3839
DFAD = 000110 #24-955
DFBEND = 000362 RG #37-1687
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 6
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
DFDV = 000113 #24-956
DFMP = 000112 #24-957
DFN = 000131 #24-958
DFSB = 000111 #24-959
DFUNC = 000200 #87-3839
DF.DMG = 000004 #87-3839
DF.DMN = 000007 #87-3839
DF.DOR = 000001 #87-3839
DF.EHG = 000010 #87-3839
DF.EHM = 000011 #87-3839
DF.EMG = 000005 #87-3839
DF.EMN = 000006 #87-3839
DF.KLR = 000012 #87-3839 106-4531
DF.KLW = 000013 #87-3839 108-4628
DF.KLX = 000014 #87-3839 111-4730
DF.OFF = 000002 #87-3839
DF.ON = 000003 #87-3839
DF.PDP = 000016 #87-3839 102-4346
DF.PEX = 000015 #87-3839 102-4364
DIAG1 = 174430 #87-3839
DIAG2 = 174432 #87-3839
DIAG3 = 174436 #87-3839
DIKL10 = 000010 #87-3839
DISMSG 000422 RG 174-7023 #174-7023 174-7023
DIV = 000234 #24-961
DIVB = 000237 #24-962
DIVI = 000235 #24-963
DIVM = 000236 #24-964
DLYCNT = 174400 #87-3839
DMFERM 000635 R #181-7287 181-7287
DMOVE = 000120 #24-966
DMOVEM = 000124 #24-967
DMOVN = 000121 #24-968
DMOVNM = 000125 #24-969
DNFERM 000724 R #181-7289 181-7289
DNPERM 000763 R #181-7290 181-7290
DOCCNR 010102 R 159-6528 #159-6551
DON10C = 040000 #87-3839
DON10S = 100000 #87-3839
DON11C = 000100 #87-3839
DON11S = 000200 #87-3839
DORERM 000674 R #181-7288 181-7288
DPB = 000137 #24-971
DPDTEN = 000322 RG #102-4347
DPS4 = 040000 #87-3839
DPTMSG 001455 RG 185-7407 #185-7407 185-7407
DRAMSG 001071 RG 178-7173 #178-7173 178-7173
DRDMSG 002144 R 216-8364 #217-8394
DRESET = 000100 #87-3839
DRMMSG 001573 RG 62-2672 189-7469 #189-7469 189-7469
DR.DTE = 000011 #87-3839 102-4346 102-4364 106-4531 108-4628 111-4730
DSEND = 000004 #87-3839
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 7
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
DSFERM 001022 R #181-7291 181-7291
DS04 = 004000 #87-3839
DS05 = 002000 #87-3839
DS06 = 001000 #87-3839
DTCERM 001055 R #181-7292 181-7292
DTECMD = 000451 #87-3839
DTEDSF 003626 R 94-4062 #94-4075
DTEFLG = 000444 #87-3839
DTEF11 = 000450 #87-3839
DTEMSG 001100 RG 178-7175 #178-7175 178-7175 184-7386 184-7386
DTEMTD = 000455 #87-3839
DTEMTI = 000456 #87-3839
DTKMSG 002215 R 218-8436 #220-8502
DTRMSG 002063 R 216-8349 #217-8382
DUPE = 000020 #87-3839
DURE = 000004 #87-3839
DWRMSG 002150 R 216-8367 #217-8396
DW1MSG 002104 R 217-8376 #217-8385
DW2MSG 002114 R 217-8377 #217-8387
DW3MSG 002134 R 217-8379 #217-8391
DXWRD1 = 002000 #87-3839
D.CDLS = ****** GX 160-6601
D1.CES = 004000 #10-368 47-2104 114-4838
D1.DCS = 000001 #10-385
D1.DDT = 000040 #10-375 10-388
D1.DEX = 000400 #10-371 10-388
D1.DFM = 000010 #10-379
D1.DS0 = 100000 #10-361
D1.DS1 = 040000 #10-362
D1.DS2 = 020000 #10-363
D1.DS3 = 010000 #10-364
D1.DS4 = 004000 #10-365
D1.DS5 = 002000 #10-366
D1.DS6 = 001000 #10-367
D1.HLP = 001000 #10-370 104-4421 104-4429 115-4851 115-4880 117-4970 152-6220
D1.LBK = 000200 #10-373
D1.MBZ = 000442 #10-388 94-4084
D1.PLS = 000020 #10-378
D1.RUN = 002000 #10-369
D1.T10 = 000200 #10-372
D1.T11 = 000100 #10-374
D1.V04 = 000020 #10-377
D1.XFR = 000004 #10-380
D1011 = 000040 #87-3839
D2RST 004344 R 142-5899 #142-5907
D2.EBD = 040000 #11-394
D2.MBZ = 177641 #11-411 94-4085
D2.MS1 = 000002 #11-407
D2.MS2 = 000004 #11-406
D2.MS4 = 000010 #11-405
D2.MS8 = 000020 #11-404
D2.RA0 = 100000 #11-392
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 8
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
D2.RA1 = 040000 #11-393
D2.RA2 = 020000 #11-396
D2.RST = 000100 #11-400 142-5908
D3RST 004346 R 142-5901 #142-5909
D3.CDD = 000020 #11-424
D3.MBZ = 177704 #11-433 94-4087
D3.NPE = 000002 #11-429
D3.PAR = 040000 #11-416
D3.RST = 000001 #11-435 142-5910
D3.SCD = 000040 #11-422
D3.SSL = 100000 #11-415
D3.TXB = 000001 #11-431 11-435
D3.UPE = 000020 #11-423
D3.URE = 000004 #11-428
D3.WEP = 000010 #11-425
EBCECT 003722 R 97-4173 #97-4177
EBPEPE 000424 R 56-2425 #56-2428
EBRMSG 001107 RG 178-7177 #178-7177 178-7177
EBSEL = 000100 #87-3839
EBSMSG 001033 RG 178-7156 #178-7156 178-7156
EBUSPC = 000020 #87-3839
EBUSPS = 000004 #87-3839
ECTERM 001127 R #181-7294 181-7294
EDEPT 002154 R 220-8483 #220-8490
EDEXV 002160 R 220-8484 #220-8492
EDONES = 040000 #87-3839
EDPHY 002174 R 220-8487 #220-8498
EDTYTB 007264 R 219-8469 #220-8482
EDUPT 002164 R 220-8485 #220-8494
EDUSV 002170 R 220-8486 #220-8496
ED.EPT = 000000 #9-326
ED.EXV = 000040 #9-327
ED.PHY = 000200 #9-330 102-4346 102-4364
ED.UPT = 000100 #9-328
ED.USV = 000140 #9-329
EF.CRI = ****** GX 141-5851
ELBBIN 007350 RG 246-9574 #250-9735
ELBOCT 007354 RG 246-9578 #250-9738
ELEMSG 000776 RG 176-7110 #176-7110 176-7110 178-7179 178-7179 186-7430 186-7430
ELNBIN 007342 RG 245-9535 #250-9731
ELNNOR 013214 R 225-8742 225-8744 225-8749 225-8751 #225-8754
ELNOCT 007360 RG 245-9539 #250-9743
EMFERM 001160 R #181-7295 181-7295
ENBMSG 001600 RG 189-7471 #189-7471 189-7471
ENTCRE 000070 R 72-3186 #72-3203
ENTDEL 000144 R 72-3195 #72-3209
ENTENA 000114 R 72-3190 #72-3206
ENTER = 000077 #25-973
ENTFEN 001730 R 72-3187 72-3189 #72-3197
EOCERM 001217 R #181-7296 181-7296
EOFMSG 000335 R 77-3463 #77-3472
EPEERM 001255 R #181-7297 181-7297
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 9
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
EPTR = 000000 #87-3839
EQV = 000444 #25-975
EQVB = 000447 #25-976
EQVI = 000445 #25-977
EQVM = 000446 #25-978
ERRMSG 001424 RG 184-7388 #184-7388 184-7388
ERR10C = 010000 #87-3839
ERR10S = 020000 #87-3839
ERR11C = 000001 #87-3839
ERR11S = 000002 #87-3839
ERSMSG 000107 R 62-2671 #63-2681
ESDERM 001305 R #181-7298 181-7298
ESEERM 001342 R #181-7299 181-7299
ETRMSG 002200 R 218-8431 #220-8500
EXAMSG 000435 RG 174-7025 #174-7025 174-7025
EXCH = 000250 #25-980
EXDDMF 004134 R 101-4310 #101-4322
EXDEMF 004142 R 101-4304 #101-4325
EXDESD 004104 R 101-4309 #101-4314
EXDESE 004120 R 101-4303 #101-4318
EXDTEN = 000334 RG #102-4365
EXECTO 004354 R 104-4435 #104-4455
EXRTBL = 000012 G #178-7166
EXTEND = 000123 #25-981
EXTEXT 000214 R 74-3291 #74-3313
EXTFEF 002036 R 74-3292 74-3294 #74-3299
EXTMSG 001477 RG 185-7411 #185-7411 185-7411
E.FCID = 000002 #21-804 160-6595 224-8709 260-10121
E.FCOD = 000003 #21-805 260-10103 260-10126
E.FCTC = ****** GX 50-2218
E.FFIL = 000006 #21-808 70-3093 71-3156 72-3204 72-3207 72-3210 73-3254 74-3314 75-3367
80-3575 85-3784
E.FHTO = 000001 #21-803 91-3973 149-6126
E.FKLN = 000004 #21-806
E.FLOD = 000005 #21-807 260-10112
FAD = 000140 #25-983
FADB = 000143 #25-984
FADL = 000141 #25-985
FADM = 000142 #25-986
FADR = 000144 #25-988
FADRB = 000147 #25-989
FADRI = 000145 #25-990
FADRM = 000146 #25-991
FCFERM 001377 R #181-7301 181-7301
FDV = 000170 #25-993
FDVB = 000173 #25-994
FDVL = 000171 #25-995
FDVM = 000172 #25-996
FDVR = 000174 #25-998
FDVRB = 000177 #25-999
FDVRI = 000175 #25-1000
FDVRM = 000176 #25-1001
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 10
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
FEBMSG 001254 RG 180-7238 #180-7238 180-7238
FEFERM 001430 R #181-7302 181-7302
FENERM 001462 R #181-7303 181-7303
FERMSG 001113 RG 178-7181 #178-7181 178-7181
FIX = 000122 #25-1003
FIXR = 000126 #25-1004
FLDMSG 000050 R 60-2592 #60-2599
FLFERM 001513 R #181-7304 181-7304
FLGMSG 001116 RG 178-7183 #178-7183 178-7183
FLTMSG 001642 RG 190-7490 #190-7490 190-7490 193-7559 193-7559
FLTR = 000127 #25-1006
FMMSG 001040 RG 62-2674 178-7159 #178-7159 178-7159 189-7473 189-7473
FMP = 000160 #25-1008
FMPB = 000163 #25-1009
FMPL = 000161 #25-1010
FMPM = 000162 #25-1011
FMPR = 000164 #25-1013
FMPRB = 000167 #25-1014
FMPRI = 000165 #25-1015
FMPRM = 000166 #25-1016
FNDALN 000000 R 70-3066 #70-3087 70-3090
FNDALU = 000002 R *70-3065 #70-3090
FNDCAL 001550 R 70-3067 #70-3079
FNDDNF 001556 R 70-3071 70-3073 #70-3081
FNDFNA 000010 R 70-3070 #70-3092 70-3095 70-3096
FNDFNB = 000036 R *70-3069 #70-3096
FNDLUN = 000014 R *70-3068 #70-3095
FOFERM 001545 R #181-7305 181-7305
FORPRO = 000020 #87-3839
FRDERM 001575 R #181-7306 181-7306
FRDFRF 004436 R 106-4493 #106-4510
FRDMSG 000445 RG 174-7027 #174-7027 174-7027
FRDTEN = 000346 RG #106-4532
FRFERM 003754 R #191-7527 191-7527
FR.ADX = 000254 #18-726
FR.APR = 000220 #18-704
FR.ARX = 000252 #18-724
FR.BRX = 000250 #18-722
FR.CA1 = 000312 #19-756 19-757
FR.CA2 = 000310 #19-753 19-754
FR.CL1 = 000316 #19-763
FR.CL2 = 000314 #19-760
FR.CRD = 000302 #19-747 132-5498
FR.CR1 = 000316 #19-762 19-763
FR.CR2 = 000314 #19-759 19-760
FR.CR3 = 000312 #19-757
FR.CR4 = 000310 #19-754 134-5575
FR.DA1 = 000260 #18-732
FR.DA2 = 000262 #18-735
FR.EBS = 000356 #20-790
FR.FE1 = 000266 #18-739
FR.FE2 = 000264 #18-737
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 11
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
FR.PI0 = 000200 #18-693
FR.PI1 = 000202 #18-695
FR.RAD = 000256 #18-728
FR.RAR = 000240 #18-714
FR.RBR = 000242 #18-716
FR.RFM = 000246 #18-720 137-5709
FR.RMQ = 000244 #18-718
FR.SC1 = 000262 #18-734
FR.SC2 = 000260 #18-731
FR.SR1 = 000306 #19-751
FR.SR2 = 000304 #19-749
FR.VM0 = 000320 #19-766
FR.VM1 = 000322 #19-768
FR.VM2 = 000324 #19-770
FR.VM3 = 000326 #19-772
FR.VM4 = 000330 #19-774
FR.VM5 = 000332 #19-776
FR.VM6 = 000334 #19-778
FR.VM7 = 000336 #19-780
FR.100 = 000200 #18-692 18-693
FR.101 = 000202 #18-694 18-695
FR.102 = 000204 #18-696 139-5775
FR.103 = 000206 #18-697
FR.104 = 000210 #18-698 97-4163 131-5438
FR.105 = 000212 #18-699 131-5439
FR.106 = 000214 #18-700 131-5440
FR.107 = 000216 #18-701 131-5441
FR.110 = 000220 #18-703 18-704
FR.111 = 000222 #18-705
FR.112 = 000224 #18-706
FR.113 = 000226 #18-707
FR.114 = 000230 #18-708 136-5665 138-5738
FR.115 = 000232 #18-709
FR.116 = 000234 #18-710
FR.117 = 000236 #18-711
FR.120 = 000240 #18-713 18-714
FR.121 = 000242 #18-715 18-716
FR.122 = 000244 #18-717 18-718
FR.123 = 000246 #18-719 18-720
FR.124 = 000250 #18-721 18-722
FR.125 = 000252 #18-723 18-724
FR.126 = 000254 #18-725 18-726
FR.127 = 000256 #18-727 18-728
FR.130 = 000260 #18-730 18-731 18-732
FR.131 = 000262 #18-733 18-734 18-735
FR.132 = 000264 #18-736 18-737
FR.133 = 000266 #18-738 18-739
FR.134 = 000270 #18-740
FR.135 = 000272 #18-741
FR.136 = 000274 #18-742
FR.137 = 000276 #18-743
FR.140 = 000300 #19-745
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 12
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
FR.141 = 000302 #19-746 19-747
FR.142 = 000304 #19-748 19-749
FR.143 = 000306 #19-750 19-751
FR.144 = 000310 #19-752 19-753
FR.145 = 000312 #19-755 19-756
FR.146 = 000314 #19-758 19-759
FR.147 = 000316 #19-761 19-762
FR.150 = 000320 #19-765 19-766
FR.151 = 000322 #19-767 19-768
FR.152 = 000324 #19-769 19-770
FR.153 = 000326 #19-771 19-772
FR.154 = 000330 #19-773 19-774
FR.155 = 000332 #19-775 19-776
FR.156 = 000334 #19-777 19-778
FR.157 = 000336 #19-779 19-780
FR.160 = 000340 #20-782
FR.161 = 000342 #20-783
FR.162 = 000344 #20-784 128-5325
FR.163 = 000346 #20-785
FR.164 = 000350 #20-786
FR.165 = 000352 #20-787
FR.166 = 000354 #20-788
FR.167 = 000356 #20-789 20-790
FR.170 = 000360 #20-792
FR.171 = 000362 #20-793
FR.172 = 000364 #20-794
FR.173 = 000366 #20-795
FR.174 = 000370 #20-796
FR.175 = 000372 #20-797
FR.176 = 000374 #20-798
FR.177 = 000376 #20-799
FSB = 000150 #25-1018
FSBB = 000153 #25-1019
FSBL = 000151 #25-1020
FSBM = 000152 #25-1021
FSBR = 000154 #26-1023
FSBRB = 000157 #26-1024
FSBRI = 000155 #26-1025
FSBRM = 000156 #26-1026
FSC = 000132 #26-1028
FSSMSG 001607 RG 62-2675 189-7475 #189-7475 189-7475 190-7492 190-7492
FSWERM 001625 R #181-7307 181-7307
FTBYTE = 000000 #2-66
FTCRAM = 000000 #2-67
FTDEBU = 000001 #2-68 35-1503 68-2881 160-6576
FTDISP = 000000 #2-69
FTDRAM = 000000 #2-70 35-1511 181-7281
FTHELP = 000000 #2-71 174-7035
FTKLE = 000001 #2-78 159-6543 163-6672 223-8621
FTKLER = 000000 #2-72
FTKLI = ****** 69-2943 69-2954 74-3304 77-3419
FTLCMN = 000001 G 1-1 33-1410 #262-10132
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 13
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
FTLCVT = 000000 #2-73 42-1878 224-8677
FTLIST = 000001 #2-74
FTTRAK = 000001 #2-75 13-491 35-1592 94-4064 99-4240 106-4503 108-4598 111-4700 190-7514
193-7581 213-8250 215-8344 218-8425
FTTRP4 = 000001 #2-76
FTUCVR = 000130 #2-77
FT1105 = 000001 #2-65 #2-102
FT1110 = 000001 #2-64 #2-98 2-101
FT1115 = 000001 #2-63 #2-94 2-97
FT1120 = 000001 #2-62 #2-90 2-93
FT1135 = 000001 #2-61 #2-86 2-89
FT1140 = 000001 #2-60 2-85 3-111
FT1145 = 000000 #2-59 2-81
FULMSG 001530 RG 185-7417 #185-7417 185-7417
FWDTEN = 000360 RG #108-4629
FWFERM 004001 R #191-7528 191-7528
FWRFWF 004560 R 108-4589 #108-4607
FWRMSG 000453 RG 174-7029 #174-7029 174-7029
FWTERM 001652 R #181-7308 181-7308
FW.APE = 000116 #16-629
FW.CA1 = 000122 #16-645 126-5267 134-5589 141-5862 155-6395
FW.CA2 = 000124 #16-647 126-5260 134-5591 141-5861 155-6397
FW.CDR = 000112 #15-601
FW.CHN = 000160 #17-677 128-5320
FW.CRD = 000126 #16-649 155-6392
FW.CR1 = 000136 #16-657
FW.CR2 = 000134 #16-655
FW.CR3 = 000132 #16-653
FW.CR4 = 000130 #16-651 155-6375
FW.CSR = 000110 #15-577 124-5193
FW.DJE = 000146 #17-666
FW.DJO = 000150 #17-668
FW.DR1 = 000140 #17-660
FW.DR2 = 000142 #17-662
FW.DR3 = 000144 #17-664
FW.EBL = 000174 #17-685 141-5864
FW.IAC = 000154 #17-672
FW.IOJ = 000152 #17-670
FW.IPE = 000114 #16-616 124-5199
FW.KLO = 000156 #17-674 141-5863
FW.LAR = 000176 #17-688 116-4929 120-5086 154-6307
FW.LBL = 000106 #15-575 122-5133 141-5860
FW.LBR = 000104 #15-573 122-5124 141-5859
FW.MBX = 000162 #17-679 141-5867
FW.SBR = 000174 #17-686
FW.040 = 000100 #15-570
FW.041 = 000102 #15-571
FW.042 = 000104 #15-572 15-573
FW.043 = 000106 #15-574 15-575
FW.044 = 000110 #15-576 15-577 108-4592
FW.045 = 000112 #15-600 15-601
FW.046 = 000114 #16-615 16-616
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 14
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
FW.047 = 000116 #16-628 16-629 108-4594
FW.050 = 000120 #16-643
FW.051 = 000122 #16-644 16-645
FW.052 = 000124 #16-646 16-647
FW.053 = 000126 #16-648 16-649
FW.054 = 000130 #16-650 16-651
FW.055 = 000132 #16-652 16-653
FW.056 = 000134 #16-654 16-655
FW.057 = 000136 #16-656 16-657
FW.060 = 000140 #17-659 17-660
FW.061 = 000142 #17-661 17-662
FW.062 = 000144 #17-663 17-664
FW.063 = 000146 #17-665 17-666
FW.064 = 000150 #17-667 17-668
FW.065 = 000152 #17-669 17-670
FW.066 = 000154 #17-671 17-672
FW.067 = 000156 #17-673 17-674
FW.070 = 000160 #17-676 17-677
FW.071 = 000162 #17-678 17-679
FW.072 = 000164 #17-680
FW.073 = 000166 #17-681
FW.074 = 000170 #17-682
FW.075 = 000172 #17-683
FW.076 = 000174 #17-684 17-685 17-686
FW.077 = 000176 #17-687 17-688
FXCFXF 004730 R 110-4665 #111-4708
FXCMSG 000462 RG 174-7031 #174-7031 174-7031
FXDTEN = 000372 RG #111-4731
FXFERM 004027 R #191-7529 191-7529
FX.BMC = 000012 #14-530 88-3874
FX.CMR = 000014 #14-532 128-5337
FX.CON = 000024 #14-541 113-4784 119-5028 120-5088
FX.CRF = 000020 #14-537 90-3948 110-4691
FX.CSP = 000000 #14-520
FX.CST = 000002 #14-522 110-4668 147-6066
FX.EBC = 000006 #14-526 134-5571
FX.MBC = 000004 #14-524 97-4161 128-5332
FX.SMR = 000016 #14-534 110-4670 127-5306
FX.SRF = 000022 #14-539 110-4685 150-6159
FX.SYC = 000010 #14-528 153-6264
FX.UDR = 000032 #14-546
FX.UIR = 000030 #14-544
FX.000 = 000000 #14-519 14-520
FX.001 = 000002 #14-521 14-522
FX.002 = 000004 #14-523 14-524
FX.003 = 000006 #14-525 14-526
FX.004 = 000010 #14-527 14-528
FX.005 = 000012 #14-529 14-530
FX.006 = 000014 #14-531 14-532
FX.007 = 000016 #14-533 14-534
FX.010 = 000020 #14-536 14-537
FX.011 = 000022 #14-538 14-539
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 15
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
FX.012 = 000024 #14-540 14-541
FX.013 = 000026 #14-542
FX.014 = 000030 #14-543 14-544
FX.015 = 000032 #14-545 14-546
FX.016 = 000034 #14-547
FX.017 = 000036 #14-548
FX.020 = 000040 #14-550
FX.021 = 000042 #14-551
FX.022 = 000044 #14-552
FX.023 = 000046 #14-553
FX.024 = 000050 #14-554
FX.025 = 000052 #14-555
FX.026 = 000054 #14-556
FX.027 = 000056 #14-557
FX.030 = 000060 #14-559
FX.031 = 000062 #14-560
FX.032 = 000064 #14-561
FX.033 = 000066 #14-562
FX.034 = 000070 #14-563
FX.035 = 000072 #14-564
FX.036 = 000074 #14-565
FX.037 = 000076 #14-566
GETSTS = 000062 #26-1030
GTFILC 014264 R 236-9202 #236-9213
GTKKLA 013274 R 227-8814 227-8816 #227-8818
GTLCBO 013130 R 224-8666 #224-8698
GTLILC 013136 R 223-8654 224-8680 #224-8701
GTNILI 013700 R 230-8944 230-8958 230-8976 #230-8980
GTNMRA 014526 R 239-9313 #239-9315
GTNNER 013506 R 228-8852 228-8862 #229-8903 230-8960
GTNNOR 014534 R 225-8755 229-8901 238-9293 238-9299 #239-9318
GTNORE 013502 R 228-8866 228-8868 #229-8900 230-8963 230-8965
HARMSG 001773 RG 193-7561 #193-7561 193-7561
HIBYTE = 177400 #87-3839
HLFMSG 001535 RG 185-7419 #185-7419 185-7419
HLL = 000500 #26-1032
HLLE = 000530 #26-1033
HLLEI = 000531 #26-1034
HLLEM = 000532 #26-1035
HLLES = 000533 #26-1036
HLLI = 000501 #26-1038
HLLM = 000502 #26-1039
HLLO = 000520 #26-1041
HLLOI = 000521 #26-1042
HLLOM = 000522 #26-1043
HLLOS = 000523 #26-1044
HLLS = 000503 #26-1046
HLLZ = 000510 #26-1048
HLLZI = 000511 #26-1049
HLLZM = 000512 #26-1050
HLLZS = 000513 #26-1051
HLR = 000544 #26-1053
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 16
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
HLRE = 000574 #26-1055
HLREI = 000575 #26-1056
HLREM = 000576 #26-1057
HLRES = 000577 #26-1058
HLRO = 000564 #26-1060
HLROI = 000565 #26-1061
HLROM = 000566 #26-1062
HLROS = 000567 #26-1063
HLRS = 000547 #26-1065
HLRZ = 000554 #26-1067
HLRZI = 000555 #26-1068
HLRZM = 000556 #26-1069
HLRZS = 000557 #26-1070
HLTMSG 000467 RG 174-7033 #174-7033 174-7033
HRL = 000504 #27-1072
HRLE = 000534 #27-1074
HRLEI = 000535 #27-1075
HRLEM = 000536 #27-1076
HRLES = 000537 #27-1077
HRLI = 000505 #27-1079
HRLM = 000506 #27-1080
HRLO = 000564 #27-1082
HRLOI = 000565 #27-1083
HRLOM = 000566 #27-1084
HRLOS = 000567 #27-1085
HRLS = 000507 #27-1087
HRLZ = 000514 #27-1089
HRLZI = 000515 #27-1090
HRLZM = 000516 #27-1091
HRLZS = 000517 #27-1092
HRR = 000540 #27-1094
HRRE = 000570 #27-1096
HRREI = 000571 #27-1097
HRREM = 000572 #27-1098
HRRES = 000573 #27-1099
HRRI = 000541 #27-1101
HRRM = 000542 #27-1102
HRRO = 000560 #27-1104
HRROI = 000561 #27-1105
HRROM = 000562 #27-1106
HRROS = 000563 #27-1107
HRRS = 000543 #27-1109
HRRZ = 000550 #27-1111
HRRZI = 000551 #27-1112
HRRZM = 000552 #27-1113
HRRZS = 000553 #27-1114
I = 000000 #117-4986 117-4986
IBP = 000133 #28-1116
IDFERM 001703 R #181-7310 181-7310
IDIV = 000230 #28-1118
IDIVB = 000233 #28-1119
IDIVI = 000231 #28-1120
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 17
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
IDIVM = 000232 #28-1121
IDPB = 000136 #28-1123
IE.EBX = ****** GX 100-4285
IE.EOF = ****** GX 85-3793
IE.NSF = ****** GX 71-3142
IFCERM 001735 R #181-7311 181-7311
IFLOP = 100000 #87-3839
ILCERM 004057 R #191-7531 191-7531
ILDB = 000134 #28-1125
ILIERM 001771 R #181-7312 181-7312
ILSERM 004111 R #191-7532 191-7532
IMUL = 000220 #28-1127
IMULB = 000223 #28-1128
IMULI = 000221 #28-1129
IMULM = 000222 #28-1130
IN = 000056 #28-1132
INBUF = 000064 #28-1133
INCMSG 000736 RG 175-7095 #175-7095 175-7095 176-7116 176-7116 177-7131 177-7131 178-7204 178-7204
190-7494 190-7494 193-7563 193-7563
INDLUN = 000005 #21-824 77-3461 80-3575 80-3587 160-6585
INIMSG 000474 RG 174-7039 #174-7039 174-7039 184-7390 184-7390
INIT = 000041 #28-1134
INPUT = 000066 #28-1135
INTMSG 001510 RG 185-7413 #185-7413 185-7413
INTROF = 000010 #87-3839
INTRON = 000040 #87-3839
INTSON = 000001 #87-3839
INT10S = 000400 #87-3839
INT11C = 002000 #87-3839
INT11S = 004000 #87-3839
IOCERM 002015 R #181-7313 181-7313
IOMSG 001432 RG 184-7392 #184-7392 184-7392
IOR = 000434 #28-1137 29-1205
IORB = 000437 #28-1138 29-1206
IORI = 000435 #28-1139 30-1223
IORM = 000436 #28-1140 30-1224
IOTAB 007276 R 230-8942 230-8950 #230-8986
IO.ATT = ****** GX 260-10121
IO.CRE = ****** GX 72-3204
IO.DAC = ****** GX 75-3347
IO.DEL = ****** GX 72-3210 75-3343
IO.DET = ****** GX 160-6595 260-10126
IO.ENA = ****** GX 72-3207
IO.EXT = ****** GX 74-3314
IO.FNA = ****** GX 70-3093 71-3132
IO.RLB = ****** GX 224-8709
IO.RNA = ****** GX 71-3129
IO.RVB = ****** GX 80-3575
IO.WLB = ****** GX 260-10103 260-10112
IO.WVB = ****** GX 85-3784
IPCERM 004155 R #191-7533 191-7533
IP.ALL = 000017 #16-626
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 18
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
IP.CRP = 000004 #16-622 16-625 131-5452
IP.DRP = 000002 #16-623 16-625 131-5459
IP.FMP = 000010 #16-621 16-625 131-5445
IP.FSS = 000001 #16-624 16-626 131-5467
IP.NRM = 000016 #16-625 16-626 16-641
IRCERM 002045 R #181-7314 181-7314
IREERM 002100 R #181-7315 181-7315
IS.SET = ****** GX 50-2219
ITFERM 002130 R #181-7316 181-7316
ITNERM 002162 R #181-7317 181-7317
JANMSG 001244 RG 180-7236 #180-7236 180-7236
JFCL = 000255 #28-1142
JFFO = 000243 #28-1144
JMPMSG 000507 RG 174-7041 #174-7041 174-7041
JRA = 000267 #28-1146
JRST = 000254 #28-1148
JSA = 000266 #28-1150
JSP = 000265 #28-1152
JSR = 000264 #28-1154
JSYS = 000104 #28-1156
JULMSG 001312 RG 180-7248 #180-7248 180-7248
JUMP = 000320 #28-1158
JUMPA = 000324 #28-1159
JUMPE = 000322 #28-1160
JUMPG = 000327 #28-1161
JUMPGE = 000325 #28-1162
JUMPL = 000321 #28-1163
JUMPLE = 000323 #28-1164
JUMPN = 000326 #28-1165
JUNMSG 001305 RG 180-7246 #180-7246 180-7246
KCNERM 002212 R #181-7319 181-7319
KF.BRM = 001000 #13-483 119-5022
KF.CES = 000100 #13-486 47-2114 128-5339
KF.CLK = 100000 #13-477 47-2112 54-2355 101-4315 101-4319 103-4394 104-4439 104-4445 108-4596
110-4667 113-4786 113-4792 117-4960 119-5025 119-5040 119-5042 163-6684
KF.CON = 000200 #13-485 13-487 47-2112 113-4794 128-5339
KF.DEF = 000200 #13-487
KF.KLO = 000400 #13-484
KF.MRS = 020000 #13-479 127-5308 128-5339
KF.RUN = 040000 #13-478 47-2112 54-2355 103-4394 104-4439 104-4449 110-4684 113-4792 119-5025
119-5036 119-5045 146-6032 148-6094 163-6686
KF.SIM = 010000 #13-480 113-4780 119-5022
KF.SMC = 004000 #13-481
KF.SPM = 002000 #13-482 113-4778 119-5022
KLABIN 007336 RG 247-9623 #250-9728
KLAERM 002240 R #181-7320 181-7320
KLAOCT 007362 RG 247-9627 #250-9745
KLEPRM 000034 RG #39-1737 163-6673
KLHCFH 005156 R #115-4886
KLIMSG 001661 RG 190-7496 #190-7496 190-7496 193-7565 193-7565
KLIOT = 000700 #28-1167
KLMSG 001124 RG 178-7185 #178-7185 178-7185
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 19
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
KLNBIN 007326 RG 248-9662 #250-9723
KLNOCT 007356 RG 248-9666 #250-9741
KLP = 000574 #7-249 117-4986 117-4986
KLPSTP 005274 RG #117-4988
KLPWRF = 000010 #87-3839
KLRERM 002265 R #181-7321 181-7321
KLSCFH 005266 R 117-4978 #117-4981
KNCERM 002327 R #181-7322 181-7322
KWEERM 002363 R #181-7323 181-7323
LDB = 000135 #29-1169
LG.ALL = 000007 #22-868 174-7023 178-7163 178-7185 179-7217 179-7217 179-7219 179-7221 179-7226
179-7228 180-7236 180-7238 180-7240 180-7242 180-7244 180-7246 180-7248 180-7250
180-7252 180-7254 180-7256 180-7258 190-7496 193-7557 193-7559 193-7565
LG.ARG = 000010 #22-861
LG.MAR = 000020 #22-862
LG.MNT = 000004 #22-860 22-868 54-2352 174-7027 174-7029 174-7031 174-7045 174-7060 174-7064
174-7074 174-7078 182-7366 183-7373 183-7375 185-7403 185-7405 185-7407 185-7409
185-7411 185-7413 185-7415 185-7417 185-7419 185-7421 185-7423 189-7463 189-7465
189-7467 189-7469 189-7471 189-7473 189-7475 190-7482 190-7484 190-7492 190-7506
190-7512 193-7551 193-7579
LG.MOD = 000040 #22-863
LG.NUL = 000000 #22-857
LG.OPR = 000001 #22-858 22-867 174-7013 174-7015 174-7017 174-7025 174-7041 174-7043 174-7047
174-7049 174-7051 174-7054 174-7056 174-7062 174-7066 174-7068 174-7070 174-7076
174-7080 174-7082 175-7093 175-7095 175-7097 175-7099 175-7101 176-7114 176-7116
176-7118 176-7120 176-7122 177-7129 177-7131 177-7133 177-7135 177-7137 178-7179
178-7191 178-7202 178-7204 178-7206 178-7208 178-7210 179-7219 186-7430 186-7432
187-7439 187-7441 187-7443 187-7445 188-7452 188-7454 188-7456 190-7486 190-7494
190-7498 190-7500 190-7504 190-7510 193-7555 193-7561 193-7563 193-7567 193-7571
193-7577 193-7585
LG.PRG = 000002 #22-859 22-867 54-2345 174-7019 174-7021 174-7033 174-7039 174-7058 174-7072
174-7084 174-7086 176-7108 176-7110 176-7112 178-7144 178-7146 178-7148 178-7150
178-7152 178-7154 178-7156 178-7159 178-7161 178-7167 178-7169 178-7171 178-7173
178-7175 178-7177 178-7181 178-7183 178-7187 178-7189 178-7193 178-7194 178-7196
178-7198 178-7200 184-7382 184-7384 184-7386 184-7388 184-7390 184-7392 184-7394
184-7396 190-7488 190-7490 190-7502 190-7508 190-7512 190-7515 192-7542 192-7544
193-7553 193-7569 193-7573 193-7575 193-7579 193-7582
LG.PRM = 000003 #22-867 22-868 179-7221
LG.RNG = 000100 #22-864
LG.RPT = 000400 #22-866 159-6527 174-7013 174-7017 174-7019 174-7021 174-7025 174-7027 174-7029
174-7031 174-7033 174-7039 174-7051 174-7058 174-7066 174-7072 174-7074 174-7084
175-7093 175-7095 175-7097 175-7099 175-7101 176-7108 176-7110 176-7112 176-7114
176-7116 176-7118 176-7120 176-7122 177-7129 177-7131 177-7133 177-7135 177-7137
178-7144 178-7146 178-7148 178-7150 178-7152 178-7154 178-7156 178-7159 178-7161
178-7163 178-7167 178-7169 178-7171 178-7173 178-7175 178-7177 178-7179 178-7181
178-7183 178-7185 178-7187 178-7189 178-7191 178-7193 178-7194 178-7196 178-7198
178-7200 178-7202 178-7204 178-7206 178-7208 178-7210 184-7382 184-7384 184-7386
184-7388 184-7390 184-7392 184-7394 184-7396 185-7403 185-7405 185-7407 185-7409
185-7411 185-7413 185-7415 185-7417 185-7419 185-7421 185-7423 190-7484 190-7492
190-7500 190-7506 192-7542 192-7544 193-7553 193-7557 193-7573
LG.STR = 000200 #22-865
LOAD11 = 000004 #87-3839
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 20
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
LOGLUN = 000004 #21-823 72-3204 72-3207 72-3210 74-3303 74-3314 85-3784 160-6593
LOGMSG 001557 RG 188-7452 #188-7452 188-7452
LOKFLF 001656 R 71-3138 71-3143 #71-3149
LOKFNA 000040 R 71-3137 #71-3155 71-3158 71-3159 71-3160
LOKFNB = 000066 R *71-3136 #71-3160
LOKIOF = 000042 R *71-3129 *71-3132 #71-3158
LOKLUN = 000044 R *71-3135 #71-3159
LOOKUP = 000076 #29-1171
LPTMSG 001563 RG 188-7454 #188-7454 188-7454
LSH = 000242 #29-1173
LSHC = 000246 #29-1174
LSTLUN = 000003 #21-822 260-10112
MAP = 000257 #29-1176
MARMSG 001265 RG 180-7240 #180-7240 180-7240
MAYMSG 001301 RG 180-7244 #180-7244 180-7244
MBZTAB 004212 R 93-4030 #94-4083
MCRMSG 000535 RG 174-7047 #174-7047 174-7047
MEMMSG 001670 RG 190-7498 #190-7498 190-7498 193-7567 193-7567
MGNMSG 001521 RG 185-7415 #185-7415 185-7415
MMSG 000514 RG 174-7043 #174-7043 174-7043
MNTMSG 001170 RG 179-7217 #179-7217 179-7217 187-7439 187-7439
MOVE = 000200 #29-1178
MOVEI = 000201 #29-1179
MOVEM = 000202 #29-1180
MOVES = 000203 #29-1181
MOVM = 000214 #29-1183
MOVMI = 000215 #29-1184
MOVMM = 000216 #29-1185
MOVMS = 000217 #29-1186
MOVN = 000210 #29-1188
MOVNI = 000211 #29-1189
MOVNM = 000212 #29-1190
MOVNS = 000213 #29-1191
MOVS = 000204 #29-1193
MOVSI = 000205 #29-1194
MOVSM = 000206 #29-1195
MOVSS = 000207 #29-1196
MPE11 = 001000 #87-3839
MQMSG 001043 RG 178-7161 #178-7161 178-7161
MRAERM 002415 R #181-7325 181-7325
MRHERM 002455 R #181-7326 181-7326
MRKMSG 000516 RG 174-7045 #174-7045 174-7045
MUL = 000224 #29-1198
MULB = 000227 #29-1199
MULI = 000225 #29-1200
MULM = 000226 #29-1201
M.KTAE = 000010 #91-3973
M.KTEF = 000002 #91-3973
M.KTMG = 000004 #91-3973
M.KTUN = 000006 #91-3973
M.PARQ = ****** GX 160-6597
NDIERM 002521 R #181-7328 181-7328
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 21
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
NEBMSG 000122 R 62-2661 #63-2683
NERERM 002551 R #181-7329 181-7329
NORERM 002613 R #181-7330 181-7330
NOTMSG 001677 RG 190-7500 #190-7500 190-7500
NOVMSG 001350 RG 180-7256 #180-7256 180-7256
NPIERM 002653 R #181-7331 181-7331
NRMMSG 001441 RG 185-7403 #185-7403 185-7403
NSFERM 002707 R #181-7332 181-7332
NSKERM 004220 R #191-7535 191-7535
NSTERM 002732 R #181-7333 181-7333
NTIERM 002755 R #181-7334 181-7334
NULMSG 000364 RG 174-7013 #174-7013 174-7013
NULSTP = 000040 #87-3839
NUPE = 000002 #87-3839
NXTMSG 000750 RG 175-7097 #175-7097 175-7097 176-7118 176-7118 177-7133 177-7133 178-7206 178-7206
OAIERM 003005 R #181-7336 181-7336
OCTMSG 001340 RG 180-7254 #180-7254 180-7254
OFCERM 003035 R #181-7337 181-7337
OFFMSG 000044 RG #39-1741
OFSMSG 001703 RG 190-7502 #190-7502 190-7502 193-7569 193-7569
ONMSG 000041 RG #39-1739
OPEACC 000160 R 73-3243 #73-3253 73-3256 73-3257 73-3258
OPEATT = 000210 R *73-3241 *73-3242 #73-3265
OPEFID = 000174 R *73-3240 #73-3258
OPEFOF 001776 R 73-3244 #73-3247
OPEFUN = 000162 R *73-3238 #73-3256
OPELUN = 000164 R *73-3239 #73-3257
OPEN = 000050 #29-1203
OPERAT 000206 R 73-3254 #73-3260 73-3265
OPRMSG 001204 RG 179-7219 #179-7219 179-7219 187-7441 187-7441
OR = 000434 #29-1205
ORB = 000437 #29-1206
ORCA = 000454 #29-1208
ORCAB = 000457 #29-1209
ORCAI = 000455 #29-1210
ORCAM = 000456 #29-1211
ORCB = 000470 #30-1213
ORCBB = 000473 #30-1214
ORCBI = 000471 #30-1215
ORCBM = 000472 #30-1216
ORCM = 000464 #30-1218
ORCMB = 000467 #30-1219
ORCMI = 000465 #30-1220
ORCMM = 000466 #30-1221
ORI = 000435 #30-1223
ORM = 000436 #30-1224
OUT = 000057 #30-1226
OUTBUF = 000065 #30-1227
OUTMSG 001712 RG 190-7504 #190-7504 190-7504 193-7571 193-7571
OUTPUT = 000067 #30-1228
PAG = 000010 #7-247
PAGMSG 001435 RG 184-7394 #184-7394 184-7394
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 22
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
PARERC 000662 R 58-2538 58-2538 59-2550 59-2550 59-2561 59-2561 60-2586 60-2586 #61-2605
61-2621 61-2621 62-2642 62-2642
PARERX 000506 R #58-2539 59-2572 60-2594 62-2665
PARMSG 000011 RG #39-1731 61-2606
PARNAM 000021 RG 35-1486 #39-1733 156-6440 158-6513 163-6669
PARUEC 000734 R 58-2531 #61-2618
PAR$$E = 000000 #1-51 39-1730
PAR$$K = 000126 #1-55 39-1730
PAR$$V = 000016 #1-50 39-1730
PCMSG 001046 RG 178-7163 #178-7163 178-7163
PC.AFI = 000020 #13-511
PC.AT0 = 000004 #13-513
PC.AT1 = 000010 #13-512
PC.BIS = 000400 #13-507
PC.CY0 = 004000 #13-504
PC.CY1 = 002000 #13-505
PC.FOV = 001000 #13-506
PC.FUF = 000002 #13-514
PC.LIP = 000040 #13-510
PC.NDV = 000001 #13-515
PC.OVF = 010000 #13-503
PC.UIO = 000100 #13-509
PC.USR = 000200 #13-508
PERCLR = 001000 #87-3839
PE.ALL = 000037 #9-339
PE.CES = 000001 #9-334 9-339
PE.CRM = 000004 #9-336 9-339
PE.DRM = 000002 #9-335 9-339
PE.FMP = 000010 #9-337 9-339
PE.FSS = 000020 #9-338 9-339
PHYS = 100000 #87-3839
PI = 000004 #7-246
PIDENT = 000000 #87-3839
PIMSG 001127 RG 178-7187 #178-7187 178-7187 184-7396 184-7396
POP = 000262 #30-1230
POPJ = 000263 #30-1231
PRGMSG 001215 RG 179-7221 #179-7221 179-7221 187-7443 187-7443
PRI7 = 000340 #87-3839
PRMFM 002306 R *244-9463 244-9464 #244-9495
PROMPT 000030 RG #39-1735 163-6681
PROPNT = 000021 #87-3839
PRTOFF = 004000 #87-3839
PRVMSG 000755 RG 175-7099 #175-7099 175-7099 176-7120 176-7120 177-7135 177-7135 178-7208 178-7208
PR0 = 000000 #87-3839
PR1 = 000040 #87-3839
PR2 = 000100 #87-3839
PR3 = 000140 #87-3839
PR4 = 000200 #87-3839
PR5 = 000240 #87-3839
PR6 = 000300 #87-3839
PR7 = 000340 #87-3839
PS = 177776 #87-3839 160-6598 *160-6598 *160-6603
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 23
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
PSTMSG 001721 RG 190-7506 #190-7506 190-7506 193-7573 193-7573
PSWW1 = 000005 #87-3839
PSWW10 = 000014 #87-3839
PSWW11 = 000015 #87-3839
PSWW12 = 000016 #87-3839
PSWW13 = 000017 #87-3839
PSWW2 = 000006 #87-3839
PSWW3 = 000007 #87-3839
PSWW4 = 000010 #87-3839
PSWW5 = 000011 #87-3839
PSWW6 = 000012 #87-3839
PSWW7 = 000013 #87-3839
PS.NRM = 001416 #16-641 143-5956
PTLERM 003065 R #181-7339 181-7339
PTOATM 000270 R 68-2876 #68-2895
PTRTEM 000151 R 64-2716 #67-2838
PTRTHM 000221 R 67-2823 #67-2840
PULSE = 000020 #87-3839
PUSH = 000261 #30-1233
PUSHJ = 000260 #30-1234
QRESMS 000552 RG 174-7054 #174-7054 174-7054
QSAVMS 000560 RG 174-7056 #174-7056 174-7056
QSIZE = 000023 #87-3839
QTRMSG 001542 RG 185-7421 #185-7421 185-7421
QUTMSG 000701 RG 174-7080 #174-7080 174-7080
Q.BYCT = 000016 #21-815 224-8712 260-10106 260-10115
Q.IBUF = 000014 #21-813
Q.IOAE = 000012 #70-3093 #71-3156 #72-3204 #72-3207 #72-3210 #73-3254 #74-3314 #75-3367 #224-8709
#260-10103 #260-10112 #260-10121 #260-10126
Q.IOEF = 000006 #70-3093 #71-3156 #72-3204 #72-3207 #72-3210 #73-3254 #74-3314 #75-3367 #224-8709
#260-10103 #260-10112 #260-10121 #260-10126
Q.IOFN = 000002 #70-3093 #71-3156 71-3158 #72-3204 #72-3207 #72-3210 #73-3254 73-3256 #74-3314
#75-3367 75-3369 #224-8709 #260-10103 #260-10112 #260-10121 #260-10126
Q.IOLU = 000004 #70-3093 70-3095 #71-3156 71-3159 #72-3204 #72-3207 #72-3210 #73-3254 73-3257
#74-3314 #75-3367 75-3370 #224-8709 #260-10103 #260-10112 #260-10121 #260-10126
Q.IOPL = 000014 #21-812 21-813 21-814 21-815 21-816 #70-3093 70-3096 #71-3156 71-3160
#72-3204 #72-3207 #72-3210 #73-3254 73-3258 #74-3314 #75-3367 75-3371 #224-8709
224-8711 #260-10103 260-10105 #260-10112 260-10114 #260-10121 #260-10126
Q.IOPR = 000007 #70-3093 #71-3156 #72-3204 #72-3207 #72-3210 #73-3254 #74-3314 #75-3367 #224-8709
#260-10103 #260-10112 #260-10121 #260-10126
Q.IOSB = 000010 #70-3093 #71-3156 #72-3204 #72-3207 #72-3210 #73-3254 #74-3314 #75-3367 #224-8709
#260-10103 #260-10112 #260-10121 #260-10126
Q.OBUF = 000014 #21-814
Q.OVFC = 000020 #21-816 260-10107 260-10116
Q0 000126 RG #35-1529
Q1 000134 RG #35-1530
Q2 000142 RG #35-1531
Q3 000150 RG #35-1532
RAMIS0 = 010000 #87-3839
RDCPT1 004270 R 129-5372 #131-5437
RDCPT2 004250 R 130-5391 #130-5418
RDCPT3 004260 R 129-5373 130-5388 #130-5426
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 24
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
RDCRME 006504 R 134-5569 #134-5596
REAFRD 002570 R 80-3576 80-3578 #80-3585
REGMSG 001132 RG 178-7189 #178-7189 178-7189
REGTAB 007240 R 216-8352 #217-8375
RELEAS = 000071 #30-1236
REMMSG 001230 RG 179-7226 #179-7226 179-7226
RENAME = 000055 #30-1237
REPIRC 011122 R 172-6944 #172-6950
RESETT 004334 R 141-5832 #141-5858
RESMSG 000566 RG 174-7058 #174-7058 174-7058
RFMAD0 = 100000 #87-3839
RFMAD1 = 040000 #87-3839
RFMAD2 = 020000 #87-3839
RFMAD3 = 010000 #87-3839
RGDTEN = 000310 RG #95-4113
RLDMSG 001735 RG 190-7508 #190-7508 190-7508 193-7575 193-7575
RM = 000010 #87-3839
RMSG 000541 RG 174-7049 #174-7049 174-7049
ROT = 000241 #30-1239
ROTC = 000245 #30-1240
RPMERM 003115 R #181-7341 181-7341
RPTMSG 000543 RG 174-7051 #174-7051 174-7051 190-7510 190-7510 193-7577 193-7577
RSTEND = 004342 R 141-5844 #141-5865
RSTMSG 000574 RG 174-7060 #174-7060 174-7060
RTYMSG 001744 RG 190-7512 #190-7512 190-7512 193-7579 193-7579
RUNMSG 000604 RG 174-7062 #174-7062 174-7062
SAVMSG 000610 RG 174-7064 #174-7064 174-7064
SBRMSG 001161 RG 178-7198 #178-7198 178-7198
SCD = 000040 #87-3839
SCFERM 003155 R #181-7343 181-7343
SCRMSG 001165 RG 178-7200 #178-7200 178-7200
SEPMSG 001326 RG 180-7252 #180-7252 180-7252
SETA = 000424 #30-1242
SETAB = 000427 #30-1243
SETAI = 000425 #30-1244
SETAM = 000426 #30-1245
SETCA = 000450 #30-1247
SETCAB = 000453 #30-1248
SETCAI = 000451 #30-1249
SETCAM = 000452 #30-1250
SETCM = 000460 #30-1252
SETCMB = 000463 #30-1253
SETCMI = 000461 #30-1254
SETCMM = 000462 #30-1255
SETM = 000414 #31-1257
SETMB = 000417 #31-1258
SETMI = 000415 #31-1259
SETMM = 000416 #31-1260
SETMSG 000615 RG 174-7066 #174-7066 174-7066
SETO = 000474 #31-1262
SETOB = 000477 #31-1263
SETOI = 000475 #31-1264
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 25
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
SETOM = 000476 #31-1265
SETSTS = 000060 #31-1267
SETZ = 000400 #31-1269
SETZB = 000403 #31-1270
SETZI = 000401 #31-1271
SETZM = 000402 #31-1272
SHOMSG 000621 RG 174-7068 #174-7068 174-7068
SHUMSG 000626 RG 174-7070 #174-7070 174-7070
SKIERM 003204 R #181-7344 181-7344
SKIP = 000330 #31-1274
SKIPA = 000334 #31-1275
SKIPE = 000332 #31-1276
SKIPG = 000337 #31-1277
SKIPGE = 000335 #31-1278
SKIPL = 000331 #31-1279
SKIPLE = 000333 #31-1280
SKIPN = 000336 #31-1281
SLOMSG 001552 RG 185-7423 #185-7423 185-7423
SOJ = 000360 #31-1283
SOJA = 000364 #31-1284
SOJE = 000362 #31-1285
SOJG = 000367 #31-1286
SOJGE = 000365 #31-1287
SOJL = 000361 #31-1288
SOJLE = 000363 #31-1289
SOJN = 000366 #31-1290
SOS = 000370 #31-1292
SOSA = 000374 #31-1293
SOSE = 000372 #31-1294
SOSG = 000377 #31-1295
SOSGE = 000375 #31-1296
SOSL = 000371 #31-1297
SOSLE = 000373 #31-1298
SOSN = 000376 #31-1299
SPCEST 001646 R 62-2646 #62-2670
SPCMSG 001403 RG 183-7373 #183-7373 183-7373
SPFERM 003261 R #181-7345 181-7345
SSTLEN = 000010 G #36-1667
SSTTBE = 000334 RG #36-1668 64-2713
STAMSG 002124 R 217-8378 #217-8389
STAT = 174434 #87-3839
STATO = 000061 #31-1301
STATUS = 000022 #31-1302 #87-3839
STATZ = 000063 #31-1303
STPCI 004242 R #117-4985 117-4990
STRMSG 000637 RG 174-7072 #174-7072 174-7072
STSW1 = ****** GX *160-6600
STUCAE 007454 R 152-6210 #152-6231
STUUNL 007462 R 152-6228 #152-6234
ST.CED = 000100 #12-456 12-471
ST.CLE = 000001 #12-469 12-471
ST.CTD = 040000 #12-441
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 26
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
ST.CTE = 010000 #12-445 12-471
ST.DW1 = 002000 #12-448
ST.DXD = 000004 #12-464
ST.EBS = 000100 #12-455
ST.EDB = 004000 #12-446
ST.EPE = 000020 #12-459 12-471 56-2423
ST.IDS = 000010 #12-463
ST.IEN = 000040 #12-458
ST.ION = 000001 #12-468
ST.MBZ = 000000 #12-473 94-4086
ST.MOD = 000010 #12-461
ST.MPE = 001000 #12-449 12-471
ST.NST = 000040 #12-457
ST.RIZ = 010000 #12-444
ST.RST = 011121 #12-471
ST.SEP = 000004 #12-465
ST.STE = 000002 #12-467
ST.TED = 000200 #12-453
ST.TER = 000002 #12-466
ST.TXD = 100000 #12-439
ST.TXE = 020000 #12-442
ST.XDB = 000400 #12-451
SUB = 000274 #32-1305
SUBB = 000277 #32-1306
SUBI = 000275 #32-1307
SUBM = 000276 #32-1308
SWPMSG 000645 RG 174-7074 #174-7074 174-7074
SWR = 177570 #87-3839
SWSLLT = 100000 #87-3839
SXCT = 000106 #32-1310
SZIERM 003311 R #181-7346 181-7346
TAAERM 003345 R #181-7348 181-7348
TAKMSG 000653 RG 174-7076 #174-7076 174-7076
TC.CON = 000377 #22-875
TC.CTC = 000002 #22-872 50-2223 66-2796
TC.ERR = 000000 #22-874 47-2119 49-2190 49-2193 51-2261 54-2367 56-2429 70-3080 70-3082
71-3150 72-3198 73-3248 74-3308 75-3361 80-3590 85-3799 88-3878 94-4076
97-4178 101-4316 101-4320 101-4323 101-4326 104-4456 106-4511 108-4608 111-4709
115-4887 117-4982 134-5597 152-6232 152-6235 155-6402 159-6552 167-6805 167-6808
167-6811 172-6951 199-7761 224-8699 224-8702 227-8819 229-8904 230-8981 236-9214
237-9254 239-9316 239-9319
TC.RST = 000001 #22-873
TDC = 000650 #32-1312
TDCA = 000654 #32-1313
TDCE = 000652 #32-1314
TDCN = 000656 #32-1315
TDMSG0 000345 R 166-6783 #167-6816
TDN = 000610 #32-1317
TDNA = 000614 #32-1318
TDNE = 000612 #32-1319
TDNN = 000616 #32-1320
TDO = 000670 #32-1322
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 27
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
TDOA = 000674 #32-1323
TDOE = 000672 #32-1324
TDON = 000676 #32-1325
TDZ = 000630 #32-1327
TDZA = 000634 #32-1328
TDZE = 000632 #32-1329
TDZN = 000636 #32-1330
TENAD1 = 174410 #87-3839
TENAD2 = 174412 #87-3839
TENMSG 001005 RG 176-7112 #176-7112 176-7112 178-7191 178-7191 186-7432 186-7432 192-7542 192-7542
TFRMSG 002014 R 213-8258 #214-8303
TFWMSG 002031 R 213-8265 #214-8305
TFXMSG 002046 R 213-8272 #214-8307
THSMSG 000766 RG 175-7101 #175-7101 175-7101 176-7122 176-7122 177-7137 177-7137 178-7210 178-7210
TLC = 000641 #32-1332
TLCA = 000645 #32-1333
TLCE = 000643 #32-1334
TLCN = 000647 #32-1335
TLN = 000601 #32-1337
TLNA = 000605 #32-1338
TLNE = 000603 #32-1339
TLNN = 000607 #32-1340
TLO = 000661 #32-1342
TLOA = 000665 #32-1343
TLOE = 000663 #32-1344
TLON = 000667 #32-1345
TLZ = 000621 #32-1347
TLZA = 000625 #32-1348
TLZE = 000623 #32-1349
TLZN = 000627 #32-1350
TOBM = 000004 #87-3839
TOIP = 000002 #87-3839
TOIT = 000001 #87-3839
TORERM 003402 R #181-7349 181-7349
TO10 = 000200 #87-3839
TO10AD = 174420 #87-3839
TO10BC = 174414 #87-3839
TO10BM = 000001 #87-3839
TO10DB = 000400 #87-3839
TO10DN = 100000 #87-3839
TO10DT = 174424 #87-3839
TO10ER = 020000 #87-3839
TO11 = 000100 #87-3839
TO11AD = 174422 #87-3839
TO11BC = 174416 #87-3839
TO11BM = 020000 #87-3839
TO11DB = 004000 #87-3839
TO11DN = 000200 #87-3839
TO11DT = 174426 #87-3839
TO11ER = 000002 #87-3839
TPDDCK 011364 R 198-7712 #199-7760
TPDDVD 007232 R #197-7699 198-7727
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 28
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
TPDDVS 007224 R #197-7697 198-7726
TPDRMN 007216 R #197-7695 198-7715 198-7725 199-7753
TRADDR 007250 R 219-8446 219-8457 #220-8478
TRC = 000640 #32-1352
TRCA = 000644 #32-1353
TRCE = 000642 #32-1354
TRCN = 000646 #32-1355
TRDATA 007256 R 219-8451 219-8461 #220-8480
TRKMSG 001752 RG 190-7515 #190-7515 190-7515 193-7582 193-7582
TRN = 000600 #33-1357
TRNA = 000604 #33-1358
TRNE = 000602 #33-1359
TRNN = 000606 #33-1360
TRO = 000660 #33-1362
TROA = 000664 #33-1363
TROE = 000662 #33-1364
TRON = 000666 #33-1365
TRZ = 000620 #33-1367
TRZA = 000624 #33-1368
TRZE = 000622 #33-1369
TRZN = 000626 #33-1370
TR.ALL = 000077 #13-498
TR.DEP = 000020 #13-496 13-498 99-4257
TR.DTE = 000040 #13-497 13-498 94-4065
TR.EXM = 000010 #13-495 13-498 99-4241
TR.FRD = 000002 #13-493 13-498 106-4504
TR.FWR = 000004 #13-494 13-498 108-4599
TR.FXC = 000001 #13-492 13-498 111-4701
TSC = 000651 #33-1372
TSCA = 000655 #33-1373
TSCAMB 010746 R 165-6757 #167-6803
TSCE = 000653 #33-1374
TSCN = 000657 #33-1375
TSCNSK 010760 R 165-6766 #167-6807
TSCWRM 010766 R 165-6769 #167-6810
TSN = 000611 #33-1377
TSNA = 000615 #33-1378
TSNE = 000613 #33-1379
TSNN = 000617 #33-1380
TSO = 000671 #33-1382
TSOA = 000675 #33-1383
TSOE = 000673 #33-1384
TSON = 000677 #33-1385
TSZ = 000631 #33-1387
TSZA = 000635 #33-1388
TSZE = 000633 #33-1389
TSZN = 000637 #33-1390
TTCALL = 000051 #33-1392
TTYMSG 001567 RG 188-7456 #188-7456 188-7456
TT.OUT = ****** GX 160-6600
TYODIE 015766 R 257-9993 257-9995 257-9997 257-9999 257-10006 257-10008 #258-10028
UBRMSG 001144 RG 178-7193 #178-7193 178-7193
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 29
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
UCDMSG 001761 RG 192-7544 #192-7544 192-7544
UECMSG 000060 R 61-2632 #61-2636
UECMSP 001644 R 61-2620 #61-2631
UGETF = 000073 #33-1394
UJEN = 000100 #33-1396
UNASG1 = 000032 #87-3839
UNASG2 = 000033 #87-3839
UNASG3 = 000034 #87-3839
UNASG4 = 000035 #87-3839
UNASG5 = 000036 #87-3839
UNASG6 = 000037 #87-3839
UNLERM 003432 R #181-7351 181-7351
UNMMSG 000660 RG 174-7078 #174-7078 174-7078
USETI = 000074 #33-1398
USETO = 000075 #33-1399
USRMSG 001237 RG 179-7228 #179-7228 179-7228 187-7445 187-7445
VERMSG 002004 RG 193-7585 #193-7585 193-7585
VFYERM 003470 R #181-7353 181-7353
VF.DSP = 000060 #21-830
VF.FFD = 000061 #21-831
VF.INT = 000000 #21-828 260-10103 260-10112
VF.OVR = 000053 #21-832
VF.PRM = 000044 #21-833
VF.SSP = 000040 #21-829
VMAMSG 001150 RG 178-7194 #178-7194 178-7194
VMHMSG 001154 RG 178-7196 #178-7196 178-7196
WEP = 000010 #87-3839
WHAMSG 000706 RG 174-7082 #174-7082 174-7082
WRCRME 007710 R 155-6372 #155-6401
WRIFWT 003326 R 85-3785 85-3794 #85-3798
WRMERM 003524 R #181-7355 181-7355
XCT = 000256 #33-1401
XCTMSG 000713 RG 174-7084 #174-7084 174-7084
XOR = 000430 #33-1403
XORB = 000433 #33-1404
XORI = 000431 #33-1405
XORM = 000432 #33-1406
XR = 000000 #117-4986 117-4986
XTOERM 003635 R #181-7359 181-7359
YORERM 003605 R #181-7357 181-7357
ZERMSG 000717 RG 174-7086 #174-7086 174-7086
ZSTOP = 040000 #87-3839
$DIV = ****** GX 259-10060 259-10060
$DSW = ****** GX 50-2219 100-4285
$$ = 000037 #47-2103 47-2103 #47-2109 47-2109 #48-2146 48-2146 #51-2254 51-2254 #53-2314
53-2314 #56-2422 56-2422 #58-2538 58-2538 #59-2550 59-2550 #59-2555 59-2555
#59-2561 59-2561 #59-2565 59-2565 #59-2568 59-2568 #59-2571 59-2571 #60-2586
60-2586 #60-2591 60-2591 #60-2593 60-2593 #61-2607 61-2607 #61-2609 61-2609
#61-2611 61-2611 #61-2613 61-2613 #61-2614 61-2614 #61-2621 61-2621 #61-2623
61-2623 #62-2642 62-2642 #62-2643 62-2643 #62-2651 62-2651 #62-2652 62-2652
#62-2653 62-2653 #62-2662 62-2662 #64-2715 64-2715 #64-2717 64-2717 #64-2719
64-2719 #64-2720 64-2720 #66-2786 66-2786 #66-2792 66-2792 #66-2806 66-2806
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 30
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
#66-2808 66-2808 #67-2824 67-2824 #67-2825 67-2825 #67-2831 67-2831 #68-2872
68-2872 #68-2875 68-2875 #68-2877 68-2877 #68-2879 68-2879 #68-2880 68-2880
#68-2885 68-2885 #71-3133 71-3133 #71-3134 71-3134 #74-3307 74-3307 #77-3447
77-3447 #77-3453 77-3453 #77-3462 77-3462 #77-3464 77-3464 #78-3507 78-3507
#79-3540 79-3540 #80-3589 80-3589 #81-3637 81-3637 #81-3641 81-3641 #82-3681
82-3681 #83-3712 83-3712 #84-3750 84-3750 #84-3754 84-3754 #84-3756 84-3756
#85-3795 85-3795 #88-3869 88-3869 #88-3873 88-3873 #89-3906 89-3906 #89-3916
89-3916 #90-3949 90-3949 #97-4157 97-4157 #97-4162 97-4162 #97-4164 97-4164
#99-4234 99-4234 #99-4243 99-4243 #99-4250 99-4250 #99-4259 99-4259 #100-4289
100-4289 #100-4292 100-4292 #103-4398 103-4398 #103-4400 103-4400 #104-4417 104-4417
#104-4419 104-4419 #104-4420 104-4420 #104-4425 104-4425 #104-4428 104-4428 #104-4441
104-4441 #104-4447 104-4447 #104-4451 104-4451 #106-4506 106-4506 #108-4601 108-4601
#111-4703 111-4703 #113-4782 113-4782 #113-4785 113-4785 #113-4788 113-4788 #114-4837
114-4837 #114-4842 114-4842 #115-4850 115-4850 #115-4861 115-4861 #115-4874 115-4874
#115-4878 115-4878 #115-4879 115-4879 #116-4927 116-4927 #116-4930 116-4930 #117-4967
117-4967 #117-4969 117-4969 #117-4991 117-4991 #119-5027 119-5027 #119-5029 119-5029
#119-5038 119-5038 #119-5044 119-5044 #120-5085 120-5085 #120-5087 120-5087 #122-5117
122-5117 #122-5120 122-5120 #122-5126 122-5126 #122-5129 122-5129 #122-5134 122-5134
#124-5191 124-5191 #124-5197 124-5197 #124-5203 124-5203 #124-5207 124-5207 #124-5212
124-5212 #126-5250 126-5250 #126-5252 126-5252 #126-5258 126-5258 #126-5261 126-5261
#126-5265 126-5265 #126-5268 126-5268 #127-5307 127-5307 #127-5309 127-5309 #128-5318
128-5318 #128-5319 128-5319 #128-5321 128-5321 #128-5326 128-5326 #128-5333 128-5333
#128-5336 128-5336 #128-5338 128-5338 #129-5369 129-5369 #129-5377 129-5377 #132-5499
132-5499 #132-5501 132-5501 #134-5570 134-5570 #134-5572 134-5572 #134-5580 134-5580
#134-5585 134-5585 #134-5587 134-5587 #134-5590 134-5590 #134-5592 134-5592 #135-5627
135-5627 #135-5629 135-5629 #136-5666 136-5666 #136-5668 136-5668 #136-5673 136-5673
#137-5706 137-5706 #137-5710 137-5710 #138-5739 138-5739 #138-5742 138-5742 #139-5774
139-5774 #139-5783 139-5783 #141-5831 141-5831 #141-5833 141-5833 #141-5836 141-5836
#141-5837 141-5837 #141-5838 141-5838 #141-5839 141-5839 #141-5843 141-5843 #141-5848
141-5848 #142-5900 142-5900 #143-5950 143-5950 #143-5955 143-5955 #145-5993 145-5993
#145-5994 145-5994 #145-5997 145-5997 #145-5999 145-5999 #145-6003 145-6003 #146-6034
146-6034 #147-6063 147-6063 #147-6067 147-6067 #148-6097 148-6097 #150-6161 150-6161
#152-6212 152-6212 #152-6213 152-6213 #152-6215 152-6215 #152-6216 152-6216 #152-6219
152-6219 #153-6265 153-6265 #154-6303 154-6303 #154-6305 154-6305 #154-6308 154-6308
#155-6377 155-6377 #155-6385 155-6385 #155-6390 155-6390 #155-6393 155-6393 #155-6394
155-6394 #155-6396 155-6396 #155-6398 155-6398 #158-6514 158-6514 #159-6523 159-6523
#159-6525 159-6525 #159-6533 159-6533 #159-6534 159-6534 #159-6548 159-6548 #160-6587
160-6587 #160-6591 160-6591 #160-6594 160-6594 #160-6602 160-6602 #162-6658 162-6658
#163-6670 163-6670 #163-6678 163-6678 #163-6682 163-6682 #163-6694 163-6694 #163-6696
163-6696 #163-6699 163-6699 #165-6737 165-6737 #165-6738 165-6738 #165-6748 165-6748
#166-6778 166-6778 #166-6780 166-6780 #166-6782 166-6782 #166-6784 166-6784 #166-6792
166-6792 #166-6793 166-6793 #172-6941 172-6941 #172-6943 172-6943 #172-6945 172-6945
#172-6947 172-6947 #198-7708 198-7708 #198-7710 198-7710 #198-7711 198-7711 #199-7740
199-7740 #199-7742 199-7742 #199-7745 199-7745 #200-7805 200-7805 #207-8030 207-8030
#207-8033 207-8033 #207-8036 207-8036 #207-8054 207-8054 #207-8061 207-8061 #210-8162
210-8162 #210-8163 210-8163 #211-8175 211-8175 #211-8177 211-8177 #211-8178 211-8178
#211-8186 211-8186 #211-8188 211-8188 #211-8189 211-8189 #214-8282 214-8282 #214-8287
214-8287 #214-8290 214-8290 #214-8291 214-8291 #214-8292 214-8292 #214-8294 214-8294
#216-8350 216-8350 #216-8353 216-8353 #216-8354 216-8354 #216-8363 216-8363 #216-8369
216-8369 #218-8430 218-8430 #218-8435 218-8435 #219-8456 219-8456 #219-8458 219-8458
#219-8459 219-8459 #219-8460 219-8460 #219-8462 219-8462 #219-8463 219-8463 #219-8470
219-8470 #222-8574 222-8574 #222-8580 222-8580 #223-8625 223-8625 #223-8634 223-8634
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 31
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
#223-8639 223-8639 #223-8648 223-8648 #223-8649 223-8649 #226-8783 226-8783 #226-8784
226-8784 #227-8812 227-8812 #228-8850 228-8850 #228-8853 228-8853 #228-8854 228-8854
#228-8856 228-8856 #228-8858 228-8858 #228-8861 228-8861 #228-8863 228-8863 #229-8876
229-8876 #229-8883 229-8883 #229-8884 229-8884 #229-8885 229-8885 #230-8946 230-8946
#230-8959 230-8959 #230-8961 230-8961 #231-9035 231-9035 #232-9062 232-9062 #232-9065
232-9065 #233-9095 233-9095 #234-9130 234-9130 #234-9133 234-9133 #235-9173 235-9173
#236-9201 236-9201 #237-9232 237-9232 #237-9237 237-9237 #237-9238 237-9238 #237-9243
237-9243 #237-9246 237-9246 #237-9251 237-9251 #238-9294 238-9294 #238-9297 238-9297
#243-9420 243-9420 #244-9465 244-9465 #244-9473 244-9473 #244-9474 244-9474 #244-9478
244-9478 #244-9479 244-9479 #244-9480 244-9480 #244-9482 244-9482 #244-9483 244-9483
#249-9709 249-9709 #249-9714 249-9714 #251-9789 251-9789 #252-9811 252-9811 #252-9814
252-9814 #252-9816 252-9816 #253-9859 253-9859 #253-9863 253-9863 #253-9872 253-9872
#254-9901 254-9901 #256-9954 256-9954 #256-9956 256-9956 #257-10014 257-10014 #259-10060
259-10060 #259-10067 259-10067
$$A = 000000 #117-4986 117-4986
$$B = 000000 #117-4986 117-4986
$$C = 000002 #117-4986 117-4986
$$D = 000176 #117-4986 117-4986
$$E = 000017 #117-4986 117-4986
$$F = 000000 #117-4986 117-4986
$$PASS = 000000 174-7013 174-7015 174-7017 174-7019 174-7021 174-7023 174-7025 174-7027 174-7029
174-7031 174-7033 174-7039 174-7041 174-7043 174-7045 174-7047 174-7049 174-7051
174-7054 174-7056 174-7058 174-7060 174-7062 174-7064 174-7066 174-7068 174-7070
174-7072 174-7074 174-7076 174-7078 174-7080 174-7082 174-7084 174-7086 175-7093
175-7095 175-7097 175-7099 175-7101 176-7108 176-7110 176-7112 176-7114 176-7116
176-7118 176-7120 176-7122 177-7129 177-7131 177-7133 177-7135 177-7137 178-7144
178-7146 178-7148 178-7150 178-7152 178-7154 178-7156 178-7159 178-7161 178-7163
178-7167 178-7169 178-7171 178-7173 178-7175 178-7177 178-7179 178-7181 178-7183
178-7185 178-7187 178-7189 178-7191 178-7193 178-7194 178-7196 178-7198 178-7200
178-7202 178-7204 178-7206 178-7208 178-7210 179-7217 179-7219 179-7221 179-7226
179-7228 180-7236 180-7238 180-7240 180-7242 180-7244 180-7246 180-7248 180-7250
180-7252 180-7254 180-7256 180-7258 182-7366 183-7373 183-7375 184-7382 184-7384
184-7386 184-7388 184-7390 184-7392 184-7394 184-7396 185-7403 185-7405 185-7407
185-7409 185-7411 185-7413 185-7415 185-7417 185-7419 185-7421 185-7423 186-7430
186-7432 187-7439 187-7441 187-7443 187-7445 188-7452 188-7454 188-7456 189-7463
189-7465 189-7467 189-7469 189-7471 189-7473 189-7475 190-7482 190-7484 190-7486
190-7488 190-7490 190-7492 190-7494 190-7496 190-7498 190-7500 190-7502 190-7504
190-7506 190-7508 190-7510 190-7512 190-7515 192-7542 192-7544 193-7551 193-7553
193-7555 193-7557 193-7559 193-7561 193-7563 193-7565 193-7567 193-7569 193-7571
193-7573 193-7575 193-7577 193-7579 193-7582 193-7585 #193-7590
$$$AB = 000001 178-7167 #178-7167 178-7167
$$$ABO = 000001 174-7015 #174-7015 174-7015
$$$ACB = 000004 182-7366 #182-7366 182-7366 183-7375 #183-7375 183-7375 190-7482 #190-7482 190-7482
193-7551 #193-7551 193-7551
$$$AD = 000001 178-7144 #178-7144 178-7144
$$$ADX = 000001 178-7146 #178-7146 178-7146
$$$ALL = 000002 184-7382 #184-7382 184-7382 189-7463 #189-7463 189-7463
$$$APR = 000001 180-7242 #180-7242 180-7242
$$$AR = 000003 176-7108 #176-7108 176-7108 178-7148 #178-7148 178-7148 189-7465 #189-7465 189-7465
$$$ARG = 000006 #70-3088 70-3088 #70-3088 70-3088 #70-3088 70-3088 #70-3093 70-3093 #70-3093
70-3093 #70-3093 70-3093 #70-3093 70-3093 #70-3093 70-3093 #70-3093 70-3093
#70-3093 70-3093 #71-3156 71-3156 #71-3156 71-3156 #71-3156 71-3156 #71-3156
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 32
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
71-3156 #71-3156 71-3156 #71-3156 71-3156 #71-3156 71-3156 #72-3204 72-3204
#72-3204 72-3204 #72-3204 72-3204 #72-3204 72-3204 #72-3204 72-3204 #72-3207
72-3207 #72-3207 72-3207 #72-3207 72-3207 #72-3207 72-3207 #72-3207 72-3207
#72-3207 72-3207 #72-3207 72-3207 #72-3210 72-3210 #73-3254 73-3254 #73-3254
73-3254 #73-3254 73-3254 #73-3254 73-3254 #73-3254 73-3254 #73-3254 73-3254
#74-3314 74-3314 #74-3314 74-3314 #74-3314 74-3314 #74-3314 74-3314 #74-3314
74-3314 #75-3367 75-3367 #75-3367 75-3367 #75-3367 75-3367 #80-3575 80-3575
80-3575 80-3575 80-3575 80-3575 80-3575 80-3575 80-3575 80-3575 80-3575
80-3575 #85-3784 85-3784 85-3784 85-3784 85-3784 85-3784 85-3784 85-3784
85-3784 85-3784 85-3784 85-3784 #160-6595 160-6595 160-6595 160-6595 160-6595
160-6595 160-6595 160-6595 160-6595 160-6595 160-6595 160-6595 #224-8709 224-8709
#224-8709 224-8709 #224-8709 224-8709 #260-10103 260-10103 #260-10103 260-10103 #260-10103
260-10103 #260-10103 260-10103 #260-10112 260-10112 #260-10112 260-10112 #260-10112 260-10112
#260-10112 260-10112 #260-10121 260-10121 #260-10126 260-10126
$$$ARX = 000001 178-7150 #178-7150 178-7150
$$$AUG = 000001 180-7250 #180-7250 180-7250
$$$BR = 000001 178-7152 #178-7152 178-7152
$$$BRX = 000001 178-7154 #178-7154 178-7154
$$$CLK = 000002 190-7484 #190-7484 190-7484 193-7553 #193-7553 193-7553
$$$CLR = 000001 174-7017 #174-7017 174-7017
$$$CNT = 000001 174-7019 #174-7019 174-7019
$$$CON = 000002 190-7486 #190-7486 190-7486 193-7555 #193-7555 193-7555
$$$CPU = 000001 184-7384 #184-7384 184-7384
$$$CRA = 000001 178-7169 #178-7169 178-7169
$$$CRL = 000001 178-7171 #178-7171 178-7171
$$$CRM = 000002 185-7405 #185-7405 185-7405 189-7467 #189-7467 189-7467
$$$CTL = 000001 185-7409 #185-7409 185-7409
$$$DAT = 000002 190-7488 #190-7488 190-7488 193-7557 #193-7557 193-7557
$$$DCR = 000004 175-7093 #175-7093 175-7093 176-7114 #176-7114 176-7114 177-7129 #177-7129 177-7129
178-7202 #178-7202 178-7202
$$$DEC = 000001 180-7258 #180-7258 180-7258
$$$DEP = 000001 174-7021 #174-7021 174-7021
$$$DIS = 000001 174-7023 #174-7023 174-7023
$$$DPT = 000001 185-7407 #185-7407 185-7407
$$$DRA = 000001 178-7173 #178-7173 178-7173
$$$DRM = 000001 189-7469 #189-7469 189-7469
$$$DTE = 000002 178-7175 #178-7175 178-7175 184-7386 #184-7386 184-7386
$$$EBR = 000001 178-7177 #178-7177 178-7177
$$$EBS = 000001 178-7156 #178-7156 178-7156
$$$ELE = 000003 176-7110 #176-7110 176-7110 178-7179 #178-7179 178-7179 186-7430 #186-7430 186-7430
$$$ENB = 000001 189-7471 #189-7471 189-7471
$$$ERR = 000001 184-7388 #184-7388 184-7388
$$$EXA = 000001 174-7025 #174-7025 174-7025
$$$EXT = 000001 185-7411 #185-7411 185-7411
$$$FEB = 000001 180-7238 #180-7238 180-7238
$$$FER = 000001 178-7181 #178-7181 178-7181
$$$FLG = 000001 178-7183 #178-7183 178-7183
$$$FLT = 000002 190-7490 #190-7490 190-7490 193-7559 #193-7559 193-7559
$$$FM = 000002 178-7159 #178-7159 178-7159 189-7473 #189-7473 189-7473
$$$FRD = 000001 174-7027 #174-7027 174-7027
$$$FSS = 000002 189-7475 #189-7475 189-7475 190-7492 #190-7492 190-7492
$$$FUL = 000001 185-7417 #185-7417 185-7417
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 33
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
$$$FWR = 000001 174-7029 #174-7029 174-7029
$$$FXC = 000001 174-7031 #174-7031 174-7031
$$$GLB = ****** 70-3088 70-3088 70-3088 70-3088 70-3093 70-3093 70-3093 70-3093 70-3093
70-3093 70-3093 70-3093 71-3156 71-3156 71-3156 71-3156 71-3156 71-3156
71-3156 71-3156 72-3204 72-3204 72-3204 72-3204 72-3204 72-3204 72-3204
72-3204 72-3207 72-3207 72-3207 72-3207 72-3207 72-3207 72-3207 72-3207
72-3210 72-3210 72-3210 72-3210 72-3210 72-3210 72-3210 72-3210 73-3254
73-3254 73-3254 73-3254 73-3254 73-3254 73-3254 73-3254 74-3314 74-3314
74-3314 74-3314 74-3314 74-3314 74-3314 74-3314 75-3367 75-3367 75-3367
75-3367 75-3367 75-3367 75-3367 75-3367 91-3973 91-3973 91-3973 91-3973
91-3973 224-8709 224-8709 224-8709 224-8709 224-8709 224-8709 224-8709 224-8709
260-10103 260-10103 260-10103 260-10103 260-10103 260-10103 260-10103 260-10103 260-10112
260-10112 260-10112 260-10112 260-10112 260-10112 260-10112 260-10112 260-10121 260-10121
260-10121 260-10121 260-10121 260-10121 260-10121 260-10121 260-10126 260-10126 260-10126
260-10126 260-10126 260-10126 260-10126 260-10126
$$$HAR = 000001 193-7561 #193-7561 193-7561
$$$HLF = 000001 185-7419 #185-7419 185-7419
$$$HLT = 000001 174-7033 #174-7033 174-7033
$$$INC = 000006 175-7095 #175-7095 175-7095 176-7116 #176-7116 176-7116 177-7131 #177-7131 177-7131
178-7204 #178-7204 178-7204 190-7494 #190-7494 190-7494 193-7563 #193-7563 193-7563
$$$INI = 000002 174-7039 #174-7039 174-7039 184-7390 #184-7390 184-7390
$$$INT = 000001 185-7413 #185-7413 185-7413
$$$IO = 000001 184-7392 #184-7392 184-7392
$$$JAN = 000001 180-7236 #180-7236 180-7236
$$$JMP = 000001 174-7041 #174-7041 174-7041
$$$JUL = 000001 180-7248 #180-7248 180-7248
$$$JUN = 000001 180-7246 #180-7246 180-7246
$$$KL = 000001 178-7185 #178-7185 178-7185
$$$KLI = 000002 190-7496 #190-7496 190-7496 193-7565 #193-7565 193-7565
$$$LOG = 000001 188-7452 #188-7452 188-7452
$$$LPT = 000001 188-7454 #188-7454 188-7454
$$$M = 000001 174-7043 #174-7043 174-7043
$$$MAR = 000001 180-7240 #180-7240 180-7240
$$$MAY = 000001 180-7244 #180-7244 180-7244
$$$MCR = 000001 174-7047 #174-7047 174-7047
$$$MEM = 000002 190-7498 #190-7498 190-7498 193-7567 #193-7567 193-7567
$$$MGN = 000001 185-7415 #185-7415 185-7415
$$$MNT = 000002 179-7217 #179-7217 179-7217 187-7439 #187-7439 187-7439
$$$MQ = 000001 178-7161 #178-7161 178-7161
$$$MRK = 000001 174-7045 #174-7045 174-7045
$$$NOT = 000001 190-7500 #190-7500 190-7500
$$$NOV = 000001 180-7256 #180-7256 180-7256
$$$NRM = 000001 185-7403 #185-7403 185-7403
$$$NUL = 000001 174-7013 #174-7013 174-7013
$$$NXT = 000004 175-7097 #175-7097 175-7097 176-7118 #176-7118 176-7118 177-7133 #177-7133 177-7133
178-7206 #178-7206 178-7206
$$$OCT = 000001 180-7254 #180-7254 180-7254
$$$OFS = 000002 190-7502 #190-7502 190-7502 193-7569 #193-7569 193-7569
$$$OPR = 000002 179-7219 #179-7219 179-7219 187-7441 #187-7441 187-7441
$$$OST = 000014 #70-3088 70-3088 70-3088 #70-3088 70-3088 70-3088 #70-3088 70-3088 70-3088
#70-3088 #70-3093 70-3093 70-3093 #70-3093 70-3093 70-3093 #70-3093 70-3093
70-3093 #70-3093 70-3093 70-3093 #70-3093 70-3093 70-3093 #70-3093 70-3093
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 34
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
70-3093 #70-3093 70-3093 #71-3156 71-3156 71-3156 #71-3156 71-3156 71-3156
#71-3156 71-3156 71-3156 #71-3156 71-3156 71-3156 #71-3156 71-3156 71-3156
#71-3156 71-3156 71-3156 #71-3156 71-3156 #72-3204 72-3204 72-3204 #72-3204
72-3204 72-3204 #72-3204 72-3204 72-3204 #72-3204 72-3204 72-3204 #72-3204
72-3204 72-3204 #72-3204 72-3204 72-3204 #72-3204 72-3204 #72-3207 72-3207
72-3207 #72-3207 72-3207 72-3207 #72-3207 72-3207 72-3207 #72-3207 72-3207
72-3207 #72-3207 72-3207 72-3207 #72-3207 72-3207 72-3207 #72-3207 72-3207
#72-3210 72-3210 72-3210 #72-3210 72-3210 72-3210 #72-3210 72-3210 72-3210
#72-3210 72-3210 72-3210 #72-3210 72-3210 72-3210 #72-3210 72-3210 72-3210
#72-3210 72-3210 #73-3254 73-3254 73-3254 #73-3254 73-3254 73-3254 #73-3254
73-3254 73-3254 #73-3254 73-3254 73-3254 #73-3254 73-3254 73-3254 #73-3254
73-3254 73-3254 #73-3254 73-3254 #74-3314 74-3314 74-3314 #74-3314 74-3314
74-3314 #74-3314 74-3314 74-3314 #74-3314 74-3314 74-3314 #74-3314 74-3314
74-3314 #74-3314 74-3314 74-3314 #74-3314 74-3314 #75-3367 75-3367 75-3367
#75-3367 75-3367 75-3367 #75-3367 75-3367 75-3367 #75-3367 75-3367 75-3367
#75-3367 75-3367 75-3367 #75-3367 75-3367 75-3367 #75-3367 75-3367 #91-3973
91-3973 91-3973 #91-3973 91-3973 91-3973 #91-3973 91-3973 91-3973 #91-3973
91-3973 91-3973 #91-3973 #224-8709 224-8709 224-8709 #224-8709 224-8709 224-8709
#224-8709 224-8709 224-8709 #224-8709 224-8709 224-8709 #224-8709 224-8709 224-8709
#224-8709 224-8709 224-8709 #224-8709 224-8709 #260-10103 260-10103 260-10103 #260-10103
260-10103 260-10103 #260-10103 260-10103 260-10103 #260-10103 260-10103 260-10103 #260-10103
260-10103 260-10103 #260-10103 260-10103 260-10103 #260-10103 260-10103 #260-10112 260-10112
260-10112 #260-10112 260-10112 260-10112 #260-10112 260-10112 260-10112 #260-10112 260-10112
260-10112 #260-10112 260-10112 260-10112 #260-10112 260-10112 260-10112 #260-10112 260-10112
#260-10121 260-10121 260-10121 #260-10121 260-10121 260-10121 #260-10121 260-10121 260-10121
#260-10121 260-10121 260-10121 #260-10121 260-10121 260-10121 #260-10121 260-10121 260-10121
#260-10121 260-10121 #260-10126 260-10126 260-10126 #260-10126 260-10126 260-10126 #260-10126
260-10126 260-10126 #260-10126 260-10126 260-10126 #260-10126 260-10126 260-10126 #260-10126
260-10126 260-10126 #260-10126 260-10126
$$$OUT = 000002 190-7504 #190-7504 190-7504 193-7571 #193-7571 193-7571
$$$PAG = 000001 184-7394 #184-7394 184-7394
$$$PC = 000001 178-7163 #178-7163 178-7163
$$$PI = 000002 178-7187 #178-7187 178-7187 184-7396 #184-7396 184-7396
$$$PRG = 000002 179-7221 #179-7221 179-7221 187-7443 #187-7443 187-7443
$$$PRV = 000004 175-7099 #175-7099 175-7099 176-7120 #176-7120 176-7120 177-7135 #177-7135 177-7135
178-7208 #178-7208 178-7208
$$$PST = 000002 190-7506 #190-7506 190-7506 193-7573 #193-7573 193-7573
$$$QRE = 000001 174-7054 #174-7054 174-7054
$$$QSA = 000001 174-7056 #174-7056 174-7056
$$$QTR = 000001 185-7421 #185-7421 185-7421
$$$QUT = 000001 174-7080 #174-7080 174-7080
$$$R = 000001 174-7049 #174-7049 174-7049
$$$REG = 000001 178-7189 #178-7189 178-7189
$$$REM = 000001 179-7226 #179-7226 179-7226
$$$RES = 000001 174-7058 #174-7058 174-7058
$$$RLD = 000002 190-7508 #190-7508 190-7508 193-7575 #193-7575 193-7575
$$$RPT = 000003 174-7051 #174-7051 174-7051 190-7510 #190-7510 190-7510 193-7577 #193-7577 193-7577
$$$RST = 000001 174-7060 #174-7060 174-7060
$$$RTY = 000002 190-7512 #190-7512 190-7512 193-7579 #193-7579 193-7579
$$$RUN = 000001 174-7062 #174-7062 174-7062
$$$SAV = 000001 174-7064 #174-7064 174-7064
$$$SBR = 000001 178-7198 #178-7198 178-7198
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 35
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
$$$SCR = 000001 178-7200 #178-7200 178-7200
$$$SEP = 000001 180-7252 #180-7252 180-7252
$$$SET = 000001 174-7066 #174-7066 174-7066
$$$SHO = 000001 174-7068 #174-7068 174-7068
$$$SHU = 000001 174-7070 #174-7070 174-7070
$$$SLO = 000001 185-7423 #185-7423 185-7423
$$$SPC = 000001 183-7373 #183-7373 183-7373
$$$STR = 000001 174-7072 #174-7072 174-7072
$$$SWP = 000001 174-7074 #174-7074 174-7074
$$$TAK = 000001 174-7076 #174-7076 174-7076
$$$TEN = 000004 176-7112 #176-7112 176-7112 178-7191 #178-7191 178-7191 186-7432 #186-7432 186-7432
192-7542 #192-7542 192-7542
$$$THS = 000004 175-7101 #175-7101 175-7101 176-7122 #176-7122 176-7122 177-7137 #177-7137 177-7137
178-7210 #178-7210 178-7210
$$$TRK = 000002 190-7515 #190-7515 190-7515 193-7582 #193-7582 193-7582
$$$TTY = 000001 188-7456 #188-7456 188-7456
$$$T1 = 000006 #70-3088 70-3088 70-3088 #70-3088 70-3088 70-3088 #70-3088 70-3088 70-3088
#80-3575 80-3575 #85-3784 85-3784 #160-6595 160-6595
$$$UBR = 000001 178-7193 #178-7193 178-7193
$$$UCD = 000001 192-7544 #192-7544 192-7544
$$$UNM = 000001 174-7078 #174-7078 174-7078
$$$USR = 000002 179-7228 #179-7228 179-7228 187-7445 #187-7445 187-7445
$$$VER = 000001 193-7585 #193-7585 193-7585
$$$VMA = 000001 178-7194 #178-7194 178-7194
$$$VMH = 000001 178-7196 #178-7196 178-7196
$$$WHA = 000001 174-7082 #174-7082 174-7082
$$$XCT = 000001 174-7084 #174-7084 174-7084
$$$ZER = 000001 174-7086 #174-7086 174-7086
.ABRTC = ****** GX 174-7015
.ACBLK 000000 RG #35-1481
.APRWD 000002 RG #35-1483 35-1579
.ATCID 000460 RG 257-9992 #260-10120
.ATLMD = 000033 #21-839
.BRCLK = 005000 #87-3839
.BRMBC 003334 RG #88-3868
.BUFSZ = 001000 G #69-2952 69-2971 69-3008 80-3575 85-3784 85-3791
.BURST 003340 RG #88-3870 115-4878 115-4878
.CCMDN 000004 RG #35-1485 61-2610 *156-6440 *158-6513 *158-6516 *163-6669 166-6781
.CDIBC = 000412 R #224-8712
.CDIBP = 000410 R #224-8711
.CDINP 000374 RG 223-8641 #224-8708 224-8711 224-8712
.CDOBC = 000432 RG *223-8637 254-9903 *255-9939 257-10001 *258-10023 #260-10106
.CDOBP = 000430 RG *223-8636 257-10000 *258-10024 #260-10105
.CDOFC = 000434 RG #260-10107
.CDOUT 000414 RG 257-9994 #260-10102 260-10105 260-10106 260-10107
.CECLK = 004000 #87-3839
.CESCK 000000 RG #47-2099 97-4157 97-4157 100-4289 100-4289 147-6063 147-6063 159-6548 159-6548
.CHTAB 001502 RG #40-1775 48-2147 48-2154 49-2184 51-2249 52-2286 53-2315 59-2553 169-6868
223-8655 238-9288
.CIBFL = 000214 G #38-1695 224-8709
.CIBFR 000362 RG #38-1693 38-1695 223-8618 223-8632 223-8636 223-8645 224-8709
.CISTS 000006 RG #35-1487 223-8626 223-8633 223-8637 223-8643 223-8646 223-8650 224-8709
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 36
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
.CKARG 000070 RG #48-2145 228-8854 228-8854 228-8861 228-8861 230-8959 230-8959 236-9201 236-9201
.CKCOL 000130 RG #49-2182
.CKCTC 000166 RG #50-2217 165-6737 165-6737
.CKEOC 000214 RG #51-2247 156-6441 166-6778 166-6778 172-6945 172-6945
.CKEOS 000256 RG #52-2284 229-8884 229-8884
.CKOBJ 000300 RG #53-2313
.CKRNP 000316 RG #54-2343
.CKRUN 000326 RG #54-2348
.CKSYM 000374 RG 48-2146 48-2146 51-2254 51-2254 53-2314 53-2314 #55-2392 55-2395 165-6738
165-6738 228-8850 228-8850
.CLDFB 003370 RG #89-3905 122-5120 122-5120 128-5319 128-5319 141-5839 141-5839
.CLDFR 003374 RG #89-3907
.CLDFW 003404 RG 89-3906 89-3906 #89-3912 124-5203 124-5203 126-5252 126-5252 134-5587 134-5587
155-6394 155-6394
.CLKWD 000012 RG #35-1489 124-5192 *129-5380 130-5393 145-5996
.CLOSE 002114 RG 74-3307 74-3307 #75-3346 77-3462 77-3462 80-3589 80-3589 160-6587 160-6587
160-6594 160-6594
.CLRCM = ****** GX 174-7017
.CLRFF 003420 RG #90-3941 114-4842 114-4842 117-4967 117-4967 152-6212 152-6212
.CLRMR = 006000 #87-3839
.CLRUN = 010000 #87-3839
.CMDTB 004350 RG 158-6512 #174-7012
.CMNDL = 000430 G #38-1703 224-8665
.COBFL = 000204 G #38-1699 258-10025
.COBFR 000576 RG 35-1613 #38-1697 258-10024 258-10026 260-10103 260-10112
.COMEF = ****** GX *141-5851
.COMMA = 000054 #21-837
.COMND 001012 RG #38-1701 38-1703 163-6695
.CONBT = 012000 #87-3839
.CONTC = ****** GX 174-7019
.COSTS 000014 RG #35-1491 257-9996 260-10103
.CRAMA 000020 RG #35-1493 *135-5628
.CRAMR 000022 RG #35-1495 134-5574 134-5593
.CRAMW 000044 RG #35-1499
.CSHRG = 164000 #87-3839
.DBGSW 000066 RG #35-1504 68-2882 160-6577
.DELET 002100 RG #75-3342
.DEPAR = ****** GX 176-7108
.DFBLK 000336 RG #37-1672 106-4531 108-4628 111-4730
.DFRB 000344 RG #37-1675 89-3909 106-4494 213-8257
.DFRED = ****** GX 174-7027
.DFWB 000336 RG #37-1673 89-3914 107-4568 *122-5123 *122-5131 *124-5205 126-5253 155-6379 213-8264
.DFWRT = ****** GX 174-7029
.DFXCT = ****** GX 174-7031
.DIAG1 = 000000 #10-354
.DIAG2 = 000002 #10-355 93-4018 93-4039
.DIAG3 = 000006 #10-357 93-4026 93-4047
.DISCC = ****** GX 174-7023
.DOCMD 007730 RG #158-6504 163-6699 163-6699 172-6947 172-6947
.DPBFR 000070 RG #35-1507 102-4346
.DPBFX 000076 RG #35-1509
.DPDPB 000312 RG 101-4307 101-4308 #102-4345
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 37
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
.DPETB 004674 RG #175-7092
.DPKLM 003762 RG #99-4247
.DPOEL = ****** GX 176-7110
.DPOKL = ****** GX 176-7112
.DPOSC = ****** GX 174-7021
.DPOSD = ****** GX 175-7093 176-7114
.DPOSI = ****** GX 175-7095 176-7116
.DPOSN = ****** GX 175-7097 176-7118
.DPOSP = ****** GX 175-7099 176-7120
.DPOSZ = ****** GX 175-7101 176-7122
.DPOTB 004734 RG #176-7107
.DPTRK 012454 RG 99-4259 99-4259 #218-8434
.DREG 000352 RG #37-1678 *94-4056 94-4063 95-4111 106-4531 108-4628 111-4730
.DRLTC = 015000 #87-3839
.DSACF = 066000 #87-3839
.DSIOJ = 065000 #87-3839
.DTAB 004232 R 99-4249 #101-4306
.DTCID 000474 RG 257-9998 #260-10125
.DTDI1 000352 RG #37-1679
.DTDI2 000354 RG #37-1681
.DTDI3 000360 RG #37-1685
.DTDW1 003530 RG 47-2103 47-2103 #93-4034 104-4420 104-4420 104-4428 104-4428 114-4837 114-4837
115-4850 115-4850 115-4879 115-4879 117-4969 117-4969 152-6219 152-6219
.DTDW2 003536 RG #93-4038
.DTDW3 003556 RG #93-4046
.DTSTA 003546 RG 56-2422 56-2422 #93-4042
.DTSTS 000356 RG #37-1683
.DTSTW = 000004 #10-356 93-4022 93-4043
.DTTRK 012332 RG 94-4067 #216-8346
.DWDW1 003454 RG #93-4013
.DWDW2 003462 RG #93-4017 142-5900 142-5900
.DWDW3 003502 RG #93-4025 142-5902
.DWSTA 003472 RG #93-4021
.EBCLK 003634 RG #97-4155 104-4419 104-4419
.EBPCK 000410 RG #56-2421 159-6549
.EDELA 000104 RG #35-1519 68-2878
.EDKLA 000106 RG #35-1521 102-4346 102-4364
.EDKLX 000114 RG #35-1523
.EIOJA = 067000 #87-3839
.ELDDW 000122 RG #35-1525
.ELEDW 000124 RG #35-1527
.ELNCK 013144 RG #225-8738 226-8784 226-8784
.ENTER 001664 RG #72-3185
.ETAB 004222 R 99-4233 #101-4300
.EXAD = ****** GX 178-7144
.EXADX = ****** GX 178-7146
.EXAMC = ****** GX 174-7025
.EXAMD = ****** GX 177-7129 178-7202
.EXAMF = ****** GX 178-7183
.EXAMI = ****** GX 177-7131 178-7204
.EXAMK = ****** GX 178-7185
.EXAMN = ****** GX 177-7133 178-7206
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 38
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
.EXAMP = ****** GX 177-7135 178-7208
.EXAMZ = ****** GX 177-7137 178-7210
.EXARR = ****** GX 178-7148
.EXARX = ****** GX 178-7150
.EXBFR 000156 RG #35-1533 102-4364
.EXBRR = ****** GX 178-7152
.EXBRX = ****** GX 178-7154
.EXCRA = ****** GX 178-7169
.EXCRL = ****** GX 178-7171
.EXCTC = ****** GX 174-7084
.EXCTF 004150 RG #103-4391 117-4991 117-4991
.EXDPB 000324 RG 101-4301 101-4302 #102-4363
.EXDPM 004020 RG 99-4234 99-4234 99-4250 99-4250 #100-4269
.EXDRA = ****** GX 178-7173
.EXDTE = ****** GX 178-7175
.EXEBR = ****** GX 178-7177
.EXEBS = ****** GX 178-7156
.EXECT 004226 RG #104-4414
.EXETB 005016 RG #177-7128
.EXFER = ****** GX 178-7181
.EXFMR = ****** GX 178-7159
.EXITP 010110 RG #160-6575 224-8696 258-10029
.EXKLM 003730 RG #99-4231
.EXMEL = ****** GX 178-7179
.EXMKL = ****** GX 178-7191
.EXMPI = ****** GX 178-7187
.EXMQR = ****** GX 178-7161
.EXMTB 005056 RG #178-7143 178-7166
.EXREG = ****** GX 178-7189
.EXSBR = ****** GX 178-7198
.EXSCR = ****** GX 178-7200
.EXTND 002004 RG #74-3290 85-3795 85-3795
.EXTRK 012442 RG 99-4243 99-4243 #218-8429
.EXUBR = ****** GX 178-7193
.EXVAB = ****** GX 178-7167
.EXVMA = ****** GX 178-7194
.EXVMH = ****** GX 178-7196
.EXVPC = ****** GX 178-7163
.FEMOD = ****** GX 54-2357 165-6768 166-6788
.FISTS 001662 RG #69-2949 70-3072 70-3093 71-3139 71-3142 71-3156 72-3188 72-3192 72-3204
72-3207 73-3254 74-3293 74-3314 75-3353 75-3367 80-3575 80-3577 80-3580
85-3784 85-3786 85-3793
.FNDIR 001452 RG #70-3062 71-3133 71-3133
.FREAD 004362 RG 97-4164 97-4164 #106-4486 128-5326 128-5326 129-5377 129-5377 132-5499 132-5499
134-5580 134-5580 136-5666 136-5666 137-5710 137-5710 138-5739 138-5739 139-5783
139-5783
.FRTRK 012172 RG 106-4506 106-4506 #213-8254
.FWRIT 004444 RG #107-4566 116-4930 116-4930 120-5087 120-5087 122-5126 122-5126 122-5134 122-5134
124-5207 124-5207 124-5212 124-5212 126-5261 126-5261 126-5268 126-5268 128-5321
128-5321 134-5590 134-5590 134-5592 134-5592 141-5843 141-5843 141-5848 141-5848
154-6308 154-6308 155-6385 155-6385 155-6393 155-6393 155-6396 155-6396 155-6398
155-6398
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 39
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
.FWTRK 012212 RG 108-4601 108-4601 #213-8261
.FXCT 004566 RG 88-3875 90-3949 90-3949 97-4162 97-4162 #110-4658 113-4785 113-4785 119-5029
119-5029 120-5089 127-5307 127-5307 128-5333 128-5333 128-5338 128-5338 134-5572
134-5572 147-6067 147-6067 150-6161 150-6161 153-6265 153-6265
.FXTRK 012232 RG 111-4703 111-4703 #213-8268
.GFNR = 102000 #87-3839
.GTCMD 012610 RG 163-6696 163-6696 #222-8570
.GTELN 013220 RG #226-8778 230-8961 230-8961
.GTEXP 013706 RG 228-8858 228-8858 229-8883 229-8883 #231-9034 237-9251 237-9251
.GTFCT 014114 RG 233-9095 233-9095 234-9130 234-9130 #235-9164 237-9232 237-9232 237-9237 237-9237
237-9243 237-9243
.GTKLA 013250 RG #227-8811
.GTKLN 013302 RG 172-6941 172-6941 #228-8848
.GTLIN 012644 RG 222-8574 222-8574 #223-8616
.GTNBR 014410 RG 235-9173 235-9173 #238-9279
.GTNUM 013302 RG 226-8783 226-8783 227-8812 227-8812 #228-8847
.GTOPC 013514 RG 228-8856 228-8856 #230-8937
.GTTRM 014002 RG 231-9035 231-9035 232-9062 232-9062 #233-9094
.HALTC = ****** GX 174-7033
.INATT 002750 RG #69-2983 80-3573 80-3586 160-6584
.INBBC 001712 RG #69-2966 *78-3504 78-3505 *78-3511 79-3538 *79-3544 *80-3580
.INBUF 001716 RG #69-2970 80-3575 80-3579
.INCHC 000164 RG #35-1535 *223-8619 *224-8664 224-8665 224-8671 *238-9280 *238-9290 239-9312
.INDFG 001660 RG #69-2945 *77-3459 *80-3588 160-6582 *160-6586 223-8620
.INFN 001666 RG #69-2956
.INFNB 002716 RG #69-2973 77-3460
.INICL = 070000 #87-3839
.INICP = ****** GX 35-1617
.INITC = ****** GX 174-7039
.INPOS 001714 RG #69-2968 78-3501 *78-3503 78-3509 *78-3510 79-3542 *79-3543 *80-3579
.INVBN 001706 RG #69-2964 *80-3571 *80-3572 80-3573 80-3575 80-3575
.IRADX 000166 RG #35-1537 *66-2794 172-6935 *172-6936 *172-6942 236-9206 *237-9222 *237-9226 *237-9230
*237-9233 238-9284
.IRLTC = 014000 #87-3839
.JUMPC = ****** GX 174-7041
.KLCON 004736 RG 104-4441 104-4441 #113-4774
.KLDFR 000336 RG 60-2576 *106-4487 106-4491 #106-4530 213-8256
.KLDFW 000350 RG 60-2580 *107-4567 108-4587 108-4591 #108-4627 213-8263
.KLDFX 000362 RG 60-2584 *110-4659 110-4663 110-4666 #111-4729 213-8270
.KLE = ****** GX 223-8625 223-8625
.KLEDF 000176 RG #35-1541 *163-6676 223-8623
.KLEPT 000200 RG #35-1543
.KLERQ = ****** GX 159-6544 *160-6596 163-6674
.KLEVL 000202 RG #35-1545
.KLFLG = ****** GX *47-2112 *47-2114 54-2353 *101-4315 *101-4319 103-4392 104-4416 *108-4596 110-4672
*110-4674 110-4678 *110-4680 *110-4687 *110-4693 113-4776 116-4931 117-4960 119-5042
*127-5308 *128-5339 148-6094 148-6096 163-6671
.KLGO 004744 RG #113-4777 116-4932
.KLHLT 005034 RG #114-4835 116-4927 116-4927 117-4962 120-5085 120-5085
.KLINC 000170 RG #35-1539
.KLMTB 005366 RG #179-7216
.KLMT1 005412 RG #179-7225
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 40
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
.KLRST 005310 RG #119-5019 146-6034 146-6034
.KLSNP 000203 RG #35-1547
.KLST 005164 RG #116-4925
.KLSTP 005212 RG #117-4959 148-6097 148-6097
.KLXCT 005442 RG 103-4400 103-4400 104-4417 104-4417 #120-5084
.LCRDL = 052000 #87-3839
.LCRDR = 051000 #87-3839
.LCRM1 = 057000 #87-3839
.LCRM2 = 056000 #87-3839
.LCRM3 = 055000 #87-3839
.LCRM4 = 054000 #87-3839
.LCRM5 = 053000 #87-3839
.LDAR = 077000 #87-3839
.LDBRC 005466 RG #122-5116
.LDBRG 005472 RG 88-3873 88-3873 #122-5118
.LDBRL = 043000 #87-3839
.LDBRR = 042000 #87-3839
.LDCK1 = 046000 #87-3839
.LDCK2 = 047000 #87-3839
.LDCLK 005570 RG #124-5190 141-5836 141-5836 143-5955 143-5955 145-5999 145-5999
.LDCRA 005666 RG #126-5247 134-5570 134-5570 152-6215 152-6215 155-6377 155-6377
.LDDIS = 045000 #87-3839
.LDOBC = 000454 RG *223-8646 *257-10001 257-10013 #260-10115
.LDOBP = 000452 RG *223-8645 *257-10000 257-10012 #260-10114
.LDOFC = 000456 R #260-10116
.LDOUT 000436 RG 257-10005 #260-10111 260-10114 260-10115 260-10116
.LDPAR 005606 RG #124-5196 141-5837 141-5837 145-6003 145-6003
.LDRJD = 064000 #87-3839
.LDRJV = 063000 #87-3839
.LDRM1 = 060000 #87-3839
.LDRM2 = 061000 #87-3839
.LDRM3 = 062000 #87-3839
.LDSEL = 044000 #87-3839
.LDSTS 000212 RG #35-1558 257-10007 260-10112
.LDZFL 000220 RG #35-1562 *214-8281 *216-8347 *245-9529 *247-9618 249-9707 *249-9712 252-9820 *252-9824
.LGLWD 000216 RG #35-1560 *158-6515 159-6527 *159-6538 *163-6697
.LOKUP 001574 RG #71-3131
.MARKC = ****** GX 174-7045
.MEMFL 000222 RG #35-1564
.MEMRS = 076000 #87-3839
.MISC = ****** GX *160-6597
.MONTB 005430 RG #180-7235
.MRCLR 006002 RG #127-5304 141-5838 141-5838
.MTDPB 000266 RG 90-3944 #91-3972
.NOERR = ****** GX *47-2110 *149-6129
.NOHLT = ****** GX *90-3947 *113-4795 *119-5047 *146-6035
.NOTSW 000224 RG #35-1566
.NSETB 005542 RG 58-2528 #181-7265
.NULLC 007716 RG #156-6439 174-7013
.OPEN 001736 RG #73-3237
.ORADX 000226 RG #35-1568 *66-2795 245-9533 245-9537 246-9572 246-9576 247-9621 247-9625 248-9660
248-9664 252-9813
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 41
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
.OTATT 004050 RG #69-3020 *74-3295 *74-3296 *74-3300 *74-3301 74-3302 81-3633 *81-3635 *84-3741
*84-3742 *85-3788 *85-3789 160-6592
.OTBBC 003012 RG #69-3003 *82-3678 82-3679 *82-3684 83-3710 *83-3715 84-3743 84-3745 84-3751
*85-3791
.OTBUF 003016 RG #69-3007 74-3301 84-3742 85-3784 85-3790
.OTFN 002766 RG #69-2993
.OTFNB 004016 RG #69-3010 72-3204 72-3207
.OTPOS 003014 RG #69-3005 74-3300 82-3675 *82-3677 82-3682 *82-3683 83-3713 *83-3714 84-3741
84-3746 *85-3790
.OTVBN 003006 RG #69-3001 *85-3782 *85-3783 85-3784 85-3784 85-3788 85-3789
.OUTLG 000206 RG #35-1551 *74-3305 160-6588 *160-6590 257-10009
.OUTLP 000207 RG #35-1553 257-10003
.OUTTY 000210 RG #35-1555 257-9990
.PARER 000432 RG #58-2513 66-2808 66-2808
.PASS 000204 RG #35-1549 244-9460
.PCAB1 = 150000 #87-3839
.PCAB2 = 151000 #87-3839
.PCAB3 = 152000 #87-3839
.PCAB4 = 153000 #87-3839
.PEWRD 000230 RG #35-1570 139-5777
.PITAB 000232 RG #35-1572
.PSCWD 000236 RG #35-1574 124-5198 *129-5381 130-5399 145-5995
.PTDIE 001046 RG #64-2706 68-2874
.PTOAT 001352 RG 35-1597 #68-2869
.PTTRP 001124 RG 36-1665 #66-2778
.QUITC = ****** GX 174-7080
.RCRM1 = 147000 #87-3839
.RCRM2 = 146000 #87-3839
.RCRM3 = 145000 #87-3839
.RCRM4 = 144000 #87-3839
.RCSPF = 141000 #87-3839
.RDCPP 006150 RG #129-5368 145-5994 145-5994
.RDCRA = ****** GX 135-5627 135-5627
.RDCRD 006304 RG #132-5495 134-5585 134-5585
.RDCRM 006342 RG #134-5566
.RDCRO 006512 R #135-5626
.RDCRR 006374 RG #134-5573 135-5629 135-5629
.RDFMA 006532 RG #136-5662 137-5706 137-5706
.RDFMO 006614 RG #137-5703
.RDFMP 006650 RG #138-5736
.RDIPE 006704 RG 62-2643 62-2643 #139-5773
.RDJ14 = 134000 #87-3839
.RDJ71 = 135000 #87-3839
.RDMAB = 133000 #87-3839
.RDXSV 000240 RG #35-1576 66-2794 66-2795 *172-6935 172-6942
.READ 002440 RG 78-3507 78-3507 79-3540 79-3540 #80-3570
.READB 002406 RG 77-3453 77-3453 #79-3537
.READR 002224 RG #77-3445 223-8634 223-8634
.READW 002330 RG 77-3447 77-3447 #78-3500
.RECNT 004066 RG #69-3028 *81-3626 81-3632 *81-3645
.RECPT 004070 RG #69-3030 81-3624 *81-3625 *81-3644
.RECRD 004072 RG 69-3031 #69-3032 81-3631 81-3644
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 42
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
.REGRW 000300 RG *93-4014 *93-4018 *93-4022 *93-4026 *93-4028 93-4029 93-4030 *93-4035 *93-4039
*93-4043 *93-4047 *94-4054 94-4060 #95-4107 216-8351 216-8355 216-8361 216-8365
.REGSV 010316 RG 66-2786 68-2872 124-5191 124-5197 129-5369 139-5774 #162-6654 218-8430 218-8435
.RELWD 000242 RG #35-1578 236-9188
.REMOV 001564 RG #71-3128
.REPTC 011036 RG #172-6934 174-7051
.RESET 006766 RG #141-5829 143-5950 143-5950 145-5997 145-5997
.RESQ = ****** GX 174-7054
.RESTB 006232 RG #184-7381
.RESTC = ****** GX 174-7058
.RESTD 007102 RG 100-4292 100-4292 141-5831 141-5831 #142-5898
.RESTI 007122 RG #143-5947
.RESTP 007146 RG 126-5250 126-5250 #145-5991
.RPTCT 000244 RG #35-1580 163-6698
.RPTPT 000252 RG #35-1582 *158-6510
.RSACB = ****** GX 182-7366
.RSALL = ****** GX 184-7382
.RSAPR = ****** GX 184-7384
.RSDTE = ****** GX 184-7386
.RSERR = ****** GX 184-7388
.RSPAG = ****** GX 184-7394
.RSTIN = ****** GX 184-7390
.RSTIO = ****** GX 184-7392
.RSTKL 007220 RG 66-2792 66-2792 103-4402 #146-6031
.RSTPI = ****** GX 184-7396
.RSTRC = ****** GX 174-7060
.RSTTB 006204 RG #182-7365
.RUNCM = ****** GX 174-7043 174-7047 174-7049 174-7062
.R50TB 001442 RG #39-1707 259-10062
.SAVEC = ****** GX 174-7064
.SAVQ = ****** GX 174-7056
.SAVTB 006214 RG #183-7372
.SCACB = ****** GX 190-7482
.SCCEC = ****** GX 185-7405
.SCCED = ****** GX 185-7407
.SCCEE = ****** GX 185-7409
.SCCLK = ****** GX 190-7484
.SCCLN = ****** GX 185-7403
.SCCOM = ****** GX 187-7439
.SCCON = ****** GX 190-7486
.SCCOO = ****** GX 187-7441
.SCCOP = ****** GX 187-7443
.SCCOT 006436 RG #187-7438
.SCCOU = ****** GX 187-7445
.SCCRF = ****** GX 185-7417
.SCCRH = ****** GX 185-7419
.SCCRQ = ****** GX 185-7421
.SCCRS = ****** GX 185-7423
.SCCSE = ****** GX 185-7411
.SCCSI = ****** GX 185-7413
.SCCSM = ****** GX 185-7415
.SCCTB 006314 RG #185-7402
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 43
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
.SCDAT = ****** GX 190-7488
.SCFSS = ****** GX 190-7492
.SCINC = ****** GX 190-7494
.SCKLN = ****** GX 190-7496
.SCMEL = ****** GX 186-7430
.SCMEM = ****** GX 190-7498
.SCMKL = ****** GX 186-7432
.SCMTB 006420 RG #186-7429
.SCNOT = ****** GX 190-7500
.SCOFS = ****** GX 190-7502
.SCOTL = ****** GX 188-7452
.SCOTP = ****** GX 188-7454
.SCOTT 006470 RG #188-7451
.SCOTY = ****** GX 188-7456
.SCOUT = ****** GX 190-7504
.SCPAL = ****** GX 189-7463
.SCPAR = ****** GX 189-7465
.SCPCR = ****** GX 189-7467
.SCPDR = ****** GX 189-7469
.SCPEN = ****** GX 189-7471
.SCPFM = ****** GX 189-7473
.SCPFS = ****** GX 189-7475
.SCPST = ****** GX 190-7506
.SCPTB 006514 RG #189-7462
.SCRLD = ****** GX 190-7508
.SCRPT = ****** GX 190-7510
.SCRTY = ****** GX 190-7512
.SCTRK = ****** GX 190-7515
.SEAMB 000520 RG #59-2548 191-7523
.SECES 000756 RG #62-2641 191-7525
.SECLK = 003000 #87-3839
.SEFRF 000606 RG #60-2575 191-7527
.SEFWF 000614 RG #60-2579 191-7528
.SEFXF 000622 RG #60-2583 191-7529
.SEILC 000544 RG #59-2558 191-7531
.SEILS 000544 RG #59-2559 191-7532
.SEIPC 000544 RG #59-2560 191-7533
.SENSK 000520 RG #59-2549 191-7535
.SETCM = ****** GX 174-7066
.SETFN 002166 RG 71-3134 71-3134 #76-3404
.SETMR = 007000 #87-3839
.SETRN = 011000 #87-3839
.SETTB 006570 RG #190-7481
.SFREC = ****** GX 190-7490
.SHIFT 011130 RG 122-5129 122-5129 #196-7650
.SHUTC = ****** GX 174-7070
.SPACE = 000040 #21-838 39-1719 52-2288 55-2394 59-2563 224-8682 228-8859 243-9413 250-9724
250-9725 250-9726 250-9727 250-9729 250-9730 250-9732 250-9733 250-9734 250-9736
250-9737 250-9742 250-9746
.SPETB 006740 RG 58-2515 #191-7522
.SSCAN 010774 RG 165-6748 165-6748 #169-6854 169-6860 230-8946 230-8946
.SSCLK = 002000 #87-3839
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 44
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
.SSTTB 000316 RG #36-1658 36-1667 64-2710 *68-2874 *68-2889
.START 010354 RG 35-1585 #163-6665
.STCLF 007254 RG 127-5309 127-5309 #147-6064
.STCLK 007246 RG 104-4425 104-4425 113-4788 113-4788 119-5044 119-5044 #147-6061 152-6216 152-6216
.STPCL = 000000 #87-3839
.STPKL 007272 RG 103-4398 103-4398 #148-6093
.STPXC 007316 RG 88-3869 88-3869 104-4447 104-4447 115-4861 115-4861 115-4874 115-4874 122-5117
122-5117 128-5318 128-5318 141-5833 141-5833 145-5993 145-5993 #149-6123 152-6213
152-6213 154-6303 154-6303
.STRCL = 001000 #87-3839
.STRTB 007030 RG #192-7541
.STRTC = ****** GX 174-7072
.STRTT = ****** GX 192-7542
.STRTU = ****** GX 192-7544
.STRTV 000254 RG #35-1584 66-2815 68-2890 166-6800
.STRUN 007346 RG 104-4451 104-4451 113-4782 113-4782 119-5027 119-5027 119-5038 119-5038 #150-6156
.STUCD 007366 RG #152-6208
.SVACB = ****** GX 183-7375
.SVESP 000256 RG #35-1586 163-6666 166-6799
.SVKLF 000260 RG #35-1588 *47-2111 66-2790 *103-4401 119-5021 119-5030 *119-5050 146-6032 *146-6037
*148-6096 *163-6668
.SVPC = ****** GX 183-7373
.SWPC = ****** GX 174-7074
.SWPIP 000262 RG #35-1590 47-2115 *66-2779
.SYNXC 007470 RG 97-4175 115-4864 128-5336 128-5336 #153-6261 154-6305 154-6305
.TAKEC = ****** GX 174-7076
.TCRLF 015552 RG 58-2541 64-2715 64-2715 64-2720 64-2720 66-2806 66-2806 67-2825 67-2825
68-2875 68-2875 68-2880 68-2880 166-6780 166-6780 214-8294 214-8294 223-8649
223-8649 244-9483 244-9483 253-9860 255-9941 #256-9951
.TFCHR 015504 RG 163-6694 163-6694 222-8580 222-8580 #254-9900
.TPADD 011516 RG #203-7916 207-8054 207-8054 232-9048 238-9297 238-9297
.TPCLR 011372 RG 89-3916 89-3916 #200-7790 207-8036 207-8036 228-8853 228-8853 252-9811 252-9811
.TPCMP 011440 RG 199-7740 199-7740 #201-7842
.TPCOM 011402 RG #200-7797 200-7805 200-7805 237-9238 237-9238
.TPDEC 011550 RG 159-6533 159-6533 #204-7956 211-8177 211-8177
.TPDIV 011160 RG #198-7706 234-9116 252-9814 252-9814
.TPINC 011536 RG 199-7745 199-7745 200-7806 #204-7949 211-8188 211-8188
.TPMUL 011606 RG #207-8028 234-9120 238-9294 238-9294
.TPNEG 011412 RG #200-7804 237-9246 237-9246
.TPSHI 011772 RG 126-5258 126-5258 126-5265 126-5265 132-5501 132-5501 136-5668 136-5668 136-5673
136-5673 138-5742 138-5742 155-6390 155-6390 #209-8106 211-8175 211-8175 211-8186
211-8186 229-8876 229-8876
.TPSHL 012036 RG #210-8157 234-9112
.TPSUB 011562 RG 199-7742 199-7742 #205-7987 232-9052
.TPTST 011474 RG 159-6525 159-6525 159-6534 159-6534 172-6943 172-6943 198-7711 198-7711 #202-7881
207-8030 207-8030 207-8033 207-8033 207-8061 207-8061 210-8163 210-8163 211-8178
211-8178 211-8189 211-8189 228-8863 228-8863 229-8885 229-8885 249-9709 249-9709
251-9789 251-9789
.TPXTN 011420 RG 198-7708 198-7708 198-7710 198-7710 #200-7809 210-8162 210-8162
.TRKWD 000264 RG #35-1593 94-4065 99-4241 99-4257 106-4504 108-4599 111-4701
.TRPEC 000270 RG #35-1598 *66-2785 66-2807
.TRPIP 000272 RG #35-1600 *64-2707 *66-2780 *66-2801 66-2809 *66-2814 *67-2829
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 45
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
.TRPPC 000274 RG #35-1602 *66-2783 *68-2870
.TRPPS 000276 RG #35-1604 *66-2784 *68-2871
.TRPSB 000300 RG #35-1606 *66-2782 66-2788 66-2796 66-2811
.TRPTV 000302 RG #35-1608 66-2798 *66-2802
.TRP4V 000266 RG #35-1596
.TSCAN 010524 RG 158-6514 158-6514 #165-6736
.TYACE 014630 RG #244-9458
.TYAC1 014662 RG #244-9467
.TYCHR 015520 RG 59-2555 59-2555 59-2568 59-2568 59-2571 59-2571 61-2609 61-2609 61-2613
61-2613 243-9420 243-9420 244-9473 244-9473 252-9827 253-9872 253-9872 254-9901
254-9901 #255-9936 256-9954 256-9954 256-9956 256-9956 259-10067 259-10067
.TYCOL 014542 RG #243-9391 244-9474 244-9474
.TYCOM 014552 RG 62-2652 62-2652 #243-9396
.TYELA 014762 RG #245-9528
.TYELN 014766 RG 64-2719 64-2719 68-2879 68-2879 216-8363 216-8363 #245-9530
.TYINI 015736 RG 163-6670 163-6670 #258-10022
.TYKLA 015106 RG 219-8458 219-8458 244-9478 244-9478 #247-9617
.TYKLN 015156 RG 214-8292 214-8292 219-8462 219-8462 244-9482 244-9482 #248-9657
.TYLIN 015446 RG 64-2717 64-2717 67-2824 67-2824 166-6784 166-6784 166-6793 166-6793 216-8369
216-8369 219-8470 219-8470 #253-9858
.TYMIN 014562 RG #243-9401
.TYMSF 015454 RG 163-6678 163-6678 #253-9862
.TYMSG 015462 RG 60-2593 60-2593 61-2607 61-2607 61-2611 61-2611 61-2616 62-2651 62-2651
62-2662 62-2662 68-2877 68-2877 77-3464 77-3464 163-6682 163-6682 166-6782
166-6782 214-8282 214-8282 216-8350 216-8350 216-8353 216-8353 219-8456 219-8456
244-9465 244-9465 253-9859 253-9859 253-9863 253-9863 #253-9866
.TYNCM 015240 RG 246-9584 #249-9701
.TYNUM 015316 RG 249-9714 249-9714 #251-9778 252-9806
.TYOBC 000304 RG #35-1610 *255-9940 *258-10025
.TYOBP 000306 RG #35-1612 255-9937 *255-9938 *258-10026
.TYOUT 015600 RG 223-8639 223-8639 254-9905 255-9944 #257-9989
.TYOU1 015660 RG 223-8648 223-8648 #257-10002
.TYP3D 015032 RG 60-2591 60-2591 214-8287 214-8287 #246-9569
.TYR50 015772 RG 61-2623 61-2623 #259-10054
.TYSLS 014572 RG 214-8290 214-8290 219-8459 219-8459 #243-9406 244-9479 244-9479
.TYSPC 014602 RG 61-2614 61-2614 62-2653 62-2653 166-6792 166-6792 214-8291 214-8291 216-8354
216-8354 219-8460 219-8460 219-8463 219-8463 #243-9411 244-9480 244-9480
.TYUPA 014612 RG 59-2565 59-2565 #243-9416
.T50TB 001472 RG #39-1721 259-10056
.UMRKC = ****** GX 174-7078
.VFYFL 000310 RG #35-1614
.WHACB = ****** GX 193-7551
.WHATB 007046 RG #193-7550
.WHATC = ****** GX 174-7068 174-7082
.WHATV = ****** GX 193-7585
.WHCON = ****** GX 193-7555
.WHDAT = ****** GX 193-7557
.WHINC = ****** GX 193-7563
.WHKLN = ****** GX 193-7565
.WHMEM = ****** GX 193-7567
.WHOFS = ****** GX 193-7569
.WHOUT = ****** GX 193-7571
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 46
SYMBOL CROSS REFERENCE CREF 04.00
SYMBOL VALUE REFERENCES
.WHRDW = ****** GX 193-7561
.WHREC = ****** GX 193-7559
.WHRLD = ****** GX 193-7575
.WHRPT = ****** GX 193-7577
.WHRTY = ****** GX 193-7579
.WHTCL = ****** GX 193-7553
.WHTPS = ****** GX 193-7573
.WHTRK = ****** GX 193-7582
.WRAR1 007512 RG #154-6304
.WRCRM 007534 RG #155-6370
.WRITB 003030 RG 81-3641 81-3641 #83-3709 84-3754 84-3754
.WRITE 003160 RG 82-3681 82-3681 83-3712 83-3712 84-3756 84-3756 #85-3781
.WRITR 002616 RG #81-3618 257-10014 257-10014
.WRITW 002754 RG 81-3637 81-3637 #82-3674 84-3750 84-3750
.WRITZ 003060 RG #84-3740 160-6591 160-6591
.WRMBX = 071000 #87-3839
.WRTAR 007506 RG #154-6302
.ZEROC = ****** GX 174-7086
..DTSP = ****** GX 47-2109 47-2109
..SACK = ****** GX 160-6602 160-6602
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 47
MACRO CROSS REFERENCE CREF 04.00
MACRO NAME REFERENCES
ALUN$ #68-2937 70-3088
CALL #4-119 47-2103 47-2109 48-2146 51-2254 53-2314 56-2422 58-2538 59-2550 59-2555
59-2561 59-2565 59-2568 59-2571 60-2586 60-2591 60-2593 61-2607 61-2609 61-2611
61-2613 61-2614 61-2621 61-2623 62-2642 62-2643 62-2651 62-2652 62-2653 62-2662
64-2715 64-2717 64-2719 64-2720 66-2786 66-2792 66-2806 66-2808 67-2824 67-2825
67-2831 68-2872 68-2875 68-2877 68-2879 68-2880 68-2885 71-3133 71-3134 74-3307
77-3447 77-3453 77-3462 77-3464 78-3507 79-3540 80-3589 81-3637 81-3641 82-3681
83-3712 84-3750 84-3754 84-3756 85-3795 88-3869 88-3873 89-3906 89-3916 90-3949
97-4157 97-4162 97-4164 99-4234 99-4243 99-4250 99-4259 100-4289 100-4292 103-4398
103-4400 104-4417 104-4419 104-4420 104-4425 104-4428 104-4441 104-4447 104-4451 106-4506
108-4601 111-4703 113-4782 113-4785 113-4788 114-4837 114-4842 115-4850 115-4861 115-4874
115-4878 115-4879 116-4927 116-4930 117-4967 117-4969 117-4991 119-5027 119-5029 119-5038
119-5044 120-5085 120-5087 122-5117 122-5120 122-5126 122-5129 122-5134 124-5191 124-5197
124-5203 124-5207 124-5212 126-5250 126-5252 126-5258 126-5261 126-5265 126-5268 127-5307
127-5309 128-5318 128-5319 128-5321 128-5326 128-5333 128-5336 128-5338 129-5369 129-5377
132-5499 132-5501 134-5570 134-5572 134-5580 134-5585 134-5587 134-5590 134-5592 135-5627
135-5629 136-5666 136-5668 136-5673 137-5706 137-5710 138-5739 138-5742 139-5774 139-5783
141-5831 141-5833 141-5836 141-5837 141-5838 141-5839 141-5843 141-5848 142-5900 143-5950
143-5955 145-5993 145-5994 145-5997 145-5999 145-6003 146-6034 147-6063 147-6067 148-6097
150-6161 152-6212 152-6213 152-6215 152-6216 152-6219 153-6265 154-6303 154-6305 154-6308
155-6377 155-6385 155-6390 155-6393 155-6394 155-6396 155-6398 158-6514 159-6523 159-6525
159-6533 159-6534 159-6548 160-6587 160-6591 160-6594 160-6602 162-6658 163-6670 163-6678
163-6682 163-6694 163-6696 163-6699 165-6737 165-6738 165-6748 166-6778 166-6780 166-6782
166-6784 166-6792 166-6793 172-6941 172-6943 172-6945 172-6947 198-7708 198-7710 198-7711
199-7740 199-7742 199-7745 200-7805 207-8030 207-8033 207-8036 207-8054 207-8061 210-8162
210-8163 211-8175 211-8177 211-8178 211-8186 211-8188 211-8189 214-8282 214-8287 214-8290
214-8291 214-8292 214-8294 216-8350 216-8353 216-8354 216-8363 216-8369 218-8430 218-8435
219-8456 219-8458 219-8459 219-8460 219-8462 219-8463 219-8470 222-8574 222-8580 223-8625
223-8634 223-8639 223-8648 223-8649 226-8783 226-8784 227-8812 228-8850 228-8853 228-8854
228-8856 228-8858 228-8861 228-8863 229-8876 229-8883 229-8884 229-8885 230-8946 230-8959
230-8961 231-9035 232-9062 232-9065 233-9095 234-9130 234-9133 235-9173 236-9201 237-9232
237-9237 237-9238 237-9243 237-9246 237-9251 238-9294 238-9297 243-9420 244-9465 244-9473
244-9474 244-9478 244-9479 244-9480 244-9482 244-9483 249-9709 249-9714 251-9789 252-9811
252-9814 252-9816 253-9859 253-9863 253-9872 254-9901 256-9954 256-9956 257-10014 259-10060
259-10067
CALLR #4-128 58-2541 61-2616 66-2803 88-3875 94-4067 97-4175 103-4402 115-4864 120-5089
142-5902 156-6441 159-6549 224-8696 258-10029
CLEF$S #46-2064 50-2218
COMND$ #5-182 174-7013 174-7015 174-7017 174-7019 174-7021 174-7023 174-7025 174-7027 174-7029
174-7031 174-7033 174-7039 174-7041 174-7043 174-7045 174-7047 174-7049 174-7051 174-7054
174-7056 174-7058 174-7060 174-7062 174-7064 174-7066 174-7068 174-7070 174-7072 174-7074
174-7076 174-7078 174-7080 174-7082 174-7084 174-7086 175-7093 175-7095 175-7097 175-7099
175-7101 176-7108 176-7110 176-7112 176-7114 176-7116 176-7118 176-7120 176-7122 177-7129
177-7131 177-7133 177-7135 177-7137 178-7144 178-7146 178-7148 178-7150 178-7152 178-7154
178-7156 178-7159 178-7161 178-7163 178-7167 178-7169 178-7171 178-7173 178-7175 178-7177
178-7179 178-7181 178-7183 178-7185 178-7187 178-7189 178-7191 178-7193 178-7194 178-7196
178-7198 178-7200 178-7202 178-7204 178-7206 178-7208 178-7210 179-7217 179-7219 179-7221
179-7226 179-7228 180-7236 180-7238 180-7240 180-7242 180-7244 180-7246 180-7248 180-7250
180-7252 180-7254 180-7256 180-7258 182-7366 183-7373 183-7375 184-7382 184-7384 184-7386
184-7388 184-7390 184-7392 184-7394 184-7396 185-7403 185-7405 185-7407 185-7409 185-7411
185-7413 185-7415 185-7417 185-7419 185-7421 185-7423 186-7430 186-7432 187-7439 187-7441
187-7443 187-7445 188-7452 188-7454 188-7456 189-7463 189-7465 189-7467 189-7469 189-7471
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 48
MACRO CROSS REFERENCE CREF 04.00
MACRO NAME REFERENCES
189-7473 189-7475 190-7482 190-7484 190-7486 190-7488 190-7490 190-7492 190-7494 190-7496
190-7498 190-7500 190-7502 190-7504 190-7506 190-7508 190-7510 190-7512 190-7515 192-7542
192-7544 193-7551 193-7553 193-7555 193-7557 193-7559 193-7561 193-7563 193-7565 193-7567
193-7569 193-7571 193-7573 193-7575 193-7577 193-7579 193-7582 193-7585
DIR$ #50-2218 50-2218 #68-2937 70-3066 70-3070 71-3137 72-3186 72-3190 72-3195 73-3243
74-3291 75-3351 #80-3575 80-3575 #85-3784 85-3784 #87-3837 90-3944 94-4060 100-4280
106-4491 108-4587 110-4663 #149-6126 149-6126 #157-6479 #160-6595 160-6595 #160-6604 160-6604
#223-8614 223-8641 #257-9985 257-9992 257-9994 257-9998 257-10005
ERCON$ #5-173
ERROR$ #5-158 47-2119 49-2190 49-2193 51-2261 54-2367 56-2429 70-3080 70-3082 71-3150
72-3198 73-3248 74-3308 75-3361 80-3590 85-3799 88-3878 94-4076 97-4178 101-4316
101-4320 101-4323 101-4326 104-4456 106-4511 108-4608 111-4709 115-4887 117-4982 134-5597
152-6232 152-6235 155-6402 159-6552 167-6805 167-6808 167-6811 172-6951 199-7761 224-8699
224-8702 227-8819 229-8904 230-8981 236-9214 237-9254 239-9316 239-9319
ERR$ #50-2218 #70-3066 #70-3070 #71-3137 #72-3186 #72-3190 #72-3195 #73-3243 #74-3291 #75-3351
#80-3575 #85-3784 #90-3944 #94-4060 #100-4280 #106-4491 #108-4587 #110-4663 #149-6126 #160-6595
#160-6604 #223-8641 #257-9992 #257-9994 #257-9998 #257-10005
EXCH$ #6-224
EXIT$S #157-6479 160-6604
FATAL$ #5-165
IKL$ #8-253
IOKL$ #8-281 117-4986
KLDR$ #87-3837 106-4531
KLDW$ #87-3837 108-4628
KLDX$ #87-3837 111-4730
MOV$ #50-2218 50-2218 #80-3575 #80-3575 80-3575 80-3575 80-3575 80-3575 80-3575 80-3575
80-3575 80-3575 80-3575 #85-3784 #85-3784 85-3784 85-3784 85-3784 85-3784 85-3784
85-3784 85-3784 85-3784 85-3784 #149-6126 149-6126 #160-6595 #160-6595 160-6595 160-6595
160-6595 160-6595
MRKT$ #87-3837 91-3973
MVB$ #80-3575 80-3575 #85-3784 85-3784 #160-6595 160-6595
NBL$ #70-3088 70-3088
NSERR$ #6-202 181-7266 181-7268 181-7270 181-7271 181-7272 181-7273 181-7274 181-7275 181-7276
181-7277 181-7278 181-7279 181-7284 181-7285 181-7286 181-7287 181-7288 181-7289 181-7290
181-7291 181-7292 181-7294 181-7295 181-7296 181-7297 181-7298 181-7299 181-7301 181-7302
181-7303 181-7304 181-7305 181-7306 181-7307 181-7308 181-7310 181-7311 181-7312 181-7313
181-7314 181-7315 181-7316 181-7317 181-7319 181-7320 181-7321 181-7322 181-7323 181-7325
181-7326 181-7328 181-7329 181-7330 181-7331 181-7332 181-7333 181-7334 181-7336 181-7337
181-7339 181-7341 181-7343 181-7344 181-7345 181-7346 181-7348 181-7349 181-7351 181-7353
181-7355 181-7357 181-7359
OFF$ #70-3088 70-3088 70-3088 70-3088 70-3088 #70-3093 70-3093 70-3093 70-3093 70-3093
70-3093 70-3093 70-3093 70-3093 #71-3156 71-3156 71-3156 71-3156 71-3156 71-3156
71-3156 71-3156 71-3156 #72-3204 72-3204 72-3204 72-3204 72-3204 72-3204 72-3204
72-3204 72-3204 #72-3207 72-3207 72-3207 72-3207 72-3207 72-3207 72-3207 72-3207
72-3207 #72-3210 72-3210 72-3210 72-3210 72-3210 72-3210 72-3210 72-3210 72-3210
#73-3254 73-3254 73-3254 73-3254 73-3254 73-3254 73-3254 73-3254 73-3254 #74-3314
74-3314 74-3314 74-3314 74-3314 74-3314 74-3314 74-3314 74-3314 #75-3367 75-3367
75-3367 75-3367 75-3367 75-3367 75-3367 75-3367 75-3367 #91-3973 91-3973 91-3973
91-3973 91-3973 91-3973 #224-8709 224-8709 224-8709 224-8709 224-8709 224-8709 224-8709
224-8709 224-8709 #260-10103 260-10103 260-10103 260-10103 260-10103 260-10103 260-10103 260-10103
260-10103 #260-10112 260-10112 260-10112 260-10112 260-10112 260-10112 260-10112 260-10112 260-10112
#260-10121 260-10121 260-10121 260-10121 260-10121 260-10121 260-10121 260-10121 260-10121 #260-10126
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 49
MACRO CROSS REFERENCE CREF 04.00
MACRO NAME REFERENCES
260-10126 260-10126 260-10126 260-10126 260-10126 260-10126 260-10126 260-10126
PARVR$ #34-1450 39-1730 39-1730
POP #4-134 51-2257 54-2361 58-2540 60-2587 61-2622 67-2830 68-2870 68-2871 68-2884
76-3416 77-3457 81-3628 81-3643 90-3951 97-4174 99-4262 103-4399 103-4401 108-4604
111-4706 113-4797 115-4863 117-4979 117-4992 119-5049 122-5135 126-5270 128-5341 130-5411
132-5504 134-5594 136-5676 137-5711 141-5850 145-6005 147-6068 150-6162 152-6229 154-6310
155-6399 162-6662 165-6771 165-6773 196-7664 199-7746 199-7749 199-7757 207-8063 208-8074
208-8075 208-8076 208-8078 209-8128 211-8192 211-8193 214-8296 216-8370 219-8471 224-8670
229-8890 229-8898 230-8977 232-9064 234-9132 236-9195 236-9203 237-9233 238-9300 239-9310
243-9421 244-9466 244-9484 249-9716 252-9812 252-9819 253-9876 256-9957 257-10015 259-10068
259-10072
PRDP$ #87-3837 102-4346
PREX$ #87-3837 102-4364
PUSH #4-140 47-2119 49-2190 49-2193 51-2253 51-2261 54-2344 54-2349 54-2353 54-2367
56-2429 58-2514 60-2576 60-2580 60-2584 61-2619 62-2644 64-2709 66-2787 68-2873
70-3080 70-3082 71-3150 72-3198 73-3248 74-3308 75-3361 76-3405 77-3446 80-3590
81-3619 81-3630 85-3799 88-3878 89-3908 89-3913 90-3946 94-4076 97-4156 97-4178
99-4232 99-4248 101-4316 101-4320 101-4323 101-4326 103-4392 103-4397 103-4407 104-4416
104-4456 106-4511 108-4590 108-4608 111-4709 113-4775 114-4836 115-4887 116-4926 117-4965
117-4982 117-4989 119-5020 122-5119 126-5249 127-5305 129-5370 132-5496 134-5567 134-5597
136-5663 136-5669 137-5704 141-5830 143-5948 145-5992 145-5995 145-5996 147-6065 149-6128
150-6158 152-6211 152-6232 152-6235 153-6263 154-6306 155-6373 155-6402 158-6506 158-6508
158-6509 159-6552 162-6655 165-6741 165-6742 165-6744 167-6805 167-6808 167-6811 172-6951
196-7651 198-7707 199-7743 199-7761 207-8029 207-8041 207-8059 209-8107 210-8158 210-8160
213-8255 213-8256 213-8257 213-8262 213-8263 213-8264 213-8269 213-8270 216-8348 219-8444
222-8573 223-8617 224-8699 224-8702 227-8819 228-8849 229-8882 229-8904 230-8938 230-8981
232-9059 232-9060 234-9127 234-9128 236-9187 236-9206 236-9214 237-9254 238-9281 238-9284
238-9295 239-9316 239-9319 243-9392 243-9397 243-9402 243-9407 243-9412 243-9417 244-9459
244-9467 245-9531 246-9570 246-9582 247-9619 248-9658 248-9669 248-9671 252-9804 252-9805
252-9809 252-9815 253-9867 256-9952 257-10011 259-10055 259-10061
QDPB$ #70-3093 70-3093 #71-3156 71-3156 #72-3204 72-3204 #72-3207 72-3207 #72-3210 72-3210
#73-3254 73-3254 #74-3314 74-3314 #75-3367 75-3367 #224-8709 224-8709 #260-10103 260-10103
#260-10112 260-10112 #260-10121 260-10121 #260-10126 260-10126
QDPB$S #80-3575 80-3575 #85-3784 85-3784 #160-6595 160-6595
QIOW$ #68-2937 70-3093 71-3156 72-3204 72-3207 72-3210 73-3254 74-3314 75-3367 #223-8614
224-8709 #257-9985 260-10103 260-10112 260-10121 260-10126
QIOW$S #68-2937 80-3575 85-3784 #157-6479 160-6595
RETURN #4-148 47-2107 47-2118 48-2159 49-2188 50-2221 51-2251 52-2290 53-2317 54-2362
55-2397 56-2427 70-3077 71-3141 71-3145 72-3194 73-3245 74-3297 75-3355 76-3417
77-3458 78-3512 79-3545 80-3581 80-3583 81-3629 82-3685 83-3716 84-3757 85-3792
90-3952 94-4071 99-4263 100-4283 100-4291 104-4454 106-4509 108-4605 111-4707 113-4798
117-4980 119-5051 122-5136 124-5215 126-5271 128-5342 130-5412 132-5505 134-5595 135-5631
136-5679 137-5712 138-5745 139-5796 141-5852 145-6006 146-6038 147-6069 148-6099 150-6163
152-6230 154-6311 155-6400 159-6546 162-6663 165-6774 169-6877 172-6949 196-7666 205-7999
208-8079 209-8129 211-8194 214-8297 216-8371 219-8472 222-8584 224-8672 225-8753 226-8787
227-8817 229-8899 230-8978 231-9041 233-9105 235-9180 239-9314 243-9422 244-9485 249-9717
252-9830 253-9877 256-9959 258-10027 259-10073
RVP$ #80-3575 80-3575 #85-3784 85-3784 #160-6595 160-6595
SPERR$ #6-212 191-7523 191-7525 191-7527 191-7528 191-7529 191-7531 191-7532 191-7533 191-7535
WTSE$S #87-3837 149-6126
$DEF #87-3837 87-3839
.ENB6 #157-6479 160-6603
PAROOT CREATED BY MACRO ON 17-MAY-88 AT 14:33 PAGE 50
MACRO CROSS REFERENCE CREF 04.00
MACRO NAME REFERENCES
.INH6 #157-6479 160-6598
DEFINE -- LOCAL DEFINITION MODU MACRO V05.04 Tuesday 17-May-88 14:36
Table of contents
2- 57 DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20
3- 105 DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
4- 115 DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
7- 230 DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
9- 303 DEFINE -- LOCAL DEFINITIONS 7709.20
33- 1408 COPYRIGHT PAGE
34- 1443 .ABRTC -- THE "ABORT" COMMAND 7602.23
35- 1467 .ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
38- 1562 .CONTC -- THE "CONTINUE" COMMAND 7611.17
40- 1649 .DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
41- 1687 .DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
42- 1750 .EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
43- 1790 .EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
44- 1853 .DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
45- 1891 .EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
46- 1929 .EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
47- 1942 .EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
49- 2030 .DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
50- 2083 .DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
51- 2172 .DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
52- 2213 .DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
53- 2247 .XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
56- 2338 .DISCC -- THE "DISCONNECT" COMMAND 7702.28
57- 2413 .DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
59- 2483 .DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
60- 2522 .EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
62- 2615 .EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
65- 2677 .DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
66- 2718 .DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
69- 2832 .DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.29
70- 2870 .EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
72- 2990 .EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
73- 3017 .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
78- 3194 .EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
80- 3271 .EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
81- 3299 TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY
82- 3408 STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT
83- 3466 TYPDX1 -- SYMBOLIC DEXWD1-DEXWD3 TYPE OUT
84- 3491 TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT
85- 3569 TYPDG1 -- SYMBOLIC DIAG1 TYPE OUT
86- 3613 TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT
89- 3669 .EXAD -- KL DATA PATH BOARD EXAMINES 7602.16
90- 3710 .EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
92- 3755 .EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
94- 3816 .EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
95- 3856 .EXCRA -- SMALL REGISTER EXAMINES 7609.10
98- 3908 .EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
100- 3979 .EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
101- 3996 .RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
103- 4068 .RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
105- 4135 .RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
107- 4199 .RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
110- 4332 .RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
112- 4469 .GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
114- 4624 .GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
115- 4735 .TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
116- 4798 .TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
HALTC -- HALT FUNCTION MODULE 7 MACRO V05.04 Tuesday 17-May-88 14:36
Table of contents
118- 4884 .HALTC -- THE "HALT" COMMAND 7710.11
120- 4949 .INITC -- THE "INITIALIZE" COMMAND 7602.16
121- 4975 .INIT -- INITIALIZATION SUBROUTINE 7509.26
122- 5017 .INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
125- 5130 .INICP -- INITIALIZE THE COMMAND PARSER 7601.21
130- 5267 .KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS
131- 5369 .SNAP -- ROUTINE TO MANUALLY PERFORM A SNAPSHOT
134- 5440 .MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19
137- 5540 .RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
138- 5580 .RSALL -- THE "RESET ALL" COMMAND 7602.18
139- 5606 .RSTPI -- THE "RESET PI" COMMAND 7607.21
140- 5643 .RSPAG -- THE "RESET PAG" COMMAND 7607.21
143- 5730 .RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
146- 5811 .TAKEC -- THE "TAKE" COMMAND
147- 5874 .GTR50 -- GET A .RAD50 WORD 7602.18
149- 5929 .QUITC -- THE "QUIT" COMMAND 7602.16
152- 5989 .RSTRC -- THE "RESTORE" COMMAND DISPATCH 8306.09
153- 6018 .RSACB-- THE "RESTORE AC-BLOCK" COMMAND 8306.09
154- 6082 .SAVEC -- THE "SAVE" COMMAND DISPATCH 8306.09
155- 6111 .SVACB-- THE "SAVE AC-BLOCK" COMMAND 8306.09
156- 6140 .SVPC -- THE "SAVE PC" COMMAND 8306.09
157- 6172 .SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS
159- 6239 .SAVPC -- PC READ SUBROUTINE 8306.17
161- 6347 .SCACB -- SET AC-BLOCK COMMAND
162- 6386 .SACBK -- SET AC BLOCK ROUTINE
163- 6457 .WHACB -- WHAT AC BLOCK COMMAND
164- 6487 .SWPC -- SWEEP AC BLOCK COMMAND
165- 6577 .SWPAC -- SWEEP ALL AC BLOCKS FOR FM PARITY ERROR
166- 6666 .RSSWP -- RESET PARITY STOPS FOR FM SWEEP
169- 6749 .SCOUT -- SET/CLEAR OUTPUT COMMAND
170- 6800 .SCOTL -- SET/CLEAR OUTPUT LOG COMMAND
171- 6913 .SCOTP -- SET/CLEAR OUTPUT LPT COMMAND
172- 6954 .SCOTY -- SET/CLEAR OUTPUT TTY COMMAND
173- 6984 .SCOTC -- SET/CLEAR OUTPUT CHECK ROUTINE
174- 7014 .WHOUT -- WHAT OUTPUT COMMAND
178- 7126 .SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
179- 7173 .WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
180- 7202 .SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
182- 7244 .SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
184- 7320 .STRTC -- THE "START" COMMAND 7602.26
185- 7349 .STRTT -- THE "START <TEN>" COMMAND 7710.11
187- 7412 .STRTU -- THE "START MICROCODE" COMMAND 7602.26
189- 7495 .SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
190- 7540 .WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
191- 7564 .SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
192- 7589 .WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
193- 7622 .SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
194- 7649 .WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
195- 7669 .SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
196- 7682 .WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
197- 7698 .SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
198- 7706 .SCRTY -- THE "SET / CLEAR RETRY" COMMAND 7-DEC-78
199- 7718 .WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
200- 7731 .WHRTY -- THE "WHAT RETRY" COMMAND 7-DEC-78
201- 7755 .SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
202- 7777 .SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
203- 7790 .WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
SWCMD -- SET / CLEAR / WHAT COM MACRO V05.04 Tuesday 17-May-88 14:36
Table of contents
204- 7805 .WHATV -- THE "WHAT VERSION" COMMAND 7607.21
205- 7832 .WHRDW -- DISPLAY KL10 HARDWARE ENVIRONMENT 7910.18
206- 7930 .SFREC -- SET/CLEAR FAULT COMMAND
207- 7940 WHAT FAULT CONTINUATION COMMAND
208- 7997 .SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
211- 8119 .SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
213- 8208 .SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
214- 8250 .WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
217- 8340 .WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
220- 8414 .YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
223- 8515 .SCDAT -- "SET DATE" COMMAND 7703.04
225- 8651 .WHDAT -- THE "WHAT" DATE COMMAND 7703.03
229- 8787 .SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
232- 9074 .WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
236- 9228 .ZEROC -- THE "ZERO" COMMAND 7609.15
ABRTC -- ABORT COMMAND MODULE 7 MACRO V05.04 Tuesday 17-May-88 14:36 Page 33
COPYRIGHT PAGE
1411 .TITLE ABRTC -- ABORT COMMAND MODULE 7602.23
1412
1413 .IDENT "005000"
1414 ;
1415 ; COPYRIGHT (C) 1975, 1984 BY
1416 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
1417 ;
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: ABORT COMMAND
1432 ;
1433 ; VERSION: 05-00
1434 ;
1435 ; AUTHOR: R. BELANGER
1436 ;
1437 ; DATE: 7602.23
1438 ;
1439 ; THIS MODULE CONTAINS:
1440 ;
1441 ; 1) ABORT COMMAND CODE
ABRTC -- ABORT COMMAND MODULE 7 MACRO V05.04 Tuesday 17-May-88 14:36 Page 34
.ABRTC -- THE "ABORT" COMMAND 7602.23
1443 .SBTTL .ABRTC -- THE "ABORT" COMMAND 7602.23
1444
1445 ;+
1446 ; .ABRTC -- THE "ABORT" COMMAND
1447 ;
1448 ; THIS ROUTINE CALLS THE ABORT SUBROUTINE ".ABORT", Q.V.
1449 ;
1450 ; INPUT ARGUMENTS:
1451 ;
1452 ; NONE.
1453 ;
1454 ; OUTPUT ARGUMENTS:
1455 ;
1456 ; NONE.
1457 ;
1458 ; ERROR CODES RETURNED:
1459 ;
1460 ; NONE.
1461 ;-
1462
1463 000000 .ABRTC::
1464 000000 CALL .CKEOC ; MUST HAVE E-O-C
000000 004737 000000G JSR PC,.CKEOC
1465 ; CALLR .ABORT ; ABORT CURRENT KL OPERATION AND EXIT
ABRTC -- ABORT COMMAND MODULE 7 MACRO V05.04 Tuesday 17-May-88 14:36 Page 35
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
1467 .SBTTL .ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
1468
1469 ;+
1470 ; .ABORT -- SUBROUTINE TO ABORT THE CURRENT KL PROCESS
1471 ;
1472 ; THIS SUBROUTINE ABORTS THE CURRENT KL PROCESS AND RETURNS WITH
1473 ; THE KL CLOCK RUNNING IN THE HALT LOOP. IF THE "HALT" FAILS, THE
1474 ; KL MICROCODE IS RESTARTED. THE CONTINUEABILITY OF THE KL IS
1475 ; INDICATED BY THE STATE OF THE "KF.CON" FLAG BIT (Q.V.) IN ".KLFLG".
1476 ;
1477 ; SEQUENCE OF OPERATION:
1478 ;
1479 ; (A) THE KL IS HALTED,
1480 ; (B) IF THE HALT WINS GO TO (E), OTHERWISE GO TO (C),
1481 ; (C) THE MICRO CODE IS RESTARTED AT CRAM ADDRESS 0000,
1482 ; (D) SECONDARY PROTOCOL IS STARTED
1483 ; (E) EXIT.
1484 ;
1485 ; INPUT ARGUMENTS:
1486 ;
1487 ; NONE.
1488 ;
1489 ; OUTPUT ARGUMENTS:
1490 ;
1491 ; NONE.
1492 ;
1493 ; ERROR CODES RETURNED:
1494 ;
1495 ; CFH -- CAN'T FIND KL HALT LOOP.
1496 ; FRF -- FUNCTION READ FAILED.
1497 ; FWF -- FUNCTION WRITE FAILED.
1498 ; FXF -- FUNCTION EXECUTE FAILED.
1499 ; UNL -- UCODE NOT LOADED.
1500 ;
1501 ; NOTE:
1502 ;
1503 ; THE CONTINUEABILITY OF THE KL IS NOT GUARANTEED BY THIS
1504 ; SUBROUTINE.
1505 ;-
ABRTC -- ABORT COMMAND MODULE 7 MACRO V05.04 Tuesday 17-May-88 14:36 Page 36
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
1507 .ENABL LSB
1508
1509 000004 .ABORT::
1510 000004 PUSH R0 ; SAVE R0 ON THE STACK
000004 010046 MOV R0,-(SP)
1511 000006 PUSH #.ABRT0 ; .IN CASE ".KLSTP" TRAPS
000006 012746 000032' MOV #.ABRT0,-(SP)
1512 000012 010637 000000G MOV SP,.TRPTV ; ..STACK POINTER FOR RETURN
1513 000016 CALL .KLSTP ; ..HALT THE KL
000016 004737 000000G JSR PC,.KLSTP
1514 000022 005726 TST (SP)+ ; ..CLEAR RETURN
1515 000024 005037 000000G CLR .TRPTV ; .AND TRAP VECTOR
1516 000030 000410 BR 10$ ; .AND EXIT
1517 ;
1518 000032 .ABRT0:: ; .GET HERE IF ".KLSTP" TRAPPED
1519 000032 005000 CLR R0 ; .CLEAR R0 (STACK POPPED BY ".PTTRP")
1520 000034 CALL .STUCD ; .(RE)START THE UCODE
000034 004737 000000G JSR PC,.STUCD
1521 000040 052737 000000G 000002G BIS #EF.CRI,.COMEF+2 ; .DECLARE THE COMM REGION INVALID
1522 000046 CALL ..DTP2 ; .START SECONDARY PROTOCOL
000046 004737 000000G JSR PC,..DTP2
1523 000052 10$:
1524 000052 POP R0 ; .RESTORE R0
000052 012600 MOV (SP)+,R0
1525 000054 CALL KLPSTP ; [**]
000054 004737 000000G JSR PC,KLPSTP
1526 000060 RETURN ; TO CALLER
000060 000207 RTS PC
1527
1528 .DSABL LSB
ABRTC -- ABORT COMMAND MODULE 7 MACRO V05.04 Tuesday 17-May-88 14:36 Page 37
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
1530
1531 .TITLE CONTC -- CONTINUE COMMAND MODULE 7611.17
1532
1533 .IDENT "005000"
1534
1535 ;
1536 ; COPYRIGHT (C) 1975, 1984, 1985 BY
1537 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
1538 ; AL RIGHTS RESERVED.
1539 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
1540 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
1541 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
1542 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
1543 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
1544 ;
1545 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
1546 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
1547 ; CORPORATION.
1548 ;
1549 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
1550 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
1551 ;
1552 ; VERSION: 05-00
1553 ;
1554 ; AUTHOR: R. BELANGER
1555 ;
1556 ; DATE: 7611.17
1557 ;
1558 ; THIS MODULE CONTAINS:
1559 ;
1560 ; 1) CONTINUE COMMAND CODE
CONTC -- CONTINUE COMMAND MODUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 38
.CONTC -- THE "CONTINUE" COMMAND 7611.17
1562 .SBTTL .CONTC -- THE "CONTINUE" COMMAND 7611.17
1563
1564 ;+
1565 ; .CONTC -- THE "CONTINUE" COMMAND
1566 ;
1567 ; THIS ROUTINE EXECUTES THE "CONTINUE" CONSOLE FUNCTION
1568 ;
1569 ; INPUT ARGUMENTS:
1570 ;
1571 ; NONE.
1572 ;
1573 ; OUTPUT ARGUMENTS:
1574 ;
1575 ; NONE.
1576 ;
1577 ; ERROR CORES RETURNED:
1578 ;
1579 ; KNC -- KL IS NOT CONTINUABLE
1580 ;-
1581
1582 000062 .CONTC::
1583 000062 CALL .CKEOC ; CHECK E-O-C
000062 004737 000000G JSR PC,.CKEOC
1584 000066 PUSH .KLFLG ; SAVE ".KLFLG" ON THE STACK
000066 013746 000000G MOV .KLFLG,-(SP)
1585 000072 032716 000200 BIT #KF.CON,(SP) ; .CAN WE CONTINUE THE KL?
1586 000076 001427 BEQ CONKNC ; .NO -- GIVE "KNC" ERROR
1587 000100 032716 010000 BIT #KF.SIM,(SP) ; .YES -- ARE WE IN SINGLE INSTRUCTION MODE?
1588 000104 001412 BEQ 20$ ; .NO -- JUST CONTINUE THE KL
1589 000106 032716 100000 BIT #KF.CLK,(SP) ; .YES -- IS THE CLOCK RUNNING?
1590 000112 001002 BNE 10$ ; .YES -- DON'T START IT AGAIN
1591 000114 CALL .STCLK ; .NO -- START IT
000114 004737 000000G JSR PC,.STCLK
1592 000120 10$:
1593 000120 012700 000024 MOV #FX.CON,R0 ; .SET THE "CONTINUE" BUTTON
1594 000124 CALL .FXCT ; .VIA FUNCTION EXECUTE
000124 004737 000000G JSR PC,.FXCT
1595 000130 000407 BR 30$ ; .AND EXIT
1596 ;
1597 000132 20$:
1598 000132 CALL .KLCON ; .DO THE CONTINUE
000132 004737 000000G JSR PC,.KLCON
1599 000136 032716 040000 BIT #KF.RUN,(SP) ; .WAS THE KL RUNNING BEFORE?
1600 000142 001002 BNE 30$ ; .YES -- JUST EXIT
1601 000144 005037 000000G CLR .NOERR ; RE-ENABLE ERROR DETECTION
1602 000150 30$:
1603 000150 005726 TST (SP)+ ; .CLEAR THE STACK
1604 000152 CALLR .EXITP
000152 000137 000000G JMP .EXITP
1605 ;
1606
1607 000156 CONKNC:
1608 000156 ERROR$ KNC ; ERROR -- KL NOT CONTINUEABLE
000156 012746 043363 MOV #^RKNC,-(SP)
000162 104400 TRAP TC.ERR
1609 ;
CONTC -- CONTINUE COMMAND MODUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 39
.CONTC -- THE "CONTINUE" COMMAND 7611.17
1611
1612
1613 .TITLE DECMD -- DEPOSIT / EXAMINE COMMAND DISPATCH MODULE 7603.30
1614
1615 .IDENT "005000"
1616
1617 ;
1618 ; COPYRIGHT (C) 1975, 1984, 1985 BY
1619 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
1620 ; ALL RIGHTS RESERVED.
1621 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
1622 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
1623 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
1624 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
1625 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
1626 ;
1627 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
1628 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
1629 ; CORPORATION.
1630 ;
1631 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
1632 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
1633 ;
1634 ; MODULE: DEPOSIT / EXAMINE COMMAND DISPATCH
1635 ;
1636 ; VERSION: 05-00
1637 ;
1638 ; AUTHOR: R. BELANGER
1639 ;
1640 ; DATE: 7603.30
1641 ;
1642 ; THIS MODULE CONTAINS:
1643 ;
1644 ; 1) DEPOSIT COMMAND DISPATCH CODE
1645 ; 2) DEPOSIT COMMAND DISPATCH TABLES
1646 ; 3) EXAMINE COMMAND DISPATCH CODE
1647 ; 4) EXAMINE COMMAND DISPATCH TABLES
DECMD -- DEPOSIT / EXAMINE COMM MACRO V05.04 Tuesday 17-May-88 14:36 Page 40
.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
1649 .SBTTL .DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
1650
1651 ;+
1652 ; .DPOSC -- THE "DEPOSIT" COMMAND.
1653 ;
1654 ; THIS IS THE TOP LEVEL DEPOSIT ROUTINE WHICH DISPATCHES TO THE
1655 ; PROPER ROUTINE FOR THE OBJECT TO BE DEPOSITED.
1656 ;
1657 ; INPUT ARGUMENTS:
1658 ;
1659 ; NONE.
1660 ;
1661 ; OUTPUT ARGUMENTS:
1662 ;
1663 ; NONE.
1664 ;
1665 ; ERROR CODES RETURNED:
1666 ;
1667 ; NSK -- NO SUCH KEYWORD
1668 ;-
1669
1670 000164 .DPOSC::
1671 000164 013703 000000G MOV .MEMFL,R3 ; OFFSET FLAG TO R3
1672 000170 CALL .CKARG ; LOOK FOR THE ARGUMENT
000170 004737 000000G JSR PC,.CKARG
1673 000174 001435 BEQ .DPOBJ ; DISPATCH FOR OBJECT
1674 000176 .DPOSA:: ; HERE TO DISPATCH FOR MEMORY
1675 000176 CALLR @DPOATB(R3) ; DISPATCH
000176 000173 000000' JMP @DPOATB(R3)
1676 ;
1677
1678 000000 .PSECT DATA
1679
1680 000000 DPOATB:
1681 000000 002244' .WORD .DPOST ; DEPOSIT TEN
1682 000002 001372' .WORD .DPOSE ; DEPOSIT ELEVEN WORD
1683
1684 000202 .PSECT
1685
DECMD -- DEPOSIT / EXAMINE COMM MACRO V05.04 Tuesday 17-May-88 14:36 Page 41
.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 76
1687 .SBTTL .DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
1688
1689 000202 .DPOSD:: ; DEPOSIT DECREMENT
1690 000202 CALLR @DPODTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000202 000173 000004' JMP @DPODTB(R3)
1691 ;
1692
1693 000004 .PSECT DATA
1694
1695 000004 DPODTB:
1696 000004 002572' .WORD .DPKLD ; KL WORD
1697 000006 001562' .WORD .DPEWD ; PDP-11 WORD
1698
1699 000206 .PSECT
1700
1701 000206 .DPOSI:: ; DEPOSIT INCREMENT
1702 000206 CALLR @DPOITB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000206 000173 000010' JMP @DPOITB(R3)
1703 ;
1704
1705 000010 .PSECT DATA
1706
1707 000010 DPOITB:
1708 000010 002600' .WORD .DPKLI ; KL WORD
1709 000012 001570' .WORD .DPEWI ; PDP-11 WORD
1710
1711 000212 .PSECT
1712
1713 000212 .DPOSN:: ; DEPOSIT NEXT
1714 000212 CALLR @DPONTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000212 000173 000014' JMP @DPONTB(R3)
1715 ;
1716
1717 000014 .PSECT DATA
1718
1719 000014 DPONTB:
1720 000014 002606' .WORD .DPKLN ; KL WORD
1721 000016 001576' .WORD .DPEWN ; PDP-11 WORD
1722
1723 000216 .PSECT
1724
1725 000216 .DPOSP:: ; DEPOSIT PREVIOUS
1726 000216 CALLR @DPOPTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000216 000173 000020' JMP @DPOPTB(R3)
1727 ;
1728
1729 000020 .PSECT DATA
1730
1731 000020 DPOPTB:
1732 000020 002614' .WORD .DPKLP ; KL WORD
1733 000022 001604' .WORD .DPEWP ; PDP-11 WORD
1734
1735 000222 .PSECT
1736
1737 000222 .DPOSZ:: ; DEPOSIT THIS
1738 000222 CALLR @DPOZTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000222 000173 000024' JMP @DPOZTB(R3)
DECMD -- DEPOSIT / EXAMINE COMM MACRO V05.04 Tuesday 17-May-88 14:36 Page 41-1
.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 76
1739 ;
1740
1741 000024 .PSECT DATA
1742
1743 000024 DPOZTB:
1744 000024 002564' .WORD .DPKLT ; KL WORD
1745 000026 001554' .WORD .DPEWT ; PDP-11 WORD
1746
1747 000226 .PSECT
1748
DECMD -- DEPOSIT / EXAMINE COMM MACRO V05.04 Tuesday 17-May-88 14:36 Page 42
.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
1750 .SBTTL .EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
1751
1752 ;+
1753 ; .EXAMC -- THE "EXAMINE" COMMAND DISPATCH.
1754 ;
1755 ; THIS IS THE TOP LEVEL EXAMINE ROUTINE WHICH DETERMINES WHICH
1756 ; OBJECT IS TO BE EXAMINED.
1757 ;
1758 ; INPUT ARGUMENTS:
1759 ;
1760 ; NONE.
1761 ;
1762 ; OUTPUT ARGUMENTS:
1763 ;
1764 ; NONE, THIS ROUTINE DISPATCHES TO THE PROPER ROUTINE
1765 ; FOR THE OBJECT SPECIFIED.
1766 ;
1767 ; ERROR CODES RETURNED:
1768 ;
1769 ; NONE.
1770 ;-
1771
1772 000226 .EXAMC::
1773 000226 013703 000000G MOV .MEMFL,R3 ; MEMORY FLAG TO R3
1774 000232 CALL .CKARG ; CHECK THE ARGUMENT
000232 004737 000000G JSR PC,.CKARG
1775 000236 001434 BEQ .EXOBJ ; EXAMINE THE OBJECT
1776 ;
1777 000240 .EXAMA:: ; HERE TO DISPATCH FOR MEMORY
1778 000240 CALLR @EXMDTB(R3) ; DISPATCH
000240 000173 000030' JMP @EXMDTB(R3)
1779 ;
1780
1781 000030 .PSECT DATA
1782
1783 000030 EXMDTB:
1784 000030 002652' .WORD .EXAMT ; EXAMINE TEN
1785 000032 001642' .WORD .EXAME ; EXAMINE ELEVEN WORD
1786
1787 000244 .PSECT
1788
DECMD -- DEPOSIT / EXAMINE COMM MACRO V05.04 Tuesday 17-May-88 14:36 Page 43
.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 76
1790 .SBTTL .EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
1791
1792 000244 .EXAMD:: ; EXAMINE DECREMENT
1793 000244 CALLR @EXADTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000244 000173 000034' JMP @EXADTB(R3)
1794 ;
1795
1796 000034 .PSECT DATA
1797
1798 000034 EXADTB:
1799 000034 003244' .WORD .EXKLD ; KL WORD
1800 000036 002124' .WORD .EXEWD ; PDP-11 WORD
1801
1802 000250 .PSECT
1803
1804 000250 .EXAMI:: ; EXAMINE INCREMENT
1805 000250 CALLR @EXAITB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000250 000173 000040' JMP @EXAITB(R3)
1806 ;
1807
1808 000040 .PSECT DATA
1809
1810 000040 EXAITB:
1811 000040 003252' .WORD .EXKLI ; KL WORD
1812 000042 002132' .WORD .EXEWI ; PDP-11 WORD
1813
1814 000254 .PSECT
1815
1816 000254 .EXAMN:: ; EXAMINE NEXT
1817 000254 CALLR @EXANTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000254 000173 000044' JMP @EXANTB(R3)
1818 ;
1819
1820 000044 .PSECT DATA
1821
1822 000044 EXANTB:
1823 000044 003260' .WORD .EXKLN ; KL WORD
1824 000046 002140' .WORD .EXEWN ; PDP-11 WORD
1825
1826 000260 .PSECT
1827
1828 000260 .EXAMP:: ; EXAMINE PREVIOUS
1829 000260 CALLR @EXAPTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000260 000173 000050' JMP @EXAPTB(R3)
1830 ;
1831
1832 000050 .PSECT DATA
1833
1834 000050 EXAPTB:
1835 000050 003266' .WORD .EXKLP ; KL WORD
1836 000052 002146' .WORD .EXEWP ; PDP-11 WORD
1837
1838 000264 .PSECT
1839
1840 000264 .EXAMZ:: ; EXAMINE THIS
1841 000264 CALLR @EXAZTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000264 000173 000054' JMP @EXAZTB(R3)
DECMD -- DEPOSIT / EXAMINE COMM MACRO V05.04 Tuesday 17-May-88 14:36 Page 43-1
.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 76
1842 ;
1843
1844 000054 .PSECT DATA
1845
1846 000054 EXAZTB:
1847 000054 003236' .WORD .EXKLT ; KL WORD
1848 000056 002116' .WORD .EXEWT ; PDP-11 WORD
1849
1850 000270 .PSECT
1851
DECMD -- DEPOSIT / EXAMINE COMM MACRO V05.04 Tuesday 17-May-88 14:36 Page 44
.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
1853 .SBTTL .DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
1854
1855 ;+
1856 ; .DPOBJ -- DEPOSIT "OBJECT" COMMAND DISPATCH
1857 ;
1858 ; THIS SUBROUTINE PERFORMS THE DISPATCH FOR THE SPECIFIED DEPOSIT OBJECT
1859 ;
1860 ; INPUT ARGUMENTS:
1861 ;
1862 ; R3 CONTAINS THE OLD MEMORY TYPE OFFSET
1863 ;
1864 ; OUTPUT ARGUMENTS:
1865 ;
1866 ; R3 CONTAINS THE CURRENT MEMORY TYPE OFFSET
1867 ;
1868 ; ERROR CODES RETURNED:
1869 ;
1870 ; NONE.
1871 ;-
1872
1873
1874 000270 .DPOBJ::
1875 000270 012700 000000G MOV #.DPOTB,R0 ; TABLE POINTER TO R0
1876 000274 CALL .TSCAN ; SCAN THE TABLE FOR OBJECT
000274 004737 000000G JSR PC,.TSCAN
1877 000300 012001 MOV (R0)+,R1 ; LEGAL BITS TO R1
1878 000302 005101 COM R1 ; INVERT THEM
1879 000304 040137 000000G BIC R1,.LGLWD ; SET UP NEW LEGAL WORD
1880 000310 CALLR @(R0)+ ; DISPATCH FOR OBJECT
000310 000130 JMP @(R0)+
1881 ;
1882 000312 .DPOKL::
1883 000312 005003 CLR R3 ; TEN MEMORY OFFSET TO R3
1884 000314 CALLR .DPOST ; GO DO IT
000314 000137 002244' JMP .DPOST
1885 ;
1886 000320 .DPOEL::
1887 000320 012703 000002 MOV #^D2,R3 ; PDP-11 WORD OFFSET TO R3
1888 000324 CALLR .DPOSE ; GO DO IT
000324 000137 001372' JMP .DPOSE
1889 ;
DECMD -- DEPOSIT / EXAMINE COMM MACRO V05.04 Tuesday 17-May-88 14:36 Page 45
.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
1891 .SBTTL .EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
1892
1893 ;+
1894 ; .EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH.
1895 ;
1896 ; THIS ROUTINE IS THE DISPATCH FOR ALL OF THE "EXAMINE <OBJECT>" COMMANDS.
1897 ;
1898 ; INPUT ARGUMENTS:
1899 ;
1900 ; NONE.
1901 ;
1902 ; OUTPUT ARGUMENTS:
1903 ;
1904 ; NONE.
1905 ;
1906 ; ERROR CODES RETURNED:
1907 ;
1908 ; NSC -- NO SUCH COMMAND.
1909 ;-
1910
1911 000330 .EXOBJ::
1912 000330 012700 000000G MOV #.EXMTB,R0 ; EXAMINE TABLE POINTER TO R0
1913 000334 CALL .TSCAN ; SCAN THE TABLE
000334 004737 000000G JSR PC,.TSCAN
1914 000340 011001 MOV (R0),R1 ; LEGAL BITS TO R1
1915 000342 005101 COM R1 ; INVERT THEM
1916 000344 040137 000000G BIC R1,.LGLWD ; SET UP NEW LEGAL WORD
1917 000350 014002 MOV -(R0),R2 ; NAME POINTER TO R2
1918 000352 CALLR @4(R0) ; READ AND PRINT THE REGISTER
000352 000170 000004 JMP @4(R0)
1919 ;
1920 000356 .EXMEL::
1921 000356 012703 000002 MOV #^D2,R3 ; PDP-11 OFFSET TO R3
1922 000362 CALLR .EXAME ; DO THE EXAMINE
000362 000137 001642' JMP .EXAME
1923 ;
1924 000366 .EXMKL::
1925 000366 005003 CLR R3 ; KL MEMORY OFFSET TO R3
1926 000370 CALLR .EXAMT ; DO THE EXAMINE
000370 000137 002652' JMP .EXAMT
1927 ;
DECMD -- DEPOSIT / EXAMINE COMM MACRO V05.04 Tuesday 17-May-88 14:36 Page 46
.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>"
1929 .SBTTL .EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
1930
1931 000374 .EDEWD::
1932 000374 .EDEWP::
1933 000374 013700 000000G MOV .EDELA,R0 ; ADDRESS TO R0
1934 000400 162700 000002 SUB #^D2,R0 ; PREVIOUS WORD ADDRESS
1935 000404 RETURN ; TO CALLER
000404 000207 RTS PC
1936 000406 .EDEWI::
1937 000406 .EDEWN::
1938 000406 013700 000000G MOV .EDELA,R0 ; ADDRESS TO R0
1939 000412 062700 000002 ADD #^D2,R0 ; NEXT WORD ADDRESS
1940 000416 RETURN ; TO CALLER
000416 000207 RTS PC
DECMD -- DEPOSIT / EXAMINE COMM MACRO V05.04 Tuesday 17-May-88 14:36 Page 47
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM
1942 .SBTTL .EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
1943
1944 .ENABL LSB
1945
1946 000420 .EDKLP::
1947 000420 CALL .EDKLC ; DO COMMON CODE
000420 004737 000516' JSR PC,.EDKLC
1948 000424 CALL .TPDEC ; DECREMENT ONCE
000424 004737 000000G JSR PC,.TPDEC
1949 000430 000422 BR 10$ ; EXIT THRU COMMON CODE
1950 ;
1951 000432 .EDKLN::
1952 000432 CALL .EDKLC ; DO COMMON CODE
000432 004737 000516' JSR PC,.EDKLC
1953 000436 CALL .TPINC ; INCREMENT ONCE
000436 004737 000000G JSR PC,.TPINC
1954 000442 000415 BR 10$ ; EXIT THRU COMMON CODE
1955 ;
1956 000444 .EDKLD::
1957 000444 CALL .EDKLC ; DO COMMON CODE
000444 004737 000516' JSR PC,.EDKLC
1958 000450 012701 000000G MOV #.KLINC,R1 ; POINT TO THE INCREMENT
1959 000454 CALL .TPSUB ; DO THE SUBTRACTION
000454 004737 000000G JSR PC,.TPSUB
1960 000460 000406 BR 10$ ; EXIT THRU COMMON CODE
1961 ;
1962 000462 .EDKLI::
1963 000462 CALL .EDKLC ; DO COMMON CODE
000462 004737 000516' JSR PC,.EDKLC
1964 000466 012701 000000G MOV #.KLINC,R1 ; POINT TO THE INCREMENT
1965 000472 CALL .TPADD ; DO THE ADDITION
000472 004737 000000G JSR PC,.TPADD
1966 000476 10$:
1967 000476 032760 177600 000002 BIT #^C177,2(R0) ; CHECK THE RESULT
1968 000504 001015 BNE EDNKLA ; ERROR IF TOO LARGE
1969 000506 005760 000004 TST 4(R0) ; HOW ABOUT HIGH BITS?
1970 000512 001012 BNE EDNKLA ; TOO LARGE
1971 000514 000410 BR 20$ ; ALL OK -- RETURN
1972 ;
1973 000516 .EDKLC::
1974 000516 012700 000000G MOV #.EDKLX,R0 ; AUX ADDRESS POINTER TO R0
1975 000522 012701 000000G MOV #.EDKLA,R1 ; EXAM / DEPOS ADDRESS TO R1
1976 000526 012120 MOV (R1)+,(R0)+ ; LOAD CURRENT ADDRESS
1977 000530 012120 MOV (R1)+,(R0)+ ; INTO AUXILLIARY ADDRESS BUFFER
1978 000532 011110 MOV (R1),(R0) ; SO
1979 000534 024040 CMP -(R0),-(R0) ; BACK THE POINTER UP
1980 000536 20$:
1981 000536 RETURN ; AND GO ON
000536 000207 RTS PC
1982
1983 .DSABL LSB
1984
1985 000540 EDNKLA:
1986 000540 ERROR$ KLA ; ERROR -- KL ADDRESS ERROR
000540 012746 043241 MOV #^RKLA,-(SP)
000544 104400 TRAP TC.ERR
1987 ;
DECMD -- DEPOSIT / EXAMINE COMM MACRO V05.04 Tuesday 17-May-88 14:36 Page 48
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM
1989
1990 .TITLE DFUNC -- KL10 DIAGNOSTIC FUNCTION MODULE 7603.30
1991
1992 .IDENT "007030"
1993 ;
1994 ; COPYRIGHT (C) 1975, 1984, 1985 BY
1995 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
1996 ; ALL RIGHTS RESERVED.
1997 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
1998 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
1999 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2000 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
2001 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2002 ;
2003 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2004 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2005 ; CORPORATION.
2006 ;
2007 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2008 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2009 ;
2010 ; MODULE: KL10 DIAGNOSTIC FUNCTION
2011 ;
2012 ; VERSION: 06-13
2013 ;
2014 ; AUTHOR: R. BELANGER
2015 ;
2016 ; DATE: 7603.30
2017 ;
2018 ; THIS MODULE CONTAINS:
2019 ;
2020 ; 1) KL10 DIAGNOSTIC FUNCTION CODE
2021 ;
2022 ; EDIT HISTORY
2023 ;
2024 ;23-Jun-83 TCO 6.1675 D. Weaver
2025 ; Don't HALT/RESTART KL when doing function reads.
2026 ;
2027
2028
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO V05.04 Tuesday 17-May-88 14:36 Page 49
.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
2030 .SBTTL .DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
2031
2032 ;+
2033 ; .DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE
2034 ;
2035 ; THIS ROUTINE WILL INPUT A DIAGNOSTIC FUNCTION READ, WRITE, OR
2036 ; EXECUTE CODE AND RETURN IT IN R0, AFTER CHECKING THAT THE KL
2037 ; IS NOT RUNNING, AND SEEING THAT THE FUNCTION CODE IS IN RANGE.
2038 ;
2039 ; INPUT ARGUMENTS:
2040 ;
2041 ; NONE.
2042 ;
2043 ; OUTPUT ARGUMENTS:
2044 ;
2045 ; R0 HOLDS THE FUNCTION CODE.
2046 ;
2047 ; ERROR CODES RETURNED:
2048 ;
2049 ; IFC -- ILLEGAL FUNCTION CODE
2050 ; MRA -- MISSING REQUIRED ARGUMENT.
2051 ;-
2052
2053 000546 .DFCOM::
2054 000546 CALL .CKRUN ; SEE IF THE KL IS RUNNING
000546 004737 000000G JSR PC,.CKRUN
2055 000552 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
2056 000554 005046 CLR -(SP) ; .
2057 000556 005046 CLR -(SP) ; ..
2058 000560 010600 MOV SP,R0 ; ...POINT TO IT
2059 000562 CALL .GTKLN ; ...READ THE FUNCTION CODE
000562 004737 000000G JSR PC,.GTKLN
2060 000566 005760 000004 TST 4(R0) ; ...SEE IF WE HAVE A LEGAL CODE
2061 000572 001031 BNE DFCIFC ; ...NO -- COMPLAIN
2062 000574 005760 000002 TST 2(R0) ; ...
2063 000600 001026 BNE DFCIFC ; ...
2064 000602 105760 000001 TSTB 1(R0) ; ...
2065 000606 001023 BNE DFCIFC ; ...
2066 000610 132710 177740 BITB #^C37,(R0) ; ...IS THIS AN EXECUTE?
2067 000614 001414 BEQ 10$ ; ...NO -- CONTINUE
2068 000616 005737 000066' TST STPKL ; ...WANT TO STOP KL?
2069 000622 001411 BEQ 10$ ; ...NO -- MOVE ON
2070 000624 032737 040000 000000G BIT #KF.RUN,.KLFLG ; ...IS THE KL RUNNING?
2071 000632 001405 BEQ 10$ ; ...NO -- JUST KEEP GOING
2072 000634 013737 000000G 000000G MOV .KLFLG,.SVKLF ; ...SAVE THE CURRENT FLAGS
2073 000642 CALL .KLHLT ; ...HALT THE KL
000642 004737 000000G JSR PC,.KLHLT
2074 000646 10$:
2075 000646 POP R0 ; ...GET THE CODE INTO R0
000646 012600 MOV (SP)+,R0
2076 000650 006300 ASL R0 ; ..TIMES 2
2077 000652 022626 CMP (SP)+,(SP)+ ; ..CLEAR THE STACK
2078 000654 RETURN ; TO CALLER
000654 000207 RTS PC
2079 000656 DFCIFC:
2080 000656 ERROR$ IFC ; ERROR -- ILLEGAL FUNCTION CODE
000656 012746 034463 MOV #^RIFC,-(SP)
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO V05.04 Tuesday 17-May-88 14:36 Page 49-1
.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
000662 104400 TRAP TC.ERR
2081 ;
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO V05.04 Tuesday 17-May-88 14:36 Page 50
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
2083 .SBTTL .DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
2084
2085 ;+
2086 ; .DFRED -- DIAGNOSTIC FUNCTION READ
2087 ;
2088 ; THIS ROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION READ AND DISPLAY
2089 ; THE RESULT ON THE CONSOLE DEVICE.
2090 ;
2091 ; INPUT ARGUMENTS:
2092 ;
2093 ; NONE.
2094 ;
2095 ; OUTPUT ARGUMENTS:
2096 ;
2097 ; NONE.
2098 ;
2099 ; ERROR CODES RETURNED:
2100 ;
2101 ; IFC -- ILLEGAL FUNCTION CODE.
2102 ; FRF -- FUNCTION READ FAILED.
2103 ;-
2104
2105 000664 .DFRED::
2106 000664 005037 000066' CLR STPKL ; [6,1675]FLAG NOT TO STOP KL
2107 000670 CALL .DFCOM ; DO COMMON CODE
000670 004737 000546' JSR PC,.DFCOM
2108 000674 010037 000060' MOV R0,STOPFR ; [5.1014]SAVE START FUNCTION CODE
2109 000700 CALL .CKEOS ; CHECK END OF SYMBOL
000700 004737 000000G JSR PC,.CKEOS
2110 000704 1$: CALL .XFRCK ; SEE THAT WE HAVE A LEGAL READ CODE
000704 004737 001260' JSR PC,.XFRCK
2111 000710 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
2112 000712 005046 CLR -(SP) ; .
2113 000714 005046 CLR -(SP) ; ..
2114 000716 010601 MOV SP,R1 ; ...POINT TO THE BUFFER
2115 000720 PUSH R0 ; ...SAVE THE READ CODE
000720 010046 MOV R0,-(SP)
2116 000722 CALL .FREAD ; ....DO THE READ
000722 004737 000000G JSR PC,.FREAD
2117 000726 012700 000000' MOV #DFRMSG,R0 ; ....MESSAGE POINTER TO R0
2118 000732 CALL .TYMSG ; ....TYPE IT
000732 004737 000000G JSR PC,.TYMSG
2119 000736 011600 MOV (SP),R0 ; ....READ CODE TO R0
2120 000740 006200 ASR R0 ; ....DIVIDED BY 2
2121 000742 CALL .TYP3D ; ....PRINT IT
000742 004737 000000G JSR PC,.TYP3D
2122 000746 CALL .TYSLS ; ....AND A SLASH
000746 004737 000000G JSR PC,.TYSLS
2123 000752 CALL .TYSPC ; ....AND A SPACE
000752 004737 000000G JSR PC,.TYSPC
2124 000756 010100 MOV R1,R0 ; ....POINT TO THE DATA
2125 000760 CALL .TYKLN ; ....PRINT IT
000760 004737 000000G JSR PC,.TYKLN
2126 000764 CALL .TCRLF ; ....END THE LINE
000764 004737 000000G JSR PC,.TCRLF
2127 000770 POP R0 ; ....READ CODE INTO R0
000770 012600 MOV (SP)+,R0
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO V05.04 Tuesday 17-May-88 14:36 Page 50-1
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
2128 000772 062706 000006 ADD #^D6,SP ; ...CLEAR THE STACK
2129 000776 005737 000062' 5$: TST RNGFR ; [5.1014]IS THIS A RANGE IN PROGRESS?
2130 001002 001406 BEQ 7$ ; [5.1014]NO -- GO ON
2131 001004 020037 000060' CMP R0,STOPFR ; [5.1014]YES -- ARE WE DONE?
2132 001010 001403 BEQ 7$ ; [5.1014]YES -- GO NO
2133 001012 063700 000064' ADD INCFR,R0 ; [5.1014]NO -- NEXT READ
2134 001016 000732 BR 1$ ; [5.1014]DO NEXT READ
2135 001020 005037 000062' 7$: CLR RNGFR ; [5.1014]RANGE DONE
2136 001024 122715 000054 CMPB #',,(R5) ; [5.1014]IS THIS A LIST?
2137 001030 001002 BNE 10$ ; [5.1014]NO -- GO ON
2138 001032 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COMMA
2139 001034 000713 BR .DFRED ; [5.1014]DO NEXT
2140 001036 122715 000072 10$: CMPB #':,(R5) ; [5.1014]IS THIS A LIST?
2141 001042 001031 BNE 30$ ; [5.1014]NO -- GO ON
2142 001044 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COMMA
2143 001046 PUSH R1 ; [6,1675]SAVE R1
001046 010146 MOV R1,-(SP)
2144 001050 005037 000066' CLR STPKL ; [6,1675]DON'T STOP KL
2145 001054 CALL .DFCOM ; [5.1014]DO COMMON CODE
001054 004737 000546' JSR PC,.DFCOM
2146 001060 POP R1 ; [6,1675]RESTORE R1
001060 012601 MOV (SP)+,R1
2147 001062 CALL .CKEOS ; [5.1014]CHECK END OF SYMBOL
001062 004737 000000G JSR PC,.CKEOS
2148 001066 005237 000062' INC RNGFR ; [5.1014]SET RANGE ON PROGRESS FLAG
2149 001072 012737 000002 000064' MOV #2,INCFR ; [5.1014]SET FORWARD RANGE DEFAULT
2150 001100 020037 000060' CMP R0,STOPFR ; [5.1014]FORWARD RANGE
2151 001104 003002 BGT 20$ ; [5.1014]YES -- GO ON
2152 001106 005437 000064' NEG INCFR ; [5.1014]NO -- NEGATE INCREMENT
2153 001112 20$: PUSH STOPFR ; [5.1014]SAVE INITIAL FUNCTION READ
001112 013746 000060' MOV STOPFR,-(SP)
2154 001116 010037 000060' MOV R0,STOPFR ; [5.1014]SET STOPFR CODE
2155 001122 POP R0 ; [5.1014]SET R0 TO INITIAL READ
001122 012600 MOV (SP)+,R0
2156 001124 000724 BR 5$ ; [5.1014]DO RANGE INCREMENT
2157 001126 30$: RETURN ; [5.1014]EXIT
001126 000207 RTS PC
2158 ;
2159
2160 000000 .PSECT MESSAG
2161 000000 DFRMSG:
2162 000000 106 122 040 .ASCIZ %FR %
000003 000
2163 000060 .PSECT DATA
2164
2165 000060 000000 STOPFR: .WORD 0 ; [5.1014]FINAL/FIRST FUNCTION READ CODE
2166 000062 000000 RNGFR: .WORD 0 ; [5.1014]RANGE IN PROGRESS FLAG
2167 000064 000000 INCFR: .WORD 0 ; [5.1014]INCREMENT VALUE
2168 000066 000000 STPKL: .WORD 0 ; [6,1675]STOP KL FLAG
2169
2170 001130 .PSECT
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO V05.04 Tuesday 17-May-88 14:36 Page 51
.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
2172 .SBTTL .DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
2173
2174 ;+
2175 ; .DFWRT -- DIAGNOSTIC FUNCTION WRITE
2176 ;
2177 ; THIS ROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION WRITE
2178 ;
2179 ; INPUT ARGUMENTS:
2180 ;
2181 ; NONE.
2182 ;
2183 ; OUTPUT ARGUMENTS:
2184 ;
2185 ; NONE.
2186 ;
2187 ; ERROR CODES RETURNED:
2188 ;
2189 ; IFC -- ILLEGAL FUNCTION CODE.
2190 ; FWF -- FUNCTION WRITE FAILED.
2191 ;-
2192
2193 001130 .DFWRT::
2194 001130 012737 000001 000066' MOV #1,STPKL ; [6.1675]STOP KL IF RUNNING
2195 001136 CALL .DFCOM ; DO COMMON CODE
001136 004737 000546' JSR PC,.DFCOM
2196 001142 CALL .CKCOL ; CHECK END-OF-SYMBOL
001142 004737 000000G JSR PC,.CKCOL
2197 001146 CALL .XFWCK ; SEE IF WE HAVE A GOOD WRITE CODE
001146 004737 001276' JSR PC,.XFWCK
2198 001152 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
2199 001154 005046 CLR -(SP) ; .
2200 001156 005046 CLR -(SP) ; ..
2201 001160 010601 MOV SP,R1 ; ...SAVE THE BUFFER POINTER
2202 001162 PUSH R0 ; ...SAVE THE WRITE CODE
001162 010046 MOV R0,-(SP)
2203 001164 010100 MOV R1,R0 ; ....POINT TO THE BUFFER
2204 001166 CALL .GTKLN ; ....READ THE DATA
001166 004737 000000G JSR PC,.GTKLN
2205 001172 CALL .CKEOS ; ....CHECK SYMBOL END
001172 004737 000000G JSR PC,.CKEOS
2206 001176 010001 MOV R0,R1 ; ....DATA POINTER TO R1
2207 001200 POP R0 ; ....GET THE WRITE CODE
001200 012600 MOV (SP)+,R0
2208 001202 CALL .FWRIT ; ...DO THE WRITE
001202 004737 000000G JSR PC,.FWRIT
2209 001206 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
2210 001212 CALLR .RSTKL ; RESTORE THE KL AND EXIT
001212 000137 000000G JMP .RSTKL
2211 ;
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO V05.04 Tuesday 17-May-88 14:36 Page 52
.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
2213 .SBTTL .DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
2214
2215 ;+
2216 ; .DFXCT -- DIAGNOSTIC FUNCTION EXECUTE
2217 ;
2218 ; THIS SUBROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
2219 ;
2220 ; INPUT ARGUMENTS:
2221 ;
2222 ; NONE.
2223 ;
2224 ; OUTPUT ARGUMENTS:
2225 ;
2226 ; NONE.
2227 ;
2228 ; ERROR CODES RETURNED:
2229 ;
2230 ; IFC -- ILLEGAL FUNCTION CODE.
2231 ; FXF -- FUNCTION EXECUTE FAILED.
2232 ;-
2233
2234 001216 .DFXCT::
2235 001216 012737 000001 000066' MOV #1,STPKL ; [6.1675]STOP KL IF RUNNING
2236 001224 CALL .DFCOM ; DO COMMON CODE
001224 004737 000546' JSR PC,.DFCOM
2237 001230 CALL .CKEOS ; CHECK SYMBOL END
001230 004737 000000G JSR PC,.CKEOS
2238 001234 CALL .XFXCK ; CHECK THE FXCT CODE OUT
001234 004737 001314' JSR PC,.XFXCK
2239 001240 CALL .FXCT ; DO THE FUNCTION EXECUTE
001240 004737 000000G JSR PC,.FXCT
2240 001244 122715 000054 CMPB #',,(R5) ; [5.1014]IS THIS A LIST
2241 001250 001002 BNE 10$ ; [5.1014]NO -- GO ON
2242 001252 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COMMA
2243 001254 000760 BR .DFXCT ; [5.1014]DO NEXT
2244 001256 10$: RETURN ; [5.1014]EXIT
001256 000207 RTS PC
2245 ;
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO V05.04 Tuesday 17-May-88 14:36 Page 53
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
2247 .SBTTL .XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
2248
2249 ;+
2250 ; .XFRCK -- SUBROUTINE TO RANGE CHECK FUNCTION READ CODES.
2251 ; .XFWCK -- SUBROUTINE TO RANGE CHECK FUNCTION WRITE CODES.
2252 ; .XFXCK -- SUBROUTINE TO RANGE CHECK FUNCTION EXECUTE CODES.
2253 ;
2254 ; THESE SUBROUTINES RANGE CHECK THE ARGUMENT CODES FOR THE FUNCTION
2255 ; READ, WRITE AND EXECUTE SUBROUTINES.
2256 ;
2257 ; INPUT ARGUMENTS:
2258 ;
2259 ; R0 HOLDS THE FUNCTION CODE TO BE CHECKED
2260 ;
2261 ; OUTPUT ARGUMENTS:
2262 ;
2263 ; NONE.
2264 ;
2265 ; ERROR CODES RETURNED:
2266 ;
2267 ; IFC -- ILLEGAL FUNCTION CODE.
2268 ; OFC -- ODD FUNCTION CODE.
2269 ;-
2270
2271 .ENABL LSB
2272
2273 001260 .XFRCK:: ; HERE TO CHECK FUNCTION READ CODE
2274 001260 020027 000200 CMP R0,#FR.100 ; IS IT .LT. FR.100?
2275 001264 103422 BLO FNCIFC ; NO -- ERROR
2276 001266 020027 000376 CMP R0,#FR.177 ; YES -- IS IT .GT. FR.177?
2277 001272 101017 BHI FNCIFC ; YES -- ERROR
2278 001274 000412 BR 10$ ; NO -- SEE IF IT'S ODD
2279 ;
2280 001276 .XFWCK:: ; HERE TO CHECK FUNCTION WRITE CODE
2281 001276 020027 000100 CMP R0,#FW.040 ; IS IT .LT. FW.040?
2282 001302 103413 BLO FNCIFC ; NO -- ERROR
2283 001304 020027 000176 CMP R0,#FW.LAR ; YES -- IS IT .GT. FW.077?
2284 001310 101010 BHI FNCIFC ; YES -- ERROR
2285 001312 000403 BR 10$ ; NO -- SEE IF IT'S ODD
2286 ;
2287 001314 .XFXCK:: ; HERE TO CHECK FUNCTION EXECUTE CODE
2288 001314 020027 000076 CMP R0,#FX.037 ; IS IT .GT. FX.037?
2289 001320 101004 BHI FNCIFC ; YES -- ERROR
2290 001322 10$:
2291 001322 032700 000001 BIT #BIT00,R0 ; NO -- IS IT ODD?
2292 001326 001004 BNE FNCOFC ; YES -- ERROR
2293 001330 RETURN ; NO -- ALL OK, RETURN TO CALLER
001330 000207 RTS PC
2294 001332 FNCIFC:
2295 001332 ERROR$ IFC ; ERROR -- ILLEGAL FUNCTION CODE
001332 012746 034463 MOV #^RIFC,-(SP)
001336 104400 TRAP TC.ERR
2296 ;
2297 001340 FNCOFC:
2298 001340 ERROR$ OFC ; ERROR -- ODD FUNCTION CODE
001340 012746 057263 MOV #^ROFC,-(SP)
001344 104400 TRAP TC.ERR
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO V05.04 Tuesday 17-May-88 14:36 Page 53-1
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
2299 ;
2300
2301 .DSABL LSB
DISCC -- DISCONNECT COMMAND MOD MACRO V05.04 Tuesday 17-May-88 14:36 Page 55
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
2304 .TITLE DISCC -- DISCONNECT COMMAND MODULE 7702.28
2305
2306 .IDENT "005000"
2307 ;
2308 ; COPYRIGHT (C) 1975, 1984, 1985 BY
2309 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
2310 ; ALL RIGHTS RESERVED.
2311 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
2312 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
2313 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2314 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
2315 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2316 ;
2317 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2318 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2319 ; CORPORATION.
2320 ;
2321 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2322 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2323 ;
2324 ; MODULE: DISCONNECT COMMAND
2325 ;
2326 ; VERSION: 05-00
2327 ;
2328 ; AUTHOR: R. BELANGER
2329 ;
2330 ; DATE: 7702.28
2331 ;
2332 ; THIS MODULE CONTAINS:
2333 ;
2334 ; 1) DISCONNECT COMMAND CODE
2335
2336 .MCALL DIR$,RQST$
DISCC -- DISCONNECT COMMAND MOD MACRO V05.04 Tuesday 17-May-88 14:36 Page 56
.DISCC -- THE "DISCONNECT" COMMAND 7702.28
2338 .SBTTL .DISCC -- THE "DISCONNECT" COMMAND 7702.28
2339
2340 ;+
2341 ; .DISCC -- THE "DISCONNECT" COMMAND
2342 ;
2343 ; THIS SUBROUTINE CHECKS THE SYNTAX OF THE "DISCONNECT" COMMAND
2344 ; AND REQUESTS THE KLINIK DISCONNECT TASK, "KLDISC". THE KLINIK DISCONNECT
2345 ; TASK WILL THEN DISCONNECT THE KLINIK LINE, LOG THE DISCONNECT AND
2346 ; RETURN THE THE RSX20F COMMAND PARSER.
2347 ;
2348 ; INPUT ARGUMENTS:
2349 ;
2350 ; NONE.
2351 ;
2352 ; OUTPUT ARGUMENTS:
2353 ;
2354 ; NONE.
2355 ;
2356 ; ERROR CODES RETURNED:
2357 ;
2358 ; NONE.
2359 ;-
2360
2361 001346 .DISCC::
2362 001346 CALL .CKEOC ; MUST HAVE E-O-C
001346 004737 000000G JSR PC,.CKEOC
2363 001352 112737 000003 000001G MOVB #3,.KLNSW+1 ; FLAG DISCONNECT
2365 001360 DIR$ #RQSKLD ; REQUEST DISCONNECT TASK
001360 012746 000000' MOV #RQSKLD,-(SP)
001364 104375 EMT 375
2367 001366 CALLR .EXITP ; GO AWAY FOR NOW
001366 000137 000000G JMP .EXITP
2368 ;
2369
2370 000000 .PSECT DPBS
2371
2372 000000 RQSKLD:
2373 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 ,
2374
2375 001372 .PSECT
2376 .TITLE EDELE -- DEPOSIT / EXAMINE ELEVEN COMMAND MODULE 7603.30
2377
2378 .IDENT "006130"
2379
2380 ;
2381 ; COPYRIGHT (C) 1975, 1984, 1985 BY
2382 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
2383 ; ALL RIGHTS RESERVED.
2384 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
2385 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
2386 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2387 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
EDELE -- DEPOSIT / EXAMINE ELEV MACRO V05.04 Tuesday 17-May-88 14:36 Page 56-1
.DISCC -- THE "DISCONNECT" COMMAND 7702.28
2388 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2389 ;
2390 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2391 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2392 ; CORPORATION.
2393 ;
2394 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2395 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2396 ;
2397 ; MODULE: DEPOSIT / EXAMINE ELEVEN COMMAND
2398 ;
2399 ; VERSION: 06-13
2400 ;
2401 ; AUTHOR: R. BELANGER
2402 ;
2403 ; DATE: 7603.30
2404 ;
2405 ; THIS MODULE CONTAINS:
2406 ;
2407 ; 1) DEPOSIT / EXAMINE ELEVEN COMMAND CODE
2408 ;
2409 ;29-Apr-83 TCO 6.1599 David Weaver
2410 ; EXAMINE ELEVEN addr1:addr2 can loop over memory if addr2 is odd or
2411 ; the range crosses 100000.
EDELE -- DEPOSIT / EXAMINE ELEV MACRO V05.04 Tuesday 17-May-88 14:36 Page 57
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
2413 .SBTTL .DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
2414
2415 ;+
2416 ; .DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND.
2417 ;
2418 ; THIS SUBROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE PDP-11
2419 ; ADDRESS SPECIFIED.
2420 ;
2421 ; INPUT ARGUMENTS:
2422 ;
2423 ; NONE.
2424 ;
2425 ; OUTPUT ARGUMENTS:
2426 ;
2427 ; THE PDP-11 ADDRESS DEPOSITED IS IN ".EDELA"
2428 ; THE DATA DEPOSITED IS IN ".ELDDW".
2429 ;
2430 ; ERROR CODES RETURNED:
2431 ;
2432 ; NONE.
2433 ;-
2434
2435 001372 .DPOSE::
2436 001372 CALL .CKARG ; SEE IF WE HAVE AN ARGUMENT
001372 004737 000000G JSR PC,.CKARG
2437 001376 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
2438 001400 012700 000000G MOV #.DPETB,R0 ; DEPOSIT EXTENSION TABLE POINTER TO R0
2439 001404 CALL .TSCAN ; SCAN IT
001404 004737 000000G JSR PC,.TSCAN
2440 001410 CALLR @2(R0) ; DISPATCH FOR IT
001410 000170 000002 JMP @2(R0)
2441 ;
2442 001414 10$:
2443 001414 CALL .GTELN ; READ THE ADDRESS
001414 004737 000000G JSR PC,.GTELN
2444
2445 001420 032700 000001 BIT #BIT00,R0 ; IS IT ODD?
2446 001424 001050 BNE DPOOAI ; YES -- GIVE "OAI" ERROR
2447 001426 PUSH R0 ; NO -- SAVE IT
001426 010046 MOV R0,-(SP)
2448 001430 CALL .CKCOL ; .CHECK SEPARATOR
001430 004737 000000G JSR PC,.CKCOL
2449 001434 CALL .GTELN ; .READ THE DATA
001434 004737 000000G JSR PC,.GTELN
2450 001440 010001 MOV R0,R1 ; .DATA TO R1
2451 001442 POP R0 ; .ADDRESS TO R0
001442 012600 MOV (SP)+,R0
2452
2453 ; [CONTINUED ON THE FOLLOWING PAGE]
EDELE -- DEPOSIT / EXAMINE ELEV MACRO V05.04 Tuesday 17-May-88 14:36 Page 58
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
2455 ; [CONTINUED FROM THE PREVIOUS PAGE]
2456
2457 001444 .DPSEE:: ; EXTENDED DEPOSIT ENTRY POINT
2458 001444 CALL .CKEOC ; CHECK FOR E-O-C
001444 004737 000000G JSR PC,.CKEOC
2459 001450 032700 000001 BIT #BIT00,R0 ; IS THE ADDRESS ODD?
2460 001454 001034 BNE DPOOAI ; YES -- GIVE "OAI" ERROR
2461 001456 PUSH R0 ; NO -- SAVE THE ADDRESS
001456 010046 MOV R0,-(SP)
2462 001460 PUSH R1 ; .AND THE DEPOSIT DATA
001460 010146 MOV R1,-(SP)
2463 001462 010037 000000G MOV R0,.EDELA ; ..LEAVE TRACKS
2464 001466 010137 000000G MOV R1,.ELDDW ; ..MORE TRACKS
2465 001472 013737 000000G 000000G MOV .TRP4V,.SSTTB ; ..SET UP TRAP AT 4 TRAP
2466 001500 011001 MOV (R0),R1 ; ..READ ORIGINAL CONTENTS
2467 001502 CALL .TYELA ; ..PRINT THE ADDRESS
001502 004737 000000G JSR PC,.TYELA
2468 001506 112700 000134 MOVB #'\,R0 ; ..BACK SLASH
2469 001512 CALL .TYCHR ; ..PRINT IT
001512 004737 000000G JSR PC,.TYCHR
2470 001516 CALL .TYSPC ; ..AND A SPACE
001516 004737 000000G JSR PC,.TYSPC
2471 001522 010100 MOV R1,R0 ; ..DATA TO R0
2472 001524 CALL .TYELN ; ..PRINT THAT
001524 004737 000000G JSR PC,.TYELN
2473 001530 POP R1 ; ..RESTORE DATA
001530 012601 MOV (SP)+,R1
2474 001532 POP R0 ; .AND ADDRESS
001532 012600 MOV (SP)+,R0
2475 001534 010110 MOV R1,(R0) ; DO THE DEPOSIT
2476 001536 005037 000000G CLR .SSTTB ; RESET TRAP AT 4 TRAP
2477 001542 CALLR .TCRLF ; TO CALLER
001542 000137 000000G JMP .TCRLF
2478 ;
2479 001546 DPOOAI:
2480 001546 ERROR$ OAI ; ERROR -- ODD ADDRESS ILLEGAL
001546 012746 056761 MOV #^ROAI,-(SP)
001552 104400 TRAP TC.ERR
2481 ;
EDELE -- DEPOSIT / EXAMINE ELEV MACRO V05.04 Tuesday 17-May-88 14:36 Page 59
.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76
2483 .SBTTL .DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
2484
2485 .ENABL LSB
2486
2487 001554 .DPEWT:: ; DEPOSIT <ELEVEN> THIS
2488 001554 013700 000000G MOV .EDELA,R0 ; ADDRESS TO R0
2489 001560 000413 BR 10$ ; CHECK FOR ARGUMENTS
2490 ;
2491 001562 .DPEWD:: ; DEPOSIT <ELEVEN> DECREMENT
2492 001562 CALL .EDEWD ; DECREMENT THE ADDRESS
001562 004737 000374' JSR PC,.EDEWD
2493 001566 000410 BR 10$ ; EXIT THRU COMMON CODE
2494 ;
2495 001570 .DPEWI:: ; DEPOSIT <ELEVEN> INCREMENT
2496 001570 CALL .EDEWI ; INCREMENT THE ADDRESS
001570 004737 000406' JSR PC,.EDEWI
2497 001574 000405 BR 10$ ; EXIT THRU COMMON CODE
2498 ;
2499 001576 .DPEWN:: ; DEPOSIT <ELEVEN> NEXT
2500 001576 CALL .EDEWN ; GET THE NEXT ADDRESS
001576 004737 000406' JSR PC,.EDEWN
2501 001602 000402 BR 10$ ; EXIT THRU COMMON CODE
2502 ;
2503 001604 .DPEWP:: ; DEPOSIT <ELEVEN> PREVIOUS
2504 001604 CALL .EDEWP ; GET THE PREVIOUS ADDRESS
001604 004737 000374' JSR PC,.EDEWP
2505 001610 10$:
2506 001610 122715 000075 CMPB #'=,(R5) ; DOES AN ARGUMENT FOLLOW?
2507 001614 001403 BEQ 20$ ; YES -- GO GET IT
2508 001616 013701 000000G MOV .ELDDW,R1 ; NO -- USE OLD DATA
2509 001622 000710 BR .DPSEE ; AND DO THE DEPOSIT
2510 ;
2511 001624 20$:
2512 001624 105725 TSTB (R5)+ ; GET OVER THE COLON
2513 001626 PUSH R0 ; SAVE THE ADDRESS
001626 010046 MOV R0,-(SP)
2514 001630 CALL .GTELN ; .READ THE DATA
001630 004737 000000G JSR PC,.GTELN
2515 001634 010001 MOV R0,R1 ; .DATA TO R1
2516 001636 POP R0 ; .ADDRESS TO R0
001636 012600 MOV (SP)+,R0
2517 001640 000701 BR .DPSEE ; DO THE DEPOSIT
2518 ;
2519
2520 .DSABL LSB
EDELE -- DEPOSIT / EXAMINE ELEV MACRO V05.04 Tuesday 17-May-88 14:36 Page 60
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
2522 .SBTTL .EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
2523
2524 ;+
2525 ; .EXAME -- THE "EXAMINE <ELEVEN> COMMAND.
2526 ;
2527 ; THIS ROUTINE WILL EXAMINE AND DISPLAY THE CONTEN OF ONE PDP-11
2528 ; ELEVEN MEMORY LOCATION ON THE CONSOLE DEVICE.
2529 ;
2530 ; INPUT ARGUMENTS:
2531 ;
2532 ; NONE.
2533 ;
2534 ; OUTPUT ARGUMENTS:
2535 ;
2536 ; THE ADDRESS EXAMINED IS IN ".EDELA"
2537 ; THE EXAMINED DATA IS IN ".ELEDW"
2538 ;
2539 ; ERROR CODES RETURNED:
2540 ;
2541 ; NONE.
2542 ;-
2543
2544 001642 .EXAME::
2545 001642 CALL .CKARG ; SEE IF WE HAVE AN ARGUMENT
001642 004737 000000G JSR PC,.CKARG
2546 001646 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
2547 001650 012700 000000G MOV #.EXETB,R0 ; EXTENSION TABLE POINTER TO R0
2548 001654 CALL .TSCAN ; SCAN IT
001654 004737 000000G JSR PC,.TSCAN
2549 001660 CALLR @2(R0) ; DO WHAT IS SAYS TO
001660 000170 000002 JMP @2(R0)
2550 ;
2551 001664 10$:
2552 001664 CALL .GTELN ; READ THE ADDRESS
001664 004737 000000G JSR PC,.GTELN
2553
2554 ; [CONTINUED ON THE FOLLOWING PAGE]
EDELE -- DEPOSIT / EXAMINE ELEV MACRO V05.04 Tuesday 17-May-88 14:36 Page 61
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
2556 ; [CONTINUED FROM THE PREVIOUS PAGE]
2557
2558 001670 .EXMEE:: ; EXTENDED EXAMINE ENTRY POINT
2559 001670 010037 000070' MOV R0,STOPEX ; [5.1014]SAVE INITIAL ADDRESS
2560 001674 CALL .CKEOC ; CHECK FOR E-O-C
001674 004737 000000G JSR PC,.CKEOC
2561 001700 032700 000001 1$: BIT #BIT00,R0 ; IS IT ODD?
2562 001704 001101 BNE EXAOAI ; YES -- GIVE "OAI" ERROR
2563 001706 013737 000000G 000000G MOV .TRP4V,.SSTTB ; SET UP TRAP AT 4 TRAP
2564 001714 010037 000000G MOV R0,.EDELA ; .LEAVE SOME TRACKS
2565 001720 011001 MOV (R0),R1 ; DO THE EXAMINE
2566 001722 PUSH R0 ; [5.1014]SAVE CURRENT ADDRESS
001722 010046 MOV R0,-(SP)
2567 001724 005037 000000G CLR .SSTTB ; RESET TRAP AT 4 TRAP
2568 001730 010137 000000G MOV R1,.ELEDW ; MORE TRACKS
2569 001734 CALL .TYELA ; TYPE THE ADDRESS
001734 004737 000000G JSR PC,.TYELA
2570 001740 112700 000134 MOVB #'\,R0 ; BACKSLASH
2571 001744 CALL .TYCHR ; TYPE IT
001744 004737 000000G JSR PC,.TYCHR
2572 001750 CALL .TYSPC ; AND A SPACE
001750 004737 000000G JSR PC,.TYSPC
2573 001754 010100 MOV R1,R0 ; DATA TO R0
2574 001756 CALL .TYELN ; TYPE THAT
001756 004737 000000G JSR PC,.TYELN
2575 001762 CALL .TCRLF ; END THE LINE
001762 004737 000000G JSR PC,.TCRLF
2576 001766 5$: POP R0 ; [5.1014]RESTORE ADDRESS
001766 012600 MOV (SP)+,R0
2577 001770 005737 000072' TST RNGEX ; [5.1014]RANGE IN PROGRESS?
2578 001774 001406 BEQ 7$ ; [5.1014]NO -- GO ON
2579 001776 020037 000070' CMP R0,STOPEX ; [5.1014]YES -- DONE?
2580 002002 103003 BHIS 7$ ; [6.1599]YES -- GO ON
2581 002004 063700 000074' ADD INCEX,R0 ; [5.1014]NO -- NEXT ADDRESS
2582 002010 000733 BR 1$ ; [5.1014]DO EXAMINE
2583 002012 005037 000072' 7$: CLR RNGEX ; [5.1014]CLEAR RANGE IN PROGRESS
2584 002016 122715 000054 CMPB #',,(R5) ; [5.1014]IS THIS A LIST?
2585 002022 001002 BNE 20$ ; [5.1014]NO -- GO NO
2586 002024 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COMMA
2587 002026 000705 BR .EXAME ; [5.1014]DO NEXT
2588 002030 122715 000072 20$: CMPB #':,(R5) ; [5.1014]IS THIS A RANGE?
2589 002034 001024 BNE 40$ ; [5.1014]NO -- EXIT
2590 002036 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COLON
2591 002040 CALL .GTELN ; [5.1014]GET FINAL ADDRESS
002040 004737 000000G JSR PC,.GTELN
2592 002044 CALL .CKEOC ; [5.1014]CHECK END OF COMMAND
002044 004737 000000G JSR PC,.CKEOC
2593 002050 005237 000072' INC RNGEX ; [5.1014]SET RANGE IN PROGRESS
2594 002054 012737 000002 000074' MOV #2,INCEX ; [5.1014]SET FORWARD INCREMENT
2595 002062 020037 000070' CMP R0,STOPEX ; [5.1014]FORWARD INCREMENT?
2596 002066 101002 BHI 30$ ; [6.1599]YES -- GO ON
2597 002070 005437 000074' NEG INCEX ; [5.1014]NO -- NEGATE INCREMENT
2598 002074 30$: PUSH STOPEX ; [5.1014]SAVE INITIAL ADDRESS
002074 013746 000070' MOV STOPEX,-(SP)
2599 002100 010037 000070' MOV R0,STOPEX ; [5.1014]SET FINAL VALUE
2600 002104 000730 BR 5$ ; [5.1014]DO RANGE INCREMENT
2601 002106 40$: RETURN ; [5.1014]DONE
EDELE -- DEPOSIT / EXAMINE ELEV MACRO V05.04 Tuesday 17-May-88 14:36 Page 61-1
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
002106 000207 RTS PC
2602 ;
2603 002110 EXAOAI:
2604 002110 ERROR$ OAI ; ERROR -- ODD ADDRESS ILLEGAL
002110 012746 056761 MOV #^ROAI,-(SP)
002114 104400 TRAP TC.ERR
2605 ;
2606
2607 000070 .PSECT DATA
2608
2609 000070 000000 STOPEX: .WORD 0 ; [5.1014]FINAL/FIRST EXAMINE ADDRESS
2610 000072 000000 RNGEX: .WORD 0 ; [5.1014]RANGE IN PROGRESS FLAG
2611 000074 000000 INCEX: .WORD 0 ; [5.1014]INCREMENT VALUE
2612
2613 002116 .PSECT
EDELE -- DEPOSIT / EXAMINE ELEV MACRO V05.04 Tuesday 17-May-88 14:36 Page 62
.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76
2615 .SBTTL .EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
2616
2617 .ENABL LSB
2618
2619 002116 .EXEWT:: ; EXAMINE <ELEVEN> THIS
2620 002116 013700 000000G MOV .EDELA,R0 ; ADDRESS TO R0
2621 002122 000662 BR .EXMEE ; DO THE EXAMINE
2622 ;
2623 002124 .EXEWD:: ; EXAMINE <ELEVEN> DECREMENT
2624 002124 CALL .EDEWD ; DECREMENT IT
002124 004737 000374' JSR PC,.EDEWD
2625 002130 000657 BR .EXMEE ; DO THE EXAMINE
2626 ;
2627 002132 .EXEWI:: ; EXAMINE <ELEVEN> INCREMENT
2628 002132 CALL .EDEWI ; INCREMENT IT
002132 004737 000406' JSR PC,.EDEWI
2629 002136 000654 BR .EXMEE ; DO THE EXAMINE
2630 ;
2631 002140 .EXEWN:: ; EXAMINE <ELEVEN> NEXT
2632 002140 CALL .EDEWN ; GET THE NEXT ADDRESS
002140 004737 000406' JSR PC,.EDEWN
2633 002144 000651 BR .EXMEE ; DO THE EXAMINE
2634 ;
2635 002146 .EXEWP:: ; EXAMINE <ELEVEN> PREVIOUS
2636 002146 CALL .EDEWP ; GET THE PREVIOUS ADDRESS
002146 004737 000374' JSR PC,.EDEWP
2637 002152 000646 BR .EXMEE ; DO THE EXAMINE
2638 ;
2639
2640 .DSABL LSB
EDELE -- DEPOSIT / EXAMINE ELEV MACRO V05.04 Tuesday 17-May-88 14:36 Page 64
.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76
2643
2644 .TITLE EDTEN -- DEPOSIT / EXAMINE TEN COMMAND MODULE 7603.21
2645
2646 .IDENT "006130"
2647
2648 ;
2649 ; COPYRIGHT (C) 1975, 1984, 1985 BY
2650 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
2651 ; ALL RIGHTS RESERVED.
2652 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
2653 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
2654 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2655 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
2656 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2657 ;
2658 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2659 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2660 ; CORPORATION.
2661 ;
2662 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2663 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2664 ;
2665 ; MODULE: DEPOSIT / EXAMINE TEN COMMAND
2666 ;
2667 ; VERSION: 06-13
2668 ;
2669 ; AUTHOR: R. BELANGER
2670 ;
2671 ; DATE: 7603.21
2672 ;
2673 ; THIS MODULE CONTAINS:
2674 ;
2675 ; 1) DEPOSIT / EXAMINE TEN COMMAND CODE
EDTEN -- DEPOSIT / EXAMINE TEN MACRO V05.04 Tuesday 17-May-88 14:36 Page 65
.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
2677 .SBTTL .DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
2678
2679 ;+
2680 ; .DEPAR -- THE "DEPOSIT AR" COMMAND.
2681 ;
2682 ; THIS ROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE KL AR REGISTER.
2683 ;
2684 ; INPUT ARGUMENTS:
2685 ;
2686 ; NONE.
2687 ;
2688 ; OUTPUT ARGUMENTS:
2689 ;
2690 ; NONE.
2691 ;
2692 ; ERROR CODES RETURNED:
2693 ;
2694 ; NONE.
2695 ;-
2696
2697 002154 .DEPAR::
2698 002154 CALL .CKRUN ; SEE IF THE KL IS RUNNING
002154 004737 000000G JSR PC,.CKRUN
2699 002160 CALL .CKCOL ; CHECK FOR A COLON
002160 004737 000000G JSR PC,.CKCOL
2700 002164 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
2701 002166 005046 CLR -(SP) ; .
2702 002170 005046 CLR -(SP) ; ..
2703 002172 010600 MOV SP,R0 ; ...POINT TO IT
2704 002174 CALL .GTNUM ; ...READ A NUMBER
002174 004737 000000G JSR PC,.GTNUM
2705 002200 CALL .CKEOC ; ...CHECK FOR E-O-C
002200 004737 000000G JSR PC,.CKEOC
2706 002204 PUSH .KLFLG ; ...SAVE ".KLFLG"
002204 013746 000000G MOV .KLFLG,-(SP)
2707 002210 032716 100000 BIT #KF.CLK,(SP) ; ....IS THE CLOCK RUNNING?
2708 002214 001402 BEQ 10$ ; ....NO -- GO ON
2709 002216 CALL .KLHLT ; ....STOP THE KL - DEAD
002216 004737 000000G JSR PC,.KLHLT
2710 002222 10$:
2711 002222 010001 MOV R0,R1 ; ....DATA POINTER TO R1
2712 002224 CALL .WRTAR ; ....WRITE THE AR
002224 004737 000000G JSR PC,.WRTAR
2713 002230 POP .SVKLF ; ....SET UP ".SVKLF"
002230 012637 000000G MOV (SP)+,.SVKLF
2714 002234 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
2715 002240 CALLR .KLRST ; RESTART THE KL AND EXIT
002240 000137 000000G JMP .KLRST
2716 ;
EDTEN -- DEPOSIT / EXAMINE TEN MACRO V05.04 Tuesday 17-May-88 14:36 Page 66
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
2718 .SBTTL .DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
2719
2720 ;+
2721 ; .DPOST -- THE "DEPOSIT <TEN>" COMMAND.
2722 ;
2723 ; THIS SUBROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE DESIRED
2724 ; KL MEMORY LOCATION.
2725 ;
2726 ; INPUT ARGUMENTS:
2727 ;
2728 ; NONE.
2729 ;
2730 ; OUTPUT ARGUMENTS:
2731 ;
2732 ; THE ADDRESS DEPOSITED IS IN ".EDKLA"
2733 ; THE DATA DEPOSITED IS IN ".DPBFR"
2734 ;
2735 ; ERROR CODES RETURNED:
2736 ;
2737 ; APE -- KL APR ERROR
2738 ; DMF -- DEPOSIT KL MEMORY FAILED
2739 ; ESD -- EBOX STOPPED - DEPOSIT
2740 ; KLA -- KL ADDRESS ERROR
2741 ; KCN -- KL CLOCK NOT RUNNING
2742 ; MRA -- MISSING REQUIRED ARGUMENT
2743 ; NOR -- NUMBER OUT OF RANGE.
2744 ; VFY -- VERIFY FAILED
2745 ;-
2746
2747 002244 .DPOST::
2748 002244 CALL .CKARG ; SEE IF AN ARGUMENT FOLLOWS
002244 004737 000000G JSR PC,.CKARG
2749 002250 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
2750 002252 012700 000000G MOV #.DPETB,R0 ; EXTENSION TABLE POINTER TO R0
2751 002256 CALL .TSCAN ; SCAN IT
002256 004737 000000G JSR PC,.TSCAN
2752 002262 CALLR @2(R0) ; DO WHAT IT SAYS TO
002262 000170 000002 JMP @2(R0)
2753 ;
2754 002266 10$:
2755 002266 012700 000000G MOV #.EDKLX,R0 ; ADDRESS POINTER TO R0
2756 002272 CALL .GTKLA ; READ THE ADDRESS
002272 004737 000000G JSR PC,.GTKLA
2757 002276 CALL .CKCOL ; CHECK FOR A COLON
002276 004737 000000G JSR PC,.CKCOL
2758 002302 010001 MOV R0,R1 ; GOT IT, SAVE THE POINTER
2759 002304 012700 000000G MOV #.DPBFX,R0 ; DATA POINTER TO R0
2760 002310 CALL .GTKLN ; READ THE DATA
002310 004737 000000G JSR PC,.GTKLN
2761
2762 ; [CONTINUED ON THE FOLLOWING PAGE]
EDTEN -- DEPOSIT / EXAMINE TEN MACRO V05.04 Tuesday 17-May-88 14:36 Page 67
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
2764 ; [CONTINUED FROM THE PREVIOUS PAGE]
2765
2766 002314 .DPSTE:: ; EXTENDED DEPOSIT ENTRY POINT
2767 002314 CALL .CKEOC ; CHECK E-O-C CHARACTER
002314 004737 000000G JSR PC,.CKEOC
2768 002320 032737 100000 000000G BIT #KF.CLK,.KLFLG ; IS THE CLOCK RUNNING?
2769 002326 001510 BEQ DPOKCN ; NO -- GIVE "KCN" ERROR
2770 002330 012702 000000G MOV #.EDKLA,R2 ; ADDRESS BUFFER POINTER TO R2
2771 002334 012122 MOV (R1)+,(R2)+ ; LOAD THE NEW ADDRESS
2772 002336 012122 MOV (R1)+,(R2)+ ; INTO THE ADDRESS BUFFER
2773 002340 011112 MOV (R1),(R2) ; SO
2774 002342 024242 CMP -(R2),-(R2) ; BACK THE POINTER UP
2775 002344 010201 MOV R2,R1 ; PUT IT IN R1
2776 002346 012702 000000G MOV #.DPBFR,R2 ; DEPOSIT DATA POINTER TO R2
2777 002352 012022 MOV (R0)+,(R2)+ ; LOAD THE NEW DATA
2778 002354 012022 MOV (R0)+,(R2)+ ; INTO THE DEPOSIT DATA BUFFER
2779 002356 011012 MOV (R0),(R2) ; SO
2780 002360 024242 CMP -(R2),-(R2) ; BACK THE POINTER UP
2781 002362 PUSH R2 ; SAVE THE DATA POINTER
002362 010246 MOV R2,-(SP)
2782 002364 PUSH R1 ; .AND THE ADDRESS POINTER
002364 010146 MOV R1,-(SP)
2783 002366 010600 MOV SP,R0 ; ..SAVE THE POINTER TO THE BLOCK
2784 002370 PUSH R0 ; ..SO
002370 010046 MOV R0,-(SP)
2785 002372 PUSH #.EXBFR ; ...POINT TO EXAMINE BUFFER
002372 012746 000000G MOV #.EXBFR,-(SP)
2786 002376 PUSH R1 ; ....FOR THIS ADDRESS
002376 010146 MOV R1,-(SP)
2787 002400 010601 MOV SP,R1 ; .....POINT TO THE BLOCK
2788 002402 012700 000200 MOV #ED.PHY,R0 ; .....PHYSICAL REFERENCE
2789 002406 CALL .EXKLM ; .....EXAMINE IT FIRST
002406 004737 000000G JSR PC,.EXKLM
2790 002412 POP R0 ; .....GET THE ADDRESS POINTER
002412 012600 MOV (SP)+,R0
2791 002414 CALL .TYKLA ; ....PRINT IT
002414 004737 000000G JSR PC,.TYKLA
2792 002420 CALL .TYSLS ; ....AND A <SLASH>
002420 004737 000000G JSR PC,.TYSLS
2793 002424 CALL .TYSPC ; ....NOW A <SPACE>
002424 004737 000000G JSR PC,.TYSPC
2794 002430 POP R0 ; ....GET THE DATA POINTER
002430 012600 MOV (SP)+,R0
2795 002432 CALL .TYKLN ; ...TYPE THE DATA
002432 004737 000000G JSR PC,.TYKLN
2796 002436 CALL .TCRLF ; ...AND A <CRLF>
002436 004737 000000G JSR PC,.TCRLF
2797
2798 ; [CONTINUED ON THE FOLLOWING PAGE]
EDTEN -- DEPOSIT / EXAMINE TEN MACRO V05.04 Tuesday 17-May-88 14:36 Page 68
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
2800 ; [CONTINUED FROM THE PREVIOUS PAGE]
2801
2802 002442 POP R1 ; ...POINT TO THE DEPOSIT BLOCK
002442 012601 MOV (SP)+,R1
2803 002444 012700 000200 MOV #ED.PHY,R0 ; ..PHYSICAL REFERENCE
2804 002450 CALL .DPKLM ; ..DO THE DEPOSIT
002450 004737 000000G JSR PC,.DPKLM
2805 002454 005737 000000G TST .VFYFL ; ..VERIFY THE DEPOSIT?
2806 002460 001426 BEQ 20$ ; ..NO -- JUST EXIT
2807 002462 012766 000000G 000002 MOV #.EXBFR,2(SP) ; ..YES -- CHANGE THE BUFFER POINTER
2808 002470 012700 000200 MOV #ED.PHY,R0 ; ..PHYSICAL REFERENCE
2809 002474 CALL .EXKLM ; ..EXAMINE IT
002474 004737 000000G JSR PC,.EXKLM
2810 002500 012700 000000G MOV #.DPBFR,R0 ; ..DEPOSITED DATA
2811 002504 012701 000000G MOV #.EXBFR,R1 ; ..EXAMINED DATA
2812 002510 CALL .TPCMP ; ..SEE IF THEY COMPARE
002510 004737 000000G JSR PC,.TPCMP
2813 002514 001020 BNE DPOVFE ; ..NO -- COMPLAIN
2814 002516 CALL .STPKL ; ..STOP THE KL
002516 004737 000000G JSR PC,.STPKL
2815 002522 CALL .RDAPR ; ..SEE IF THERE ARE ANY APR ERRORS
002522 004737 003274' JSR PC,.RDAPR
2816 002526 CALL .RSTKL ; ..RESTART THE KL
002526 004737 000000G JSR PC,.RSTKL
2817 002532 005700 TST R0 ; ..ARE THERE ANY ERRORS?
2818 002534 001002 BNE DPOAPE ; ..YES -- COMPLAIN
2819 002536 20$:
2820 002536 022626 CMP (SP)+,(SP)+ ; ..CLEAR THE STACK
2821 002540 RETURN ; TO CALLER
002540 000207 RTS PC
2822 002542 DPOAPE:
2823 002542 ERROR$ APE ; ERROR -- KL APR ERROR
002542 012746 004305 MOV #^RAPE,-(SP)
002546 104400 TRAP TC.ERR
2824 ;
2825 002550 DPOKCN:
2826 002550 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
002550 012746 042506 MOV #^RKCN,-(SP)
002554 104400 TRAP TC.ERR
2827 ;
2828 002556 DPOVFE:
2829 002556 ERROR$ VFY ; ERROR -- VERIFY FAILED
002556 012746 105211 MOV #^RVFY,-(SP)
002562 104400 TRAP TC.ERR
2830 ;
EDTEN -- DEPOSIT / EXAMINE TEN MACRO V05.04 Tuesday 17-May-88 14:36 Page 69
.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.
2832 .SBTTL .DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.29
2833
2834 .ENABL LSB
2835
2836 002564 .DPKLT:: ; DEPOSIT <TEN> THIS
2837 002564 012700 000000G MOV #.EDKLX,R0 ; ADDRESS POINTER TO R0
2838 002570 000413 BR 10$ ; CHECK FOR ARGUMENTS
2839 ;
2840 002572 .DPKLD:: ; DEPOSIT <TEN> DECREMENT
2841 002572 CALL .EDKLD ; DO THE DECREMENT
002572 004737 000444' JSR PC,.EDKLD
2842 002576 000410 BR 10$ ; EXIT THRU COMMON CODE
2843 ;
2844 002600 .DPKLI:: ; DEPOSIT <TEN> INCREMENT
2845 002600 CALL .EDKLI ; DO THE INCREMENT
002600 004737 000462' JSR PC,.EDKLI
2846 002604 000405 BR 10$ ; EXIT THRU COMMON CODE
2847 ;
2848 002606 .DPKLN:: ; DEPOSIT <TEN> NEXT
2849 002606 CALL .EDKLN ; GO GET NEXT ADDRESS
002606 004737 000432' JSR PC,.EDKLN
2850 002612 000402 BR 10$ ; EXIT THRU COMMON CODE
2851 ;
2852 002614 .DPKLP:: ; DEPOSIT <TEN> PREVIOUS
2853 002614 CALL .EDKLP ; GO GET PREVIOUS ADDRESS
002614 004737 000420' JSR PC,.EDKLP
2854 002620 10$:
2855 002620 010001 MOV R0,R1 ; ADDRESS POINTER TO R1
2856 002622 122715 000075 CMPB #'=,(R5) ; IS THERE AN ARGUMENT FOLLOWING?
2857 002626 001403 BEQ 20$ ; YES -- GO GET IT
2858 002630 012700 000000G MOV #.DPBFX,R0 ; NO -- USE OLD DATA
2859 002634 000627 BR .DPSTE ; AND DO THE DEPOSIT
2860 ;
2861 002636 20$:
2862 002636 105725 TSTB (R5)+ ; GET OVER THE COLON
2863 002640 012700 000000G MOV #.DPBFX,R0 ; POINT TO THE DATA BUFFER
2864 002644 CALL .GTKLN ; GET A NUMBER
002644 004737 000000G JSR PC,.GTKLN
2865 002650 000621 BR .DPSTE ; DO THE DEPOSIT
2866 ;
2867
2868 .DSABL LSB
EDTEN -- DEPOSIT / EXAMINE TEN MACRO V05.04 Tuesday 17-May-88 14:36 Page 70
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
2870 .SBTTL .EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
2871
2872 ;+
2873 ; .EXAMT -- THE "EXAMINE <TEN>" COMMAND.
2874 ;
2875 ; THIS SUBROUTINE READS A KL ADDRESS, EXAMINES THAT ADDRESS,
2876 ; AND PRINTS THE CONTENT OF THAT ADDRESS.
2877 ;
2878 ; INPUT ARGUMENTS:
2879 ;
2880 ; NONE.
2881 ;
2882 ; OUTPUT ARGUMENTS:
2883 ;
2884 ; NONE.
2885 ;
2886 ; ERROR CODES RETURNED:
2887 ;
2888 ; EMF -- EXAMINE MEMORY FAILED.
2889 ; ESE -- EBOX STOPPED - EXAMINE
2890 ; KLA -- KL ADDRESS ERROR
2891 ; KCN -- KL CLOCK NOT RUNNING
2892 ; MRA -- MISSING REQUIRED ARGUMENT
2893 ;-
2894
2895 002652 .EXAMT::
2896 002652 CALL .CKARG ; SEE IF WE HAVE AN ARGUMENT
002652 004737 000000G JSR PC,.CKARG
2897 002656 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
2898 002660 012700 000000G MOV #.EXETB,R0 ; EXTENSION TABLE POINTER TO R0
2899 002664 CALL .TSCAN ; SCAN THE TABLE
002664 004737 000000G JSR PC,.TSCAN
2900 002670 CALLR @2(R0) ; DO WHAT IT SAYS TO
002670 000170 000002 JMP @2(R0)
2901 ;
2902 002674 10$:
2903 002674 012700 000000G MOV #.EDKLX,R0 ; POINT TO ADDRESS BUFFER
2904 002700 CALL .GTKLA ; GO GET THE ADDRESS
002700 004737 000000G JSR PC,.GTKLA
2905
2906 ; [CONTINUED ON THE FOLLOWING PAGE]
EDTEN -- DEPOSIT / EXAMINE TEN MACRO V05.04 Tuesday 17-May-88 14:36 Page 71
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
2908 ; [CONTINUED FROM THE PREVIOUS PAGE]
2909
2910 002704 .EXMTE:: ; EXTENDED EXAMINE ENTRY POINT
2911 002704 CALL .CKEOC ; CHECK E-O-C CHARACTER
002704 004737 000000G JSR PC,.CKEOC
2912 002710 012037 000076' MOV (R0)+,STOPTX ; [5.1014]SAVE INITIAL ADDRESS
2913 002714 012037 000100' MOV (R0)+,STOPTX+2 ; [5.1014]SAVE INITIAL ADDRESS
2914 002720 011037 000102' MOV (R0),STOPTX+4 ; [5.1014]SAVE INITIAL ADDRESS
2915 002724 024040 CMP -(R0),-(R0) ; [5.1014]RESTORE POINTER
2916 002726 032737 100000 000000G 1$: BIT #KF.CLK,.KLFLG ; IS THE KL CLOCK ON?
2917 002734 001535 BEQ EXTKCN ; NO -- GIVE "KCN" ERROR
2918 002736 PUSH R0 ; [5.1014]YES -- SAVE ADDRESS POINTER
002736 010046 MOV R0,-(SP)
2919 002740 PUSH #.EXBFR ; SAVE THE DATA POINTER
002740 012746 000000G MOV #.EXBFR,-(SP)
2920 002744 012702 000000G MOV #.EDKLA,R2 ; .ADDRESS BUFFER POINTER TO R2
2921 002750 012022 MOV (R0)+,(R2)+ ; .LOAD THE NEW ADDRESS
2922 002752 012022 MOV (R0)+,(R2)+ ; .INTO THE ADDRESS BUFFER
2923 002754 011012 MOV (R0),(R2) ; .SO
2924 002756 024242 CMP -(R2),-(R2) ; .BACK THE POINTER UP
2925 002760 PUSH R2 ; .ADDRESS POINTER
002760 010246 MOV R2,-(SP)
2926 002762 010601 MOV SP,R1 ; ..POINT TO THE DATA BLOCK
2927 002764 012700 000200 MOV #ED.PHY,R0 ; ..PHYSICAL REFERENCE
2928 002770 CALL .EXKLM ; ..DO THE EXAMINE
002770 004737 000000G JSR PC,.EXKLM
2929 002774 POP R0 ; ..POINT TO THE ADDRESS
002774 012600 MOV (SP)+,R0
2930 002776 CALL .TYKLA ; .PRINT THE ADDRESS
002776 004737 000000G JSR PC,.TYKLA
2931 003002 CALL .TYSLS ; .TYPE A SLASH
003002 004737 000000G JSR PC,.TYSLS
2932 003006 CALL .TYSPC ; .AND A SPACE
003006 004737 000000G JSR PC,.TYSPC
2933 003012 POP R0 ; .POINT TO THE DATA
003012 012600 MOV (SP)+,R0
2934 003014 CALL .TYKLN ; PRINT THE DATA
003014 004737 000000G JSR PC,.TYKLN
2935 003020 CALL .TCRLF ; AND END THE LINE
003020 004737 000000G JSR PC,.TCRLF
2936 003024 POP R0 ; [5.1014]RESTORE ADDRESS POINTER
003024 012600 MOV (SP)+,R0
2937 003026 005737 000112' 5$: TST RNGTX ; [5.1014]RANGE IN PROGRESS?
2938 003032 001412 BEQ 7$ ; [5.1014]NO -- GO ON
2939 003034 012701 000076' MOV #STOPTX,R1 ; [5.1014]YES -- FINAL ADDRESS
2940 003040 CALL .TPCMP ; [5.1014]DONE?
003040 004737 000000G JSR PC,.TPCMP
2941 003044 001405 BEQ 7$ ; [5.1014]YES -- GO ON
2942 003046 012701 000104' MOV #INCTX,R1 ; [5.1014]NO -- POINT TO INCREMENT
2943 003052 CALL .TPADD ; [5.1014]INCREMENT ADDRESS
003052 004737 000000G JSR PC,.TPADD
2944 003056 000723 BR 1$ ; [5.1014]EXAMINE NEXT ADDRESS
2945 003060 005037 000112' 7$: CLR RNGTX ; [5.1014]CLEAR RANGE IN PROGRESS FLAG
2946 003064 122715 000054 CMPB #',,(R5) ; [5.1014]IS THIS A LIST?
2947 003070 001002 BNE 20$ ; [5.1014]NO -- GO NO
2948 003072 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COMMA
2949 003074 000666 BR .EXAMT ; [5.1014]DO NEXT
EDTEN -- DEPOSIT / EXAMINE TEN MACRO V05.04 Tuesday 17-May-88 14:36 Page 71-1
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
2950 003076 122715 000072 20$: CMPB #':,(R5) ; [5.1014]IS THIS A RANGE?
2951 003102 001051 BNE 40$ ; [5.1014]NO -- GO ON
2952 003104 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COLON
2953 003106 CALL .GTKLA ; [5.1014]GET FINAL ADDRESS
003106 004737 000000G JSR PC,.GTKLA
2954 003112 CALL .CKEOC ; [5.1014]CHECK FOR END OF COMMAND
003112 004737 000000G JSR PC,.CKEOC
2955 003116 005237 000112' INC RNGTX ; [5.1014]SET RANGE IN PROGRESS
2956 003122 012737 000001 000104' MOV #1,INCTX ; [5.1014]SET FORWARD RANGE
2957 003130 005037 000106' CLR INCTX+2 ; [5.1014]CLEAR INCREMENT
2958 003134 005037 000110' CLR INCTX+4 ; [5.1014]CLEAR INCREMENT
2959 003140 012701 000076' MOV #STOPTX,R1 ; [5.1014]INITIAL ADDRESS POINTER
2960 003144 CALL .TPCMP ; [5.1014]FORWARD RANGE?
003144 004737 000000G JSR PC,.TPCMP
2961 003150 003006 BGT 30$ ; [5.1014]YES -- GO ON
2962 003152 PUSH R0 ; [5.1014]NO -- SAVE FINAL ADDRESS
003152 010046 MOV R0,-(SP)
2963 003154 012700 000104' MOV #INCTX,R0 ; [5.1014]RANGE INCREMENT
2964 003160 CALL .TPNEG ; [5.1014]NEGATE IT
003160 004737 000000G JSR PC,.TPNEG
2965 003164 POP R0 ; [5.1014]RESTORE ADDRESS
003164 012600 MOV (SP)+,R0
2966 003166 30$: PUSH STOPTX ; [5.1014]SAVE INITIAL ADDRESS
003166 013746 000076' MOV STOPTX,-(SP)
2967 003172 PUSH STOPTX+2 ; [5.1014]SAVE INITIAL ADDRESS
003172 013746 000100' MOV STOPTX+2,-(SP)
2968 003176 PUSH STOPTX+4 ; [5.1014]SAVE INITIAL ADDRESS
003176 013746 000102' MOV STOPTX+4,-(SP)
2969 003202 012037 000076' MOV (R0)+,STOPTX ; [5.1014]SET FINAL ADDRESS
2970 003206 012037 000100' MOV (R0)+,STOPTX+2 ; [5.1014]SET FINAL ADDRESS
2971 003212 012037 000102' MOV (R0)+,STOPTX+4 ; [5.1014]SET FINAL ADDRESS
2972 003216 POP -(R0) ; [5.1014]SET INITIAL ADDRESS
003216 012640 MOV (SP)+,-(R0)
2973 003220 POP -(R0) ; [5.1014]SET INITIAL ADDRESS
003220 012640 MOV (SP)+,-(R0)
2974 003222 POP -(R0) ; [5.1014]SET INITIAL ADDRESS
003222 012640 MOV (SP)+,-(R0)
2975 003224 000700 BR 5$ ; [5.1014]DO INCREMENT
2976 003226 40$: RETURN ; [5.1014]EXIT
003226 000207 RTS PC
2977 ;
2978 003230 EXTKCN:
2979 003230 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
003230 012746 042506 MOV #^RKCN,-(SP)
003234 104400 TRAP TC.ERR
2980 ;
2981
2982 000076 .PSECT DATA
2983
2984 000076 000000 000000 000000 STOPTX: .WORD 0,0,0 ; [5.1014]FINAL/FIRST ADDRESS
2985 000104 000000 000000 000000 INCTX: .WORD 0,0,0 ; [5.1014]RANGE INCREMENT
2986 000112 000000 RNGTX: .WORD 0 ; [5.1014]RANGE IN PROGRESS FLAG
2987
2988 003236 .PSECT
EDTEN -- DEPOSIT / EXAMINE TEN MACRO V05.04 Tuesday 17-May-88 14:36 Page 72
.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.
2990 .SBTTL .EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
2991
2992 .ENABL LSB
2993
2994 003236 .EXKLT:: ; EXAMINE <TEN> THIS
2995 003236 012700 000000G MOV #.EDKLA,R0 ; ADDRESS POINTER TO R0
2996 003242 000620 BR .EXMTE ; DO THE EXAMINE
2997 ;
2998 003244 .EXKLD:: ; EXAMINE <TEN> DECREMENT
2999 003244 CALL .EDKLD ; DECREMENT IT
003244 004737 000444' JSR PC,.EDKLD
3000 003250 000615 BR .EXMTE ; DO THE EXAMINE
3001 ;
3002 003252 .EXKLI:: ; EXAMINE <TEN> INCREMENT
3003 003252 CALL .EDKLI ; INCREMENT IT
003252 004737 000462' JSR PC,.EDKLI
3004 003256 000612 BR .EXMTE ; DO THE EXAMINE
3005 ;
3006 003260 .EXKLN:: ; EXAMINE <TEN> NEXT
3007 003260 CALL .EDKLN ; GET NEXT ADDRESS
003260 004737 000432' JSR PC,.EDKLN
3008 003264 000607 BR .EXMTE ; DO THE EXAMINE
3009 ;
3010 003266 .EXKLP:: ; EXAMINE <TEN> PREVIOUS
3011 003266 CALL .EDKLP ; GET THE PREVIOUS ADDDRESS
003266 004737 000420' JSR PC,.EDKLP
3012 003272 000604 BR .EXMTE ; DO THE EXAMINE
3013 ;
3014
3015 .DSABL LSB
EDTEN -- DEPOSIT / EXAMINE TEN MACRO V05.04 Tuesday 17-May-88 14:36 Page 73
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
3017 .SBTTL .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
3018
3019 ;+
3020 ; .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR.
3021 ;
3022 ; THIS SUBROUTINE READS THE ERROR STATE OF THE KL APR AND RETURNS
3023 ; THAT ERROR STATE IN R0 AND ".APRWD".
3024 ;
3025 ; THE FORMAT OF THE DATA RETURNED IS:
3026 ;
3027 ; AP.PWF -- BIT00 -- [APR PWR FAIL IN H] -- POWER FAIL
3028 ; AP.SAP -- BIT01 -- [APR S ADR P ERR IN H] -- SBUS ADR PARITY ERROR
3029 ; AP.CDP -- BIT02 -- [APR C DIR P ERR IN H] -- CACHE DIR PARITY ERROR
3030 ; AP.MPE -- BIT03 -- [APR MB PAR ERR IN H] -- MB PARITY ERROR
3031 ; AP.IPF -- BIT04 -- [APR I/O PF ERR IN H] -- I/O PAGE FAIL ERROR
3032 ; AP.NXM -- BIT05 -- [APR NXM ERR IN H] -- NON-EX-MEMORY ERROR
3033 ; AP.SBE -- BIT06 -- [APR SBUS ERR IN H] -- SBUS ERROR
3034 ;
3035 ; INPUT ARGUMENTS:
3036 ;
3037 ; NONE.
3038 ;
3039 ; OUTPUT ARGUMENTS:
3040 ;
3041 ; R0 CONTAINS A COPY OF THE KL APR ERROR FLAGS
3042 ; ".APRWD" CONTAINS A COPY OF THE KL APR ERROR FLAGS
3043 ;
3044 ; ERROR CODES RETURNED:
3045 ;
3046 ; FRF -- FUNCTION READ FAILED.
3047 ;-
3048
3049 003274 .RDAPR::
3050 003274 PUSH R1 ; SAVE R1 ON THE STACK
003274 010146 MOV R1,-(SP)
3051 003276 005001 CLR R1 ; .CLEAR R1
3052 003300 012700 000220 MOV #FR.APR,R0 ; .FR TO READ APR ERRORS
3053 003304 CALL .FREAD ; .READ APR ERRORS
003304 004737 000000G JSR PC,.FREAD
3054 003310 012701 177751 MOV #-^D23,R1 ; .SHIFT COUNT TO R1
3055 003314 CALL .TPSHI ; .SHIFT ERROR BITS INTO POSITION
003314 004737 000000G JSR PC,.TPSHI
3056 003320 042710 177600 BIC #177600,(R0) ; .FLUSH UNWANTED BITS
3057 003324 011037 000000G MOV (R0),.APRWD ; .SAVE THE WORD
3058 003330 011000 MOV (R0),R0 ; .PUT A COPY IN R0
3059 003332 POP R1 ; .RESTORE R1
003332 012601 MOV (SP)+,R1
3060 003334 RETURN ; AND GO AWAY
003334 000207 RTS PC
3061 ;
EDTEN -- DEPOSIT / EXAMINE TEN MACRO V05.04 Tuesday 17-May-88 14:36 Page 75
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
3064
3065
3066 ;
3067 ; COPYRIGHT (C) 1985 BY
3068 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3069 ; ALL RIGHTS RESERVED.
3070 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3071 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3072 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3073 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3074 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3075 ;
3076 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3077 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3078 ; CORPORATION.
3079 ;
3080 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3081 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3082 ;
3083 ; MODULE: EXAMINE EBR/UBR
3084 ;
3085 ; VERSION: 01-00
3086 ;
3087 ; AUTHOR: M. RUDENKO
3088 ;
3089 ; DATE: 8504.02
3090 ;
3091 ;
EDTEN -- DEPOSIT / EXAMINE TEN MACRO V05.04 Tuesday 17-May-88 14:36 Page 76
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
3093 ; .EBRUBR -- EXAMINE EBR/UBR COMMAND
3094
3095 ;+
3096 ; EBRUBR -- THE EXAMINE EBR/ EXAMINE UBR COMMAND
3097 ;
3098 ;
3099 ; INPUT ARGUMENTS:
3100 ;
3101 ; R0 POINTS TO THE KL INSTRUCTION TO BE EXECUTED.
3102 ;
3103 ; OUTPUT ARGUMENTS:
3104 ;
3105 ; NONE.
3106 ;
3107 ; ERROR CODES RETURNED:
3108 ;
3109 ; IOC -- ILLEGAL KL OPCODE.
3110 ; MRA -- MISSING REQUIRED ARGUMENT.
3111 ; XTO -- KL EXECUTE TIMED OUT.
3112 ;-
3113 000114 .PSECT DATA
3114 000114 000000 EPTUPT: .WORD 0 ; CONTROL FLAG
3115 000116 000000 000000 000000 OFFSET:: .WORD 0,0,0 ; OFFSET INTO PAGE TABLE
3116 000124 GETEBR:: IOKL$ CONI,PAG,,100
000124 100 000 .BYTE $$A,$$B
000126 200 012 .BYTE $$C,$$D
000130 016 000 .BYTE $$E,$$F
3117 000132 GETUBR:: IOKL$ DATAI,PAG,,100
000132 100 000 .BYTE $$A,$$B
000134 200 010 .BYTE $$C,$$D
000136 016 000 .BYTE $$E,$$F
3118
3119 003336 .PSECT
3120 .ENABL LSB
3121
3122 003336 005237 000114' .EXEBR:: INC EPTUPT
3123 003342 000402 BR 5$
3124 003344 005037 000114' .EXUBR:: CLR EPTUPT
3125 003350 5$: PUSH <R0,R1>
003350 010046 MOV R0,-(SP)
003352 010146 MOV R1,-(SP)
3126 003354 012700 000116' MOV #OFFSET,R0
3127 003360 CALL .GTKLA
003360 004737 000000G JSR PC,.GTKLA
3128 003364 012700 000132' MOV #GETUBR,R0
3129 003370 005737 000114' TST EPTUPT
3130 003374 001402 BEQ 20$
3131 003376 012700 000124' MOV #GETEBR,R0
3132 003402 20$: CALL .EXCTF
003402 004737 000000G JSR PC,.EXCTF
3133
3134 003406 012737 000100 000000G MOV #100,.EDKLX
3135 003414 005037 000002G CLR .EDKLX+2
3136 003420 005037 000004G CLR .EDKLX+4
3137 003424 PUSH #.EXBFR
003424 012746 000000G MOV #.EXBFR,-(SP)
3138 003430 PUSH #.EDKLX
EDTEN -- DEPOSIT / EXAMINE TEN MACRO V05.04 Tuesday 17-May-88 14:36 Page 76-1
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
003430 012746 000000G MOV #.EDKLX,-(SP)
3139 003434 010601 MOV SP,R1
3140 003436 012700 000200 MOV #ED.PHY,R0
3141 003442 CALL .EXKLM
003442 004737 000000G JSR PC,.EXKLM
3142 003446 005726 TST (SP)+
3143 003450 005726 TST (SP)+
3144 003452 012700 000000G MOV #.EXBFR,R0
3145 003456 012701 000011 MOV #11,R1
3146 003462 CALL .TPSHI
003462 004737 000000G JSR PC,.TPSHI
3147 003466 012701 000116' MOV #OFFSET,R1
3148 003472 CALL .TPADD
003472 004737 000000G JSR PC,.TPADD
3149 003476 012701 000006G MOV #.EXBFR+6,R1
3150 003502 012700 000006G MOV #.EDKLX+6,R0
3151 003506 014140 MOV -(R1),-(R0)
3152 003510 014140 MOV -(R1),-(R0)
3153 003512 014140 MOV -(R1),-(R0)
3154 003514 CALL .EXMTE
003514 004737 002704' JSR PC,.EXMTE
3155 003520 POP <R1,R0>
003520 012601 MOV (SP)+,R1
003522 012600 MOV (SP)+,R0
3156 003524 RETURN
003524 000207 RTS PC
3157 .DSABL LSB
3158
EDTEN -- DEPOSIT / EXAMINE TEN MACRO V05.04 Tuesday 17-May-88 14:36 Page 77
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
3160
3161
3162 .TITLE EXCTC -- EXECUTE (XCT) COMMAND MODULE 7603.30
3163
3164 .IDENT "005000"
3165 ;
3166 ; COPYRIGHT (C) 1975, 1984, 1985 BY
3167 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3168 ; ALL RIGHTS RESERVED.
3169 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3170 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3171 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3172 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3173 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3174 ;
3175 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3176 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3177 ; CORPORATION.
3178 ;
3179 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3180 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3181 ;
3182 ; MODULE: EXECUTE COMMAND
3183 ;
3184 ; VERSION: 05-00
3185 ;
3186 ; AUTHOR: R. BELANGER
3187 ;
3188 ; DATE: 7603.30
3189 ;
3190 ; THIS MODULE CONTAINS:
3191 ;
3192 ; 1) EXECUTE COMMAND CODE
EXCTC -- EXECUTE (XCT) COMMAND MACRO V05.04 Tuesday 17-May-88 14:36 Page 78
.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
3194 .SBTTL .EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
3195
3196 ;+
3197 ; .EXCTC -- THE "XCT" (EXECUTE) COMMAND
3198 ;
3199 ; THIS ROUTINE SIMULATES THE "XCT" SWITCH OF THE KL CONSOLE.
3200 ;
3201 ; INPUT ARGUMENTS:
3202 ;
3203 ; R0 POINTS TO THE KL INSTRUCTION TO BE EXECUTED.
3204 ;
3205 ; OUTPUT ARGUMENTS:
3206 ;
3207 ; NONE.
3208 ;
3209 ; ERROR CODES RETURNED:
3210 ;
3211 ; IOC -- ILLEGAL KL OPCODE.
3212 ; MRA -- MISSING REQUIRED ARGUMENT.
3213 ; XTO -- KL EXECUTE TIMED OUT.
3214 ;-
3215
3216 003526 .EXCTC:: ; HERE FROM PARSER
3217 003526 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
3218 003530 005046 CLR -(SP) ; .
3219 003532 005046 CLR -(SP) ; ..
3220 003534 010600 MOV SP,R0 ; ...POINT TO IT
3221 003536 CALL .GTKLN ; ...READ THE INSTRUCTION
003536 004737 000000G JSR PC,.GTKLN
3222 003542 CALL .CKEOC ; ...CHECK E-O-C CHARACTER
003542 004737 000000G JSR PC,.CKEOC
3223 003546 032760 000017 000004 BIT #17,4(R0) ; ...CHECK HIGH PART OF OPCODE
3224 003554 001005 BNE 10$ ; ...OK -- GO ON
3225 003556 032760 174000 000002 BIT #^C3777,2(R0) ; ...CHECK LOW PART OF OPCODE
3226 003564 001403 BEQ EXCIOC ; ...NONE THERE -- GIVE "IOC" ERROR
3227 003566 010600 MOV SP,R0 ; ...POINT TO THE INSTRUCTION
3228 003570 10$:
3229 003570 CALLR .EXECT ; ...ALL OK -- GO DO IT
003570 000137 000000G JMP .EXECT
3230 ;
3231 003574 EXCIOC:
3232 003574 ERROR$ IOC ; ERROR -- ILLEGAL OPCODE
003574 012746 035233 MOV #^RIOC,-(SP)
003600 104400 TRAP TC.ERR
3233 ;
EXCTC -- EXECUTE (XCT) COMMAND MACRO V05.04 Tuesday 17-May-88 14:36 Page 79
.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
3235
3236
3237 .TITLE EXDTE -- EXAMINE DTE-20 REGISTERS COMMAND
3238
3239 .IDENT "006110"
3240 ;
3241 ; COPYRIGHT (C) 1975, 1984, 1985 BY
3242 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3243 ; ALL RIGHTS RESERVED.
3244 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3245 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3246 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3247 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3248 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3249 ;
3250 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3251 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3252 ; CORPORATION.
3253 ;
3254 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3255 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3256 ;
3257 ; MODULE: EXAMINE DTE-20 COMMAND
3258 ;
3259 ; VERSION: 06-11
3260 ;
3261 ; AUTHOR: K. LEFEBVRE
3262 ;
3263 ; DATE: 24-SEP-79
3264 ;
3265 ; THIS MODULE CONTAINS:
3266 ;
3267 ; 1) EXAMINE DTE-20 REGISTERS COMMAND
3268
3269 .MCALL .INH6,.ENB6
EXDTE -- EXAMINE DTE-20 REGISTE MACRO V05.04 Tuesday 17-May-88 14:36 Page 80
.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
3271 .SBTTL .EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
3272
3273 ;+
3274 ; .EXDTE -- THE "EXAMINE DTE-20" COMMAND.
3275 ;
3276 ; THIS ROUTINE WILL READ AND DISPLAY THE CONTENTS OF ALL THE DTE-20
3277 ; REGISTERS ON THE CONSOLE DEVICE.
3278 ;
3279 ; THIS ROUTINE TYPES OUT ALL THE REGISTERS IN THE NEW FORMAT
3280 ; AS WAS REQUIRED FOR TCO 5.1001
3281 ;
3282 ; INPUT ARGUMENTS:
3283 ;
3284 ; NONE.
3285 ;
3286 ; OUTPUT ARGUMENTS:
3287 ;
3288 ; NONE.
3289 ;
3290 ; ERROR CODES RETURNED:
3291 ;
3292 ; NONE.
3293 ;-
3294
3295 003602 .EXDTE::
3296 003602 CALL .CKEOC ; CHECK E-O-C
003602 004737 000000G JSR PC,.CKEOC
3297 003606 CALLR TYPDTE ; TYPE OUT DTE REGISTERS
003606 000137 003612' JMP TYPDTE
EXDTE -- EXAMINE DTE-20 REGISTE MACRO V05.04 Tuesday 17-May-88 14:36 Page 81
TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY
3299 .SBTTL TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY
3300
3301 ;+
3302 ; TYPDTE -- TYPE OUT DTE-20 REGISTERS SYMBOLLICALLY
3303 ;
3304 ; THIS ROUTINE WILL TYPE OUT THE CONTENTS OF ALL THE DTE-20 REGISTERS
3305 ; IN OCTAL AND WILL ALSO DECODE SOME OF THEM.
3306 ;
3307 ; THIS ROUTINE WAS ADDED FOR TCO 5.1001
3308 ;
3309 ; INPUT ARGUMENTS:
3310 ;
3311 ; NONE
3312 ;
3313 ; OUTPUT ARGUMENTS:
3314 ;
3315 ; NONE
3316 ;
3317 ; ERROR CODES RETURNED:
3318 ;
3319 ; NONE
3320 ;-
3321
3322 003612 TYPDTE:
3323 003612 013700 000000G MOV .PRDTE,R0 ; DTE BASE REGISTER ADDRESS
3324 003616 012701 000140' MOV #DTEBUF,R1 ; DTE REGISTER SAVE BUFFER
3325 003622 012702 000020 MOV #16.,R2 ; REGISTER COUNT
3327 003626 .INH6 ; INHIBIT INTERRUPTS
003626 013746 177776 MOV @#PS,-(SP)
003632 112737 000300 177776 MOVB #300,@#PS
3329 003640 012021 10$: MOV (R0)+,(R1)+ ; SAVE DTE REGISTERS
3330 003642 077202 SOB R2,10$ ; DONE?
3332 003644 .ENB6 ; ENABLE INTERRUPTS
003644 012637 177776 MOV (SP)+,@#PS
3334 003650 005002 CLR R2 ; REGISTER COUNT
3335 003652 016200 000200' 20$: MOV DTEREG(R2),R0 ; HEADER ADDRESS
3336 003656 CALL .TYMSG ; TYPE HEADER
003656 004737 000000G JSR PC,.TYMSG
3337 003662 016200 000140' MOV DTEBUF(R2),R0 ; REGISTER CONTENTS
3338 003666 CALL .TYELN ; TYPE VALUE
003666 004737 000000G JSR PC,.TYELN
3339 003672 CALL @SYMTAB(R2) ; TYPE CONTENTS SYMBOLLICALLY
003672 004772 000240' JSR PC,@SYMTAB(R2)
3340 003676 005722 TST (R2)+ ; NEXT REGISTER
3341 003700 020227 000036 CMP R2,#30. ; DONE?
3342 003704 003762 BLE 20$ ; NO
3343 003706 RETURN ; YES
003706 000207 RTS PC
3344
3345 000140 .PSECT DATA
3346
3347 000140 DTEBUF: .BLKW 16. ; REGISTER BUFFER
3348
3349 000200 DTEREG: ; HEADER TEXT POINTERS
3350 000200 000004' .WORD HDDLY
3351 000202 000015' .WORD HDDEX3
3352 000204 000030' .WORD HDDEX2
EXDTE -- EXAMINE DTE-20 REGISTE MACRO V05.04 Tuesday 17-May-88 14:36 Page 81-1
TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY
3353 000206 000043' .WORD HDDEX1
3354 000210 000056' .WORD HDTAD1
3355 000212 000071' .WORD HDTAD2
3356 000214 000102' .WORD HDT10B
3357 000216 000115' .WORD HDT11B
3358 000220 000126' .WORD HDT10A
3359 000222 000141' .WORD HDT11A
3360 000224 000152' .WORD HDT10D
3361 000226 000165' .WORD HDT11D
3362 000230 000176' .WORD HDDAG1
3363 000232 000211' .WORD HDDAG2
3364 000234 000224' .WORD HDSTAT
3365 000236 000237' .WORD HDDAG3
3366
3367 000240 SYMTAB: ; SYMBOLIC TYPE ROUTINES
3368 000240 000300' .WORD NOOP ; DLYCNT
3369 000242 000300' .WORD NOOP ; DEXWD3
3370 000244 000300' .WORD NOOP ; DEXWD2
3371 000246 003746' .WORD TYPDX1 ; DEXWD1
3372 000250 000300' .WORD NOOP ; TENAD1
3373 000252 004016' .WORD TYPAD2 ; TENAD2
3374 000254 000300' .WORD NOOP ; TO10BC
3375 000256 000300' .WORD NOOP ; TO11BC
3376 000260 000300' .WORD NOOP ; TO10AD
3377 000262 000300' .WORD NOOP ; TO11AD
3378 000264 000300' .WORD NOOP ; TO10DT
3379 000266 000300' .WORD NOOP ; TO11DT
3380 000270 004240' .WORD TYPDG1 ; DIAG1
3381 000272 000300' .WORD NOOP ; DIAG2
3382 000274 003710' .WORD STATYP ; STATUS
3383 000276 004312' .WORD TYPDG3 ; DIAG3
3384
3385 000300 NOOP: RETURN ; NO SYMBOLIC TYPE OUT
000300 000207 RTS PC
3386
3387 000004 .PSECT MESSAG
3388
3389 000004 104 114 131 HDDLY: .ASCIZ/DLYCNT: /
000007 103 116 124
000012 072 040 000
3390 000015 015 012 104 HDDEX3: .ASCIZ<15><12>/DEXWD3: /
000020 105 130 127
000023 104 063 072
000026 040 000
3391 000030 015 012 104 HDDEX2: .ASCIZ<15><12>/DEXWD2: /
000033 105 130 127
000036 104 062 072
000041 040 000
3392 000043 015 012 104 HDDEX1: .ASCIZ<15><12>/DEXWD1: /
000046 105 130 127
000051 104 061 072
000054 040 000
3393 000056 015 012 124 HDTAD1: .ASCIZ<15><12>/TENAD1: /
000061 105 116 101
000064 104 061 072
000067 040 000
3394 000071 124 105 116 HDTAD2: .ASCIZ/TENAD2: /
EXDTE -- EXAMINE DTE-20 REGISTE MACRO V05.04 Tuesday 17-May-88 14:36 Page 81-2
TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY
000074 101 104 062
000077 072 040 000
3395 000102 015 012 124 HDT10B: .ASCIZ<15><12>/TO10BC: /
000105 117 061 060
000110 102 103 072
000113 040 000
3396 000115 124 117 061 HDT11B: .ASCIZ/TO11BC: /
000120 061 102 103
000123 072 040 000
3397 000126 015 012 124 HDT10A: .ASCIZ<15><12>/TO10AD: /
000131 117 061 060
000134 101 104 072
000137 040 000
3398 000141 124 117 061 HDT11A: .ASCIZ/TO11AD: /
000144 061 101 104
000147 072 040 000
3399 000152 015 012 124 HDT10D: .ASCIZ<15><12>/TO10DT: /
000155 117 061 060
000160 104 124 072
000163 040 000
3400 000165 124 117 061 HDT11D: .ASCIZ/TO11DT: /
000170 061 104 124
000173 072 040 000
3401 000176 015 012 104 HDDAG1: .ASCIZ<15><12>/DIAG1 : /
000201 111 101 107
000204 061 040 072
000207 040 000
3402 000211 015 012 104 HDDAG2: .ASCIZ<15><12>/DIAG2 : /
000214 111 101 107
000217 062 040 072
000222 040 000
3403 000224 015 012 123 HDSTAT: .ASCIZ<15><12>/STATUS: /
000227 124 101 124
000232 125 123 072
000235 040 000
3404 000237 015 012 104 HDDAG3: .ASCIZ<15><12>/DIAG3 : /
000242 111 101 107
000245 063 040 072
000250 040 000
3405
3406 003710 .PSECT
EXDTE -- EXAMINE DTE-20 REGISTE MACRO V05.04 Tuesday 17-May-88 14:36 Page 82
STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT
3408 .SBTTL STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT
3409
3410 ; THIS ROUTINE WAS ADDED FOR TCO 5.1001
3411
3412 003710 STATYP:
3413 003710 016203 000140' MOV DTEBUF(R2),R3 ; DTE REGISTER CONTENTS
3414 003714 012701 000302' MOV #STATAB,R1 ; FIRST MESSAGE PTR
3415 003720 005703 10$: TST R3 ; REGISTER=0
3416 003722 001410 BEQ 30$ ; YES-DONE
3417 003724 006303 ASL R3 ; SHIFT HIGH BIT TO CARRY
3418 003726 103003 BCC 20$ ; BIT CLEAR?
3419 003730 011100 MOV @R1,R0 ; POINT TO MESSAGE
3420 003732 CALL .TYMSG ; NO-TYPE MESSAGE
003732 004737 000000G JSR PC,.TYMSG
3421 003736 062701 000002 20$: ADD #2,R1 ; ADDRESS NEXT MESSAGE
3422 003742 000766 BR 10$ ; CHECK NEXT BIT
3423 003744 30$: RETURN ; EXIT
003744 000207 RTS PC
3424
3425 000302 .PSECT DATA
3426
3427 000302 STATAB: ; STATUS MESSAGE TABLE
3428 000302 000252' .WORD STA15
3429 000304 000306' .WORD STA14
3430 000306 000327' .WORD STA13
3431 000310 000362' .WORD STA12
3432 000312 000402' .WORD STA11
3433 000314 000432' .WORD STA10
3434 000316 000450' .WORD STA9
3435 000320 000502' .WORD STA8
3436 000322 000532' .WORD STA7
3437 000324 000561' .WORD STA6
3438 000326 000604' .WORD STA5
3439 000330 000643' .WORD STA4
3440 000332 000671' .WORD STA3
3441 000334 000714' .WORD STA2
3442 000336 000744' .WORD STA1
3443 000340 001004' .WORD STA0
3444
3445 000252 .PSECT MESSAG
3446
3447 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
3448 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 V05.04 Tuesday 17-May-88 14:36 Page 82-1
STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT
3449 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
3450 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
3451 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
3452 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
3453 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
3454 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
3455 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
3456 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 V05.04 Tuesday 17-May-88 14:36 Page 82-2
STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT
000575 123 105 114
000600 105 103 124
000603 000
3457 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
3458 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
3459 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
3460 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
3461 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
3462 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
3463
3464 003746 .PSECT
EXDTE -- EXAMINE DTE-20 REGISTE MACRO V05.04 Tuesday 17-May-88 14:36 Page 83
TYPDX1 -- SYMBOLIC DEXWD1-DEXWD3 TYPE OUT
3466 .SBTTL TYPDX1 -- SYMBOLIC DEXWD1-DEXWD3 TYPE OUT
3467
3468 ; THIS ROUTINE WAS ADDED FOR TCO 5.1001
3469
3470 003746 TYPDX1:
3471 003746 012700 001025' MOV #DX1MS1,R0 ; DATA MESSAGE
3472 003752 CALL .TYMSG ; TYPE IT
003752 004737 000000G JSR PC,.TYMSG
3473 003756 012700 000134' MOV #DTEBUF-4,R0 ; ADDR OF REGISTERS
3474 003762 060200 ADD R2,R0 ; POINT TO DEX WORD 1
3475 003764 CALL .TYKLN ; TYPE IT
003764 004737 000000G JSR PC,.TYKLN
3476 003770 016203 000140' MOV DTEBUF(R2),R3 ; DEXWD1 VALUE
3477 003774 042703 000017 BIC #17,R3 ; DEXWD1 BITS 4-15
3478 004000 005703 TST R3 ; BITS 4-15 MBZ
3479 004002 001404 BEQ 10$ ; ARE THEY ZERO
3480 004004 012700 001045' MOV #DX1MS2,R0 ; NO- MESSAGE
3481 004010 CALL .TYMSG ; TYPE IT
004010 004737 000000G JSR PC,.TYMSG
3482 004014 10$: RETURN ; EXIT
004014 000207 RTS PC
3483
3484 001025 .PSECT MESSAG
3485
3486 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
3487 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
3488
3489 004016 .PSECT
EXDTE -- EXAMINE DTE-20 REGISTE MACRO V05.04 Tuesday 17-May-88 14:36 Page 84
TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT
3491 .SBTTL TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT
3492
3493 ; THIS ROUTINE WAS ADDED FOR TCO 5.1001
3494
3495 004016 TYPAD2:
3496 004016 012700 001104' MOV #TA2MS1,R0 ; ADDRESS SPACE MESSAGE
3497 004022 CALL .TYMSG ; TYPE IT
004022 004737 000000G JSR PC,.TYMSG
3498 004026 016203 000136' MOV DTEBUF-2(R2),R3 ; REGISTER CONTENTS
3499 004032 000303 SWAB R3 ; GET SPACE BITS
3500 000004 .REPT 4
3501 ASR R3
3502 .ENDR
004034 006203 ASR R3
004036 006203 ASR R3
004040 006203 ASR R3
004042 006203 ASR R3
3503 004044 042703 177761 BIC #177761,R3 ; SPACE BITS
3504 004050 020327 000012 CMP R3,#12 ; RESERVED?
3505 004054 003402 BLE 10$ ; NO
3506 004056 012703 000012 MOV #12,R3 ; YES
3507 004062 016300 000342' 10$: MOV SPCTAB(R3),R0 ; MESSAGE ADDR
3508 004066 CALL .TYMSG ; TYPE SPACE
004066 004737 000000G JSR PC,.TYMSG
3509 004072 012700 001126' MOV #TA2MS2,R0 ; OPERATION MESSAGE
3510 004076 CALL .TYMSG ; TYPE IT
004076 004737 000000G JSR PC,.TYMSG
3511 004102 016203 000136' MOV DTEBUF-2(R2),R3 ; REGISTER CONTENTS
3512 004106 012700 001343' MOV #DEPOS,R0 ; DEPOSIT MESSAGE
3513 004112 032703 010000 BIT #10000,R3 ; IS TI A DEPOSIT?
3514 004116 001002 BNE 40$ ; YES
3515 004120 012700 001353' MOV #EXAM,R0 ; NO-EXAMINE
3516 004124 40$: CALL .TYMSG ; TYPE IT
004124 004737 000000G JSR PC,.TYMSG
3517 004130 012700 001144' MOV #TA2MS3,R0 ; PRO/REL MESSAGE
3518 004134 CALL .TYMSG ; TYPE IT
004134 004737 000000G JSR PC,.TYMSG
3519 004140 012700 001363' MOV #PRON,R0 ; PRO ON MESSAGE
3520 004144 032703 004000 BIT #4000,R3 ; IS IT ON?
3521 004150 001402 BEQ 50$ ; YES
3522 004152 012700 001367' MOV #PROFF,R0 ; NO-OFF
3523 004156 50$: CALL .TYMSG ; TYPE IT
004156 004737 000000G JSR PC,.TYMSG
3524 004162 032703 003600 BIT #3600,R3 ; CHECK MBZ BITS, ARE THEY?
3525 004166 001404 BEQ 60$ ; YES
3526 004170 012700 001201' MOV #TA2MS4,R0 ; NO-ERROR MESSAGE
3527 004174 CALL .TYMSG ; TYPE IT
004174 004737 000000G JSR PC,.TYMSG
3528 004200 012700 001236' 60$: MOV #TA2MS5,R0 ; ADDRESS MESSAGE
3529 004204 CALL .TYMSG ; TYPE IT
004204 004737 000000G JSR PC,.TYMSG
3530 004210 005046 CLR -(SP) ; ADDR BUFFER
3531 004212 042703 177600 BIC #177600,R3 ; CLEAR EXTRA BITS
3532 004216 010346 MOV R3,-(SP) ; ADDR BUFFER
3533 004220 016246 000140' MOV DTEBUF(R2),-(SP); ADDR BUFFER
3534 004224 010600 MOV SP,R0 ; BUFFER ADDRESS
3535 004226 CALL .TYKLA ; TYPE KL ADDR
EXDTE -- EXAMINE DTE-20 REGISTE MACRO V05.04 Tuesday 17-May-88 14:36 Page 84-1
TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT
004226 004737 000000G JSR PC,.TYKLA
3536 004232 062706 000006 ADD #6,SP ; POP OFF ADDR BUFFER
3537 004236 80$: RETURN ; EXIT
004236 000207 RTS PC
3538
3539 000342 .PSECT DATA
3540
3541 000342 SPCTAB:
3542 000342 001257' .WORD SPC1
3543 000344 001263' .WORD SPC2
3544 000346 001300' .WORD SPC3
3545 000350 001304' .WORD SPC4
3546 000352 001321' .WORD SPC5
3547 000354 001332' .WORD SPC6
3548
3549 001104 .PSECT MESSAG
3550
3551 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
3552 001126 015 012 040 TA2MS2: .ASCIZ<15><12>/ OPERATION=/
001131 117 120 105
001134 122 101 124
001137 111 117 116
001142 075 000
3553 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
3554 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
3555 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
3556 001257 105 120 124 SPC1: .ASCIZ/EPT/
001262 000
3557 001263 105 130 105 SPC2: .ASCIZ/EXEC VIRTUAL/
EXDTE -- EXAMINE DTE-20 REGISTE MACRO V05.04 Tuesday 17-May-88 14:36 Page 84-2
TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT
001266 103 040 126
001271 111 122 124
001274 125 101 114
001277 000
3558 001300 125 120 124 SPC3: .ASCIZ/UPT/
001303 000
3559 001304 125 123 105 SPC4: .ASCIZ/USER VIRTUAL/
001307 122 040 126
001312 111 122 124
001315 125 101 114
001320 000
3560 001321 120 110 131 SPC5: .ASCIZ/PHYSICAL/
001324 123 111 103
001327 101 114 000
3561 001332 122 105 123 SPC6: .ASCIZ/RESERVED/
001335 105 122 126
001340 105 104 000
3562 001343 104 105 120 DEPOS: .ASCIZ/DEPOSIT/
001346 117 123 111
001351 124 000
3563 001353 105 130 101 EXAM: .ASCIZ/EXAMINE/
001356 115 111 116
001361 105 000
3564 001363 117 116 040 PRON: .ASCIZ/ON /
001366 000
3565 001367 117 106 106 PROFF: .ASCIZ/OFF/
001372 000
3566
3567 004240 .PSECT
EXDTE -- EXAMINE DTE-20 REGISTE MACRO V05.04 Tuesday 17-May-88 14:36 Page 85
TYPDG1 -- SYMBOLIC DIAG1 TYPE OUT
3569 .SBTTL TYPDG1 -- SYMBOLIC DIAG1 TYPE OUT
3570
3571 ; THIS ROUTINE WAS ADDED FOR TCO 5.1001
3572
3573 004240 TYPDG1:
3574 004240 016203 000140' MOV DTEBUF(R2),R3 ; DIAG1
3575 004244 042703 170037 BIC #170037,R3 ; GET STATUS BITS
3576 000004 .REPT 4 ; LEFT JUSTIFY
3577 ASL R3
3578 .ENDR
004250 006303 ASL R3
004252 006303 ASL R3
004254 006303 ASL R3
004256 006303 ASL R3
3579 004260 012701 000356' MOV #DIATAB,R1 ; FIRST MESSAGE PTR
3580 004264 005703 10$: TST R3 ; DONE?
3581 004266 001410 BEQ 30$ ; YES-EXIT
3582 004270 006303 ASL R3 ; BIT SET?
3583 004272 103003 BCC 20$ ; NO
3584 004274 011100 MOV @R1,R0 ; MESSAGE ADDR
3585 004276 CALL .TYMSG ; YES-TYPE MESSAGE
004276 004737 000000G JSR PC,.TYMSG
3586 004302 062701 000002 20$: ADD #2,R1 ; NEXT MESSAGE
3587 004306 000766 BR 10$ ; NEXT
3588 004310 30$: RETURN ; EXIT
004310 000207 RTS PC
3589
3590 000356 .PSECT DATA
3591
3592 000356 DIATAB:
3593 000356 001373' .WORD DG1B11
3594 000360 001424' .WORD DG1B10
3595 000362 001450' .WORD DG1B9
3596 000364 001475' .WORD DG1B8
3597 000366 001541' .WORD DG1B7
3598 000370 001604' .WORD DG1B6
3599 000372 001647' .WORD DG1B5
3600
3601 001373 .PSECT MESSAG
3602
3603 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
3604 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
3605 001450 015 012 040 DG1B9: .ASCIZ<15><12>/ KL IN HALT LOOP/
EXDTE -- EXAMINE DTE-20 REGISTE MACRO V05.04 Tuesday 17-May-88 14:36 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
3606 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
3607 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
3608 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
3609 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
3610
3611 004312 .PSECT
EXDTE -- EXAMINE DTE-20 REGISTE MACRO V05.04 Tuesday 17-May-88 14:36 Page 86
TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT
3613 .SBTTL TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT
3614
3615 ; THIS ROUTINE WAS ADDED FOR TCO 5.1001
3616
3617 004312 TYPDG3:
3618 004312 016203 000140' MOV DTEBUF(R2),R3 ; DIAG3
3619 004316 032703 000002 BIT #2,R3 ; NPR ERROR?
3620 004322 001404 BEQ 10$ ; NO-EXIT
3621 004324 012700 001711' MOV #DG3B1,R0 ; YES-MESSAGE
3622 004330 CALL .TYMSG ; TYPE IT
004330 004737 000000G JSR PC,.TYMSG
3623 004334 10$: CALLR .TCRLF ; EXIT
004334 000137 000000G JMP .TCRLF
3624
3625 001711 .PSECT MESSAG
3626
3627 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
3628
3629 004340 .PSECT
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 88
TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT
3632 .TITLE EXREG -- EXAMINE 22 AND 36 BIT REGISTER COMMAND MODULE 7603.30
3633
3634 .IDENT "007010"
3635 ;
3636 ; COPYRIGHT (C) 1979, 1984, 1985 BY
3637 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3638 ; ALL RIGHTS RESERVED.
3639 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3640 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3641 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3642 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3643 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3644 ;
3645 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3646 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3647 ; CORPORATION.
3648 ;
3649 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3650 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3651 ;
3652 ; MODULE: EXAMINE 22 AND 36 BIT REGISTER COMMAND
3653 ;
3654 ; VERSION: 06-01
3655 ;
3656 ; AUTHOR: R. BELANGER
3657 ;
3658 ; DATE: 7603.30
3659 ;
3660 ; THIS MODULE CONTAINS:
3661 ;
3662 ; 1) EXAMINE 22 AND 36 BIT REGISTER COMMAND CODE
3663 ;
3664 ;09-Nov-82 TCO 6.1364 D. Weaver
3665 ; Fix display for EXAMINE PI code, change BIS to MOVB.
3666 ; Routine: .EXMPI
3667 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 89
.EXAD -- KL DATA PATH BOARD EXAMINES 7602.16
3669 .SBTTL .EXAD -- KL DATA PATH BOARD EXAMINES 7602.16
3670
3671 .ENABL LSB
3672
3673 004340 .EXAD:: ; ADDER REGISTER
3674 004340 012700 005254' MOV #.RDADR,R0 ; DISPATCH POINTER TO R0
3675 004344 000445 BR 20$ ; DO COMMON CODE
3676 ;
3677 004346 .EXADX:: ; ADDRER EXTENSION
3678 004346 012700 005262' MOV #.RDADX,R0 ; DISPATCH POINTER TO R0
3679 004352 000442 BR 20$ ; DO COMMON CODE
3680 ;
3681 004354 .EXARR:: ; ARITHMETIC REGISTER
3682 004354 012700 005270' MOV #.RDARR,R0 ; DISPATCH POINTER TO R0
3683 004360 000437 BR 20$ ; DO COMMON CODE
3684 ;
3685 004362 .EXARX:: ; AR EXTENSION
3686 004362 012700 005276' MOV #.RDARX,R0 ; DISPATCH POINTER TO R0
3687 004366 000434 BR 20$ ; DO COMMON CODE
3688 ;
3689 004370 .EXBRR:: ; BUFFER REGISTER
3690 004370 012700 005304' MOV #.RDBRR,R0 ; DISPATCH POINTER TO R0
3691 004374 000431 BR 20$ ; DO COMMON CODE
3692 ;
3693 004376 .EXBRX:: ; BR EXTENSION
3694 004376 012700 005312' MOV #.RDBRX,R0 ; DISPATCH POINTER TO R0
3695 004402 000426 BR 20$ ; DO COMMON CODE
3696 ;
3697 004404 .EXEBS:: ; EBUS REGISTER
3698 004404 012700 005320' MOV #.RDEBS,R0 ; DISPATCH POINTER TO R0
3699 004410 000423 BR 20$ ; DO COMMON CODE
3700 ;
3701 004412 .EXFMR:: ; FAST MEMORY REGISTER
3702 004412 012700 005326' MOV #.RDFMR,R0 ; DISPATCH POINTER TO R0
3703 004416 000420 BR 20$ ; DO COMMON CODE
3704 ;
3705 004420 .EXMQR:: ; MQ REGSITER
3706 004420 012700 005334' MOV #.RDMQR,R0 ; DISPATCH POINTER TO R0
3707 004424 000415 BR 20$ ; DO COMMON CODE
3708 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 90
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
3710 .SBTTL .EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
3711
3712 004426 .EXVAB:: ; ADDRESS BREAK REGISTER
3713 004426 012700 005704' MOV #.RDVAB,R0 ; DISPATCH POINTER TO R0
3714 004432 000410 BR 10$ ; DO COMMON CODE
3715 ;
3716 004434 .EXVMA:: ; VMA REGISTER
3717 004434 012700 005712' MOV #.RDVMA,R0 ; DISPATCH POINTER TO R0
3718 004440 000405 BR 10$ ; DO COMMON CODE
3719 ;
3720 004442 .EXVMH:: ; VMA HELD REGISTER
3721 004442 012700 005720' MOV #.RDVMH,R0 ; DISPATCH POINTER TO R0
3722 004446 000402 BR 10$ ; DO COMMON CODE
3723 ;
3724 004450 .EXVPC:: ; PROGRAM COUNTER
3725 004450 012700 005676' MOV #.RDVPC,R0 ; DISPATCH POINTER TO R0
3726 ; BR 10$ ; DO COMMON CODE
3727 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 91
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
3729 ; [CONTINUED FROM THE PREVIOUS PAGE]
3730
3731 004454 10$: ; HERE FOR VMA BOARD EXAMINES
3732 004454 005037 000000G CLR .LDZFL ; DON'T PRINT LEADING ZEROES
3733 004460 20$: ; HERE FOR DATA PATH BOARD EXAMINES
3734 004460 CALL .CKEOC ; CHECK E-O-C
004460 004737 000000G JSR PC,.CKEOC
3735 004464 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
3736 004466 005046 CLR -(SP) ; .
3737 004470 005046 CLR -(SP) ; ..
3738 004472 010601 MOV SP,R1 ; ...POINT TO THE BUFFER
3739 004474 PUSH R0 ; ...SAVE THE DISPATCH ADDRESS
004474 010046 MOV R0,-(SP)
3740 004476 CALL .STPKL ; ....STOP THE KL
004476 004737 000000G JSR PC,.STPKL
3741 004502 CALL @(SP)+ ; ....READ THE REGISTER
004502 004736 JSR PC,@(SP)+
3742 004504 CALL .RSTKL ; ...YES -- RESTART THE KL
004504 004737 000000G JSR PC,.RSTKL
3743 004510 010200 MOV R2,R0 ; ...MESSAGE POINTER TO R0
3744 004512 CALL .TYMSG ; ...PRINT IT
004512 004737 000000G JSR PC,.TYMSG
3745 004516 CALL .TYSLS ; ...NOW A SLASH
004516 004737 000000G JSR PC,.TYSLS
3746 004522 CALL .TYSPC ; ...AND A SPACE
004522 004737 000000G JSR PC,.TYSPC
3747 004526 010100 MOV R1,R0 ; ...POINT TO THE DATA
3748 004530 CALL .TYKLN ; ...PRINT THAT
004530 004737 000000G JSR PC,.TYKLN
3749 004534 062706 000006 ADD #^D6,SP ; ...CLEAR THE STACK
3750 004540 CALLR .TCRLF ; ...END THE LINE AND EXIT
004540 000137 000000G JMP .TCRLF
3751 ;
3752
3753 .DSABL LSB
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 92
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
3755 .SBTTL .EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
3756
3757 ;+
3758 ; .EXAMF -- THE "EXAMINE FLAGS" COMMAND.
3759 ;
3760 ; THIS ROUTINE WILL READ AND DISPLAY THE KL PC FLAGS ON THE
3761 ; CONSOLE DEVICE.
3762 ;
3763 ; INPUT ARGUMENTS:
3764 ;
3765 ; NONE.
3766 ;
3767 ; OUTPUT ARGUMENTS:
3768 ;
3769 ; NONE.
3770 ;
3771 ; ERROR CODES RETURNED:
3772 ;
3773 ; NONE.
3774 ;-
3775
3776 004544 .EXAMF::
3777 004544 CALL .CKEOC ; CHECK E-O-C
004544 004737 000000G JSR PC,.CKEOC
3778 004550 CALL .STPKL ; STOP THE KL
004550 004737 000000G JSR PC,.STPKL
3779 004554 CALL .RDFLG ; READ THE FLAGS
004554 004737 005344' JSR PC,.RDFLG
3780 004560 CALL .RSTKL ; RESTART THE KL
004560 004737 000000G JSR PC,.RSTKL
3781 004564 010001 MOV R0,R1 ; FLAGS TO R1
3782 004566 001422 BEQ 30$ ; NONE ON -- SAY SO
3783 004570 012700 002011' MOV #EXFMSG,R0 ; HEADER
3784 004574 CALL .TYLIN ; PRINT IT
004574 004737 000000G JSR PC,.TYLIN
3785 004600 10$:
3786 004600 012700 001775' MOV #FONMSG,R0 ; ASSUME IT IS ON
3787 004604 032701 010000 BIT #BIT12,R1 ; IS THE FLAG ON?
3788 004610 001002 BNE 20$ ; YES -- GO ON
3789 004612 012700 002003' MOV #FOFMSG,R0 ; NO -- SAY SO
3790 004616 20$:
3791 004616 CALL .TYMSG ; PRINT THE STATE OF THE BIT
004616 004737 000000G JSR PC,.TYMSG
3792 004622 042701 010000 BIC #BIT12,R1 ; CLEAR THIS BIT OUT
3793 004626 006301 ASL R1 ; MOVE NEXT BIT IN
3794 004630 001363 BNE 10$ ; LOOP TILL R1 .EQ. 0
3795 004632 000404 BR 40$ ; DONE -- EXIT
3796 004634 30$:
3797 004634 012700 001746' MOV #NOFMSG,R0 ; "NO FLAGS"
3798 004640 CALL .TYMSG ; PRINT IT
004640 004737 000000G JSR PC,.TYMSG
3799 004644 40$:
3800 004644 CALLR .TCRLF ; END LINE AND RETURN
004644 000137 000000G JMP .TCRLF
3801 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 93
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
3803 001746 .PSECT MESSAG
3804
3805 001746 NOFMSG:
3806 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
3807 001775 FONMSG:
3808 001775 040 040 130 .ASCIZ % X %
002000 040 040 000
3809 002003 FOFMSG:
3810 002003 040 040 040 .ASCIZ % %
002006 040 040 000
3811 002011 EXFMSG:
3812 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
3813
3814 004650 .PSECT
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 94
.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
3816 .SBTTL .EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
3817
3818 ;+
3819 ; .EXAMK -- THE "EXAMINE KL" COMMAND
3820 ;
3821 ; THIS ROUTINE WILL EXAMINE AND DISPLAY THE FOLLOWING ITEMS ON THE
3822 ; CONSOLE DEVICE:
3823 ;
3824 ; (A) KL PROGRAM COUNTER
3825 ; (B) KL VMA REGISTER
3826 ; (C) KL PI SYSTEM STATE
3827 ; (D) KL PC FLAGS
3828 ;
3829 ; INPUT ARGUMENTS:
3830 ;
3831 ; NONE.
3832 ;
3833 ; OUTPUT ARGUMENTS:
3834 ;
3835 ; NONE.
3836 ;
3837 ; ERROR CODES RETURNED:
3838 ;
3839 ; NONE.
3840 ;-
3841
3842 004650 .EXAMK::
3843 004650 CALL .CKEOC ; CHECK E-O-C
004650 004737 000000G JSR PC,.CKEOC
3844 004654 PUSH .KLFLG ; SAVE ".KLFLG"
004654 013746 000000G MOV .KLFLG,-(SP)
3845 004660 CALL .STPKL ; .STOP THE KL
004660 004737 000000G JSR PC,.STPKL
3846 004664 012702 000000G MOV #PCMSG,R2 ; .MESSAGE POINTER TO R2
3847 004670 CALL .EXVPC ; .READ AND PRINT THE KL PC
004670 004737 004450' JSR PC,.EXVPC
3848 004674 012702 000000G MOV #VMAMSG,R2 ; .MESSAGE POINTER TO R2
3849 004700 CALL .EXVMA ; .READ AND PRINT THE KL VMA
004700 004737 004434' JSR PC,.EXVMA
3850 004704 CALL .EXMPI ; .DISPLAY THE PI SYSTEM
004704 004737 005040' JSR PC,.EXMPI
3851 004710 CALL .EXAMF ; .DISPLAY THE KL PC FLAGS
004710 004737 004544' JSR PC,.EXAMF
3852 004714 POP .SVKLF ; .SET UP ".SVKLF"
004714 012637 000000G MOV (SP)+,.SVKLF
3853 004720 CALLR .RSTKL ; RESTART THE KL
004720 000137 000000G JMP .RSTKL
3854 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 95
.EXCRA -- SMALL REGISTER EXAMINES 7609.10
3856 .SBTTL .EXCRA -- SMALL REGISTER EXAMINES 7609.10
3857
3858 .ENABL LSB
3859
3860 004724 .EXCRA:: ; CRAM ADDRESS REGISTER
3861 004724 012700 005550' MOV #.RDCRA,R0 ; DISPATCH POINTER TO R0
3862 004730 000416 BR 10$ ; DO COMMON CODE
3863 ;
3864 004732 .EXCRL:: ; CRAM LOC REGISTER
3865 004732 012700 005556' MOV #.RDCRL,R0 ; DISPATCH POINTER TO R0
3866 004736 000413 BR 10$ ; DO COMMON CODE
3867 ;
3868 004740 .EXDRA:: ; DRAM ADDRESS REGISTER
3869 004740 012700 005564' MOV #.RDDRA,R0 ; DISPATCH POINTER TO R0
3870 004744 000410 BR 10$ ; DO COMMON CODE
3871 ;
3872 004746 .EXFER:: ; FLOATING EXPONENT REGISTER
3873 004746 012700 005572' MOV #.RDFER,R0 ; DISPATCH POINTER TO R0
3874 004752 000405 BR 10$ ; DO COMMON CODE
3875 ;
3876 004754 .EXSBR:: ; CRAM SBR RET REGISTER
3877 004754 012700 005600' MOV #.RDSBR,R0 ; DISPATCH POINTER TO R0
3878 004760 000402 BR 10$ ; DO COMMON CODE
3879 ;
3880 004762 .EXSCR::
3881 004762 012700 005606' MOV #.RDSCR,R0 ; DISPATCH POINTER TO R0
3882 ; BR 10$ ; DO COMMON CODE
3883 ;
3884
3885 ; [CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 96
.EXCRA -- SMALL REGISTER EXAMINES 7609.10
3887 ; [CONTINUED FROM THE PREVIOUS PAGE]
3888
3889 004766 10$: ; HERE FOR SMALL REGISTER READS
3890 004766 CALL .CKEOC ; CHECK E-O-C
004766 004737 000000G JSR PC,.CKEOC
3891 004772 PUSH R0 ; SAVE DISPATCH ADDRESS
004772 010046 MOV R0,-(SP)
3892 004774 CALL .STPKL ; .STOP THE KL
004774 004737 000000G JSR PC,.STPKL
3893 005000 CALL @(SP)+ ; .READ THE REGISTER
005000 004736 JSR PC,@(SP)+
3894 005002 PUSH R0 ; SAVE THE REGISTER DATA
005002 010046 MOV R0,-(SP)
3895 005004 CALL .RSTKL ; .YES -- RESTART THE KL
005004 004737 000000G JSR PC,.RSTKL
3896 005010 010200 MOV R2,R0 ; .MESSAGE POINTER TO R0
3897 005012 CALL .TYMSG ; .PRINT IT
005012 004737 000000G JSR PC,.TYMSG
3898 005016 CALL .TYSLS ; .AND A SLASH
005016 004737 000000G JSR PC,.TYSLS
3899 005022 CALL .TYSPC ; .AND A SPACE
005022 004737 000000G JSR PC,.TYSPC
3900 005026 POP R0 ; .GET THE DATA
005026 012600 MOV (SP)+,R0
3901 005030 CALL .TYELN ; PRINT IT
005030 004737 000000G JSR PC,.TYELN
3902 005034 CALLR .TCRLF ; END THE LINE AND EXIT
005034 000137 000000G JMP .TCRLF
3903 ;
3904
3905 .DSABL LSB
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 98
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
3908 .SBTTL .EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
3909
3910 ;+
3911 ; .EXMPI -- THE "EXAMINE PI" COMMAND
3912 ;
3913 ; THIS ROUTINE READS THE STATE OF THE KL PI SYSTEM AND DISPLAYS IT
3914 ; ON THE CONSOLE DEVICE.
3915 ;
3916 ; INPUT ARGUMENTS:
3917 ;
3918 ; NONE.
3919 ;
3920 ; OUTPUT ARGUMENTS:
3921 ;
3922 ; NONE.
3923 ;
3924 ; ERROR CODES RETURNED:
3925 ;
3926 ; NONE.
3927 ;-
3928
3929 005040 .EXMPI::
3930 005040 CALL .CKEOC ; CHECK THE E-O-C CHARACTER
005040 004737 000000G JSR PC,.CKEOC
3931 005044 005002 CLR R2 ; CLEAR R2
3932 005046 CALL .STPKL ; STOP THE KL
005046 004737 000000G JSR PC,.STPKL
3933 005052 CALL .RDPI ; READ THE PI SYSTEM STATE
005052 004737 005470' JSR PC,.RDPI
3934 005056 CALL .RSTKL ; RESTART THE KL
005056 004737 000000G JSR PC,.RSTKL
3935 005062 010001 MOV R0,R1 ; DATA POINTER TO R1
3936 005064 012700 002112' MOV #EPMSG0,R0 ; MESSAGE POINTER TO R0
3937 005070 CALL .TYMSG ; PRINT IT
005070 004737 000000G JSR PC,.TYMSG
3938 005074 012700 000000G MOV #ONMSG,R0 ; "ON"
3939 005100 112102 MOVB (R1)+,R2 ; [6.1364] PI ACTIVE + PI ON TO R2
3940 005102 032702 000200 BIT #200,R2 ; IS IT ON?
3941 005106 001002 BNE 10$ ; YES -- GO ON
3942 005110 012700 000000G MOV #OFFMSG,R0 ; NO -- SO SAY "OFF"
3943
3944 ; [CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 99
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
3946 ; [CONTINUED FROM THE PREVIOUS PAGE]
3947
3948 005114 10$:
3949 005114 CALL .TYMSG ; PRINT IT
005114 004737 000000G JSR PC,.TYMSG
3950 005120 012700 002126' MOV #EPMSG1,R0 ; "PI ON"
3951 005124 CALL .TYMSG ; PRINT IT
005124 004737 000000G JSR PC,.TYMSG
3952 005130 010200 MOV R2,R0 ; GET ACTIVE BITS
3953 005132 042700 177600 BIC #^C177,R0 ; FLUSH JUNK
3954 005136 CALL .TYP3D ; PRINT THEM
005136 004737 000000G JSR PC,.TYP3D
3955 005142 012700 002140' MOV #EPMSG2,R0 ; "PI HOLD"
3956 005146 CALL .TYMSG ; PRINT IT
005146 004737 000000G JSR PC,.TYMSG
3957 005152 112100 MOVB (R1)+,R0 ; GET THE PI HOLD BITS
3958 005154 042700 177600 BIC #^C177,R0 ; FLUSH JUNK
3959 005160 CALL .TYP3D ; PRINT THEM
005160 004737 000000G JSR PC,.TYP3D
3960 005164 012700 002154' MOV #EPMSG3,R0 ; "PI GEN"
3961 005170 CALL .TYMSG ; PRINT IT
005170 004737 000000G JSR PC,.TYMSG
3962 005174 112100 MOVB (R1)+,R0 ; GET THE GEN BITS
3963 005176 042700 177600 BIC #^C177,R0 ; FLUSH JUNK
3964 005202 CALL .TYP3D ; PRINT THEM
005202 004737 000000G JSR PC,.TYP3D
3965 005206 CALLR .TCRLF ; END THE LINE AND RETURN
005206 000137 000000G JMP .TCRLF
3966 ;
3967 002112 .PSECT MESSAG
3968
3969 002112 EPMSG0:
3970 002112 120 111 040 .ASCIZ %PI ACTIVE: %
002115 101 103 124
002120 111 126 105
002123 072 040 000
3971 002126 EPMSG1:
3972 002126 054 040 120 .ASCIZ %, PI ON: %
002131 111 040 117
002134 116 072 040
002137 000
3973 002140 EPMSG2:
3974 002140 054 040 120 .ASCIZ %, PI HOLD: %
002143 111 040 110
002146 117 114 104
002151 072 040 000
3975 002154 EPMSG3:
3976 002154 054 040 120 .ASCIZ %, PI GEN: %
002157 111 040 107
002162 105 116 072
002165 040 000
3977 005212 .PSECT
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 100
.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
3979 .SBTTL .EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
3980
3981 005212 .EXREG::
3982 005212 CALL .CKEOC ; CHECK E-O-C
005212 004737 000000G JSR PC,.CKEOC
3983 005216 CALL .STPKL ; STOP THE KL
005216 004737 000000G JSR PC,.STPKL
3984 005222 012701 000000G MOV #.EXMTB,R1 ; TABLE POINTER TO R1
3985 005226 012703 000000G MOV #EXRTBL,R3 ; COUNT TO R3
3986 005232 10$:
3987 005232 012102 MOV (R1)+,R2 ; MESSAGE ADDRESS TO R2
3988 005234 PUSH R1 ; SAVE R1
005234 010146 MOV R1,-(SP)
3989 005236 CALL @2(R1) ; .READ AND PRINT THE REGISTER
005236 004771 000002 JSR PC,@2(R1)
3990 005242 POP R1 ; .RESTORE R1
005242 012601 MOV (SP)+,R1
3991 005244 022121 CMP (R1)+,(R1)+ ; ADVANCE THE POINTER
3992 005246 077307 SOB R3,10$ ; LOOP TILL COUNT EXHAUSTED
3993 005250 CALLR .RSTKL ; RESTART THE KL
005250 000137 000000G JMP .RSTKL
3994 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 101
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
3996 .SBTTL .RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
3997
3998 ;+
3999 ; .RDADR -- SUBROUTINE TO READ THE KL ADDER REGISTER.
4000 ; .RDADX -- SUBROUTINE TO READ THE KL ADDER EXTENSION REGISTER.
4001 ; .RDARR -- SUBROUTINE TO READ THE KL ARITHMETIC REGISTER.
4002 ; .RDARX -- SUBROUTINE TO READ THE KL ARITHMETIC REGISTER EXTENSION.
4003 ; .RDBRR -- SUBROUTINE TO READ THE KL BUFFER REGISTER.
4004 ; .RDBRX -- SUBROUTINE TO READ THE KL BUFFER REGISTER EXTENSION.
4005 ; .RDEBS -- SUBROUTINE TO READ THE KL EBUS REGISTER.
4006 ; .RDFMR -- SUBROUTINE TO READ THE KL FAST MEMORY REGISTER.
4007 ; .RDMQR -- SUBROUTINE TO READ THE KL MULTIPLIER QUOTIENT REGISTER.
4008 ;
4009 ; THESE SUBROUTINES READ AND RETURN THE CONTENT OF THE SPECIFIED KL
4010 ; DATA PATH REGISTER IN A TRIPLET POINTED TO BY R1 IN THE CALL.
4011 ;
4012 ; INPUT ARGUMENTS:
4013 ;
4014 ; R1 CONTAINS A POINTER TO A 3 WORD DATA BUFFER
4015 ;
4016 ; OUTPUT ARGUMENTS:
4017 ;
4018 ; R0 CONTAINS A POINTER TO THE DATA.
4019 ;
4020 ; ERROR CODES RETURNED:
4021 ;
4022 ; FRF -- FUNCTION READ FAILED.
4023 ;-
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 102
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
4025 .ENABL LSB
4026
4027 005254 .RDADR::
4028 005254 012700 000256 MOV #FR.RAD,R0 ; READ THE KL ADDER
4029 005260 000427 BR 10$ ; COMMON CODE
4030 ;
4031 005262 .RDADX::
4032 005262 012700 000254 MOV #FR.ADX,R0 ; READ THE KL ADDER EXTENSION
4033 005266 000424 BR 10$ ; COMMON CODE
4034 ;
4035 005270 .RDARR::
4036 005270 012700 000240 MOV #FR.RAR,R0 ; READ THE KL ARITHMETIC REGISTER
4037 005274 000421 BR 10$ ; COMMON CODE
4038 ;
4039 005276 .RDARX::
4040 005276 012700 000252 MOV #FR.ARX,R0 ; READ THE KL AR EXTENSION REGISTER
4041 005302 000416 BR 10$ ; COMMON CODE
4042 ;
4043 005304 .RDBRR::
4044 005304 012700 000242 MOV #FR.RBR,R0 ; READ THE KL BUFFER REGISTER
4045 005310 000413 BR 10$ ; COMMON CODE
4046 ;
4047 005312 .RDBRX::
4048 005312 012700 000250 MOV #FR.BRX,R0 ; READ THE KL BR EXTENSION REGISTER
4049 005316 000410 BR 10$ ; COMMON CODE
4050 ;
4051 005320 .RDEBS::
4052 005320 012700 000356 MOV #FR.EBS,R0 ; READ THE KL EBUS REGISTER
4053 005324 000405 BR 10$ ; COMMON CODE
4054 ;
4055 005326 .RDFMR::
4056 005326 012700 000246 MOV #FR.RFM,R0 ; READ THE KL FAST MEMORY REGISTER
4057 005332 000402 BR 10$ ; COMMON CODE
4058 ;
4059 005334 .RDMQR::
4060 005334 012700 000244 MOV #FR.RMQ,R0 ; READ THE KL MULTIPLIER QUOTIENT REGISTER
4061 ; FALL INTO COMMON CODE
4062 005340 10$:
4063 005340 CALLR .FREAD ; READ IT AND EXIT
005340 000137 000000G JMP .FREAD
4064 ;
4065
4066 .DSABL LSB
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 103
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
4068 .SBTTL .RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
4069
4070 ;+
4071 ; .RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS.
4072 ;
4073 ; THIS SUBROUTINE READS AND RETURNS THE STATE OF THE KL PC FLAGS IN R0.
4074 ;
4075 ; INPUT ARGUMENTS:
4076 ;
4077 ; NONE.
4078 ;
4079 ; OUTPUT ARGUMENTS:
4080 ;
4081 ; R0 CONTAINS THE KL PC FLAGS
4082 ;
4083 ; THE FOLLOWING IS A LIST OF THE KL FLAGS RETURNED IN R0:
4084 ;
4085 ; BIT # PC FLAG BIT AND MEANING KL BIT
4086 ; ----- ---------------------------- --------
4087 ;
4088 ; 12 PC.OVF -- KL OVERFLOW FLAG -- 00
4089 ; 11 PC.CY0 -- KL CARRY 0 FLAG -- 01
4090 ; 10 PC.CY1 -- KL CARRY 1 FLAG -- 02
4091 ; 09 PC.FOV -- KL FLOATING OVERFLOW FLAG -- 03
4092 ; 08 PC.BIS -- KL BYTE INCREMENT SUPPRESSION FLAG -- 04
4093 ; 07 PC.USR -- KL USER MODE FLAG -- 05
4094 ; 06 PC.UIO -- KL USER IOT MODE FLAG -- 06
4095 ; 05 PC.LIP -- KL LAST INSTRUCTION PUBLIC FLAG -- 07
4096 ; 04 PC.AFI -- KL ADDRESS FAILURE INHIBIT FLAG -- 08
4097 ; 03 PC.AT1 -- KL APR TRAP 1 FLAG -- 09
4098 ; 02 PC.AT0 -- KL APR TRAP 0 FLAG -- 10
4099 ; 01 PC.FUF -- KL FLOATING UNDERFLOW FLAG -- 11
4100 ; 00 PC.NDV -- KL NO DIVIDE FLAG -- 12
4101 ;
4102 ; ERROR CODES RETURNED:
4103 ;
4104 ; FRF -- FUNCTION READ FAILED.
4105 ;-
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 104
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
4107 005344 .RDFLG::
4108 005344 PUSH <R1,R2> ; SAVE R1 AND R2 ON THE STACK
005344 010146 MOV R1,-(SP)
005346 010246 MOV R2,-(SP)
4109 005350 005001 CLR R1 ; ..CLEAR R1
4110 005352 005002 CLR R2 ; ..AND R2
4111 005354 012700 000202 MOV #FR.101,R0 ; ..FR CODE FOR LOW FLAGS
4112 005360 CALL .FREAD ; ..READ THEM
005360 004737 000000G JSR PC,.FREAD
4113 005364 012701 177764 MOV #-^D12,R1 ; ..SHIFT COUNT TO R1
4114 005370 CALL .TPSHI ; ..SHIFT OUR WORD
005370 004737 000000G JSR PC,.TPSHI
4115 005374 042710 177700 BIC #177700,(R0) ; ..MASK OUT FLAG BITS
4116 005400 051002 BIS (R0),R2 ; ..PUT THE LOW FLAGS IN R2
4117 005402 005001 CLR R1 ; ..AGAIN
4118 005404 012700 000200 MOV #FR.100,R0 ; ..FR CODE FOR MOST OF THE FLAGS
4119 005410 CALL .FREAD ; ..READ THEM
005410 004737 000000G JSR PC,.FREAD
4120 005414 012701 177772 MOV #-^D6,R1 ; ..SHIFT COUNT TO R1
4121 005420 CALL .TPSHI ; ..SHIFT THE DATA
005420 004737 000000G JSR PC,.TPSHI
4122 005424 042710 170077 BIC #170077,(R0) ; ..JUST THE BITS WE WANT
4123 005430 051002 BIS (R0),R2 ; ..SAVE THE HIGH FLAGS IN R2
4124 005432 005001 CLR R1 ; ..CLEAR R1 AGAIN
4125 005434 012700 000264 MOV #FR.132,R0 ; ..FR CODE FOR LAST FLAG BIT
4126 005440 CALL .FREAD ; ..READ IT
005440 004737 000000G JSR PC,.FREAD
4127 005444 032760 000001 000004 BIT #BIT00,4(R0) ; ..IS IT ON?
4128 005452 001402 BEQ 10$ ; ..NO -- JUST EXIT
4129 005454 052702 010000 BIS #PC.OVF,R2 ; ..YES -- SET IT IN OUR WORD
4130 005460 10$:
4131 005460 010200 MOV R2,R0 ; ..PUT A COPY IN R0
4132 005462 POP <R2,R1> ; ..RESTORE REGISTERS
005462 012602 MOV (SP)+,R2
005464 012601 MOV (SP)+,R1
4133 005466 RETURN ; TO CALLER
005466 000207 RTS PC
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 105
.RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
4135 .SBTTL .RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
4136
4137 ;+
4138 ; .RDPI -- SUBROUTINE TO READ THE KL PI BOARDS.
4139 ;
4140 ; THIS SUBROUTINE READS THE KL PI BOARDS AND STORES THE STATUS IN
4141 ; A TWO WORD TABLE, ".PITAB", WHICH IS POINTED TO BY R0 ON SUCCESSFUL
4142 ; RETURN.
4143 ;
4144 ; WORD 0 OF ".PITAB" CONTAINS:
4145 ;
4146 ; (A) PIH 1 THRU PIH 7 (BITS 14 THRU 08),
4147 ; (B) PI ACTIVE (BIT 07),
4148 ; (C) PI ON 1 THRU PI ON 7 (BITS 06 THRU 00).
4149 ;
4150 ; WORD 2 OF ".PITAB" CONTAINS:
4151 ;
4152 ; (A) PI GEN 1 THRU PI GEN 7 (BITS 06 THRU 00).
4153 ;
4154 ; INPUT ARGUMENTS:
4155 ;
4156 ; NONE.
4157 ;
4158 ; OUTPUT ARGUMENTS:
4159 ;
4160 ; R0 POINTS TO ".PITAB".
4161 ;
4162 ; ERROR CODES RETURNED:
4163 ;
4164 ; FRF -- FUNCTION READ FAILED.
4165 ;-
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 106
.RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
4167 005470 .RDPI::
4168 005470 PUSH <R1,R2,R3> ; SAVE REGISTERS
005470 010146 MOV R1,-(SP)
005472 010246 MOV R2,-(SP)
005474 010346 MOV R3,-(SP)
4169 005476 012703 000374' MOV #RDPITB,R3 ; ...TABLE POINTER TO R3
4170 005502 012702 000000G MOV #.PITAB,R2 ; ...SAVE AREA POINTER TO R2
4171 005506 10$:
4172 005506 005001 CLR R1 ; ...CLEAR R1
4173 005510 012300 MOV (R3)+,R0 ; ...FR CODE TO R0
4174 005512 CALL .FREAD ; ...READ IT
005512 004737 000000G JSR PC,.FREAD
4175 005516 012301 MOV (R3)+,R1 ; ...SHIFT COUNT TO R1
4176 005520 CALL .TPSHI ; ...SHIFT IT
005520 004737 000000G JSR PC,.TPSHI
4177 005524 042310 BIC (R3)+,(R0) ; ...CLEAR UNWANTED BIT(S)
4178 005526 011022 MOV (R0),(R2)+ ; ...PUT IT IN SAVE AREA
4179 005530 022703 000410' CMP #RDPITE,R3 ; ...ARE WE AT END OF TABLE?
4180 005534 001364 BNE 10$ ; ...NO -- KEEP GOING
4181 005536 011300 MOV (R3),R0 ; ...YES -- POINT TO SAVE AREA
4182 005540 POP <R3,R2,R1> ; ...RESTORE REGISTERS
005540 012603 MOV (SP)+,R3
005542 012602 MOV (SP)+,R2
005544 012601 MOV (SP)+,R1
4183 005546 RETURN ; TO CALLER
005546 000207 RTS PC
4184
4185 000374 .PSECT DATA
4186
4187 000374 RDPITB:
4188 000374 000200 .WORD FR.PI0 ; FIRST READ CODE
4189 000376 177756 .WORD -^D18 ; SHIFT COUNT
4190 000400 100000 .WORD BIT15 ; MASK
4191 000402 000202 .WORD FR.PI1 ; SECOND READ CODE
4192 000404 177756 .WORD -^D18 ; SHIFT COUNT
4193 000406 177600 .WORD 177600 ; MASK
4194 000410' RDPITE=.
4195 000410 000000G .WORD .PITAB ; POINTER TO SAVE AREA
4196
4197 005550 .PSECT
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 107
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
4199 .SBTTL .RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
4200
4201 ;+
4202 ; .RDCRA -- SUBROUTINE TO READ THE KL CRAM ADDR REGISTER.
4203 ; .RDCRL -- SUBROUTINE TO READ THE KL CRAM LOC REGISTER.
4204 ; .RDDRA -- SUBROUTINE TO READ THE KL DRAM ADDR REGISTER.
4205 ; .RDFER -- SUBROUTINE TO READ THE KL FLOATING EXPONENT REGISTER.
4206 ; .RDSCR -- SUBROUTINE TO READ THE KL SHIFT COUNT REGISTER.
4207 ; .RDSBR -- SUBROUTINE TO READ THE KL CRAM SUBROUTINE RETURN REGISTER.
4208 ;
4209 ; THESE SUBROUTINES READ THE CONTENT OF THE SPECIFIED REGISTER
4210 ; AND RETURN IT IN R0. NOTE THAT THE CONTENT OF EACH REGISTER IS LESS
4211 ; THAN 16 BITS AND MUST BE READ USING TWO FUNCTION READS.
4212 ;
4213 ; INPUT ARGUMENTS:
4214 ;
4215 ; NONE.
4216 ;
4217 ; OUTPUT ARGUMENTS:
4218 ;
4219 ; R0 HOLDS THE CONTENT OF THE SPECIFIED REGISTER
4220 ;
4221 ; ERROR CODES RETURNED:
4222 ;
4223 ; FRF -- FUNCTION READ FAILED.
4224 ;-
4225
4226 .ENABL LSB
4227
4228 005550 .RDCRA::
4229 005550 012700 000412' MOV #CRATAB,R0 ; POINT TO CRAM ADDRESS TABLE
4230 005554 000416 BR 10$ ; DO COMMON CODE
4231 ;
4232 005556 .RDCRL::
4233 005556 012700 000426' MOV #CRLTAB,R0 ; POINT TO CR LOC TABLE
4234 005562 000413 BR 10$ ; DO COMMON CODE
4235 ;
4236 005564 .RDDRA::
4237 005564 012700 000442' MOV #DRATAB,R0 ; POINT TO DRAM ADDR TABLE
4238 005570 000410 BR 10$ ; DO COMMON CODE
4239 ;
4240 005572 .RDFER::
4241 005572 012700 000456' MOV #FERTAB,R0 ; POINT TO FE TABLE
4242 005576 000405 BR 10$ ; DO COMMON CODE
4243 ;
4244 005600 .RDSBR::
4245 005600 012700 000472' MOV #SBRTAB,R0 ; POINT TO CRAM SBR RET TABLE
4246 005604 000402 BR 10$ ; DO COMMON CODE
4247 ;
4248 005606 .RDSCR::
4249 005606 012700 000506' MOV #SCRTAB,R0 ; POINT TO SHIFT COUNT TABLE
4250 ; BR 10$ ; FALL INTO COMMON CODE
4251
4252 ; [CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 108
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
4254 ; [CONTINUED FROM THE PREVIOUS PAGE]
4255
4256 005612 10$: ; HERE FROM PREVIOUS PAGE
4257 005612 PUSH <R1,R2> ; SAVE CALLER'S REGISTERS
005612 010146 MOV R1,-(SP)
005614 010246 MOV R2,-(SP)
4258 005616 010002 MOV R0,R2 ; ..POINTER TO R2
4259 005620 005001 CLR R1 ; ..CLEAR R1
4260 005622 012200 MOV (R2)+,R0 ; ..READ THE HIGH ORDER BITS
4261 005624 CALL .FREAD ; ..DO IT
005624 004737 000000G JSR PC,.FREAD
4262 005630 012201 MOV (R2)+,R1 ; ..SHIFT COUNT TO R1
4263 005632 CALL .TPSHI ; ..SHIFT IT
005632 004737 000000G JSR PC,.TPSHI
4264 005636 042210 BIC (R2)+,(R0) ; ..MASK OUT UNWANTED BITS
4265 005640 PUSH (R0) ; ..SAVE THE BITS
005640 011046 MOV (R0),-(SP)
4266 005642 012200 MOV (R2)+,R0 ; ...READ THE LOW ORDER BITS
4267 005644 005001 CLR R1 ; ...CLEAR R1
4268 005646 CALL .FREAD ; ...DO IT
005646 004737 000000G JSR PC,.FREAD
4269 005652 012201 MOV (R2)+,R1 ; ...SHIFT COUNT TO R1
4270 005654 CALL .TPSHI ; ...SHIFT IT
005654 004737 000000G JSR PC,.TPSHI
4271 005660 042210 BIC (R2)+,(R0) ; ...MASK OUT UNWANTED BITS
4272 005662 051610 BIS (SP),(R0) ; ...SET IN THE HIGH ORDER BITS
4273 005664 011000 MOV (R0),R0 ; ...PUT IT IN R0
4274 005666 005726 TST (SP)+ ; ...CLEAR THE STACK
4275 005670 POP <R2,R1> ; ..RESTORE REGISTERS
005670 012602 MOV (SP)+,R2
005672 012601 MOV (SP)+,R1
4276 005674 RETURN ; TO CALLER
005674 000207 RTS PC
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 109
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
4278 ; TABLES FOR SMALL REGISTER READS
4279
4280 000412 .PSECT DATA
4281
4282 000412 CRATAB:
4283 000412 000312 .WORD FR.CA1 ; FR FOR CRAM ADDR HIGH BITS
4284 000414 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4285 000416 174077 .WORD 174077 ; BIT MASK FOR SAME
4286 000420 000310 .WORD FR.CA2 ; FR FOR CRAM ADDR LOW BITS
4287 000422 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
4288 000424 177700 .WORD 177700 ; BIT MASK FOR SAME
4289
4290 000426 CRLTAB:
4291 000426 000316 .WORD FR.CL1 ; FR FOR CRAM LOC HIGH BITS
4292 000430 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4293 000432 174077 .WORD 174077 ; BIT MASK FOR SAME
4294 000434 000314 .WORD FR.CL2 ; FR FOR CRAM LOC LOW BITS
4295 000436 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
4296 000440 177700 .WORD 177700 ; BIT MASK FOR SAME
4297
4298 000442 DRATAB:
4299 000442 000260 .WORD FR.DA1 ; FR FOR DRAM ADDR HIGH BITS
4300 000444 177764 .WORD -^D12 ; SHIFT COUNT FOR SAME
4301 000446 177077 .WORD 177077 ; BIT MASK FOR SAME
4302 000450 000262 .WORD FR.DA2 ; FR FOR DRAM ADDR LOW BITS
4303 000452 177756 .WORD -^D18 ; SHIFT COUNT FOR SAME
4304 000454 177700 .WORD 177700 ; BIT MASK FOR SAME
4305
4306 000456 FERTAB:
4307 000456 000266 .WORD FR.FE1 ; FR FOR FE HIGH BITS
4308 000460 177755 .WORD -^D19 ; SHIFT COUNT FOR SAME
4309 000462 176037 .WORD 176037 ; BIT MASK FOR SAME
4310 000464 000264 .WORD FR.FE2 ; FR FOR FE LOW BITS
4311 000466 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4312 000470 177740 .WORD 177740 ; BIT MASK FOR SAME
4313
4314 000472 SBRTAB:
4315 000472 000306 .WORD FR.SR1 ; FR FOR SBR RET HIGH BITS
4316 000474 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4317 000476 174077 .WORD 174077 ; BIT MASK FOR SAME
4318 000500 000304 .WORD FR.SR2 ; FR FOR SBR RET LOW BITS
4319 000502 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
4320 000504 177700 .WORD 177700 ; BIT MASK FOR SAME
4321
4322 000506 SCRTAB:
4323 000506 000262 .WORD FR.SC1 ; FR FOR SHIFT COUNT HIGH BITS
4324 000510 177755 .WORD -^D19 ; SHIFT COUNT FOR SAME
4325 000512 177417 .WORD 177417 ; BIT MASK FOR SAME
4326 000514 000260 .WORD FR.SC2 ; FR FOR SHIFT COUNT LOW BITS
4327 000516 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
4328 000520 177760 .WORD 177760 ; BIT MASK FOR SAME
4329
4330 005676 .PSECT
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 110
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
4332 .SBTTL .RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
4333
4334 ;+
4335 ; .RDVPC -- SUBROUTINE TO READ THE KL PROGRAM COUNTER REGISTER
4336 ; .RDVAB -- SUBROUTINE TO READ THE KL ADDRESS BREAK REGISTER.
4337 ; .RDVMA -- SUBROUTINE TO READ THE KL VMA REGISTER.
4338 ; .RDVMH -- SUBROUTINE TO READ THE KL VMAH REGISTER.
4339 ;
4340 ; THESE SUBROUTINES READ AND ASSEMBLE THE DESIRED VMA BOARD REGISTER
4341 ; INTO A THREE WORD BLOCK POINTED TO BY R1 IN THE CALL.
4342 ;
4343 ; INPUT ARGUMENTS:
4344 ;
4345 ; R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
4346 ;
4347 ; OUTPUT ARGUMENTS:
4348 ;
4349 ; R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
4350 ;
4351 ; ERROR CODES RETURNED:
4352 ;
4353 ; FRF -- FUNCTION READ FAILED.
4354 ;-
4355
4356 .ENABL LSB
4357
4358 005676 .RDVPC::
4359 005676 012700 000522' MOV #PCTAB,R0 ; POINTER TO PC TABLE
4360 005702 000410 BR 10$
4361 ;
4362 005704 .RDVAB::
4363 005704 012700 000530' MOV #ABTAB,R0 ; POINTER TO ADDRESS BREAK TABLE
4364 005710 000405 BR 10$
4365 ;
4366 005712 .RDVMA::
4367 005712 012700 000536' MOV #VMATB,R0 ; POINTER TO VMA TABLE
4368 005716 000402 BR 10$
4369 ;
4370 005720 .RDVMH::
4371 005720 012700 000544' MOV #VMHTB,R0 ; POINTER TO VMAH TABLE
4372 005724 10$:
4373 005724 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
005724 004537 000000G JSR R5,.REGSV
4374 005730 010005 MOV R0,R5 ; TABLE POINTER TO R5
4375 005732 012704 000004 MOV #^D4,R4 ; ITERATION COUNT TO R4
4376 005736 010103 MOV R1,R3 ; USER BUFFER ADDRESS TO R3
4377 005740 012502 MOV (R5)+,R2 ; FUNCTION READ BASE TO R2
4378 005742 PUSH (R5)+ ; MASK WORD TO TOP OF THE STACK
005742 012546 MOV (R5)+,-(SP)
4379 005744 011505 MOV (R5),R5 ; .SHIFT BASE TO R5
4380 005746 010100 MOV R1,R0 ; .CLEAR CALLER'S AREA
4381 005750 CALL .TPCLR ; .SO
005750 004737 000000G JSR PC,.TPCLR
4382
4383 ; [CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT MACRO V05.04 Tuesday 17-May-88 14:36 Page 111
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
4385 ; [CONTINUED FROM THE PREVIOUS PAGE]
4386
4387 005754 20$: ; .GET HERE FROM .RDVXX, ABOVE
4388 005754 010200 MOV R2,R0 ; .SET THE FUNCTION READ NUMBER
4389 005756 006300 ASL R0 ; .TIMES 2
4390 005760 005001 CLR R1 ; .CLEAR R1
4391 005762 CALL .FREAD ; .READ IT
005762 004737 000000G JSR PC,.FREAD
4392 005766 041620 BIC (SP),(R0)+ ; .SP POINTS TO BIT MASK
4393 005770 041610 BIC (SP),(R0) ; .R0 POINTS TO READ BLOCK
4394 005772 005740 TST -(R0) ; .NOW BACK THE POINTER UP
4395 005774 010501 MOV R5,R1 ; .GET THE SHIFT COUNT INTO R1
4396 005776 CALL .TPSHI ; .AND SHIFT IT
005776 004737 000000G JSR PC,.TPSHI
4397 006002 052023 BIS (R0)+,(R3)+ ; .SET THE BITS IN THE USER BUFFER
4398 006004 051013 BIS (R0),(R3) ; .SO
4399 006006 005743 TST -(R3) ; .BACK CALLER'S POINTER UP
4404 006010 122225 CMPB (R2)+,(R5)+ ; .INCREMENT READ NUMBER AND SHIFT COUNT
4406 006012 077420 SOB R4,20$ ; .DO THIS FOUR TIMES
4407 006014 042763 177600 000002 BIC #177600,2(R3) ; .GET RID OF BITS HIGHER THAN 13
4408 006022 005726 TST (SP)+ ; CLEAR THE STACK
4409 006024 RETURN ; RETURN TO CALLER
006024 000207 RTS PC
4410
4411 .DSABL LSB
4412
4413 ; TABLES FOR VMA BOARD READS
4414
4415 000522 .PSECT DATA
4416
4417 000522 PCTAB:
4418 000522 000150 .WORD FR.150/2 ; BASE READ FOR PC REGISTER
4419 000524 135673 .WORD 135673 ; BIT MASK " " "
4420 000526 177776 .WORD -^D2 ; SHIFT CNT " " "
4421 000530 ABTAB:
4422 000530 000150 .WORD FR.150/2 ; BASE READ FOR ADDRESS BREAK REGISTER
4423 000532 167356 .WORD 167356 ; BIT MASK " " " "
4424 000534 000000 .WORD 0 ; SHIFT CNT " " " "
4425 000536 VMATB:
4426 000536 000154 .WORD FR.154/2 ; BASE READ FOR VMA REGISTER
4427 000540 135673 .WORD 135673 ; BIT MASK " " "
4428 000542 177776 .WORD -^D2 ; SHIFT CNT " " "
4429 000544 VMHTB:
4430 000544 000154 .WORD FR.154/2 ; BASE READ FOR VMAH REGISTER
4431 000546 167356 .WORD 167356 ; BIT MASK " " "
4432 000550 000000 .WORD 0 ; SHIFT CNT " " "
4433
4434 006026 .PSECT
4435 .TITLE GTTIM -- INPUT AND DISPLAY DATE AND TIME MODULE 7703.04
4436
4437 .IDENT "006060"
4438
4439 ;
4440 ; COPYRIGHT (C) 1975, 1984, 1985 BY
4441 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
4442 ; ALL RIGHTS RESERVED.
4443 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
GTTIM -- INPUT AND DISPLAY DATE MACRO V05.04 Tuesday 17-May-88 14:36 Page 111-1
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
4444 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
4445 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
4446 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
4447 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
4448 ;
4449 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
4450 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
4451 ; CORPORATION.
4452 ;
4453 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4454 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
4455 ;
4456 ; MODULE: INPUT AND DISPLAY DATE AND TIME
4457 ;
4458 ; VERSION: 06-06
4459 ;
4460 ; AUTHOR: R. BELANGER
4461 ;
4462 ; DATE: 7703.04
4463 ;
4464 ; THIS MODULE CONTAINS:
4465 ;
4466 ; 1) INPUT DATE AND TIME CODE
4467 ; 2) DISPLAY DATE AND TIME CODE
GTTIM -- INPUT AND DISPLAY DATE MACRO V05.04 Tuesday 17-May-88 14:36 Page 112
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
4469 .SBTTL .GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
4470
4471 ;+
4472 ; .GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE
4473 ;
4474 ; THIS SUBROUTINE WILL EVALUATE A PREVIOUSLY INPUT ASCII STRING OF THE
4475 ; FORM "DD-MMM-YYYY" AND RETURN THE VALUE OF THE YEAR, MONTH AND DAY
4476 ; IN A THREE BYTE BLOCK.
4477 ;
4478 ; INPUT ARGUMENTS:
4479 ;
4480 ; R0 POINTS TO A THREE BYTE DATA BLOCK
4481 ; R5 POINTS TO THE INPUT STREAM
4482 ;
4483 ; OUTPUT ARGUMENTS:
4484 ;
4485 ; R0 POINTS TO THE THREE BYTE DATA BLOCK
4486 ;
4487 ; ERROR CODES RETURNED:
4488 ;
4489 ; DBT -- DATE BEFORE TODAY
4490 ; DOR -- DATE OUT OF RANGE
4491 ; IDF -- ILLEGAL DATE FORMAT
4492 ; YOR -- YEAR OUT OF RANGE
4493 ;-
4494
4495 .MCALL DIR$, GTIM$S
4496
4497 006026 .GTDAT::
4498 006026 013737 000000G 000000G MOV .IRADX,.RDXSV ; SAVE THE CURRENT RADIX
4499 006034 012737 000012 000000G MOV #^D10,.IRADX ; SET THE RADIX TO DECIMAL
4500 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)
4501 006052 012701 000552' MOV #.DTBUF,R1 ; ....TIME BUFFER POINTER TO R1
4502 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
4503 006066 112120 MOVB (R1)+,(R0)+ ; ....SET DEFAULT YEAR
4504 006070 105721 TSTB (R1)+ ; ....ADVANCE POINTER
4505 006072 112120 MOVB (R1)+,(R0)+ ; ....SET DEFAULT MONTH
4506 006074 105721 TSTB (R1)+ ; ....ADVANCE POINTER
4507 006076 111120 MOVB (R1),(R0)+ ; ....SET DEFAULT DAY
4508 006100 010002 MOV R0,R2 ; ....SAVE POINTER TO CALLER'S BUFFER
4509 006102 012701 000000G MOV #.CIBFR,R1 ; ....BUFFER POINTER TO R1
4510 006106 010105 MOV R1,R5 ; ....AND R5
4511 006110 012700 002167' MOV #GTDMS0,R0 ; ....PROMPT FOR DATE
4512 006114 CALL .TYMSF ; ....FORCE IT OUT
006114 004737 000000G JSR PC,.TYMSF
4513 006120 CALL .GTLIN ; ....READ THE RESPONSE
006120 004737 000000G JSR PC,.GTLIN
4514 006124 001467 BEQ 35$ ; ....DEFAULT IF NULL
4515 006126 CALL .CKARG ; ....SEE WHAT KIND OF ARGUMENT FOLLOWS
GTTIM -- INPUT AND DISPLAY DATE MACRO V05.04 Tuesday 17-May-88 14:36 Page 112-1
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
006126 004737 000000G JSR PC,.CKARG
4516 006132 001551 BEQ GTDIDF ; ....ILLEGAL IF ALPHABETIC
4517 006134 PUSH R5 ; ....SAVE THE BUFFER POINTER
006134 010546 MOV R5,-(SP)
4518 006136 10$:
4519 006136 111504 MOVB (R5),R4 ; .....LOOK AT ONE CHARACTER
4520 006140 001407 BEQ 20$ ; .....DONE IF NULL
4521 006142 122704 000055 CMPB #'-,R4 ; .....IS IT A <HYPHEN>?
4522 006146 001002 BNE 15$ ; .....NO -- GO ON
4523 006150 112715 000040 MOVB #.SPACE,(R5) ; .....YES -- MAKE IT A <SPACE>
4524 006154 15$:
4525 006154 105725 TSTB (R5)+ ; .....ADVANCE THE POINTER
4526 006156 000767 BR 10$ ; .....AND LOOK FOR MORE
4527 ;
4528 006160 20$:
4529 006160 POP R5 ; .....RESTORE THE POINTER
006160 012605 MOV (SP)+,R5
4530 006162 005046 CLR -(SP) ; ....CLEAR A BUFFER ON THE STACK
4531 006164 005046 CLR -(SP) ; .....
4532 006166 005046 CLR -(SP) ; ......
4533 006170 010600 MOV SP,R0 ; .......POINT TO THE BUFFER
4534 006172 CALL .GTNBR ; .......READ THE DAY
006172 004737 000000G JSR PC,.GTNBR
4535 006176 111042 MOVB (R0),-(R2) ; .......AND SET IT
4536 006200 PUSH R0 ; .......SAVE THE POINTER
006200 010046 MOV R0,-(SP)
4537 006202 CALL .CKARG ; .......SEE IF ALPHABETIC FOLLOWS
006202 004737 000000G JSR PC,.CKARG
4538 006206 002523 BLT GTDIDF ; .......NUMERIC -- GIVE "IDF" ERROR
4539 006210 012700 000000G MOV #.MONTB,R0 ; ........MONTH TABLE POINTER TO R0
4540 006214 CALL .TSCAN ; ........SCAN FOR THE MONTH
006214 004737 000000G JSR PC,.TSCAN
4541 006220 116042 000002 MOVB 2(R0),-(R2) ; ........STASH THE MONTH AWAY
4542 006224 POP R0 ; ........RESTORE THE BUFFER POINTER
006224 012600 MOV (SP)+,R0
4543 006226 112504 MOVB (R5)+,R4 ; .......GET THE LAST CHARACTER
4544 006230 132764 000010 000000G BITB #CH.EOC,.CHTAB(R4)
4545 006236 001020 BNE 30$ ; .......EXIT IF E-O-C
4546 006240 CALL .TPCLR ; .......RESET THE BUFFER
006240 004737 000000G JSR PC,.TPCLR
4547 006244 CALL .CKARG ; .......SEE IF NUMERIC FOLLOWS
006244 004737 000000G JSR PC,.CKARG
4548 006250 001502 BEQ GTDIDF ; .......GIVE "IDF" ERROR IF NOT
4549 006252 CALL .GTNBR ; .......READ THE YEAR
006252 004737 000000G JSR PC,.GTNBR
4550 006256 022710 003554 CMP #^D1900,(R0) ; .......DID HE SAY 19XX?
4551 006262 003003 BGT 25$ ; .......NO -- GO ON
4552 006264 162710 003554 SUB #^D1900,(R0) ; .......YES -- FIX IT UP
4553 006270 002475 BLT GTDYOR ; .......ERROR -- YOR
4554 006272 25$:
4555 006272 111042 MOVB (R0),-(R2) ; .......SET THE YEAR - 1900
4556 006274 CALL .CKEOC ; .......MUST HAVE E-O-C
006274 004737 000000G JSR PC,.CKEOC
4557 006300 30$:
4558 006300 062706 000006 ADD #^D6,SP ; .......RESET THE STACK
4559 006304 35$:
4560 006304 011600 MOV (SP),R0 ; ....RESTORE CALLER'S POINTER
GTTIM -- INPUT AND DISPLAY DATE MACRO V05.04 Tuesday 17-May-88 14:36 Page 112-2
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
4561 006306 116002 000001 MOVB 1(R0),R2 ; ....MONTH TO R2
4562 006312 012701 172452 MOV #^C5325,R1 ; ....BIT MASK TO R1
4563 006316 122702 000002 CMPB #^D2,R2 ; ....IS THIS FEBRUARY?
4564 006322 001411 BEQ 45$ ; ....YES -- DO SPECIAL CKECKS
4565 006324 126027 000002 000037 CMPB 2(R0),#^D31 ; ....NO -- HOW MANY DAYS?
4566 006332 003046 BGT GTDDOR ; ....GIVE "DOR" ERROR IF .GT. ^D31
4567 006334 002414 BLT 50$ ; ....ALL OK IF .LT. ^D31
4568 006336 40$:
4569 006336 006201 ASR R1 ; ....SHIFT THE BIT MASK
4570 006340 077202 SOB R2,40$ ; ....BY THE MONTH
4571 006342 103011 BCC 50$ ; ....ALL OK IF CC-C IS CLEAR
4572 006344 000441 BR GTDDOR ; ....OTHERWISE GIVE "DOR" ERROR
4573 ;
4574 006346 45$:
4575 006346 126027 000002 000035 CMPB 2(R0),#^D29 ; ....HATH FEBRUARY 29 DAYS?
4576 006354 003035 BGT GTDDOR ; ....NEVER MORE -- GIVE "DOR" ERROR
4577 006356 002403 BLT 50$ ; ....ALWAYS LESS -- EXIT
4578 006360 132710 000003 BITB #3,(R0) ; ....IS THIS A LEAP YEAR?
4579 006364 001031 BNE GTDDOR ; ....NO -- GIVE "DOR" ERROR
4580 006366 50$:
4581 006366 012701 000552' MOV #.DTBUF,R1 ; ....POINT TO THE DATE BUFFER
4582 006372 122021 CMPB (R0)+,(R1)+ ; ....SEE IF YEAR IS OK
4583 006374 002422 BLT GTDDBT ; ....NO -- GIVE "DBT" ERROR
4584 006376 003007 BGT 55$ ; ....YES -- BEYOND THIS YEAR??
4585 006400 105721 TSTB (R1)+ ; ....NO -- ADVANCE THE POINTER
4586 006402 122021 CMPB (R0)+,(R1)+ ; ....IS THE MONTH OK?
4587 006404 002416 BLT GTDDBT ; ....NO -- GIVE "DBT" ERROR
4588 006406 003003 BGT 55$ ; ....YES -- BEYOND THIS YEAR??
4589 006410 105721 TSTB (R1)+ ; ....NO -- ADVANCE THE POINTER
4590 006412 121011 CMPB (R0),(R1) ; ....IS THE DAY OK?
4591 006414 002412 BLT GTDDBT ; ....NO -- GIVE "DBT" ERROR
4592 006416 55$:
4593 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
4594 006426 013737 000000G 000000G MOV .RDXSV,.IRADX ; RESET THE RADIX
4595 006434 005737 000000G TST .INCHC ; LOOK AT THE CHARACTER COUNT
4596 006440 RETURN ; EXIT
006440 000207 RTS PC
GTTIM -- INPUT AND DISPLAY DATE MACRO V05.04 Tuesday 17-May-88 14:36 Page 113
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
4598 006442 GTDDBT: ; +++001
4599 006442 ERROR$ DBT ; ERROR -- DATE BEFORE TODAY
006442 012746 014544 MOV #^RDBT,-(SP)
006446 104400 TRAP TC.ERR
4600 ;
4601 006450 GTDDOR: ; +++001
4602 006450 ERROR$ DOR ; ERROR -- DATE OUT OF RANGE
006450 012746 015552 MOV #^RDOR,-(SP)
006454 104400 TRAP TC.ERR
4603 ;
4604 006456 GTDIDF:
4605 006456 ERROR$ IDF ; ERROR -- ILLEGAL DATE FORMAT
006456 012746 034346 MOV #^RIDF,-(SP)
006462 104400 TRAP TC.ERR
4606 ;
4607 006464 GTDYOR: ; +++001
4608 006464 ERROR$ YOR ; ERROR -- YEAR OUT OF RANGE
006464 012746 117252 MOV #^RYOR,-(SP)
006470 104400 TRAP TC.ERR
4609 ;
4610
4611 000552 .PSECT DATA
4612
4613 000552 .DTBUF::
4614 000552 000000 000000 000000 .WORD 0,0,0,0,0,0,0,0
000560 000000 000000 000000
000566 000000 000000
4615
4616 002167 .PSECT MESSAG
4617
4618 002167 GTDMS0:
4619 002167 104 101 124 .ASCIZ %DATE: %
002172 105 072 040
002175 000
4620
4621 006472 .PSECT
4622
GTTIM -- INPUT AND DISPLAY DATE MACRO V05.04 Tuesday 17-May-88 14:36 Page 114
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
4624 .SBTTL .GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
4625
4626 ;+
4627 ; .GTTIM -- SUBROUTINE TO INPUT A TIME VALUE
4628 ;
4629 ; THIS SUBROUTINE WILL ACCEPT A TIME VALUE FROM THE CONSOLE INPUT
4630 ; DEVICE OF THE FORMAT "HH:MM" OR "HHMM", AND RETURN IT EXPRESSED
4631 ; AS SECONDS-SINCE-MIDNIGHT / 2 (SSM).
4632 ;
4633 ; INPUT ARGUMENTS:
4634 ;
4635 ; R0 POINTS TO THE DESTINATION FOR THE VALUE
4636 ;
4637 ; OUTPUT ARGUMENTS:
4638 ;
4639 ; R0 POINTS TO THE TIME VALUE
4640 ; CC-Z WILL BE SET TO INDICATE NO TIME WAS SPECIFIED (DEFAULT)
4641 ;
4642 ; ERROR CODES RETURNED:
4643 ;
4644 ; ITF -- ILLEGAL TIME FORMAT
4645 ; TOR -- TIME OUT OF RANGE
4646 ;-
4647
4648 006472 .GTTIM::
4649 006472 013737 000000G 000000G MOV .IRADX,.RDXSV ; SAVE THE CURRENT RADIX
4650 006500 012737 000012 000000G MOV #^D10,.IRADX ; SET THE INPUT RADIX TO DECIMAL
4651 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)
4652 006516 012702 177777 MOV #-^D1,R2 ; ....SET DEFAULT ARGUMENT
4653 006522 012700 002176' MOV #GTTMS0,R0 ; ....PROMPT FOR TIME
4654 006526 CALL .TYMSF ; ....FORCE IT OUT
006526 004737 000000G JSR PC,.TYMSF
4655 006532 012701 000000G MOV #.CIBFR,R1 ; ....BUFFER POINTER TO R1
4656 006536 010105 MOV R1,R5 ; ....SET UP THE BUFFER POINTER
4657 006540 CALL .GTLIN ; ....READ THE INPUT
006540 004737 000000G JSR PC,.GTLIN
4658 006544 001514 BEQ 30$ ; ....EXIT IF NULL (DEFAULT)
4659 006546 CALL .CKSYM ; ....GET OVER LEADING BLANKS
006546 004737 000000G JSR PC,.CKSYM
4660 006552 132764 000010 000000G BITB #CH.EOC,.CHTAB(R4)
4661 006560 001106 BNE 30$ ; ....EXIT IF E-O-C
4662 006562 CALL .CKARG ; ....SEE WHAT FOLLOWS
006562 004737 000000G JSR PC,.CKARG
4663 006566 001516 BEQ GTTITF ; ....ERROR IF NON-NUMERIC
4664 006570 005046 CLR -(SP) ; ....CLEAR A BUFFER ON THE STACK
4665 006572 005046 CLR -(SP) ; .....
4666 006574 005046 CLR -(SP) ; ......
4667 006576 010600 MOV SP,R0 ; .......POINT TO THE BUFFER
4668 006600 CALL .GTNBR ; .......READ HOURS
006600 004737 000000G JSR PC,.GTNBR
4669 006604 122704 000072 CMPB #':,R4 ; .......IS NEXT CHARACTER A COLON?
4670 006610 001437 BEQ 10$ ; .......YES -- GO READ MINUTE
4671 006612 CALL .CKEOC ; .......NO -- MUST HAVE E-O-C
GTTIM -- INPUT AND DISPLAY DATE MACRO V05.04 Tuesday 17-May-88 14:36 Page 114-1
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
006612 004737 000000G JSR PC,.CKEOC
4672 006616 005046 CLR -(SP) ; .......SET UP A DIVISOR ON THE STACK
4673 006620 005046 CLR -(SP) ; ........
4674 006622 PUSH #^D100 ; .........SO
006622 012746 000144 MOV #^D100,-(SP)
4675 006626 010601 MOV SP,R1 ; ..........POINT TO THE DIVISOR
4676 006630 CALL .TPDIV ; ..........DO THE DIVISION
006630 004737 000000G JSR PC,.TPDIV
4677 006634 022711 000073 CMP #^D59,(R1) ; ..........IS THE REMAINDER .LT. ^D59?
4678 006640 002474 BLT GTTTOR ; .......... +++001 NO -- GIVE "TOR" ERROR
4679 006642 PUSH (R1) ; ..........YES -- SAVE THE REMAINDER
006642 011146 MOV (R1),-(SP)
4680 006644 022710 000027 CMP #^D23,(R0) ; ...........IS THE HOUR OK?
4681 006650 002470 BLT GTTTOR ; ........... +++001 NO -- GIVE "TOR" ERROR
4682 006652 011000 MOV (R0),R0 ; ...........YES -- GET IT
4683 006654 012701 000074 MOV #^D60,R1 ; ...........MULTIPLIER TO R1
4684 006660 CALL $MUL ; ...........DO THE MULTIPLICATION
006660 004737 000000G JSR PC,$MUL
4685 006664 010100 MOV R1,R0 ; ...........PRODUCT TO R0
4686 006666 062600 ADD (SP)+,R0 ; ...........COMPUTE SECONDS SINCE MIDNIGHT
4687 006670 012701 000036 MOV #^D30,R1 ; ..........MULTIPLIER
4688 006674 CALL $MUL ; ..........DO IT
006674 004737 000000G JSR PC,$MUL
4689 006700 010102 MOV R1,R2 ; ..........SAVE IT IN R2
4690 006702 062706 000006 ADD #^D6,SP ; ..........RESET THE STACK
4691 006706 000431 BR 20$ ; .......AND EXIT
4692 ;
4693 006710 10$:
4694 006710 105725 TSTB (R5)+ ; .......GET OVER THE COLON
4695 006712 011000 MOV (R0),R0 ; .......GET THE HOUR
4696 006714 022700 000027 CMP #^D23,R0 ; .......IS THE HOUR OK?
4697 006720 002444 BLT GTTTOR ; ....... +++001 NO -- GIVE "TOR" ERROR
4698 006722 012701 000074 MOV #^D60,R1 ; .......CONVERT TO MINUTES
4699 006726 CALL $MUL ; .......SO
006726 004737 000000G JSR PC,$MUL
4700 006732 010102 MOV R1,R2 ; .......STASH IT AWAY
4701 006734 010600 MOV SP,R0 ; .......RESET POINTER
4702 006736 CALL .TPCLR ; .......FLUSH THE BUFFER
006736 004737 000000G JSR PC,.TPCLR
4703 006742 CALL .GTNBR ; .......READ THE NEXT NUMBER
006742 004737 000000G JSR PC,.GTNBR
4704 006746 011000 MOV (R0),R0 ; .......GET THE MINUTES
4705 006750 022700 000073 CMP #^D59,R0 ; .......IS THE MINUTE OK?
4706 006754 002426 BLT GTTTOR ; ....... +++001 NO -- GIVE "TOR" ERROR
4707 006756 060200 ADD R2,R0 ; .......ADD THE HOUR
4708 006760 012701 000036 MOV #^D30,R1 ; .......CONVERT TO SECONDS
4709 006764 CALL $MUL ; .......SO
006764 004737 000000G JSR PC,$MUL
4710 006770 010102 MOV R1,R2 ; .......SAVE IT IN R2
4711 006772 20$:
4712 006772 062706 000006 ADD #^D6,SP ; .......RESET THE STACK
4713 006776 30$:
4714 006776 POP R0 ; ....RESTORE R0
006776 012600 MOV (SP)+,R0
4715 007000 010210 MOV R2,(R0) ; ...SET THE TIME
4716 007002 POP <R1,R2,R5> ; ...RESTORE REGISTERS
007002 012601 MOV (SP)+,R1
GTTIM -- INPUT AND DISPLAY DATE MACRO V05.04 Tuesday 17-May-88 14:36 Page 114-2
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
007004 012602 MOV (SP)+,R2
007006 012605 MOV (SP)+,R5
4717 007010 013737 000000G 000000G MOV .RDXSV,.IRADX ; RESET THE RADIX
4718 007016 005737 000000G TST .INCHC ; LOOK AT THE CHARACTER COUNT
4719 007022 RETURN ; AND EXIT
007022 000207 RTS PC
4720 007024 GTTITF:
4721 007024 ERROR$ ITF ; ERROR -- ILLEGAL TIME FORMAT
007024 012746 035546 MOV #^RITF,-(SP)
007030 104400 TRAP TC.ERR
4722 ;
4723 007032 GTTTOR: ; +++001
4724 007032 ERROR$ TOR ; +++001 ERROR -- TIME OUT OF RANGE
007032 012746 077552 MOV #^RTOR,-(SP)
007036 104400 TRAP TC.ERR
4725 ;
4726
4727 002176 .PSECT MESSAG
4728
4729 002176 GTTMS0:
4730 002176 124 111 115 .ASCIZ %TIME: %
002201 105 072 040
002204 000
4731
4732 007040 .PSECT
4733
GTTIM -- INPUT AND DISPLAY DATE MACRO V05.04 Tuesday 17-May-88 14:36 Page 115
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
4735 .SBTTL .TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
4736
4737 ;+
4738 ; .TYDAT -- SUBROUTINE TO TYPE A DATE
4739 ;
4740 ; THIS SUBROUTINE WILL OUTPUT A DATE ON THE CONSOLE DEVICE IN THE
4741 ; FOLLOWING FORMAT: "DD-MMM-YY".
4742 ;
4743 ; INPUT ARGUMENTS:
4744 ;
4745 ; R0 POINTS TO A THREE BYTE BLOCK CONTAINING THE DATE
4746 ;
4747 ; OUTPUT ARGUMENTS:
4748 ;
4749 ; NONE.
4750 ; ERROR CODES RETURNED:
4751 ;
4752 ; NONE.
4753 ;-
4754
4755
4756 007040 .TYDAT::
4757 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)
4758 007050 012737 000012 000000G MOV #^D10,.ORADX ; ...SET THE RADIX TO DECIMAL
4759 007056 010002 MOV R0,R2 ; ...CALLER'S POINTER TO R2
4760 007060 122222 CMPB (R2)+,(R2)+ ; ...ADVANCE THE POINTER
4761 007062 111200 MOVB (R2),R0 ; ...GET THE DAY
4762 007064 CALL .TYELA ; ...PRINT IT
007064 004737 000000G JSR PC,.TYELA
4763 007070 CALL .TYMIN ; ...AND A <DASH>
007070 004737 000000G JSR PC,.TYMIN
4764 007074 114200 MOVB -(R2),R0 ; ...GET THE MONTH
4765 007076 006300 ASL R0 ; ...MAKE IT AN EVEN INDEX
4766 007100 016000 000570' MOV TYDMTB-2(R0),R0 ; ...POINT TO THE STRING
4767 007104 CALL .TYMSG ; ...PRINT IT
007104 004737 000000G JSR PC,.TYMSG
4768 007110 CALL .TYMIN ; ...AND A <DASH>
007110 004737 000000G JSR PC,.TYMIN
4769 007114 122742 000011 CMPB #^D9,-(R2) ; ...'09 OR EARLIER?
4770 007120 002404 BLT 10$ ; ...NO -- GO ON
4771 007122 012700 000060 MOV #'0,R0 ; ...YES -- FORCE THE LEADING ZERO
4772 007126 CALL .TYCHR ; ...SO
007126 004737 000000G JSR PC,.TYCHR
4773 007132 10$:
4774 007132 111200 MOVB (R2),R0 ; ...GET THE YEAR
4775 007134 CALL .TYELA ; ...PRINT IT
007134 004737 000000G JSR PC,.TYELA
4776 007140 POP <R2,R0,.ORADX> ; ...RESTORE THE REGISTERS
007140 012602 MOV (SP)+,R2
007142 012600 MOV (SP)+,R0
007144 012637 000000G MOV (SP)+,.ORADX
4777 007150 CALLR .TYSPC ; PRINT A <SPACE> AND EXIT
007150 000137 000000G JMP .TYSPC
4778 ;
GTTIM -- INPUT AND DISPLAY DATE MACRO V05.04 Tuesday 17-May-88 14:36 Page 115-1
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
4779
4780 000572 .PSECT DATA
4781
4782 000572 TYDMTB:
4783 000572 000000G .WORD JANMSG
4784 000574 000000G .WORD FEBMSG
4785 000576 000000G .WORD MARMSG
4786 000600 000000G .WORD APRMSG
4787 000602 000000G .WORD MAYMSG
4788 000604 000000G .WORD JUNMSG
4789 000606 000000G .WORD JULMSG
4790 000610 000000G .WORD AUGMSG
4791 000612 000000G .WORD SEPMSG
4792 000614 000000G .WORD OCTMSG
4793 000616 000000G .WORD NOVMSG
4794 000620 000000G .WORD DECMSG
4795
4796 007154 .PSECT
GTTIM -- INPUT AND DISPLAY DATE MACRO V05.04 Tuesday 17-May-88 14:36 Page 116
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
4798 .SBTTL .TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
4799
4800 ;+
4801 ; .TYTIM -- TIME OUTPUT SUBROUTINE
4802 ;
4803 ; THIS SUBROUTINE WILL PRINT THE TIME ON THE CONSOLE OUTPUT DEVICE
4804 ; IN THE FOLLOWING FORMAT: "HH:MM"
4805 ;
4806 ; INPUT ARGUMENTS:
4807 ;
4808 ; R0 POINTS TO THE TIME VALUE TO BE PRINTED
4809 ; IN SECONDS-SINCE-MIDNIGHT FORMAT (SSM).
4810 ;
4811 ; OUTPUT ARGUMENTS:
4812 ;
4813 ; NONE.
4814 ;
4815 ; ERROR CODES RETURNED:
4816 ;
4817 ; NONE.
4818 ;-
4819
4820
4821 007154 .TYTIM::
4822 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)
4823 007164 012737 000012 000000G MOV #^D10,.ORADX ; ...SET OUTPUT RADIX TO DECIMAL
4824 007172 011000 MOV (R0),R0 ; ...GET THE TIME IN SSM/2
4825 007174 012701 003410 MOV #^D1800,R1 ; ...DIVISOR FOR HOURS
4826 007200 CALL $DIV ; ...COMPUTE THE HOURS
007200 004737 000000G JSR PC,$DIV
4827 007204 PUSH R0 ; ...SAVE THEM
007204 010046 MOV R0,-(SP)
4828 007206 010100 MOV R1,R0 ; ....REMAINDER TO R0
4829 007210 012701 000036 MOV #^D30,R1 ; ....DIVISOR FOR MINUTES
4830 007214 CALL $DIV ; ....COMPUTE THE MINUTES
007214 004737 000000G JSR PC,$DIV
4831 007220 010001 MOV R0,R1 ; ....SAVE THEM IN R1
4832 007222 022716 000011 CMP #^D9,(SP) ; ....0900 OR EARLIER?
4833 007226 002404 BLT 10$ ; ....NO -- GO ON
4834 007230 012700 000060 MOV #'0,R0 ; ....YES -- FORCE THE LEADING ZERO
4835 007234 CALL .TYCHR ; ....SO
007234 004737 000000G JSR PC,.TYCHR
4836 007240 10$:
4837 007240 POP R0 ; ....GET THE HOUR
007240 012600 MOV (SP)+,R0
4838 007242 CALL .TYELA ; ...PRINT IT
007242 004737 000000G JSR PC,.TYELA
4839 007246 CALL .TYCOL ; ...TYPE A <COLON>
007246 004737 000000G JSR PC,.TYCOL
4840 007252 022701 000011 CMP #^D9,R1 ; ...9 MINUTES OR EARLIER?
4841 007256 002404 BLT 20$ ; ...NO -- GO ON
4842 007260 012700 000060 MOV #'0,R0 ; ...YES -- FORCE THE LEADING ZERO
4843 007264 CALL .TYCHR ; ...SO
007264 004737 000000G JSR PC,.TYCHR
GTTIM -- INPUT AND DISPLAY DATE MACRO V05.04 Tuesday 17-May-88 14:36 Page 116-1
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
4844 007270 20$:
4845 007270 010100 MOV R1,R0 ; ...GET THE MINUTE
4846 007272 CALL .TYELA ; ...PRINT IT
007272 004737 000000G JSR PC,.TYELA
4847 007276 POP <R1,R0,.ORADX> ; ...RESTORE THE REGISTERS
007276 012601 MOV (SP)+,R1
007300 012600 MOV (SP)+,R0
007302 012637 000000G MOV (SP)+,.ORADX
4848 007306 CALLR .TYSPC ; TYPE A <SPACE> AND EXIT
007306 000137 000000G JMP .TYSPC
4849 ;
GTTIM -- INPUT AND DISPLAY DATE MACRO V05.04 Tuesday 17-May-88 14:36 Page 117
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
4851
4852 .TITLE HALTC -- HALT FUNCTION MODULE 7707.12
4853
4854 .IDENT "005000"
4855 ;
4856 ; COPYRIGHT (C) 1975, 1984 BY
4857 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
4858 ;
4859 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
4860 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
4861 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
4862 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
4863 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
4864 ;
4865 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
4866 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
4867 ; CORPORATION.
4868 ;
4869 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4870 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
4871 ;
4872 ; MODULE: HALT FUNCTION
4873 ;
4874 ; VERSION: 03-06
4875 ;
4876 ; AUTHOR: R. BELANGER
4877 ;
4878 ; DATE: 7707.12
4879 ;
4880 ; THIS MODULE CONTAINS:
4881 ;
4882 ; 1) HALT FUNCTION CODE
HALTC -- HALT FUNCTION MODULE 7 MACRO V05.04 Tuesday 17-May-88 14:36 Page 118
.HALTC -- THE "HALT" COMMAND 7710.11
4884 .SBTTL .HALTC -- THE "HALT" COMMAND 7710.11
4885
4886 ;+
4887 ; .HALTC -- THE "HALT" COMMAND
4888 ;
4889 ; THIS ROUTINE HALTS THE KL WITH THE CLOCK RUNNING. (EXAMINE
4890 ; AND DEPOSIT ARE STILL SUPPORTED).
4891 ;
4892 ; INPUT ARGUMENTS:
4893 ;
4894 ; NONE.
4895 ;
4896 ; OUTPUT ARGUMENTS:
4897 ;
4898 ; NONE.
4899 ;
4900 ; ERROR CODES RETURNED:
4901 ;
4902 ; ILS -- ILLEGAL SEPARATOR CHARACTER.
4903 ;-
4904
4905 007312 .HALTC::
4906 007312 CALL .CKEOC ; CHECK E-O-C
007312 004737 000000G JSR PC,.CKEOC
4907 007316 CALL .KLSTP ; HALT THE KL AND RETURN
007316 004737 000000G JSR PC,.KLSTP
4908 007322 CALLR KLPSTP ; [**]
007322 000137 000000G JMP KLPSTP
4909 ;
HALTC -- HALT FUNCTION MODULE 7 MACRO V05.04 Tuesday 17-May-88 14:36 Page 119
.HALTC -- THE "HALT" COMMAND 7710.11
4911
4912 .TITLE INITC -- INITIALIZE COMMAND MODULE 7602.16
4913
4914 .IDENT "006110"
4915
4916 ;
4917 ; COPYRIGHT (C) 1975, 1984, 1985 BY
4918 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
4919 ; ALL RIGHTS RESERVED.
4920 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
4921 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
4922 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
4923 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
4924 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
4925 ;
4926 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
4927 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
4928 ; CORPORATION.
4929 ;
4930 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4931 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
4932 ;
4933 ; MODULE: INITIALIZE COMMAND
4934 ;
4935 ; VERSION: 06-11
4936 ;
4937 ; AUTHOR: R. BELANGER
4938 ;
4939 ; DATE: 7602.16
4940 ;
4941 ; THIS MODULE CONTAINS:
4942 ;
4943 ; 1) INITIALIZE COMMAND CODE
4944 ;
4945 ; MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
4946
4947 .MCALL ALUN$,CLEF$S,DIR$,SETF$S,SVTK$S
INITC -- INITIALIZE COMMAND MOD MACRO V05.04 Tuesday 17-May-88 14:36 Page 120
.INITC -- THE "INITIALIZE" COMMAND 7602.16
4949 .SBTTL .INITC -- THE "INITIALIZE" COMMAND 7602.16
4950
4951 ;+
4952 ; .INITC -- THE "INITIALIZE" COMMAND
4953 ;
4954 ; THIS ROUTINE (RE)INITIALIZES THE COMMAND PARSER
4955 ;
4956 ; INPUT ARGUMENTS:
4957 ;
4958 ; NONE.
4959 ;
4960 ; OUTPUT ARGUMENTS:
4961 ;
4962 ; ".KLFLG" IS SET UP
4963 ;
4964 ; ERROR CODES RETURNED:
4965 ;
4966 ; NONE.
4967 ;-
4968
4969 007326 .INITC::
4970 007326 CALL .CKEOC ; CHECK FOR E-O-C
007326 004737 000000G JSR PC,.CKEOC
4971 007332 .INIC0::
4972 007332 000414 BR .INKLF ; INIT THE PARSER AND RETURN
4973 ;
INITC -- INITIALIZE COMMAND MOD MACRO V05.04 Tuesday 17-May-88 14:36 Page 121
.INIT -- INITIALIZATION SUBROUTINE 7509.26
4975 .SBTTL .INIT -- INITIALIZATION SUBROUTINE 7509.26
4976
4977 ;+
4978 ; .INIT -- SUBROUTINE TO INITIALIZE THE COMMAND PARSER.
4979 ;
4980 ; THIS SUBROUTINE CLEARS INTERNAL BUFFERS AND INITIALIZES
4981 ; THE FOLLOWING REGISTERS:
4982 ;
4983 ; (A) ".KLFLG" -- THE KL STATUS FLAG WORD,
4984 ; (B) ".CLKWD" -- THE KL CLOCK STATUS WORD,
4985 ; (C) ".PSCWD" -- THE KL PARITY CONTROL WORD.
4986 ;
4987 ; INPUT ARGUMENTS:
4988 ;
4989 ; NONE.
4990 ;
4991 ; OUTPUT ARGUMENTS:
4992 ;
4993 ; ".KLFLG" IS SET UP
4994 ;
4995 ; ERROR CODES RETURNED:
4996 ;
4997 ; CES -- KL CLOCK ERROR STOP.
4998 ; CFH -- CAN'T FIND KL HALT LOOP.
4999 ; DSF -- DTE-20 STATUS FAILURE.
5000 ; FRF -- FUNCTION READ FAILED.
5001 ; FWF -- FUNCTION WRITE FAILED.
5002 ;-
5003
5004 007334 .INIT::
5005 007334 PUSH R0 ; SAVE R0
007334 010046 MOV R0,-(SP)
5006 007336 000257 CCC ; .CLEAR N, Z, V, C BITS
5007 007340 012700 000000G MOV #.DFBLK,R0 ; .CLEAR THE DF BUFFERS
5008 007344 10$:
5009 007344 005020 CLR (R0)+ ; .CLEAR A WORD
5010 007346 020027 000000G CMP R0,#DFBEND ; .ARE WE DONE?
5011 007352 103774 BLO 10$ ; .NO -- KEEP GOING
5012 007354 012737 000200 000000G MOV #KF.DEF,.KLFLG ; .YES -- INIT ".KLFLG"
5013 007362 POP R0 ; .RESTORE R0
007362 012600 MOV (SP)+,R0
5014
5015 ; [CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD MACRO V05.04 Tuesday 17-May-88 14:36 Page 122
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
5017 .SBTTL .INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
5018
5019 ;+
5020 ; .INKLF -- SUBROUTINE TO SET UP THE KL STATE FLAG WORD, ".KLFLG".
5021 ;
5022 ; THIS SUBROUTINE SETS UP THE STATE OF THE FOLLOWING
5023 ; FLAG BITS IN THE KL STATE FLAG WORD, ".KLFLG":
5024 ;
5025 ; (A) "KF.CLK" -- KL CLOCK RUNNING FLAG,
5026 ; (B) "KF.RUN" -- KL RUN FLOP SET FLAG,
5027 ; (C) "KF.KLO" -- KL OPCODE ENABLED FLAG.
5028 ;
5029 ; .INKLF MAY BE CALLED DIRECTLY AS DESCRIBED IN THE CALLING SEQUENCE,
5030 ; OR BY ".INIT" WHICH FALLS INTO ".INKLF".
5031 ;
5032 ; INPUT ARGUMENTS:
5033 ;
5034 ; NONE.
5035 ;
5036 ; OUTPUT ARGUMENTS:
5037 ;
5038 ; ".KLFLG" IS SET UP.
5039 ;
5040 ; ERROR CODES RETURNED:
5041 ;
5042 ; CES -- KL CLOCK ERROR STOP.
5043 ; CFH -- CAN'T FIND KL HALT LOOP.
5044 ; DSF -- DTE-20 STATUS FAILURE.
5045 ; DTC -- DTE-20 CONFUSED.
5046 ; FRF -- FUNCTION READ FAILED.
5047 ; FWF -- FUNCTION WRITE FAILED.
5048 ;-
INITC -- INITIALIZE COMMAND MOD MACRO V05.04 Tuesday 17-May-88 14:36 Page 123
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
5050 007364 .INKLF::
5051 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
5052 007376 103461 BCS 60$ ; ERROR IF CC-C IS SET
5054 007400 005737 000000G TST .KLERQ ; [5.1006]KL CRASH?
5055 007404 001055 BNE 50$ ; [5.1006]YES -- EXIT
5057 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)
5058 007416 CALL .DTSTA ; ....READ THE DTE-20 STATUS REGISTER
007416 004737 000000G JSR PC,.DTSTA
5059 007422 032700 000010 BIT #ST.MOD,R0 ; ....IS THE DTE-20 PRIVILEGED?
5061 007426 001047 BNE INIDNP ; ....UGH, BLETCH -- NO
5063 007430 CALL .CESCK ; ....YES -- SEE IF CLOCK ERROR STOP IS UP
007430 004737 000000G JSR PC,.CESCK
5064 007434 012702 000000G MOV #.KLFLG,R2 ; ....FLAG POINTER TO R2
5065 007440 042712 140000 BIC #KF.CLK!KF.RUN,(R2)
5066 ; ....CLEAR THE CLOCK AND RUNNING FLAGS
5067 007444 005037 000000G CLR .EDKLX ; ....RESET THE ADDRESS TO ZERO
5068 007450 005037 000002G CLR .EDKLX+2 ; ....
5069 007454 012700 000200 MOV #ED.PHY,R0 ; ....PHYSICAL REFERENCE
5070 007460 012701 000622' MOV #.INEXT,R1 ; ....POINT TO DATA BLOCK
5071 007464 CALL .EXKLM ; ....EXAMINE KL MEMORY
007464 004737 000000G JSR PC,.EXKLM
5072 007470 052712 100600 BIS #KF.CON!KF.KLO!KF.CLK,(R2) ;*
5073 ; ....SET THE CLOCK RUNNING FLAG
5074 007474 012703 000144 MOV #^D100,R3 ; ....LOOP COUNT TO R3
5075 007500 10$:
5076 007500 CALL .DTDW1 ; ....READ DIAG WORD 1
007500 004737 000000G JSR PC,.DTDW1
5077 007504 032700 002000 BIT #D1.RUN,R0 ; ....IS RUN ON?
5081 007510 001002 BNE 20$ ; ....YES -- GO ON
5082 007512 077306 SOB R3,10$ ; ....NO -- LOOP TILL COUNT EXHAUSTED
5083 007514 000405 BR 30$ ; ....CAN'T FIND IT, GIVE UP
5084 ;
5085
5086 ; [CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD MACRO V05.04 Tuesday 17-May-88 14:36 Page 124
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
5088 ; [CONTINUED FROM THE PREVIOUS PAGE]
5089
5090 007516 20$:
5091 007516 032700 001000 BIT #D1.HLP,R0 ; ....IS THE HALT LOOP THERE TOO?
5093 007522 001014 BNE INIDTC ; ....YES -- GIVE "DTC" ERROR
5095 007524 052712 040000 BIS #KF.RUN,(R2) ; ....NO -- FOUND IT OK, SET THE FLAG
5096 007530 30$:
5110 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
5111 007540 50$: RETURN ; TO CALLER
007540 000207 RTS PC
5112 007542 60$:
5113 007542 000137 000000G JMP .EXITP ; ERROR EXIT
5114 ;
5115 007546 INIDNP:
5116 007546 ERROR$ DNP ; ERROR -- DTE-20 NOT PRIVILEGED
007546 012746 015500 MOV #^RDNP,-(SP)
007552 104400 TRAP TC.ERR
5117 ;
5118 007554 INIDTC:
5119 007554 ERROR$ DTC ; ERROR --DTE-20 CONFUSED
007554 012746 016043 MOV #^RDTC,-(SP)
007560 104400 TRAP TC.ERR
5120 ;
5121
5122 000622 .PSECT DATA
5123
5124 000622 .INEXT:
5125 000622 000000G .WORD .EDKLX ; ADDRESS 0
5126 000624 000000G .WORD .EXBFR ; PLACE FOR DATA
5127
5128 007562 .PSECT
INITC -- INITIALIZE COMMAND MOD MACRO V05.04 Tuesday 17-May-88 14:36 Page 125
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
5130 .SBTTL .INICP -- INITIALIZE THE COMMAND PARSER 7601.21
5131
5132 ;+
5133 ; .INICP -- ROUTINE TO INTIALIZE THE COMMAND PARSER.
5134 ;
5135 ; THIS SUBROUTINE WILL INITIALIZE THE RSX20F INTERFACE TO THE COMMAND
5136 ; PARSER. THE CONSOLE INPUT AND OUTPUT DEVICES ARE ASSIGNED AND ATTACHED,
5137 ; THE SST TRAPS ARE ENABLED, AND THE EVENT FLAGS ARE CLEARED.
5138 ;
5139 ; INPUT ARGUMENTS:
5140 ;
5141 ; NONE.
5142 ;
5143 ; OUTPUT ARGUMENTS:
5144 ;
5145 ; NONE.
5146 ;
5147 ; ERROR CODES RETURNED:
5148 ;
5149 ; IF THE SST VECTORS CANNOT BE INITIALIZED THE PARSER EXITS.
5150 ; IF THE CONSOLE OUTPUT DEVICE CANNOT BE ASSIGNED, THE PARSER EXITS.
5151 ; IF THE CONSOLE OUTPUT DEVICE CANNOT BE ASSIGNED, THE PARSER EXITS.
5152 ; IF THE CONSOLE DEVICE CANNOT BE ATTACHED, THE PARSER EXITS.
5153 ;-
5154
5155 007562 .INICP::
5156 007562 010637 000000G MOV SP,.SVESP ; INIT THE STACK POINTER
5157 007566 005005 CLR R5 ; CLEAR THE GPR'S
5158 007570 005004 CLR R4
5159 007572 005003 CLR R3
5160 007574 005002 CLR R2
5161 007576 005001 CLR R1
5162 007600 005000 CLR R0
5163 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
5164 007620 103452 BCS 10$ ; DIE IF WE CAN'T DO THAT MUCH
5165 007622 DIR$ #.ASCOD ; ASSIGN THE CONSOLE OUTPUT DEVICE
007622 012746 000026' MOV #.ASCOD,-(SP)
007626 104375 EMT 375
5166 007630 103446 BCS 10$ ; DIE IF WE CAN'T DO THAT, EITHER
5167 007632 DIR$ #.ASCID ; ASSIGN THE CONSOLE INPUT DEVICE
007632 012746 000016' MOV #.ASCID,-(SP)
007636 104375 EMT 375
5168 007640 103442 BCS 10$ ; GIVE ERROR TRAP IF CC-C IS SET
5169 007642 DIR$ #.ASLST ; [5.1000]ASSIGN LP DEVICE
007642 012746 000036' MOV #.ASLST,-(SP)
007646 104375 EMT 375
5170
5171 ; [CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD MACRO V05.04 Tuesday 17-May-88 14:36 Page 126
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
5173 ; [CONTINUED FROM THE PREVIOUS PAGE]
5174
5175 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
5176 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
5177 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
5178 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
5180 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
5182 007732 CALL .TCRLF ; INIT CONSOLE
007732 004737 000000G JSR PC,.TCRLF
5183 007736 CALL .INIC0 ; INIT ".KLFLG"
007736 004737 007332' JSR PC,.INIC0
5184 007742 000177 000000G JMP @.STRTV ; START THE PARSER
5185 ;
5186 007746 10$:
5187 007746 CALLR .EXITP ; EXIT GRACEFULLY
007746 000137 000000G JMP .EXITP
5188 ;
INITC -- INITIALIZE COMMAND MOD MACRO V05.04 Tuesday 17-May-88 14:36 Page 127
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
5190 ; ASSIGN CONSOLE INPUT DEVICE
5191
5192 000016 .PSECT DPBS
5193
5194 000016 .ASCID::
5198 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
5200
5201 ; ASSIGN CONSOLE OUTPUT DEVICE
5202
5203 000026 .ASCOD::
5207 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
5209
5210 ; ASSIGN LINEPRINTER DEVICE
5211
5212 000036 .ASLST::
5213 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
5214
5215 007752 .PSECT
INITC -- INITIALIZE COMMAND MOD MACRO V05.04 Tuesday 17-May-88 14:36 Page 129
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
5218
5219 .TITLE KLEDEF -- KLERR SNAPSHOT DEFAULT COMMANDS
5220
5221 .IDENT "007030"
5222
5223 ;
5224 ; COPYRIGHT (C) 1979, 1984, 1985 BY
5225 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
5226 ; ALL RIGHTS RESERVED.
5227 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
5228 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
5229 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
5230 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
5231 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
5232 ;
5233 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
5234 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
5235 ; CORPORATION.
5236 ;
5237 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5238 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
5239 ;
5240 ; MODULE: KLERR DEFAULT COMMANDS
5241 ;
5242 ; VERSION: 07-03
5243 ;
5244 ; AUTHOR: K. LEFEBVRE
5245 ;
5246 ; DATE: 12-DEC-79
5247 ;
5248 ; EDIT HISTORY
5249 ;
5250 ; SL9160 16-SEP-80 S. LEAPLINE DON'T DO TAKE IF KL HALTED
5251 ;
5252 ;09-Jun-83 TCO 6.1675 D. Weaver
5253 ; Take .CMD files based on KL error code.
5254 ;
5255 .MACRO DEFCMD NUM,COMMAND
5256
5257 .PSECT DATA
5258 .WORD CMD'NUM
5259
5260 .PSECT MESSAG
5261 CMD'NUM:.ASCIZ %COMMAND%
5262
5263 .PSECT DATA
5264
5265 .ENDM DEFCMD
KLEDEF -- KLERR SNAPSHOT DEFAUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 130
.KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS
5267 .SBTTL .KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS
5268
5269 ;+
5270 ; .KLE -- ROUTINE TO RETURN DEFAULT KLERR SNAPSHOT COMMANDS
5271 ;
5272 ; THIS ROUTINE CONTAINS BUILT INTO IT THE DEFAULT KLERR SNAPSHOT
5273 ; COMMANDS THAT ARE EXECUTED ANYTIME THE KL CRASHES. THEY ARE
5274 ; ASSEMBLED IN TO MAKE IT DIFFICULT FOR SITES TO MODIFY THEM AND
5275 ; CORRUPT THE SNAPSHOT.
5276 ;
5277 ; THIS ROUTINE ADDED FOR TCO 4.1.1049
5278 ;
5279 ; INPUT ARGUMENTS:
5280 ;
5281 ; NONE
5282 ;
5283 ; OUTPUT ARGUMENTS:
5284 ;
5285 ; NONE
5286 ;
5287 ; ERROR CODES RETURNED:
5288 ;
5289 ; NONE
5290 ;-
5291
5293 007752 .KLE::
5294 007752 PUSH <R1,R0> ; SAVE REGISTERS
007752 010146 MOV R1,-(SP)
007754 010046 MOV R0,-(SP)
5295 007756 105737 000000G TSTB .KLEVL ; POINTER VALID FLAG (FOR OVERLAY)
5296 007762 001075 BNE 30$ ; YES -- WE MUST BE DONE
5297 007764 122737 000000G 000000G CMPB #ERRCES,.ERRCD ; CLOCK ERROR STOP?
5298 007772 001042 BNE 6$ ; NO, KEEP GOING
5299 007774 012701 000626' MOV #FRDBUF,R1 ; SET UP BUFFER FOR FUNCTION READS
5300 010000 012700 000206 MOV #FR.103,R0 ; CHECK FOR DRAM PARITY ERROR
5301 010004 CALL .FREAD ; EXECUTE FUNCTION READ
010004 004737 000000G JSR PC,.FREAD
5302 010010 032711 000040 BIT #40,(R1) ; SET?
5303 010014 001404 BEQ 2$ ; NO, CHECK CRAM
5304 010016 012737 000000G 000000G MOV #ERRDPE,.ERRCD ; YES, SAY DRAM ERROR
5305 010024 000425 BR 6$ ; GO EXECUTE CMD FILE
5306 010026 012700 000210 2$: MOV #FR.104,R0 ; CHECK FOR CRAM PARITY ERROR
5307 010032 CALL .FREAD ; EXECUTE FUNCTION READ
010032 004737 000000G JSR PC,.FREAD
5308 010036 032711 000040 BIT #40,(R1) ; SET?
5309 010042 001404 BEQ 4$ ; NO, CHECK FOR FAST MEMORY PARITY
5310 010044 012737 000000G 000000G MOV #ERRCPE,.ERRCD ; YES, SAY CRAM ERROR
5311 010052 001412 BEQ 6$ ; GO EXECUTE CMD FILE
5312 010054 012700 000212 4$: MOV #FR.105,R0 ; CHECK FOR FM PARITY ERROR
5313 010060 CALL .FREAD ; EXECUTE FUNCTION READ
010060 004737 000000G JSR PC,.FREAD
5314 010064 032711 000040 BIT #40,(R1) ; SET?
5315 010070 001403 BEQ 6$ ; NO, MUST BE F-S PROBE
5316 010072 012737 000000G 000000G MOV #ERRFME,.ERRCD ; YES, SET THE ERROR CODE
5317 010100 012701 000000G 6$: MOV #.CIBFR,R1 ; INPUT BUFFER POINTER
5318 010104 012737 000634' 000000G MOV #KLETAB,.KLEPT ; SET POINTER
5319 010112 105237 000000G INCB .KLEVL ; SET POINTER VALID
KLEDEF -- KLERR SNAPSHOT DEFAUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 130-1
.KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS
5320 010116 013700 000000G MOV .ERRCD,R0 ; GET ERROR CODE
5321 010122 006300 ASL R0 ; SHIFT IT ONE POSITION
5322 010124 062700 000632' ADD #KLETAB-2,R0 ; POINT TO APPROPRIATE "TAKE" COMMAND
5323 010130 011000 MOV (R0),R0 ; GET COMMAND ADDRESS
5324 010132 112021 10$: MOVB (R0)+,(R1)+ ; MOVE COMMAND TO INPUT BUFFER
5325 010134 001376 BNE 10$ ; DONE?
5326 010136 005301 DEC R1 ; YES -- REMOVE LAST NULL
5327 010140 162701 000000G SUB #.CIBFR,R1 ; GET COMMAND LENGTH
5328 010144 010137 000002G MOV R1,.CISTS+2 ; SAVE LENGTH
5329 010150 20$: POP <R0,R1> ; RESTORE REGISTERS
010150 012600 MOV (SP)+,R0
010152 012601 MOV (SP)+,R1
5330 010154 RETURN ; EXIT
010154 000207 RTS PC
5331 010156 005037 000000G 30$: CLR .KLEDF ; CLEAR DEFAULT COMMAND FLAG
5332 010162 012700 002205' MOV #EOSMSG,R0 ; END-OF-SNAPSHOT MESSAGE PTR
5333 010166 CALL .TYMSG ; TYPE IT
010166 004737 000000G JSR PC,.TYMSG
5334 010172 005037 000002G CLR .CISTS+2 ; CLEAR COMMAND LENGTH
5335 010176 105737 000000G TSTB .KLSNP ; SNAPSHOT COMMAND IN PROGRESS?
5336 010202 001404 BEQ 40$ ; NO -- GO ON
5337 010204 005037 000000G CLR .KLERQ ; YES -- CLEAR SNAPSHOT FLAG
5338 010210 105037 000000G CLRB .KLSNP ; SAY SNAPSHOT COMMAND DONE
5339 010214 032737 000000G 000000G 40$: BIT #KL.REQ,.KLIWD ; KLI REQUESTED
5340 010222 001752 BEQ 20$ ; NO -- GET INPUT FROM CTY
5341 010224 CALL .TCRLF ; YES -- OUTPUT EOS
010224 004737 000000G JSR PC,.TCRLF
5342 010230 CALLR .EXITP ; EXIT TO KLI
010230 000137 000000G JMP .EXITP
5343
5344 002205 .PSECT MESSAG
5345
5346 002205 EOSMSG:
5347 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
5348
5349 000626 .PSECT DATA
5350
5351 000626 FRDBUF::
5352 000626 000000 000000 000000 .WORD 0,0,0 ;BUFFER FOR FUNCTION READS
5353
5354 ;TABLE FOR .CMD FILES TO EXECUTE BASED ON ERROR CONDITION
5355 000634 KLETAB::
5356 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
5357 000636 DEFCMD K2,<TAKE EBUS>
000636 002244' .WORD CMDK2
002244 124 101 113 CMDK2:.ASCIZ %TAKE EBUS%
KLEDEF -- KLERR SNAPSHOT DEFAUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 130-2
.KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS
002247 105 040 105
002252 102 125 123
002255 000
5358 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
5359 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
5360 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
5361 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
5362 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
5363 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
5364 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
5365 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
5366 010234 .PSECT
KLEDEF -- KLERR SNAPSHOT DEFAUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 131
.SNAP -- ROUTINE TO MANUALLY PERFORM A SNAPSHOT
5369 .SBTTL .SNAP -- ROUTINE TO MANUALLY PERFORM A SNAPSHOT
5370
5371 ;+
5372 ; .SNAP -- ROUTINE TO MANUALLY TAKE A KL SNAPSHOT
5373 ;
5374 ; THIS ROUTINE WILL SET UP THE CONTROL FLAGS THAT WILL CAUSE THE PARSER
5375 ; TO AT IN THE KLERR FUNCTION OF TAKING A SNAPSHOT.
5376 ;
5377 ; THIS ROUTINE ADDED FOR TCO 4.1.1049
5378 ;
5379 ; INPUT ARGUMENTS:
5380 ;
5381 ; NONE
5382 ;
5383 ; OUTPUT ARGUMENTS:
5384 ;
5385 ; NONE
5386 ;
5387 ; ERROR CODES RETURNED:
5388 ;
5389 ; NONE
5390 ;-
5391
5393 010234 .SNAP::
5394 010234 CALL .CKEOC ; MUST HAVE E-O-C
010234 004737 000000G JSR PC,.CKEOC
5395 010240 005237 000000G INC .KLERQ ; SET FLAG THAT SAYS SNAPSHOT REQUIRED
5396 010244 005237 000000G INC .KLEDF ; SET FLAG THAT CAUSES DEFAULT COMMANDS
5397 010250 105037 000000G CLRB .KLEVL ; CLEAR DEFAULT COMMAND VALID FLAG
5398 010254 105237 000000G INCB .KLSNP ; SAY SNAPSHOT COMMAND IN PROGRESS
5399 010260 RETURN ; DONE
010260 000207 RTS PC
5400
KLEDEF -- KLERR SNAPSHOT DEFAUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 133
.SNAP -- ROUTINE TO MANUALLY PERFORM A SNAPSHOT
5404
5405 .TITLE MARKC -- KL MARK/UNMARK-MICROCODE COMMAND MODULE 7910.19
5406
5407 .IDENT "006130"
5408
5409 ;
5410 ; COPYRIGHT (C) 1975, 1984, 1985 BY
5411 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
5412 ; ALL RIGHTS RESERVED.
5413 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
5414 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
5415 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
5416 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
5417 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
5418 ;
5419 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
5420 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
5421 ; CORPORATION.
5422 ;
5423 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5424 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
5425 ;
5426 ;
5427 ; MODULE: KL CRAM DISPATCH FIELD READ
5428 ;
5429 ; VERSION: 06-13
5430 ;
5431 ; AUTHOR: R. BELANGER
5432 ;
5433 ; DATE: 7910.19
5434 ;
5435 ; THIS MODULE CONTAINS:
5436 ;
5437 ; 1) MARK MICROCODE COMMAND
5438 ; 2) UNMARK MICROCODE COMMAND
MARKC -- KL MARK/UNMARK-MICROCO MACRO V05.04 Tuesday 17-May-88 14:36 Page 134
.MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19
5440 .SBTTL .MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19
5441
5442 ;+
5443 ; .MARKC -- THE "MARK-MICROCODE" COMMAND
5444 ; .UMRKC -- THE "UNMARK-MICROCODE" COMMAND
5445 ;
5446 ; THESE SUBROUTINES WILL EITHER MARK OR UNMARK A SINGLE LOCATION IN THE
5447 ; KL CRAM. NO CHECK IS MADE TO SEE WHETHER OR NOT THE LOCATION IS ALREADY
5448 ; IN THE DESIRED STATE; THE COMMAND IS SIMPLY EXECUTED
5449 ;
5450 ; INPUT ARGUMENTS:
5451 ;
5452 ; NONE.
5453 ;
5454 ; OUTPUT ARGUMENTS:
5455 ;
5456 ; NONE.
5457 ; R0, R1, R2 -- ALTERED.
5458 ;
5459 ; ERROR CODES RETURNED:
5460 ;
5461 ; NONE.
5462 ;
5463 ; NOTE:
5464 ;
5465 ; NO ATTEMPT IS MADE TO RESTORE THE STATE OF THE KL CLOCK OR THE
5466 ; KL RUN FLOP. THIS ROUTINE ESSENTIALLY CLOBBERS ANY HARDWARE
5467 ; CONTEXT THAT EXISTS WHEN IT IS CALLED AND EXITS WITH THE KL
5468 ; CLOCK OFF.
5469 ;-
5470 .ENABL LSB
5471
5472 010262 .UMRKC::
5473 010262 005046 CLR -(SP) ; SET THE "UNMARK" FLAG
5474 010264 000402 BR 10$ ; .AND ENTER COMMON CODE
5475 ;
5476 010266 .MARKC::
5477 010266 012746 000001 MOV #1,-(SP) ; SET THE "MARK" FLAG
5478 010272 10$:
5479 010272 CALL .CKRUN ; .BETTER NOT BE RUNNING...
010272 004737 000000G JSR PC,.CKRUN
5480 010276 CALL .GTELN ; .READ THE CRAM ADDRESS
010276 004737 000000G JSR PC,.GTELN
5481 010302 010002 MOV R0,R2 ; .COPY ADDRESS TO R2
5482 010304 CALL .RDCRM ; .READ THE CRAM LOCATION SPECIFIED
010304 004737 000000G JSR PC,.RDCRM
5483 010310 012701 000400 MOV #400,R1 ; .MARK BIT TO R1
5484 010314 005716 TST (SP) ; .TEST "MARK" FLAG
5485 010316 001003 BNE 20$ ; .MARK -- GO DO IT
5486 010320 040160 000006 BIC R1,6(R0) ; .UNMARK -- DO IT NOW
5487 010324 000402 BR 30$ ; .AND EXIT IN COMMON CODE
5488 ;
5489 010326 20$:
5490 010326 050160 000006 BIS R1,6(R0) ; .MARK THE MICROCODE
5491 010332 30$:
5492 010332 010001 MOV R0,R1 ; .COPY BUFFER POINTER TO R1
5493 010334 010200 MOV R2,R0 ; .COPY ADDRESS TO R0
MARKC -- KL MARK/UNMARK-MICROCO MACRO V05.04 Tuesday 17-May-88 14:36 Page 134-1
.MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19
5494 010336 CALL .WRCRM ; .REWRITE THE CRAM
010336 004737 000000G JSR PC,.WRCRM
5495 010342 122715 000054 CMPB #',,(R5) ; [5.1014]IS THIS A LIST?
5496 010346 001004 BNE 40$ ; [5.1014]NO -- GO ON
5497 010350 105725 TSTB (R5)+ ; [5.1014]YES -- REMOVE COMMA
5498 010352 005726 TST (SP)+ ; [5.1014]REMOVE AND TEST "MARK" FLAG
5499 010354 001344 BNE .MARKC ; [5.1014]MARK COMMAND
5500 010356 000741 BR .UMRKC ; [5.1014]UNMARK COMMAND
5501 010360 005726 40$: TST (SP)+ ; [5.1014]POP STACK
5502 010362 RETURN ; [5.1014]EXIT
010362 000207 RTS PC
5503 ;
5504
5505 .DSABLE LSB
RESTC -- RESET COMMAND DISPATCH MACRO V05.04 Tuesday 17-May-88 14:36 Page 136
.MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19
5508 .TITLE RESTC -- RESET COMMAND DISPATCH 7707.12
5509
5510 .IDENT "005000"
5511 ;
5512 ; COPYRIGHT (C) 1975, 1984, 1985 BY
5513 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
5514 ; ALL RIGHTS RESERVED.
5515 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
5516 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
5517 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
5518 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
5519 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
5520 ;
5521 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
5522 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
5523 ; CORPORATION.
5524 ;
5525 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5526 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
5527 ;
5528 ; MODULE: RESET COMMAND DISPATCH
5529 ;
5530 ; VERSION: 05-00
5531 ;
5532 ; AUTHOR: R. BELANGER
5533 ;
5534 ; DATE: 7707.12
5535 ;
5536 ; THIS MODULE CONTAINS:
5537 ;
5538 ; 1) RESET COMMAND DISPATCH
RESTC -- RESET COMMAND DISPATCH MACRO V05.04 Tuesday 17-May-88 14:36 Page 137
.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
5540 .SBTTL .RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
5541
5542 ;+
5543 ; .RESTC -- THE "RESET" COMMAND DISPATCH
5544 ;
5545 ; THIS ROUTINE IS THE TOP LEVEL OF THE RESET COMMAND. ".RESTC" CHECKS
5546 ; ARGUMENTS FOR RESET AND DISPATCHES TO THE PROPER ROUTINE
5547 ;
5548 ; INPUT ARGUMENTS:
5549 ;
5550 ; NONE.
5551 ;
5552 ; OUTPUT ARGUMENTS:
5553 ;
5554 ; R0 POINTS TO THE LEGAL BITS FOR THE RESET OBJECT.
5555 ;
5556 ; ERROR CODES RETURNED:
5557 ;
5558 ; KLR -- ILLEGAL WHILE KL IS RUNNING.
5559 ;-
5560
5561 010364 .RESTC::
5562 010364 111504 MOVB (R5),R4 ; LOOK AT THIS CHARACTER
5563 010366 132764 000010 000000G BITB #CH.EOC,.CHTAB(R4)
5564 010374 001015 BNE 10$ ; DEFAULT RESET ON E-O-C
5565 010376 CALL .CKARG ; GET OVER LEADING BLANKS
010376 004737 000000G JSR PC,.CKARG
5566 010402 012700 000000G MOV #.RESTB,R0 ; TABLE POINTER TO R0
5567 010406 CALL .TSCAN ; SCAN THE TABLE
010406 004737 000000G JSR PC,.TSCAN
5568 010412 012001 MOV (R0)+,R1 ; LEGAL BITS TO R1
5569 010414 005101 COM R1 ; INVERT THEM
5570 010416 040137 000000G BIC R1,.LGLWD ; SET UP NEW LEGAL WORD
5571 010422 CALL .CKEOC ; CHECK FOR E-O-C
010422 004737 000000G JSR PC,.CKEOC
5572 010426 CALLR @(R0)+ ; DO THE RESET
010426 000130 JMP @(R0)+
5573 ;
5574 010430 10$:
5575 010430 CALL .CKRNP ; SEE IF THE KL IS RUNNING
010430 004737 000000G JSR PC,.CKRNP
5576 010434 CALL .STPKL ; STOP THE KL
010434 004737 000000G JSR PC,.STPKL
5577 010440 CALLR .RESTP ; RESET THE KL AND EXIT
010440 000137 000000G JMP .RESTP
5578 ;
RESTC -- RESET COMMAND DISPATCH MACRO V05.04 Tuesday 17-May-88 14:36 Page 138
.RSALL -- THE "RESET ALL" COMMAND 7602.18
5580 .SBTTL .RSALL -- THE "RESET ALL" COMMAND 7602.18
5581
5582 010444 .RSALL::
5583 010444 PUSH .KLFLG ; SAVE ".KLFLG"
010444 013746 000000G MOV .KLFLG,-(SP)
5584 010450 032716 100000 BIT #KF.CLK,(SP) ; .IS THE CLOCK ON?
5585 010454 001426 BEQ RSAKCN ; .NO -- GIVE "KCN" ERROR
5586 010456 CALL .STPKL ; .STOP THE KL
010456 004737 000000G JSR PC,.STPKL
5587 010462 CALL .RESTD ; .RESET THE DTE-20
010462 004737 000000G JSR PC,.RESTD
5588 010466 CALL .RSAPR ; .RESET APR
010466 004737 010540' JSR PC,.RSAPR
5589 010472 CALL .RSPAG ; .RESET PAG
010472 004737 010572' JSR PC,.RSPAG
5590 010476 CALL .RSTPI ; .RESET PI
010476 004737 010562' JSR PC,.RSTPI
5591 010502 POP .SVKLF ; .SET UP ".SVKLF"
010502 012637 000000G MOV (SP)+,.SVKLF
5592 010506 CALLR .RSTKL ; RESTART THE KL
010506 000137 000000G JMP .RSTKL
5593 ;
5594 010512 .RSDTE::
5595 010512 CALLR .RESTD ; RESET THE DTE-20
010512 000137 000000G JMP .RESTD
5596 ;
5597 010516 .RSTIN::
5598 010516 CALL .CKRUN ; SEE IF THE KL IS RUNNING
010516 004737 000000G JSR PC,.CKRUN
5599 010522 CALL .STPKL ; STOP THE KL
010522 004737 000000G JSR PC,.STPKL
5600 010526 CALLR .RESTI ; RESET TO DEFAULTS AND EXIT
010526 000137 000000G JMP .RESTI
5601 ;
5602 010532 RSAKCN:
5603 010532 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
010532 012746 042506 MOV #^RKCN,-(SP)
010536 104400 TRAP TC.ERR
5604 ;
RESTC -- RESET COMMAND DISPATCH MACRO V05.04 Tuesday 17-May-88 14:36 Page 139
.RSTPI -- THE "RESET PI" COMMAND 7607.21
5606 .SBTTL .RSTPI -- THE "RESET PI" COMMAND 7607.21
5607
5608 .ENABL LSB
5609
5610 010540 .RSAPR:: ; RESET APR
5611 010540 012700 000660' MOV #RSAPRI,R0 ; INSTRUCTION POINTER TO R0
5612 010544 000410 BR 10$ ; DO COMMON CODE
5613 ;
5614 010546 .RSERR:: ; RESET ERROR
5615 010546 012700 000666' MOV #RSERRI,R0 ; INSTRUCTION POINTER TO R0
5616 010552 000405 BR 10$ ; DO COMMON CODE
5617 ;
5618 010554 .RSTIO:: ; RESET IO
5619 010554 012700 000674' MOV #RSTIOI,R0 ; INSTRUCTION POINTER TO R0
5620 010560 000402 BR 10$ ; DO COMMON CODE
5621 ;
5622 010562 .RSTPI:: ; RESET PI
5623 010562 012700 000702' MOV #RSTPII,R0 ; INSTRUCTION POINTER TO R0
5624 010566 10$:
5625 010566 CALLR .EXCTF ; EXECUTE IT
010566 000137 000000G JMP .EXCTF
5626 ;
5627
5628 .DSABL LSB
5629
5630 000660 .PSECT DATA
5631
5632 000660 RSAPRI:
5633 000660 IOKL$ CONO APR,,267760
000660 360 157 .BYTE $$A,$$B
000662 001 002 .BYTE $$C,$$D
000664 016 000 .BYTE $$E,$$F
5634 000666 RSERRI:
5635 000666 IOKL$ CONO APR,,27760
000666 360 057 .BYTE $$A,$$B
000670 000 002 .BYTE $$C,$$D
000672 016 000 .BYTE $$E,$$F
5636 000674 RSTIOI:
5637 000674 IOKL$ CONO APR,,200000
000674 000 000 .BYTE $$A,$$B
000676 001 002 .BYTE $$C,$$D
000700 016 000 .BYTE $$E,$$F
5638 000702 RSTPII:
5639 000702 IOKL$ CONO PI,,10000
000702 000 020 .BYTE $$A,$$B
000704 000 006 .BYTE $$C,$$D
000706 016 000 .BYTE $$E,$$F
5640
5641 010572 .PSECT
RESTC -- RESET COMMAND DISPATCH MACRO V05.04 Tuesday 17-May-88 14:36 Page 140
.RSPAG -- THE "RESET PAG" COMMAND 7607.21
5643 .SBTTL .RSPAG -- THE "RESET PAG" COMMAND 7607.21
5644
5645 010572 .RSPAG::
5646 010572 PUSH .KLFLG ; SAVE ".KLFLG"
010572 013746 000000G MOV .KLFLG,-(SP)
5647 010576 032716 100000 BIT #KF.CLK,(SP) ; .IS THE CLOCK ON?
5648 010602 001442 BEQ RSPKCN ; .NO -- GIVE "KCN" ERROR
5649 010604 CALL .STPKL ; .STOP THE KL
010604 004737 000000G JSR PC,.STPKL
5650 010610 PUSH R1 ; .SAVE R1
010610 010146 MOV R1,-(SP)
5651 010612 PUSH #16 ; ..BUILD A CLEAR WORD ON THE STACK
010612 012746 000016 MOV #16,-(SP)
5652 010616 005046 CLR -(SP) ; ...
5653 010620 005046 CLR -(SP) ; ....
5654 010622 010601 MOV SP,R1 ; .....GET THE POINTER
5655 010624 005046 CLR -(SP) ; .....NOW SET UP
5656 010626 PUSH #100 ; ......SCRATCH ADDRESS
010626 012746 000100 MOV #100,-(SP)
5657 010632 010600 MOV SP,R0 ; .......GET THE POINTER
5658 010634 PUSH R1 ; .......DATA POINTER TO STACK
010634 010146 MOV R1,-(SP)
5659 010636 PUSH R0 ; ........ADDRESS POINTER TO STACK
010636 010046 MOV R0,-(SP)
5660 010640 010601 MOV SP,R1 ; .........BLOCK POINTER TO R1
5661 010642 012700 000040 MOV #ED.EXV,R0 ; .........EXEC VIRTUAL SPACE
5662 010646 CALL .DPKLM ; .........DO THE DEPOSIT
010646 004737 000000G JSR PC,.DPKLM
5663 010652 062706 000016 ADD #^D14,SP ; .........RESET THE STACK
5664 010656 012700 000710' MOV #RSPGI0,R0 ; ..INSTRUCTION POINTER TO R0
5665 010662 CALL .EXCTF ; ..EXECUTE IT
010662 004737 000000G JSR PC,.EXCTF
5666 010666 012700 000716' MOV #RSPGI1,R0 ; ..NEXT INSTRUCTION
5667 010672 CALL .EXCTF ; ..EXECUTE IT
010672 004737 000000G JSR PC,.EXCTF
5668 010676 POP R1 ; ..RESTORE R1
010676 012601 MOV (SP)+,R1
5669 010700 POP .SVKLF ; .SET UP ".SVKLF"
010700 012637 000000G MOV (SP)+,.SVKLF
5670 010704 CALLR .RSTKL ; RESART THE KL AND EXIT
010704 000137 000000G JMP .RSTKL
5671 ;
RESTC -- RESET COMMAND DISPATCH MACRO V05.04 Tuesday 17-May-88 14:36 Page 141
.RSPAG -- THE "RESET PAG" COMMAND 7607.21
5673 010710 RSPKCN:
5674 010710 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
010710 012746 042506 MOV #^RKCN,-(SP)
010714 104400 TRAP TC.ERR
5675 ;
5676
5677 000710 .PSECT DATA
5678
5679 000710 RSPGI0:
5680 000710 IOKL$ CONO PAG,,0
000710 000 000 .BYTE $$A,$$B
000712 000 012 .BYTE $$C,$$D
000714 016 000 .BYTE $$E,$$F
5681 000716 RSPGI1:
5682 000716 IOKL$ DATAO PAG,,100
000716 100 000 .BYTE $$A,$$B
000720 200 011 .BYTE $$C,$$D
000722 016 000 .BYTE $$E,$$F
5683
5684 010716 .PSECT
RESTC -- RESET COMMAND DISPATCH MACRO V05.04 Tuesday 17-May-88 14:36 Page 142
.RSPAG -- THE "RESET PAG" COMMAND 7607.21
5686
5687
5688 .TITLE RUNCM -- RUN/TAKE COMMAND MODULE 7607.14
5689
5690 .IDENT "006110"
5691
5692 ;
5693 ; COPYRIGHT (C) 1975, 1984, 1985 BY
5694 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
5695 ; ALL RIGHTS RESERVED.
5696 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
5697 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
5698 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
5699 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
5700 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
5701 ;
5702 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
5703 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
5704 ; CORPORATION.
5705 ;
5706 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5707 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
5708 ;
5709 ; MODULE: RUN COMMAND
5710 ;
5711 ; VERSION: 06-11
5712 ;
5713 ; AUTHOR: R. BELANGER
5714 ;
5715 ; DATE: 7607.14
5716 ;
5717 ; THIS MODULE CONTAINS:
5718 ;
5719 ; 1) RUN COMMAND CODE
5720 ; 2) REQUEST DIRECTIVE PARAMETER BLOCK
5721 ;
5722 ; MODIFICATIONS:
5723 ;
5724 ; NO. DATE PROGRAMMER REASON
5725 ; --- ---- ---------- ------
5726 ; [5.1000] 24-AUG-79 K. LEFEBVRE ADD "TAKE" COMMAND
5727
5728 .MCALL DIR$, RQST$
RUNCM -- RUN/TAKE COMMAND MODUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 143
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
5730 .SBTTL .RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
5731
5732 ;+
5733 ; .RUNCM -- THE "RUN" AND "MCR" COMMANDS
5734 ;
5735 ; THIS ROUTINE REQUESTS THE TASK SPECIFIED IN THE COMMAND TO BE RUN
5736 ; AND EXITS THE COMMAND PARSER
5737 ;
5738 ; INPUT ARGUMENTS:
5739 ;
5740 ; NONE.
5741 ;
5742 ; OUTPUT ARGUMENTS:
5743 ;
5744 ; NONE.
5745 ;
5746 ; ERROR CODES RETURNED:
5747 ;
5748 ; ITN -- ILLEGAL TASK NAME
5749 ; NST -- NO SUCH TASK
5750 ; TAA -- TASK IS ALREADY ACTIVE
5751 ;-
5752
5753 010716 .RUNCM::
5754 010716 CALL .CKSYM ; GET OVER LEADING BLANKS
010716 004737 000000G JSR PC,.CKSYM
5755 010722 CALL .GTR50 ; GET THE .RAD50 TASK NAME
010722 004737 011174' JSR PC,.GTR50
5756 010726 001425 BEQ RUNITN ; BAD NEWS IF NONE THERE
5757 010730 PUSH R0 ; SAVE THE TASK NAME
010730 010046 MOV R0,-(SP)
5758 010732 CALL .GTR50 ; .READ THE SECOND HALF
010732 004737 011174' JSR PC,.GTR50
5759 010736 CALL .CKEOC ; .MUST HAVE E-O-C
010736 004737 000000G JSR PC,.CKEOC
5760 010742 POP .RNDPB+4 ; .SET THE TASK NAME IN THE DPB
010742 012637 000052' MOV (SP)+,.RNDPB+4
5761 010746 DIR$ #.RNDPB ; REQUEST THE TASK
010746 012746 000046' MOV #.RNDPB,-(SP)
010752 104375 EMT 375
5762 010754 103402 BCS 10$ ; ERROR IF CC-C IS SET
5763 010756 CALLR .EXITP ; EXIT
010756 000137 000000G JMP .EXITP
5764 ;
5765
5766 ; [CONTINUED ON THE FOLLOWING PAGE]
RUNCM -- RUN/TAKE COMMAND MODUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 144
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
5768 ; [CONTINUED FROM THE PREVIOUS PAGE]
5769
5770 010762 10$:
5771 010762 013700 000000G MOV $DSW,R0 ; LOOK AT THE DIRECTIVE STATUS
5772 010766 022700 000000G CMP #IE.INS,R0 ; IS THERE SUCH A TASK?
5773 010772 001406 BEQ RUNNST ; NO -- GIVE "NST" ERROR
5774 010774 022700 000000G CMP #IE.ACT,R0 ; YES -- IS IT ALREADY ACTIVE?
5775 011000 001406 BEQ RUNTAA ; YES -- GIVE "TAA" ERROR
5776 011002 RUNITN:
5777 011002 ERROR$ ITN ; ERROR -- ILLEGAL TASK NAME
011002 012746 035556 MOV #^RITN,-(SP)
011006 104400 TRAP TC.ERR
5778 ;
5779 011010 RUNNST:
5780 011010 ERROR$ NST ; ERROR -- NO SUCH TASK
011010 012746 055214 MOV #^RNST,-(SP)
011014 104400 TRAP TC.ERR
5781 ;
5782 011016 RUNTAA:
5783 011016 ERROR$ TAA ; ERROR -- TASK ALREADY ACTIVE
011016 012746 076451 MOV #^RTAA,-(SP)
011022 104400 TRAP TC.ERR
5784 ;
RUNCM -- RUN/TAKE COMMAND MODUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 145
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
5786 ; DPB FOR REQUEST DIRECTIVE
5787
5788 ; !===============================================!
5789 ; 00 ! DPB SIZE ! DIC !
5790 ; !-----------------------------------------------!
5791 ; 02 ! TASK NAME IN .RAD50 (HIGH) !
5792 ; !-----------------------------------------------!
5793 ; 04 ! TASK NAME IN .RAD50 (LOW) !
5794 ; !-----------------------------------------------!
5795 ; 06 ! PARTITION NAME (IGNORED) !
5796 ; !-----------------------------------------------!
5797 ; 10 ! PARTITION NAME (IGNORED) !
5798 ; !-----------------------------------------------!
5799 ; 12 ! TASK PRIORITY !
5800 ; !-----------------------------------------------!
5801 ; 14 ! UIC (IGNORED) !
5802 ; !===============================================!
5803
5804 000046 .PSECT DPBS
5805
5806 000046 .RNDPB::
5807 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 ,
5808
5809 011024 .PSECT
RUNCM -- RUN/TAKE COMMAND MODUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 146
.TAKEC -- THE "TAKE" COMMAND
5811 .SBTTL .TAKEC -- THE "TAKE" COMMAND
5812
5813 ;+
5814 ; .TAKEC -- THE "TAKE" COMMAND
5815 ;
5816 ; THIS ROUTINE REQUESTS AN INDIRECT COMMAND FILE, OPENS IT WITH
5817 ; READ ACCESS, AND INDICATES THAT FURTHER COMMAND INPUT SHOULD
5818 ; COME FROM THIS FILE.
5819 ; THIS COMMAND WAS ADDED FOR TCO 5.1000
5820 ;
5821 ; INPUT ARGUMENTS:
5822 ;
5823 ; NONE
5824 ;
5825 ; OUTPUT ARGUMENTS:
5826 ;
5827 ; NONE
5828 ;
5829 ; ERROR CODES RETURNED:
5830 ;
5831 ; CAL -- CAN'T ASSIGN LUN
5832 ; DNF -- DIRECTORY FILE NOT FOUND
5833 ; FLF -- FILE LOOKUP FAILURE
5834 ; FOF -- FILE OPEN FAILURE
5835 ; FRD -- FILE READ FAILURE
5836 ; IFN -- ILLEGAL FILE NAME
5837 ; IRE -- ILLEGAL RECURSION
5838 ; NSF -- NO SUCH FILE
5839 ;-
5840
5841 011024 .TAKEC::
5842 011024 012737 062072 000000G MOV #^RPAR,.INFN ; DEFAULT COMMAND FILE NAME
5843 011032 012737 073632 000002G MOV #^RSER,.INFN+2 ; PARSER.CMD
5844 011040 CALL .CKSYM ; GET OVER LEADING BLANKS
011040 004737 000000G JSR PC,.CKSYM
5845 011044 CALL .GTR50 ; GET THE RAD50 FILE NAME
011044 004737 011174' JSR PC,.GTR50
5846 011050 001406 BEQ 10$ ; DEFAULT NAME IF NONE GIVEN
5847 011052 010037 000000G MOV R0,.INFN ; SAVE 1ST HALF FILE NAME
5848 011056 CALL .GTR50 ; GET 2ND HALF FILE NAME
011056 004737 011174' JSR PC,.GTR50
5849 011062 010037 000002G MOV R0,.INFN+2 ; SAVE 2ND HALF FILE NAME
5850 011066 10$: CALL .CKEOC ; MUST HAVE E-O-C
011066 004737 000000G JSR PC,.CKEOC
5851 011072 005737 000000G TST .INDFG ; ALREADY DOING INDIRECT FILE?
5852 011076 001030 BNE TAKIRE ; YES -- ERROR
5853 011100 .TAKE1:: ; [5.1006]ALTERNATE ENTRY POINT FOR KLE
5854 011100 012700 000000G MOV #.INFN,R0 ; NO -- INPUT FILE NAME PTR
5855 011104 012701 000000G MOV #.INFNB,R1 ; INPUT FILE NAME BLOCK PTR
5856 011110 012702 000005 MOV #INDLUN,R2 ; INPUT FILE LUN
5857 011114 CALL .LOKUP ; LOOK UP INPUT FILE
011114 004737 000000G JSR PC,.LOKUP
5858 011120 103422 BCS TAKNSF ; NO SUCH FILE IF CC-C IS SET
5859 011122 012704 000000G MOV #IO.ACR,R4 ; READ ACCESS
5860 011126 CALL .OPEN ; OPEN FILE FOR READ
011126 004737 000000G JSR PC,.OPEN
5861 011132 005037 000000G CLR .INBBC ; NOTHING READ IN YET
RUNCM -- RUN/TAKE COMMAND MODUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 146-1
.TAKEC -- THE "TAKE" COMMAND
5862 011136 005037 000000G CLR .INPOS ; NO BUFFER YET
5863 011142 005037 000000G CLR .INVBN ; READ FIRST BLOCK
5864 011146 005037 000002G CLR .INVBN+2 ; READ FIRST BLOCK
5865 011152 005237 000000G INC .INDFG ; REDIRECT INPUT TO FILE
5866 011156 RETURN ; RETURN
011156 000207 RTS PC
5867 ;
5868 011160 TAKIRE:
5869 011160 ERROR$ IRE ; ERROR -- ILLEGAL RECURSION
011160 012746 035425 MOV #^RIRE,-(SP)
011164 104400 TRAP TC.ERR
5870 011166 TAKNSF:
5871 011166 20$: ERROR$ NSF ; ERROR -- NO SUCH FILE
011166 012746 055176 MOV #^RNSF,-(SP)
011172 104400 TRAP TC.ERR
5872 ;
RUNCM -- RUN/TAKE COMMAND MODUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 147
.GTR50 -- GET A .RAD50 WORD 7602.18
5874 .SBTTL .GTR50 -- GET A .RAD50 WORD 7602.18
5875
5876 ;+
5877 ; .GTR50 -- GET A .RAD50 WORD
5878 ;
5879 ; THIS ROUTINE WILL CONVERT THE NEXT THREE ASCII CHARACTERS IN THE
5880 ; INPUT STREAM TO .RAD50 FORMAT.
5881 ;
5882 ; INPUT ARGUMENTS:
5883 ;
5884 ; R5 POINTS TO THE INPUT STREAM.
5885 ;
5886 ; OUTPUT ARGUMENTS:
5887 ;
5888 ; R0 HOLDS THE .RAD50 SYMBOL.
5889 ;
5890 ; ERROR CODES RETURNED:
5891 ;
5892 ; NONE.
5893 ; IF THE ROUTINE CANNOT CONVERT THE FIRST CHARACTER, CC-Z IS SET.
5894 ;-
RUNCM -- RUN/TAKE COMMAND MODUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 148
.GTR50 -- GET A .RAD50 WORD 7602.18
5896 011174 .GTR50::
5897 011174 PUSH <R1,R2> ; SAVE REGISTERS
011174 010146 MOV R1,-(SP)
011176 010246 MOV R2,-(SP)
5898 011200 005046 CLR -(SP) ; ..SAVE A BUFFER
5899 011202 012702 000000G MOV #.T50TB,R2 ; ...FACTOR TABLE POINTER TO R2
5900 011206 10$:
5901 011206 012201 MOV (R2)+,R1 ; ...GET CURRENT MULTIPLIER
5902 011210 001427 BEQ 50$ ; ...DONE IF .EQ. 0
5903 011212 112500 MOVB (R5)+,R0 ; ...GET THE CHARACTER INTO R0
5904 011214 120027 000101 CMPB R0,#'A ; ...IS IT ALPHABETIC?
5905 011220 103403 BLO 20$ ; ...NO -- TRY NUMERIC
5906 011222 120027 000132 CMPB R0,#'Z ; ...IS IT REALLY ALPHABETIC?
5907 011226 101410 BLOS 30$ ; ...YES -- ADD IT TO RESULT
5908 011230 20$:
5909 011230 120027 000060 CMPB R0,#'0 ; ...NO -- IS IT NUMERIC?
5910 011234 103413 BLO 40$ ; ...NO -- EXIT
5911 011236 120027 000071 CMPB R0,#'9 ; ...YES -- IS IT REALLY NUMERIC?
5912 011242 101010 BHI 40$ ; ...NO -- EXIT
5913 011244 162700 177722 SUB #<<'0-36>-<'A-1>>,R0
5914 011250 30$:
5915 011250 162700 000100 SUB #<'A-1>,R0 ; ...CONVERT ALPHABETIC
5916 011254 CALL $MUL ; ...COMPUTE CHARACTER VALUE
011254 004737 000000G JSR PC,$MUL
5917 011260 060116 ADD R1,(SP) ; ...ACCUMULATE RESULT
5918 011262 000751 BR 10$ ; ...AND GET NEXT CHARACTER
5919 ;
5920 011264 40$:
5921 011264 105745 TSTB -(R5) ; ...BACK UP THE BYTE POINTER
5922 011266 010004 MOV R0,R4 ; ...PUT THE CHARACTER IN R4
5923 011270 50$:
5924 011270 POP R0 ; ...RETURN THE RESULT
011270 012600 MOV (SP)+,R0
5925 011272 POP <R2,R1> ; ..RESTORE REGISTERS
011272 012602 MOV (SP)+,R2
011274 012601 MOV (SP)+,R1
5926 011276 005700 TST R0 ; LOOK AT R0
5927 011300 RETURN ; TO CALLER
011300 000207 RTS PC
RUNCM -- RUN/TAKE COMMAND MODUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 149
.QUITC -- THE "QUIT" COMMAND 7602.16
5929 .SBTTL .QUITC -- THE "QUIT" COMMAND 7602.16
5930
5931 ;+
5932 ; .QUITC -- THE "QUIT" COMMAND.
5933 ;
5934 ; THIS ROUTINE EXECUTES THE "QUIT" (EXIT) FUNCTION.
5935 ;
5936 ; INPUT ARGUMENTS:
5937 ;
5938 ; NONE.
5939 ;
5940 ; OUTPUT ARGUMENTS:
5941 ;
5942 ; NONE.
5943 ;
5944 ; ERROR CODES RETURNED:
5945 ;
5946 ; NONE.
5947 ;-
5948
5949 011302 .QUITC::
5950 011302 CALL .CKEOC ; MUST HAVE E-O-C
011302 004737 000000G JSR PC,.CKEOC
5951 011306 CALLR .EXITP ; EXIT THE PARSER
011306 000137 000000G JMP .EXITP
5952 ;
RUNCM -- RUN/TAKE COMMAND MODUL MACRO V05.04 Tuesday 17-May-88 14:36 Page 151
.QUITC -- THE "QUIT" COMMAND 7602.16
5955
5956 .TITLE SAVEC -- SAVE/RESTORE COMMAND DISPATCH 8306.09
5957
5958 .IDENT "007030"
5959 ;
5960 ; COPYRIGHT (C) 1983, 1984, 1985 BY
5961 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
5962 ; ALL RIGHTS RESERVED.
5963 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
5964 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
5965 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
5966 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
5967 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
5968 ;
5969 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
5970 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
5971 ; CORPORATION.
5972 ;
5973 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5974 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
5975 ;
5976 ; MODULE: SAVEC COMMAND DISPATCH
5977 ;
5978 ; VERSION: 07-03
5979 ;
5980 ; AUTHOR: D. WEAVER
5981 ;
5982 ; DATE: 8306.09
5983 ;
5984 ; THIS MODULE CONTAINS:
5985 ;
5986 ; 1) RESTORE COMMAND DISPATCH
5987 ; 2) SAVE COMMAND DISPATCH
SAVEC -- SAVE/RESTORE COMMAND D MACRO V05.04 Tuesday 17-May-88 14:36 Page 152
.RSTRC -- THE "RESTORE" COMMAND DISPATCH 8306.09
5989 .SBTTL .RSTRC -- THE "RESTORE" COMMAND DISPATCH 8306.09
5990
5991 ;+
5992 ; .RSTRC -- THE "SAVE" COMMAND DISPATCH
5993 ;
5994 ; THIS ROUTINE IS THE TOP LEVEL OF THE RESTORE COMMAND. ".RSTRC" CHECKS
5995 ; ARGUMENTS FOR RESTORE AND DISPATCHES TO THE PROPER ROUTINE
5996 ;
5997 ; INPUT ARGUMENTS:
5998 ;
5999 ; NONE.
6000 ;
6001 ; OUTPUT ARGUMENTS:
6002 ;
6003 ; NONE.
6004 ;
6005 ; ERROR CODES RETURNED:
6006 ;
6007 ; ILC -- ILLEGAL COMMAND.
6008 ;-
6009
6010 011312 .RSTRC::
6011 011312 012700 000000G MOV #.RSTTB,R0 ; TABLE POINTER TO R0
6012 011316 CALL .CKOBJ ; GET OVER LEADING BLANKS
011316 004737 000000G JSR PC,.CKOBJ
6013 011322 CALL .TSCAN ; SCAN THE TABLE
011322 004737 000000G JSR PC,.TSCAN
6014 011326 CALL .CKEOC ; MUST HAVE E-O-C
011326 004737 000000G JSR PC,.CKEOC
6015 011332 CALLR @2(R0) ; DO THE COMMAND
011332 000170 000002 JMP @2(R0)
6016 ;
SAVEC -- SAVE/RESTORE COMMAND D MACRO V05.04 Tuesday 17-May-88 14:36 Page 153
.RSACB-- THE "RESTORE AC-BLOCK" COMMAND 8306.09
6018 .SBTTL .RSACB-- THE "RESTORE AC-BLOCK" COMMAND 8306.09
6019 ;+
6020 ; .RSACB SUBROUTINE TO RESTORE THE FM ADDRESS REGISTER (AC BLOCK)
6021 ;
6022 ; THIS ROUTINE WILL:
6023 ;
6024 ; 1. INSERT INSTR OBJECT INTO KL LOC 100
6025 ; 2. EXECUTE DATAO PAG,,100 TO SET AC BLOCK
6026 ;
6027 ; INPUT ARGUMENTS:
6028 ;
6029 ; .ACBLK CONTAINING THE FM ADDRESS REGISTER
6030 ;
6031 ; OUTPUT ARGUMENTS:
6032 ;
6033 ; NONE.
6034 ;
6035 ; ERROR CODES RETURNED:
6036 ;
6037 ; CCC -- CAN'T CLEAR KL10 CLOCK
6038 ; CCR -- CAN'T CLEAR KL10 RUN FLOP
6039 ; CCS -- KL10 CLOCK CAN'T START
6040 ; CES -- CLOCK ERROR STOP
6041 ; CFH -- CAN'T FIND KL10 HALT LOOP
6042 ; CSC -- CAN'T SYNC KL10 CLOCK
6043 ; DMF -- DEPOSIT KL10 MEMORY FAILED
6044 ; DSF -- DTE20 STATUS FAILURE
6045 ; ECT -- EBOX CLOCK TIME OUT
6046 ; ESD -- EBOX STOPPED - DEPOSIT
6047 ; FRF -- FUNCTION READ FAILED
6048 ; FWF -- FUNCTION WRITE FAILED
6049 ; FXF -- FUNCTION EXECUTE FAILED
6050 ; MAE -- MODE ARGUMENT ERROR
6051 ; XTO -- EXECUTE TIMED OUT
6052 ;-
6053
6054 011336 .RSACB::
6055 011336 113702 000001G MOVB .ACBLK+1,R2 ; BUFFER FOR DATA
6056 011342 006302 ASL R2 ; POSITION AC BLOCK NO.
6057 011344 006302 ASL R2 ; POSITION AC BLOCK NO.
6058 011346 006302 ASL R2 ; POSITION AC BLOCK NO.
6059 011350 110237 000737' MOVB R2,RACDAT+3 ; PUT BLOCK NO. INTO INSTR
6060 011354 012701 000724' MOV #RACBLK,R1 ; SET UP DEPOSIT DATA BLOCK
6061 011360 012700 000200 MOV #ED.PHY,R0 ; PUT IN PHYSICAL SPACE
6062 011364 CALL .DPKLM ; DEPOSIT INSTR OBJECT IN MEMORY
011364 004737 000000G JSR PC,.DPKLM
6063 011370 103404 BCS 10$ ; ERROR
6064 011372 012700 000742' MOV #SETACB,R0 ; INSTR PTR
6065 011376 CALL .EXCTF ; EXECUTE INSTR
011376 004737 000000G JSR PC,.EXCTF
6066 011402 10$: RETURN ; EXIT
011402 000207 RTS PC
6067
6068 000724 .PSECT DATA
6069
6070 000724 000730' RACBLK: .WORD RACADR ; OBJECT ADDR PTR
6071 000726 000734' .WORD RACDAT ; DEPOSIT DATA PTR
SAVEC -- SAVE/RESTORE COMMAND D MACRO V05.04 Tuesday 17-May-88 14:36 Page 153-1
.RSACB-- THE "RESTORE AC-BLOCK" COMMAND 8306.09
6072 000730 000100 RACADR: .WORD 100 ; ADDR BITS 20-35
6073 000732 000000 .WORD 0 ; ADDR BITS 14-19
6074 000734 000000 RACDAT: .WORD 0 ; DATA BITS 20-35
6075 000736 000000 .WORD 0 ; DATA BITS 4-19
6076 000740 000010 .WORD 10 ; DATA BITS 0-3
6077
6078 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
6079
6080 011404 .PSECT
SAVEC -- SAVE/RESTORE COMMAND D MACRO V05.04 Tuesday 17-May-88 14:36 Page 154
.SAVEC -- THE "SAVE" COMMAND DISPATCH 8306.09
6082 .SBTTL .SAVEC -- THE "SAVE" COMMAND DISPATCH 8306.09
6083
6084 ;+
6085 ; .SAVEC -- THE "SAVE" COMMAND DISPATCH
6086 ;
6087 ; THIS ROUTINE IS THE TOP LEVEL OF THE SAVE COMMAND. ".SAVEC" CHECKS
6088 ; ARGUMENTS FOR SAVE AND DISPATCHES TO THE PROPER ROUTINE
6089 ;
6090 ; INPUT ARGUMENTS:
6091 ;
6092 ; NONE.
6093 ;
6094 ; OUTPUT ARGUMENTS:
6095 ;
6096 ; NONE.
6097 ;
6098 ; ERROR CODES RETURNED:
6099 ;
6100 ; ILC -- ILLEGAL COMMAND.
6101 ;-
6102
6103 011404 .SAVEC::
6104 011404 012700 000000G MOV #.SAVTB,R0 ; TABLE POINTER TO R0
6105 011410 CALL .CKOBJ ; GET OVER LEADING BLANKS
011410 004737 000000G JSR PC,.CKOBJ
6106 011414 CALL .TSCAN ; SCAN THE TABLE
011414 004737 000000G JSR PC,.TSCAN
6107 011420 CALL .CKEOC ; MUST HAVE E-O-C
011420 004737 000000G JSR PC,.CKEOC
6108 011424 CALLR @2(R0) ; DO THE COMMAND
011424 000170 000002 JMP @2(R0)
6109 ;
SAVEC -- SAVE/RESTORE COMMAND D MACRO V05.04 Tuesday 17-May-88 14:36 Page 155
.SVACB-- THE "SAVE AC-BLOCK" COMMAND 8306.09
6111 .SBTTL .SVACB-- THE "SAVE AC-BLOCK" COMMAND 8306.09
6112 ;+
6113 ; .SVACB SUBROUTINE TO SAVE THE FM ADDRESS REGISTER (AC BLOCK)
6114 ;
6115 ; INPUT ARGUMENTS:
6116 ;
6117 ; NONE.
6118 ;
6119 ; OUTPUT ARGUMENTS:
6120 ;
6121 ; .ACBLK WILL CONTAIN THE FM ADDRESS REGISTER
6122 ;
6123 ; ERROR CODES RETURNED:
6124 ;
6125 ; FRF -- FUNCTION READ FAILED.
6126 ;-
6127
6128 011430 .SVACB::
6129 011430 005001 CLR R1
6130 011432 012700 000222 MOV #FR.111,R0
6131 011436 CALL .FREAD
011436 004737 000000G JSR PC,.FREAD
6132 011442 012701 000033 MOV #^D27,R1
6133 011446 CALL .TPSHI
011446 004737 000000G JSR PC,.TPSHI
6134 011452 042710 177770 BIC #177770,(R0)
6135 011456 012701 000000G MOV #.ACBLK,R1 ; BUFFER FOR DATA
6136 011462 011011 MOV (R0),(R1)
6137 011464 RETURN
011464 000207 RTS PC
6138 ; CALLR .RDFMA ; RESTORE AC BLOCK AND RETURN
SAVEC -- SAVE/RESTORE COMMAND D MACRO V05.04 Tuesday 17-May-88 14:36 Page 156
.SVPC -- THE "SAVE PC" COMMAND 8306.09
6140 .SBTTL .SVPC -- THE "SAVE PC" COMMAND 8306.09
6141 ;+
6142 ; .SVPC SUBROUTINE TO SAVE THE KL PC REGISTER
6143 ;
6144 ; INPUT ARGUMENTS:
6145 ;
6146 ; NONE.
6147 ;
6148 ; OUTPUT ARGUMENTS:
6149 ;
6150 ; .ERRPC WILL CONTAIN THE 23 BIT PC FROM THE KL
6151 ; .ERRCD WILL CONTAIN <FLAGS,,ERRCOD> FROM THE KL'S PERSPECTIVE
6152 ; NOTE THAT ERRCOD IS SUPPLIED BY TKTN
6153 ;
6154 ; ERROR CODES RETURNED:
6155 ;
6156 ; FRF -- FUNCTION READ FAILED.
6157 ;-
6158
6159 011466 .SVPC::
6160 011466 CALL .SAVFL ; GET THE FLAGS IN R0
011466 004737 011542' JSR PC,.SAVFL
6161 011472 PUSH .ERRCD ; SAVE THE ERROR CODE
011472 013746 000000G MOV .ERRCD,-(SP)
6162 011476 005037 000000G CLR .ERRCD ; AND CLEAR IT (TEMPORARILY)
6163 011502 010037 000002G MOV R0,.ERRCD+2 ; MOVE THEM INTO DEX WORD FOR FLAGS
6164 011506 005037 000004G CLR .ERRCD+4 ; AND CLEAR ANY LEFT OVER
6165 011512 012700 000000G MOV #.ERRCD,R0 ; ADDRESS OF DATA
6166 011516 012701 000007 MOV #^D7,R1 ; SHIFT COUNT
6167 011522 CALL .TPSHI ; SHIFT BITS INTO POSITION
011522 004737 000000G JSR PC,.TPSHI
6168 011526 POP .ERRCD ; RESTORE ERROR CODE
011526 012637 000000G MOV (SP)+,.ERRCD
6169 011532 012701 000000G MOV #.ERRPC,R1 ; WHERE TO STORE THE PC
6170 011536 CALLR .SAVPC ; GET THE PC
011536 000137 011666' JMP .SAVPC
SAVEC -- SAVE/RESTORE COMMAND D MACRO V05.04 Tuesday 17-May-88 14:36 Page 157
.SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS
6172 .SBTTL .SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS
6173
6174 ;+
6175 ; .SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS.
6176 ;
6177 ; THIS SUBROUTINE READS AND RETURNS THE STATE OF THE KL PC FLAGS IN R0.
6178 ;
6179 ; INPUT ARGUMENTS:
6180 ;
6181 ; NONE.
6182 ;
6183 ; OUTPUT ARGUMENTS:
6184 ;
6185 ; R0 CONTAINS THE KL PC FLAGS
6186 ;
6187 ; THE FOLLOWING IS A LIST OF THE KL FLAGS RETURNED IN R0:
6188 ;
6189 ; BIT # KL PC FLAG BIT AND MEANING KL BIT
6190 ; ----- ---------------------------- --------
6191 ;
6192 ; 12 PC.OVF -- OVERFLOW FLAG -- 00
6193 ; 11 PC.CY0 -- CARRY 0 FLAG -- 01
6194 ; 10 PC.CY1 -- CARRY 1 FLAG -- 02
6195 ; 09 PC.FOV -- FLOATING OVERFLOW -- 03
6196 ; 08 PC.BIS -- BYTE INCR SUPPRESSION -- 04
6197 ; 07 PC.USR -- USER MODE -- 05
6198 ; 06 PC.UIO -- USER IOT MODE -- 06
6199 ; 05 PC.LIP -- LAST INS PUBLIC -- 07
6200 ; 04 PC.AFI -- ADDR FAILURE INHIBIT -- 08
6201 ; 03 PC.AT1 -- APR TRAP 1 FLAG -- 09
6202 ; 02 PC.AT0 -- APR TRAP 0 FLAG -- 10
6203 ; 01 PC.FUF -- FLOATING UNDERFLOW -- 11
6204 ; 00 PC.NDV -- NO DIVIDE FLAG -- 12
6205 ;
6206 ; ERROR CODES RETURNED:
6207 ;
6208 ; FRF -- FUNCTION READ FAILED.
6209 ;-
SAVEC -- SAVE/RESTORE COMMAND D MACRO V05.04 Tuesday 17-May-88 14:36 Page 158
.SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS
6211 011542 .SAVFL:
6212 011542 PUSH <R1,R2> ; SAVE R1 AND R2 ON THE STACK
011542 010146 MOV R1,-(SP)
011544 010246 MOV R2,-(SP)
6213 011546 005001 CLR R1 ; ..CLEAR R1
6214 011550 005002 CLR R2 ; ..AND R2
6215 011552 012700 000202 MOV #FR.101,R0 ; ..FR CODE FOR LOW FLAGS
6216 011556 CALL .FREAD ; ..READ THEM
011556 004737 000000G JSR PC,.FREAD
6217 011562 012701 177764 MOV #-^D12,R1 ; ..SHIFT COUNT TO R1
6218 011566 CALL .TPSHI ; ..SHIFT OUR WORD
011566 004737 000000G JSR PC,.TPSHI
6219 011572 042710 177700 BIC #177700,(R0) ; ..MASK OUT FLAG BITS
6220 011576 051002 BIS (R0),R2 ; ..PUT THE LOW FLAGS IN R2
6221 011600 005001 CLR R1 ; ..AGAIN
6222 011602 012700 000200 MOV #FR.100,R0 ; ..FR CODE FOR MOST OF THE FLAGS
6223 011606 CALL .FREAD ; ..READ THEM
011606 004737 000000G JSR PC,.FREAD
6224 011612 012701 177772 MOV #-^D6,R1 ; ..SHIFT COUNT TO R1
6225 011616 CALL .TPSHI ; ..SHIFT THE DATA
011616 004737 000000G JSR PC,.TPSHI
6226 011622 042710 170077 BIC #170077,(R0) ; ..JUST THE BITS WE WANT
6227 011626 051002 BIS (R0),R2 ; ..SAVE THE HIGH FLAGS IN R2
6228 011630 005001 CLR R1 ; ..CLEAR R1 AGAIN
6229 011632 012700 000264 MOV #FR.132,R0 ; ..FR CODE FOR LAST FLAG BIT
6230 011636 CALL .FREAD ; ..READ IT
011636 004737 000000G JSR PC,.FREAD
6231 011642 032760 000001 000004 BIT #BIT00,4(R0) ; ..IS IT ON?
6232 011650 001402 BEQ 10$ ; ..NO -- JUST EXIT
6233 011652 052702 010000 BIS #PC.OVF,R2 ; ..YES -- SET IT IN OUR WORD
6234 011656 10$:
6235 011656 010200 MOV R2,R0 ; ..PUT A COPY IN R0
6236 011660 POP <R2,R1> ; ..RESTORE REGISTERS
011660 012602 MOV (SP)+,R2
011662 012601 MOV (SP)+,R1
6237 011664 RETURN ; TO CALLER
011664 000207 RTS PC
SAVEC -- SAVE/RESTORE COMMAND D MACRO V05.04 Tuesday 17-May-88 14:36 Page 159
.SAVPC -- PC READ SUBROUTINE 8306.17
6239 .SBTTL .SAVPC -- PC READ SUBROUTINE 8306.17
6240
6241 ;+
6242 ; .SAVPC -- SUBROUTINE TO READ THE KL PROGRAM COUNTER REGISTER
6243 ;
6244 ; THESE SUBROUTINES READ AND ASSEMBLE THE VMA PC BOARD REGISTER
6245 ; INTO A THREE WORD BLOCK POINTED TO BY R1 IN THE CALL.
6246 ;
6247 ; INPUT ARGUMENTS:
6248 ;
6249 ; R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
6250 ;
6251 ; OUTPUT ARGUMENTS:
6252 ;
6253 ; R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
6254 ;
6255 ; ERROR CODES RETURNED:
6256 ;
6257 ; FRF -- FUNCTION READ FAILED.
6258 ;-
6259
6260 .ENABL LSB
6261
6262 011666 .SAVPC:
6263 011666 012700 000750' MOV #SVPCTB,R0 ; POINTER TO PC TABLE
6264 011672 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
011672 004537 000000G JSR R5,.REGSV
6265 011676 010005 MOV R0,R5 ; TABLE POINTER TO R5
6266 011700 012704 000004 MOV #^D4,R4 ; ITERATION COUNT TO R4
6267 011704 010103 MOV R1,R3 ; USER BUFFER ADDRESS TO R3
6268 011706 012502 MOV (R5)+,R2 ; FUNCTION READ BASE TO R2
6269 011710 PUSH (R5)+ ; MASK WORD TO TOP OF THE STACK
011710 012546 MOV (R5)+,-(SP)
6270 011712 011505 MOV (R5),R5 ; .SHIFT BASE TO R5
6271 011714 010100 MOV R1,R0 ; .CLEAR CALLER'S AREA
6272 011716 CALL .TPCLR ; .SO
011716 004737 000000G JSR PC,.TPCLR
6273 011722 20$:
6274 011722 010200 MOV R2,R0 ; .SET THE FUNCTION READ NUMBER
6275 011724 006300 ASL R0 ; .TIMES 2
6276 011726 005001 CLR R1 ; .CLEAR R1
6277 011730 CALL .FREAD ; .READ IT
011730 004737 000000G JSR PC,.FREAD
6278 011734 041620 BIC (SP),(R0)+ ; .SP POINTS TO BIT MASK
6279 011736 041610 BIC (SP),(R0) ; .R0 POINTS TO READ BLOCK
6280 011740 005740 TST -(R0) ; .NOW BACK THE POINTER UP
6281 011742 010501 MOV R5,R1 ; .GET THE SHIFT COUNT INTO R1
6282 011744 CALL .TPSHI ; .AND SHIFT IT
011744 004737 000000G JSR PC,.TPSHI
6283 011750 052023 BIS (R0)+,(R3)+ ; .SET THE BITS IN THE USER BUFFER
6284 011752 051013 BIS (R0),(R3) ; .SO
6285 011754 005743 TST -(R3) ; .BACK CALLER'S POINTER UP
6290 011756 122225 CMPB (R2)+,(R5)+ ; .INCREMENT READ NUMBER AND SHIFT COUNT
6292 011760 077420 SOB R4,20$ ; .DO THIS FOUR TIMES
6293 011762 042763 177600 000002 BIC #177600,2(R3) ; .GET RID OF BITS HIGHER THAN 13
6294 011770 005726 TST (SP)+ ; CLEAR THE STACK
6295 011772 RETURN ; RETURN TO CALLER
SAVEC -- SAVE/RESTORE COMMAND D MACRO V05.04 Tuesday 17-May-88 14:36 Page 159-1
.SAVPC -- PC READ SUBROUTINE 8306.17
011772 000207 RTS PC
6296
6297 .DSABL LSB
6298
6299 ; TABLE FOR VMA PC BOARD READS
6300
6301 000750 .PSECT DATA
6302 000750 SVPCTB:
6303 000750 000150 .WORD FR.150/2 ; BASE READ FOR PC REGISTER
6304 000752 135673 .WORD 135673 ; BIT MASK " " "
6305 000754 177776 .WORD -^D2 ; SHIFT CNT " " "
6306 011774 .PSECT
SAVEC -- SAVE/RESTORE COMMAND D MACRO V05.04 Tuesday 17-May-88 14:36 Page 160
.SAVPC -- PC READ SUBROUTINE 8306.17
6308
6309
6310 .TITLE SCACB -- SET AC-BLOCK COMMAND MODULE
6311
6312 .IDENT "006110"
6313
6314 ; COPYRIGHT (C) 1979, 1984, 1985 BY
6315 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
6316 ; ALL RIGHTS RESERVED.
6317 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
6318 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
6319 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
6320 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
6321 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
6322 ;
6323 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
6324 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
6325 ; CORPORATION.
6326 ;
6327 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6328 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
6329 ;
6330 ; MODULE: SET AC-BLOCK
6331 ;
6332 ; VERSION: 06-11
6333 ;
6334 ; AUTHOR: K.LEFEBVRE
6335 ;
6336 ; DATE: 12-SEP-79
6337 ;
6338 ; THIS MODULE CONTAINS:
6339 ;
6340 ; 1) SET AC-BLOCK N COMMAND
6341 ; 2) SWEEP N COMMAND
6342 ;
6343 ; THESE COMMANDS WERE ADDED FOR TCO 5.1002
6344
6345 .MCALL SETF$S
SCACB -- SET AC-BLOCK COMMAND M MACRO V05.04 Tuesday 17-May-88 14:36 Page 161
.SCACB -- SET AC-BLOCK COMMAND
6347 .SBTTL .SCACB -- SET AC-BLOCK COMMAND
6348
6349 ;+
6350 ; .SCACB -- SET AC-BLOCK COMMAND
6351 ;
6352 ; THIS ROUTINE WILL CAUSE THE SPECIFIED BLOCK TO BE THE CURRENT
6353 ; AC BLOCK REFERENCED BY THE KL.
6354 ;
6355 ; INPUT ARGUMENTS:
6356 ;
6357 ; NONE
6358 ;
6359 ; OUTPUT ARGUMENTS:
6360 ;
6361 ; NONE
6362 ;
6363 ; ERROR CODES RETURNED:
6364 ;
6365 ; ILI -- ILLEGAL UNSTRUCTION
6366 ; MRA -- MISSING REQUIRED ARGUMENT
6367 ; NOR -- INPUT ARGUMENT NUMBER OUT OF RANGE
6368 ;-
6369
6370 011774 .SCACB::
6371 011774 005737 000000G TST .NOTSW ; IS THIS A CLEAR?
6372 012000 001014 BNE SCAILI ; YES -- NOT ALLOWED
6373 012002 CALL .CKARG ; NO -- CHECK FOR AN ARGUMENT
012002 004737 000000G JSR PC,.CKARG
6374 012006 CALL .GTELN ; GET THE ARGUMENT
012006 004737 000000G JSR PC,.GTELN
6375 012012 020027 000007 CMP R0,#7 ; IS THE ARGUMENT IN RANGE?
6376 012016 101010 BHI SCANOR ; NO -- ERROR
6377 012020 CALL .CKRUN ; MAKE SURE KL NOT RUNNING
012020 004737 000000G JSR PC,.CKRUN
6378 012024 010002 MOV R0,R2 ; SET BLOCK NO.
6379 012026 CALLR .SACBK ; YES -- SET AC BLOCK
012026 000137 012046' JMP .SACBK
6380
6381 012032 SCAILI:
6382 012032 ERROR$ ILI ; ERROR -- ILLEGAL INSTRUCTION
012032 012746 035051 MOV #^RILI,-(SP)
012036 104400 TRAP TC.ERR
6383 012040 SCANOR:
6384 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 V05.04 Tuesday 17-May-88 14:36 Page 162
.SACBK -- SET AC BLOCK ROUTINE
6386 .SBTTL .SACBK -- SET AC BLOCK ROUTINE
6387
6388 ;+
6389 ; .SACBK -- SUBROUTINE TO SET KL AC BLOCK
6390 ;
6391 ; THIS ROUTINE WILL:
6392 ; 1. INSERT INSTR OBJECT INTO KL LOC 100
6393 ; 2. EXECUTE DATAO PAG,,100 TO SET AC BLOCK
6394 ;
6395 ; INPUT ARGUMENTS:
6396 ;
6397 ; R2=AC BLOCK NO. TO SET
6398 ;
6399 ; OUTPUT ARGUMENTS:
6400 ;
6401 ; NONE
6402 ;
6403 ; ERROR CODES RETURNED:
6404 ;
6405 ; CCC -- CAN'T CLEAR KL10 CLOCK
6406 ; CCR -- CAN'T CLEAR KL10 RUN FLOP
6407 ; CCS -- KL10 CLOCK CAN'T START
6408 ; CES -- CLOCK ERROR STOP
6409 ; CFH -- CAN'T FIND KL10 HALT LOOP
6410 ; CSC -- CAN'T SYNC KL10 CLOCK
6411 ; DMF -- DEPOSIT KL10 MEMORY FAILED
6412 ; DSF -- DTE20 STATUS FAILURE
6413 ; ECT -- EBOX CLOCK TIME OUT
6414 ; ESD -- EBOX STOPPED - DEPOSIT
6415 ; FRF -- FUNCTION READ FAILED
6416 ; FWF -- FUNCTION WRITE FAILED
6417 ; FXF -- FUNCTION EXECUTE FAILED
6418 ; MAE -- MODE ARGUMENT ERROR
6419 ; XTO -- EXECUTE TIMED OUT
6420 ;-
6421
6422 012046 .SACBK::
6423 012046 005000 CLR R0 ; CALL .WHACB ON EXIT FLAG
6424 012050 .SACB1:: ; ALTERNATE ENTRY POINT
6425 012050 PUSH <R0,R2> ; SAVE NEW AC BLOCK NO.
012050 010046 MOV R0,-(SP)
012052 010246 MOV R2,-(SP)
6426 012054 006302 ASL R2 ; POSITION AC BLOCK NO.
6427 012056 006302 ASL R2 ; POSITION AC BLOCK NO.
6428 012060 006302 ASL R2 ; POSITION AC BLOCK NO.
6429 012062 110237 000771' MOVB R2,ACDAT+3 ; PUT BLOCK NO. INTO INSTR
6430 012066 012701 000756' MOV #DEPBLK,R1 ; SET UP DEPOSIT DATA BLOCK
6431 012072 012700 000200 MOV #ED.PHY,R0 ; PUT IN PHYSICAL SPACE
6432 ; MOV #ED.EXV,R0 ; PUT IN EXEC VIRTUAL SPACE
6433 012076 CALL .DPKLM ; DEPOSIT INSTR OBJECT IN MEMORY
012076 004737 000000G JSR PC,.DPKLM
6434 012102 103404 BCS 10$ ; ERROR
6435 012104 012700 000774' MOV #SETACI,R0 ; INSTR PTR
6436 012110 CALL .EXCTF ; EXECUTE INSTR
012110 004737 000000G JSR PC,.EXCTF
6437 012114 10$: POP <R2,R0> ; RESTORE R2
012114 012602 MOV (SP)+,R2
SCACB -- SET AC-BLOCK COMMAND M MACRO V05.04 Tuesday 17-May-88 14:36 Page 162-1
.SACBK -- SET AC BLOCK ROUTINE
012116 012600 MOV (SP)+,R0
6438 012120 005700 TST R0 ; PRINT AC BLOCK?
6439 012122 001002 BNE 20$ ; NO -- EXIT
6440 012124 CALL .WHACB ; YES -- OUTPUT CURRENT AC BLOCK NO.
012124 004737 012132' JSR PC,.WHACB
6441 012130 20$: RETURN ; EXIT
012130 000207 RTS PC
6442
6443 000756 .PSECT DATA
6444
6445 000756 000762' DEPBLK: .WORD TEMADR ; OBJECT ADDR PTR
6446 000760 000766' .WORD ACDAT ; DEPOSIT DATA PTR
6447 000762 000100 TEMADR: .WORD 100 ; ADDR BITS 20-35
6448 000764 000000 .WORD 0 ; ADDR BITS 14-19
6449 000766 000000 ACDAT: .WORD 0 ; DATA BITS 20-35
6450 000770 000000 .WORD 0 ; DATA BITS 4-19
6451 000772 000010 .WORD 10 ; DATA BITS 0-3
6452
6453 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
6454
6455 012132 .PSECT
SCACB -- SET AC-BLOCK COMMAND M MACRO V05.04 Tuesday 17-May-88 14:36 Page 163
.WHACB -- WHAT AC BLOCK COMMAND
6457 .SBTTL .WHACB -- WHAT AC BLOCK COMMAND
6458
6459 012132 .WHACB::
6460 012132 PUSH R1 ; SAVE R1
012132 010146 MOV R1,-(SP)
6461 012134 012700 002402' MOV #WACMSG,R0 ; WHAT AC BLOCK MESSAGE
6462 012140 CALL .TYMSG ; PRINT IT
012140 004737 000000G JSR PC,.TYMSG
6463 012144 005001 CLR R1 ; NO FM ADDR BUFFER
6464 012146 CALL .RDFMA ; GET CURRENT AC BUFFER
012146 004737 000000G JSR PC,.RDFMA
6465 012152 000300 SWAB R0 ; BLOCK NO. IN LOW BYTE NOW
6466 012154 042700 177600 BIC #177600,R0 ; GET RID OF EXCESS BITS
6470 012160 005046 CLR -(SP) ; NO. BUFFER ON STACK
6471 012162 005046 CLR -(SP) ; BUFFER
6472 012164 010046 MOV R0,-(SP) ; BUFFER
6473 012166 010600 MOV SP,R0 ; BUFFER PTR
6474 012170 005037 000000G CLR .LDZFL ; NO LEADING ZEROS
6475 012174 CALL .TYKLN ; OUTPUT VALUE
012174 004737 000000G JSR PC,.TYKLN
6476 012200 062706 000006 ADD #6,SP ; POP OFF BUFFER
6477 012204 CALL .TCRLF ; TYPE CR-LF
012204 004737 000000G JSR PC,.TCRLF
6478 012210 POP R1 ; RESTORE R1
012210 012601 MOV (SP)+,R1
6479 012212 RETURN ; DONE
012212 000207 RTS PC
6480
6481 002402 .PSECT MESSAG
6482
6483 002402 040 101 103 WACMSG: .ASCIZ % AC-BLOCK: %
002405 055 102 114
002410 117 103 113
002413 072 040 000
6484
6485 012214 .PSECT
SCACB -- SET AC-BLOCK COMMAND M MACRO V05.04 Tuesday 17-May-88 14:36 Page 164
.SWPC -- SWEEP AC BLOCK COMMAND
6487 .SBTTL .SWPC -- SWEEP AC BLOCK COMMAND
6488
6489 ;+
6490 ; .SWPC -- SWEEP AC BLOCK COMMAND ROUTINE
6491 ;
6492 ; THIS ROUTINE
6493 ;
6494 ; INPUT ARGUMENTS:
6495 ;
6496 ; NONE
6497 ;
6498 ; OUTPUT ARGUMENTS:
6499 ;
6500 ; NONE
6501 ;
6502 ; ERROR CODES RETURNED:
6503 ;
6504 ; XXX
6505 ;-
6506
6507 012214 .SWPC::
6508 012214 005037 000000G CLR .PASS ; [4.1.1049]CLEAR PASS FLAG
6509 012220 005037 001002' CLR FMERR ; [4.1.1049]CLEAR ERROR COUNT
6510 012224 PUSH .NOERR ; SAVE ERROR,HALT STATUS
012224 013746 000000G MOV .NOERR,-(SP)
6511 012230 012737 000401 000000G MOV #401,.NOERR ; IGNORE KL ERRORS
6512 012236 012737 000001 000000G MOV #1,.SWPIP ; SET SWEEP IN PROGRESS
6513 012244 005001 CLR R1 ; NO DATA BUFFER
6514 012246 CALL .RDFMA ; READ CURRENT BLOCK NO.
012246 004737 000000G JSR PC,.RDFMA
6515 012252 000300 SWAB R0 ; GET BLOCK IN LOW BYTE
6516 012254 042700 177600 BIC #177600,R0 ; CLEAR EXTRA BITS
6517 012260 010037 001014' MOV R0,SAVBLK ; SAVE BLOCK NO.
6518 012264 CALL .RDIPE ; READ PARITY FLAGS
012264 004737 000000G JSR PC,.RDIPE
6519 012270 PUSH R0 ; [4.1.1049]SAVE PARITY FLAG
012270 010046 MOV R0,-(SP)
6520 012272 032700 000010 BIT #10,R0 ; FM ERROR?
6521 012276 001416 BEQ 10$ ; NO -- GO ON
6522 012300 012700 002416' MOV #FMHED,R0 ; YES -- FM ERROR MESSAGE HEADER
6523 012304 CALL .TYMSG ; TYPE IT
012304 004737 000000G JSR PC,.TYMSG
6524 012310 012700 001004' MOV #FMBUF,R0 ; DATA BUFFER
6525 012314 013702 001014' MOV SAVBLK,R2 ; CURRENT BLOCK NO.
6526 012320 CALL .RDFMO ; READ CURRENT FM DATA
012320 004737 000000G JSR PC,.RDFMO
6527 012324 CALL .TYAC1 ; TYPE FM DATA
012324 004737 000000G JSR PC,.TYAC1
6528 012330 CALL .RSSWP ; RESET KL
012330 004737 012652' JSR PC,.RSSWP
6529 012334 10$: POP R0 ; [4.1.1049]RESTORE PARITY FLAG
012334 012600 MOV (SP)+,R0
6530 012336 132764 000010 000000G BITB #CH.EOC,.CHTAB(R4) ; IS THERE AN ARGUMENT?
6531 012344 001011 BNE 15$ ; NO -- SWEEP ALL BLOCKS
6532 012346 CALL .GTELN ; YES -- GET IT
012346 004737 000000G JSR PC,.GTELN
6533 012352 020027 000007 CMP R0,#7 ; IS ARGUMENT IN RANGE?
SCACB -- SET AC-BLOCK COMMAND M MACRO V05.04 Tuesday 17-May-88 14:36 Page 164-1
.SWPC -- SWEEP AC BLOCK COMMAND
6534 012356 101230 BHI SCANOR ; NO -- ERROR
6535 012360 010002 MOV R0,R2 ; YES -- SET ARGUMENT
6536 012362 CALL .SWPAC ; SWEEP BLOCK
012362 004737 012514' JSR PC,.SWPAC
6537 012366 000437 BR 30$ ; DONE
6538 012370 032700 000010 15$: BIT #10,R0 ; [4.1.1049]FM ERROR?
6539 012374 001442 BEQ 40$ ; [4.1.1049]NO -- DONE
6540 012376 012702 000007 17$: MOV #7,R2 ; YES -- START WITH LAST BLOCK
6541 012402 20$: CALL .SWPAC ; SWEEP IT
012402 004737 012514' JSR PC,.SWPAC
6542 012406 005302 DEC R2 ; NEXT AC BLOCK
6543 012410 002374 BGE 20$ ; DONE?
6544 012412 005737 001002' TST FMERR ; [4.1.1049]ANY ERRORS?
6545 012416 001423 BEQ 30$ ; [4.1.1049]NO -- GO ON
6546 012420 005737 000000G TST .PASS ; [4.1.1049]YES -- PASS 2?
6547 012424 001005 BNE 25$ ; [4.1.1049]YES -- ABORT RELOAD
6548 012426 005237 000000G INC .PASS ; [4.1.1049]NO -- SET SECOND PASS
6549 012432 005037 001002' CLR FMERR ; [4.1.1049]CLEAR ERROR COUNT
6550 012436 000757 BR 17$ ; [4.1.1049]RESWEEP
6551 012440 012700 002462' 25$: MOV #FMABO,R0 ; [4.1.1049]ABORT MESSAGE
6552 012444 CALL .TYLIN ; [4.1.1049]TYPE IT
012444 004737 000000G JSR PC,.TYLIN
6553 012450 032737 000000G 000000G BIT #KL.REQ,.KLIWD ; [4.1.1049]KLI REQUESTED
6554 012456 001403 BEQ 30$ ; [4.1.1049]NO -- DONE
6555 012460 052737 000000G 000000G BIS #KL.ABO,.KLIWD ; [4.1.1049]YES -- ABORT RELOAD
6556 012466 013702 001014' 30$: MOV SAVBLK,R2 ; YES -- RESTORE ORIGINAL AC BLOCK
6557 012472 012700 000001 MOV #1,R0 ; SET NO WHAT AC FLAG
6558 012476 CALL .SACB1 ; SET AC BLOCK
012476 004737 012050' JSR PC,.SACB1
6559 012502 005037 000000G 40$: CLR .SWPIP ; CLEAR SWEEP IN PROGRESS
6560 012506 POP .NOERR ; RESTORE ERROR,HALT STATUS
012506 012637 000000G MOV (SP)+,.NOERR
6561 012512 RETURN ; EXIT
012512 000207 RTS PC
6562
6563 001002 .PSECT DATA
6564
6565 001002 000000 FMERR: .WORD 0 ; [4.1.1049]ERROR COUNT
6566 001004 000000 000000 000000 FMBUF: .WORD 0,0,0,0
001012 000000
6567
6568 001014 000000 SAVBLK: .WORD 0 ; ORIGINAL AC BLOCK NO.
6569
6570 002416 .PSECT MESSAG
6571
6572 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 V05.04 Tuesday 17-May-88 14:36 Page 164-2
.SWPC -- SWEEP AC BLOCK COMMAND
6573 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 04