Trailing-Edge
-
PDP-10 Archives
-
BB-H311B-RM
-
rsx20f-swskit/listings/parser.lis
There is 1 other file named parser.lis in the archive. Click here to see a list.
ABRTC -- ABORT COMMAND MODULE 7 MACRO M1110 03-OCT-79 11:35
TABLE OF CONTENTS
35- 1441 .ABRTC -- THE "ABORT" COMMAND 7602.23
36- 1465 .ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
39- 1567 .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
40- 1614 .CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
41- 1653 .CKCOL -- CHECK FOR A COLON 7709.21
42- 1688 .CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
43- 1718 .CKEOC -- CHECK END OF COMMAND 7602.16
44- 1756 .CKEOS -- CHECK END OF SYMBOL 7709.21
45- 1784 .CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
46- 1811 .CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
47- 1862 .CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
48- 1891 .EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
50- 1953 .CONTC -- THE "CONTINUE" COMMAND 7611.17
53- 2060 DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
54- 2183 .SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
55- 2234 DATAB -- DTE-20 OPERATION BUFFERS 7709.20
56- 2253 DATAB -- INPUT / OUTPUT BUFFERS 7709.20
59- 2342 DATAB -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
60- 2380 .CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
64- 2586 .DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
65- 2624 .DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
66- 2687 .EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
67- 2727 .EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
68- 2790 .DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
69- 2828 .EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
70- 2866 .EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
71- 2879 .EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
73- 2958 .DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
74- 3009 .DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
75- 3060 .DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
76- 3100 .DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
77- 3128 .XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
79- 3218 .DISCC -- THE "DISCONNECT" COMMAND 7702.28
81- 3288 .DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
83- 3357 .DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
84- 3396 .EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
86- 3453 .EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
88- 3513 .DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
89- 3554 .DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
92- 3668 .DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.29
93- 3706 .EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
95- 3772 .EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
96- 3799 .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
98- 3876 .PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
100- 3956 .PARER -- SPECIAL ERROR ROUTINES 7609.24
105- 4100 .PTDIE -- RECURSIVE TRAP HANDLER 7609.24
106- 4137 .PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
109- 4256 .PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
111- 4343 .EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
113- 4416 .EXAD -- KL DATA PATH BOARD EXAMINES 7602.16
114- 4457 .EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
116- 4502 .EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
118- 4563 .EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
119- 4603 .EXCRA -- SMALL REGISTER EXAMINES 7609.10
121- 4654 .EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
123- 4728 .EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
125- 4799 .EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35
TABLE OF CONTENTS
126- 4816 .RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
128- 4888 .RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
130- 4955 .RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
132- 5019 .RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
135- 5152 .RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
138- 5283 .HALTC -- THE "HALT" COMMAND 7710.11
140- 5346 .INITC -- THE "INITIALIZE" COMMAND 7602.16
141- 5372 .INIT -- INITIALIZATION SUBROUTINE 7509.26
142- 5414 .INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
145- 5516 .INICP -- INITIALIZE THE COMMAND PARSER 7601.21
149- 5626 .BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
150- 5666 .CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
151- 5705 .CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
153- 5760 .DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
157- 5896 .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
159- 5957 .EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
164- 6129 .EXCTF -- FAST INTERNAL EXECUTE 7602.17
166- 6214 .FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
168- 6287 .FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
170- 6380 .FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
173- 6478 .KLCON -- KL CONTINUE SUBROUTINE 7710.11
175- 6543 .KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
177- 6625 .KLST -- SUBROUTINE TO START THE KL 7512.08
178- 6670 .KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
179- 6716 .KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
181- 6775 .KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
182- 6814 .LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
184- 6860 .LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
186- 6941 .LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
188- 6995 .MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
190- 7063 .RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 7510.09
193- 7193 .RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
194- 7241 .RESET -- KL RESET SUBROUTINES 7511.18
196- 7314 .RESTD -- DTE-20 RESET SUBROUTINE 7607.20
197- 7357 .RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
198- 7403 .RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
200- 7453 .RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
201- 7483 .STCLK -- START KL CLOCK SUBROUTINE 7607.15
202- 7515 .STPKL -- SUBROUTINE TO STOP THE KL 7602.25
203- 7545 .STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
204- 7577 .STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
205- 7609 .STUCD -- START KL MICROCODE SUBROUTINE 7511.22
207- 7677 .SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
208- 7708 .WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
210- 7787 .NULLC -- THE NULL COMMAND 7602.10
212- 7829 .DOCMD -- DECODE A SINGLE COMMAND 7602.03
214- 7898 .EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
215- 7930 .START -- COMMAND PARSER MAIN LOOP 7602.02
216- 7956 .RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
218- 8016 .TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
222- 8131 .SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
225- 8223 .REPTC -- THE "REPEAT" COMMAND 7703.25
227- 8296 .RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
228- 8336 .RSALL -- THE "RESET ALL" COMMAND 7602.18
229- 8362 .RSTPI -- THE "RESET PI" COMMAND 7607.21
230- 8399 .RSPAG -- THE "RESET PAG" COMMAND 7607.21
233- 8478 .RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
RUNCM -- RUN COMMAND MODULE 760 MACRO M1110 03-OCT-79 11:35
TABLE OF CONTENTS
236- 8559 .GTR50 -- GET A .RAD50 WORD 7602.18
238- 8614 .QUITC -- THE "QUIT" COMMAND 7602.16
240- 8677 .SCDAT -- "SET DATE" COMMAND 7703.04
243- 8812 .SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
252- 9117 .WHDAT -- THE "WHAT" DATE COMMAND 7703.03
254- 9217 .WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
258- 9341 .GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
263- 9511 .GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
266- 9632 .TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
268- 9700 .TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
271- 9791 .SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
272- 9838 .WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
273- 9867 .SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
275- 9907 .SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
277- 9981 .STRTC -- THE "START" COMMAND 7602.26
278-10010 .STRTT -- THE "START <TEN>" COMMAND 7710.11
280-10073 .STRTU -- THE "START MICROCODE" COMMAND 7602.26
282-10148 .SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
283-10193 .WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
284-10217 .SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
285-10242 .WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
286-10275 .SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
287-10302 .WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
288-10322 .SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
289-10335 .WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
290-10351 .SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
291-10359 .SCRTY -- THE "SET / CLEAR RETRY" COMMAND 7-DEC-78
292-10371 .WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
293-10384 .WHRTY -- THE "WHAT RETRY" COMMAND 7-DEC-78
294-10408 .SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
295-10430 .SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
296-10443 .WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
297-10458 .WHATV -- THE "WHAT VERSION" COMMAND 7607.21
299-10518 .SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
302-10640 .SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
304-10729 .SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
305-10771 .WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
308-10861 .WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
311-10935 .YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
314-11039 .CMDTB -- THE MAIN COMMAND TABLE 7703.25
315-11098 .DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
316-11113 .DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
317-11134 .EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
318-11149 .EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
319-11217 .KLMTB -- THE KLINIK MODE TABLE 7702.16
320-11235 .MONTB -- THE MONTH TABLE 7702.16
321-11266 .NSETB -- NORMAL ERROR CODE TABLE 7710.11
322-11349 .RESTB -- THE RESET COMMAND TABLE 7602.18
323-11370 .SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
324-11397 .SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
325-11406 .SSCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
326-11419 .SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
327-11438 .SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
328-11473 .SPETB -- SPECIAL ERROR CODE TABLE 7702.16
329-11492 .STRTB -- THE START COMMAND TABLE 7602.26
330-11501 .WHATB -- THE WHAT COMMAND TABLE 7703.25
332-11570 .SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35
TABLE OF CONTENTS
333-11611 .TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
336-11707 .TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
337-11759 .TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
338-11799 .TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
339-11835 .TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
340-11869 .TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
341-11906 .TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
342-11946 .TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
345-12024 .TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
346-12074 .TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
349-12172 .TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
351-12255 .DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
354-12344 .EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
358-12483 .GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
359-12526 .GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
361-12631 .ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
362-12673 .GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
363-12704 .GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
364-12737 .GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
366-12818 .GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
368-12878 .GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
370-12946 .GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
373-13067 .GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
376-13163 .TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
378-13227 .TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
379-13271 .TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
380-13317 .TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
381-13359 .TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
382-13406 .TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
384-13479 .TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.23
386-13560 .TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF> 7601.23
387-13607 .TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVICE 7601.23
388-13636 .TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
390-13691 .TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
392-13738 .TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
395-13841 .ZEROC -- THE "ZERO" COMMAND 7609.15
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 1
1 .IIF NDF FTLCMN,.NLIST
2 .TITLE DEFINE -- LOCAL DEFINITION MODULE 7709.20
3
4 .IDENT "005010"
5
6 ;
7 ; COPYRIGHT (C) 1975, 1979 BY
8 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
9 ;
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: 05-01
26 ;
27 ; AUTHOR: R. BELANGER
28 ;
29 ; DATE: 7905.10
30 ;
31 ; THIS MODULE CONTAINS:
32 ;
33 ; 1) LOCAL MACRO DEFINITIONS
34 ; 2) LOCAL ASSEMBLY SWITCHES
35 ; 3) LOCAL DEFINITIONS
36 ; 4) LOCAL EQUATED SYMBOLS
37 ;
38 ; MODIFICATIONS:
39 ;
40 ; NO. DATE PROGRAMMER REASON
41 ; --- ---- ---------- ------
42 ; 001 11-DEC-77 A. PECKHAM DELETE LOCAL DEFINITIONS
43 ; OF PROTOCOL CHANGE AND
44 ; CONTROL-C EVENT FLAGS
45 ; 002 16-FEB-77 R. BELANGER REMOVE KLINIK CONDITIONALS
46 ;
47 ; SET VERSION OF THE PARSER HERE
48 ;
49 000005 PAR$$V = 5 ; VERSION 5
50 000001 PAR$$E = 01 ; EDIT 01
51 ;
52 ; THIS IS BEING RELEASED
53 ;
54 000126 PAR$$K = 'V ; KEY FOR RELEASE
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 2
DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20
56 .SBTTL DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20
57
58 000000 FT1145=0 ; ASSEMBLE FOR PDP-11/45 IF .NE. 0
59 000001 FT1140=1 ; ASSEMBLE FOR PDP-11/40 IF .NE. 0
60 000000 FT1135=0 ; ASSEMBLE FOR PDP-11/35 IF .NE. 0
61 000000 FT1120=0 ; ASSEMBLE FOR PDP-11/20 IF .NE. 0
62 000000 FT1115=0 ; ASSEMBLE FOR PDP-11/15 IF .NE. 0
63 000000 FT1110=0 ; ASSEMBLE FOR PDP-11/10 IF .NE. 0
64 000000 FT1105=0 ; ASSEMBLE FOR PDP-11/05 IF .NE. 0
65 000000 FTBYTE=0 ; ASSEMBLE BYTE SUPPORT IF .NE 0
66 000000 FTCRAM=0 ; ASSEMBLE CRAM FEATURES IF .NE. 0
67 000001 FTDEBUG=1 ; ASSEMBLE DEBUG FEATURES IF .NE. 0
68 000000 FTDISP=0 ; ASSEMBLE DISPATCH TABLE IF .NE 0
69 000000 FTDRAM=0 ; ASSEMBLE DRAM FEATURES IF .NE. 0
70 000000 FTHELP=0 ; ASSEMBLE HELP FEATURE IF .NE. 0
71 000000 FTKLER=0 ; ASSEMBLE "KLERR" SUPPORT IF .NE. 0
72 000000 FTLCVT=0 ; ASSEMBLE LOWER CASE SUPPORT IF .NE. 0
73 000000 FTLIST=0 ; ASSEMBLE LPT SUPPORT IF .NE. 0
74 000001 FTTRAK=1 ; ASSEMBLE TRACK FEATURE IF .NE. 0
75 000001 FTTRP4=1 ; ASSEMBLE TRAP AT 4 CODE IF .NE. 0
76 000130 FTUCVR=130 ; MICROCODE FEATURE SWITCH
77
78 .IF NE FT1145
79 FT1140=1
80 .ENDC ; FT1145
81
82 .IF NE FT1140
83 000001 FT1135=1
84 .ENDC ; FT1140
85
86 .IF NE FT1135
87 000001 FT1120=1
88 .ENDC ; FT1135
89
90 .IF NE FT1120
91 000001 FT1115=1
92 .ENDC ; FT1135
93
94 .IF NE FT1115
95 000001 FT1110=1
96 .ENDC ; FT1115
97
98 .IF NE FT1110
99 000001 FT1105=1
100 .ENDC ; FT1110
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 3
DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
102 .SBTTL DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
103
104 .LIST MEB, SYM
105 .NLIST CND
106 .ENABL AMA
107
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 4
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
112 .SBTTL DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
113
114 ; SUBROUTINE CALL MACROS
115
116 .MACRO CALL REG,DEST
117 .NTYPE $$,REG
118 .IF EQ $$&70
119 JSR REG,DEST
120 .IFF
121 JSR PC,REG
122 .ENDC ; IF EQ
123 .ENDM CALL
124
125 .MACRO CALLR DEST
126 JMP DEST
127 .ENDM CALLR
128
129 ; STACK OPERATION MACROS
130
131 .MACRO POP ARG
132 .IRP A,<ARG>
133 MOV (SP)+,A
134 .ENDR
135 .ENDM POP
136
137 .MACRO PUSH ARG
138 .IRP A,<ARG>
139 MOV A,-(SP)
140 .ENDR
141 .ENDM PUSH
142
143 ; SUBROUTINE RETURN MACRO
144
145 .MACRO RETURN REG
146 .IF NB <REG>
147 RTS REG
148 .IFF
149 RTS PC
150 .ENDC ; IF NB
151 .ENDM RETURN
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 5
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
153 ; DEFINE THE ERROR TRAP MACRO FOR ".PTTRP"
154
155 .MACRO ERROR$ CODE
156 PUSH #^R'CODE
157 TRAP TC.ERR
158 .ENDM ERROR$
159
160 ; DEFINE THE FATAL TRAP MACRO FOR ".PTTRP"
161
162 .MACRO FATAL$ CODE
163 FA$'CODE=.
164 PUSH #^R'CODE
165 TRAP TC.RST
166 .ENDM FATAL$
167
168 ; DEFINE THE CONTINUE TRAP MACRO FOR ".PTTRP"
169
170 .MACRO ERCON$ CODE
171 EC$'CODE=.
172 PUSH #^R'CODE
173 TRAP TC.CON
174 TST (SP)+
175 .ENDM ERCON$
176
177 ; DEFINE THE COMMAND TABLE MACRO
178
179 .MACRO COMND$ COMMAND,LGLBTS,DISPAT,NAM
180 .PSECT MESSAG
181 .IF NDF,NAM'MSG
182 $$$'NAM=0
183 NAM'MSG:: .ASCIZ %COMMAND%
184 .ENDC
185 .IF DF,$$PASS2
186 $$$'NAM=$$$'NAM+1
187 .IF EQ,$$$'NAM-1
188 NAM'MSG:: .ASCIZ %COMMAND%
189 .ENDC
190 .ENDC
191 .PSECT DATA
192 .WORD NAM'MSG ; POINTER TO "COMMAND" SYMBOL
193 .WORD LGLBTS ; LEGAL BITS
194 .WORD DISPAT ; ROUTINE TO CALL OR DATA
195 .ENDM COMND$
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 6
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
197 ; DEFINE THE NORMAL ERROR CODE MACRO
198
199 .MACRO NSERR$ COD,STRING
200 .PSECT ERRMSG
201 COD'ERM: .ASCIZ %COD - STRING%
202 .PSECT DATA
203 .RAD50 /COD/ ; "COD" IN .RAD50
204 .WORD COD'ERM ; POINTER TO MESSAGE
205 .ENDM NSERR$
206
207 ; DEFINE THE SPECIAL ERROR CODE MACRO
208
209 .MACRO SPERR$ COD,STRING
210 .PSECT ERRMSG
211 COD'ERM:
212 .ASCIZ %COD - STRING%
213 .PSECT DATA
214 .RAD50 /COD/ ; "COD" IN .RAD50
215 .WORD .SE'COD ; DISPATCH TO HANDLER
216 .WORD COD'ERM ; POINTER TO MESSAGE
217 .ENDM SPERR$
218
219 ; DEFINE AN "EXCHANGE" MACRO
220
221 .MACRO EXCH$ ARG1,ARG2
222 MOV ARG1,-(SP)
223 MOV ARG2,ARG1
224 MOV (SP)+,ARG2
225 .ENDM EXCH$
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 7
DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
227 .SBTTL DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
228
229 ; DEFINE KL I/O OPCODES
230
231 000000 BLKI=0 ; BLOCK IN
232 000001 DATAI=1 ; DATA IN
233 000002 BLKO=2 ; BLOCK OUT
234 000003 DATAO=3 ; DATA OUT
235 000004 CONO=4 ; CONDITIONS OUT
236 000005 CONI=5 ; CONDITIONS IN
237 000006 CONSZ=6 ; " " SKIP IF ZERO
238 000007 CONSO=7 ; " " " " ONES
239
240 ; DEFINE KL INTERNAL I/O DEVICES
241
242 000000 APR=0 ; ARITHMETIC PROCESSOR (ALU)
243 000004 PI=4 ; PRIORITY INTERRUPT SYSTEM
244 000010 PAG=10 ; PAGING SYSTEM
245 000014 CCA=14 ; CACHE CONTROL
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 8
DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
247 ; DEFINE KL INSTRUCTION MACRO
248
249 .MACRO IKL$ OP,DAC,DI,DAD,DXR
250 ADH=0
251 ADL=0
252 .IF NB,DAD
253 .IRPC AD1,DAD
254 .IIF GE,<ADL-10000>,ADH=ADL/10000
255 ADL=10*<ADL&7777>+AD1
256 .ENDR
257 .ENDC ; .IF NB
258 .IIF B,DAC,AC=0
259 .IIF NB,DAC,AC=DAC
260 .IIF B,DI,I=0
261 .IIF NB,DI,I=DI
262 .IIF B,DXR,XR=0
263 .IIF NB,DXR,XR=DXR
264 $$A=<ADL&377>
265 $$B=<<ADL/400>!<ADH*200&377>>
266 $$C=<AC&1*200+<I*100+<XR*4>>+<ADH/2>>
267 $$D=<OP&37*10+<AC/2>>
268 $$E=<OP/40>
269 $$F=0
270 .BYTE $$A,$$B
271 .BYTE $$C,$$D
272 .BYTE $$E,$$F
273 .ENDM IKL$
274
275 ; DEFINE KL I/O INSTRUCTION MACRO
276
277 .MACRO IOKL$ OP,DDV,DI,DAD,DXR
278 .IIF B,DI,I=0
279 .IIF NB,DI,I=DI
280 .IIF B,DXR,XR=0
281 .IIF NB,DXR,XR=DXR
282 ADH = 0
283 ADL = 0
284 .IRPC AD1,DAD
285 .IIF GE,<ADL-10000>, ADH=ADL/10000
286 ADL=10*<ADL&7777>+AD1
287 .ENDR
288 $$A=<ADL&377>
289 $$B=<<ADL/400>!<ADH*200&377>>
290 $$C=<OP&1*200+<I*100+<XR*4>>+<ADH/2>>
291 $$D=<DDV&374+<OP/2>>
292 $$E=<DDV/400+16>
293 $$F=0
294 .BYTE $$A,$$B
295 .BYTE $$C,$$D
296 .BYTE $$E,$$F
297 .ENDM IOKL$
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 9
DEFINE -- LOCAL DEFINITIONS 7709.20
299 .SBTTL DEFINE -- LOCAL DEFINITIONS 7709.20
300
301 ; LOCAL DEFINITIONS
302
303 000001 BIT00=000001 ; DEFINE LOW BITS FOR SYMMETRY
304 000002 BIT01=000002
305 000004 BIT02=000004
306 000010 BIT03=000010
307 000020 BIT04=000020
308 000040 BIT05=000040
309 000100 BIT06=000100
310 000200 BIT07=000200
311 000400 BIT08=000400
312 001000 BIT09=001000
313 002000 BIT10=002000
314 004000 BIT11=004000
315 010000 BIT12=010000
316 020000 BIT13=020000
317 040000 BIT14=040000
318 100000 BIT15=100000
319
320 ; DEFINE EXAMINE DEPOSIT MODE BYTES
321
322 000000 ED.EPT=0*40 ; EXEC PROCESS TABLE (RELATIVE)
323 000040 ED.EXV=1*40 ; EXEC VIRTUAL SPACE
324 000100 ED.UPT=2*40 ; USER PROCESS TABLE (RELATIVE)
325 000140 ED.USV=3*40 ; USER VIRTUAL SPACE
326 000200 ED.PHY=4*40 ; PHYSICAL ADDRESSES
327
328 ; DEFINE BITS IN ".PEWRD"
329
330 000001 PE.CES=1 ; CLOCK ERROR STOP
331 000002 PE.DRM=2 ; DRAM PARITY ERROR
332 000004 PE.CRM=4 ; CRAM PARITY ERROR
333 000010 PE.FMP=10 ; FAST MEMORY PARITY ERROR
334 000020 PE.FSS=20 ; FIELD SERVICE STOP
335 000037 PE.ALL=PE.CES!PE.DRM!PE.CRM!PE.FMP!PE.FSS
336
337 ; DEFINE BITS IN ".APRWD"
338
339 000001 AP.PWF=1 ; APR POWER FAIL
340 000002 AP.SAP=2 ; APR SBUS ADDRESS PARITY ERROR
341 000004 AP.CDP=4 ; APR CACHE DIRECTORY PARITY ERROR
342 000010 AP.MPE=10 ; APR MB (MEMORY) PARITY ERROR
343 000020 AP.IPF=20 ; APR I/O PAGE FAIL ERROR
344 000040 AP.NXM=40 ; APR NON-EX-MEM ERROR
345 000100 AP.SBE=100 ; APR SBUS ERROR
346 000177 AP.ALL=AP.PWF!AP.SAP!AP.CDP!AP.MPE!AP.IPF!AP.NXM!AP.SBE
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 10
DEFINE -- LOCAL DEFINITIONS 7709.20
348 ; DEFINE OFFSETS INTO DTE-20 DIAG REGISTERS
349
350 000000 .DIAG1=0 ; DTE-20 DIAG1 WORD
351 000002 .DIAG2=2 ; DTE-20 DIAG2 WORD
352 000004 .DTSTW=4 ; DTE-20 STATUS WORD
353 000006 .DIAG3=6 ; DTE-20 DIAG3 WORD
354
355 ; DEFINE DTE-20 DIAG1 BITS
356
357 100000 D1.DS0=BIT15 ; DIAGNOSTIC SELECT CODE 00 [WRITE]
358 040000 D1.DS1=BIT14 ; " " " 01 "
359 020000 D1.DS2=BIT13 ; " " " 02 "
360 010000 D1.DS3=BIT12 ; " " " 03 "
361 004000 D1.DS4=BIT11 ; " " " 04 "
362 002000 D1.DS5=BIT10 ; " " " 05 "
363 001000 D1.DS6=BIT09 ; " " " 06 "
364 004000 D1.CES=BIT11 ; KL CLOCK ERROR STOP [READ]
365 002000 D1.RUN=BIT10 ; KL RUN FLAG [READ]
366 001000 D1.HLP=BIT09 ; KL IS IN HALT LOOP [READ]
367 000400 D1.DEX=BIT08 ; DTE-20 IS IN DEPOSIT / EXAMINE STATE [READ]
368 000200 D1.T10=BIT07 ; DTE-20 IS IN TO KL STATE [READ]
369 000200 D1.LBK=BIT07 ; PUT DTE-20 IN LOOPBACK MODE [WRITE]
370 000100 D1.T11=BIT06 ; DTE-20 IS IN TO 11 STATE [READ]
371 000040 D1.DDT=BIT05 ; SET DTE-20 DIAGNOSTIC MODE [WRITE]
372 ; DTE-20 IS IN DIAGNOSTIC MODE [READ]
373 000020 D1.V04=BIT04 ; VECTOR INTERRUPT ADDRESS BIT 04 [READ]
374 000020 D1.PLS=BIT04 ; GENERATE A CLOCK CYCLE IF D1.DDT SET [WRITE]
375 000010 D1.DFM=BIT03 ; CHANGE EX / DEP TO DIAG FUNCTIONS IF PRIVILEGED [WRITE]
376 000004 D1.XFR=BIT02 ; SEND DATA TO KL IF = 1 [READ]
377 ; RECEIVE DATA FROM KL IF = 0 [READ]
378
379 ; BIT 01 IS UNUSED [MBZ]
380
381 000001 D1.DCS=BIT00 ; DIAG COMMAND IN PROGRESS [READ]
382 ; SET DIAGNOSTIC COMMAND START IF = 1 [WRITE]
383 ; CLEAR DIAGNOSTIC COMMAND START IF = 0 [WRITE]
384 000442 D1.MBZ=D1.DEX!D1.DDT!BIT01 ; MUST BE ZERO ON WRITE
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 11
DEFINE -- LOCAL DEFINITIONS 7709.20
386 ; DEFINE DTE-20 DIAG2 BITS
387
388 100000 D2.RA0=BIT15 ; RFM ADDRESS BIT 0 [READ]
389 040000 D2.RA1=BIT14 ; RFM ADDRESS BIT 1 [READ]
390 040000 D2.EBD=BIT14 ; SET EBUS DONE IF = 1 [WRITE]
391 ; CLEAR EBUS DONE IF = 0 [WRITE]
392 020000 D2.RA2=BIT13 ; RFM ADDRESS BIT 2 [READ]
393
394 ; BITS 11 THRU 7 ARE UNUSED [MBZ]
395
396 000100 D2.RST=BIT06 ; RESET THE DTE-20 IF = 1 [WRITE]
397
398 ; BIT 5 IS UNUSED [MBZ]
399
400 000020 D2.MS8=BIT04 ; MINOR STATE COUNTER BIT 8 [WRITE]
401 000010 D2.MS4=BIT03 ; " " " " 4 "
402 000004 D2.MS2=BIT02 ; " " " " 2 "
403 000002 D2.MS1=BIT01 ; " " " " 1 "
404
405 ; BIT 0 IS UNUSED [MBZ]
406
407 177641 D2.MBZ=BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT05!BIT00
408
409 ; DEFINE DTE-20 DIAG3 BITS
410
411 100000 D3.SSL=BIT15 ; SWAP SELECT LEFT [READ]
412 040000 D3.PAR=BIT14 ; PARITY FLOP [READ]
413
414 ; BITS 13 THRU 08 ARE UNIBUS PARITY ERROR INFO [READ]
415
416 ; BITS 07 AND 06 ARE UNUSED [MBZ]
417
418 000040 D3.SCD=BIT05 ; SHIFT DATA IN 13-08 FOR NEXT READ [WRITE]
419 000020 D3.UPE=BIT04 ; DATO UNIBUS PARITY ERROR (DUPE) [READ]
420 000020 D3.CDD=BIT04 ; CLEAR DUPE AND DURE FLAGS
421 000010 D3.WEP=BIT03 ; WRITE EVEN UNIBUS PARITY FLOP [READ]
422 ; WRITE EVEN UNIBUS PARITY IF = 1 [WRITE]
423 ; WRITE ODD (GOOD) UNIBUS PARITY IF = 0 [WRITE]
424 000004 D3.URE=BIT02 ; DATO UNIBUS RECEIVE ERROR FLAG (DURE) [READ]
425 000002 D3.NPE=BIT01 ; NPR UNIBUS PARITY ERROR FLAG (NUPE) [READ]
426 ; CLEAR NUPE [WRITE]
427 000001 D3.TXB=BIT00 ; SET TO KL BYTE TRANSFER MODE [WRITE]
428
429 177704 D3.MBZ=BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT06!BIT02
430
431 000001 D3.RST=D3.TXB ; DIAG WORD 3 RESET BIT
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 12
DEFINE -- LOCAL DEFINITIONS 7709.20
433 ; DEFINE DTE-20 STATUS BITS
434
435 100000 ST.TXD=BIT15 ; TO KL TRANSFER DONE FLAG [READ]
436 ; SET TO KL TRANSFER DONE [WRITE]
437 040000 ST.CTD=BIT14 ; CLEAR TO KL TRANSFER DONE FLAG [WRITE]
438 020000 ST.TXE=BIT13 ; TO KL ERROR DONE FLAG [READ]
439 ; SET TO KL ERROR DONE FLAG [WRITE]
440 010000 ST.RIZ=BIT12 ; DTE-20 RAM LOCATION IS ZEROES [READ]
441 010000 ST.CTE=BIT12 ; CLEAR TO KL ERROR DONE FLAG [WRITE]
442 004000 ST.EDB=BIT11 ; 11 DOORBELL FLAG [READ]
443 ; SET THE 11 DOORBELL FLAG [WRITE]
444 002000 ST.DW1=BIT10 ; YES, THIS BIT IS HERE
445 001000 ST.MPE=BIT09 ; 11 MEMORY PARITY ERROR DURING TO KL XFER [READ]
446 ; CLEAR ST.MPE [WRITE]
447 000400 ST.XDB=BIT08 ; KL DOORBELL FLAG [READ]
448 ; RING THE KL DOORBELL [WRITE]
449 000200 ST.TED=BIT07 ; TO 11 TRANSFER DONE FLAG [READ]
450 ; SET ST.TED [WRITE]
451 000100 ST.EBS=BIT06 ; E BUFFER SELECT [READ]
452 000100 ST.CED=BIT06 ; CLEAR ST.TED [WRITE]
453 000040 ST.NST=BIT05 ; TO 11 XFER STOPPED BECAUSE STOP BIT WAS SET [READ]
454 000040 ST.IEN=BIT05 ; ENABLE DTE-20 TO GENERATE BR REQUESTS IF = 1
455 000020 ST.EPE=BIT04 ; EBUS PARITY ERROR FLAG [READ]
456 ; CLEAR EBUS PARITY ERROR FLAG IF = 1 [WRITE]
457 000010 ST.MOD=BIT03 ; DTE-20 IS PRIVILEGED IF = 0 [READ]
458 ; " " RESTRICTED " " 1 "
459 000010 ST.IDS=BIT03 ; DISABLE DTE-20 BR REQUESTS [WRITE]
460 000004 ST.DXD=BIT02 ; DEPOSIT / EXAMINE DONE FLAG [READ]
461 000004 ST.SEP=BIT02 ; SET EBUS PARITY ERROR IF = 1 [WRITE]
462 000002 ST.TER=BIT01 ; TO 11 BYTE XFER ERROR FLAG [READ]
463 000002 ST.STE=BIT01 ; SET ST.TER IF = 1 [WRITE]
464 000001 ST.ION=BIT00 ; 11 CAN GENERATE BR REQUESTS [READ]
465 000001 ST.CLE=BIT00 ; CLEAR ST.TER IF = 1 [WRITE]
466
467 011121 ST.RST=ST.CTE!ST.MPE!ST.CED!ST.EPE!ST.CLE
468
469 000000 ST.MBZ=0 ; BIT MASK FOR WRITE
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 13
DEFINE -- LOCAL DEFINITIONS 7709.20
471 ; DEFINE FLAG BITS IN ".KLFLG"
472
473 100000 KF.CLK=BIT15 ; KL CLOCK IS RUNNING IF .NE. 0
474 040000 KF.RUN=BIT14 ; KL RUN FLOP IS ON IF .NE. 0
475 020000 KF.MRS=BIT13 ; KL MASTER RESET FLOP IS ON IF .NE. 0
476 010000 KF.SIM=BIT12 ; KL IS IN SINGLE INSTRUCTION MODE IF .NE. 0
477 004000 KF.SMC=BIT11 ; KL IS IN SINGLE PULSE MBOX MODE IF .NE. 0
478 002000 KF.SPM=BIT10 ; " " " " " EBOX " " " "
479 001000 KF.BRM=BIT09 ; KL IS IN BURST MODE IF .NE. 0
480 000400 KF.KLO=BIT08 ; KL IS IN KL INSTRUCTION MODE IF .NE. 0
481 000200 KF.CON=BIT07 ; KL IS CONTINUABLE IF .NE. 0
482 000100 KF.CES=BIT06 ; KL IS IN CLOCK ERROR STOP STATE IF .NE. 0
483 000200 KF.DEF=KF.CON ; DEFAULT FLAGS (SEE ".INKLF")
484
485 ; DEFINE BITS IN ".TRKWD"
486
488 000001 TR.FXC=BIT00 ; TRACK FUNCTION EXECUTES IF .NE. 0
489 000002 TR.FRD=BIT01 ; TRACK FUNCTION READS IF .NE. 0
490 000004 TR.FWR=BIT02 ; TRACK FUNCTION EXECUTES IF .NE. 0
491 000010 TR.EXM=BIT03 ; TRACK MEMORY EXAMINES IF .NE. 0
492 000020 TR.DEP=BIT04 ; TRACK MEMORY DEPOSITS IF .NE. 0
493 000040 TR.DTE=BIT05 ; TRACK DTE-20 OPERATIONS IF .NE. 0
494 000077 TR.ALL=TR.FXC!TR.FRD!TR.FWR!TR.EXM!TR.DEP!TR.DTE
496
497 ; DEFINE KL PC FLAGS (FROM "C.MAC" V. 1, EDIT 24 7511.25)
498
499 010000 PC.OVF=BIT12 ; KL OVERFLOW FLAG (BIT 00)
500 004000 PC.CY0=BIT11 ; KL CARRY 0 FLAG (BIT 01)
501 002000 PC.CY1=BIT10 ; KL CARRY 1 FLAG (BIT 02)
502 001000 PC.FOV=BIT09 ; KL FLOATING OVERFLOW FLAG (BIT 03)
503 000400 PC.BIS=BIT08 ; KL BYTE INCREMENT SUPPRESSION FLAG (BIT 04)
504 000200 PC.USR=BIT07 ; KL USER MODE FLAG (BIT 05)
505 000100 PC.UIO=BIT06 ; KL USER IOT MODE FLAG (BIT 06)
506 000040 PC.LIP=BIT05 ; KL LAST INSTRUCTION PUBLIC FLAG (BIT 07)
507 000020 PC.AFI=BIT04 ; KL ADDRESS FAILURE INHIBIT FLAG (BIT 08)
508 000010 PC.AT1=BIT03 ; KL APR TRAP 1 FLAG (BIT 09)
509 000004 PC.AT0=BIT02 ; KL APR TRAP 0 FLAG (BIT 10)
510 000002 PC.FUF=BIT01 ; KL FLOATING UNDERFLOW FLAG (BIT 11)
511 000001 PC.NDV=BIT00 ; KL NO DIVIDE FLAG (BIT 12)
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 14
DEFINE -- LOCAL DEFINITIONS 7709.20
513 ; DEFINE DIAGNOSTIC FUNCTION EXECUTE CODES
514
515 000000 FX.000=0
516 000000 FX.CSP=FX.000 ; STOP THE KL CLOCK
517 000002 FX.001=1*2
518 000002 FX.CST=FX.001 ; START THE KL CLOCK
519 000004 FX.002=2*2
520 000004 FX.MBC=FX.002 ; PULSE THE MBOX CLOCK
521 000006 FX.003=3*2
522 000006 FX.EBC=FX.003 ; PULSE THE EBOX CLOCK
523 000010 FX.004=4*2
524 000010 FX.SYC=FX.004 ; SYNCH THE EBOX CLOCK LOW
525 000012 FX.005=5*2
526 000012 FX.BMC=FX.005 ; BURST THE MBOX CLOCK
527 000014 FX.006=6*2
528 000014 FX.CMR=FX.006 ; CLEAR MASTER RESET STATE
529 000016 FX.007=7*2
530 000016 FX.SMR=FX.007 ; SET MASTER RESET STATE
531
532 000020 FX.010=10*2
533 000020 FX.CRF=FX.010 ; CLEAR THE KL RUN FLOP
534 000022 FX.011=11*2
535 000022 FX.SRF=FX.011 ; SET THE KL RUN FLOP
536 000024 FX.012=12*2
537 000024 FX.CON=FX.012 ; SET THE KL CONTINUE FLOP
538 000026 FX.013=13*2
539 000030 FX.014=14*2
540 000030 FX.UIR=FX.014 ; UNLATCH THE IR
541 000032 FX.015=15*2
542 000032 FX.UDR=FX.015 ; UNLATCH THE DRAM REGISTER
543 000034 FX.016=16*2
544 000036 FX.017=17*2
545
546 000040 FX.020=20*2
547 000042 FX.021=21*2
548 000044 FX.022=22*2
549 000046 FX.023=23*2
550 000050 FX.024=24*2
551 000052 FX.025=25*2
552 000054 FX.026=26*2
553 000056 FX.027=27*2
554
555 000060 FX.030=30*2
556 000062 FX.031=31*2
557 000064 FX.032=32*2
558 000066 FX.033=33*2
559 000070 FX.034=34*2
560 000072 FX.035=35*2
561 000074 FX.036=36*2
562 000076 FX.037=37*2
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 15
DEFINE -- LOCAL DEFINITIONS 7709.20
564 ; DEFINE DIAGNOSTIC FUNCTION WRITE CODES
565
566 000100 FW.040=40*2
567 000102 FW.041=41*2
568 000104 FW.042=42*2
569 000104 FW.LBR=FW.042 ; LOAD BURST COUNTER RIGHT 4 BITS
570 000106 FW.043=43*2
571 000106 FW.LBL=FW.043 ; LOAD BURST COUNTER LEFT 4 BITS
572 000110 FW.044=44*2
573 000110 FW.CSR=FW.044 ; LOAD THE KL CLOCK SOURCE AND RATE
574
575 ; CLOCK SOURCE AND RATE CODES, EBUS 32-33 AND 34-35, RESPECTIVELY,
576 ; IN LOW BYTE OF CLOCK CONTROL WORD (".CLKWD").
577
578 000000 CS.NRM=0&14 ; KL NORMAL CLOCK SOURCE (EBUS 32-33)
579 000004 CS.CS1=4&14 ; KL CLOCK SOURCE 1
580 000010 CS.CS2=10&14 ; KL CLOCK SOURCE 2
581 000004 CS.FST=4&14 ; KL FAST CLOCK SOURCE
582 000004 CS.MGN=CS.FST ; KL MARGIN CLOCK SOURCE
583 000010 CS.EXT=10&14 ; KL EXTERNAL CLOCK SOURCE
584 000014 CS.UDF=14&14 ; UNDEFINED (DEFAULT TO FAST)
585 000014 CS.ALL=CS.CS1!CS.CS2 ; CLOCK SOURCE BIT MASK
586
587 000000 CR.NRM=0&3 ; KL NORMAL CLOCK SOURCE (EBUS 34-35)
588 000001 CR.CR1=1&3 ; KL CLOCK RATE 1
589 000002 CR.CR2=2&3 ; KL CLOCK RATE 2
590 000000 CR.FUL=0&3 ; KL CLOCK FULL SPEED
591 000001 CR.HLF=1&3 ; " " HALF "
592 000002 CR.QTR=2&3 ; " " QRTR "
593 000003 CR.SLO=3&3 ; " " SLOW "
594 000003 CR.ALL=CR.CR1!CR.CR2 ; CLOCK RATE BIT MASK
595
596 000112 FW.045=45*2
597 000112 FW.CDR=FW.045 ; LOAD THE KL CLOCK DISTRIBUTION REGISTER
598
599 ; CLOCK DISTRIBUTION DISABLE CODES, EBUS 33-35 TO THE KL, ALSO IN
600 ; THE HIGH BYTE OF THE CLOCK CONTROL WORD (".CLKWD").
601
602 002000 CD.CRC=<4&7>*400 ; DISABLE CONTROL RAM CLOCKS
603 001000 CD.DPC=<2&7>*400 ; DISABLE DATA PATHS CLOCKS
604 000400 CD.CLC=<1&7>*400 ; DISABLE CONTROL LOGIC CLOCKS
605 000000 CD.NRM=<0&7>*400 ; NORMAL CLOCK ENABLES
606 003400 CD.ALL=<7&7>*400 ; CLOCK DISABLE BIT MASK
607
608 000000 CC.NRM=0 ; NORMAL CLOCK CONTROL WORD
609 003417 CC.ALL=CS.ALL!CR.ALL!CD.ALL ; CLOCK CONTROL BIT MASK
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 16
DEFINE -- LOCAL DEFINITIONS 7709.20
611 000114 FW.046=46*2
612 000114 FW.IPE=FW.046 ; LOAD INTERNAL PARITY ENABLES
613
614 ; INTERNAL KL PARITY ENABLE CODES, EBUS 32 - 35 TO THE KL,
615 ; ALSO IN LOW BYTE OF THE PARITY STOP CONTROL WORD (".PSCWD").
616
617 000010 IP.FMP=10&17 ; FAST MEMORY PARITY STOP ENABLE
618 000004 IP.CRP=4&17 ; CRAM PARITY STOP ENABLE
619 000002 IP.DRP=2&17 ; DRAM PARITY STOP ENABLE
620 000001 IP.FSS=1&17 ; FIELD SERVICE STOP ENABLE
621 000016 IP.NRM=IP.FMP!IP.CRP!IP.DRP
622 000017 IP.ALL=IP.NRM!IP.FSS
623
624 000116 FW.047=47*2
625 000116 FW.APE=FW.047 ; LOAD AR/ARX PARITY ENABLES (ET AL.)
626
627 ; INTERNAL KL PARITY STOP CODES, EBUS 32 - 35 TO KL, "AP.EIP" MUST
628 ; BE SET TO ALLOW "IP.XXX" CONDITIONS TO STOP THE KL CLOCK
629 ; MAINTAINED IN HIGH BYTE OF THE PARITY STOP CONTROL WORD (".PSCWD").
630
631 001000 AP.ARP=<2&17>*400 ; ALLOW AR/ARX PARITY TO CAUSE A
632 ; PAGE FAIL TRAP IN THE KL
633 000400 AP.EIP=<1&17>*400 ; ENABLE INTERNAL PARITY ENABLES TO
634 ; STOP THE KL CLOCK
635 001400 AP.NRM=AP.EIP!AP.ARP ; NORMAL PARITY STOP ENABLES
636
637 001416 PS.NRM=AP.NRM!IP.NRM ; NORMAL PARITY STOP CONTROL WORD
638
639 000120 FW.050=50*2
640 000122 FW.051=51*2
641 000122 FW.CA1=FW.051 ; LOAD LOW CRAM ADDRESS
642 000124 FW.052=52*2
643 000124 FW.CA2=FW.052 ; LOAD HIGH CRAM ADDRESS
644 000126 FW.053=53*2
645 000126 FW.CRD=FW.053 ; LOAD CRAM DISPATCH
646 000130 FW.054=54*2
647 000130 FW.CR4=FW.054 ; LOAD CRAM BITS 60 THRU 78
648 000132 FW.055=55*2
649 000132 FW.CR3=FW.055 ; LOAD CRAM BITS 40 THRU 59
650 000134 FW.056=56*2
651 000134 FW.CR2=FW.056 ; LOAD CRAM BITS 20 THRU 39
652 000136 FW.057=57*2
653 000136 FW.CR1=FW.057 ; LOAD CRAM BITS 00 THRU 19
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 17
DEFINE -- LOCAL DEFINITIONS 7709.20
655 000140 FW.060=60*2
656 000140 FW.DR1=FW.060 ; LOAD DRAM A AND B EVEN
657 000142 FW.061=61*2
658 000142 FW.DR2=FW.061 ; LOAD DRAM A AND B ODD
659 000144 FW.062=62*2
660 000144 FW.DR3=FW.062 ; LOAD DRAM J COMMON
661 000146 FW.063=63*2
662 000146 FW.DJE=FW.063 ; LOAD DRAM J EVEN
663 000150 FW.064=64*2
664 000150 FW.DJO=FW.064 ; LOAD DRAM J ODD
665 000152 FW.065=65*2
666 000152 FW.IOJ=FW.065 ; DISABLE SPECIAL DECODE OF I/O AND JRST
667 000154 FW.066=66*2
668 000154 FW.IAC=FW.066 ; DISABLE IR AC OUTPUTS
669 000156 FW.067=67*2
670 000156 FW.KLO=FW.067 ; ENABLE KL OPCODES AND ACS
671
672 000160 FW.070=70*2
673 000160 FW.CHN=FW.070 ; CHANNEL CONTROL FUNCTIONS
674 000162 FW.071=71*2
675 000162 FW.MBX=FW.071 ; MBOX CONTROL FUNCTIONS
676 000164 FW.072=72*2
677 000166 FW.073=73*2
678 000170 FW.074=74*2
679 000172 FW.075=75*2
680 000174 FW.076=76*2
681 000174 FW.EBL=FW.076 ; EBUS REGISTER LOAD FUNCTION
682 000174 FW.SBR=FW.076 ; SBUS RESET FUNCTION
683 000176 FW.077=77*2
684 000176 FW.LAR=FW.077 ; LOAD AR REGISTER
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 18
DEFINE -- LOCAL DEFINITIONS 7709.20
686 ; DEFINE DIAGNOSTIC FUNCTION READ CODES
687
688 000200 FR.100=100*2
689 000200 FR.PI0=FR.100 ; PI BOARD READ 0
690 000202 FR.101=101*2
691 000202 FR.PI1=FR.101 ; PI BOARD READ 1
692 000204 FR.102=102*2
693 000206 FR.103=103*2
694 000210 FR.104=104*2
695 000212 FR.105=105*2
696 000214 FR.106=106*2
697 000216 FR.107=107*2
698
699 000220 FR.110=110*2
700 000220 FR.APR=FR.110 ; APR STATUS
701 000222 FR.111=111*2
702 000224 FR.112=112*2
703 000226 FR.113=113*2
704 000230 FR.114=114*2
705 000232 FR.115=115*2
706 000234 FR.116=116*2
707 000236 FR.117=117*2
708
709 000240 FR.120=120*2
710 000240 FR.RAR=FR.120 ; ARITHMETIC REGISTER [AR 00 - 35]
711 000242 FR.121=121*2
712 000242 FR.RBR=FR.121 ; BUFFER REGISTER [BR 00 - 35]
713 000244 FR.122=122*2
714 000244 FR.RMQ=FR.122 ; MQ REGISTER [MQ 00 - 35]
715 000246 FR.123=123*2
716 000246 FR.RFM=FR.123 ; FM REGISTER [FM 00 - 35]
717 000250 FR.124=124*2
718 000250 FR.BRX=FR.124 ; BR EXTENSION REGISTER [BRX 00 - 35]
719 000252 FR.125=125*2
720 000252 FR.ARX=FR.125 ; AR EXTENSION REGISTER [ARX 00 - 35]
721 000254 FR.126=126*2
722 000254 FR.ADX=FR.126 ; AD EXTENSION REGISTER [ADX 00 - 35]
723 000256 FR.127=127*2
724 000256 FR.RAD=FR.127 ; ADDER REGISTER [AD 00 - 35]
725
726 000260 FR.130=130*2
727 000260 FR.SC2=FR.130 ; SHIFT COUNT REGISTER 2
728 000260 FR.DA1=FR.130 ; DRAM ADDR 1
729 000262 FR.131=131*2
730 000262 FR.SC1=FR.131 ; SHIFT COUNT REGISTER 1
731 000262 FR.DA2=FR.131 ; DRAM ADDR 2
732 000264 FR.132=132*2
733 000264 FR.FE2=FR.132 ; FLOATING EXPONENT REGISTER 2
734 000266 FR.133=133*2
735 000266 FR.FE1=FR.133 ; FLOATING EXPONENT REGISTER 1
736 000270 FR.134=134*2
737 000272 FR.135=135*2
738 000274 FR.136=136*2
739 000276 FR.137=137*2
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 19
DEFINE -- LOCAL DEFINITIONS 7709.20
741 000300 FR.140=140*2
742 000302 FR.141=141*2
743 000302 FR.CRD=FR.141 ; READ CRAM DISP FIELD
744 000304 FR.142=142*2
745 000304 FR.SR2=FR.142 ; CRAM SBR RET 2
746 000306 FR.143=143*2
747 000306 FR.SR1=FR.143 ; CRAM SBR RET 1
748 000310 FR.144=144*2
749 000310 FR.CA2=FR.144 ; READ CRAM ADDRESS LOW
750 000310 FR.CR4=FR.CA2 ; CRAM DATA 60 - 78
751 000312 FR.145=145*2
752 000312 FR.CA1=FR.145 ; READ CRAM ADDRESS HIGH
753 000312 FR.CR3=FR.CA1 ; CRAM DATA 40 - 59
754 000314 FR.146=146*2
755 000314 FR.CR2=FR.146 ; CRAM DATA 20 - 39
756 000314 FR.CL2=FR.CR2 ; CRAM LOC 05 - 10
757 000316 FR.147=147*2
758 000316 FR.CR1=FR.147 ; CRAM DATA 00 - 19
759 000316 FR.CL1=FR.CR1 ; CRAM LOC 00 - 04
760
761 000320 FR.150=150*2
762 000320 FR.VM0=FR.150 ; VMA REGISTER 0
763 000322 FR.151=151*2
764 000322 FR.VM1=FR.151 ; VMA REGISTER 1
765 000324 FR.152=152*2
766 000324 FR.VM2=FR.152 ; VMA REGISTER 2
767 000326 FR.153=153*2
768 000326 FR.VM3=FR.153 ; VMA REGISTER 3
769 000330 FR.154=154*2
770 000330 FR.VM4=FR.154 ; VMA REGISTER 4
771 000332 FR.155=155*2
772 000332 FR.VM5=FR.155 ; VMA REGISTER 5
773 000334 FR.156=156*2
774 000334 FR.VM6=FR.156 ; VMA REGISTER 6
775 000336 FR.157=157*2
776 000336 FR.VM7=FR.157 ; VMA REGISTER 7
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 20
DEFINE -- LOCAL DEFINITIONS 7709.20
778 000340 FR.160=160*2
779 000342 FR.161=161*2
780 000344 FR.162=162*2
781 000346 FR.163=163*2
782 000350 FR.164=164*2
783 000352 FR.165=165*2
784 000354 FR.166=166*2
785 000356 FR.167=167*2
786 000356 FR.EBS=FR.167 ; [EBUS REG 00 THRU 35]
787
788 000360 FR.170=170*2
789 000362 FR.171=171*2
790 000364 FR.172=172*2
791 000366 FR.173=173*2
792 000370 FR.174=174*2
793 000372 FR.175=175*2
794 000374 FR.176=176*2
795 000376 FR.177=177*2
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 21
DEFINE -- LOCAL DEFINITIONS 7709.20
797 ; DEFINE EVENT FLAG CODES
798
799 000001 E.FHTO=^D1 ; KL HALT TIMEOUT EVENT FLAG
800 000002 E.FCID=^D2 ; CONSOLE DEVICE INPUT DONE EVENT FLAG
801 000003 E.FCOD=^D3 ; CONSOLE DEVICE OUTPUT DONE EVENT FLAG
802 000004 E.FKLN=^D4 ; KLINIK EVENT LOG DONE FLAG
806
807 ; DEFINE LOCAL OFFSETS FOR "QIOW$" DPBS
808
809 000014 Q.IOPL=14 ; **TEMPORARY**
810 000014 Q.IBUF=Q.IOPL ; INPUT BUFFER ADDRESS
811 000014 Q.OBUF=Q.IOPL ; OUTPUT BUFFER ADDRESS
812 000016 Q.BYCT=Q.IOPL+2 ; BUFFER BYTE COUNT (INPUT AND OUTPUT)
813 000020 Q.OVFC=Q.IOPL+4 ; OUTPUT CARRIAGE CONTROL CHARACTER
814
815 ; DEFINE THE LOGICAL UNIT NUMBERS
816
817 000001 CIDLUN=1 ; CONSOLE INPUT DEVICE LUN
818 000002 CODLUN=2 ; CONSOLE OUTPUT DEVICE LUN
822
823 ; DEFINE THE VERTICAL FORMAT CODES FOR "QIOW$"
824
825 000000 VF.INT=000 ; <NULL> INTERNAL FORMAT CONTROL
826 000040 VF.SSP=040 ; <SPACE> SINGLE SPACE ALL LINES
827 000060 VF.DSP=060 ; "0" DOUBLE SPACE ALL LINES
828 000061 VF.FFD=061 ; "1" FORM FEED BEFORE OUTPUT
829 000053 VF.OVR=053 ; "+" OVER PRINT THE LINE
830 000044 VF.PRM=044 ; "$" PRINT LINE AS A PROMPT
831
832 ; DEFINE SOME SPECIAL CHARACTERS
833
834 000054 .COMMA=54 ; COMMA
835 000040 .SPACE=40 ; SPACE
836 000033 .ATLMD=33 ; ALT-MODE
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 22
DEFINE -- LOCAL DEFINITIONS 7709.20
838 ; DEFINE THE BITS IN THE CHARACTER PROPERTY TABLE ".CHTAB" (Q.V.)
839
840 000000 CH.NUL=0 ; CHARACTER IS NULL
841 000001 CH.ALP=BIT00 ; CHARACTER IS ALPHABETIC
842 000002 CH.NUM=BIT01 ; CHARACTER IS NUMERIC
843 000004 CH.EOL=BIT02 ; CHARACTER MAY END A LINE
844 000010 CH.EOC=BIT03 ; CHARACTER MAY END A COMMAND
845 000020 CH.EOS=BIT04 ; CHARACTER MAY END A SYMBOL
846 000040 CH.PFX=BIT05 ; CHARACTER MAY PREFIX A SYMBOL
847 000100 CH.AOP=BIT06 ; CHARACTER IS AN ARITHMETIC OPERATOR
848 000200 CH.ILL=BIT07 ; CHARACTER IS ILLEGAL
849 000034 CH.END=CH.EOL!CH.EOC!CH.EOS ; CHARACTER IS AN END CHARACTER
850 000003 CH.ANM=CH.ALP!CH.NUM ; CHARACTER IS ALPHANUMERIC
851
852 ; DEFINE THE LEGAL BITS IN THE COMMAND TABLES (Q.V.)
853
854 000000 LG.NUL=0 ; NULL
855 000001 LG.OPR=BIT00 ; COMMAND IS LEGAL IN OPERATOR MODE
856 000002 LG.PRG=BIT01 ; COMMAND IS LEGAL IN PROGRAMMER MODE
857 000004 LG.MNT=BIT02 ; COMMAND IS LEGAL IN MAINTENANACE MODE
858 000010 LG.ARG=BIT03 ; COMMAND MAY ACCEPT ARGUMENTS
859 000020 LG.MAR=BIT04 ; COMMAND MAY ACCEPT MULTIPLE ARGUMENTS
860 000040 LG.MOD=BIT05 ; COMMAND MAY ACCEPT MODIFIERS
861 000100 LG.RNG=BIT06 ; COMMAND MAY ACCEPT RANGE ARGUMENTS
862 000200 LG.STR=BIT07 ; COMMAND MAY ACCEPT STRING ARGUMENTS
863 000400 LG.RPT=BIT08 ; COMMAND MAY BE REPEATED
864 000003 LG.PRM=LG.OPR!LG.PRG ; INSURE COMMAND IS LEGAL IN BOTH MODES
865 000007 LG.ALL=LG.PRM!LG.MNT ; INSURE COMMAND IS LEGAL IN ALL MODES
866
867 ; DEFINE THE TRAP STATUS CODES
868
869 000002 TC.CTC=2 ; CONTROL-C TRAP, ABORT, RESTART, AND RETURN
870 000001 TC.RST=1 ; ABORT PROCESS AND RESTART THE KL
871 000000 TC.ERR=0 ; ABORT PROCESS AND RETURN TO PARSER
872 000377 TC.CON=377 ; REPORT ERROR AND ATTEMPT RECOVERY
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 23
DEFINE -- LOCAL DEFINITIONS 7709.20
874 ; DEFINE KL OPCODES
875
876 000270 ADD=270 ; ADD
877 000273 ADDB=273 ; ADD TO BOTH
878 000271 ADDI=271 ; ADD IMMEDIATE
879 000272 ADDM=272 ; ADD TO MEMORY
880 ;
881 000404 AND=404 ; AND
882 000407 ANDB=407 ; AND TO BOTH
883 000410 ANDCA=410 ; AND COMPLEMENT OF AC
884 000413 ANDCAB=413 ; AND COMPLEMENT OF AC TO BOTH
885 000411 ANDCAI=411 ; AND COMPLEMENT OF AC IMMEDIATE
886 000412 ANDCAM=412 ; AND COMPLEMENT OF AC TO MEMORY
887 000440 ANDCB=440 ; AND COMPLEMENT OF BOTH
888 000443 ANDCBB=443 ; AND COMPLEMENT OF BOTH TO BOTH
889 000441 ANDCBI=441 ; AND COMPLEMENT OF BOTH IMMEDIATE
890 000442 ANDCBM=442 ; AND COMPLEMENT OF BOTH TO MEMORY
891 000420 ANDCM=420 ; AND COMPLEMENT OF MEMORY
892 000423 ANDCMB=423 ; AND COMPLEMENT OF MEMORY TO BOTH
893 000421 ANDCMI=421 ; AND COMPLEMENT OF MEMORY IMMEDIATE
894 000422 ANDCMM=422 ; AND COMPLEMENT OF MEMORY TO MEMORY
895 000405 ANDI=405 ; AND IMMEDIATE
896 000406 ANDM=406 ; AND TO MEMORY
897 ;
898 000253 AOBJN=253 ; ADD 1 TO BOTH HALVES, JUMP IF NEGATIVE
899 000252 AOBJP=252 ; ADD 1 TO BOTH HALVES, JUMP IF POSITIVE
900 ;
901 000340 AOJ=340 ; ADD 1 AND (DON'T) JUMP
902 000344 AOJA=344 ; ADD 1 AND JUMP ALWAYS
903 000342 AOJE=342 ; ADD 1 AND JUMP IF .EQ. 0
904 000347 AOJG=347 ; ADD 1 AND JUMP IF .GT. 0
905 000345 AOJGE=345 ; ADD 1 AND JUMP IF .GE. 0
906 000341 AOJL=341 ; ADD 1 AND JUMP IF .LT. 0
907 000343 AOJLE=343 ; ADD 1 AND JUMP IF .LE. 0
908 000346 AOJN=346 ; ADD 1 AND JUMP IF .NE. 0
909 ;
910 000350 AOS=350 ; ADD 1 AND (DON'T) SKIP
911 000354 AOSA=354 ; ADD 1 AND SKIP ALWAYS
912 000352 AOSE=352 ; ADD 1 AND SKIP IF .EQ. 0
913 000357 AOSG=357 ; ADD 1 AND SKIP IF .GT. 0
914 000355 AOSGE=355 ; ADD 1 AND SKIP IF .GT. 0
915 000351 AOSL=351 ; ADD 1 AND SKIP IF .LT. 0
916 000353 AOSLE=353 ; ADD 1 AND SKIP IF .LE. 0
917 000356 AOSN=356 ; ADD 1 AND SKIP IF .NE. 0
918 ;
919 000240 ASH=240 ; ARITHMETIC SHIFT
920 000244 ASHC=244 ; ARITHMETIC SHIFT COMBINED
921 ;
922 000251 BLT=251 ; BLOCK TRANSFER
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 24
DEFINE -- LOCAL DEFINITIONS 7709.20
924 000300 CAI=300 ; COMPARE AC IMMEDIATE, DON'T SKIP
925 000304 CAIA=304 ; COMPARE AC IMMEDIATE, SKIP ALWAYS
926 000302 CAIE=302 ; COMPARE AC IMMEDIATE, SKIP IF .EQ.
927 000307 CAIG=307 ; COMPARE AC IMMEDIATE, SKIP IF .GT.
928 000305 CAIGE=305 ; COMPARE AC IMMDEIATE, SKIP IF .GE.
929 000301 CAIL=301 ; COMAPRE AC IMMEDIATE, SKIP IF .LT.
930 000303 CAILE=303 ; COMPARE AC IMMEDIATE, SKIP IF .LE.
931 000306 CAIN=306 ; COMPARE AC IMMEDIATE, SKIP IF .NE.
932 ;
933 000040 CALL=040 ; "CALL" UUO
934 000047 CALLI=047 ; "CALLI" UUO
935 ;
936 000310 CAM=310 ; COMPARE AC TO MEMORY, DON'T SKIP
937 000314 CAMA=314 ; COMPARE AC TO MEMORY, ALWAYS SKIP
938 000312 CAME=312 ; COMPARE AC TO MEMORY, SKIP IF .EQ.
939 000317 CAMG=317 ; COMPARE AC TO MEMORY, SKIP IF .GT.
940 000315 CAMGE=315 ; COMPARE AC TO MEMORY, SKIP IF .GE.
941 000311 CAML=311 ; COMPARE AC TO MEMORY, SKIP IF .LT.
942 000313 CAMLE=313 ; COMPARE AC TO MEMORY, SKIP IF .LE.
943 000316 CAMN=316 ; COMPARE AC TO MEMORY, SKIP IF .NE.
944 ;
945 000400 CLEAR=400 ; CLEAR AC
946 000403 CLEARB=403 ; CLEAR BOTH
947 000401 CLEARI=401 ; CLEAR IMMEDIATE
948 000402 CLEARM=402 ; CLEAR MEMORY
949 ;
950 000070 CLOSE=070 ; "CLOSE" UUO
951 ;
952 000110 DFAD=110 ; DOUBLE FLOATING ADD
953 000113 DFDV=113 ; DOUBLE FLOATING DIVIDE
954 000112 DFMP=112 ; DOUBLE FLOATING MULTIPLY
955 000131 DFN=131 ; DOUBLE FLOATING NEGATE
956 000111 DFSB=111 ; DOUBLE FLOATING SUBTRACT
957 ;
958 000234 DIV=234 ; DIVIDE
959 000237 DIVB=237 ; DIVIDE BOTH
960 000235 DIVI=235 ; DIVIDE IMMEDIATE
961 000236 DIVM=236 ; DIVIDE MEMORY
962 ;
963 000120 DMOVE=120 ; DOUBLE MOVE
964 000124 DMOVEM=124 ; DOUBLE MOVE TO MEMORY
965 000121 DMOVN=121 ; DOUBLE MOVE NEGATED
966 000125 DMOVNM=125 ; DOUBLE MOVE NEGATED TO MEMORY
967 ;
968 000137 DPB=137 ; DEPOSIT BYTE
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 25
DEFINE -- LOCAL DEFINITIONS 7709.20
970 000077 ENTER=077 ; "ENTER" UUO
971 ;
972 000444 EQV=444 ; EQUIVALENCE TO AC
973 000447 EQVB=447 ; EQUIVALENCE TO BOTH
974 000445 EQVI=445 ; EQUIVALENCE IMMEDIATE
975 000446 EQVM=446 ; EQUIVALENCE TO MEMORY
976 ;
977 000250 EXCH=250 ; EXCHANGE
978 000123 EXTEND=123 ; EXTEND
979 ;
980 000140 FAD=140 ; FLOATING ADD
981 000143 FADB=143 ; FLOATING ADD BOTH
982 000141 FADL=141 ; FLOATING ADD LONG
983 000142 FADM=142 ; FLOATING ADD MEMORY
984 ;
985 000144 FADR=144 ; FLOATING ADD, ROUNDED
986 000147 FADRB=147 ; FLOATING ADD, ROUNDED TO BOTH
987 000145 FADRI=145 ; FLOATING ADD, ROUNDED IMMEDIATE
988 000146 FADRM=146 ; FLOATING ADD, ROUNDED TO MEMORY
989 ;
990 000170 FDV=170 ; FLOATING DIVIDE
991 000173 FDVB=173 ; FLOATING DIVIDE TO BOTH
992 000171 FDVL=171 ; FLOATING DIVIDE LONG
993 000172 FDVM=172 ; FLOATING DIVIDE TO MEMORY
994 ;
995 000174 FDVR=174 ; FLOATING DIVIDE, ROUNDED
996 000177 FDVRB=177 ; FLOATING DIVIDE, ROUNDED TO BOTH
997 000175 FDVRI=175 ; FLOATING DIVIDE, ROUNDED IMMMEDIATE
998 000176 FDVRM=176 ; FLOATING DIVIDE, ROUNDED TO MEMORY
999 ;
1000 000122 FIX=122 ; FIX
1001 000126 FIXR=126 ; FIX AND ROUND
1002 ;
1003 000127 FLTR=127 ; FLOAT AND ROUND
1004 ;
1005 000160 FMP=160 ; FLOATING MULTIPLY
1006 000163 FMPB=163 ; FLOATING MULTIPLY TO BOTH
1007 000161 FMPL=161 ; FLOATING MULTIPLY LONG
1008 000162 FMPM=162 ; FLOATING MULTIPLY TO MEMORY
1009 ;
1010 000164 FMPR=164 ; FLOATING MUTIPLY ROUNDED
1011 000167 FMPRB=167 ; FLOATING MULTIPLY ROUNDED, TO BOTH
1012 000165 FMPRI=165 ; FLOATING MULTIPLY ROUNDED, IMMEDIATE
1013 000166 FMPRM=166 ; FLOATING MULTIPLY ROUNDED, TO MEMORY
1014 ;
1015 000150 FSB=150 ; FLOATING SUBTRACT
1016 000153 FSBB=153 ; FLOATING SUBTRACT TO BOTH
1017 000151 FSBL=151 ; FLOATING SUBTRACT LONG
1018 000152 FSBM=152 ; FLOATING SUBTRACT TO MEMORY
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 26
DEFINE -- LOCAL DEFINITIONS 7709.20
1020 000154 FSBR=154 ; FLOATING SUBTRACT ROUNDED
1021 000157 FSBRB=157 ; FLOATING SUBTRACT ROUNDED, TO BOTH
1022 000155 FSBRI=155 ; FLOATING SUBTRACT ROUNDED, IMMEDIATE
1023 000156 FSBRM=156 ; FLOATING SUBTRACT ROUNDED, TO MEMORY
1024 ;
1025 000132 FSC=132 ; FLOATING SCALE
1026 ;
1027 000062 GETSTS=062 ; "GETSTS" UUO
1028 ;
1029 000500 HLL=500 ; HALFWORD LEFT TO LEFT
1030 000530 HLLE=530 ; " " " " EXTEND
1031 000531 HLLEI=531 ; " " " " " IMMEDIATE
1032 000532 HLLEM=532 ; " " " " " TO MEMORY
1033 000533 HLLES=533 ; " " " " " TO SELF
1034 ;
1035 000501 HLLI=501 ; HALFWORD LEFT TO LEFT IMMEDIATE
1036 000502 HLLM=502 ; " " " " TO MEMORY
1037 ;
1038 000520 HLLO=520 ; " " " " ONES
1039 000521 HLLOI=521 ; " " " " " IMMEDIATE
1040 000522 HLLOM=522 ; " " " " " MEMORY
1041 000523 HLLOS=523 ; " " " " " SELF
1042 ;
1043 000503 HLLS=503 ; HALFWORD LEFT TO LEFT SELF
1044 ;
1045 000510 HLLZ=510 ; HALFWORD LEFT TO LEFT ZERO, ET AL.
1046 000511 HLLZI=511
1047 000512 HLLZM=512
1048 000513 HLLZS=513
1049 ;
1050 000544 HLR=544 ; HALFWORD LEFT TO RIGHT
1051 ;
1052 000574 HLRE=574 ; HALFWORD LEFT TO RIGHT EXTEND, ET AL.
1053 000575 HLREI=575
1054 000576 HLREM=576
1055 000577 HLRES=577
1056 ;
1057 000564 HLRO=564 ; HALFWORD LEFT TO RIGHT ONES, ET AL.
1058 000565 HLROI=565
1059 000566 HLROM=566
1060 000567 HLROS=567
1061 ;
1062 000547 HLRS=547 ; HALFWORD LEFT TO RIGHT SELF
1063 ;
1064 000554 HLRZ=554 ; HALFWORD LEFT TO RIGHT ZEROS, ET AL.
1065 000555 HLRZI=555
1066 000556 HLRZM=556
1067 000557 HLRZS=557
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 27
DEFINE -- LOCAL DEFINITIONS 7709.20
1069 000504 HRL=504 ; HALFWORD RIGHT TO LEFT
1070 ;
1071 000534 HRLE=534 ; HALFWORD RIGHT TO LEFT EXTEND, ET AL.
1072 000535 HRLEI=535
1073 000536 HRLEM=536
1074 000537 HRLES=537
1075 ;
1076 000505 HRLI=505 ; HALFWORD RIGHT TO LEFT IMMEDIATE
1077 000506 HRLM=506 ; " " " " MEMORY
1078 ;
1079 000564 HRLO=564 ; HALFWORD RIGHT TO LEFT ONES, ET AL.
1080 000565 HRLOI=565
1081 000566 HRLOM=566
1082 000567 HRLOS=567
1083 ;
1084 000507 HRLS=507 ; HALFWORD RIGHT TO LEFT SELF
1085 ;
1086 000514 HRLZ=514 ; HALFWORD RIGHT TO LEFT ZERO, ET AL.
1087 000515 HRLZI=515
1088 000516 HRLZM=516
1089 000517 HRLZS=517
1090 ;
1091 000540 HRR=540 ; HALFWORD RIGHT TO RIGHT
1092 ;
1093 000570 HRRE=570 ; HALFWORD RIGHT TO RIGHT EXTEND, ET AL.
1094 000571 HRREI=571
1095 000572 HRREM=572
1096 000573 HRRES=573
1097 ;
1098 000541 HRRI=541 ; HALFWORD RIGHT TO RIGHT IMMEDIATE
1099 000542 HRRM=542 ; " " " " MEMORY
1100 ;
1101 000560 HRRO=560 ; HALFWORD RIGHT TO RIGHT ONES, ET AL.
1102 000561 HRROI=561
1103 000562 HRROM=562
1104 000563 HRROS=563
1105 ;
1106 000543 HRRS=543
1107 ;
1108 000550 HRRZ=550 ; HALFWORD RIGHT TO RIGHT ZERO, ET AL.
1109 000551 HRRZI=551
1110 000552 HRRZM=552
1111 000553 HRRZS=553
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 28
DEFINE -- LOCAL DEFINITIONS 7709.20
1113 000133 IBP=133 ; INCREMENT BYTE POINTER
1114 ;
1115 000230 IDIV=230 ; INTEGER DIVIDE
1116 000233 IDIVB=233 ; " " BOTH
1117 000231 IDIVI=231 ; " " IMMEDIATE
1118 000232 IDIVM=232 ; " " MEMORY
1119 ;
1120 000136 IDPB=136 ; INCREMENT AND DEPOSIT BYTE
1121 ;
1122 000134 ILDB=134 ; DECREMENT AND LOAD BYTE
1123 ;
1124 000220 IMUL=220 ; INTEGER MULTIPLY
1125 000223 IMULB=223 ; " " BOTH
1126 000221 IMULI=221 ; " " IMMEDIATE
1127 000222 IMULM=222 ; " " MEMORY
1128 ;
1129 000056 IN=056 ; "IN" UUO
1130 000064 INBUF=064 ; "INBUF" UUO
1131 000041 INIT=041 ; "INIT" UUO
1132 000066 INPUT=066 ; "INPUT" UUO
1133 ;
1134 000434 IOR=434 ; INCLUSIVE OR, ET AL.
1135 000437 IORB=437
1136 000435 IORI=435
1137 000436 IORM=436
1138 ;
1139 000255 JFCL=255 ; JUMP ON FLAGS AND CLEAR
1140 ;
1141 000243 JFFO=243 ; JUMP IF FOUND FIRST 1
1142 ;
1143 000267 JRA=267 ; JUMP AND RESTORE AC
1144 ;
1145 000254 JRST=254 ; JUMP AND RESTORE (PC FLAGS)
1146 ;
1147 000266 JSA=266 ; JUMP AND SAVE AC
1148 ;
1149 000265 JSP=265 ; JUMP AND SAVE PC
1150 ;
1151 000264 JSR=264 ; JUMP TO SUBROUTINE
1152 ;
1153 000104 JSYS=104 ; JSYS CALL
1154 ;
1155 000320 JUMP=320 ; JUMP (NEVER)
1156 000324 JUMPA=324 ; JUMP ALWAYS
1157 000322 JUMPE=322 ; JUMP IF AC .EQ. 0
1158 000327 JUMPG=327 ; JUMP IF AC .GT. 0
1159 000325 JUMPGE=325 ; JUMP IF AC .GE. 0
1160 000321 JUMPL=321 ; JUMP IF AC .LT. 0
1161 000323 JUMPLE=323 ; JUMP IF AC .LE. 0
1162 000326 JUMPN=326 ; JUMP IF AC .NE. 0
1163 ;
1164 000700 KLIOT=700 ; KL I/O INSTRUCTION BASE
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 29
DEFINE -- LOCAL DEFINITIONS 7709.20
1166 000135 LDB=135 ; LOAD BYTE
1167 ;
1168 000076 LOOKUP=076 ; "LOOKUP" UUO
1169 ;
1170 000242 LSH=242 ; LOGICAL SHIFT
1171 000246 LSHC=246 ; LOGICAL SHIFT COMBINED
1172 ;
1173 000257 MAP=257 ; MAP PAGED ADDRESS
1174 ;
1175 000200 MOVE=200 ; MOVE
1176 000201 MOVEI=201 ; MOVE IMMEDIATE
1177 000202 MOVEM=202 ; MOVE TO MEMORY
1178 000203 MOVES=203 ; MOVE TO SELF
1179 ;
1180 000214 MOVM=214 ; MOVE MAGNITUDE, ET AL.
1181 000215 MOVMI=215
1182 000216 MOVMM=216
1183 000217 MOVMS=217
1184 ;
1185 000210 MOVN=210 ; MOVE NEGATED, ET AL.
1186 000211 MOVNI=211
1187 000212 MOVNM=212
1188 000213 MOVNS=213
1189 ;
1190 000204 MOVS=204 ; MOVE SWAPPED, ET AL.
1191 000205 MOVSI=205
1192 000206 MOVSM=206
1193 000207 MOVSS=207
1194 ;
1195 000224 MUL=224 ; MULTIPLY
1196 000227 MULB=227 ; MULTIPLY BOTH
1197 000225 MULI=225 ; MULTIPLY IMMEDIATE
1198 000226 MULM=226 ; MULTIPLY MEMORY
1199 ;
1200 000050 OPEN=050 ; "OPEN" UUO
1201 ;
1202 000434 OR=IOR ; (INCLUSIVE) OR, ET AL.
1203 000437 ORB=IORB
1204 ;
1205 000454 ORCA=454 ; OR WITH COMPLEMENT OF AC
1206 000457 ORCAB=457 ; " " " " " BOTH
1207 000455 ORCAI=455 ; " " " " " IMMEDIATE
1208 000456 ORCAM=456 ; " " " " " MEMORY
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 30
DEFINE -- LOCAL DEFINITIONS 7709.20
1210 000470 ORCB=470 ; OR WITH COMPLEMENT OF BOTH, ET AL.
1211 000473 ORCBB=473
1212 000471 ORCBI=471
1213 000472 ORCBM=472
1214 ;
1215 000464 ORCM=464 ; OR WITH COMPLEMENT OF MEMORY, ET AL.
1216 000467 ORCMB=467
1217 000465 ORCMI=465
1218 000466 ORCMM=466
1219 ;
1220 000435 ORI=IORI ; (INCLUSIVE) OR, ET AL.
1221 000436 ORM=IORM
1222 ;
1223 000057 OUT=057 ; "OUT" UUO
1224 000065 OUTBUF=065 ; "OUTBUF" UUO
1225 000067 OUTPUT=067 ; "OUTPUT" UUO
1226 ;
1227 000262 POP=262 ; POP
1228 000263 POPJ=263 ; POP (RETURN) AND JUMP
1229 ;
1230 000261 PUSH=261 ; PUSH
1231 000260 PUSHJ=260 ; PUSH (RETURN) AND JUMP
1232 ;
1233 000071 RELEAS=071 ; "RELEAS(E)" UUO
1234 000055 RENAME=055 ; "RENAME" UUO
1235 ;
1236 000241 ROT=241 ; ROTATE
1237 000245 ROTC=245 ; ROTATE COMBINED
1238 ;
1239 000424 SETA=424 ; SET TO AC
1240 000427 SETAB=427 ; " " " BOTH
1241 000425 SETAI=425 ; " " " IMMEDIATE
1242 000426 SETAM=426 ; " " " MEMORY
1243 ;
1244 000450 SETCA=450 ; SET TO COMPLEMENT OF AC, ET AL.
1245 000453 SETCAB=453
1246 000451 SETCAI=451
1247 000452 SETCAM=452
1248 ;
1249 000460 SETCM=460 ; SET TO COMLEMENT OF MEMORY, ET AL.
1250 000463 SETCMB=463
1251 000461 SETCMI=461
1252 000462 SETCMM=462
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 31
DEFINE -- LOCAL DEFINITIONS 7709.20
1254 000414 SETM=414 ; SET TO MEMORY, ET AL
1255 000417 SETMB=417
1256 000415 SETMI=415
1257 000416 SETMM=416
1258 ;
1259 000474 SETO=474 ; SET TO ONES, ET AL.
1260 000477 SETOB=477
1261 000475 SETOI=475
1262 000476 SETOM=476
1263 ;
1264 000060 SETSTS=060 ; "SETSTS" UUO
1265 ;
1266 000400 SETZ=400 ; SET TO ZEROS, ET AL
1267 000403 SETZB=403
1268 000401 SETZI=401
1269 000402 SETZM=402
1270 ;
1271 000330 SKIP=330 ; SKIP (NEVER)
1272 000334 SKIPA=334 ; SKIP ALWAYS
1273 000332 SKIPE=332 ; SKIP IF MEMORY .EQ. 0
1274 000337 SKIPG=337 ; SKIP IF MEMORY .GT. 0
1275 000335 SKIPGE=335 ; SKIP IF MEMORY .GE. 0
1276 000331 SKIPL=331 ; SKIP IF MEMORY .LT. 0
1277 000333 SKIPLE=333 ; SKIP OF MEMORY .LE. 0
1278 000336 SKIPN=336 ; SKIP IF MEMORY .NE. 0
1279 ;
1280 000360 SOJ=360 ; SUBTRACT 1 AND NEVER JUMP
1281 000364 SOJA=364 ; SUBTRACT 1 (FROM AC) AND ALWAYS JUMP
1282 000362 SOJE=362 ; SUBTRACT 1 AND JUMP IF AC .EQ. 0
1283 000367 SOJG=367 ; SUBTRACT 1 AND JUMP IF AC .GT. 0
1284 000365 SOJGE=365 ; SUBTRACT 1 AND JUMP IF AC .GE. 0
1285 000361 SOJL=361 ; SUBTRACT 1 AND JUMP IF AC .LT. 0
1286 000363 SOJLE=363 ; SUBTRACT 1 AND JUMP IF AC .LE. 0
1287 000366 SOJN=366 ; SUBTRACT 1 AND JUMP IF AC .NE. 0
1288 ;
1289 000370 SOS=370 ; SUBTRACT 1 (FROM MEMORY) AND NEVER SKIP
1290 000374 SOSA=374 ; SUBTRACT 1 AND ALWAYS SKIP
1291 000372 SOSE=372 ; SUBTRACT 1 AND SKIP IF .EQ. 0
1292 000377 SOSG=377 ; SUBTRACT 1 AND SKIP IF .GT. 0
1293 000375 SOSGE=375 ; SUBTRACT 1 AND SKIP IF .GE. 0
1294 000371 SOSL=371 ; SUBTRACT 1 AND SKIP IF .LT. 0
1295 000373 SOSLE=373 ; SUBTRACT 1 AND SKIP IF .LE. 0
1296 000376 SOSN=376 ; SUBTRACT 1 AND SKIP IF .NE. 0
1297 ;
1298 000061 STATO=061 ; "STATO" UUO
1299 000062 STATUS=062 ; "STATUS" UUO
1300 000063 STATZ=063 ; "STATZ" UUO
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 32
DEFINE -- LOCAL DEFINITIONS 7709.20
1302 000274 SUB=274 ; SUBTRACT
1303 000277 SUBB=277 ; SUBTRACT BOTH
1304 000275 SUBI=275 ; SUBTRACT IMMEDIATE
1305 000276 SUBM=276 ; SUBTRACT MEMORY
1306 ;
1307 000106 SXCT=106 ; SECTION EXECUTE
1308 ;
1309 000650 TDC=650 ; TEST DIRECT COMPLEMENT NEVER SKIP
1310 000654 TDCA=654 ; " " " SKIP ALWAYS
1311 000652 TDCE=652 ; " " " " ON ZERO
1312 000656 TDCN=656 ; " " " " ON NON-ZERO
1313 ;
1314 000610 TDN=610 ; TEST DIRECT NO MODIFICATION, ET AL.
1315 000614 TDNA=614
1316 000612 TDNE=612
1317 000616 TDNN=616
1318 ;
1319 000670 TDO=670 ; TEST DIRECT ONES, ET AL.
1320 000674 TDOA=674
1321 000672 TDOE=672
1322 000676 TDON=676
1323 ;
1324 000630 TDZ=630 ; TEST DIRECT ZEROS, ET AL.
1325 000634 TDZA=634
1326 000632 TDZE=632
1327 000636 TDZN=636
1328 ;
1329 000641 TLC=641 ; TEST LEFT COMPLEMENT, ET AL.
1330 000645 TLCA=645
1331 000643 TLCE=643
1332 000647 TLCN=647
1333 ;
1334 000601 TLN=601 ; TEST LEFT NO MODIFICATION, ET AL.
1335 000605 TLNA=605
1336 000603 TLNE=603
1337 000607 TLNN=607
1338 ;
1339 000661 TLO=661 ; TEST LEFT ONES, ET AL.
1340 000665 TLOA=665
1341 000663 TLOE=663
1342 000667 TLON=667
1343 ;
1344 000621 TLZ=621 ; TEST LEFT ZEROS, ET AL.
1345 000625 TLZA=625
1346 000623 TLZE=623
1347 000627 TLZN=627
1348 ;
1349 000640 TRC=640 ; TEST RIGHT COMPLEMENT, ET AL.
1350 000644 TRCA=644
1351 000642 TRCE=642
1352 000646 TRCN=646
DEFINE -- LOCAL DEFINITION MODU MACRO M1110 03-OCT-79 11:35 PAGE 33
DEFINE -- LOCAL DEFINITIONS 7709.20
1354 000600 TRN=600 ; TEST RIGHT NO MODIFICATION, ET AL.
1355 000604 TRNA=604
1356 000602 TRNE=602
1357 000606 TRNN=606
1358 ;
1359 000660 TRO=660 ; TEST RIGHT ONES, ET AL.
1360 000664 TROA=664
1361 000662 TROE=662
1362 000666 TRON=666
1363 ;
1364 000620 TRZ=620 ; TEST RIGHT ZEROS, ET AL.
1365 000624 TRZA=624
1366 000622 TRZE=622
1367 000626 TRZN=626
1368 ;
1369 000651 TSC=651 ; TEST SWAPPED COMLEMENT, ET AL.
1370 000655 TSCA=655
1371 000653 TSCE=653
1372 000657 TSCN=657
1373 ;
1374 000611 TSN=611 ; TEST SWAPPED NO MODIFICATION, ET AL.
1375 000615 TSNA=615
1376 000613 TSNE=613
1377 000617 TSNN=617
1378 ;
1379 000671 TSO=671 ; TEST SWAPPED ONES, ET AL.
1380 000675 TSOA=675
1381 000673 TSOE=673
1382 000677 TSON=677
1383 ;
1384 000631 TSZ=631 ; TEST SWAPPED ZEROS, ET AL.
1385 000635 TSZA=635
1386 000633 TSZE=633
1387 000637 TSZN=637
1388 ;
1389 000051 TTCALL=051 ; "TTCALL" UUO
1390 ;
1391 000073 UGETF=073 ; "UGETF" UUO
1392 ;
1393 000100 UJEN=100 ; "UJEN" CALL
1394 ;
1395 000074 USETI=074 ; "USETI" UUO
1396 000075 USETO=075 ; "USETO" UUO
1397 ;
1398 000256 XCT=256 ; EXECUTE
1399 ;
1400 000430 XOR=430 ; EXCLUSIVE OR, ET AL.
1401 000433 XORB=433
1402 000431 XORI=431
1403 000432 XORM=432
1404
1405 .SBTTL COPYRIGHT PAGE
1406
ABRTC -- ABORT COMMAND MODULE 7 MACRO M1110 03-OCT-79 11:35 PAGE 34
COPYRIGHT PAGE
1409 .TITLE ABRTC -- ABORT COMMAND MODULE 7602.23
1410
1411 .IDENT "005000"
1412 ;
1413 ; COPYRIGHT (C) 1975, 1979 BY
1414 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
1415 ;
1416 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
1417 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
1418 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
1419 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
1420 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
1421 ;
1422 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
1423 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
1424 ; CORPORATION.
1425 ;
1426 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
1427 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
1428 ;
1429 ; MODULE: ABORT COMMAND
1430 ;
1431 ; VERSION: 05-00
1432 ;
1433 ; AUTHOR: R. BELANGER
1434 ;
1435 ; DATE: 7602.23
1436 ;
1437 ; THIS MODULE CONTAINS:
1438 ;
1439 ; 1) ABORT COMMAND CODE
ABRTC -- ABORT COMMAND MODULE 7 MACRO M1110 03-OCT-79 11:35 PAGE 35
.ABRTC -- THE "ABORT" COMMAND 7602.23
1441 .SBTTL .ABRTC -- THE "ABORT" COMMAND 7602.23
1442
1443 ;+
1444 ; .ABRTC -- THE "ABORT" COMMAND
1445 ;
1446 ; THIS ROUTINE CALLS THE ABORT SUBROUTINE ".ABORT", Q.V.
1447 ;
1448 ; INPUT ARGUMENTS:
1449 ;
1450 ; NONE.
1451 ;
1452 ; OUTPUT ARGUMENTS:
1453 ;
1454 ; NONE.
1455 ;
1456 ; ERROR CODES RETURNED:
1457 ;
1458 ; NONE.
1459 ;-
1460
1461 000000 .ABRTC::
1462 000000 CALL .CKEOC ; MUST HAVE E-O-C
000000 004737 000264' JSR PC,.CKEOC
1463 ; CALLR .ABORT ; ABORT CURRENT KL OPERATION AND EXIT
ABRTC -- ABORT COMMAND MODULE 7 MACRO M1110 03-OCT-79 11:35 PAGE 36
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
1465 .SBTTL .ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
1466
1467 ;+
1468 ; .ABORT -- SUBROUTINE TO ABORT THE CURRENT KL PROCESS
1469 ;
1470 ; THIS SUBROUTINE ABORTS THE CURRENT KL PROCESS AND RETURNS WITH
1471 ; THE KL CLOCK RUNNING IN THE HALT LOOP. IF THE "HALT" FAILS, THE
1472 ; KL MICROCODE IS RESTARTED. THE CONTINUEABILITY OF THE KL IS
1473 ; INDICATED BY THE STATE OF THE "KF.CON" FLAG BIT (Q.V.) IN ".KLFLG".
1474 ;
1475 ; SEQUENCE OF OPERATION:
1476 ;
1477 ; (A) THE KL IS HALTED,
1478 ; (B) IF THE HALT WINS GO TO (E), OTHERWISE GO TO (C),
1479 ; (C) THE MICRO CODE IS RESTARTED AT CRAM ADDRESS 0000,
1480 ; (D) SECONDARY PROTOCOL IS STARTED
1481 ; (E) EXIT.
1482 ;
1483 ; INPUT ARGUMENTS:
1484 ;
1485 ; NONE.
1486 ;
1487 ; OUTPUT ARGUMENTS:
1488 ;
1489 ; NONE.
1490 ;
1491 ; ERROR CODES RETURNED:
1492 ;
1493 ; CFH -- CAN'T FIND KL HALT LOOP.
1494 ; FRF -- FUNCTION READ FAILED.
1495 ; FWF -- FUNCTION WRITE FAILED.
1496 ; FXF -- FUNCTION EXECUTE FAILED.
1497 ; UNL -- UCODE NOT LOADED.
1498 ;
1499 ; NOTE:
1500 ;
1501 ; THE CONTINUEABILITY OF THE KL IS NOT GUARANTEED BY THIS
1502 ; SUBROUTINE.
1503 ;-
ABRTC -- ABORT COMMAND MODULE 7 MACRO M1110 03-OCT-79 11:35 PAGE 37
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
1505 .ENABL LSB
1506
1507 000004 .ABORT::
1508 000004 PUSH R0 ; SAVE R0 ON THE STACK
000004 010046 MOV R0,-(SP)
1509 000006 PUSH #.ABRT0 ; .IN CASE ".KLSTP" TRAPS
000006 012746 000032' MOV #.ABRT0,-(SP)
1510 000012 010637 000160' MOV SP,.TRPTV ; ..STACK POINTER FOR RETURN
1511 000016 CALL .KLSTP ; ..HALT THE KL
000016 004737 010342' JSR PC,.KLSTP
1512 000022 005726 TST (SP)+ ; ..CLEAR RETURN
1513 000024 005037 000160' CLR .TRPTV ; .AND TRAP VECTOR
1514 000030 000410 BR 10$ ; .AND EXIT
1515 ;
1516 000032 .ABRT0:: ; .GET HERE IF ".KLSTP" TRAPPED
1517 000032 005000 CLR R0 ; .CLEAR R0 (STACK POPPED BY ".PTTRP")
1518 000034 CALL .STUCD ; .(RE)START THE UCODE
000034 004737 012106' JSR PC,.STUCD
1519 000040 052737 000000G 000002G BIS #EF.CRI,.COMEF+2 ; .DECLARE THE COMM REGION INVALID
1520 000046 CALL ..DTP2 ; .START SECONDARY PROTOCOL
000046 004737 000000G JSR PC,..DTP2
1521 000052 10$:
1522 000052 POP R0 ; .RESTORE R0
000052 012600 MOV (SP)+,R0
1523 000054 RETURN ; TO CALLER
000054 000207 RTS PC
1524
1525 .DSABL LSB
CHECK -- GENERAL ARGUMENT CHECK MACRO M1110 03-OCT-79 11:35 PAGE 38
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
1527 .TITLE CHECK -- GENERAL ARGUMENT CHECK MODULE 7709.21
1528
1529 .IDENT "005000"
1530
1531 ;
1532 ; COPYRIGHT (C) 1975, 1979 BY
1533 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
1534 ;
1535 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
1536 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
1537 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
1538 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
1539 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
1540 ;
1541 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
1542 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
1543 ; CORPORATION.
1544 ;
1545 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
1546 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
1547 ;
1548 ; MODULE: ALPANUMERIC ARGUMENT CHECK
1549 ;
1550 ; VERSION: 01-02
1551 ;
1552 ; AUTHOR: R. BELANGER
1553 ;
1554 ; DATE: 709.21
1555 ;
1556 ; THIS MODULE CONTAINS:
1557 ;
1558 ; 1) ALPHANUMERIC ARGUMENT CHECK CODE
1559 ; 2) TRAILING COLON CHECK CODE
1560 ; 3) END OF COMMAND CHECK CODE
1561 ; 4) END OF SYMBOL CHECK CODE
1562 ; 5) TRAILING OBJECT CHECK CODE
1563 ; 6) TRAILING SYMBOL CHECK CODE
1564
1565 .MCALL CLEF$S
CHECK -- GENERAL ARGUMENT CHECK MACRO M1110 03-OCT-79 11:35 PAGE 39
.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
1567 .SBTTL .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
1568
1569 ;+
1570 ; .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP BY READING
1571 ; DTE-20 DIAG WORD 1.
1572 ;
1573 ; THIS SUBROUTINE CHECKS FOR THE KL CLOCK ERROR STOP ("D1.CES") FLAG
1574 ; IN THE DTE-20 DIAG1 REGISTER, AND WILL RETURN NORMALLY IF THE BIT IS OFF.
1575 ;
1576 ; SEQUENCE OF OPERATION:
1577 ;
1578 ; (A) READ DTE-20 DIAG WORD 1,
1579 ; (B) TEST THE CLOCK ERROR STOP FLAG FROM (A),
1580 ; (C) IF THE FLAG IS CLEAR, EXIT, ELSE GO TO (D),
1581 ; (D) RESET THE STATE OF ".KLFLG" AND ".SVKLF" (Q.V.),
1582 ; (E) FORCE A CONTEXT SWITCH INTO SECONDARY PROTOCOL,
1583 ; (F) RETURN A .RAD50 "CES" ERROR CODE VIA ERROR TRAP.
1584 ;
1585 ; INPUT ARGUMENTS:
1586 ;
1587 ; NONE.
1588 ;
1589 ; OUTPUT ARGUMENTS:
1590 ;
1591 ; R0 CONTAINS A COPY OF DTE-20 DIAG WORD 1.
1592 ;
1593 ; ERROR CODES RETURNED:
1594 ;
1595 ; CES -- KL CLOCK ERROR STOP.
1596 ; DSF -- DTE-20 STATUS FAILURE.
1597 ;-
1598
1599 000056 .CESCK::
1600 000056 CALL .DTDW1 ; READ DIAG WORD 1
000056 004737 006664' JSR PC,.DTDW1
1601 000062 032700 004000 BIT #D1.CES,R0 ; IS CLOCK ERROR STOP LIT?
1602 000066 001001 BNE CESCES ; YES -- GIVE "CES" ERROR
1603 000070 RETURN ; NO -- JUST RETURN
000070 000207 RTS PC
1604 000072 CESCES:
1605 000072 CLEF$S #E.FPR1 ; MAKE SURE PRIMARY PROTOCOL IS OFF
000072 012746 000000G MOV #E.FPR1,-(SP)
000076 012746 MOV (PC)+,-(SP)
000100 037 002 .BYTE 31.,2
000102 104375 EMT 375
1606 000104 112737 000001 000000G MOVB #1,.NOERR ; AND DISABLE ERROR INTERRUPT
1607 000112 005037 000140' CLR .SVKLF ; DISALLOW RESTARTS
1608 000116 042737 140200 000000G BIC #KF.CON!KF.RUN!KF.CLK,.KLFLG
1609 ; CLEAR THE CLOCK AND CONTINUEABLE FLAGS
1610 000124 052737 000100 000000G BIS #KF.CES,.KLFLG ; FLAG THE CLOCK ERROR STOP
1611 000132 ERROR$ CES ; ERROR -- CLOCK ERROR STOP
000132 012746 011633 MOV #^RCES,-(SP)
000136 104400 TRAP TC.ERR
1612 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO M1110 03-OCT-79 11:35 PAGE 40
.CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
1614 .SBTTL .CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
1615
1616 ;+
1617 ; .CKARG -- CHECK FOR AN ALPHANUMERIC ARGUMENT
1618 ;
1619 ; THIS ROUTINE WILL CHECK THE FIRST CHARACTER OF THE NEXT SYMBOL
1620 ; IN THE INPUT STREAM TO SEE IF IT IS ALPHABETIC OR NUMERIC.
1621 ;
1622 ; INPUT ARGUMENTS:
1623 ;
1624 ; R5 POINTS TO THE INPUT STREAM
1625 ;
1626 ; OUTPUT ARGUMENTS:
1627 ;
1628 ; R5 POINTS TO THE FIRST CHARACTER IN THE SYMBOL
1629 ; CC-N IS SET IF IT IS NUMERIC
1630 ; CC-Z IS SET IF IT IS ALPHABETIC
1631 ;
1632 ; ERROR CODES RETURNED:
1633 ;
1634 ; MRA -- MISSING REQUIRED ARGUMENT
1635 ;-
1636
1637 000140 .CKARG::
1638 000140 CALL .CKSYM ; GET OVER LEADING BLANKS
000140 004737 000446' JSR PC,.CKSYM
1639 000144 132764 000001 001360' BITB #CH.ALP,.CHTAB(R4)
1640 000152 001403 BEQ 10$ ; SEE IF IT IS NUMERIC
1641 000154 000250 CLN ; CLEAR CC-N
1642 000156 000264 SEZ ; SET CC-Z TO SAY ALPHABETIC
1643 000160 000406 BR 20$ ; AND EXIT
1644 ;
1645 000162 10$:
1646 000162 132764 000042 001360' BITB #CH.NUM!CH.PFX,.CHTAB(R4)
1647 000170 001417 BEQ CKCMRA ; NOT NUMERIC -- GIVE ERROR
1648 000172 000244 CLZ ; CLEAR CC-Z
1649 000174 000270 SEN ; SET CC-N TO SAY NUMERIC
1650 000176 20$:
1651 000176 RETURN ; TO CALLER
000176 000207 RTS PC
CHECK -- GENERAL ARGUMENT CHECK MACRO M1110 03-OCT-79 11:35 PAGE 41
.CKCOL -- CHECK FOR A COLON 7709.21
1653 .SBTTL .CKCOL -- CHECK FOR A COLON 7709.21
1654
1655 ;+
1656 ; .CKCOL -- CHECK FOR A COLON
1657 ;
1658 ; THIS ROUTINE CHECKS FOR A COLON AFTER A SYMBOL
1659 ;
1660 ; INPUT ARGUMENTS:
1661 ;
1662 ; R5 POINTS TO THE INPUT STREAM
1663 ;
1664 ; OUTPUT ARGUMENTS:
1665 ;
1666 ; R5 POINTS TO THE FIRST CHARACTER AFTER THE COLON.
1667 ;
1668 ; ERROR CODES RETURNED:
1669 ;
1670 ; ILS -- ILLEGAL SEPARATOR CHARACTER.
1671 ; MRA -- MISSING REQUIRED ARGUMENT
1672 ;-
1673
1674 000200 .CKCOL::
1675 000200 112504 MOVB (R5)+,R4 ; GET THE CHARACTER
1676 000202 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
1677 000210 001007 BNE CKCMRA ; MISSING ARGUMENT IF E-O-C
1678 000212 122704 000072 CMPB #':,R4 ; IS IT A COLON?
1679 000216 001001 BNE CKCILS ; NO -- GIVE "ILS" ERROR
1680 000220 RETURN ; YES -- JUST RETURN
000220 000207 RTS PC
1681 000222 CKCILS:
1682 000222 ERROR$ ILS ; ERROR -- ILLEGAL SEPARATOR CHARACTER
000222 012746 035063 MOV #^RILS,-(SP)
000226 104400 TRAP TC.ERR
1683 ;
1684 000230 CKCMRA:
1685 000230 ERROR$ MRA ; ERROR -- MISSING REQUIRED ARGUMENT
000230 012746 052021 MOV #^RMRA,-(SP)
000234 104400 TRAP TC.ERR
1686 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO M1110 03-OCT-79 11:35 PAGE 42
.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
1688 .SBTTL .CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
1689
1690 ;+
1691 ; .CKCTC -- CHECK FOR CONTROL-C TYPED
1692 ;
1693 ; THIS SUBROUTINE CHECKS THE CONTROL-C EVENT FLAG, "E.FCTC" AND WILL
1694 ; RETURN TO THE CALLING ROUTINE IF IT IS CLEAR OR TRAP IF IT IS SET.
1695 ;
1696 ; INPUT ARGUMENTS:
1697 ;
1698 ; NONE.
1699 ;
1700 ; OUTPUT ARGUMENTS:
1701 ;
1702 ; NONE
1703 ;
1704 ; ERROR CODES RETURNED:
1705 ;
1706 ; NONE.
1707 ;-
1708
1709 000236 .CKCTC::
1710 000236 CLEF$S #E.FCTC ; CLEAR THE EVENT FLAG
000236 012746 000000G MOV #E.FCTC,-(SP)
000242 012746 MOV (PC)+,-(SP)
000244 037 002 .BYTE 31.,2
000246 104375 EMT 375
1711 000250 022737 000000G 000000G CMP #IS.SET,$DSW ; WAS IT SET?
1712 000256 001401 BEQ 10$ ; YES -- TRAP OUT
1713 000260 RETURN ; NO -- JUST RETURN
000260 000207 RTS PC
1714 000262 10$: ; PC OF CALL WILL BE IN ".TRPEC"
1715 000262 104402 TRAP TC.CTC ; .TRAP AND RESTART
1716 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO M1110 03-OCT-79 11:35 PAGE 43
.CKEOC -- CHECK END OF COMMAND 7602.16
1718 .SBTTL .CKEOC -- CHECK END OF COMMAND 7602.16
1719
1720 ;+
1721 ; .CKEOC -- CHECK FOR END OF COMMAND
1722 ;
1723 ; THIS ROUTINE CHECKS FOR AN END OF COMMAND CHARACTER
1724 ;
1725 ; INPUT ARGUMENTS:
1726 ;
1727 ; R5 POINTS TO THE INPUT STREAM
1728 ;
1729 ; OUTPUT ARGUMENTS:
1730 ;
1731 ; R5 IS UNCHANGED
1732 ;
1733 ; ERROR CODES RETURNED:
1734 ;
1735 ; EOC -- END OF COMMAND REQUIRED
1736 ; ILS -- ILLEGAL SEPARATOR CHARACTER
1737 ;-
1738
1739 000264 .CKEOC::
1740 000264 111504 MOVB (R5),R4 ; GET THE CHARACTER
1741 000266 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
1742 000274 001401 BEQ 10$ ; MAY BE ERROR IF NOT E-O-C
1743 000276 RETURN ; TO CALLER
000276 000207 RTS PC
1744 000300 10$:
1745 000300 PUSH R4 ; SAVE THE CHARACTER
000300 010446 MOV R4,-(SP)
1746 000302 CALL .CKSYM ; .LOOK FOR A NON-BLANK CHARACTER
000302 004737 000446' JSR PC,.CKSYM
1747 000306 122704 000077 CMPB #'?,R4 ; .IS THIS AN INQUIRY?
1748 000312 001402 BEQ CKEEOC ; .YES -- GIVE "EOC" ERROR
1749 000314 POP R4 ; .NO -- GIVE "ILS" ERROR
000314 012604 MOV (SP)+,R4
1750 000316 000741 BR CKCILS ; ERROR -- ILLEGAL SEPARATOR CHARACTER
1751 ;
1752 000320 CKEEOC:
1753 000320 ERROR$ EOC ; ERROR -- END OF COMMAND
000320 012746 020633 MOV #^REOC,-(SP)
000324 104400 TRAP TC.ERR
1754 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO M1110 03-OCT-79 11:35 PAGE 44
.CKEOS -- CHECK END OF SYMBOL 7709.21
1756 .SBTTL .CKEOS -- CHECK END OF SYMBOL 7709.21
1757
1758 ;+
1759 ; .CKEOS -- CHECK FOR A NON-BLANK END OF SYMBOL
1760 ;
1761 ; THIS ROUTINE CHECKS FOR A NON-BLANK END-OF-SYMBOL CHARACTER
1762 ;
1763 ; INPUT ARGUMENTS:
1764 ;
1765 ; R5 POINTS TO THE END-OF-SYMBOL CHARACTER
1766 ;
1767 ; OUTPUT ARGUMENTS:
1768 ;
1769 ; R5 IS UNCHANGED
1770 ;
1771 ; ERROR CODES RETURNED:
1772 ;
1773 ; ILS -- ILLEGAL SEPARATOR CHRARACTER
1774 ;-
1775
1776 000326 .CKEOS::
1777 000326 111504 MOVB (R5),R4 ; GET THE CHARACTER INTO R4
1778 000330 132764 000020 001360' BITB #CH.EOS,.CHTAB(R4)
1779 000336 001731 BEQ CKCILS ; ILLEGAL IF NOT E-O-S
1780 000340 122704 000040 CMPB #.SPACE,R4 ; IS IS A <SPACE>?
1781 000344 001726 BEQ CKCILS ; YES -- COMPLAIN
1782 000346 RETURN ; NO -- JUST RETURN
000346 000207 RTS PC
CHECK -- GENERAL ARGUMENT CHECK MACRO M1110 03-OCT-79 11:35 PAGE 45
.CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
1784 .SBTTL .CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
1785
1786 ;+
1787 ; .CKOBJ -- CHECK FOR A TRAILING OBJECT.
1788 ;
1789 ; THIS SUBROUTINE CHECKS TO SEE IF AN OBJECT SYMBOL FOLLOWS THE
1790 ; CURRENT SYMBOL.
1791 ;
1792 ; INPUT ARGUMENTS:
1793 ;
1794 ; NONE.
1795 ;
1796 ; OUTPUT ARGUMENTS:
1797 ;
1798 ; NONE.
1799 ;
1800 ; ERROR CODES RETURNED:
1801 ;
1802 ; MRA -- MISSING REQUIRED ARGUMENT.
1803 ;-
1804
1805 000350 .CKOBJ::
1806 000350 CALL .CKSYM ; GET OVER LEADING BLANKS
000350 004737 000446' JSR PC,.CKSYM
1807 000354 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
1808 000362 001322 BNE CKCMRA ; ILLEGAL IF E-O-C
1809 000364 RETURN ; NOT E-O-C -- RETURN
000364 000207 RTS PC
CHECK -- GENERAL ARGUMENT CHECK MACRO M1110 03-OCT-79 11:35 PAGE 46
.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
1811 .SBTTL .CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
1812
1813 ;+
1814 ; .CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING
1815 ; .CKRNP -- SPECIAL RUN CHECK FOR PROGRAMMER MODE
1816 ;
1817 ; THIS SUBROUTINE WILL CHECK IF THE KL IS RUNNING FROM ".KLFLG"
1818 ; OR IF THE FRONT END IS IN MAINTENANCE MODE.
1819 ;
1820 ; INPUT ARGUMENTS:
1821 ;
1822 ; NONE.
1823 ;
1824 ; OUTPUT ARGUMENTS:
1825 ;
1826 ; NONE.
1827 ;
1828 ; ERROR CODES RETURNED:
1829 ;
1830 ; KLR -- KL IS RUNNING.
1831 ;-
1832
1833 .ENABL LSB
1834
1835 000366 .CKRNP::
1836 000366 PUSH R0 ; SAVE R0
000366 010046 MOV R0,-(SP)
1837 000370 012700 000002 MOV #LG.PRG,R0 ; .SET PROGRAMMER ALLOWED
1838 000374 000402 BR 10$ ; .AND CONTINUE TEST
1839 ;
1840 000376 .CKRUN::
1841 000376 PUSH R0 ; SAVE R0
000376 010046 MOV R0,-(SP)
1842 000400 005000 CLR R0 ; .CLEAR R0
1843 000402 10$:
1844 000402 052700 000004 BIS #LG.MNT,R0 ; .SET MAINTENANCE ALLOWED
1845 000406 PUSH .KLFLG ; .SAVE ".KLFLG"
000406 013746 000000G MOV .KLFLG,-(SP)
1846 000412 005116 COM (SP) ; ..INVERT ".KLFLG"
1847 000414 032716 140000 BIT #KF.RUN!KF.CLK,(SP)
1848 000420 001004 BNE 20$ ; ..BRANCH IF THE KL IS NOT RUNNING
1849 000422 032737 000004 000000G BIT #LG.MNT,.FEMOD ; ..ARE WE IN MAINTENANCE MODE?
1850 000430 001403 BEQ CKRKLR ; ..NO -- GIVE "KLR" ERROR
1851 000432 20$:
1852 000432 005726 TST (SP)+ ; ..YES -- RESET THE STACK
1853 000434 POP R0 ; .RESTORE R0
000434 012600 MOV (SP)+,R0
1854 000436 RETURN ; TO CALLER
000436 000207 RTS PC
1855
1856 .DSABL LSB
1857
1858 000440 CKRKLR:
1859 000440 ERROR$ KLR ; ..ERROR -- KL IS RUNNING
000440 012746 043262 MOV #^RKLR,-(SP)
000444 104400 TRAP TC.ERR
1860 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO M1110 03-OCT-79 11:35 PAGE 47
.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
1862 .SBTTL .CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
1863
1864 ;+
1865 ; .CKSYM -- SUBROUTINE TO FIND THE FIRST CHARACTER IN A SYMBOL.
1866 ;
1867 ; THIS SUBROUTINE WILL FIND THE FIRST NON-BLANK CHARACTER IN AN INPUT
1868 ; SYMBOL POINTED TO BY R5. THE SYMBOL IS THEN CHECKED TO SEE IF IT IS
1869 ; ALPAHBETIC, NUMERIC, OR A LEGAL PREFIX CHARACTER.
1870 ;
1871 ; INPUT ARGUMENTS:
1872 ;
1873 ; R5 POINTS TO THE INPUT STREAM.
1874 ;
1875 ; OUTPUT ARGUMENTS:
1876 ;
1877 ; R5 POINTS TO THE FIRST NON-BLANK CHARACTER.
1878 ;
1879 ; ERROR CODES RETURNED:
1880 ;
1881 ; NONE.
1882 ;-
1883
1884 000446 .CKSYM::
1885 000446 112504 MOVB (R5)+,R4 ; GET THE CHARACTER
1886 000450 122704 000040 CMPB #.SPACE,R4 ; IS IT A <SPACE>?
1887 000454 001774 BEQ .CKSYM ; YES -- DO NEXT CHARACTER
1888 000456 105745 TSTB -(R5) ; NO -- BACK THE POINTER UP
1889 000460 RETURN ; TO CALLER
000460 000207 RTS PC
CHECK -- GENERAL ARGUMENT CHECK MACRO M1110 03-OCT-79 11:35 PAGE 48
.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
1891 .SBTTL .EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
1892
1893 ;+
1894 ; .EBPCK -- SUBROUTINE TO CHECK FOR EBUS PARITY ERRORS
1895 ;
1896 ; THIS SUBROUTINE WILL CAUSE AN ERROR TRAP IF THE EBUS PARITY ERROR
1897 ; FLAG IS TRUE IN THE DTE-20 STATUS WORD.
1898 ;
1899 ; INPUT ARGUMENTS:
1900 ;
1901 ; NONE.
1902 ;
1903 ; OUTPUT ARGUMENTS:
1904 ;
1905 ; R0 CONTAINS A COPY OF THE DTE-20 STATUS WORD
1906 ;
1907 ; ERROR CODES RETURNED:
1908 ;
1909 ; DSF -- DTE-20 STATUS FAILURE.
1910 ; EPE -- EBUS PARITY ERROR.
1911 ;-
1912
1913 000462 .EBPCK::
1914 000462 CALL .DTSTA ; READ DTE-20 STATUS WORD
000462 004737 006702' JSR PC,.DTSTA
1915 000466 032700 000020 BIT #ST.EPE,R0 ; EBUS PARITY ERROR?
1916 000472 001001 BNE EBPEPE ; YES -- GIVE "EPE" ERROR
1917 000474 RETURN ; NO -- JUST RETURN
000474 000207 RTS PC
1918 000476 EBPEPE:
1919 000476 ERROR$ EPE ; ERROR -- EBUS PARITY ERROR
000476 012746 020705 MOV #^REPE,-(SP)
000502 104400 TRAP TC.ERR
1920 ;
CONTC -- CONTINUE COMMAND MODUL MACRO M1110 03-OCT-79 11:35 PAGE 49
.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
1922 .TITLE CONTC -- CONTINUE COMMAND MODULE 7611.17
1923
1924 .IDENT "005000"
1925
1926 ;
1927 ; COPYRIGHT (C) 1975, 1979 BY
1928 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
1929 ;
1930 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
1931 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
1932 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
1933 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
1934 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
1935 ;
1936 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
1937 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
1938 ; CORPORATION.
1939 ;
1940 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
1941 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
1942 ;
1943 ; VERSION: 05-00
1944 ;
1945 ; AUTHOR: R. BELANGER
1946 ;
1947 ; DATE: 7611.17
1948 ;
1949 ; THIS MODULE CONTAINS:
1950 ;
1951 ; 1) CONTINUE COMMAND CODE
CONTC -- CONTINUE COMMAND MODUL MACRO M1110 03-OCT-79 11:35 PAGE 50
.CONTC -- THE "CONTINUE" COMMAND 7611.17
1953 .SBTTL .CONTC -- THE "CONTINUE" COMMAND 7611.17
1954
1955 ;+
1956 ; .CONTC -- THE "CONTINUE" COMMAND
1957 ;
1958 ; THIS ROUTINE EXECUTES THE "CONTINUE" CONSOLE FUNCTION
1959 ;
1960 ; INPUT ARGUMENTS:
1961 ;
1962 ; NONE.
1963 ;
1964 ; OUTPUT ARGUMENTS:
1965 ;
1966 ; NONE.
1967 ;
1968 ; ERROR CORES RETURNED:
1969 ;
1970 ; KNC -- KL IS NOT CONTINUABLE
1971 ;-
1972
1973 000504 .CONTC::
1974 000504 CALL .CKEOC ; CHECK E-O-C
000504 004737 000264' JSR PC,.CKEOC
1975 000510 PUSH .KLFLG ; SAVE ".KLFLG" ON THE STACK
000510 013746 000000G MOV .KLFLG,-(SP)
1976 000514 032716 000200 BIT #KF.CON,(SP) ; .CAN WE CONTINUE THE KL?
1977 000520 001427 BEQ CONKNC ; .NO -- GIVE "KNC" ERROR
1978 000522 032716 010000 BIT #KF.SIM,(SP) ; .YES -- ARE WE IN SINGLE INSTRUCTION MODE?
1979 000526 001412 BEQ 20$ ; .NO -- JUST CONTINUE THE KL
1980 000530 032716 100000 BIT #KF.CLK,(SP) ; .YES -- IS THE CLOCK RUNNING?
1981 000534 001002 BNE 10$ ; .YES -- DON'T START IT AGAIN
1982 000536 CALL .STCLK ; .NO -- START IT
000536 004737 011762' JSR PC,.STCLK
1983 000542 10$:
1984 000542 012700 000024 MOV #FX.CON,R0 ; .SET THE "CONTINUE" BUTTON
1985 000546 CALL .FXCT ; .VIA FUNCTION EXECUTE
000546 004737 007716' JSR PC,.FXCT
1986 000552 000407 BR 30$ ; .AND EXIT
1987 ;
1988 000554 20$:
1989 000554 CALL .KLCON ; .DO THE CONTINUE
000554 004737 010066' JSR PC,.KLCON
1990 000560 032716 040000 BIT #KF.RUN,(SP) ; .WAS THE KL RUNNING BEFORE?
1991 000564 001002 BNE 30$ ; .YES -- JUST EXIT
1992 000566 005037 000000G CLR .NOERR ; RE-ENABLE ERROR DETECTION
1993 000572 30$:
1994 000572 005726 TST (SP)+ ; .CLEAR THE STACK
1995 000574 CALLR .EXITP
000574 000137 012436' JMP .EXITP
1996 ;
1997
1998 000600 CONKNC:
1999 000600 ERROR$ KNC ; ERROR -- KL NOT CONTINUEABLE
000600 012746 043363 MOV #^RKNC,-(SP)
000604 104400 TRAP TC.ERR
2000 ;
DATAB -- COMMAND PARSER DATA B MACRO M1110 03-OCT-79 11:35 PAGE 51
.CONTC -- THE "CONTINUE" COMMAND 7611.17
2002 .TITLE DATAB -- COMMAND PARSER DATA BASE 7709.20
2003
2004 .IDENT "005000"
2005
2006 ;
2007 ; COPYRIGHT (C) 1975, 1979 BY
2008 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
2009 ;
2010 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
2011 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
2012 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2013 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
2014 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2015 ;
2016 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2017 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2018 ; CORPORATION.
2019 ;
2020 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2021 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2022 ;
2023 ; MODULE: COMMAND PARSER DATA BASE
2024 ;
2025 ; VERSION: 05-00
2026 ;
2027 ; AUTHOR: R. BELANGER
2028 ;
2029 ; DATE: 7709.20
2030 ;
2031 ; THIS MODULE CONTAINS:
2032 ;
2033 ; 1) THE IMPURE DATA BASE FOR THE COMMAND PARSER
DATAB -- COMMAND PARSER DATA B MACRO M1110 03-OCT-79 11:35 PAGE 52
.CONTC -- THE "CONTINUE" COMMAND 7611.17
2035 .MACRO PARVR$ KEY,FRM,VER,EDT,NUM
2036 .IF B,NUM
2037 .IF NB,FRM
2038 PARVR$ \KEY,\FRM,\VER,\EDT,0
2039 .IFF
2040 PARVR$ \KEY,200,\VER,\EDT,0
2041 .ENDC
2042 .MEXIT
2043 .IFF
2044 .IF GE,VER-10
2045 .IF GE,EDT-10
2046 .ASCIZ <KEY><FRM>\'VER'-'EDT'\<200>
2047 .IFF
2048 .ASCIZ <KEY><FRM>\'VER'-0'EDT'\<200>
2049 .ENDC
2050 .IFF
2051 .IF GE,EDT-10
2052 .ASCIZ <KEY><FRM>\0'VER'-'EDT'\<200>
2053 .IFF
2054 .ASCIZ <KEY><FRM>\0'VER'-0'EDT'\<200>
2055 .ENDC
2056 .ENDC
2057 .ENDC
2058 .ENDM PARVR$
DATAB -- COMMAND PARSER DATA B MACRO M1110 03-OCT-79 11:35 PAGE 53
DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
2060 .SBTTL DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
2061
2062 ; COMMAND PARSER VARIABLES ARE MAINTAINED IN THIS AREA
2063
2064 000000 .PSECT DATA
2065
2066 000000 .APRWD::
2067 000000 000000 .WORD 0 ; KL APR ERROR STATUS WORD
2068 000002 .CCMDN::
2069 000002 000021' .WORD PARNAM ; POINTER TO CURRENT COMMAND NAME
2070 000004 .CISTS::
2071 000004 000000 000000 .WORD 0,0 ; I/O STATUS BLOCK FOR CONSOLE INPUT
2072 000010 .CLKWD::
2073 000010 100000 .WORD BIT15 ; KL CLOCK CONTROL WORD
2074 000012 .COSTS::
2075 000012 000000 000000 .WORD 0,0 ; I/O STATUS BLOCK FOR CONSOLE OUTPUT
2089 000016 .DBGSW::
2090 000016 000000 .WORD 0 ; DEBUG SWITCH
2092 000020 .DPBFR::
2093 000020 000000 000000 000000 .WORD 0,0,0 ; KL DEPOSIT DATA BUFFER
2094 000026 .DPBFX::
2095 000026 000000 000000 000000 .WORD 0,0,0 ; KL AUXILLIARY DEPOSIT DATA BUFFER
2104 000034 .EDELA::
2105 000034 000000 .WORD 0 ; LAST PDP-11 EXAMINE / DEPOSIT ADDRESS
2106 000036 .EDKLA::
2107 000036 000000 000000 000000 .WORD 0,0,0 ; KL EXAMINE / DEPOSIT ADDRESS BUFFER
2108 000044 .EDKLX::
2109 000044 000000 000000 000000 .WORD 0,0,0 ; KL AUXILLIARY EXAM / DEPOS ADDRESS BUFFER
2110 000052 .ELDDW::
2111 000052 000000 .WORD 0 ; LAST PDP-11 DEPOSIT DATA
2112 000054 .ELEDW::
2113 000054 000000 .WORD 0 ; LAST PDP-11 EXAMINE DATA
2114 000056 .EXBFR::
2115 000056 000000 000000 000000 .WORD 0,0,0 ; KL EXAMINE DATA BUFFER
2116 000064 .INCHC::
2117 000064 000000 .WORD 0 ; INPUT CHARACTER COUNT
2118 000066 .IRADX::
2119 000066 000010 .WORD ^D8 ; INPUT RADIX
2120 000070 .KLINC::
2121 000070 000001 000000 000000 .WORD ^D1,0,0 ; KL EXAMINE DEPOSIT INCREMENT
2126 000076 .LGLWD::
2127 000076 000000 .WORD 0 ; LEGAL BITS OF CURRENT COMMAND
2128 000100 .LDZFL::
2129 000100 177777 .WORD -^D1 ; PRINT LEADING ZEROES FLAG
2130 000102 .MEMFL::
2131 000102 000000 .WORD 0 ; EXAMINE DEPOSIT MEMORY OFFSET
2132 000104 .NOTSW::
2133 000104 000000 .WORD 0 ; "NOT" SWITCH
2134 000106 .ORADX::
2135 000106 000010 .WORD ^D8 ; OUTPUT RADIX
2136 000110 .PEWRD::
2137 000110 000000 .WORD 0 ; KL PARITY ERROR FLAGS
2138 000112 .PITAB::
2139 000112 000000 000000 .WORD 0,0 ; EXAMINE PI DATA BLOCK
2140 000116 .PSCWD::
2141 000116 100000 .WORD BIT15 ; KL PARITY STOP CONTROL WORD
2142 000120 .RDXSV::
DATAB -- COMMAND PARSER DATA B MACRO M1110 03-OCT-79 11:35 PAGE 53-1
DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
2143 000120 000010 .WORD ^D8 ; SAVED RADIX
2144 000122 .RELWD::
2145 000122 000000' .WORD .APRWD ; RELOCATION VALUE
2146 000124 .RPTCT::
2147 000124 000000 000000 000000 .WORD 0,0,0 ; REPEAT COUNT
2148 000132 .RPTPT::
2149 000132 000000 .WORD 0 ; POINTER TO STACKED REPEAT COUNT
2150 000134 .STRTV::
2151 000134 012550' .WORD .START ; START VECTOR
2152 000136 .SVESP::
2153 000136 000000 .WORD 0 ; TO REINIT STACK POINTER
2154 000140 .SVKLF::
2155 000140 000000 .WORD 0 ; SAVED COPY OF ".KLFLG"
2157 000142 .TRKWD::
2158 000142 000000 .WORD 0 ; "TRACK" FLAGS
2160 000144 .TRP4V::
2161 000144 004122' .WORD .PTOAT ; TRAP AT 4 VECTOR
2162 000146 .TRPEC::
2163 000146 000000 .WORD 0 ; ERROR CODE RETURNED FROM TRAP
2164 000150 .TRPIP::
2165 000150 000002 .WORD ^D2 ; TRAP IN PROGRESS INTERLOCK
2166 000152 .TRPPC::
2167 000152 000000 .WORD 0 ; TRAP PC
2168 000154 .TRPPS::
2169 000154 000000 .WORD 0 ; TRAP PSW
2170 000156 .TRPSB::
2171 000156 000000 .WORD 0 ; TRAP STATUS BYTE
2172 000160 .TRPTV::
2173 000160 000000 .WORD 0 ; TRAP TRAP VECTOR
2174 000162 .TYOBC::
2175 000162 000204 .WORD ^D132 ; CONSOLE OUTPUT BYTE COUNT
2176 000164 .TYOBP::
2177 000164 000454' .WORD .COBFR ; CONSOLE OUTPUT BYTE POINTER
2178 000166 .VFYFL::
2179 000166 000000 .WORD 0 ; DEPOSIT VERIFY FLAG
2180 000170 DATABX::
2181 000170 000137 006320' JMP .INICP ; EXIT TO INIT
DATAB -- COMMAND PARSER DATA B MACRO M1110 03-OCT-79 11:35 PAGE 54
.SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
2183 .SBTTL .SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
2184
2185 ; +
2186 ; .SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE.
2187 ;
2188 ; THESE ARE THE ENTRY POINTS FOR ALL SYNCHRONOUS TRAPS IN THE KL FRONT
2189 ; END COMMAND PARSER. THE PARSER USES SYNCHRONOUS TRAPS, (SST'S),
2190 ; PRIMARILY TO HANDLE INTERNAL ERRORS VIA THE "TRAP" INSTRUCTION. SST'S
2191 ; MAY ALSO BE USED TO HANDLE ODD ADDRESS TRAPS, BREAKPOINTS, AND OTHER
2192 ; ERROR CONDITIONS, AS WELL AS THE PREVIOUSLY MENTIONED ERROR TRAPS.
2193 ;
2194 ; SYNCHRONOUS TRAPS ARE ENABLED BY THE "SVTK$" DIRECTIVE (Q.V.) AS
2195 ; ALLOWED BY THE ENTRIES IN ".SSTTB", THE SST VECTOR TABLE, BELOW.
2196 ; A NON-ZERO ENTRY IN ".SSTTB" INDICATES THAT CONTROL IS TO BE PASSED
2197 ; TO THE ADDRESS IN THAT ENTRY UPON OCCURANCE OF THE ASSOCIATED
2198 ; CONDITION. A ZERO ENTRY IN THE VECTOR TABLE INDICATES THAT THE
2199 ; SYSTEM IS TO HANDLE THE ASSOCIATED CONDITION.
2200 ;
2201 ; THE FORMAT OF THE SST VECTOR TABLE IS AS FOLLOWS:
2202 ;
2203 ; !===============================================!
2204 ; 00 ! ODD ADDRESS TRAP HANDLER ADDRESS !
2205 ; !-----------------------------------------------!
2206 ; 02 ! MEMORY PROTECTION VIOLATION HANDLER ADDRESS !
2207 ; !-----------------------------------------------!
2208 ; 04 ! T-BIT TRAP HANDLER ADDRESS !
2209 ; !-----------------------------------------------!
2210 ; 06 ! IOT TRAP HANDLER ADDRESS !
2211 ; !-----------------------------------------------!
2212 ; 10 ! RESERVED INSTRUCTION TRAP HANDLER ADDRESS !
2213 ; !-----------------------------------------------!
2214 ; 12 ! ILLEGAL EMT TRAP HANDLER ADDRESS !
2215 ; !-----------------------------------------------!
2216 ; 14 ! TRAP INSTRUCTION TRAP HANDLER ADDRESS !
2217 ; !-----------------------------------------------!
2218 ; 16 ! FLOATING POINT TRAP HANDLER ADDRESS !
2219 ; !===============================================!
2220 ;-
2221
2222 000174 .SSTTB::
2223 000174 000000 .WORD 0 ; ODD ADDRESS TRAP HANDLER
2224 000176 000000 .WORD 0 ; MEMORY PROTECTION VIOLATION
2225 000200 000000 .WORD 0 ; BREAKPOINT TRAP HANDLER
2226 000202 000000 .WORD 0 ; "IOT" INSTRUCTION TRAP
2227 000204 000000 .WORD 0 ; RESERVED INSTRUCTION TRAP
2228 000206 000000 .WORD 0 ; NON-STANDARD EMT TRAP
2229 000210 003700' .WORD .PTTRP ; "TRAP" INSTRUCTION TRAP
2230 000212 000000 .WORD 0 ; FLOATING POINT TRAP
2231 000010 SSTLEN==.-.SSTTB/2 ; LENGTH OF THIS TABLE
2232 000212' SSTTBE==.-2
DATAB -- COMMAND PARSER DATA B MACRO M1110 03-OCT-79 11:35 PAGE 55
DATAB -- DTE-20 OPERATION BUFFERS 7709.20
2234 .SBTTL DATAB -- DTE-20 OPERATION BUFFERS 7709.20
2235
2236 000214 .DFBLK::
2237 000214 .DFWB::
2238 000214 000000 000000 000000 .WORD 0,0,0 ; FUNCTION WRITE BUFFER
2239 000222 .DFRB::
2240 000222 000000 000000 000000 .WORD 0,0,0 ; FUNCTION READ BUFFER
2241
2242 000230 .DREG::
2243 000230 .DTDI1::
2244 000230 000000 .WORD 0 ; DTE-20 DIAG WORD 1 BUFFER
2245 000232 .DTDI2::
2246 000232 000000 .WORD 0 ; DTE-20 DIAG WORD 2 BUFFER
2247 000234 .DTSTS::
2248 000234 000000 .WORD 0 ; DTE-20 STATUS WORD BUFFER
2249 000236 .DTDI3::
2250 000236 000000 .WORD 0 ; DTE-20 DIAG WORD 3 BUFFER
2251 000240' DFBEND==.
DATAB -- COMMAND PARSER DATA B MACRO M1110 03-OCT-79 11:35 PAGE 56
DATAB -- INPUT / OUTPUT BUFFERS 7709.20
2253 .SBTTL DATAB -- INPUT / OUTPUT BUFFERS 7709.20
2254
2255 ; THESE ARE THE I/O BUFFERS
2256
2257 000240 .CIBFR::
2258 000240 .BLKW ^D70 ; CONSOLE DEVICE INPUT BUFFER
2259 000214 .CIBFL==.-.CIBFR
2260
2261 000454 .COBFR::
2262 000454 .BLKW ^D70 ; CONSOLE DEVICE OUTPUT BUFFER
2263 000204 .COBFL==^D132
2264
2271
2272 000670 .COMND::
2273 000670 .BLKW ^D140 ; COMMAND BUFFER
2274 000430 .CMNDL==.-.COMND
DATAB -- COMMAND PARSER DATA B MACRO M1110 03-OCT-79 11:35 PAGE 59
DATAB -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
2342 .SBTTL DATAB -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
2343
2344 001320 .R50TB::
2345 001320 000022 .WORD <'0-36>-<50-50>
2346 001322 060 000 .ASCIZ %0%
2347 001324 177766 .WORD <'%-35>-<'0-36>
2348 001326 045 000 .ASCIZ /%/
2349 001330 000012 .WORD <'.-34>-<'%-35>
2350 001332 056 000 .ASCIZ %.%
2351 001334 177767 .WORD <'$-33>-<'.-34>
2352 001336 044 000 .ASCIZ %$%
2353 001340 000067 .WORD <'A-01>-<'$-33>
2354 001342 101 000 .ASCIZ %A%
2355 001344 177740 .WORD <' -00>-<'A-01>
2356 001346 000040 .WORD .SPACE
2357
2358 001350 .T50TB::
2359 001350 003100 .WORD 50*50
2360 001352 000050 .WORD 50
2361 001354 000001 .WORD 1
2362 001356 000000 .WORD 0
2363
2364 000000 .PSECT MESSAG
2365
2366 000000 CPVMSG::
2367 000000 PARVR$ PAR$$K,,PAR$$V,PAR$$E
000000 126 200 060 .ASCIZ <126><200>\05-01\<200>
000003 065 055 060
000006 061 200 000
2368 000011 PARMSG::
2369 000011 120 101 122 .ASCIZ %PAR -- %
000014 040 055 055
000017 040 000
2370 000021 PARNAM::
2371 000021 120 101 122 .ASCIZ %PARSER%
000024 123 105 122
000027 000
2372 000030 PROMPT::
2373 000030 120 101 122 .ASCIZ %PAR%
000033 000
2374 000034 ONMSG::
2375 000034 117 116 000 .ASCIZ %ON%
2376 000037 OFFMSG::
2377 000037 117 106 106 .ASCIZ %OFF%
000042 000
2378 000606 .PSECT
DATAB -- COMMAND PARSER DATA B MACRO M1110 03-OCT-79 11:35 PAGE 60
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
2380 .SBTTL .CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
2381
2382 ;+
2383 ; .CHTAB -- THE CHARACTER PROPERTY TABLE
2384 ;
2385 ; THIS IS A TABLE OF ASCII CHARACTER PROPERTIES. THERE IS ONE ENTRY
2386 ; FOR EACH CHARACTER IN THE ASCII STANDARD CHARACTER SET. EACH ENTRY
2387 ; IS ONE BYTE LONG, AND CONTAINS BITS ASSOCIATED WITH THE GENERAL
2388 ; PROPETIES OF THE ASCII CHARACTER IT REPRESENTS. ".CHTAB" IS
2389 ; REFERENCED BY USING THE ASCII CHARACTER UNDER TEST AS AN OFFSET
2390 ; INTO THE TABLE. ONE ASCII CHARACTER MAY HAVE MULTIPLE CHARACTERISTICS.
2391 ; THE DEFINITIONS FOR THE CHARACTERISTIC BITS ARE IN "COMMON.MAC",
2392 ; (Q.V.), WHICH ARE:
2393 ;
2394 ; "CH.ALP" -- (BIT00) -- CHARACTER IS ALPHABETIC,
2395 ; "CH.NUM" -- (BIT01) -- CHARACTER IS NUMERIC,
2396 ; "CH.EOL" -- (BIT02) -- CHARACTER MAY END A LINE,
2397 ; "CH.EOC" -- (BIT03) -- CHARACTER MAY END A COMMAND,
2398 ; "CH.EOS" -- (BIT04) -- CHARACTER MAY SUFFIX A SYMBOL,
2399 ; "CH.PFX" -- (BIT05) -- CHARACTER MAY PREFIX A SYMBOL,
2400 ; "CH.AOP" -- (BIT06) -- CHARACTER MAY PREFIX AN ARITHMETIC OPERATOR,
2401 ; "CH.ILL" -- (BIT07) -- CHARACTER IS ILLEGAL.
2402 ;
2403 ; TABS, (ASCII 011), AND LOWER CASE ALPHABETICS ARE ILLEGAL CHARACTERS
2404 ; SINCE THE INPUT ROUTINES CONVERT THESE CHARACTERS TO SPACES AND
2405 ; UPPER CASE ALPHABETICS, RESPECTIVELY.
2406 ;-
2407
2408 001360 .PSECT DATA
2409
2410 001360 .CHTAB::
2411 001360 034 .BYTE CH.EOL!CH.EOC!CH.EOS ; <NULL> (000)
2412 001361 200 .BYTE CH.ILL ; ^A (001)
2413 001362 200 .BYTE CH.ILL ; ^B (002)
2414 001363 200 .BYTE CH.ILL ; ^C (003)
2415 001364 200 .BYTE CH.ILL ; ^D (004)
2416 001365 200 .BYTE CH.ILL ; ^E (005)
2417 001366 200 .BYTE CH.ILL ; ^F (006)
2418 001367 200 .BYTE CH.ILL ; ^G <BELL> (007)
2419 001370 200 .BYTE CH.ILL ; ^H (010)
2420 001371 200 .BYTE CH.ILL ; ^I <HORIZONTAL-TAB> (011)
2421 001372 200 .BYTE CH.ILL ; ^J <NEW-LINE> (012)
2422 001373 200 .BYTE CH.ILL ; ^K <VERTICAL-TAB> (013)
2423 001374 200 .BYTE CH.ILL ; ^L <FORM-FEED> (014)
2424 001375 200 .BYTE CH.ILL ; ^M <CARRIAGE-RETURN> (015)
2425 001376 200 .BYTE CH.ILL ; ^N (016)
2426 001377 200 .BYTE CH.ILL ; ^O (017)
2427 001400 200 .BYTE CH.ILL ; ^P (020)
2428 001401 200 .BYTE CH.ILL ; ^Q (021)
2429 001402 200 .BYTE CH.ILL ; ^R (022)
2430 001403 200 .BYTE CH.ILL ; ^S (023)
2431 001404 200 .BYTE CH.ILL ; ^T (024)
2432 001405 200 .BYTE CH.ILL ; ^U (025)
2433 001406 200 .BYTE CH.ILL ; ^V (026)
2434 001407 200 .BYTE CH.ILL ; ^W (027)
DATAB -- COMMAND PARSER DATA B MACRO M1110 03-OCT-79 11:35 PAGE 61
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
2436 001410 200 .BYTE CH.ILL ; ^X (030)
2437 001411 200 .BYTE CH.ILL ; ^Y (031)
2438 001412 200 .BYTE CH.ILL ; ^Z (032)
2439 001413 200 .BYTE CH.ILL ; <ALT-MODE> (033)
2440 001414 200 .BYTE CH.ILL ; ^\ (034)
2441 001415 200 .BYTE CH.ILL ; ^] (035)
2442 001416 200 .BYTE CH.ILL ; ^^ (036)
2443 001417 200 .BYTE CH.ILL ; ^_ (037)
2444 001420 020 .BYTE CH.EOS ; <SPACE> (040)
2445 001421 200 .BYTE CH.ILL ; ! (041)
2446 001422 020 .BYTE CH.EOS ; " (042)
2447 001423 200 .BYTE CH.ILL ; # (043)
2448 001424 200 .BYTE CH.ILL ; $ (044)
2449 001425 200 .BYTE CH.ILL ; % (045)
2450 001426 200 .BYTE CH.ILL ; & (046)
2451 001427 020 .BYTE CH.EOS ; ' (047)
2452 001430 140 .BYTE CH.AOP!CH.PFX ; ( (050)
2453 001431 100 .BYTE CH.AOP ; ) (051)
2454 001432 120 .BYTE CH.AOP!CH.EOS ; * (052)
2455 001433 160 .BYTE CH.AOP!CH.EOS!CH.PFX ; + (053)
2456 001434 020 .BYTE CH.EOS ; , (054)
2457 001435 160 .BYTE CH.AOP!CH.EOS!CH.PFX ; - (055)
2458 001436 200 .BYTE CH.ILL ; . (056)
2459 001437 120 .BYTE CH.AOP!CH.EOS ; / (057)
2460 ;
2461 001440 002 .BYTE CH.NUM ; 0 (060)
2462 001441 002 .BYTE CH.NUM ; 1 (061)
2463 001442 002 .BYTE CH.NUM ; 2 (062)
2464 001443 002 .BYTE CH.NUM ; 3 (063)
2465 001444 002 .BYTE CH.NUM ; 4 (064)
2466 001445 002 .BYTE CH.NUM ; 5 (065)
2467 001446 002 .BYTE CH.NUM ; 6 (066)
2468 001447 002 .BYTE CH.NUM ; 7 (067)
2469 001450 002 .BYTE CH.NUM ; 8 (070)
2470 001451 002 .BYTE CH.NUM ; 9 (071)
2471 ;
2472 001452 020 .BYTE CH.EOS ; : (072)
2473 001453 030 .BYTE CH.EOS!CH.EOC ; ; (073)
2474 001454 200 .BYTE CH.ILL ; < (074)
2475 001455 200 .BYTE CH.ILL ; = (075)
2476 001456 020 .BYTE CH.EOS ; > (076)
2477 001457 041 .BYTE CH.PFX!CH.ALP ; ? (077)
2478 001460 200 .BYTE CH.ILL ; @ (100)
DATAB -- COMMAND PARSER DATA B MACRO M1110 03-OCT-79 11:35 PAGE 62
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
2480 001461 001 .BYTE CH.ALP ; A (101)
2481 001462 101 .BYTE CH.ALP!CH.AOP ; B (102)
2482 001463 101 .BYTE CH.ALP!CH.AOP ; C (103)
2483 001464 101 .BYTE CH.ALP!CH.AOP ; D (104)
2484 001465 001 .BYTE CH.ALP ; E (105)
2485 001466 001 .BYTE CH.ALP ; F (106)
2486 001467 001 .BYTE CH.ALP ; G (107)
2487 001470 001 .BYTE CH.ALP ; H (110)
2488 001471 001 .BYTE CH.ALP ; I (111)
2489 001472 001 .BYTE CH.ALP ; J (112)
2490 001473 001 .BYTE CH.ALP ; K (113)
2491 001474 001 .BYTE CH.ALP ; L (114)
2492 001475 001 .BYTE CH.ALP ; M (115)
2493 001476 001 .BYTE CH.ALP ; N (116)
2494 001477 101 .BYTE CH.ALP!CH.AOP ; O (117)
2495 001500 001 .BYTE CH.ALP ; P (120)
2496 001501 001 .BYTE CH.ALP ; Q (121)
2497 001502 001 .BYTE CH.ALP ; R (122)
2498 001503 001 .BYTE CH.ALP ; S (123)
2499 001504 001 .BYTE CH.ALP ; T (124)
2500 001505 001 .BYTE CH.ALP ; U (125)
2501 001506 001 .BYTE CH.ALP ; V (126)
2502 001507 001 .BYTE CH.ALP ; W (127)
2503 001510 001 .BYTE CH.ALP ; X (130)
2504 001511 001 .BYTE CH.ALP ; Y (131)
2505 001512 001 .BYTE CH.ALP ; Z (132)
2506 ;
2507 001513 200 .BYTE CH.ILL ; [ (133)
2508 001514 200 .BYTE CH.ILL ; \ (134)
2509 001515 200 .BYTE CH.ILL ; ] (135)
2510 001516 140 .BYTE CH.AOP!CH.PFX ; ^ (136)
2511 001517 120 .BYTE CH.AOP!CH.EOS ; _ (137)
2512 001520 200 .BYTE CH.ILL ; @ (140)
2547 .EVEN
2548 000606 .PSECT
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1110 03-OCT-79 11:35 PAGE 63
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
2550 .TITLE DECMD -- DEPOSIT / EXAMINE COMMAND DISPATCH MODULE 7603.30
2551
2552 .IDENT "005000"
2553
2554 ;
2555 ; COPYRIGHT (C) 1975, 1979 BY
2556 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
2557 ;
2558 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
2559 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
2560 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2561 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
2562 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2563 ;
2564 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2565 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2566 ; CORPORATION.
2567 ;
2568 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2569 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2570 ;
2571 ; MODULE: DEPOSIT / EXAMINE COMMAND DISPATCH
2572 ;
2573 ; VERSION: 05-00
2574 ;
2575 ; AUTHOR: R. BELANGER
2576 ;
2577 ; DATE: 7603.30
2578 ;
2579 ; THIS MODULE CONTAINS:
2580 ;
2581 ; 1) DEPOSIT COMMAND DISPATCH CODE
2582 ; 2) DEPOSIT COMMAND DISPATCH TABLES
2583 ; 3) EXAMINE COMMAND DISPATCH CODE
2584 ; 4) EXAMINE COMMAND DISPATCH TABLES
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1110 03-OCT-79 11:35 PAGE 64
.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
2586 .SBTTL .DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
2587
2588 ;+
2589 ; .DPOSC -- THE "DEPOSIT" COMMAND.
2590 ;
2591 ; THIS IS THE TOP LEVEL DEPOSIT ROUTINE WHICH DISPATCHES TO THE
2592 ; PROPER ROUTINE FOR THE OBJECT TO BE DEPOSITED.
2593 ;
2594 ; INPUT ARGUMENTS:
2595 ;
2596 ; NONE.
2597 ;
2598 ; OUTPUT ARGUMENTS:
2599 ;
2600 ; NONE.
2601 ;
2602 ; ERROR CODES RETURNED:
2603 ;
2604 ; NSK -- NO SUCH KEYWORD
2605 ;-
2606
2607 000606 .DPOSC::
2608 000606 013703 000102' MOV .MEMFL,R3 ; OFFSET FLAG TO R3
2609 000612 CALL .CKARG ; LOOK FOR THE ARGUMENT
000612 004737 000140' JSR PC,.CKARG
2610 000616 001435 BEQ .DPOBJ ; DISPATCH FOR OBJECT
2611 000620 .DPOSA:: ; HERE TO DISPATCH FOR MEMORY
2612 000620 CALLR @DPOATB(R3) ; DISPATCH
000620 000173 001522' JMP @DPOATB(R3)
2613 ;
2614
2615 001522 .PSECT DATA
2616
2617 001522 DPOATB:
2618 001522 002340' .WORD .DPOST ; DEPOSIT TEN
2619 001524 001616' .WORD .DPOSE ; DEPOSIT ELEVEN WORD
2620
2621 000624 .PSECT
2622
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1110 03-OCT-79 11:35 PAGE 65
.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 76
2624 .SBTTL .DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
2625
2626 000624 .DPOSD:: ; DEPOSIT DECREMENT
2627 000624 CALLR @DPODTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000624 000173 001526' JMP @DPODTB(R3)
2628 ;
2629
2630 001526 .PSECT DATA
2631
2632 001526 DPODTB:
2633 001526 002666' .WORD .DPKLD ; KL WORD
2634 001530 002006' .WORD .DPEWD ; PDP-11 WORD
2635
2636 000630 .PSECT
2637
2638 000630 .DPOSI:: ; DEPOSIT INCREMENT
2639 000630 CALLR @DPOITB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000630 000173 001532' JMP @DPOITB(R3)
2640 ;
2641
2642 001532 .PSECT DATA
2643
2644 001532 DPOITB:
2645 001532 002674' .WORD .DPKLI ; KL WORD
2646 001534 002014' .WORD .DPEWI ; PDP-11 WORD
2647
2648 000634 .PSECT
2649
2650 000634 .DPOSN:: ; DEPOSIT NEXT
2651 000634 CALLR @DPONTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000634 000173 001536' JMP @DPONTB(R3)
2652 ;
2653
2654 001536 .PSECT DATA
2655
2656 001536 DPONTB:
2657 001536 002702' .WORD .DPKLN ; KL WORD
2658 001540 002022' .WORD .DPEWN ; PDP-11 WORD
2659
2660 000640 .PSECT
2661
2662 000640 .DPOSP:: ; DEPOSIT PREVIOUS
2663 000640 CALLR @DPOPTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000640 000173 001542' JMP @DPOPTB(R3)
2664 ;
2665
2666 001542 .PSECT DATA
2667
2668 001542 DPOPTB:
2669 001542 002710' .WORD .DPKLP ; KL WORD
2670 001544 002030' .WORD .DPEWP ; PDP-11 WORD
2671
2672 000644 .PSECT
2673
2674 000644 .DPOSZ:: ; DEPOSIT THIS
2675 000644 CALLR @DPOZTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000644 000173 001546' JMP @DPOZTB(R3)
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1110 03-OCT-79 11:35 PAGE 65-1
.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 76
2676 ;
2677
2678 001546 .PSECT DATA
2679
2680 001546 DPOZTB:
2681 001546 002660' .WORD .DPKLT ; KL WORD
2682 001550 002000' .WORD .DPEWT ; PDP-11 WORD
2683
2684 000650 .PSECT
2685
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1110 03-OCT-79 11:35 PAGE 66
.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
2687 .SBTTL .EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
2688
2689 ;+
2690 ; .EXAMC -- THE "EXAMINE" COMMAND DISPATCH.
2691 ;
2692 ; THIS IS THE TOP LEVEL EXAMINE ROUTINE WHICH DETERMINES WHICH
2693 ; OBJECT IS TO BE EXAMINED.
2694 ;
2695 ; INPUT ARGUMENTS:
2696 ;
2697 ; NONE.
2698 ;
2699 ; OUTPUT ARGUMENTS:
2700 ;
2701 ; NONE, THIS ROUTINE DISPATCHES TO THE PROPER ROUTINE
2702 ; FOR THE OBJECT SPECIFIED.
2703 ;
2704 ; ERROR CODES RETURNED:
2705 ;
2706 ; NONE.
2707 ;-
2708
2709 000650 .EXAMC::
2710 000650 013703 000102' MOV .MEMFL,R3 ; MEMORY FLAG TO R3
2711 000654 CALL .CKARG ; CHECK THE ARGUMENT
000654 004737 000140' JSR PC,.CKARG
2712 000660 001434 BEQ .EXOBJ ; EXAMINE THE OBJECT
2713 ;
2714 000662 .EXAMA:: ; HERE TO DISPATCH FOR MEMORY
2715 000662 CALLR @EXMDTB(R3) ; DISPATCH
000662 000173 001552' JMP @EXMDTB(R3)
2716 ;
2717
2718 001552 .PSECT DATA
2719
2720 001552 EXMDTB:
2721 001552 002746' .WORD .EXAMT ; EXAMINE TEN
2722 001554 002066' .WORD .EXAME ; EXAMINE ELEVEN WORD
2723
2724 000666 .PSECT
2725
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1110 03-OCT-79 11:35 PAGE 67
.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 76
2727 .SBTTL .EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
2728
2729 000666 .EXAMD:: ; EXAMINE DECREMENT
2730 000666 CALLR @EXADTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000666 000173 001556' JMP @EXADTB(R3)
2731 ;
2732
2733 001556 .PSECT DATA
2734
2735 001556 EXADTB:
2736 001556 003114' .WORD .EXKLD ; KL WORD
2737 001560 002220' .WORD .EXEWD ; PDP-11 WORD
2738
2739 000672 .PSECT
2740
2741 000672 .EXAMI:: ; EXAMINE INCREMENT
2742 000672 CALLR @EXAITB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000672 000173 001562' JMP @EXAITB(R3)
2743 ;
2744
2745 001562 .PSECT DATA
2746
2747 001562 EXAITB:
2748 001562 003122' .WORD .EXKLI ; KL WORD
2749 001564 002226' .WORD .EXEWI ; PDP-11 WORD
2750
2751 000676 .PSECT
2752
2753 000676 .EXAMN:: ; EXAMINE NEXT
2754 000676 CALLR @EXANTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000676 000173 001566' JMP @EXANTB(R3)
2755 ;
2756
2757 001566 .PSECT DATA
2758
2759 001566 EXANTB:
2760 001566 003130' .WORD .EXKLN ; KL WORD
2761 001570 002234' .WORD .EXEWN ; PDP-11 WORD
2762
2763 000702 .PSECT
2764
2765 000702 .EXAMP:: ; EXAMINE PREVIOUS
2766 000702 CALLR @EXAPTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000702 000173 001572' JMP @EXAPTB(R3)
2767 ;
2768
2769 001572 .PSECT DATA
2770
2771 001572 EXAPTB:
2772 001572 003136' .WORD .EXKLP ; KL WORD
2773 001574 002242' .WORD .EXEWP ; PDP-11 WORD
2774
2775 000706 .PSECT
2776
2777 000706 .EXAMZ:: ; EXAMINE THIS
2778 000706 CALLR @EXAZTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
000706 000173 001576' JMP @EXAZTB(R3)
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1110 03-OCT-79 11:35 PAGE 67-1
.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 76
2779 ;
2780
2781 001576 .PSECT DATA
2782
2783 001576 EXAZTB:
2784 001576 003106' .WORD .EXKLT ; KL WORD
2785 001600 002212' .WORD .EXEWT ; PDP-11 WORD
2786
2787 000712 .PSECT
2788
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1110 03-OCT-79 11:35 PAGE 68
.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
2790 .SBTTL .DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
2791
2792 ;+
2793 ; .DPOBJ -- DEPOSIT "OBJECT" COMMAND DISPATCH
2794 ;
2795 ; THIS SUBROUTINE PERFORMS THE DISPATCH FOR THE SPECIFIED DEPOSIT OBJECT
2796 ;
2797 ; INPUT ARGUMENTS:
2798 ;
2799 ; R3 CONTAINS THE OLD MEMORY TYPE OFFSET
2800 ;
2801 ; OUTPUT ARGUMENTS:
2802 ;
2803 ; R3 CONTAINS THE CURRENT MEMORY TYPE OFFSET
2804 ;
2805 ; ERROR CODES RETURNED:
2806 ;
2807 ; NONE.
2808 ;-
2809
2810
2811 000712 .DPOBJ::
2812 000712 012700 003002' MOV #.DPOTB,R0 ; TABLE POINTER TO R0
2813 000716 CALL .TSCAN ; SCAN THE TABLE FOR OBJECT
000716 004737 012672' JSR PC,.TSCAN
2814 000722 012001 MOV (R0)+,R1 ; LEGAL BITS TO R1
2815 000724 005101 COM R1 ; INVERT THEM
2816 000726 040137 000076' BIC R1,.LGLWD ; SET UP NEW LEGAL WORD
2817 000732 CALLR @(R0)+ ; DISPATCH FOR OBJECT
000732 000130 JMP @(R0)+
2818 ;
2819 000734 .DPOKL::
2820 000734 005003 CLR R3 ; TEN MEMORY OFFSET TO R3
2821 000736 CALLR .DPOST ; GO DO IT
000736 000137 002340' JMP .DPOST
2822 ;
2823 000742 .DPOEL::
2824 000742 012703 000002 MOV #^D2,R3 ; PDP-11 WORD OFFSET TO R3
2825 000746 CALLR .DPOSE ; GO DO IT
000746 000137 001616' JMP .DPOSE
2826 ;
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1110 03-OCT-79 11:35 PAGE 69
.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
2828 .SBTTL .EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
2829
2830 ;+
2831 ; .EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH.
2832 ;
2833 ; THIS ROUTINE IS THE DISPATCH FOR ALL OF THE "EXAMINE <OBJECT>" COMMANDS.
2834 ;
2835 ; INPUT ARGUMENTS:
2836 ;
2837 ; NONE.
2838 ;
2839 ; OUTPUT ARGUMENTS:
2840 ;
2841 ; NONE.
2842 ;
2843 ; ERROR CODES RETURNED:
2844 ;
2845 ; NSC -- NO SUCH COMMAND.
2846 ;-
2847
2848 000752 .EXOBJ::
2849 000752 012700 003124' MOV #.EXMTB,R0 ; EXAMINE TABLE POINTER TO R0
2850 000756 CALL .TSCAN ; SCAN THE TABLE
000756 004737 012672' JSR PC,.TSCAN
2851 000762 011001 MOV (R0),R1 ; LEGAL BITS TO R1
2852 000764 005101 COM R1 ; INVERT THEM
2853 000766 040137 000076' BIC R1,.LGLWD ; SET UP NEW LEGAL WORD
2854 000772 014002 MOV -(R0),R2 ; NAME POINTER TO R2
2855 000774 CALLR @4(R0) ; READ AND PRINT THE REGISTER
000774 000170 000004 JMP @4(R0)
2856 ;
2857 001000 .EXMEL::
2858 001000 012703 000002 MOV #^D2,R3 ; PDP-11 OFFSET TO R3
2859 001004 CALLR .EXAME ; DO THE EXAMINE
001004 000137 002066' JMP .EXAME
2860 ;
2861 001010 .EXMKL::
2862 001010 005003 CLR R3 ; KL MEMORY OFFSET TO R3
2863 001012 CALLR .EXAMT ; DO THE EXAMINE
001012 000137 002746' JMP .EXAMT
2864 ;
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1110 03-OCT-79 11:35 PAGE 70
.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>"
2866 .SBTTL .EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
2867
2868 001016 .EDEWD::
2869 001016 .EDEWP::
2870 001016 013700 000034' MOV .EDELA,R0 ; ADDRESS TO R0
2871 001022 162700 000002 SUB #^D2,R0 ; PREVIOUS WORD ADDRESS
2872 001026 RETURN ; TO CALLER
001026 000207 RTS PC
2873 001030 .EDEWI::
2874 001030 .EDEWN::
2875 001030 013700 000034' MOV .EDELA,R0 ; ADDRESS TO R0
2876 001034 062700 000002 ADD #^D2,R0 ; NEXT WORD ADDRESS
2877 001040 RETURN ; TO CALLER
001040 000207 RTS PC
DECMD -- DEPOSIT / EXAMINE COMM MACRO M1110 03-OCT-79 11:35 PAGE 71
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM
2879 .SBTTL .EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
2880
2881 .ENABL LSB
2882
2883 001042 .EDKLP::
2884 001042 CALL .EDKLC ; DO COMMON CODE
001042 004737 001140' JSR PC,.EDKLC
2885 001046 CALL .TPDEC ; DECREMENT ONCE
001046 004737 022750' JSR PC,.TPDEC
2886 001052 000422 BR 10$ ; EXIT THRU COMMON CODE
2887 ;
2888 001054 .EDKLN::
2889 001054 CALL .EDKLC ; DO COMMON CODE
001054 004737 001140' JSR PC,.EDKLC
2890 001060 CALL .TPINC ; INCREMENT ONCE
001060 004737 022736' JSR PC,.TPINC
2891 001064 000415 BR 10$ ; EXIT THRU COMMON CODE
2892 ;
2893 001066 .EDKLD::
2894 001066 CALL .EDKLC ; DO COMMON CODE
001066 004737 001140' JSR PC,.EDKLC
2895 001072 012701 000070' MOV #.KLINC,R1 ; POINT TO THE INCREMENT
2896 001076 CALL .TPSUB ; DO THE SUBTRACTION
001076 004737 022762' JSR PC,.TPSUB
2897 001102 000406 BR 10$ ; EXIT THRU COMMON CODE
2898 ;
2899 001104 .EDKLI::
2900 001104 CALL .EDKLC ; DO COMMON CODE
001104 004737 001140' JSR PC,.EDKLC
2901 001110 012701 000070' MOV #.KLINC,R1 ; POINT TO THE INCREMENT
2902 001114 CALL .TPADD ; DO THE ADDITION
001114 004737 022716' JSR PC,.TPADD
2903 001120 10$:
2904 001120 032760 177600 000002 BIT #^C177,2(R0) ; CHECK THE RESULT
2905 001126 001015 BNE EDNKLA ; ERROR IF TOO LARGE
2906 001130 005760 000004 TST 4(R0) ; HOW ABOUT HIGH BITS?
2907 001134 001012 BNE EDNKLA ; TOO LARGE
2908 001136 000410 BR 20$ ; ALL OK -- RETURN
2909 ;
2910 001140 .EDKLC::
2911 001140 012700 000044' MOV #.EDKLX,R0 ; AUX ADDRESS POINTER TO R0
2912 001144 012701 000036' MOV #.EDKLA,R1 ; EXAM / DEPOS ADDRESS TO R1
2913 001150 012120 MOV (R1)+,(R0)+ ; LOAD CURRENT ADDRESS
2914 001152 012120 MOV (R1)+,(R0)+ ; INTO AUXILLIARY ADDRESS BUFFER
2915 001154 011110 MOV (R1),(R0) ; SO
2916 001156 024040 CMP -(R0),-(R0) ; BACK THE POINTER UP
2917 001160 20$:
2918 001160 RETURN ; AND GO ON
001160 000207 RTS PC
2919
2920 .DSABL LSB
2921
2922 001162 EDNKLA:
2923 001162 ERROR$ KLA ; ERROR -- KL ADDRESS ERROR
001162 012746 043241 MOV #^RKLA,-(SP)
001166 104400 TRAP TC.ERR
2924 ;
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1110 03-OCT-79 11:35 PAGE 72
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM
2926 .TITLE DFUNC -- KL10 DIAGNOSTIC FUNCTION MODULE 7603.30
2927
2928 .IDENT "005000"
2929 ;
2930 ; COPYRIGHT (C) 1975, 1979 BY
2931 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
2932 ;
2933 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
2934 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
2935 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
2936 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
2937 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
2938 ;
2939 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
2940 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
2941 ; CORPORATION.
2942 ;
2943 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2944 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
2945 ;
2946 ; MODULE: KL10 DIAGNOSTIC FUNCTION
2947 ;
2948 ; VERSION: 05-00
2949 ;
2950 ; AUTHOR: R. BELANGER
2951 ;
2952 ; DATE: 7603.30
2953 ;
2954 ; THIS MODULE CONTAINS:
2955 ;
2956 ; 1) KL10 DIAGNOSTIC FUNCTION CODE
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1110 03-OCT-79 11:35 PAGE 73
.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
2958 .SBTTL .DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
2959
2960 ;+
2961 ; .DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE
2962 ;
2963 ; THIS ROUTINE WILL INPUT A DIAGNOSTIC FUNCTION READ, WRITE, OR
2964 ; EXECUTE CODE AND RETURN IT IN R0, AFTER CHECKING THAT THE KL
2965 ; IS NOT RUNNING, AND SEEING THAT THE FUNCTION CODE IS IN RANGE.
2966 ;
2967 ; INPUT ARGUMENTS:
2968 ;
2969 ; NONE.
2970 ;
2971 ; OUTPUT ARGUMENTS:
2972 ;
2973 ; R0 HOLDS THE FUNCTION CODE.
2974 ;
2975 ; ERROR CODES RETURNED:
2976 ;
2977 ; IFC -- ILLEGAL FUNCTION CODE
2978 ; MRA -- MISSING REQUIRED ARGUMENT.
2979 ;-
2980
2981 001170 .DFCOM::
2982 001170 CALL .CKRUN ; SEE IF THE KL IS RUNNING
001170 004737 000376' JSR PC,.CKRUN
2983 001174 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
2984 001176 005046 CLR -(SP) ; .
2985 001200 005046 CLR -(SP) ; ..
2986 001202 010600 MOV SP,R0 ; ...POINT TO IT
2987 001204 CALL .GTKLN ; ...READ THE FUNCTION CODE
001204 004737 024362' JSR PC,.GTKLN
2988 001210 005760 000004 TST 4(R0) ; ...SEE IF WE HAVE A LEGAL CODE
2989 001214 001026 BNE DFCIFC ; ...NO -- COMPLAIN
2990 001216 005760 000002 TST 2(R0) ; ...
2991 001222 001023 BNE DFCIFC ; ...
2992 001224 105760 000001 TSTB 1(R0) ; ...
2993 001230 001020 BNE DFCIFC ; ...
2994 001232 132710 177740 BITB #^C37,(R0) ; ...IS THIS AN EXECUTE?
2995 001236 001411 BEQ 10$ ; ...NO -- CONTINUE
2996 001240 032737 040000 000000G BIT #KF.RUN,.KLFLG ; ...IS THE KL RUNNING?
2997 001246 001405 BEQ 10$ ; ...NO -- JUST KEEP GOING
2998 001250 013737 000000G 000140' MOV .KLFLG,.SVKLF ; ...SAVE THE CURRENT FLAGS
2999 001256 CALL .KLHLT ; ...HALT THE KL
001256 004737 010164' JSR PC,.KLHLT
3000 001262 10$:
3001 001262 POP R0 ; ...GET THE CODE INTO R0
001262 012600 MOV (SP)+,R0
3002 001264 006300 ASL R0 ; ..TIMES 2
3003 001266 022626 CMP (SP)+,(SP)+ ; ..CLEAR THE STACK
3004 001270 RETURN ; TO CALLER
001270 000207 RTS PC
3005 001272 DFCIFC:
3006 001272 ERROR$ IFC ; ERROR -- ILLEGAL FUNCTION CODE
001272 012746 034463 MOV #^RIFC,-(SP)
001276 104400 TRAP TC.ERR
3007 ;
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1110 03-OCT-79 11:35 PAGE 74
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
3009 .SBTTL .DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
3010
3011 ;+
3012 ; .DFRED -- DIAGNOSTIC FUNCTION READ
3013 ;
3014 ; THIS ROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION READ AND DISPLAY
3015 ; THE RESULT ON THE CONSOLE DEVICE.
3016 ;
3017 ; INPUT ARGUMENTS:
3018 ;
3019 ; NONE.
3020 ;
3021 ; OUTPUT ARGUMENTS:
3022 ;
3023 ; NONE.
3024 ;
3025 ; ERROR CODES RETURNED:
3026 ;
3027 ; IFC -- ILLEGAL FUNCTION CODE.
3028 ; FRF -- FUNCTION READ FAILED.
3029 ;-
3030
3031 001300 .DFRED::
3032 001300 CALL .DFCOM ; DO COMMON CODE
001300 004737 001170' JSR PC,.DFCOM
3033 001304 CALL .CKEOS ; CHECK END OF SYMBOL
001304 004737 000326' JSR PC,.CKEOS
3034 001310 CALL .XFRCK ; SEE THAT WE HAVE A LEGAL READ CODE
001310 004737 001504' JSR PC,.XFRCK
3035 001314 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
3036 001316 005046 CLR -(SP) ; .
3037 001320 005046 CLR -(SP) ; ..
3038 001322 010601 MOV SP,R1 ; ...POINT TO THE BUFFER
3039 001324 PUSH R0 ; ...SAVE THE READ CODE
001324 010046 MOV R0,-(SP)
3040 001326 CALL .FREAD ; ....DO THE READ
001326 004737 007512' JSR PC,.FREAD
3041 001332 012700 000043' MOV #DFRMSG,R0 ; ....MESSAGE POINTER TO R0
3042 001336 CALL .TYMSG ; ....TYPE IT
001336 004737 026202' JSR PC,.TYMSG
3043 001342 POP R0 ; ....READ CODE TO R0
001342 012600 MOV (SP)+,R0
3044 001344 006200 ASR R0 ; ...DIVIDED BY 2
3045 001346 CALL .TYP3D ; ...PRINT IT
001346 004737 025552' JSR PC,.TYP3D
3046 001352 CALL .TYSLS ; ...AND A SLASH
001352 004737 025444' JSR PC,.TYSLS
3047 001356 CALL .TYSPC ; ...AND A SPACE
001356 004737 025454' JSR PC,.TYSPC
3048 001362 010100 MOV R1,R0 ; ...POINT TO THE DATA
3049 001364 CALL .TYKLN ; ...PRINT IT
001364 004737 025676' JSR PC,.TYKLN
3050 001370 CALL .TCRLF ; ...END THE LINE
001370 004737 026272' JSR PC,.TCRLF
3051 001374 062706 000006 ADD #^D6,SP ; ...CLEAR THE STACK
3052 001400 CALLR .RSTKL ; RESTART THE KL AND EXIT
001400 000137 011734' JMP .RSTKL
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1110 03-OCT-79 11:35 PAGE 74-1
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
3053 ;
3054
3055 000043 .PSECT MESSAG
3056 000043 DFRMSG:
3057 000043 106 122 040 .ASCIZ %FR %
000046 000
3058 001404 .PSECT
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1110 03-OCT-79 11:35 PAGE 75
.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
3060 .SBTTL .DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
3061
3062 ;+
3063 ; .DFWRT -- DIAGNOSTIC FUNCTION WRITE
3064 ;
3065 ; THIS ROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION WRITE
3066 ;
3067 ; INPUT ARGUMENTS:
3068 ;
3069 ; NONE.
3070 ;
3071 ; OUTPUT ARGUMENTS:
3072 ;
3073 ; NONE.
3074 ;
3075 ; ERROR CODES RETURNED:
3076 ;
3077 ; IFC -- ILLEGAL FUNCTION CODE.
3078 ; FWF -- FUNCTION WRITE FAILED.
3079 ;-
3080
3081 001404 .DFWRT::
3082 001404 CALL .DFCOM ; DO COMMON CODE
001404 004737 001170' JSR PC,.DFCOM
3083 001410 CALL .CKCOL ; CHECK END-OF-SYMBOL
001410 004737 000200' JSR PC,.CKCOL
3084 001414 CALL .XFWCK ; SEE IF WE HAVE A GOOD WRITE CODE
001414 004737 001522' JSR PC,.XFWCK
3085 001420 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
3086 001422 005046 CLR -(SP) ; .
3087 001424 005046 CLR -(SP) ; ..
3088 001426 010601 MOV SP,R1 ; ...SAVE THE BUFFER POINTER
3089 001430 PUSH R0 ; ...SAVE THE WRITE CODE
001430 010046 MOV R0,-(SP)
3090 001432 010100 MOV R1,R0 ; ....POINT TO THE BUFFER
3091 001434 CALL .GTKLN ; ....READ THE DATA
001434 004737 024362' JSR PC,.GTKLN
3092 001440 CALL .CKEOS ; ....CHECK SYMBOL END
001440 004737 000326' JSR PC,.CKEOS
3093 001444 010001 MOV R0,R1 ; ....DATA POINTER TO R1
3094 001446 POP R0 ; ....GET THE WRITE CODE
001446 012600 MOV (SP)+,R0
3095 001450 CALL .FWRIT ; ...DO THE WRITE
001450 004737 007574' JSR PC,.FWRIT
3096 001454 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
3097 001460 CALLR .RSTKL ; RESTORE THE KL AND EXIT
001460 000137 011734' JMP .RSTKL
3098 ;
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1110 03-OCT-79 11:35 PAGE 76
.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
3100 .SBTTL .DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
3101
3102 ;+
3103 ; .DFXCT -- DIAGNOSTIC FUNCTION EXECUTE
3104 ;
3105 ; THIS SUBROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
3106 ;
3107 ; INPUT ARGUMENTS:
3108 ;
3109 ; NONE.
3110 ;
3111 ; OUTPUT ARGUMENTS:
3112 ;
3113 ; NONE.
3114 ;
3115 ; ERROR CODES RETURNED:
3116 ;
3117 ; IFC -- ILLEGAL FUNCTION CODE.
3118 ; FXF -- FUNCTION EXECUTE FAILED.
3119 ;-
3120
3121 001464 .DFXCT::
3122 001464 CALL .DFCOM ; DO COMMON CODE
001464 004737 001170' JSR PC,.DFCOM
3123 001470 CALL .CKEOS ; CHECK SYMBOL END
001470 004737 000326' JSR PC,.CKEOS
3124 001474 CALL .XFXCK ; CHECK THE FXCT CODE OUT
001474 004737 001540' JSR PC,.XFXCK
3125 001500 CALLR .FXCT ; DO THE FUNCTION EXECUTE
001500 000137 007716' JMP .FXCT
3126 ;
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1110 03-OCT-79 11:35 PAGE 77
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
3128 .SBTTL .XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
3129
3130 ;+
3131 ; .XFRCK -- SUBROUTINE TO RANGE CHECK FUNCTION READ CODES.
3132 ; .XFWCK -- SUBROUTINE TO RANGE CHECK FUNCTION WRITE CODES.
3133 ; .XFXCK -- SUBROUTINE TO RANGE CHECK FUNCTION EXECUTE CODES.
3134 ;
3135 ; THESE SUBROUTINES RANGE CHECK THE ARGUMENT CODES FOR THE FUNCTION
3136 ; READ, WRITE AND EXECUTE SUBROUTINES.
3137 ;
3138 ; INPUT ARGUMENTS:
3139 ;
3140 ; R0 HOLDS THE FUNCTION CODE TO BE CHECKED
3141 ;
3142 ; OUTPUT ARGUMENTS:
3143 ;
3144 ; NONE.
3145 ;
3146 ; ERROR CODES RETURNED:
3147 ;
3148 ; IFC -- ILLEGAL FUNCTION CODE.
3149 ; OFC -- ODD FUNCTION CODE.
3150 ;-
3151
3152 .ENABL LSB
3153
3154 001504 .XFRCK:: ; HERE TO CHECK FUNCTION READ CODE
3155 001504 020027 000200 CMP R0,#FR.100 ; IS IT .LT. FR.100?
3156 001510 103422 BLO FNCIFC ; NO -- ERROR
3157 001512 020027 000376 CMP R0,#FR.177 ; YES -- IS IT .GT. FR.177?
3158 001516 101017 BHI FNCIFC ; YES -- ERROR
3159 001520 000412 BR 10$ ; NO -- SEE IF IT'S ODD
3160 ;
3161 001522 .XFWCK:: ; HERE TO CHECK FUNCTION WRITE CODE
3162 001522 020027 000100 CMP R0,#FW.040 ; IS IT .LT. FW.040?
3163 001526 103413 BLO FNCIFC ; NO -- ERROR
3164 001530 020027 000176 CMP R0,#FW.LAR ; YES -- IS IT .GT. FW.077?
3165 001534 101010 BHI FNCIFC ; YES -- ERROR
3166 001536 000403 BR 10$ ; NO -- SEE IF IT'S ODD
3167 ;
3168 001540 .XFXCK:: ; HERE TO CHECK FUNCTION EXECUTE CODE
3169 001540 020027 000076 CMP R0,#FX.037 ; IS IT .GT. FX.037?
3170 001544 101004 BHI FNCIFC ; YES -- ERROR
3171 001546 10$:
3172 001546 032700 000001 BIT #BIT00,R0 ; NO -- IS IT ODD?
3173 001552 001004 BNE FNCOFC ; YES -- ERROR
3174 001554 RETURN ; NO -- ALL OK, RETURN TO CALLER
001554 000207 RTS PC
3175 001556 FNCIFC:
3176 001556 ERROR$ IFC ; ERROR -- ILLEGAL FUNCTION CODE
001556 012746 034463 MOV #^RIFC,-(SP)
001562 104400 TRAP TC.ERR
3177 ;
3178 001564 FNCOFC:
3179 001564 ERROR$ OFC ; ERROR -- ODD FUNCTION CODE
001564 012746 057263 MOV #^ROFC,-(SP)
001570 104400 TRAP TC.ERR
DFUNC -- KL10 DIAGNOSTIC FUNCTI MACRO M1110 03-OCT-79 11:35 PAGE 77-1
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
3180 ;
3181
3182 .DSABL LSB
DISCC -- DISCONNECT COMMAND MOD MACRO M1110 03-OCT-79 11:35 PAGE 78
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
3184 .TITLE DISCC -- DISCONNECT COMMAND MODULE 7702.28
3185
3186 .IDENT "005000"
3187 ;
3188 ; COPYRIGHT (C) 1975, 1979 BY
3189 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3190 ;
3191 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3192 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3193 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3194 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3195 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3196 ;
3197 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3198 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3199 ; CORPORATION.
3200 ;
3201 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3202 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3203 ;
3204 ; MODULE: DISCONNECT COMMAND
3205 ;
3206 ; VERSION: 05-00
3207 ;
3208 ; AUTHOR: R. BELANGER
3209 ;
3210 ; DATE: 7702.28
3211 ;
3212 ; THIS MODULE CONTAINS:
3213 ;
3214 ; 1) DISCONNECT COMMAND CODE
3215
3216 .MCALL DIR$,RQST$
DISCC -- DISCONNECT COMMAND MOD MACRO M1110 03-OCT-79 11:35 PAGE 79
.DISCC -- THE "DISCONNECT" COMMAND 7702.28
3218 .SBTTL .DISCC -- THE "DISCONNECT" COMMAND 7702.28
3219
3220 ;+
3221 ; .DISCC -- THE "DISCONNECT" COMMAND
3222 ;
3223 ; THIS SUBROUTINE CHECKS THE SYNTAX OF THE "DISCONNECT" COMMAND
3224 ; AND REQUESTS THE KLINIK DISCONNECT TASK, "KLDISC". THE KLINIK DISCONNECT
3225 ; TASK WILL THEN DISCONNECT THE KLINIK LINE, LOG THE DISCONNECT AND
3226 ; RETURN THE THE RSX20F COMMAND PARSER.
3227 ;
3228 ; INPUT ARGUMENTS:
3229 ;
3230 ; NONE.
3231 ;
3232 ; OUTPUT ARGUMENTS:
3233 ;
3234 ; NONE.
3235 ;
3236 ; ERROR CODES RETURNED:
3237 ;
3238 ; NONE.
3239 ;-
3240
3241 001572 .DISCC::
3242 001572 CALL .CKEOC ; MUST HAVE E-O-C
001572 004737 000264' JSR PC,.CKEOC
3243 001576 112737 000003 000001G MOVB #3,.KLNSW+1 ; FLAG DISCONNECT
3244 001604 DIR$ #RQSKLD ; REQUEST DISCONNECT TASK
001604 012746 000000' MOV #RQSKLD,-(SP)
001610 104375 EMT 375
3245 001612 CALLR .EXITP ; GO AWAY FOR NOW
001612 000137 012436' JMP .EXITP
3246 ;
3247
3248 000000 .PSECT DPBS
3249
3250 000000 RQSKLD:
3251 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 ,
3252
3253 001616 .PSECT
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1110 03-OCT-79 11:35 PAGE 80
.DISCC -- THE "DISCONNECT" COMMAND 7702.28
3255 .TITLE EDELE -- DEPOSIT / EXAMINE ELEVEN COMMAND MODULE 7603.30
3256
3257 .IDENT "005000"
3258
3259 ;
3260 ; COPYRIGHT (C) 1975, 1979 BY
3261 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3262 ;
3263 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3264 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3265 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3266 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3267 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3268 ;
3269 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3270 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3271 ; CORPORATION.
3272 ;
3273 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3274 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3275 ;
3276 ; MODULE: DEPOSIT / EXAMINE ELEVEN COMMAND
3277 ;
3278 ; VERSION: 05-00
3279 ;
3280 ; AUTHOR: R. BELANGER
3281 ;
3282 ; DATE: 7603.30
3283 ;
3284 ; THIS MODULE CONTAINS:
3285 ;
3286 ; 1) DEPOSIT / EXAMINE ELEVEN COMMAND CODE
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1110 03-OCT-79 11:35 PAGE 81
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
3288 .SBTTL .DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
3289
3290 ;+
3291 ; .DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND.
3292 ;
3293 ; THIS SUBROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE PDP-11
3294 ; ADDRESS SPECIFIED.
3295 ;
3296 ; INPUT ARGUMENTS:
3297 ;
3298 ; NONE.
3299 ;
3300 ; OUTPUT ARGUMENTS:
3301 ;
3302 ; THE PDP-11 ADDRESS DEPOSITED IS IN ".EDELA"
3303 ; THE DATA DEPOSITED IS IN ".ELDDW".
3304 ;
3305 ; ERROR CODES RETURNED:
3306 ;
3307 ; NONE.
3308 ;-
3309
3310 001616 .DPOSE::
3311 001616 CALL .CKARG ; SEE IF WE HAVE AN ARGUMENT
001616 004737 000140' JSR PC,.CKARG
3312 001622 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
3313 001624 012700 002742' MOV #.DPETB,R0 ; DEPOSIT EXTENSION TABLE POINTER TO R0
3314 001630 CALL .TSCAN ; SCAN IT
001630 004737 012672' JSR PC,.TSCAN
3315 001634 CALLR @2(R0) ; DISPATCH FOR IT
001634 000170 000002 JMP @2(R0)
3316 ;
3317 001640 10$:
3318 001640 CALL .GTELN ; READ THE ADDRESS
001640 004737 024300' JSR PC,.GTELN
3319 001644 032700 000001 BIT #BIT00,R0 ; IS IT ODD?
3320 001650 001050 BNE DPOOAI ; YES -- GIVE "OAI" ERROR
3321 001652 PUSH R0 ; NO -- SAVE IT
001652 010046 MOV R0,-(SP)
3322 001654 CALL .CKCOL ; .CHECK SEPARATOR
001654 004737 000200' JSR PC,.CKCOL
3323 001660 CALL .GTELN ; .READ THE DATA
001660 004737 024300' JSR PC,.GTELN
3324 001664 010001 MOV R0,R1 ; .DATA TO R1
3325 001666 POP R0 ; .ADDRESS TO R0
001666 012600 MOV (SP)+,R0
3326
3327 ; [CONTINUED ON THE FOLLOWING PAGE]
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1110 03-OCT-79 11:35 PAGE 82
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
3329 ; [CONTINUED FROM THE PREVIOUS PAGE]
3330
3331 001670 .DPSEE:: ; EXTENDED DEPOSIT ENTRY POINT
3332 001670 CALL .CKEOC ; CHECK FOR E-O-C
001670 004737 000264' JSR PC,.CKEOC
3333 001674 032700 000001 BIT #BIT00,R0 ; IS THE ADDRESS ODD?
3334 001700 001034 BNE DPOOAI ; YES -- GIVE "OAI" ERROR
3335 001702 PUSH R0 ; NO -- SAVE THE ADDRESS
001702 010046 MOV R0,-(SP)
3336 001704 PUSH R1 ; .AND THE DEPOSIT DATA
001704 010146 MOV R1,-(SP)
3337 001706 010037 000034' MOV R0,.EDELA ; ..LEAVE TRACKS
3338 001712 010137 000052' MOV R1,.ELDDW ; ..MORE TRACKS
3339 001716 013737 000144' 000174' MOV .TRP4V,.SSTTB ; ..SET UP TRAP AT 4 TRAP
3340 001724 011001 MOV (R0),R1 ; ..READ ORIGINAL CONTENTS
3341 001726 CALL .TYELA ; ..PRINT THE ADDRESS
001726 004737 025502' JSR PC,.TYELA
3342 001732 112700 000134 MOVB #'\,R0 ; ..BACK SLASH
3343 001736 CALL .TYCHR ; ..PRINT IT
001736 004737 026240' JSR PC,.TYCHR
3344 001742 CALL .TYSPC ; ..AND A SPACE
001742 004737 025454' JSR PC,.TYSPC
3345 001746 010100 MOV R1,R0 ; ..DATA TO R0
3346 001750 CALL .TYELN ; ..PRINT THAT
001750 004737 025506' JSR PC,.TYELN
3347 001754 POP R1 ; ..RESTORE DATA
001754 012601 MOV (SP)+,R1
3348 001756 POP R0 ; .AND ADDRESS
001756 012600 MOV (SP)+,R0
3349 001760 010110 MOV R1,(R0) ; DO THE DEPOSIT
3350 001762 005037 000174' CLR .SSTTB ; RESET TRAP AT 4 TRAP
3351 001766 CALLR .TCRLF ; TO CALLER
001766 000137 026272' JMP .TCRLF
3352 ;
3353 001772 DPOOAI:
3354 001772 ERROR$ OAI ; ERROR -- ODD ADDRESS ILLEGAL
001772 012746 056761 MOV #^ROAI,-(SP)
001776 104400 TRAP TC.ERR
3355 ;
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1110 03-OCT-79 11:35 PAGE 83
.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76
3357 .SBTTL .DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
3358
3359 .ENABL LSB
3360
3361 002000 .DPEWT:: ; DEPOSIT <ELEVEN> THIS
3362 002000 013700 000034' MOV .EDELA,R0 ; ADDRESS TO R0
3363 002004 000413 BR 10$ ; CHECK FOR ARGUMENTS
3364 ;
3365 002006 .DPEWD:: ; DEPOSIT <ELEVEN> DECREMENT
3366 002006 CALL .EDEWD ; DECREMENT THE ADDRESS
002006 004737 001016' JSR PC,.EDEWD
3367 002012 000410 BR 10$ ; EXIT THRU COMMON CODE
3368 ;
3369 002014 .DPEWI:: ; DEPOSIT <ELEVEN> INCREMENT
3370 002014 CALL .EDEWI ; INCREMENT THE ADDRESS
002014 004737 001030' JSR PC,.EDEWI
3371 002020 000405 BR 10$ ; EXIT THRU COMMON CODE
3372 ;
3373 002022 .DPEWN:: ; DEPOSIT <ELEVEN> NEXT
3374 002022 CALL .EDEWN ; GET THE NEXT ADDRESS
002022 004737 001030' JSR PC,.EDEWN
3375 002026 000402 BR 10$ ; EXIT THRU COMMON CODE
3376 ;
3377 002030 .DPEWP:: ; DEPOSIT <ELEVEN> PREVIOUS
3378 002030 CALL .EDEWP ; GET THE PREVIOUS ADDRESS
002030 004737 001016' JSR PC,.EDEWP
3379 002034 10$:
3380 002034 122715 000072 CMPB #':,(R5) ; DOES AN ARGUMENT FOLLOW?
3381 002040 001403 BEQ 20$ ; YES -- GO GET IT
3382 002042 013701 000052' MOV .ELDDW,R1 ; NO -- USE OLD DATA
3383 002046 000710 BR .DPSEE ; AND DO THE DEPOSIT
3384 ;
3385 002050 20$:
3386 002050 105725 TSTB (R5)+ ; GET OVER THE COLON
3387 002052 PUSH R0 ; SAVE THE ADDRESS
002052 010046 MOV R0,-(SP)
3388 002054 CALL .GTELN ; .READ THE DATA
002054 004737 024300' JSR PC,.GTELN
3389 002060 010001 MOV R0,R1 ; .DATA TO R1
3390 002062 POP R0 ; .ADDRESS TO R0
002062 012600 MOV (SP)+,R0
3391 002064 000701 BR .DPSEE ; DO THE DEPOSIT
3392 ;
3393
3394 .DSABL LSB
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1110 03-OCT-79 11:35 PAGE 84
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
3396 .SBTTL .EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
3397
3398 ;+
3399 ; .EXAME -- THE "EXAMINE <ELEVEN> COMMAND.
3400 ;
3401 ; THIS ROUTINE WILL EXAMINE AND DISPLAY THE CONTEN OF ONE PDP-11
3402 ; ELEVEN MEMORY LOCATION ON THE CONSOLE DEVICE.
3403 ;
3404 ; INPUT ARGUMENTS:
3405 ;
3406 ; NONE.
3407 ;
3408 ; OUTPUT ARGUMENTS:
3409 ;
3410 ; THE ADDRESS EXAMINED IS IN ".EDELA"
3411 ; THE EXAMINED DATA IS IN ".ELEDW"
3412 ;
3413 ; ERROR CODES RETURNED:
3414 ;
3415 ; NONE.
3416 ;-
3417
3418 002066 .EXAME::
3419 002066 CALL .CKARG ; SEE IF WE HAVE AN ARGUMENT
002066 004737 000140' JSR PC,.CKARG
3420 002072 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
3421 002074 012700 003064' MOV #.EXETB,R0 ; EXTENSION TABLE POINTER TO R0
3422 002100 CALL .TSCAN ; SCAN IT
002100 004737 012672' JSR PC,.TSCAN
3423 002104 CALLR @2(R0) ; DO WHAT IS SAYS TO
002104 000170 000002 JMP @2(R0)
3424 ;
3425 002110 10$:
3426 002110 CALL .GTELN ; READ THE ADDRESS
002110 004737 024300' JSR PC,.GTELN
3427
3428 ; [CONTINUED ON THE FOLLOWING PAGE]
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1110 03-OCT-79 11:35 PAGE 85
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
3430 ; [CONTINUED FROM THE PREVIOUS PAGE]
3431
3432 002114 .EXMEE:: ; EXTENDED EXAMINE ENTRY POINT
3433 002114 CALL .CKEOC ; CHECK FOR E-O-C
002114 004737 000264' JSR PC,.CKEOC
3434 002120 032700 000001 BIT #BIT00,R0 ; IS IT ODD?
3435 002124 001027 BNE EXAOAI ; YES -- GIVE "OAI" ERROR
3436 002126 013737 000144' 000174' MOV .TRP4V,.SSTTB ; SET UP TRAP AT 4 TRAP
3437 002134 010037 000034' MOV R0,.EDELA ; .LEAVE SOME TRACKS
3438 002140 011001 MOV (R0),R1 ; DO THE EXAMINE
3439 002142 005037 000174' CLR .SSTTB ; RESET TRAP AT 4 TRAP
3440 002146 010137 000054' MOV R1,.ELEDW ; MORE TRACKS
3441 002152 CALL .TYELA ; TYPE THE ADDRESS
002152 004737 025502' JSR PC,.TYELA
3442 002156 112700 000134 MOVB #'\,R0 ; BACKSLASH
3443 002162 CALL .TYCHR ; TYPE IT
002162 004737 026240' JSR PC,.TYCHR
3444 002166 CALL .TYSPC ; AND A SPACE
002166 004737 025454' JSR PC,.TYSPC
3445 002172 010100 MOV R1,R0 ; DATA TO R0
3446 002174 CALL .TYELN ; TYPE THAT
002174 004737 025506' JSR PC,.TYELN
3447 002200 CALLR .TCRLF ; END THE LINE AND EXIT
002200 000137 026272' JMP .TCRLF
3448 ;
3449 002204 EXAOAI:
3450 002204 ERROR$ OAI ; ERROR -- ODD ADDRESS ILLEGAL
002204 012746 056761 MOV #^ROAI,-(SP)
002210 104400 TRAP TC.ERR
3451 ;
EDELE -- DEPOSIT / EXAMINE ELEV MACRO M1110 03-OCT-79 11:35 PAGE 86
.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76
3453 .SBTTL .EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
3454
3455 .ENABL LSB
3456
3457 002212 .EXEWT:: ; EXAMINE <ELEVEN> THIS
3458 002212 013700 000034' MOV .EDELA,R0 ; ADDRESS TO R0
3459 002216 000736 BR .EXMEE ; DO THE EXAMINE
3460 ;
3461 002220 .EXEWD:: ; EXAMINE <ELEVEN> DECREMENT
3462 002220 CALL .EDEWD ; DECREMENT IT
002220 004737 001016' JSR PC,.EDEWD
3463 002224 000733 BR .EXMEE ; DO THE EXAMINE
3464 ;
3465 002226 .EXEWI:: ; EXAMINE <ELEVEN> INCREMENT
3466 002226 CALL .EDEWI ; INCREMENT IT
002226 004737 001030' JSR PC,.EDEWI
3467 002232 000730 BR .EXMEE ; DO THE EXAMINE
3468 ;
3469 002234 .EXEWN:: ; EXAMINE <ELEVEN> NEXT
3470 002234 CALL .EDEWN ; GET THE NEXT ADDRESS
002234 004737 001030' JSR PC,.EDEWN
3471 002240 000725 BR .EXMEE ; DO THE EXAMINE
3472 ;
3473 002242 .EXEWP:: ; EXAMINE <ELEVEN> PREVIOUS
3474 002242 CALL .EDEWP ; GET THE PREVIOUS ADDRESS
002242 004737 001016' JSR PC,.EDEWP
3475 002246 000722 BR .EXMEE ; DO THE EXAMINE
3476 ;
3477
3478 .DSABL LSB
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1110 03-OCT-79 11:35 PAGE 87
.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76
3480 .TITLE EDTEN -- DEPOSIT / EXAMINE TEN COMMAND MODULE 7603.21
3481
3482 .IDENT "005000"
3483
3484 ;
3485 ; COPYRIGHT (C) 1975, 1979 BY
3486 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3487 ;
3488 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3489 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3490 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3491 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3492 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3493 ;
3494 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3495 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3496 ; CORPORATION.
3497 ;
3498 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3499 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3500 ;
3501 ; MODULE: DEPOSIT / EXAMINE TEN COMMAND
3502 ;
3503 ; VERSION: 05-00
3504 ;
3505 ; AUTHOR: R. BELANGER
3506 ;
3507 ; DATE: 7603.21
3508 ;
3509 ; THIS MODULE CONTAINS:
3510 ;
3511 ; 1) DEPOSIT / EXAMINE TEN COMMAND CODE
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1110 03-OCT-79 11:35 PAGE 88
.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
3513 .SBTTL .DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
3514
3515 ;+
3516 ; .DEPAR -- THE "DEPOSIT AR" COMMAND.
3517 ;
3518 ; THIS ROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE KL AR REGISTER.
3519 ;
3520 ; INPUT ARGUMENTS:
3521 ;
3522 ; NONE.
3523 ;
3524 ; OUTPUT ARGUMENTS:
3525 ;
3526 ; NONE.
3527 ;
3528 ; ERROR CODES RETURNED:
3529 ;
3530 ; NONE.
3531 ;-
3532
3533 002250 .DEPAR::
3534 002250 CALL .CKRUN ; SEE IF THE KL IS RUNNING
002250 004737 000376' JSR PC,.CKRUN
3535 002254 CALL .CKCOL ; CHECK FOR A COLON
002254 004737 000200' JSR PC,.CKCOL
3536 002260 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
3537 002262 005046 CLR -(SP) ; .
3538 002264 005046 CLR -(SP) ; ..
3539 002266 010600 MOV SP,R0 ; ...POINT TO IT
3540 002270 CALL .GTNUM ; ...READ A NUMBER
002270 004737 024362' JSR PC,.GTNUM
3541 002274 CALL .CKEOC ; ...CHECK FOR E-O-C
002274 004737 000264' JSR PC,.CKEOC
3542 002300 PUSH .KLFLG ; ...SAVE ".KLFLG"
002300 013746 000000G MOV .KLFLG,-(SP)
3543 002304 032716 100000 BIT #KF.CLK,(SP) ; ....IS THE CLOCK RUNNING?
3544 002310 001402 BEQ 10$ ; ....NO -- GO ON
3545 002312 CALL .KLHLT ; ....STOP THE KL - DEAD
002312 004737 010164' JSR PC,.KLHLT
3546 002316 10$:
3547 002316 010001 MOV R0,R1 ; ....DATA POINTER TO R1
3548 002320 CALL .WRTAR ; ....WRITE THE AR
002320 004737 012226' JSR PC,.WRTAR
3549 002324 POP .SVKLF ; ....SET UP ".SVKLF"
002324 012637 000140' MOV (SP)+,.SVKLF
3550 002330 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
3551 002334 CALLR .KLRST ; RESTART THE KL AND EXIT
002334 000137 010424' JMP .KLRST
3552 ;
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1110 03-OCT-79 11:35 PAGE 89
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
3554 .SBTTL .DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
3555
3556 ;+
3557 ; .DPOST -- THE "DEPOSIT <TEN>" COMMAND.
3558 ;
3559 ; THIS SUBROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE DESIRED
3560 ; KL MEMORY LOCATION.
3561 ;
3562 ; INPUT ARGUMENTS:
3563 ;
3564 ; NONE.
3565 ;
3566 ; OUTPUT ARGUMENTS:
3567 ;
3568 ; THE ADDRESS DEPOSITED IS IN ".EDKLA"
3569 ; THE DATA DEPOSITED IS IN ".DPBFR"
3570 ;
3571 ; ERROR CODES RETURNED:
3572 ;
3573 ; APE -- KL APR ERROR
3574 ; DMF -- DEPOSIT KL MEMORY FAILED
3575 ; ESD -- EBOX STOPPED - DEPOSIT
3576 ; KLA -- KL ADDRESS ERROR
3577 ; KCN -- KL CLOCK NOT RUNNING
3578 ; MRA -- MISSING REQUIRED ARGUMENT
3579 ; NOR -- NUMBER OUT OF RANGE.
3580 ; VFY -- VERIFY FAILED
3581 ;-
3582
3583 002340 .DPOST::
3584 002340 CALL .CKARG ; SEE IF AN ARGUMENT FOLLOWS
002340 004737 000140' JSR PC,.CKARG
3585 002344 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
3586 002346 012700 002742' MOV #.DPETB,R0 ; EXTENSION TABLE POINTER TO R0
3587 002352 CALL .TSCAN ; SCAN IT
002352 004737 012672' JSR PC,.TSCAN
3588 002356 CALLR @2(R0) ; DO WHAT IT SAYS TO
002356 000170 000002 JMP @2(R0)
3589 ;
3590 002362 10$:
3591 002362 012700 000044' MOV #.EDKLX,R0 ; ADDRESS POINTER TO R0
3592 002366 CALL .GTKLA ; READ THE ADDRESS
002366 004737 024330' JSR PC,.GTKLA
3593 002372 CALL .CKCOL ; CHECK FOR A COLON
002372 004737 000200' JSR PC,.CKCOL
3594 002376 010001 MOV R0,R1 ; GOT IT, SAVE THE POINTER
3595 002400 012700 000026' MOV #.DPBFX,R0 ; DATA POINTER TO R0
3596 002404 CALL .GTKLN ; READ THE DATA
002404 004737 024362' JSR PC,.GTKLN
3597
3598 ; [CONTINUED ON THE FOLLOWING PAGE]
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1110 03-OCT-79 11:35 PAGE 90
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
3600 ; [CONTINUED FROM THE PREVIOUS PAGE]
3601
3602 002410 .DPSTE:: ; EXTENDED DEPOSIT ENTRY POINT
3603 002410 CALL .CKEOC ; CHECK E-O-C CHARACTER
002410 004737 000264' JSR PC,.CKEOC
3604 002414 032737 100000 000000G BIT #KF.CLK,.KLFLG ; IS THE CLOCK RUNNING?
3605 002422 001510 BEQ DPOKCN ; NO -- GIVE "KCN" ERROR
3606 002424 012702 000036' MOV #.EDKLA,R2 ; ADDRESS BUFFER POINTER TO R2
3607 002430 012122 MOV (R1)+,(R2)+ ; LOAD THE NEW ADDRESS
3608 002432 012122 MOV (R1)+,(R2)+ ; INTO THE ADDRESS BUFFER
3609 002434 011112 MOV (R1),(R2) ; SO
3610 002436 024242 CMP -(R2),-(R2) ; BACK THE POINTER UP
3611 002440 010201 MOV R2,R1 ; PUT IT IN R1
3612 002442 012702 000020' MOV #.DPBFR,R2 ; DEPOSIT DATA POINTER TO R2
3613 002446 012022 MOV (R0)+,(R2)+ ; LOAD THE NEW DATA
3614 002450 012022 MOV (R0)+,(R2)+ ; INTO THE DEPOSIT DATA BUFFER
3615 002452 011012 MOV (R0),(R2) ; SO
3616 002454 024242 CMP -(R2),-(R2) ; BACK THE POINTER UP
3617 002456 PUSH R2 ; SAVE THE DATA POINTER
002456 010246 MOV R2,-(SP)
3618 002460 PUSH R1 ; .AND THE ADDRESS POINTER
002460 010146 MOV R1,-(SP)
3619 002462 010600 MOV SP,R0 ; ..SAVE THE POINTER TO THE BLOCK
3620 002464 PUSH R0 ; ..SO
002464 010046 MOV R0,-(SP)
3621 002466 PUSH #.EXBFR ; ...POINT TO EXAMINE BUFFER
002466 012746 000056' MOV #.EXBFR,-(SP)
3622 002472 PUSH R1 ; ....FOR THIS ADDRESS
002472 010146 MOV R1,-(SP)
3623 002474 010601 MOV SP,R1 ; .....POINT TO THE BLOCK
3624 002476 012700 000200 MOV #ED.PHY,R0 ; .....PHYSICAL REFERENCE
3625 002502 CALL .EXKLM ; .....EXAMINE IT FIRST
002502 004737 007064' JSR PC,.EXKLM
3626 002506 POP R0 ; .....GET THE ADDRESS POINTER
002506 012600 MOV (SP)+,R0
3627 002510 CALL .TYKLA ; ....PRINT IT
002510 004737 025626' JSR PC,.TYKLA
3628 002514 CALL .TYSLS ; ....AND A <SLASH>
002514 004737 025444' JSR PC,.TYSLS
3629 002520 CALL .TYSPC ; ....NOW A <SPACE>
002520 004737 025454' JSR PC,.TYSPC
3630 002524 POP R0 ; ....GET THE DATA POINTER
002524 012600 MOV (SP)+,R0
3631 002526 CALL .TYKLN ; ...TYPE THE DATA
002526 004737 025676' JSR PC,.TYKLN
3632 002532 CALL .TCRLF ; ...AND A <CRLF>
002532 004737 026272' JSR PC,.TCRLF
3633
3634 ; [CONTINUED ON THE FOLLOWING PAGE]
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1110 03-OCT-79 11:35 PAGE 91
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
3636 ; [CONTINUED FROM THE PREVIOUS PAGE]
3637
3638 002536 POP R1 ; ...POINT TO THE DEPOSIT BLOCK
002536 012601 MOV (SP)+,R1
3639 002540 012700 000200 MOV #ED.PHY,R0 ; ..PHYSICAL REFERENCE
3640 002544 CALL .DPKLM ; ..DO THE DEPOSIT
002544 004737 007116' JSR PC,.DPKLM
3641 002550 005737 000166' TST .VFYFL ; ..VERIFY THE DEPOSIT?
3642 002554 001426 BEQ 20$ ; ..NO -- JUST EXIT
3643 002556 012766 000056' 000002 MOV #.EXBFR,2(SP) ; ..YES -- CHANGE THE BUFFER POINTER
3644 002564 012700 000200 MOV #ED.PHY,R0 ; ..PHYSICAL REFERENCE
3645 002570 CALL .EXKLM ; ..EXAMINE IT
002570 004737 007064' JSR PC,.EXKLM
3646 002574 012700 000020' MOV #.DPBFR,R0 ; ..DEPOSITED DATA
3647 002600 012701 000056' MOV #.EXBFR,R1 ; ..EXAMINED DATA
3648 002604 CALL .TPCMP ; ..SEE IF THEY COMPARE
002604 004737 022640' JSR PC,.TPCMP
3649 002610 001020 BNE DPOVFE ; ..NO -- COMPLAIN
3650 002612 CALL .STPKL ; ..STOP THE KL
002612 004737 012012' JSR PC,.STPKL
3651 002616 CALL .RDAPR ; ..SEE IF THERE ARE ANY APR ERRORS
002616 004737 003144' JSR PC,.RDAPR
3652 002622 CALL .RSTKL ; ..RESTART THE KL
002622 004737 011734' JSR PC,.RSTKL
3653 002626 005700 TST R0 ; ..ARE THERE ANY ERRORS?
3654 002630 001002 BNE DPOAPE ; ..YES -- COMPLAIN
3655 002632 20$:
3656 002632 022626 CMP (SP)+,(SP)+ ; ..CLEAR THE STACK
3657 002634 RETURN ; TO CALLER
002634 000207 RTS PC
3658 002636 DPOAPE:
3659 002636 ERROR$ APE ; ERROR -- KL APR ERROR
002636 012746 004305 MOV #^RAPE,-(SP)
002642 104400 TRAP TC.ERR
3660 ;
3661 002644 DPOKCN:
3662 002644 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
002644 012746 042506 MOV #^RKCN,-(SP)
002650 104400 TRAP TC.ERR
3663 ;
3664 002652 DPOVFE:
3665 002652 ERROR$ VFY ; ERROR -- VERIFY FAILED
002652 012746 105211 MOV #^RVFY,-(SP)
002656 104400 TRAP TC.ERR
3666 ;
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1110 03-OCT-79 11:35 PAGE 92
.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.
3668 .SBTTL .DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.29
3669
3670 .ENABL LSB
3671
3672 002660 .DPKLT:: ; DEPOSIT <TEN> THIS
3673 002660 012700 000044' MOV #.EDKLX,R0 ; ADDRESS POINTER TO R0
3674 002664 000413 BR 10$ ; CHECK FOR ARGUMENTS
3675 ;
3676 002666 .DPKLD:: ; DEPOSIT <TEN> DECREMENT
3677 002666 CALL .EDKLD ; DO THE DECREMENT
002666 004737 001066' JSR PC,.EDKLD
3678 002672 000410 BR 10$ ; EXIT THRU COMMON CODE
3679 ;
3680 002674 .DPKLI:: ; DEPOSIT <TEN> INCREMENT
3681 002674 CALL .EDKLI ; DO THE INCREMENT
002674 004737 001104' JSR PC,.EDKLI
3682 002700 000405 BR 10$ ; EXIT THRU COMMON CODE
3683 ;
3684 002702 .DPKLN:: ; DEPOSIT <TEN> NEXT
3685 002702 CALL .EDKLN ; GO GET NEXT ADDRESS
002702 004737 001054' JSR PC,.EDKLN
3686 002706 000402 BR 10$ ; EXIT THRU COMMON CODE
3687 ;
3688 002710 .DPKLP:: ; DEPOSIT <TEN> PREVIOUS
3689 002710 CALL .EDKLP ; GO GET PREVIOUS ADDRESS
002710 004737 001042' JSR PC,.EDKLP
3690 002714 10$:
3691 002714 010001 MOV R0,R1 ; ADDRESS POINTER TO R1
3692 002716 122715 000072 CMPB #':,(R5) ; IS THERE AN ARGUMENT FOLLOWING?
3693 002722 001403 BEQ 20$ ; YES -- GO GET IT
3694 002724 012700 000026' MOV #.DPBFX,R0 ; NO -- USE OLD DATA
3695 002730 000627 BR .DPSTE ; AND DO THE DEPOSIT
3696 ;
3697 002732 20$:
3698 002732 105725 TSTB (R5)+ ; GET OVER THE COLON
3699 002734 012700 000026' MOV #.DPBFX,R0 ; POINT TO THE DATA BUFFER
3700 002740 CALL .GTKLN ; GET A NUMBER
002740 004737 024362' JSR PC,.GTKLN
3701 002744 000621 BR .DPSTE ; DO THE DEPOSIT
3702 ;
3703
3704 .DSABL LSB
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1110 03-OCT-79 11:35 PAGE 93
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
3706 .SBTTL .EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
3707
3708 ;+
3709 ; .EXAMT -- THE "EXAMINE <TEN>" COMMAND.
3710 ;
3711 ; THIS SUBROUTINE READS A KL ADDRESS, EXAMINES THAT ADDRESS,
3712 ; AND PRINTS THE CONTENT OF THAT ADDRESS.
3713 ;
3714 ; INPUT ARGUMENTS:
3715 ;
3716 ; NONE.
3717 ;
3718 ; OUTPUT ARGUMENTS:
3719 ;
3720 ; NONE.
3721 ;
3722 ; ERROR CODES RETURNED:
3723 ;
3724 ; EMF -- EXAMINE MEMORY FAILED.
3725 ; ESE -- EBOX STOPPED - EXAMINE
3726 ; KLA -- KL ADDRESS ERROR
3727 ; KCN -- KL CLOCK NOT RUNNING
3728 ; MRA -- MISSING REQUIRED ARGUMENT
3729 ;-
3730
3731 002746 .EXAMT::
3732 002746 CALL .CKARG ; SEE IF WE HAVE AN ARGUMENT
002746 004737 000140' JSR PC,.CKARG
3733 002752 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
3734 002754 012700 003064' MOV #.EXETB,R0 ; EXTENSION TABLE POINTER TO R0
3735 002760 CALL .TSCAN ; SCAN THE TABLE
002760 004737 012672' JSR PC,.TSCAN
3736 002764 CALLR @2(R0) ; DO WHAT IT SAYS TO
002764 000170 000002 JMP @2(R0)
3737 ;
3738 002770 10$:
3739 002770 012700 000044' MOV #.EDKLX,R0 ; POINT TO ADDRESS BUFFER
3740 002774 CALL .GTKLA ; GO GET THE ADDRESS
002774 004737 024330' JSR PC,.GTKLA
3741
3742 ; [CONTINUED ON THE FOLLOWING PAGE]
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1110 03-OCT-79 11:35 PAGE 94
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
3744 ; [CONTINUED FROM THE PREVIOUS PAGE]
3745
3746 003000 .EXMTE:: ; EXTENDED EXAMINE ENTRY POINT
3747 003000 CALL .CKEOC ; CHECK E-O-C CHARACTER
003000 004737 000264' JSR PC,.CKEOC
3748 003004 032737 100000 000000G BIT #KF.CLK,.KLFLG ; IS THE KL CLOCK ON?
3749 003012 001432 BEQ EXTKCN ; NO -- GIVE "KCN" ERROR
3750 003014 PUSH #.EXBFR ; YES -- SAVE THE DATA POINTER
003014 012746 000056' MOV #.EXBFR,-(SP)
3751 003020 012702 000036' MOV #.EDKLA,R2 ; .ADDRESS BUFFER POINTER TO R2
3752 003024 012022 MOV (R0)+,(R2)+ ; .LOAD THE NEW ADDRESS
3753 003026 012022 MOV (R0)+,(R2)+ ; .INTO THE ADDRESS BUFFER
3754 003030 011012 MOV (R0),(R2) ; .SO
3755 003032 024242 CMP -(R2),-(R2) ; .BACK THE POINTER UP
3756 003034 PUSH R2 ; .ADDRESS POINTER
003034 010246 MOV R2,-(SP)
3757 003036 010601 MOV SP,R1 ; ..POINT TO THE DATA BLOCK
3758 003040 012700 000200 MOV #ED.PHY,R0 ; ..PHYSICAL REFERENCE
3759 003044 CALL .EXKLM ; ..DO THE EXAMINE
003044 004737 007064' JSR PC,.EXKLM
3760 003050 POP R0 ; ..POINT TO THE ADDRESS
003050 012600 MOV (SP)+,R0
3761 003052 CALL .TYKLA ; .PRINT THE ADDRESS
003052 004737 025626' JSR PC,.TYKLA
3762 003056 CALL .TYSLS ; .TYPE A SLASH
003056 004737 025444' JSR PC,.TYSLS
3763 003062 CALL .TYSPC ; .AND A SPACE
003062 004737 025454' JSR PC,.TYSPC
3764 003066 POP R0 ; .POINT TO THE DATA
003066 012600 MOV (SP)+,R0
3765 003070 CALL .TYKLN ; PRINT THE DATA
003070 004737 025676' JSR PC,.TYKLN
3766 003074 CALLR .TCRLF ; AND END THE LINE
003074 000137 026272' JMP .TCRLF
3767 ;
3768 003100 EXTKCN:
3769 003100 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
003100 012746 042506 MOV #^RKCN,-(SP)
003104 104400 TRAP TC.ERR
3770 ;
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1110 03-OCT-79 11:35 PAGE 95
.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.
3772 .SBTTL .EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
3773
3774 .ENABL LSB
3775
3776 003106 .EXKLT:: ; EXAMINE <TEN> THIS
3777 003106 012700 000036' MOV #.EDKLA,R0 ; ADDRESS POINTER TO R0
3778 003112 000732 BR .EXMTE ; DO THE EXAMINE
3779 ;
3780 003114 .EXKLD:: ; EXAMINE <TEN> DECREMENT
3781 003114 CALL .EDKLD ; DECREMENT IT
003114 004737 001066' JSR PC,.EDKLD
3782 003120 000727 BR .EXMTE ; DO THE EXAMINE
3783 ;
3784 003122 .EXKLI:: ; EXAMINE <TEN> INCREMENT
3785 003122 CALL .EDKLI ; INCREMENT IT
003122 004737 001104' JSR PC,.EDKLI
3786 003126 000724 BR .EXMTE ; DO THE EXAMINE
3787 ;
3788 003130 .EXKLN:: ; EXAMINE <TEN> NEXT
3789 003130 CALL .EDKLN ; GET NEXT ADDRESS
003130 004737 001054' JSR PC,.EDKLN
3790 003134 000721 BR .EXMTE ; DO THE EXAMINE
3791 ;
3792 003136 .EXKLP:: ; EXAMINE <TEN> PREVIOUS
3793 003136 CALL .EDKLP ; GET THE PREVIOUS ADDDRESS
003136 004737 001042' JSR PC,.EDKLP
3794 003142 000716 BR .EXMTE ; DO THE EXAMINE
3795 ;
3796
3797 .DSABL LSB
EDTEN -- DEPOSIT / EXAMINE TEN MACRO M1110 03-OCT-79 11:35 PAGE 96
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
3799 .SBTTL .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
3800
3801 ;+
3802 ; .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR.
3803 ;
3804 ; THIS SUBROUTINE READS THE ERROR STATE OF THE KL APR AND RETURNS
3805 ; THAT ERROR STATE IN R0 AND ".APRWD".
3806 ;
3807 ; THE FORMAT OF THE DATA RETURNED IS:
3808 ;
3809 ; AP.PWF -- BIT00 -- [APR PWR FAIL IN H] -- POWER FAIL
3810 ; AP.SAP -- BIT01 -- [APR S ADR P ERR IN H] -- SBUS ADR PARITY ERROR
3811 ; AP.CDP -- BIT02 -- [APR C DIR P ERR IN H] -- CACHE DIR PARITY ERROR
3812 ; AP.MPE -- BIT03 -- [APR MB PAR ERR IN H] -- MB PARITY ERROR
3813 ; AP.IPF -- BIT04 -- [APR I/O PF ERR IN H] -- I/O PAGE FAIL ERROR
3814 ; AP.NXM -- BIT05 -- [APR NXM ERR IN H] -- NON-EX-MEMORY ERROR
3815 ; AP.SBE -- BIT06 -- [APR SBUS ERR IN H] -- SBUS ERROR
3816 ;
3817 ; INPUT ARGUMENTS:
3818 ;
3819 ; NONE.
3820 ;
3821 ; OUTPUT ARGUMENTS:
3822 ;
3823 ; R0 CONTAINS A COPY OF THE KL APR ERROR FLAGS
3824 ; ".APRWD" CONTAINS A COPY OF THE KL APR ERROR FLAGS
3825 ;
3826 ; ERROR CODES RETURNED:
3827 ;
3828 ; FRF -- FUNCTION READ FAILED.
3829 ;-
3830
3831 003144 .RDAPR::
3832 003144 PUSH R1 ; SAVE R1 ON THE STACK
003144 010146 MOV R1,-(SP)
3833 003146 005001 CLR R1 ; .CLEAR R1
3834 003150 012700 000220 MOV #FR.APR,R0 ; .FR TO READ APR ERRORS
3835 003154 CALL .FREAD ; .READ APR ERRORS
003154 004737 007512' JSR PC,.FREAD
3836 003160 012701 177751 MOV #-^D23,R1 ; .SHIFT COUNT TO R1
3837 003164 CALL .TPSHI ; .SHIFT ERROR BITS INTO POSITION
003164 004737 023172' JSR PC,.TPSHI
3838 003170 042710 177600 BIC #177600,(R0) ; .FLUSH UNWANTED BITS
3839 003174 011037 000000' MOV (R0),.APRWD ; .SAVE THE WORD
3840 003200 011000 MOV (R0),R0 ; .PUT A COPY IN R0
3841 003202 POP R1 ; .RESTORE R1
003202 012601 MOV (SP)+,R1
3842 003204 RETURN ; AND GO AWAY
003204 000207 RTS PC
ERROR -- PARSER ERROR HANDLER M MACRO M1110 03-OCT-79 11:35 PAGE 97
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
3844 .TITLE ERROR -- PARSER ERROR HANDLER MODULE 7609.24
3845
3846 .IDENT "005000"
3847 ;
3848 ; COPYRIGHT (C) 1975, 1979 BY
3849 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3850 ;
3851 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
3852 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
3853 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
3854 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
3855 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
3856 ;
3857 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
3858 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
3859 ; CORPORATION.
3860 ;
3861 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3862 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
3863 ;
3864 ; MODULE: ERROR HANDLER
3865 ;
3866 ; VERSION: 05-00
3867 ;
3868 ; AUTHOR: R. BELANGER
3869 ;
3870 ; DATE: 7609.24
3871 ;
3872 ; THIS MODULE CONTAINS:
3873 ;
3874 ; 1) ERROR DECODER
ERROR -- PARSER ERROR HANDLER M MACRO M1110 03-OCT-79 11:35 PAGE 98
.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
3876 .SBTTL .PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
3877
3878 ;+
3879 ; .PARER -- ERROR DECODE AND PRINT ROUTINE.
3880 ;
3881 ; THIS ROUTINE WILL DECODE THE .RAD50 ERROR CODE PASSED TO IT IN R0
3882 ; AND PRINT AN APPROPRIATE ENGLISH ERROR MESSAGE. THIS ROUTINE IS
3883 ; CALLED FROM THE TRAP HANDLER, ".PTTRP".
3884 ;
3885 ; TWO ERROR CODE TABLES ARE SCANNED, ONE FOR SPECIAL ERRORS AND ONE FOR
3886 ; NORMAL ERRORS, UNTIL A MATCH IS FOUND. IF NO MATCH IS FOUND, ".PARER"
3887 ; WILL ISSUE A "UEC" ERROR CODE.
3888 ;
3889 ; THE SPECIAL ERROR CODES REQUIRE SPECIAL HANDLING BY SEPARATE ROUTINES,
3890 ; THIER ENTRIES LOOK LIKE THIS:
3891 ;
3892 ; !===============================!
3893 ; ! .RAD50 ERROR CODE !
3894 ; !-------------------------------!
3895 ; ! DISPATCH ADDRESS !
3896 ; !-------------------------------!
3897 ; ! MESSAGE POINTER !
3898 ; !===============================!
3899 ;
3900 ; THE NORMAL ERRORS SIMPLY REQUIRE THAT THE ERROR MESSAGE BE PRINTED
3901 ; AND THE ENTRIES IN THIER TABLE LOOK LIKE THIS:
3902 ;
3903 ; !===============================!
3904 ; ! .RAD50 ERROR CODE !
3905 ; !-------------------------------!
3906 ; ! MESSAGE POINTER !
3907 ; !===============================!
3908 ;
3909 ; INPUT ARGUMENTS:
3910 ;
3911 ; R0 HOLDS THE .RAD50 ERROR CODE
3912 ;
3913 ; OUTPUT ARGUMENTS:
3914 ;
3915 ; NONE.
3916 ;
3917 ; ERROR MESSAGES RETURNED:
3918 ;
3919 ; IF THE CONSOLE DEVICE CANNOT BE ATTACHED OR DEATCHED,
3920 ; THE PARSER EXITS.
3921 ;
3922 ; UEC -- UNMATCHED ERROR CODE.
3923 ;-
ERROR -- PARSER ERROR HANDLER M MACRO M1110 03-OCT-79 11:35 PAGE 99
.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
3925 003206 .PARER::
3926 003206 PUSH <R0,R1,R2> ; SAVE CALLER'S REGISTERS
003206 010046 MOV R0,-(SP)
003210 010146 MOV R1,-(SP)
003212 010246 MOV R2,-(SP)
3927 003214 012701 004576' MOV #.SPETB,R1 ; ...SPECIAL ERRORS GET CHECKED FIRST
3928 003220 10$:
3929 003220 012102 MOV (R1)+,R2 ; ...ERROR CODE TO R2
3930 003222 001405 BEQ 30$ ; ...END-OF-TABLE TRY OTHER ERROR CODES
3931 003224 020002 CMP R0,R2 ; ...DO THEY MATCH?
3932 003226 001402 BEQ 20$ ; ...YES -- DISPATCH TO SPECIAL HANDLER
3933 003230 022121 CMP (R1)+,(R1)+ ; ...NO -- GET OVER DISPATCH
3934 003232 000772 BR 10$ ; ...AND TRY THE NEXT ONE
3935 ;
3936 003234 20$:
3937 003234 000131 JMP @(R1)+ ; ...AWAY TO SPECIAL ROUTINE
3938 ;
3939 003236 30$:
3940 003236 012701 003574' MOV #.NSETB,R1 ; ...TABLE POINTER TO R1
3941 003242 40$:
3942 003242 012102 MOV (R1)+,R2 ; ...ERROR CODE TO R2
3943 003244 001521 BEQ PARUEC ; ...END-OF-TABLE -- GIVE UEC ERROR
3944 003246 020002 CMP R0,R2 ; ...DO THEY MATCH?
3945 003250 001402 BEQ 50$ ; ...YES -- PRINT THE MESSAGE
3946 003252 005721 TST (R1)+ ; ...NO -- GET OVER MESSAGE POINTER
3947 003254 000772 BR 40$ ; ...AND TRY NEXT CODE
3948 ;
3949 003256 50$:
3950 003256 CALL PARERC ; ...DO COMMON OUTPUT CODE
003256 004737 003436' JSR PC,PARERC
3951 003262 PARERX:
3952 003262 POP <R2,R1,R0> ; ...RESTORE THE REGISTERS
003262 012602 MOV (SP)+,R2
003264 012601 MOV (SP)+,R1
003266 012600 MOV (SP)+,R0
3953 003270 CALLR .TCRLF ; END THE LINE AND RETURN
003270 000137 026272' JMP .TCRLF
3954 ;
ERROR -- PARSER ERROR HANDLER M MACRO M1110 03-OCT-79 11:35 PAGE 100
.PARER -- SPECIAL ERROR ROUTINES 7609.24
3956 .SBTTL .PARER -- SPECIAL ERROR ROUTINES 7609.24
3957
3958 .ENABL LSB
3959
3960 003274 .SEAMB::
3961 003274 .SENSK::
3962 003274 CALL PARERC ; ...DO COMMON CODE
003274 004737 003436' JSR PC,PARERC
3963 003300 10$:
3964 003300 112500 MOVB (R5)+,R0 ; ...LOAD THE OFFENDING SYMBOL
3965 003302 132760 000034 001360' BITB #CH.END,.CHTAB(R0)
3966 003310 001017 BNE 30$ ; ...UNTIL THE END
3967 003312 CALL .TYCHR ; ...OUTPUT THE CHARACTER
003312 004737 026240' JSR PC,.TYCHR
3968 003316 000770 BR 10$ ; ...CONTINUE
3969 ;
3970 003320 .SEILC::
3971 003320 .SEILS::
3972 003320 .SEIPC::
3973 003320 CALL PARERC ; ...DO COMMON CODE
003320 004737 003436' JSR PC,PARERC
3974 003324 110400 MOVB R4,R0 ; ...GET THE CHARACTER
3975 003326 122700 000040 CMPB #.SPACE,R0 ; ...IS IT A CONTROL CHARACTER?
3976 003332 003404 BLE 20$ ; ...NO -- JUST PRINT IT
3977 003334 CALL .TYUPA ; ...YES -- TYPE AN <UPARROW>
003334 004737 025464' JSR PC,.TYUPA
3978 003340 052700 000100 BIS #100,R0 ; ...MAKE IT A PRINTING CHARACTER
3979 003344 20$:
3980 003344 CALL .TYCHR ; ...PRINT THE CHARACTER
003344 004737 026240' JSR PC,.TYCHR
3981 003350 30$:
3982 003350 112700 000042 MOVB #'",R0 ; ...END QUOTE
3983 003354 CALL .TYCHR ; ...PRINT THAT
003354 004737 026240' JSR PC,.TYCHR
3984 003360 000740 BR PARERX ; ...AND EXIT
3985 ;
ERROR -- PARSER ERROR HANDLER M MACRO M1110 03-OCT-79 11:35 PAGE 101
.PARER -- SPECIAL ERROR ROUTINES 7609.24
3987 003362 .SEFRF::
3988 003362 PUSH .KLDFR+2 ; ...SAVE THE READ CODE
003362 013746 000110' MOV .KLDFR+2,-(SP)
3989 003366 000405 BR 40$ ; ....TO COMMON CODE
3990 ;
3991 003370 .SEFWF::
3992 003370 PUSH .KLDFW+2 ; ...SAVE THE WRITE CODE
003370 013746 000122' MOV .KLDFW+2,-(SP)
3993 003374 000402 BR 40$ ; ....TO COMMON CODE
3994 ;
3995 003376 .SEFXF::
3996 003376 PUSH .KLDFX+2 ; ...SAVE THE EXECUTE CODE
003376 013746 000134' MOV .KLDFX+2,-(SP)
3997 003402 40$:
3998 003402 CALL PARERC ; ....DO COMMON STUFF
003402 004737 003436' JSR PC,PARERC
3999 003406 POP R0 ; ....GET THE CODE
003406 012600 MOV (SP)+,R0
4000 003410 000300 SWAB R0 ; ...SWAP THE BYTES
4001 003412 042700 177400 BIC #^C377,R0 ; ...CLEAR JUNK
4002 003416 006200 ASR R0 ; ...DIVIDE BY 2
4003 003420 CALL .TYP3D ; ...PRINT CODE
003420 004737 025552' JSR PC,.TYP3D
4004 003424 012700 000047' MOV #FLDMSG,R0 ; ...END MESSAGE
4005 003430 CALL .TYMSG ; ...PRINT IT
003430 004737 026202' JSR PC,.TYMSG
4006 003434 000712 BR PARERX ; ...AND EXIT
4007 ;
4008
4009 000047 .PSECT MESSAG
4010
4011 000047 FLDMSG:
4012 000047 040 106 101 .ASCIZ % FAILED%
000052 111 114 105
000055 104 000
4013 003436 .PSECT
ERROR -- PARSER ERROR HANDLER M MACRO M1110 03-OCT-79 11:35 PAGE 102
.PARER -- SPECIAL ERROR ROUTINES 7609.24
4015 ; THIS IS THE COMMON ERROR CODE ROUTINE
4016
4017 003436 PARERC:
4018 003436 012700 000011' MOV #PARMSG,R0 ; ...PREAMBLE
4019 003442 CALL .TYMSG ; ...PRINT IT
003442 004737 026202' JSR PC,.TYMSG
4020 003446 012700 000133 MOV #'[,R0 ; ...LEFT BRACKET
4021 003452 CALL .TYCHR ; ...PRINT IT
003452 004737 026240' JSR PC,.TYCHR
4022 003456 013700 000002' MOV .CCMDN,R0 ; ...CURRENT COMMAND NAME
4023 003462 CALL .TYMSG ; ...PRINT IT
003462 004737 026202' JSR PC,.TYMSG
4024 003466 012700 000135 MOV #'],R0 ; ...RIGHT BRACKET
4025 003472 CALL .TYCHR ; ...PRINT IT
003472 004737 026240' JSR PC,.TYCHR
4026 003476 CALL .TYSPC ; ...<SPACE>
003476 004737 025454' JSR PC,.TYSPC
4027 003502 011100 MOV (R1),R0 ; ...ERROR MESSAGE
4028 003504 CALLR .TYMSG ; ...PRINT IT AND RETURN
003504 000137 026202' JMP .TYMSG
4029 ;
4030 003510 PARUEC:
4031 003510 PUSH R0 ; ...SAVE THE ERROR CODE
003510 010046 MOV R0,-(SP)
4032 003512 012701 001602' MOV #UECMSP,R1 ; ...."UEC" MESSAGE POINTER TO R1
4033 003516 CALL PARERC ; ....DO COMMON CODE
003516 004737 003436' JSR PC,PARERC
4034 003522 POP R0 ; ....RESTORE THE ERROR CODE
003522 012600 MOV (SP)+,R0
4035 003524 CALL .TYR50 ; ...PRINT IT
003524 004737 026404' JSR PC,.TYR50
4036 003530 000707 BR 30$ ; ...AND EXIT
4037 ;
4038
4039 .DSABL LSB
4040
4041 001602 .PSECT DATA
4042
4043 001602 UECMSP:
4044 001602 000057' .WORD UECMSG
4045
4046 000057 .PSECT MESSAG
4047
4048 000057 UECMSG:
4049 000057 125 116 115 .ASCIZ %UNMATCHED ERROR CODE "%
000062 101 124 103
000065 110 105 104
000070 040 105 122
000073 122 117 122
000076 040 103 117
000101 104 105 040
000104 042 000
4050
4051 003532 .PSECT
ERROR -- PARSER ERROR HANDLER M MACRO M1110 03-OCT-79 11:35 PAGE 103
.PARER -- SPECIAL ERROR ROUTINES 7609.24
4053 003532 .SECES::
4054 003532 CALL PARERC ; ...DO COMMON CODE
003532 004737 003436' JSR PC,PARERC
4055 003536 CALL .RDIPE ; ...READ THE ERROR BITS
003536 004737 011420' JSR PC,.RDIPE
4056 003542 PUSH R0 ; ....SAVE THEM
003542 010046 MOV R0,-(SP)
4057 003544 001420 BEQ 30$ ; ....BAD NEWS IF NONE THERE
4058 003546 012701 001604' MOV #SPCEST,R1 ; ....TABLE POINTER TO R1
4059 003552 10$:
4060 003552 032716 000001 BIT #BIT00,(SP) ; ....IS THE BIT ON
4061 003556 001407 BEQ 20$ ; ....NO -- GO ON
4062 003560 011100 MOV (R1),R0 ; ....YES -- SAY SO
4063 003562 CALL .TYMSG ; ....PRINT IT
003562 004737 026202' JSR PC,.TYMSG
4064 003566 CALL .TYCOM ; ....PRINT A COMMA
003566 004737 025424' JSR PC,.TYCOM
4065 003572 CALL .TYSPC ; ....AND A SPACE
003572 004737 025454' JSR PC,.TYSPC
4066 003576 20$:
4067 003576 005721 TST (R1)+ ; ....ADVANCE THE POINTER
4068 003600 006216 ASR (SP) ; ....SHIFT THE ERROR BITS
4069 003602 001363 BNE 10$ ; ....AND KEEP GOING
4070 003604 000404 BR 40$ ; ....FINISHED -- EXIT
4071 ;
4072 003606 30$:
4073 003606 012700 000121' MOV #NEBMSG,R0 ; ....NO ERROR BIT ARE SET
4074 003612 CALL .TYMSG ; ....SAY SO
003612 004737 026202' JSR PC,.TYMSG
4075 003616 40$:
4076 003616 005726 TST (SP)+ ; ....FLUSH THE STACK
4077 003620 000620 BR PARERX ; ...AND EXIT
4078 ;
4079
4080 001604 .PSECT DATA
4081
4082 001604 SPCEST:
4083 001604 000106' .WORD ERSMSG
4084 001606 003134' .WORD DRMMSG
4085 001610 003025' .WORD CRMMSG
4086 001612 002447' .WORD FMMSG
4087 001614 003150' .WORD FSSMSG
4088
4089 003622 .PSECT
ERROR -- PARSER ERROR HANDLER M MACRO M1110 03-OCT-79 11:35 PAGE 104
.PARER -- SPECIAL ERROR ROUTINES 7609.24
4091 000106 .PSECT MESSAG
4092
4093 000106 ERSMSG:
4094 000106 105 122 122 .ASCIZ %ERROR STOP%
000111 117 122 040
000114 123 124 117
000117 120 000
4095 000121 NEBMSG:
4096 000121 116 117 040 .ASCIZ %NO ERROR STOP BITS SET%
000124 105 122 122
000127 117 122 040
000132 123 124 117
000135 120 040 102
000140 111 124 123
000143 040 123 105
000146 124 000
4097
4098 003622 .PSECT
ERROR -- PARSER ERROR HANDLER M MACRO M1110 03-OCT-79 11:35 PAGE 105
.PTDIE -- RECURSIVE TRAP HANDLER 7609.24
4100 .SBTTL .PTDIE -- RECURSIVE TRAP HANDLER 7609.24
4101
4102 ;+
4103 ; .PTDIE -- RECURSIVE TRAP HANDLER.
4104 ;
4105 ; THIS ROUTINE HANDLES RECURSIVE TRAPS, WHICH ARE FATAL ERRORS. THE
4106 ; OTHER TRAP HANDLERS IN "PARTRP" ENABLE THIS HANDLER BY PLACING ITS
4107 ; ENTRY POINT IN THE APPROPRIATE PLACE IN THE SST VECTOR TABLE.
4108 ; ".PTDIE" WILL PRINT A MESSAGE WITH THE PC OF THE RECURSIVE TRAP AND
4109 ; EXIT TO THE SYSTEM VIA AN "IOT" TRAP. THIS ROUTINE IS ENTERED WITH
4110 ; THE TRAP PC AND PSW ON THE STACK IN THE NORMAL MANNER.
4111 ;
4112 ; ERROR CODES RETURNED:
4113 ;
4114 ; NONE.
4115 ;-
4116
4117
4118 003622 .PTDIE::
4119 003622 005337 000150' DEC .TRPIP ; ..DECREMENT THE INTERLOCK
4120 003626 001423 BEQ 20$ ; ..KILL NOW IF RECURSIVE
4121 003630 PUSH R0 ; ..SAVE R0
003630 010046 MOV R0,-(SP)
4122 003632 012700 000174' MOV #.SSTTB,R0 ; ...TABLE POINTER TO R0
4123 003636 10$:
4124 003636 005020 CLR (R0)+ ; ...CLEAR THIS ENTRY
4125 003640 020027 000212' CMP R0,#SSTTBE ; ...ARE WE DONE?
4126 003644 003774 BLE 10$ ; ...NO -- KEEP GOING
4127 003646 CALL .TCRLF ; ...START THE LINE
003646 004737 026272' JSR PC,.TCRLF
4128 003652 012700 000150' MOV #PTRTEM,R0 ; ...RECURSIVE ERROR MESSAGE
4129 003656 CALL .TYLIN ; ...PRINT IT
003656 004737 026166' JSR PC,.TYLIN
4130 003662 016600 000002 MOV 2(SP),R0 ; ...GET THE TRAP PC
4131 003666 CALL .TYELN ; ...TYPE THAT
003666 004737 025506' JSR PC,.TYELN
4132 003672 CALL .TCRLF ; ...END THE LINE
003672 004737 026272' JSR PC,.TCRLF
4133 003676 20$:
4134 003676 000004 IOT ; ...AND GO AWAY
4135 ;
ERROR -- PARSER ERROR HANDLER M MACRO M1110 03-OCT-79 11:35 PAGE 106
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
4137 .SBTTL .PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
4138
4139 ;+
4140 ; .PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER.
4141 ;
4142 ; THIS ROUTINE HANDLES TRAPS FROM THE "TRAP" INSTRUCTION, WHICH IS USED
4143 ; BY THE RSX20F COMMAND PARSER TO HANDLE INTERNAL ERRORS. THE ACTION
4144 ; TAKEN BY THIS ROUTINE IS DICTATED BY THE TRAP STATUS BYTE, WHICH IS
4145 ; THE FIRST ITEM ON THE STACK UPON ENTRY. THERE ARE FOUR STATUS CODES
4146 ; WHICH ARE RETURNED IN THE TRAP STATUS BYTE:
4147 ;
4148 ; (A) "TC.CTC" -- CONTROL-C TRAP -- SAME EFFECT AS "TC.RST", EXCEPT THAT NO
4149 ; ERROR MESSAGE IS TYPED. THE VALUE OF "TC.CTC" IS +2.
4150 ;
4151 ; (B) "TC.RST" -- ABORT THE CURRENT PROCESS AND ATTEMPT TO RESTORE THE
4152 ; STATE OF THE KL. THE "ABORT$" MACRO (Q.V.) GENERATES
4153 ; THIS CODE. THE PREVIOUS STATE OF THE KL MAY BE
4154 ; RECOVERED FROM THESE ERRORS. THE VALUE OF "TC.RST" IS +1.
4155 ;
4156 ; (C) "TC.ERR" -- SIMPLY ABORT THE CURRENT PROCESS AND RETURN TO THE MAIN
4157 ; THE MAIN PARSER. THE "ERROR$" MACRO (Q.V.) GENERATES
4158 ; THIS CODE. THESE ERRORS DO NOT USUALLY AFFECT THE STATE
4159 ; OF THE KL. THE VALUE OF "TC.ERR" IS 0.
4160 ;
4161 ; (D) "TC.CON" -- SIMPLY REPORT THE ERROR AND CONTINUE THE PROCESS.
4162 ; THIS CODE IS GENERATED BY THE "ERCON$" MACRO (Q.V.)
4163 ; THESE ERRORS ALLOW ERROR SPECIFIC RECOVERY TO BE
4164 ; ATTEMPTED. THE VALUE OF "TC.CON" IS -1.
4165 ;
4166 ; THE DECISION TO RECOVER OR NOT IS MADE BASED ON THE TRAP STATUS BYTE,
4167 ; AFTER WHICH THE ERROR CODE IS PICKED UP, DECODED AND PRINTED BY ".PARER".
4168 ;
4169 ; UPON ENTRY TO THE TRAP INSTRUCTION TRAP HANDLER, THE STACK CONTAINS
4170 ; THE FOLLOWING INFORMATION:
4171 ;
4172 ; !=======================================!
4173 ; 6(SP)==> ! TRAP ERROR CODE !
4174 ; !---------------------------------------!
4175 ; 4(SP)==> ! TRAP PROCESSOR STATUS WORD !
4176 ; !---------------------------------------!
4177 ; 2(SP)==> ! TRAP PROGRAM COUNTER !
4178 ; !---------------------------------------!
4179 ; (SP)==> ! TRAP STATUS BYTE * 2 !
4180 ; !=======================================!
4181 ;
4182 ; EXECUTION MAY BE RESUMED AFTER THE TRAP BY ISSUING AN "RTI" INSTRUCTION.
4183 ;
4184 ; ERROR CODES RETURNED:
4185 ;
4186 ; RTH -- RECURSION IN TRAP HANDLER.
4187 ; UEC -- UNMATCHED ERROR CODE.
4188 ;-
ERROR -- PARSER ERROR HANDLER M MACRO M1110 03-OCT-79 11:35 PAGE 107
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
4190 003700 .PTTRP::
4191 003700 005337 000150' DEC .TRPIP ; ....DECREMENT THE TRAP IN PROGRESS FLAG
4192 003704 002471 BLT 30$ ; ....SECOND RECURSION -- KILL TASK
4193 003706 011637 000156' MOV (SP),.TRPSB ; ....SAVE THE TRAP STATUS BYTE
4194 003712 016637 000002 000152' MOV 2(SP),.TRPPC ; ....SAVE THE TRAP PC
4195 003720 016637 000004 000154' MOV 4(SP),.TRPPS ; ....SAVE THE TRAP PSW
4196 003726 016637 000006 000146' MOV 6(SP),.TRPEC ; ....SAVE THE TRAP ERROR CODE
4197 003734 CALL R5,.REGSV ; ....SAVE TRAP REGISTERS
003734 004537 012512' JSR R5,.REGSV
4198 003740 PUSH R0 ; ....SAVE R0 TOO
003740 010046 MOV R0,-(SP)
4199 003742 105737 000156' TSTB .TRPSB ; .....TEST THE TRAP STATUS BYTE
4200 003746 003405 BLE 10$ ; .....DON'T TRY TO RECOVER THE KL
4201 003750 005737 000140' TST .SVKLF ; .....DID WE SAVE THE PREVIOUS STATE?
4202 003754 001402 BEQ 10$ ; .....NO -- FORGET RECOVERY
4203 003756 CALL .RSTKL ; .....RESTORE THE KL
003756 004737 011734' JSR PC,.RSTKL
4204 003762 10$:
4205 003762 013737 000120' 000066' MOV .RDXSV,.IRADX ; .....RESET THE INPUT RADIX
4206 003770 013737 000120' 000106' MOV .RDXSV,.ORADX ; .....AND OUTPUT RADIX
4207 003776 122737 000004 000156' CMPB #TC.CTC*2,.TRPSB; .....WAS THIS A CONTROL-C TRAP?
4208 004004 001425 BEQ 20$ ; .....YES -- JUST RESTART THE PARSER
4209 004006 013700 000160' MOV .TRPTV,R0 ; .....NO -- IS THIS A NORMAL TRAP??
4210 004012 001406 BEQ 15$ ; .....YES -- GO ON
4211 004014 010006 MOV R0,SP ; .....NO -- RESET THE STACK
4212 004016 005237 000150' INC .TRPIP ; .....RESET TRAP IN PROGRESS FLAG
4213 004022 005037 000160' CLR .TRPTV ; .....RESET THE TRAP TRAP VECTOR
4214 004026 CALLR @(SP)+ ; .....AND GO AWAY TO OTHER ROUTINE
004026 000136 JMP @(SP)+
4215 ;
4216 004030 15$:
4217 004030 CALL .TCRLF ; .....GIVE A FREE <CRLF>
004030 004737 026272' JSR PC,.TCRLF
4218 004034 013700 000146' MOV .TRPEC,R0 ; .....GET THE ERROR CODE IN R0
4219 004040 CALL .PARER ; .....DECODE AND PRINT THE ERROR
004040 004737 003206' JSR PC,.PARER
4220 004044 005737 000150' TST .TRPIP ; .....IS THIS A RECURSIVE TRAP?
4221 004050 001407 BEQ 30$ ; .....YES -- GIVE UP
4222 004052 105737 000156' TSTB .TRPSB ; .....TEST THE TRAP STATUS BYTE
4223 004056 002413 BLT 40$ ; .....RECOVER THE ERROR
4224 004060 20$:
4225 004060 005237 000150' INC .TRPIP ; .....RESET TRAP IN PROGRESS FLAG
4226 004064 000177 000134' JMP @.STRTV ; .....RESTART THE PARSER
4227 ;
4228
4229 ; [CONTINUED ON THE FOLLOWING PAGE]
ERROR -- PARSER ERROR HANDLER M MACRO M1110 03-OCT-79 11:35 PAGE 108
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
4231 ; [CONTINUED FROM THE PREVIOUS PAGE]
4232
4233 004070 30$: ; .....HERE ON RECURSIVE TRAP
4234 004070 012700 000220' MOV #PTRTHM,R0 ; .....MESSAGE POINTER
4235 004074 CALL .TYLIN ; .....PRINT IT
004074 004737 026166' JSR PC,.TYLIN
4236 004100 CALL .TCRLF ; .....END THE LINE
004100 004737 026272' JSR PC,.TCRLF
4237 004104 000004 IOT ; .....AND GO "RIBIT"
4238 ;
4239 004106 40$: ; .....HERE TO RECOVER THE ERROR
4240 004106 005237 000150' INC .TRPIP ; .....DECREMENT THE INTERLOCK
4241 004112 POP R0 ; .....RESTORE R0
004112 012600 MOV (SP)+,R0
4242 004114 CALL @(SP)+ ; ....AND THE OTHER REGISTERS
004114 004736 JSR PC,@(SP)+
4243 004116 005726 TST (SP)+ ; ....GET OVER THE TRAP STATUS BYTE
4244 004120 000002 RTI ; ...TO WHEREVER WE WERE CALLED FROM
4245 ;
4246
4247 000150 .PSECT MESSAG
4248
4249 000150 PTRTEM:
4250 000150 120 101 122 .ASCIZ %PAR -- *FATAL* RECURSIVE TRAP FROM PC: %
000153 040 055 055
000156 040 052 106
000161 101 124 101
000164 114 052 040
000167 122 105 103
000172 125 122 123
000175 111 126 105
000200 040 124 122
000203 101 120 040
000206 106 122 117
000211 115 040 120
000214 103 072 040
000217 000
4251 000220 PTRTHM:
4252 000220 120 101 122 .ASCIZ %PAR -- RTH - RECURSION IN TRAP HANDLER%
000223 040 055 055
000226 040 122 124
000231 110 040 055
000234 040 122 105
000237 103 125 122
000242 123 111 117
000245 116 040 111
000250 116 040 124
000253 122 101 120
000256 040 110 101
000261 116 104 114
000264 105 122 000
4253
4254 004122 .PSECT
ERROR -- PARSER ERROR HANDLER M MACRO M1110 03-OCT-79 11:35 PAGE 109
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
4256 .SBTTL .PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
4257
4258 ;+
4259 ; .PTOAT -- TRAP AT 4 TRAP HANDLER.
4260 ;
4261 ; THIS ROUTINE HANDLES TRAP AT 4 TRAPS FOR THE RSX20F COMMAND PARSER.
4262 ; AN ERROR MESSAGE WITH THE PC OF THE TRAP AT 4 TRAP IS PRINTED ON THE
4263 ; CONSOLE AND THE CURRENT OPERATION IS ABORTED. IF THE TRAP IS RECURSIVE,
4264 ; CONTROL IS PASSED TO ".PTDIE", AS THE TASK IS HOPELESSLY CONFUSED.
4265 ;
4266 ; UPON ENTRY TO THE TRAP AT 4 TRAP HANDLER, THE STACK CONTAINS
4267 ; THE FOLLOWING INFORMATION:
4268 ;
4269 ; !=======================================!
4270 ; 2(SP)==> ! TRAP PROCESSOR STATUS WORD !
4271 ; !---------------------------------------!
4272 ; (SP)==> ! TRAP PROGRAM COUNTER !
4273 ; !=======================================!
4274 ;
4275 ; ERROR CODES RETURNED:
4276 ;
4277 ; NONE.
4278 ;-
4279
4280 004122 .PTOAT::
4281 004122 POP .TRPPC ; ..SAVE THE TRAP PC
004122 012637 000152' MOV (SP)+,.TRPPC
4282 004126 POP .TRPPS ; .AND THE TRAP PSW
004126 012637 000154' MOV (SP)+,.TRPPS
4283 004132 CALL R5,.REGSV ; SAVE THE REGISTERS FROM TRAP
004132 004537 012512' JSR R5,.REGSV
4284 004136 PUSH R0 ; AND R0
004136 010046 MOV R0,-(SP)
4285 004140 012737 003622' 000174' MOV #.PTDIE,.SSTTB ; .SET UP TO DIE ON RECURSION
4286 004146 CALL .TCRLF ; .GIVE A FREE <CRLF>
004146 004737 026272' JSR PC,.TCRLF
4287 004152 012700 000267' MOV #PTOATM,R0 ; .GET THE MESSAGE POINTER
4288 004156 CALL .TYMSG ; .TYPE IT
004156 004737 026202' JSR PC,.TYMSG
4289 004162 013700 000034' MOV .EDELA,R0 ; .ADDRESS TO R0
4290 004166 CALL .TYELN ; .TYPE THAT
004166 004737 025506' JSR PC,.TYELN
4291 004172 CALL .TCRLF ; .AND A CRLF
004172 004737 026272' JSR PC,.TCRLF
4293 004176 005737 000016' TST .DBGSW ; .IS THE DEBUG SWITCH SET?
4294 004202 001403 BEQ 10$ ; .NO -- JUST RESTART
4295 004204 POP R0 ; .RESTORE R0
004204 012600 MOV (SP)+,R0
4296 004206 CALL @(SP)+ ; .AND THE REGISTERS
004206 004736 JSR PC,@(SP)+
4297 004210 000000 HALT ; SO WE CAN LOOK
4298 004212 10$:
4300 004212 005037 000174' CLR .SSTTB ; RESET THE TRAP VECTOR
4301 004216 000177 000134' JMP @.STRTV ; .AND START OVER
4302 ;
4303
4304 000267 .PSECT MESSAG
ERROR -- PARSER ERROR HANDLER M MACRO M1110 03-OCT-79 11:35 PAGE 109-1
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
4305
4306 000267 PTOATM:
4307 000267 120 101 122 .ASCIZ %PAR -- ILLEGAL MEMORY REFERENCE TO: %
000272 040 055 055
000275 040 111 114
000300 114 105 107
000303 101 114 040
000306 115 105 115
000311 117 122 131
000314 040 122 105
000317 106 105 122
000322 105 116 103
000325 105 040 124
000330 117 072 040
000333 000
4308
4309 004222 .PSECT
EXCTC -- EXECUTE (XCT) COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 110
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
4311 .TITLE EXCTC -- EXECUTE (XCT) COMMAND MODULE 7603.30
4312
4313 .IDENT "005000"
4314 ;
4315 ; COPYRIGHT (C) 1975, 1979 BY
4316 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
4317 ;
4318 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
4319 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
4320 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
4321 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
4322 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
4323 ;
4324 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
4325 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
4326 ; CORPORATION.
4327 ;
4328 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4329 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
4330 ;
4331 ; MODULE: EXECUTE COMMAND
4332 ;
4333 ; VERSION: 05-00
4334 ;
4335 ; AUTHOR: R. BELANGER
4336 ;
4337 ; DATE: 7603.30
4338 ;
4339 ; THIS MODULE CONTAINS:
4340 ;
4341 ; 1) EXECUTE COMMAND CODE
EXCTC -- EXECUTE (XCT) COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 111
.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
4343 .SBTTL .EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
4344
4345 ;+
4346 ; .EXCTC -- THE "XCT" (EXECUTE) COMMAND
4347 ;
4348 ; THIS ROUTINE SIMULATES THE "XCT" SWITCH OF THE KL CONSOLE.
4349 ;
4350 ; INPUT ARGUMENTS:
4351 ;
4352 ; R0 POINTS TO THE KL INSTRUCTION TO BE EXECUTED.
4353 ;
4354 ; OUTPUT ARGUMENTS:
4355 ;
4356 ; NONE.
4357 ;
4358 ; ERROR CODES RETURNED:
4359 ;
4360 ; IOC -- ILLEGAL KL OPCODE.
4361 ; MRA -- MISSING REQUIRED ARGUMENT.
4362 ; XTO -- KL EXECUTE TIMED OUT.
4363 ;-
4364
4365 004222 .EXCTC:: ; HERE FROM PARSER
4366 004222 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
4367 004224 005046 CLR -(SP) ; .
4368 004226 005046 CLR -(SP) ; ..
4369 004230 010600 MOV SP,R0 ; ...POINT TO IT
4370 004232 CALL .GTKLN ; ...READ THE INSTRUCTION
004232 004737 024362' JSR PC,.GTKLN
4371 004236 CALL .CKEOC ; ...CHECK E-O-C CHARACTER
004236 004737 000264' JSR PC,.CKEOC
4372 004242 032760 000017 000004 BIT #17,4(R0) ; ...CHECK HIGH PART OF OPCODE
4373 004250 001005 BNE 10$ ; ...OK -- GO ON
4374 004252 032760 174000 000002 BIT #^C3777,2(R0) ; ...CHECK LOW PART OF OPCODE
4375 004260 001403 BEQ EXCIOC ; ...NONE THERE -- GIVE "IOC" ERROR
4376 004262 010600 MOV SP,R0 ; ...POINT TO THE INSTRUCTION
4377 004264 10$:
4378 004264 CALLR .EXECT ; ...ALL OK -- GO DO IT
004264 000137 007356' JMP .EXECT
4379 ;
4380 004270 EXCIOC:
4381 004270 ERROR$ IOC ; ERROR -- ILLEGAL OPCODE
004270 012746 035233 MOV #^RIOC,-(SP)
004274 104400 TRAP TC.ERR
4382 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 112
.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
4384 .TITLE EXREG -- EXAMINE 22 AND 36 BIT REGISTER COMMAND MODULE 7603.30
4385
4386 .IDENT "005000"
4387 ;
4388 ; COPYRIGHT (C) 1975, 1979 BY
4389 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
4390 ;
4391 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
4392 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
4393 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
4394 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
4395 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
4396 ;
4397 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
4398 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
4399 ; CORPORATION.
4400 ;
4401 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4402 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
4403 ;
4404 ; MODULE: EXAMINE 22 AND 36 BIT REGISTER COMMAND
4405 ;
4406 ; VERSION: 01-01
4407 ;
4408 ; AUTHOR: R. BELANGER
4409 ;
4410 ; DATE: 7603.30
4411 ;
4412 ; THIS MODULE CONTAINS:
4413 ;
4414 ; 1) EXAMINE 22 AND 36 BIT REGISTER COMMAND CODE
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 113
.EXAD -- KL DATA PATH BOARD EXAMINES 7602.16
4416 .SBTTL .EXAD -- KL DATA PATH BOARD EXAMINES 7602.16
4417
4418 .ENABL LSB
4419
4420 004276 .EXAD:: ; ADDER REGISTER
4421 004276 012700 005310' MOV #.RDADR,R0 ; DISPATCH POINTER TO R0
4422 004302 000445 BR 20$ ; DO COMMON CODE
4423 ;
4424 004304 .EXADX:: ; ADDRER EXTENSION
4425 004304 012700 005316' MOV #.RDADX,R0 ; DISPATCH POINTER TO R0
4426 004310 000442 BR 20$ ; DO COMMON CODE
4427 ;
4428 004312 .EXARR:: ; ARITHMETIC REGISTER
4429 004312 012700 005324' MOV #.RDARR,R0 ; DISPATCH POINTER TO R0
4430 004316 000437 BR 20$ ; DO COMMON CODE
4431 ;
4432 004320 .EXARX:: ; AR EXTENSION
4433 004320 012700 005332' MOV #.RDARX,R0 ; DISPATCH POINTER TO R0
4434 004324 000434 BR 20$ ; DO COMMON CODE
4435 ;
4436 004326 .EXBRR:: ; BUFFER REGISTER
4437 004326 012700 005340' MOV #.RDBRR,R0 ; DISPATCH POINTER TO R0
4438 004332 000431 BR 20$ ; DO COMMON CODE
4439 ;
4440 004334 .EXBRX:: ; BR EXTENSION
4441 004334 012700 005346' MOV #.RDBRX,R0 ; DISPATCH POINTER TO R0
4442 004340 000426 BR 20$ ; DO COMMON CODE
4443 ;
4444 004342 .EXEBS:: ; EBUS REGISTER
4445 004342 012700 005354' MOV #.RDEBS,R0 ; DISPATCH POINTER TO R0
4446 004346 000423 BR 20$ ; DO COMMON CODE
4447 ;
4448 004350 .EXFMR:: ; FAST MEMORY REGISTER
4449 004350 012700 005362' MOV #.RDFMR,R0 ; DISPATCH POINTER TO R0
4450 004354 000420 BR 20$ ; DO COMMON CODE
4451 ;
4452 004356 .EXMQR:: ; MQ REGSITER
4453 004356 012700 005370' MOV #.RDMQR,R0 ; DISPATCH POINTER TO R0
4454 004362 000415 BR 20$ ; DO COMMON CODE
4455 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 114
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
4457 .SBTTL .EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
4458
4459 004364 .EXVAB:: ; ADDRESS BREAK REGISTER
4460 004364 012700 005740' MOV #.RDVAB,R0 ; DISPATCH POINTER TO R0
4461 004370 000410 BR 10$ ; DO COMMON CODE
4462 ;
4463 004372 .EXVMA:: ; VMA REGISTER
4464 004372 012700 005746' MOV #.RDVMA,R0 ; DISPATCH POINTER TO R0
4465 004376 000405 BR 10$ ; DO COMMON CODE
4466 ;
4467 004400 .EXVMH:: ; VMA HELD REGISTER
4468 004400 012700 005754' MOV #.RDVMH,R0 ; DISPATCH POINTER TO R0
4469 004404 000402 BR 10$ ; DO COMMON CODE
4470 ;
4471 004406 .EXVPC:: ; PROGRAM COUNTER
4472 004406 012700 005732' MOV #.RDVPC,R0 ; DISPATCH POINTER TO R0
4473 ; BR 10$ ; DO COMMON CODE
4474 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 115
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
4476 ; [CONTINUED FROM THE PREVIOUS PAGE]
4477
4478 004412 10$: ; HERE FOR VMA BOARD EXAMINES
4479 004412 005037 000100' CLR .LDZFL ; DON'T PRINT LEADING ZEROES
4480 004416 20$: ; HERE FOR DATA PATH BOARD EXAMINES
4481 004416 CALL .CKEOC ; CHECK E-O-C
004416 004737 000264' JSR PC,.CKEOC
4482 004422 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
4483 004424 005046 CLR -(SP) ; .
4484 004426 005046 CLR -(SP) ; ..
4485 004430 010601 MOV SP,R1 ; ...POINT TO THE BUFFER
4486 004432 PUSH R0 ; ...SAVE THE DISPATCH ADDRESS
004432 010046 MOV R0,-(SP)
4487 004434 CALL .STPKL ; ....STOP THE KL
004434 004737 012012' JSR PC,.STPKL
4488 004440 CALL @(SP)+ ; ....READ THE REGISTER
004440 004736 JSR PC,@(SP)+
4489 004442 CALL .RSTKL ; ...YES -- RESTART THE KL
004442 004737 011734' JSR PC,.RSTKL
4490 004446 010200 MOV R2,R0 ; ...MESSAGE POINTER TO R0
4491 004450 CALL .TYMSG ; ...PRINT IT
004450 004737 026202' JSR PC,.TYMSG
4492 004454 CALL .TYSLS ; ...NOW A SLASH
004454 004737 025444' JSR PC,.TYSLS
4493 004460 CALL .TYSPC ; ...AND A SPACE
004460 004737 025454' JSR PC,.TYSPC
4494 004464 010100 MOV R1,R0 ; ...POINT TO THE DATA
4495 004466 CALL .TYKLN ; ...PRINT THAT
004466 004737 025676' JSR PC,.TYKLN
4496 004472 062706 000006 ADD #^D6,SP ; ...CLEAR THE STACK
4497 004476 CALLR .TCRLF ; ...END THE LINE AND EXIT
004476 000137 026272' JMP .TCRLF
4498 ;
4499
4500 .DSABL LSB
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 116
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
4502 .SBTTL .EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
4503
4504 ;+
4505 ; .EXAMF -- THE "EXAMINE FLAGS" COMMAND.
4506 ;
4507 ; THIS ROUTINE WILL READ AND DISPLAY THE KL PC FLAGS ON THE
4508 ; CONSOLE DEVICE.
4509 ;
4510 ; INPUT ARGUMENTS:
4511 ;
4512 ; NONE.
4513 ;
4514 ; OUTPUT ARGUMENTS:
4515 ;
4516 ; NONE.
4517 ;
4518 ; ERROR CODES RETURNED:
4519 ;
4520 ; NONE.
4521 ;-
4522
4523 004502 .EXAMF::
4524 004502 CALL .CKEOC ; CHECK E-O-C
004502 004737 000264' JSR PC,.CKEOC
4525 004506 CALL .STPKL ; STOP THE KL
004506 004737 012012' JSR PC,.STPKL
4526 004512 CALL .RDFLG ; READ THE FLAGS
004512 004737 005400' JSR PC,.RDFLG
4527 004516 CALL .RSTKL ; RESTART THE KL
004516 004737 011734' JSR PC,.RSTKL
4528 004522 010001 MOV R0,R1 ; FLAGS TO R1
4529 004524 001422 BEQ 30$ ; NONE ON -- SAY SO
4530 004526 012700 000377' MOV #EXFMSG,R0 ; HEADER
4531 004532 CALL .TYLIN ; PRINT IT
004532 004737 026166' JSR PC,.TYLIN
4532 004536 10$:
4533 004536 012700 000363' MOV #FONMSG,R0 ; ASSUME IT IS ON
4534 004542 032701 010000 BIT #BIT12,R1 ; IS THE FLAG ON?
4535 004546 001002 BNE 20$ ; YES -- GO ON
4536 004550 012700 000371' MOV #FOFMSG,R0 ; NO -- SAY SO
4537 004554 20$:
4538 004554 CALL .TYMSG ; PRINT THE STATE OF THE BIT
004554 004737 026202' JSR PC,.TYMSG
4539 004560 042701 010000 BIC #BIT12,R1 ; CLEAR THIS BIT OUT
4540 004564 006301 ASL R1 ; MOVE NEXT BIT IN
4541 004566 001363 BNE 10$ ; LOOP TILL R1 .EQ. 0
4542 004570 000404 BR 40$ ; DONE -- EXIT
4543 004572 30$:
4544 004572 012700 000334' MOV #NOFMSG,R0 ; "NO FLAGS"
4545 004576 CALL .TYMSG ; PRINT IT
004576 004737 026202' JSR PC,.TYMSG
4546 004602 40$:
4547 004602 CALLR .TCRLF ; END LINE AND RETURN
004602 000137 026272' JMP .TCRLF
4548 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 117
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
4550 000334 .PSECT MESSAG
4551
4552 000334 NOFMSG:
4553 000334 116 117 040 .ASCIZ %NO KL PC FLAGS ARE SET%
000337 113 114 040
000342 120 103 040
000345 106 114 101
000350 107 123 040
000353 101 122 105
000356 040 123 105
000361 124 000
4554 000363 FONMSG:
4555 000363 040 040 130 .ASCIZ % X %
000366 040 040 000
4556 000371 FOFMSG:
4557 000371 040 040 040 .ASCIZ % %
000374 040 040 000
4558 000377 EXFMSG:
4559 000377 040 117 126 .ASCIZ % OVF CY0 CY1 FOV BIS USR UIO LIP AFI AT1 AT0 FUF NDV%
000402 106 040 040
000405 103 131 060
000410 040 040 103
000413 131 061 040
000416 040 106 117
000421 126 040 040
000424 102 111 123
000427 040 040 125
000432 123 122 040
000435 040 125 111
000440 117 040 040
000443 114 111 120
000446 040 040 101
000451 106 111 040
000454 040 101 124
000457 061 040 040
000462 101 124 060
000465 040 040 106
000470 125 106 040
000473 040 116 104
000476 126 000
4560
4561 004606 .PSECT
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 118
.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
4563 .SBTTL .EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
4564
4565 ;+
4566 ; .EXAMK -- THE "EXAMINE KL" COMMAND
4567 ;
4568 ; THIS ROUTINE WILL EXAMINE AND DISPLAY THE FOLLOWING ITEMS ON THE
4569 ; CONSOLE DEVICE:
4570 ;
4571 ; (A) KL PROGRAM COUNTER
4572 ; (B) KL VMA REGISTER
4573 ; (C) KL PI SYSTEM STATE
4574 ; (D) KL PC FLAGS
4575 ;
4576 ; INPUT ARGUMENTS:
4577 ;
4578 ; NONE.
4579 ;
4580 ; OUTPUT ARGUMENTS:
4581 ;
4582 ; NONE.
4583 ;
4584 ; ERROR CODES RETURNED:
4585 ;
4586 ; NONE.
4587 ;-
4588
4589 004606 .EXAMK::
4590 004606 CALL .CKEOC ; CHECK E-O-C
004606 004737 000264' JSR PC,.CKEOC
4591 004612 PUSH .KLFLG ; SAVE ".KLFLG"
004612 013746 000000G MOV .KLFLG,-(SP)
4592 004616 CALL .STPKL ; .STOP THE KL
004616 004737 012012' JSR PC,.STPKL
4593 004622 012702 002455' MOV #PCMSG,R2 ; .MESSAGE POINTER TO R2
4594 004626 CALL .EXVPC ; .READ AND PRINT THE KL PC
004626 004737 004406' JSR PC,.EXVPC
4595 004632 012702 002547' MOV #VMAMSG,R2 ; .MESSAGE POINTER TO R2
4596 004636 CALL .EXVMA ; .READ AND PRINT THE KL VMA
004636 004737 004372' JSR PC,.EXVMA
4597 004642 CALL .EXMPI ; .DISPLAY THE PI SYSTEM
004642 004737 005074' JSR PC,.EXMPI
4598 004646 CALL .EXAMF ; .DISPLAY THE KL PC FLAGS
004646 004737 004502' JSR PC,.EXAMF
4599 004652 POP .SVKLF ; .SET UP ".SVKLF"
004652 012637 000140' MOV (SP)+,.SVKLF
4600 004656 CALLR .RSTKL ; RESTART THE KL
004656 000137 011734' JMP .RSTKL
4601 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 119
.EXCRA -- SMALL REGISTER EXAMINES 7609.10
4603 .SBTTL .EXCRA -- SMALL REGISTER EXAMINES 7609.10
4604
4605 .ENABL LSB
4606
4607 004662 .EXCRA:: ; CRAM ADDRESS REGISTER
4608 004662 012700 005604' MOV #.RDCRA,R0 ; DISPATCH POINTER TO R0
4609 004666 000416 BR 10$ ; DO COMMON CODE
4610 ;
4611 004670 .EXCRL:: ; CRAM LOC REGISTER
4612 004670 012700 005612' MOV #.RDCRL,R0 ; DISPATCH POINTER TO R0
4613 004674 000413 BR 10$ ; DO COMMON CODE
4614 ;
4615 004676 .EXDRA:: ; DRAM ADDRESS REGISTER
4616 004676 012700 005620' MOV #.RDDRA,R0 ; DISPATCH POINTER TO R0
4617 004702 000410 BR 10$ ; DO COMMON CODE
4618 ;
4619 004704 .EXFER:: ; FLOATING EXPONENT REGISTER
4620 004704 012700 005626' MOV #.RDFER,R0 ; DISPATCH POINTER TO R0
4621 004710 000405 BR 10$ ; DO COMMON CODE
4622 ;
4623 004712 .EXSBR:: ; CRAM SBR RET REGISTER
4624 004712 012700 005634' MOV #.RDSBR,R0 ; DISPATCH POINTER TO R0
4625 004716 000402 BR 10$ ; DO COMMON CODE
4626 ;
4627 004720 .EXSCR::
4628 004720 012700 005642' MOV #.RDSCR,R0 ; DISPATCH POINTER TO R0
4629 ; BR 10$ ; DO COMMON CODE
4630 ;
4631
4632 ; [CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 120
.EXCRA -- SMALL REGISTER EXAMINES 7609.10
4634 ; [CONTINUED FROM THE PREVIOUS PAGE]
4635
4636 004724 10$: ; HERE FOR SMALL REGISTER READS
4637 004724 CALL .CKEOC ; CHECK E-O-C
004724 004737 000264' JSR PC,.CKEOC
4638 004730 PUSH R0 ; SAVE DISPATCH ADDRESS
004730 010046 MOV R0,-(SP)
4639 004732 CALL .STPKL ; .STOP THE KL
004732 004737 012012' JSR PC,.STPKL
4640 004736 CALL @(SP)+ ; .READ THE REGISTER
004736 004736 JSR PC,@(SP)+
4641 004740 PUSH R0 ; SAVE THE REGISTER DATA
004740 010046 MOV R0,-(SP)
4642 004742 CALL .RSTKL ; .YES -- RESTART THE KL
004742 004737 011734' JSR PC,.RSTKL
4643 004746 010200 MOV R2,R0 ; .MESSAGE POINTER TO R0
4644 004750 CALL .TYMSG ; .PRINT IT
004750 004737 026202' JSR PC,.TYMSG
4645 004754 CALL .TYSLS ; .AND A SLASH
004754 004737 025444' JSR PC,.TYSLS
4646 004760 CALL .TYSPC ; .AND A SPACE
004760 004737 025454' JSR PC,.TYSPC
4647 004764 POP R0 ; .GET THE DATA
004764 012600 MOV (SP)+,R0
4648 004766 CALL .TYELN ; PRINT IT
004766 004737 025506' JSR PC,.TYELN
4649 004772 CALLR .TCRLF ; END THE LINE AND EXIT
004772 000137 026272' JMP .TCRLF
4650 ;
4651
4652 .DSABL LSB
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 121
.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
4654 .SBTTL .EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
4655
4656 ;+
4657 ; .EXDTE -- THE "EXAMINE DTE-20" COMMAND.
4658 ;
4659 ; THIS ROUTINE WILL READ AND DISPLAY THE CONTENT OF THE DTE-20
4660 ; DIAG1, DIAG2, DIAG3, AND STATUS REGISTERS ON THE CONSOLE DEVICE.
4661 ;
4662 ; INPUT ARGUMENTS:
4663 ;
4664 ; NONE.
4665 ;
4666 ; OUTPUT ARGUMENTS:
4667 ;
4668 ; NONE.
4669 ;
4670 ; ERROR CODES RETURNED:
4671 ;
4672 ; NONE.
4673 ;-
4674
4675 004776 .EXDTE::
4676 004776 CALL .CKEOC ; CHECK E-O-C
004776 004737 000264' JSR PC,.CKEOC
4677 005002 012701 001616' MOV #EXDTET,R1 ; TABLE POINTER TO R1
4678 005006 012702 000004 MOV #^D4,R2 ; ITERATION COUNT TO R2
4679 005012 10$:
4680 005012 CALL @(R1)+ ; READ THE REGISTER
005012 004731 JSR PC,@(R1)+
4681 005014 PUSH R0 ; <PUSH> SAVE IT
005014 010046 MOV R0,-(SP)
4682 005016 077203 SOB R2,10$ ; UNTIL ALL FOUR HAVE BEEN READ
4683 005020 012700 002507' MOV #DTEMSG,R0 ; MESSAGE POINTER TO R0
4684 005024 CALL .TYLIN ; PRINT IT
005024 004737 026166' JSR PC,.TYLIN
4685 005030 012702 000004 MOV #^D4,R2 ; ITERATION COUNT TO R2
4686
4687 ; [CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 122
.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
4689 ; [CONTINUED FROM THE PREVIOUS PAGE]
4690
4691 005034 20$:
4692 005034 CALL .TYSPC ; TYPE A <SPACE>
005034 004737 025454' JSR PC,.TYSPC
4693 005040 012100 MOV (R1)+,R0 ; MESSAGE POINTER TO R0
4694 005042 CALL .TYMSG ; TYPE IT
005042 004737 026202' JSR PC,.TYMSG
4695 005046 CALL .TYSLS ; AND A SLASH
005046 004737 025444' JSR PC,.TYSLS
4696 005052 CALL .TYSPC ; AND A <SPACE>
005052 004737 025454' JSR PC,.TYSPC
4697 005056 POP R0 ; <POP> GET THE REGISTER
005056 012600 MOV (SP)+,R0
4698 005060 CALL .TYELN ; PRINT IT
005060 004737 025506' JSR PC,.TYELN
4699 005064 CALL .TCRLF ; END THE LINE
005064 004737 026272' JSR PC,.TCRLF
4700 005070 077217 SOB R2,20$ ; LOOP TILL DONE
4701 005072 RETURN ; TO CALLER
005072 000207 RTS PC
4702
4703 001616 .PSECT DATA
4704
4705 001616 EXDTET:
4706 001616 006702' .WORD .DTSTA
4707 001620 006712' .WORD .DTDW3
4708 001622 006672' .WORD .DTDW2
4709 001624 006664' .WORD .DTDW1
4710 001626 000500' .WORD EXDMS1
4711 001630 000507' .WORD EXDMS2
4712 001632 000516' .WORD EXDMS3
4713 001634 000525' .WORD EXDMS4
4714
4715 000500 .PSECT MESSAG
4716
4717 000500 EXDMS1:
4718 000500 104 111 101 .ASCIZ %DIAG 1%
000503 107 040 061
000506 000
4719 000507 EXDMS2:
4720 000507 104 111 101 .ASCIZ %DIAG 2%
000512 107 040 062
000515 000
4721 000516 EXDMS3:
4722 000516 104 111 101 .ASCIZ %DIAG 3%
000521 107 040 063
000524 000
4723 000525 EXDMS4:
4724 000525 123 124 101 .ASCIZ %STATUS%
000530 124 125 123
000533 000
4725
4726 005074 .PSECT
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 123
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
4728 .SBTTL .EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
4729
4730 ;+
4731 ; .EXMPI -- THE "EXAMINE PI" COMMAND
4732 ;
4733 ; THIS ROUTINE READS THE STATE OF THE KL PI SYSTEM AND DISPLAYS IT
4734 ; ON THE CONSOLE DEVICE.
4735 ;
4736 ; INPUT ARGUMENTS:
4737 ;
4738 ; NONE.
4739 ;
4740 ; OUTPUT ARGUMENTS:
4741 ;
4742 ; NONE.
4743 ;
4744 ; ERROR CODES RETURNED:
4745 ;
4746 ; NONE.
4747 ;-
4748
4749 005074 .EXMPI::
4750 005074 CALL .CKEOC ; CHECK THE E-O-C CHARACTER
005074 004737 000264' JSR PC,.CKEOC
4751 005100 005002 CLR R2 ; CLEAR R2
4752 005102 CALL .STPKL ; STOP THE KL
005102 004737 012012' JSR PC,.STPKL
4753 005106 CALL .RDPI ; READ THE PI SYSTEM STATE
005106 004737 005524' JSR PC,.RDPI
4754 005112 CALL .RSTKL ; RESTART THE KL
005112 004737 011734' JSR PC,.RSTKL
4755 005116 010001 MOV R0,R1 ; DATA POINTER TO R1
4756 005120 012700 000534' MOV #EPMSG0,R0 ; MESSAGE POINTER TO R0
4757 005124 CALL .TYMSG ; PRINT IT
005124 004737 026202' JSR PC,.TYMSG
4758 005130 012700 000034' MOV #ONMSG,R0 ; "ON"
4759 005134 052102 BIS (R1)+,R2 ; PI ACTIVE + PI ON TO R2
4760 005136 032702 000200 BIT #200,R2 ; IS IT ON?
4761 005142 001002 BNE 10$ ; YES -- GO ON
4762 005144 012700 000037' MOV #OFFMSG,R0 ; NO -- SO SAY "OFF"
4763
4764 ; [CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 124
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
4766 ; [CONTINUED FROM THE PREVIOUS PAGE]
4767
4768 005150 10$:
4769 005150 CALL .TYMSG ; PRINT IT
005150 004737 026202' JSR PC,.TYMSG
4770 005154 012700 000550' MOV #EPMSG1,R0 ; "PI ON"
4771 005160 CALL .TYMSG ; PRINT IT
005160 004737 026202' JSR PC,.TYMSG
4772 005164 010200 MOV R2,R0 ; GET ACTIVE BITS
4773 005166 042700 177600 BIC #^C177,R0 ; FLUSH JUNK
4774 005172 CALL .TYP3D ; PRINT THEM
005172 004737 025552' JSR PC,.TYP3D
4775 005176 012700 000562' MOV #EPMSG2,R0 ; "PI HOLD"
4776 005202 CALL .TYMSG ; PRINT IT
005202 004737 026202' JSR PC,.TYMSG
4777 005206 112100 MOVB (R1)+,R0 ; GET THE PI HOLD BITS
4778 005210 042700 177600 BIC #^C177,R0 ; FLUSH JUNK
4779 005214 CALL .TYP3D ; PRINT THEM
005214 004737 025552' JSR PC,.TYP3D
4780 005220 012700 000576' MOV #EPMSG3,R0 ; "PI GEN"
4781 005224 CALL .TYMSG ; PRINT IT
005224 004737 026202' JSR PC,.TYMSG
4782 005230 112100 MOVB (R1)+,R0 ; GET THE GEN BITS
4783 005232 042700 177600 BIC #^C177,R0 ; FLUSH JUNK
4784 005236 CALL .TYP3D ; PRINT THEM
005236 004737 025552' JSR PC,.TYP3D
4785 005242 CALLR .TCRLF ; END THE LINE AND RETURN
005242 000137 026272' JMP .TCRLF
4786 ;
4787 000534 .PSECT MESSAG
4788
4789 000534 EPMSG0:
4790 000534 120 111 040 .ASCIZ %PI ACTIVE: %
000537 101 103 124
000542 111 126 105
000545 072 040 000
4791 000550 EPMSG1:
4792 000550 054 040 120 .ASCIZ %, PI ON: %
000553 111 040 117
000556 116 072 040
000561 000
4793 000562 EPMSG2:
4794 000562 054 040 120 .ASCIZ %, PI HOLD: %
000565 111 040 110
000570 117 114 104
000573 072 040 000
4795 000576 EPMSG3:
4796 000576 054 040 120 .ASCIZ %, PI GEN: %
000601 111 040 107
000604 105 116 072
000607 040 000
4797 005246 .PSECT
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 125
.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
4799 .SBTTL .EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
4800
4801 005246 .EXREG::
4802 005246 CALL .CKEOC ; CHECK E-O-C
005246 004737 000264' JSR PC,.CKEOC
4803 005252 CALL .STPKL ; STOP THE KL
005252 004737 012012' JSR PC,.STPKL
4804 005256 012701 003124' MOV #.EXMTB,R1 ; TABLE POINTER TO R1
4805 005262 012703 000012 MOV #EXRTBL,R3 ; COUNT TO R3
4806 005266 10$:
4807 005266 012102 MOV (R1)+,R2 ; MESSAGE ADDRESS TO R2
4808 005270 PUSH R1 ; SAVE R1
005270 010146 MOV R1,-(SP)
4809 005272 CALL @2(R1) ; .READ AND PRINT THE REGISTER
005272 004771 000002 JSR PC,@2(R1)
4810 005276 POP R1 ; .RESTORE R1
005276 012601 MOV (SP)+,R1
4811 005300 022121 CMP (R1)+,(R1)+ ; ADVANCE THE POINTER
4812 005302 077307 SOB R3,10$ ; LOOP TILL COUNT EXHAUSTED
4813 005304 CALLR .RSTKL ; RESTART THE KL
005304 000137 011734' JMP .RSTKL
4814 ;
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 126
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
4816 .SBTTL .RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
4817
4818 ;+
4819 ; .RDADR -- SUBROUTINE TO READ THE KL ADDER REGISTER.
4820 ; .RDADX -- SUBROUTINE TO READ THE KL ADDER EXTENSION REGISTER.
4821 ; .RDARR -- SUBROUTINE TO READ THE KL ARITHMETIC REGISTER.
4822 ; .RDARX -- SUBROUTINE TO READ THE KL ARITHMETIC REGISTER EXTENSION.
4823 ; .RDBRR -- SUBROUTINE TO READ THE KL BUFFER REGISTER.
4824 ; .RDBRX -- SUBROUTINE TO READ THE KL BUFFER REGISTER EXTENSION.
4825 ; .RDEBS -- SUBROUTINE TO READ THE KL EBUS REGISTER.
4826 ; .RDFMR -- SUBROUTINE TO READ THE KL FAST MEMORY REGISTER.
4827 ; .RDMQR -- SUBROUTINE TO READ THE KL MULTIPLIER QUOTIENT REGISTER.
4828 ;
4829 ; THESE SUBROUTINES READ AND RETURN THE CONTENT OF THE SPECIFIED KL
4830 ; DATA PATH REGISTER IN A TRIPLET POINTED TO BY R1 IN THE CALL.
4831 ;
4832 ; INPUT ARGUMENTS:
4833 ;
4834 ; R1 CONTAINS A POINTER TO A 3 WORD DATA BUFFER
4835 ;
4836 ; OUTPUT ARGUMENTS:
4837 ;
4838 ; R0 CONTAINS A POINTER TO THE DATA.
4839 ;
4840 ; ERROR CODES RETURNED:
4841 ;
4842 ; FRF -- FUNCTION READ FAILED.
4843 ;-
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 127
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
4845 .ENABL LSB
4846
4847 005310 .RDADR::
4848 005310 012700 000256 MOV #FR.RAD,R0 ; READ THE KL ADDER
4849 005314 000427 BR 10$ ; COMMON CODE
4850 ;
4851 005316 .RDADX::
4852 005316 012700 000254 MOV #FR.ADX,R0 ; READ THE KL ADDER EXTENSION
4853 005322 000424 BR 10$ ; COMMON CODE
4854 ;
4855 005324 .RDARR::
4856 005324 012700 000240 MOV #FR.RAR,R0 ; READ THE KL ARITHMETIC REGISTER
4857 005330 000421 BR 10$ ; COMMON CODE
4858 ;
4859 005332 .RDARX::
4860 005332 012700 000252 MOV #FR.ARX,R0 ; READ THE KL AR EXTENSION REGISTER
4861 005336 000416 BR 10$ ; COMMON CODE
4862 ;
4863 005340 .RDBRR::
4864 005340 012700 000242 MOV #FR.RBR,R0 ; READ THE KL BUFFER REGISTER
4865 005344 000413 BR 10$ ; COMMON CODE
4866 ;
4867 005346 .RDBRX::
4868 005346 012700 000250 MOV #FR.BRX,R0 ; READ THE KL BR EXTENSION REGISTER
4869 005352 000410 BR 10$ ; COMMON CODE
4870 ;
4871 005354 .RDEBS::
4872 005354 012700 000356 MOV #FR.EBS,R0 ; READ THE KL EBUS REGISTER
4873 005360 000405 BR 10$ ; COMMON CODE
4874 ;
4875 005362 .RDFMR::
4876 005362 012700 000246 MOV #FR.RFM,R0 ; READ THE KL FAST MEMORY REGISTER
4877 005366 000402 BR 10$ ; COMMON CODE
4878 ;
4879 005370 .RDMQR::
4880 005370 012700 000244 MOV #FR.RMQ,R0 ; READ THE KL MULTIPLIER QUOTIENT REGISTER
4881 ; FALL INTO COMMON CODE
4882 005374 10$:
4883 005374 CALLR .FREAD ; READ IT AND EXIT
005374 000137 007512' JMP .FREAD
4884 ;
4885
4886 .DSABL LSB
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 128
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
4888 .SBTTL .RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
4889
4890 ;+
4891 ; .RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS.
4892 ;
4893 ; THIS SUBROUTINE READS AND RETURNS THE STATE OF THE KL PC FLAGS IN R0.
4894 ;
4895 ; INPUT ARGUMENTS:
4896 ;
4897 ; NONE.
4898 ;
4899 ; OUTPUT ARGUMENTS:
4900 ;
4901 ; R0 CONTAINS THE KL PC FLAGS
4902 ;
4903 ; THE FOLLOWING IS A LIST OF THE KL FLAGS RETURNED IN R0:
4904 ;
4905 ; BIT # PC FLAG BIT AND MEANING KL BIT
4906 ; ----- ---------------------------- --------
4907 ;
4908 ; 12 PC.OVF -- KL OVERFLOW FLAG -- 00
4909 ; 11 PC.CY0 -- KL CARRY 0 FLAG -- 01
4910 ; 10 PC.CY1 -- KL CARRY 1 FLAG -- 02
4911 ; 09 PC.FOV -- KL FLOATING OVERFLOW FLAG -- 03
4912 ; 08 PC.BIS -- KL BYTE INCREMENT SUPPRESSION FLAG -- 04
4913 ; 07 PC.USR -- KL USER MODE FLAG -- 05
4914 ; 06 PC.UIO -- KL USER IOT MODE FLAG -- 06
4915 ; 05 PC.LIP -- KL LAST INSTRUCTION PUBLIC FLAG -- 07
4916 ; 04 PC.AFI -- KL ADDRESS FAILURE INHIBIT FLAG -- 08
4917 ; 03 PC.AT1 -- KL APR TRAP 1 FLAG -- 09
4918 ; 02 PC.AT0 -- KL APR TRAP 0 FLAG -- 10
4919 ; 01 PC.FUF -- KL FLOATING UNDERFLOW FLAG -- 11
4920 ; 00 PC.NDV -- KL NO DIVIDE FLAG -- 12
4921 ;
4922 ; ERROR CODES RETURNED:
4923 ;
4924 ; FRF -- FUNCTION READ FAILED.
4925 ;-
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 129
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
4927 005400 .RDFLG::
4928 005400 PUSH <R1,R2> ; SAVE R1 AND R2 ON THE STACK
005400 010146 MOV R1,-(SP)
005402 010246 MOV R2,-(SP)
4929 005404 005001 CLR R1 ; ..CLEAR R1
4930 005406 005002 CLR R2 ; ..AND R2
4931 005410 012700 000202 MOV #FR.101,R0 ; ..FR CODE FOR LOW FLAGS
4932 005414 CALL .FREAD ; ..READ THEM
005414 004737 007512' JSR PC,.FREAD
4933 005420 012701 177764 MOV #-^D12,R1 ; ..SHIFT COUNT TO R1
4934 005424 CALL .TPSHI ; ..SHIFT OUR WORD
005424 004737 023172' JSR PC,.TPSHI
4935 005430 042710 177700 BIC #177700,(R0) ; ..MASK OUT FLAG BITS
4936 005434 051002 BIS (R0),R2 ; ..PUT THE LOW FLAGS IN R2
4937 005436 005001 CLR R1 ; ..AGAIN
4938 005440 012700 000200 MOV #FR.100,R0 ; ..FR CODE FOR MOST OF THE FLAGS
4939 005444 CALL .FREAD ; ..READ THEM
005444 004737 007512' JSR PC,.FREAD
4940 005450 012701 177772 MOV #-^D6,R1 ; ..SHIFT COUNT TO R1
4941 005454 CALL .TPSHI ; ..SHIFT THE DATA
005454 004737 023172' JSR PC,.TPSHI
4942 005460 042710 170077 BIC #170077,(R0) ; ..JUST THE BITS WE WANT
4943 005464 051002 BIS (R0),R2 ; ..SAVE THE HIGH FLAGS IN R2
4944 005466 005001 CLR R1 ; ..CLEAR R1 AGAIN
4945 005470 012700 000264 MOV #FR.132,R0 ; ..FR CODE FOR LAST FLAG BIT
4946 005474 CALL .FREAD ; ..READ IT
005474 004737 007512' JSR PC,.FREAD
4947 005500 032760 000001 000004 BIT #BIT00,4(R0) ; ..IS IT ON?
4948 005506 001402 BEQ 10$ ; ..NO -- JUST EXIT
4949 005510 052702 010000 BIS #PC.OVF,R2 ; ..YES -- SET IT IN OUR WORD
4950 005514 10$:
4951 005514 010200 MOV R2,R0 ; ..PUT A COPY IN R0
4952 005516 POP <R2,R1> ; ..RESTORE REGISTERS
005516 012602 MOV (SP)+,R2
005520 012601 MOV (SP)+,R1
4953 005522 RETURN ; TO CALLER
005522 000207 RTS PC
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 130
.RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
4955 .SBTTL .RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
4956
4957 ;+
4958 ; .RDPI -- SUBROUTINE TO READ THE KL PI BOARDS.
4959 ;
4960 ; THIS SUBROUTINE READS THE KL PI BOARDS AND STORES THE STATUS IN
4961 ; A TWO WORD TABLE, ".PITAB", WHICH IS POINTED TO BY R0 ON SUCCESSFUL
4962 ; RETURN.
4963 ;
4964 ; WORD 0 OF ".PITAB" CONTAINS:
4965 ;
4966 ; (A) PIH 1 THRU PIH 7 (BITS 14 THRU 08),
4967 ; (B) PI ACTIVE (BIT 07),
4968 ; (C) PI ON 1 THRU PI ON 7 (BITS 06 THRU 00).
4969 ;
4970 ; WORD 2 OF ".PITAB" CONTAINS:
4971 ;
4972 ; (A) PI GEN 1 THRU PI GEN 7 (BITS 06 THRU 00).
4973 ;
4974 ; INPUT ARGUMENTS:
4975 ;
4976 ; NONE.
4977 ;
4978 ; OUTPUT ARGUMENTS:
4979 ;
4980 ; R0 POINTS TO ".PITAB".
4981 ;
4982 ; ERROR CODES RETURNED:
4983 ;
4984 ; FRF -- FUNCTION READ FAILED.
4985 ;-
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 131
.RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
4987 005524 .RDPI::
4988 005524 PUSH <R1,R2,R3> ; SAVE REGISTERS
005524 010146 MOV R1,-(SP)
005526 010246 MOV R2,-(SP)
005530 010346 MOV R3,-(SP)
4989 005532 012703 001636' MOV #RDPITB,R3 ; ...TABLE POINTER TO R3
4990 005536 012702 000112' MOV #.PITAB,R2 ; ...SAVE AREA POINTER TO R2
4991 005542 10$:
4992 005542 005001 CLR R1 ; ...CLEAR R1
4993 005544 012300 MOV (R3)+,R0 ; ...FR CODE TO R0
4994 005546 CALL .FREAD ; ...READ IT
005546 004737 007512' JSR PC,.FREAD
4995 005552 012301 MOV (R3)+,R1 ; ...SHIFT COUNT TO R1
4996 005554 CALL .TPSHI ; ...SHIFT IT
005554 004737 023172' JSR PC,.TPSHI
4997 005560 042310 BIC (R3)+,(R0) ; ...CLEAR UNWANTED BIT(S)
4998 005562 011022 MOV (R0),(R2)+ ; ...PUT IT IN SAVE AREA
4999 005564 022703 001652' CMP #RDPITE,R3 ; ...ARE WE AT END OF TABLE?
5000 005570 001364 BNE 10$ ; ...NO -- KEEP GOING
5001 005572 011300 MOV (R3),R0 ; ...YES -- POINT TO SAVE AREA
5002 005574 POP <R3,R2,R1> ; ...RESTORE REGISTERS
005574 012603 MOV (SP)+,R3
005576 012602 MOV (SP)+,R2
005600 012601 MOV (SP)+,R1
5003 005602 RETURN ; TO CALLER
005602 000207 RTS PC
5004
5005 001636 .PSECT DATA
5006
5007 001636 RDPITB:
5008 001636 000200 .WORD FR.PI0 ; FIRST READ CODE
5009 001640 177756 .WORD -^D18 ; SHIFT COUNT
5010 001642 100000 .WORD BIT15 ; MASK
5011 001644 000202 .WORD FR.PI1 ; SECOND READ CODE
5012 001646 177756 .WORD -^D18 ; SHIFT COUNT
5013 001650 177600 .WORD 177600 ; MASK
5014 001652' RDPITE=.
5015 001652 000112' .WORD .PITAB ; POINTER TO SAVE AREA
5016
5017 005604 .PSECT
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 132
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
5019 .SBTTL .RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
5020
5021 ;+
5022 ; .RDCRA -- SUBROUTINE TO READ THE KL CRAM ADDR REGISTER.
5023 ; .RDCRL -- SUBROUTINE TO READ THE KL CRAM LOC REGISTER.
5024 ; .RDDRA -- SUBROUTINE TO READ THE KL DRAM ADDR REGISTER.
5025 ; .RDFER -- SUBROUTINE TO READ THE KL FLOATING EXPONENT REGISTER.
5026 ; .RDSCR -- SUBROUTINE TO READ THE KL SHIFT COUNT REGISTER.
5027 ; .RDSBR -- SUBROUTINE TO READ THE KL CRAM SUBROUTINE RETURN REGISTER.
5028 ;
5029 ; THESE SUBROUTINES READ THE CONTENT OF THE SPECIFIED REGISTER
5030 ; AND RETURN IT IN R0. NOTE THAT THE CONTENT OF EACH REGISTER IS LESS
5031 ; THAN 16 BITS AND MUST BE READ USING TWO FUNCTION READS.
5032 ;
5033 ; INPUT ARGUMENTS:
5034 ;
5035 ; NONE.
5036 ;
5037 ; OUTPUT ARGUMENTS:
5038 ;
5039 ; R0 HOLDS THE CONTENT OF THE SPECIFIED REGISTER
5040 ;
5041 ; ERROR CODES RETURNED:
5042 ;
5043 ; FRF -- FUNCTION READ FAILED.
5044 ;-
5045
5046 .ENABL LSB
5047
5048 005604 .RDCRA::
5049 005604 012700 001654' MOV #CRATAB,R0 ; POINT TO CRAM ADDRESS TABLE
5050 005610 000416 BR 10$ ; DO COMMON CODE
5051 ;
5052 005612 .RDCRL::
5053 005612 012700 001670' MOV #CRLTAB,R0 ; POINT TO CR LOC TABLE
5054 005616 000413 BR 10$ ; DO COMMON CODE
5055 ;
5056 005620 .RDDRA::
5057 005620 012700 001704' MOV #DRATAB,R0 ; POINT TO DRAM ADDR TABLE
5058 005624 000410 BR 10$ ; DO COMMON CODE
5059 ;
5060 005626 .RDFER::
5061 005626 012700 001720' MOV #FERTAB,R0 ; POINT TO FE TABLE
5062 005632 000405 BR 10$ ; DO COMMON CODE
5063 ;
5064 005634 .RDSBR::
5065 005634 012700 001734' MOV #SBRTAB,R0 ; POINT TO CRAM SBR RET TABLE
5066 005640 000402 BR 10$ ; DO COMMON CODE
5067 ;
5068 005642 .RDSCR::
5069 005642 012700 001750' MOV #SCRTAB,R0 ; POINT TO SHIFT COUNT TABLE
5070 ; BR 10$ ; FALL INTO COMMON CODE
5071
5072 ; [CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 133
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
5074 ; [CONTINUED FROM THE PREVIOUS PAGE]
5075
5076 005646 10$: ; HERE FROM PREVIOUS PAGE
5077 005646 PUSH <R1,R2> ; SAVE CALLER'S REGISTERS
005646 010146 MOV R1,-(SP)
005650 010246 MOV R2,-(SP)
5078 005652 010002 MOV R0,R2 ; ..POINTER TO R2
5079 005654 005001 CLR R1 ; ..CLEAR R1
5080 005656 012200 MOV (R2)+,R0 ; ..READ THE HIGH ORDER BITS
5081 005660 CALL .FREAD ; ..DO IT
005660 004737 007512' JSR PC,.FREAD
5082 005664 012201 MOV (R2)+,R1 ; ..SHIFT COUNT TO R1
5083 005666 CALL .TPSHI ; ..SHIFT IT
005666 004737 023172' JSR PC,.TPSHI
5084 005672 042210 BIC (R2)+,(R0) ; ..MASK OUT UNWANTED BITS
5085 005674 PUSH (R0) ; ..SAVE THE BITS
005674 011046 MOV (R0),-(SP)
5086 005676 012200 MOV (R2)+,R0 ; ...READ THE LOW ORDER BITS
5087 005700 005001 CLR R1 ; ...CLEAR R1
5088 005702 CALL .FREAD ; ...DO IT
005702 004737 007512' JSR PC,.FREAD
5089 005706 012201 MOV (R2)+,R1 ; ...SHIFT COUNT TO R1
5090 005710 CALL .TPSHI ; ...SHIFT IT
005710 004737 023172' JSR PC,.TPSHI
5091 005714 042210 BIC (R2)+,(R0) ; ...MASK OUT UNWANTED BITS
5092 005716 051610 BIS (SP),(R0) ; ...SET IN THE HIGH ORDER BITS
5093 005720 011000 MOV (R0),R0 ; ...PUT IT IN R0
5094 005722 005726 TST (SP)+ ; ...CLEAR THE STACK
5095 005724 POP <R2,R1> ; ..RESTORE REGISTERS
005724 012602 MOV (SP)+,R2
005726 012601 MOV (SP)+,R1
5096 005730 RETURN ; TO CALLER
005730 000207 RTS PC
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 134
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
5098 ; TABLES FOR SMALL REGISTER READS
5099
5100 001654 .PSECT DATA
5101
5102 001654 CRATAB:
5103 001654 000312 .WORD FR.CA1 ; FR FOR CRAM ADDR HIGH BITS
5104 001656 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
5105 001660 174077 .WORD 174077 ; BIT MASK FOR SAME
5106 001662 000310 .WORD FR.CA2 ; FR FOR CRAM ADDR LOW BITS
5107 001664 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
5108 001666 177700 .WORD 177700 ; BIT MASK FOR SAME
5109
5110 001670 CRLTAB:
5111 001670 000316 .WORD FR.CL1 ; FR FOR CRAM LOC HIGH BITS
5112 001672 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
5113 001674 174077 .WORD 174077 ; BIT MASK FOR SAME
5114 001676 000314 .WORD FR.CL2 ; FR FOR CRAM LOC LOW BITS
5115 001700 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
5116 001702 177700 .WORD 177700 ; BIT MASK FOR SAME
5117
5118 001704 DRATAB:
5119 001704 000260 .WORD FR.DA1 ; FR FOR DRAM ADDR HIGH BITS
5120 001706 177764 .WORD -^D12 ; SHIFT COUNT FOR SAME
5121 001710 177077 .WORD 177077 ; BIT MASK FOR SAME
5122 001712 000262 .WORD FR.DA2 ; FR FOR DRAM ADDR LOW BITS
5123 001714 177756 .WORD -^D18 ; SHIFT COUNT FOR SAME
5124 001716 177700 .WORD 177700 ; BIT MASK FOR SAME
5125
5126 001720 FERTAB:
5127 001720 000266 .WORD FR.FE1 ; FR FOR FE HIGH BITS
5128 001722 177755 .WORD -^D19 ; SHIFT COUNT FOR SAME
5129 001724 176037 .WORD 176037 ; BIT MASK FOR SAME
5130 001726 000264 .WORD FR.FE2 ; FR FOR FE LOW BITS
5131 001730 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
5132 001732 177740 .WORD 177740 ; BIT MASK FOR SAME
5133
5134 001734 SBRTAB:
5135 001734 000306 .WORD FR.SR1 ; FR FOR SBR RET HIGH BITS
5136 001736 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
5137 001740 174077 .WORD 174077 ; BIT MASK FOR SAME
5138 001742 000304 .WORD FR.SR2 ; FR FOR SBR RET LOW BITS
5139 001744 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
5140 001746 177700 .WORD 177700 ; BIT MASK FOR SAME
5141
5142 001750 SCRTAB:
5143 001750 000262 .WORD FR.SC1 ; FR FOR SHIFT COUNT HIGH BITS
5144 001752 177755 .WORD -^D19 ; SHIFT COUNT FOR SAME
5145 001754 177417 .WORD 177417 ; BIT MASK FOR SAME
5146 001756 000260 .WORD FR.SC2 ; FR FOR SHIFT COUNT LOW BITS
5147 001760 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
5148 001762 177760 .WORD 177760 ; BIT MASK FOR SAME
5149
5150 005732 .PSECT
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 135
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
5152 .SBTTL .RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
5153
5154 ;+
5155 ; .RDVPC -- SUBROUTINE TO READ THE KL PROGRAM COUNTER REGISTER
5156 ; .RDVAB -- SUBROUTINE TO READ THE KL ADDRESS BREAK REGISTER.
5157 ; .RDVMA -- SUBROUTINE TO READ THE KL VMA REGISTER.
5158 ; .RDVMH -- SUBROUTINE TO READ THE KL VMAH REGISTER.
5159 ;
5160 ; THESE SUBROUTINES READ AND ASSEMBLE THE DESIRED VMA BOARD REGISTER
5161 ; INTO A THREE WORD BLOCK POINTED TO BY R1 IN THE CALL.
5162 ;
5163 ; INPUT ARGUMENTS:
5164 ;
5165 ; R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
5166 ;
5167 ; OUTPUT ARGUMENTS:
5168 ;
5169 ; R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
5170 ;
5171 ; ERROR CODES RETURNED:
5172 ;
5173 ; FRF -- FUNCTION READ FAILED.
5174 ;-
5175
5176 .ENABL LSB
5177
5178 005732 .RDVPC::
5179 005732 012700 001764' MOV #PCTAB,R0 ; POINTER TO PC TABLE
5180 005736 000410 BR 10$
5181 ;
5182 005740 .RDVAB::
5183 005740 012700 001772' MOV #ABTAB,R0 ; POINTER TO ADDRESS BREAK TABLE
5184 005744 000405 BR 10$
5185 ;
5186 005746 .RDVMA::
5187 005746 012700 002000' MOV #VMATB,R0 ; POINTER TO VMA TABLE
5188 005752 000402 BR 10$
5189 ;
5190 005754 .RDVMH::
5191 005754 012700 002006' MOV #VMHTB,R0 ; POINTER TO VMAH TABLE
5192 005760 10$:
5193 005760 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
005760 004537 012512' JSR R5,.REGSV
5194 005764 010005 MOV R0,R5 ; TABLE POINTER TO R5
5195 005766 012704 000004 MOV #^D4,R4 ; ITERATION COUNT TO R4
5196 005772 010103 MOV R1,R3 ; USER BUFFER ADDRESS TO R3
5197 005774 012502 MOV (R5)+,R2 ; FUNCTION READ BASE TO R2
5198 005776 PUSH (R5)+ ; MASK WORD TO TOP OF THE STACK
005776 012546 MOV (R5)+,-(SP)
5199 006000 011505 MOV (R5),R5 ; .SHIFT BASE TO R5
5200 006002 010100 MOV R1,R0 ; .CLEAR CALLER'S AREA
5201 006004 CALL .TPCLR ; .SO
006004 004737 022572' JSR PC,.TPCLR
5202
5203 ; [CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT MACRO M1110 03-OCT-79 11:35 PAGE 136
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
5205 ; [CONTINUED FROM THE PREVIOUS PAGE]
5206
5207 006010 20$: ; .GET HERE FROM .RDVXX, ABOVE
5208 006010 010200 MOV R2,R0 ; .SET THE FUNCTION READ NUMBER
5209 006012 006300 ASL R0 ; .TIMES 2
5210 006014 005001 CLR R1 ; .CLEAR R1
5211 006016 CALL .FREAD ; .READ IT
006016 004737 007512' JSR PC,.FREAD
5212 006022 041620 BIC (SP),(R0)+ ; .SP POINTS TO BIT MASK
5213 006024 041610 BIC (SP),(R0) ; .R0 POINTS TO READ BLOCK
5214 006026 005740 TST -(R0) ; .NOW BACK THE POINTER UP
5215 006030 010501 MOV R5,R1 ; .GET THE SHIFT COUNT INTO R1
5216 006032 CALL .TPSHI ; .AND SHIFT IT
006032 004737 023172' JSR PC,.TPSHI
5217 006036 052023 BIS (R0)+,(R3)+ ; .SET THE BITS IN THE USER BUFFER
5218 006040 051013 BIS (R0),(R3) ; .SO
5219 006042 005743 TST -(R3) ; .BACK CALLER'S POINTER UP
5220 006044 122225 CMPB (R2)+,(R5)+ ; .INCREMENT READ NUMBER AND SHIFT COUNT
5221 006046 077420 SOB R4,20$ ; .DO THIS FOUR TIMES
5222 006050 042763 177600 000002 BIC #177600,2(R3) ; .GET RID OF BITS HIGHER THAN 13
5223 006056 005726 TST (SP)+ ; CLEAR THE STACK
5224 006060 RETURN ; RETURN TO CALLER
006060 000207 RTS PC
5225
5226 .DSABL LSB
5227
5228 ; TABLES FOR VMA BOARD READS
5229
5230 001764 .PSECT DATA
5231
5232 001764 PCTAB:
5233 001764 000150 .WORD FR.150/2 ; BASE READ FOR PC REGISTER
5234 001766 135673 .WORD 135673 ; BIT MASK " " "
5235 001770 177776 .WORD -^D2 ; SHIFT CNT " " "
5236 001772 ABTAB:
5237 001772 000150 .WORD FR.150/2 ; BASE READ FOR ADDRESS BREAK REGISTER
5238 001774 167356 .WORD 167356 ; BIT MASK " " " "
5239 001776 000000 .WORD 0 ; SHIFT CNT " " " "
5240 002000 VMATB:
5241 002000 000154 .WORD FR.154/2 ; BASE READ FOR VMA REGISTER
5242 002002 135673 .WORD 135673 ; BIT MASK " " "
5243 002004 177776 .WORD -^D2 ; SHIFT CNT " " "
5244 002006 VMHTB:
5245 002006 000154 .WORD FR.154/2 ; BASE READ FOR VMAH REGISTER
5246 002010 167356 .WORD 167356 ; BIT MASK " " "
5247 002012 000000 .WORD 0 ; SHIFT CNT " " "
5248
5249 006062 .PSECT
HALTC -- HALT FUNCTION MODULE 7 MACRO M1110 03-OCT-79 11:35 PAGE 137
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
5251 .TITLE HALTC -- HALT FUNCTION MODULE 7707.12
5252
5253 .IDENT "005000"
5254 ;
5255 ; COPYRIGHT (C) 1975, 1979 BY
5256 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
5257 ;
5258 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
5259 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
5260 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
5261 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
5262 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
5263 ;
5264 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
5265 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
5266 ; CORPORATION.
5267 ;
5268 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5269 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
5270 ;
5271 ; MODULE: HALT FUNCTION
5272 ;
5273 ; VERSION: 03-06
5274 ;
5275 ; AUTHOR: R. BELANGER
5276 ;
5277 ; DATE: 7707.12
5278 ;
5279 ; THIS MODULE CONTAINS:
5280 ;
5281 ; 1) HALT FUNCTION CODE
HALTC -- HALT FUNCTION MODULE 7 MACRO M1110 03-OCT-79 11:35 PAGE 138
.HALTC -- THE "HALT" COMMAND 7710.11
5283 .SBTTL .HALTC -- THE "HALT" COMMAND 7710.11
5284
5285 ;+
5286 ; .HALTC -- THE "HALT" COMMAND
5287 ;
5288 ; THIS ROUTINE HALTS THE KL WITH THE CLOCK RUNNING. (EXAMINE
5289 ; AND DEPOSIT ARE STILL SUPPORTED).
5290 ;
5291 ; INPUT ARGUMENTS:
5292 ;
5293 ; NONE.
5294 ;
5295 ; OUTPUT ARGUMENTS:
5296 ;
5297 ; NONE.
5298 ;
5299 ; ERROR CODES RETURNED:
5300 ;
5301 ; ILS -- ILLEGAL SEPARATOR CHARACTER.
5302 ;-
5303
5304 006062 .HALTC::
5305 006062 CALL .CKEOC ; CHECK E-O-C
006062 004737 000264' JSR PC,.CKEOC
5306 006066 CALLR .KLSTP ; HALT THE KL AND RETURN
006066 000137 010342' JMP .KLSTP
5307 ;
INITC -- INITIALIZE COMMAND MOD MACRO M1110 03-OCT-79 11:35 PAGE 139
.HALTC -- THE "HALT" COMMAND 7710.11
5309 .TITLE INITC -- INITIALIZE COMMAND MODULE 7602.16
5310
5311 .IDENT "005000"
5312
5313 ;
5314 ; COPYRIGHT (C) 1975, 1979 BY
5315 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
5316 ;
5317 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
5318 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
5319 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
5320 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
5321 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
5322 ;
5323 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
5324 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
5325 ; CORPORATION.
5326 ;
5327 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5328 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
5329 ;
5330 ; MODULE: INITIALIZE COMMAND
5331 ;
5332 ; VERSION: 05-00
5333 ;
5334 ; AUTHOR: R. BELANGER
5335 ;
5336 ; DATE: 7602.16
5337 ;
5338 ; THIS MODULE CONTAINS:
5339 ;
5340 ; 1) INITIALIZE COMMAND CODE
5341 ;
5342 ; MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
5343
5344 .MCALL ALUN$,CLEF$S,DIR$,SETF$S,SVTK$S
INITC -- INITIALIZE COMMAND MOD MACRO M1110 03-OCT-79 11:35 PAGE 140
.INITC -- THE "INITIALIZE" COMMAND 7602.16
5346 .SBTTL .INITC -- THE "INITIALIZE" COMMAND 7602.16
5347
5348 ;+
5349 ; .INITC -- THE "INITIALIZE" COMMAND
5350 ;
5351 ; THIS ROUTINE (RE)INITIALIZES THE COMMAND PARSER
5352 ;
5353 ; INPUT ARGUMENTS:
5354 ;
5355 ; NONE.
5356 ;
5357 ; OUTPUT ARGUMENTS:
5358 ;
5359 ; ".KLFLG" IS SET UP
5360 ;
5361 ; ERROR CODES RETURNED:
5362 ;
5363 ; NONE.
5364 ;-
5365
5366 006072 .INITC::
5367 006072 CALL .CKEOC ; CHECK FOR E-O-C
006072 004737 000264' JSR PC,.CKEOC
5368 006076 .INIC0::
5369 006076 000414 BR .INKLF ; INIT THE PARSER AND RETURN
5370 ;
INITC -- INITIALIZE COMMAND MOD MACRO M1110 03-OCT-79 11:35 PAGE 141
.INIT -- INITIALIZATION SUBROUTINE 7509.26
5372 .SBTTL .INIT -- INITIALIZATION SUBROUTINE 7509.26
5373
5374 ;+
5375 ; .INIT -- SUBROUTINE TO INITIALIZE THE COMMAND PARSER.
5376 ;
5377 ; THIS SUBROUTINE CLEARS INTERNAL BUFFERS AND INITIALIZES
5378 ; THE FOLLOWING REGISTERS:
5379 ;
5380 ; (A) ".KLFLG" -- THE KL STATUS FLAG WORD,
5381 ; (B) ".CLKWD" -- THE KL CLOCK STATUS WORD,
5382 ; (C) ".PSCWD" -- THE KL PARITY CONTROL WORD.
5383 ;
5384 ; INPUT ARGUMENTS:
5385 ;
5386 ; NONE.
5387 ;
5388 ; OUTPUT ARGUMENTS:
5389 ;
5390 ; ".KLFLG" IS SET UP
5391 ;
5392 ; ERROR CODES RETURNED:
5393 ;
5394 ; CES -- KL CLOCK ERROR STOP.
5395 ; CFH -- CAN'T FIND KL HALT LOOP.
5396 ; DSF -- DTE-20 STATUS FAILURE.
5397 ; FRF -- FUNCTION READ FAILED.
5398 ; FWF -- FUNCTION WRITE FAILED.
5399 ;-
5400
5401 006100 .INIT::
5402 006100 PUSH R0 ; SAVE R0
006100 010046 MOV R0,-(SP)
5403 006102 000257 CCC ; .CLEAR N, Z, V, C BITS
5404 006104 012700 000214' MOV #.DFBLK,R0 ; .CLEAR THE DF BUFFERS
5405 006110 10$:
5406 006110 005020 CLR (R0)+ ; .CLEAR A WORD
5407 006112 020027 000240' CMP R0,#DFBEND ; .ARE WE DONE?
5408 006116 103774 BLO 10$ ; .NO -- KEEP GOING
5409 006120 012737 000200 000000G MOV #KF.DEF,.KLFLG ; .YES -- INIT ".KLFLG"
5410 006126 POP R0 ; .RESTORE R0
006126 012600 MOV (SP)+,R0
5411
5412 ; [CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD MACRO M1110 03-OCT-79 11:35 PAGE 142
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
5414 .SBTTL .INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
5415
5416 ;+
5417 ; .INKLF -- SUBROUTINE TO SET UP THE KL STATE FLAG WORD, ".KLFLG".
5418 ;
5419 ; THIS SUBROUTINE SETS UP THE STATE OF THE FOLLOWING
5420 ; FLAG BITS IN THE KL STATE FLAG WORD, ".KLFLG":
5421 ;
5422 ; (A) "KF.CLK" -- KL CLOCK RUNNING FLAG,
5423 ; (B) "KF.RUN" -- KL RUN FLOP SET FLAG,
5424 ; (C) "KF.KLO" -- KL OPCODE ENABLED FLAG.
5425 ;
5426 ; .INKLF MAY BE CALLED DIRECTLY AS DESCRIBED IN THE CALLING SEQUENCE,
5427 ; OR BY ".INIT" WHICH FALLS INTO ".INKLF".
5428 ;
5429 ; INPUT ARGUMENTS:
5430 ;
5431 ; NONE.
5432 ;
5433 ; OUTPUT ARGUMENTS:
5434 ;
5435 ; ".KLFLG" IS SET UP.
5436 ;
5437 ; ERROR CODES RETURNED:
5438 ;
5439 ; CES -- KL CLOCK ERROR STOP.
5440 ; CFH -- CAN'T FIND KL HALT LOOP.
5441 ; DSF -- DTE-20 STATUS FAILURE.
5442 ; DTC -- DTE-20 CONFUSED.
5443 ; FRF -- FUNCTION READ FAILED.
5444 ; FWF -- FUNCTION WRITE FAILED.
5445 ;-
INITC -- INITIALIZE COMMAND MOD MACRO M1110 03-OCT-79 11:35 PAGE 143
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
5447 006130 .INKLF::
5448 006130 SETF$S #E.FHTO ; SET THE HALT TIMEOUT EVENT FLAG
006130 012746 000001 MOV #E.FHTO,-(SP)
006134 012746 MOV (PC)+,-(SP)
006136 041 002 .BYTE 33.,2
006140 104375 EMT 375
5449 006142 103456 BCS 60$ ; ERROR IF CC-C IS SET
5450 006144 PUSH <R0,R1,R2,R3> ; SAVE CALLER'S REGISTERS
006144 010046 MOV R0,-(SP)
006146 010146 MOV R1,-(SP)
006150 010246 MOV R2,-(SP)
006152 010346 MOV R3,-(SP)
5451 006154 CALL .DTSTA ; ....READ THE DTE-20 STATUS REGISTER
006154 004737 006702' JSR PC,.DTSTA
5452 006160 032700 000010 BIT #ST.MOD,R0 ; ....IS THE DTE-20 PRIVILEGED?
5453 006164 001047 BNE INIDNP ; ....UGH, BLETCH -- NO
5454 006166 CALL .CESCK ; ....YES -- SEE IF CLOCK ERROR STOP IS UP
006166 004737 000056' JSR PC,.CESCK
5455 006172 012702 000000G MOV #.KLFLG,R2 ; ....FLAG POINTER TO R2
5456 006176 042712 140000 BIC #KF.CLK!KF.RUN,(R2)
5457 ; ....CLEAR THE CLOCK AND RUNNING FLAGS
5458 006202 005037 000044' CLR .EDKLX ; ....RESET THE ADDRESS TO ZERO
5459 006206 005037 000046' CLR .EDKLX+2 ; ....
5460 006212 012700 000200 MOV #ED.PHY,R0 ; ....PHYSICAL REFERENCE
5461 006216 012701 002014' MOV #.INEXT,R1 ; ....POINT TO DATA BLOCK
5462 006222 CALL .EXKLM ; ....EXAMINE KL MEMORY
006222 004737 007064' JSR PC,.EXKLM
5463 006226 052712 100600 BIS #KF.CON!KF.KLO!KF.CLK,(R2) ;*
5464 ; ....SET THE CLOCK RUNNING FLAG
5465 006232 012703 000144 MOV #^D100,R3 ; ....LOOP COUNT TO R3
5466 006236 10$:
5467 006236 CALL .DTDW1 ; ....READ DIAG WORD 1
006236 004737 006664' JSR PC,.DTDW1
5468 006242 032700 002000 BIT #D1.RUN,R0 ; ....IS RUN ON?
5469 006246 001002 BNE 20$ ; ....YES -- GO ON
5470 006250 077306 SOB R3,10$ ; ....NO -- LOOP TILL COUNT EXHAUSTED
5471 006252 000405 BR 30$ ; ....CAN'T FIND IT, GIVE UP
5472 ;
5473
5474 ; [CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD MACRO M1110 03-OCT-79 11:35 PAGE 144
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
5476 ; [CONTINUED FROM THE PREVIOUS PAGE]
5477
5478 006254 20$:
5479 006254 032700 001000 BIT #D1.HLP,R0 ; ....IS THE HALT LOOP THERE TOO?
5480 006260 001014 BNE INIDTC ; ....YES -- GIVE "DTC" ERROR
5481 006262 052712 040000 BIS #KF.RUN,(R2) ; ....NO -- FOUND IT OK, SET THE FLAG
5482 006266 30$:
5496 006266 POP <R3,R2,R1,R0> ; ....RESTORE CALLER'S REGISTERS
006266 012603 MOV (SP)+,R3
006270 012602 MOV (SP)+,R2
006272 012601 MOV (SP)+,R1
006274 012600 MOV (SP)+,R0
5497 006276 RETURN ; TO CALLER
006276 000207 RTS PC
5498 006300 60$:
5499 006300 000137 012436' JMP .EXITP ; ERROR EXIT
5500 ;
5501 006304 INIDNP:
5502 006304 ERROR$ DNP ; ERROR -- DTE-20 NOT PRIVILEGED
006304 012746 015500 MOV #^RDNP,-(SP)
006310 104400 TRAP TC.ERR
5503 ;
5504 006312 INIDTC:
5505 006312 ERROR$ DTC ; ERROR --DTE-20 CONFUSED
006312 012746 016043 MOV #^RDTC,-(SP)
006316 104400 TRAP TC.ERR
5506 ;
5507
5508 002014 .PSECT DATA
5509
5510 002014 .INEXT:
5511 002014 000044' .WORD .EDKLX ; ADDRESS 0
5512 002016 000056' .WORD .EXBFR ; PLACE FOR DATA
5513
5514 006320 .PSECT
INITC -- INITIALIZE COMMAND MOD MACRO M1110 03-OCT-79 11:35 PAGE 145
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
5516 .SBTTL .INICP -- INITIALIZE THE COMMAND PARSER 7601.21
5517
5518 ;+
5519 ; .INICP -- ROUTINE TO INTIALIZE THE COMMAND PARSER.
5520 ;
5521 ; THIS SUBROUTINE WILL INITIALIZE THE RSX20F INTERFACE TO THE COMMAND
5522 ; PARSER. THE CONSOLE INPUT AND OUTPUT DEVICES ARE ASSIGNED AND ATTACHED,
5523 ; THE SST TRAPS ARE ENABLED, AND THE EVENT FLAGS ARE CLEARED.
5524 ;
5525 ; INPUT ARGUMENTS:
5526 ;
5527 ; NONE.
5528 ;
5529 ; OUTPUT ARGUMENTS:
5530 ;
5531 ; NONE.
5532 ;
5533 ; ERROR CODES RETURNED:
5534 ;
5535 ; IF THE SST VECTORS CANNOT BE INITIALIZED THE PARSER EXITS.
5536 ; IF THE CONSOLE OUTPUT DEVICE CANNOT BE ASSIGNED, THE PARSER EXITS.
5537 ; IF THE CONSOLE OUTPUT DEVICE CANNOT BE ASSIGNED, THE PARSER EXITS.
5538 ; IF THE CONSOLE DEVICE CANNOT BE ATTACHED, THE PARSER EXITS.
5539 ;-
5540
5541 006320 .INICP::
5542 006320 010637 000136' MOV SP,.SVESP ; INIT THE STACK POINTER
5543 006324 005005 CLR R5 ; CLEAR THE GPR'S
5544 006326 005004 CLR R4
5545 006330 005003 CLR R3
5546 006332 005002 CLR R2
5547 006334 005001 CLR R1
5548 006336 005000 CLR R0
5549 006340 SVTK$S #.SSTTB,#SSTLEN ; INIT SST'S
006340 012746 000010 MOV #SSTLEN,-(SP)
006344 012746 000174' MOV #.SSTTB,-(SP)
006350 012746 MOV (PC)+,-(SP)
006352 071 003 .BYTE 57.,3
006354 104375 EMT 375
5550 006356 103442 BCS 10$ ; DIE IF WE CAN'T DO THAT MUCH
5551 006360 DIR$ #.ASCOD ; ASSIGN THE CONSOLE OUTPUT DEVICE
006360 012746 000026' MOV #.ASCOD,-(SP)
006364 104375 EMT 375
5552 006366 103436 BCS 10$ ; DIE IF WE CAN'T DO THAT, EITHER
5553 006370 DIR$ #.ASCID ; ASSIGN THE CONSOLE INPUT DEVICE
006370 012746 000016' MOV #.ASCID,-(SP)
006374 104375 EMT 375
5554 006376 103432 BCS 10$ ; GIVE ERROR TRAP IF CC-C IS SET
5555
5556 ; [CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD MACRO M1110 03-OCT-79 11:35 PAGE 146
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
5558 ; [CONTINUED FROM THE PREVIOUS PAGE]
5559
5560 006400 CLEF$S #E.FCTC ; CLEAR CONTROL-C EVENT FLAG
006400 012746 000000G MOV #E.FCTC,-(SP)
006404 012746 MOV (PC)+,-(SP)
006406 037 002 .BYTE 31.,2
006410 104375 EMT 375
5561 006412 CLEF$S #E.FHTO ; CLEAR HALT TIMEOUT EVENT FLAG
006412 012746 000001 MOV #E.FHTO,-(SP)
006416 012746 MOV (PC)+,-(SP)
006420 037 002 .BYTE 31.,2
006422 104375 EMT 375
5562 006424 CLEF$S #E.FCID ; CLEAR CONSOLE INPUT DONE EVENT FLAG
006424 012746 000002 MOV #E.FCID,-(SP)
006430 012746 MOV (PC)+,-(SP)
006432 037 002 .BYTE 31.,2
006434 104375 EMT 375
5563 006436 SETF$S #E.FCOD ; SET CONSOLE OUTPUT DONE EVENT FLAG
006436 012746 000003 MOV #E.FCOD,-(SP)
006442 012746 MOV (PC)+,-(SP)
006444 041 002 .BYTE 33.,2
006446 104375 EMT 375
5567 006450 CALL .TCRLF ; INIT CONSOLE
006450 004737 026272' JSR PC,.TCRLF
5568 006454 CALL .INIC0 ; INIT ".KLFLG"
006454 004737 006076' JSR PC,.INIC0
5569 006460 000177 000134' JMP @.STRTV ; START THE PARSER
5570 ;
5571 006464 10$:
5572 006464 CALLR .EXITP ; EXIT GRACEFULLY
006464 000137 012436' JMP .EXITP
5573 ;
INITC -- INITIALIZE COMMAND MOD MACRO M1110 03-OCT-79 11:35 PAGE 147
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
5575 ; ASSIGN CONSOLE INPUT DEVICE
5576
5577 000016 .PSECT DPBS
5578
5579 000016 .ASCID::
5580 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
5581
5582 ; ASSIGN CONSOLE OUTPUT DEVICE
5583
5584 000026 .ASCOD::
5585 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
5586
5587 006470 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 148
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
5589 .TITLE KL10F -- KL10 FUNCTION MODULE 7812.21
5590
5591 .IDENT "005000"
5592
5593 ;
5594 ; COPYRIGHT (C) 1975, 1979 BY
5595 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
5596 ;
5597 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
5598 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
5599 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
5600 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
5601 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
5602 ;
5603 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
5604 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
5605 ; CORPORATION.
5606 ;
5607 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5608 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
5609 ;
5610 ; MODULE: KL10 FUNCTIONS
5611 ;
5612 ; VERSION: 05-00
5613 ;
5614 ; AUTHOR: R. BELANGER
5615 ;
5616 ; DATE: 7812.21
5617 ;
5618 ; THIS MODULE CONTAINS:
5619 ;
5620 ; 1) KL MBOX CLOCK BURST CODE
5621
5622 .MCALL $DEF,DIR$,MRKT$,PREX$,PRDP$,KLDR$,KLDW$,KLDX$,WTSE$S
5623
5624 006470 $DEF
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 149
.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
5626 .SBTTL .BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
5627
5628 ;+
5629 ; .BRMBC -- SUBROUTINE TO STOP THE KL CLOCK AND BURST THE MBOX
5630 ; CLOCK AS IN ".BURST".
5631 ; .BURST -- SUBROUTINE TO BURST THE KL MBOX CLOCK
5632 ; A MAXIMUM OF 255 DECIMAL TICKS PER CALL.
5633 ;
5634 ; THIS SUBROUTINE LOADS THE KL BURST COUNT REGISTER
5635 ; AND RUNS THE MBOX CLOCK FROM THE BURST COUNT REGISTER. IT WILL
5636 ; FAIL IF A BURST COUNT .GT. 255 DECIMAL IS REQUESTED IN ONE CALL.
5637 ;
5638 ; INPUT ARGUMENTS:
5639 ;
5640 ; R0 CONTAINS THE BURST COUNT
5641 ;
5642 ; OUTPUT ARGUMENTS:
5643 ;
5644 ; NONE.
5645 ;
5646 ; ERROR CODES RETURNED:
5647 ;
5648 ; BAE -- BURST ARGUMENT ERROR.
5649 ; FWF -- FUNCTION WRITE FAILED.
5650 ; FXF -- FUNCTION EXECUTE FAILED.
5651 ;-
5652
5653 006470 .BRMBC::
5654 006470 CALL .STPXC ; STOP THE KL CLOCK
006470 004737 012036' JSR PC,.STPXC
5655 006474 .BURST::
5656 006474 022700 000377 CMP #^D255,R0 ; IS ARGUMENT .GT. 255 DECIMAL?
5657 006500 103406 BLO BCCTER ; YES -- ERROR
5658 006502 CALL .LDBRG ; NO -- LOAD THE BURST COUNTER
006502 004737 010606' JSR PC,.LDBRG
5659 006506 012700 000012 MOV #FX.BMC,R0 ; SET UP TO BURST THE MBOX CLOCK
5660 006512 CALLR .FXCT ; DO IT
006512 000137 007716' JMP .FXCT
5661 ;
5662 006516 BCCTER:
5663 006516 ERROR$ BAE ; ERROR -- ARGUMENT OUT OF RANGE
006516 012746 006255 MOV #^RBAE,-(SP)
006522 104400 TRAP TC.ERR
5664 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 150
.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
5666 .SBTTL .CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
5667
5668 ;+
5669 ; .CLDFB -- SUBROUTINE TO CLEAR THE DTE-20 TRANSFER BUFFERS
5670 ; .CLDFR -- SUBROUTINE TO CLEAR THE DTE-20 READ BUFFER
5671 ; .CLDFW -- SUBROUTINE TO CLEAR THE DTE-20 WRITE BUFFER
5672 ;
5673 ; THE SUBROUTINES CLEAR THE INDICATED BUFFERS
5674 ;
5675 ; INPUT ARGUMENTS:
5676 ;
5677 ; NONE.
5678 ;
5679 ; OUTPUT ARGUMENTS:
5680 ;
5681 ; NONE.
5682 ;
5683 ; ERROR CODES RETURNED:
5684 ;
5685 ; NONE.
5686 ;-
5687
5688 .ENABL LSB
5689
5690 006524 .CLDFB::
5691 006524 CALL .CLDFW ; CLEAR THE WRITE HALF OF THE BUFFER
006524 004737 006540' JSR PC,.CLDFW
5692 006530 .CLDFR::
5693 006530 PUSH R0 ; SAVE R0
006530 010046 MOV R0,-(SP)
5694 006532 012700 000222' MOV #.DFRB,R0 ; .CLEAR THE FUNCTION READ BUFFER
5695 006536 000403 BR 10$ ; .
5696 ;
5697 006540 .CLDFW::
5698 006540 PUSH R0 ; SAVE R0
006540 010046 MOV R0,-(SP)
5699 006542 012700 000214' MOV #.DFWB,R0 ; .CLEAR THE FUNCTION WRITE BUFFER
5700 006546 10$:
5701 006546 CALL .TPCLR ; .CLEAR THE BUFFER
006546 004737 022572' JSR PC,.TPCLR
5702 006552 000414 BR 20$ ; .RESTORE R0 AND EXIT
5703 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 151
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
5705 .SBTTL .CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
5706
5707 ;+
5708 ; .CLRFF -- SUBROUTINE TO CLEAR THE KL RUN FLOP.
5709 ;
5710 ; THIS SUBROUTINE CLEARS THE KL RUN FLOP AND ISSUES A
5711 ; "MARK TIME" DIRECTIVE FOR THE CLOCK SHUTDOWN IN ".KLHLT".
5712 ;
5713 ; INPUT ARGUMENTS:
5714 ;
5715 ; NONE.
5716 ;
5717 ; OUTPUT ARGUMENTS:
5718 ;
5719 ; NONE
5720 ;
5721 ; ERROR CODES RETURNED:
5722 ;
5723 ; FXF -- FUNCTION EXECUTE FAILED.
5724 ;-
5725
5726 006554 .CLRFF::
5727 006554 000241 CLC ; CLEAR CC-C
5728 006556 DIR$ #.MTDPB ; REQUEST MARK TIME (FOR ".KLHLT")
006556 012746 000036' MOV #.MTDPB,-(SP)
006562 104375 EMT 375
5729 006564 PUSH R0 ; SAVE R0
006564 010046 MOV R0,-(SP)
5730 006566 112737 000001 000000G MOVB #1,.NOHLT ; TELL RSX20F NOT TO WORRY ABOUT THIS
5731 006574 012700 000020 MOV #FX.CRF,R0 ; .SET UP TO CLEAR KL RUN FLOP
5732 006600 CALL .FXCT ; .DO IT
006600 004737 007716' JSR PC,.FXCT
5733 006604 20$:
5734 006604 POP R0 ; .RESTORE R0
006604 012600 MOV (SP)+,R0
5735 006606 RETURN ; TO CALLER
006606 000207 RTS PC
5736
5737 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 152
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
5739 ; DPB FOR MARK TIME DIRECTIVE
5740
5741 ; !===============================================!
5742 ; 00 ! DPB SIZE ! DIC !
5743 ; !-----------------------------------------------!
5744 ; 02 ! EVENT FLAG !
5745 ; !-----------------------------------------------!
5746 ; 04 ! TIME INTERVAL IN CLOCK TICKS !
5747 ; !-----------------------------------------------!
5748 ; 06 ! RESCHEDULE INTERVAL IN CLOCK TICKS !
5749 ; !-----------------------------------------------!
5750 ; 10 ! AST HANDLER ENTRY POINT !
5751 ; !===============================================!
5752
5753 000036 .PSECT DPBS
5754
5755 000036 .MTDPB::
5756 000036 MRKT$ E.FHTO,30.,0,0
000036 027 005 .BYTE 23.,5
000040 000001 .WORD E.FHTO
000042 000036 .WORD 30.
000044 000000 .WORD 0
000046 000000 .WORD 0
5757
5758 006610 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 153
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
5760 .SBTTL .DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
5761
5762 ;+
5763 ; .DTDW1 -- SUBROUTINE TO READ DTE-20 DIAG WORD 1.
5764 ; .DTDW2 -- SUBROUTINE TO READ DTE-20 DIAG WORD 2.
5765 ; .DTSTA -- SUBROUTINE TO READ DTE-20 STATUS WORD.
5766 ; .DTDW3 -- SUBROUTINE TO READ DTE-20 DIAG WORD 3.
5767 ; .DWDW1 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 1.
5768 ; .DWDW2 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 2.
5769 ; .DWSTA -- SUBROUTINE TO WRITE DTE-20 STATUS WORD.
5770 ; .DWDW3 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 3.
5771 ;
5772 ; THESE SUBROUTINES READ OR WRITE THE CONTENT OF THE SPECIFIED
5773 ; DTE-20 REGISTER.
5774 ;
5775 ; THE CONTENT OF THE REGISTER TO BE WRITTEN IS PASSED IN R0.
5776 ; WHETHER A READ OR WRITE IS SPECIFIED, THE CONTENT OF THE REGISTER
5777 ; AFTER THE READ OR WRITE IS ALWAYS RETURNED IN R0 AND IN ".DREG".
5778 ;
5779 ; INPUT ARGUMENTS:
5780 ;
5781 ; (READ) NONE.
5782 ; (WRITE) R0 POINTS TO THE DATA TO BE WRITTEN.
5783 ;
5784 ; OUTPUT ARGUMENTS:
5785 ;
5786 ; R0 CONTAINS THE DATA FROM THE REGISTER WHICH WAS
5787 ; READ OR WRITTEN.
5788 ;
5789 ; ERROR CODES RETURNED:
5790 ;
5791 ; DSF -- DTE-20 STATUS FAILURE.
5792 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 154
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
5794 .ENABL LSB
5795
5796 006610 .DWDW1:: ; DIAG WORD 1 WRITE ENTRY
5797 006610 105037 000053' CLRB .REGRW+3 ; SET DIAG1 OFFSET
5798 006614 000413 BR 10$ ; DO COMMON WRITE CODE
5799 ;
5800 006616 .DWDW2:: ; DIAG WORD 2 WRITE ENTRY
5801 006616 112737 000002 000053' MOVB #.DIAG2,.REGRW+3; DIAG2 OFFSET
5802 006624 000407 BR 10$ ; DO COMMON WRITE CODE
5803 ;
5804 006626 .DWSTA:: ; STATUS WRITE ENTRY
5805 006626 112737 000004 000053' MOVB #.DTSTW,.REGRW+3; OFFSET FOR STATUS
5806 006634 000403 BR 10$ ; DO COMMON WRITE CODE
5807 ;
5808 006636 .DWDW3:: ; DIAG WORD 3 WRITE ENTRY
5809 006636 112737 000006 000053' MOVB #.DIAG3,.REGRW+3; SET DIAG WORD 3 OFFSET
5810 006644 10$: ; COMMON WRITE CODE
5811 006644 010037 000054' MOV R0,.REGRW+4 ; SET THE DATA POINTER IN THE DPB
5812 006650 113700 000053' MOVB .REGRW+3,R0 ; GET THE REGISTER OFFSET
5813 006654 046077 002020' 000054' BIC MBZTAB(R0),@.REGRW+4
5814 ; ZERO THE MBZ BITS
5815 006662 000420 BR 30$ ; WRITE IT
5816 ;
5817 006664 .DTDW1:: ; DIAG WORD 1 READ ENTRY
5818 006664 105037 000053' CLRB .REGRW+3 ; DIAG WORD 1 OFFSET IS 0
5819 006670 000413 BR 20$ ; GO READ IT
5820 ;
5821 006672 .DTDW2:: ; DIAG WORD 2 READ ENTRY
5822 006672 112737 000002 000053' MOVB #.DIAG2,.REGRW+3; DIAG WORD 2 OFFSET IS 2
5823 006700 000407 BR 20$ ; GO READ IT
5824 ;
5825 006702 .DTSTA:: ; STATUS WORD READ ENTRY
5826 006702 112737 000004 000053' MOVB #.DTSTW,.REGRW+3; SET THE OFFSET FOR THE STATUS WORD
5827 006710 000403 BR 20$ ; GO READ THE DTE-20 STATUS REGISTER
5828 ;
5829 006712 .DTDW3:: ; DIAG WORD 3 READ ENTRY
5830 006712 112737 000006 000053' MOVB #.DIAG3,.REGRW+3; SET THE OFFSET FOR DIAG WORD 3
5831
5832 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 155
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
5834 ; [CONTINUED FROM THE PREVIOUS PAGE]
5835
5836 006720 20$:
5837 006720 005037 000054' CLR .REGRW+4 ; THIS IS NOT A WRITE
5838 006724 30$: ; DATA BUFFER ALREADY LOADED FOR WRITE
5839 006724 005037 000230' CLR .DREG ; CLEAR RETURNED DATA BUFFER
5840 006730 DIR$ #.REGRW ; READ OR WRITE THE REGISTER
006730 012746 000050' MOV #.REGRW,-(SP)
006734 104375 EMT 375
5841 006736 103411 BCS DTEDSF ; ERROR IF CC-C IS SET
5842 006740 013700 000230' MOV .DREG,R0 ; PUT A COPY IN R0
5844 006744 032737 000040 000142' BIT #TR.DTE,.TRKWD ; NO -- ARE WE TRACKING DTE-20 OPS?
5845 006752 001402 BEQ 40$ ; NO -- JUST RETURN
5846 006754 CALLR .DTTRK ; YES -- TRACK IT AND RETURN
006754 000137 023532' JMP .DTTRK
5847 ;
5848 006760 40$:
5850 006760 RETURN ; GO AWAY
006760 000207 RTS PC
5851
5852 .DSABL LSB
5853
5854 006762 DTEDSF:
5855 006762 ERROR$ DSF ; ERROR -- DTE-20 REGISTER READ OR WRITE FAILED
006762 012746 015776 MOV #^RDSF,-(SP)
006766 104400 TRAP TC.ERR
5856 ;
5857
5858 ; TABLE TO CLEAR MBZ BITS ON REGISTER WRITE
5859
5860 002020 .PSECT DATA
5861
5862 002020 MBZTAB:
5863 002020 000442 .WORD D1.MBZ
5864 002022 177641 .WORD D2.MBZ
5865 002024 000000 .WORD ST.MBZ
5866 002026 177704 .WORD D3.MBZ
5867
5868 006770 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 156
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
5870 ; DPB TO READ OR WRITE THE DTE-20 REGISTERS
5871
5872 ; !===============================================!
5873 ; 00 ! DPB SIZE ! DIC !
5874 ; !-----------------------------------------------!
5875 ; 02 ! REGISTER OFFSET ! DIRECTIVE CODE !
5876 ; !-----------------------------------------------!
5877 ; 04 ! POINTER TO DATA TO BE WRITTEN !
5878 ; !-----------------------------------------------!
5879 ; 06 ! DESTINATION ADDRESS FOR DATA READ !
5880 ; !-----------------------------------------------!
5881 ; 10 ! DTE-20 NUMBER !
5882 ; !===============================================!
5883
5884 000050 .PSECT DPBS
5885
5886 000050 .REGRW::
5887 000050 002411 .WORD 2411
5888 000052 017 000 .BYTE 17,0
5889 000054 000000 .WORD 0
5890 000056 000230' .WORD .DREG
5891 000060 000000 .WORD 0
5892 000060' RGDTEN==.-2
5893
5894 006770 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 157
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
5896 .SBTTL .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
5897
5898 ;+
5899 ; .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK VIA MBOX CLOCKS
5900 ;
5901 ; THIS SUBROUTINE WILL SIMULATE AN EBOX CLOCK WITH MBOX CLOCKS.
5902 ; DOING THIS PREVENTS THE EBOX AND MBOX FROM BECOMING UNSYNCHRONIZED.
5903 ; THE EBOX CLOCK IS SYNCHED LOW ON EXIT.
5904 ;
5905 ; SEQUENCE OF OPERATION:
5906 ;
5907 ; (A) AN MBOX CLOCK IS ISSUED (FX.002),
5908 ; (B) THE STATE OF [CLK EBOX SRC H] IS TESTED:
5909 ; (1) IF FALSE GO TO (A),
5910 ; (2) IF TRUE GO TO (C),
5911 ; (C) THE EBOX CLOCK IS SYNCHED LOW.
5912 ;
5913 ; INPUT ARGUMENTS:
5914 ;
5915 ; NONE.
5916 ;
5917 ; OUTPUT ARGUMENTS:
5918 ;
5919 ; NONE.
5920 ;
5921 ; ERROR CODES RETURNED:
5922 ;
5923 ; CES -- CLOCK ERROR STOP.
5924 ; DSF -- DTE-20 STATUS FAILURE.
5925 ; ECT -- EBOX CLOCK TIMEOUT.
5926 ; FRF -- FUNCTION READ FAILED.
5927 ; FXF -- FUNCTION EXECUTE FAILED.
5928 ;
5929 ; NOTE:
5930 ;
5931 ; THIS SUBROUTINE ASSUMES THAT THE KL CLOCK IS OFF.
5932 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 158
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
5934 006770 .EBCLK::
5935 006770 PUSH <R2,R1,R0> ; SAVE CALLER'S REGISTERS
006770 010246 MOV R2,-(SP)
006772 010146 MOV R1,-(SP)
006774 010046 MOV R0,-(SP)
5936 006776 CALL .CESCK ; ...SEE IF CLOCK ERROR STOP IS UP
006776 004737 000056' JSR PC,.CESCK
5937 007002 012702 000310 MOV #^D200,R2 ; ...TIMEOUT COUNT TO R2
5938 007006 10$:
5939 007006 005001 CLR R1 ; ...CLEAR R1
5940 007010 012700 000004 MOV #FX.MBC,R0 ; ...DO ONE MBOX CLOCK
5941 007014 CALL .FXCT ; ...DO IT
007014 004737 007716' JSR PC,.FXCT
5942 007020 012700 000210 MOV #FR.104,R0 ; ...READ STATE OF [CLK EBX SRC H]
5943 007024 CALL .FREAD ; ...DO IT
007024 004737 007512' JSR PC,.FREAD
5944 007030 032710 000004 BIT #BIT02,(R0) ; ...IS IT THERE?
5945 007034 001001 BNE 20$ ; ...YES -- SYNCH THE CLOCK AND EXIT
5946 007036 077215 SOB R2,10$ ; ...NO -- LOOP TILL COUNT EXHAUSTED
5947 007040 20$:
5948 007040 005702 TST R2 ; ...WHAT'S IN R2?
5949 007042 003405 BLE EBCECT ; ...TIMED OUT IF .LE. 0
5950 007044 POP <R0,R1,R2> ; ...RESTORE CALLER'S REGISTERS
007044 012600 MOV (SP)+,R0
007046 012601 MOV (SP)+,R1
007050 012602 MOV (SP)+,R2
5951 007052 CALLR .SYNXC ; FORCE SYNCH THE CLOCK AND EXIT
007052 000137 012210' JMP .SYNXC
5952 ;
5953 007056 EBCECT:
5954 007056 ERROR$ ECT ; ERROR -- EBOX CLOCK TIME OUT
007056 012746 017714 MOV #^RECT,-(SP)
007062 104400 TRAP TC.ERR
5955 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 159
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
5957 .SBTTL .EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
5958
5959 ;+
5960 ; .EXKLM -- SUBROUTINE TO EXAMINE KL MEMORY.
5961 ; .DPKLM -- SUBROUTINE TO DEPOSIT KL MEMORY.
5962 ;
5963 ; THIS SUBROUTINE EXAMINES OR DEPOSITS ONE LOCATION OF KL MEMORY.
5964 ;
5965 ; INPUT ARGUMENTS:
5966 ;
5967 ; R0 MUST CONTAIN ONE OF THE FOLLOWING ADDRESS SPACE CODES:
5968 ;
5969 ; (A) ED.EPT (000) EXEC PROCESS TABLE (RELATIVE),
5970 ; (B) ED.EXV (040) EXEC VIRTUAL ADDRESS SPACE,
5971 ; (C) ED.UPT (100) USER PROCESS TABLE (RELATIVE),
5972 ; (D) ED.USV (140) USER VIRTUAL ADDRESS SPACE,
5973 ; (E) ED.PHY (200) PHYSICAL ADDRESS SPACE.
5974 ;
5975 ; R1 MUST CONTAIN A POINTER TO A TWO WORD POINTER BLOCK OF THE FORM:
5976 ;
5977 ; !===================================!
5978 ; 00 ! POINTER TO KL ADDRESS !
5979 ; !-----------------------------------!
5980 ; 02 ! POINTER TO KL DATA !
5981 ; !===================================!
5982 ;
5983 ; THE KL ADDRESS POINTER MUST POINT TO A TWO WORD BLOCK OF THE FORM:
5984 ;
5985 ; !===================================!
5986 ; 00 ! KL ADDRESS 20 - 35 !
5987 ; !-----------------------------------!
5988 ; 02 ! KL ADDRESS 19 - 14 !
5989 ; !===================================!
5990 ;
5991 ; THE KL DATA POINTER POINTS TO A TRIPLET IN DEXWORD FORMAT.
5992 ;
5993 ; OUTPUT ARGUMENTS:
5994 ;
5995 ; SAME AS INPUT ARGUMENTS.
5996 ;
5997 ; ERROR CODES RETURNED:
5998 ;
5999 ; ESD -- EBOX STOPPED - DEPOSIT.
6000 ; ESE -- EBOX STOPPED - EXAMINE.
6001 ; EMF -- EXAMINE KL MEMORY FAILED.
6002 ; DMF -- DEPOSIT KL MEMORY FAILED.
6003 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 160
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
6005 .ENABL LSB
6006
6007 007064 .EXKLM::
6008 007064 PUSH <R2,R3> ; SAVE R2 AND R3 ON THE STACK
007064 010246 MOV R2,-(SP)
007066 010346 MOV R3,-(SP)
6009 007070 012702 002030' MOV #.ETAB,R2 ; ..POINTER TO EXAMINE TABLE
6010 007074 CALL .EXDPM ; ..GO DO EXAMINE
007074 004737 007154' JSR PC,.EXDPM
6012 007100 032737 000010 000142' BIT #TR.EXM,.TRKWD ; ..ARE WE TRACKING EXAMINES?
6013 007106 001417 BEQ 10$ ; ..NO -- GO ON
6014 007110 CALL .EXTRK ; ..YES -- TRACK IT
007110 004737 023642' JSR PC,.EXTRK
6016 007114 000414 BR 10$ ; ..AND GO AWAY
6017 ;
6018 007116 .DPKLM::
6019 007116 PUSH <R2,R3> ; SAVE R2 AND R3 ON THE STACK
007116 010246 MOV R2,-(SP)
007120 010346 MOV R3,-(SP)
6020 007122 012702 002040' MOV #.DTAB,R2 ; ..POINTER TO DEPOSIT TABLE
6021 007126 CALL .EXDPM ; ..DO THE DEPOSIT
007126 004737 007154' JSR PC,.EXDPM
6023 007132 032737 000020 000142' BIT #TR.DEP,.TRKWD ; ..ARE WE TRACKING DEPOSITS?
6024 007140 001402 BEQ 10$ ; ..NO -- GO ON
6025 007142 CALL .DPTRK ; ..YES -- TRACK THE DEPOSIT
007142 004737 023654' JSR PC,.DPTRK
6027 007146 10$:
6028 007146 POP <R3,R2> ; ..RESTORE R2 AND R3
007146 012603 MOV (SP)+,R3
007150 012602 MOV (SP)+,R2
6029 007152 RETURN ; RETURN TO CALLER
007152 000207 RTS PC
6030
6031 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 161
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
6033 ; THIS IS THE COMMON DEPOSIT / EXAMINE CODE
6034
6035 007154 .EXDPM::
6036 007154 000241 CLC ; CLEAR CC-C
6037 007156 012203 MOV (R2)+,R3 ; GET THE DPB POINTER INTO R3
6038 007160 110023 MOVB R0,(R3)+ ; PUT THE MODE INTO THE DPB
6039 007162 011123 MOV (R1),(R3)+ ; PUT THE POINTER TO THE KL ADDRESS IN THE DPB
6040 007164 016113 000002 MOV 2(R1),(R3) ; AND DESTINATION POINTER TOO
6041 007170 011303 MOV (R3),R3 ; GET ADDRESS OF CALLER'S DATA BLOCK
6042 007172 042763 177760 000004 BIC #177760,4(R3) ; CLEAR EXTRANEOUS BITS
6043 007200 DIR$ (R2)+ ; DO THE EXAMINE OR DEPOSIT
007200 012246 MOV (R2)+,-(SP)
007202 104375 EMT 375
6044 007204 103401 BCS 10$ ; ERROR IF CC-C IS SET
6045 007206 RETURN ; TO CALLER
007206 000207 RTS PC
6046 007210 10$:
6047 007210 022737 000000G 000000G CMP #IE.EBX,$DSW ; IS THE EBOX STOPPED?
6048 007216 001401 BEQ 20$ ; YES -- EBOX IS STOPPED
6049 007220 005722 TST (R2)+ ; NO -- OTHER ERROR
6050 007222 20$:
6051 007222 CALL .CESCK ; SEE IF CLOCK ERROR STOP IS UP
007222 004737 000056' JSR PC,.CESCK
6052 007226 CALL .RESTD ; RESET THE DTE-20 SINCE IT MAY BE CONFUSED
007226 004737 011616' JSR PC,.RESTD
6053 007232 000132 JMP @(R2)+ ; GIVE THE EXAMINE ERROR TRAP
6054 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 162
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
6056 ; TABLES FOR EXAMINE / DEPOSIT KL MEMORY
6057
6058 002030 .PSECT DATA
6059
6060 002030 .ETAB:
6061 002030 000077' .WORD .EXDPB+3 ; POINTER FOR EXAMINE MODE IN DPB
6062 002032 000074' .WORD .EXDPB ; EXAMINE DPB POINTER
6063 002034 007250' .WORD EXDESE ; EBOX STOPPED - EXAMINE
6064 002036 007272' .WORD EXDEMF ; EXAMINE KL FAILED
6065
6066 002040 .DTAB:
6067 002040 000065' .WORD .DPDPB+3 ; POINTER FOR DEPOSIT MODE IN DPB
6068 002042 000062' .WORD .DPDPB ; DEPOSIT DPB POINTER
6069 002044 007234' .WORD EXDESD ; EBOX STOPPED - DEPOSIT
6070 002046 007264' .WORD EXDDMF ; DEPOSIT KL FAILED
6071
6072 007234 .PSECT
6073
6074 007234 EXDESD:
6075 007234 042737 100000 000000G BIC #KF.CLK,.KLFLG ; FLAG THE EBOX STOP
6076 007242 ERROR$ ESD ; ERROR -- EBOX STOPPED - DEPOSIT
007242 012746 021074 MOV #^RESD,-(SP)
007246 104400 TRAP TC.ERR
6077 ;
6078 007250 EXDESE:
6079 007250 042737 100000 000000G BIC #KF.CLK,.KLFLG ; FLAG THE EBOX STOP
6080 007256 ERROR$ ESE ; ERROR -- EBOX STOPPED - EXAMINE
007256 012746 021075 MOV #^RESE,-(SP)
007262 104400 TRAP TC.ERR
6081 ;
6082 007264 EXDDMF:
6083 007264 ERROR$ DMF ; ERROR -- DEPOSIT MEMORY FAILED
007264 012746 015416 MOV #^RDMF,-(SP)
007270 104400 TRAP TC.ERR
6084 ;
6085 007272 EXDEMF:
6086 007272 ERROR$ EMF ; ERROR -- EXAMINE MEMORY FAILED
007272 012746 020516 MOV #^REMF,-(SP)
007276 104400 TRAP TC.ERR
6087 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 163
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
6089 ; DPB FOR PRIVILEGED DEPOSIT
6090
6091 ; !===============================================!
6092 ; 00 ! DPB SIZE ! DIC !
6093 ; !-----------------------------------------------!
6094 ; 02 ! DEPOSIT TYPE ! DIRECTIVE CODE !
6095 ; !-----------------------------------------------!
6096 ; 04 ! KL DEPOSIT ADDRESS POINTER !
6097 ; !-----------------------------------------------!
6098 ; 06 ! KL DEPOSIT DATA POINTER !
6099 ; !-----------------------------------------------!
6100 ; 10 ! DTE-20 NUMBER !
6101 ; !===============================================!
6102
6103 000062 .PSECT DPBS
6104
6105 000062 .DPDPB::
6106 000062 PRDP$ 0,.EDKLA,.DPBFR,ED.PHY
000062 011 005 .BYTE DR.DTE,5
000064 016 200 .BYTE DF.PDP,ED.PHY
000066 000036' .WORD .EDKLA
000070 000020' .WORD .DPBFR
000072 000000 .WORD 0
6107 000072' DPDTEN==.-2
6108
6109 ; DPB FOR PRIVILEGED EXAMINE
6110
6111 ; !===============================================!
6112 ; 00 ! DPB SIZE ! DIC !
6113 ; !-----------------------------------------------!
6114 ; 02 ! EXAMINE TYPE ! DIRECTIVE CODE !
6115 ; !-----------------------------------------------!
6116 ; 04 ! KL ADDRESS WORD POINTER !
6117 ; !-----------------------------------------------!
6118 ; 06 ! DATA DESTINATION POINTER !
6119 ; !-----------------------------------------------!
6120 ; 10 ! DTE-20 NUMBER !
6121 ; !===============================================!
6122
6123 000074 .EXDPB::
6124 000074 PREX$ 0,.EDKLA,.EXBFR,ED.PHY
000074 011 005 .BYTE DR.DTE,5
000076 015 200 .BYTE DF.PEX,ED.PHY
000100 000036' .WORD .EDKLA
000102 000056' .WORD .EXBFR
000104 000000 .WORD 0
6125 000104' EXDTEN==.-2
6126
6127 007300 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 164
.EXCTF -- FAST INTERNAL EXECUTE 7602.17
6129 .SBTTL .EXCTF -- FAST INTERNAL EXECUTE 7602.17
6130
6131 ;+
6132 ; .EXCTF -- FST INTERNAL EXECUTE.
6133 ;
6134 ; THIS SUBROUTINE WILL EXECUTE A KL INSTRUCTION WITHOUT
6135 ; CLOCKING THE KL OUT THE HALT LOOP; THE KL IS SIMPLY
6136 ; CONTINUED
6137 ;
6138 ; INPUT ARGUMENTS:
6139 ;
6140 ; NONE.
6141 ;
6142 ; OUTPUT ARGUMENTS:
6143 ;
6144 ; NONE.
6145 ;
6146 ; ERROR CODES RETURNED:
6147 ;
6148 ; NONE
6149 ;-
6150
6151 007300 .EXCTF::
6152 007300 PUSH .KLFLG ; SAVE ".KLFLG"
007300 013746 000000G MOV .KLFLG,-(SP)
6153 007304 005116 COM (SP) ; .INVERT IT
6154 007306 032716 140000 BIT #KF.CLK!KF.RUN,(SP)
6155 007312 001013 BNE 10$ ; .NOT REALLY RUNNING -- DO OTHER XCT
6156 007314 005116 COM (SP) ; .RESET SAVED ".KLFLG"
6157 007316 PUSH R0 ; .SAVE R0
007316 010046 MOV R0,-(SP)
6158 007320 CALL .STPKL ; ..STOP THE KL
007320 004737 012012' JSR PC,.STPKL
6159 007324 POP R1 ; ..INSTRUCTION POINTER TO R1
007324 012601 MOV (SP)+,R1
6160 007326 CALL .KLXCT ; .EXECUTE THE INSTRUCTION
007326 004737 010556' JSR PC,.KLXCT
6161 007332 POP .SVKLF ; .SET UP ".SVKLF"
007332 012637 000140' MOV (SP)+,.SVKLF
6162 007336 CALLR .RSTKL ; RESTART THE KL
007336 000137 011734' JMP .RSTKL
6163 ;
6164 007342 10$:
6165 007342 005726 TST (SP)+ ; .FLUSH THE STACK
6166 007344 022020 CMP (R0)+,(R0)+ ; ADVANCE THE POINTER
6167 007346 PUSH <(R0),-(R0),-(R0)>
007346 011046 MOV (R0),-(SP)
007350 014046 MOV -(R0),-(SP)
007352 014046 MOV -(R0),-(SP)
6168 007354 010600 MOV SP,R0 ; ...POINT TO STACKED INSTRUCTION
6169
6170 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 165
.EXCTF -- FAST INTERNAL EXECUTE 7602.17
6172 ; [CONTINUED FROM THE PREVIOUS PAGE]
6173
6174 007356 .EXECT::
6175 007356 010001 MOV R0,R1 ; ...POINTER TO R1
6176 007360 PUSH .KLFLG ; ...SAVE ".KLFLG"
007360 013746 000000G MOV .KLFLG,-(SP)
6177 007364 CALL .KLXCT ; ....START THE EXECUTE
007364 004737 010556' JSR PC,.KLXCT
6178 007370 10$:
6179 007370 CALL .EBCLK ; ....GIVE ONE EBOX CLOCK
007370 004737 006770' JSR PC,.EBCLK
6180 007374 CALL .DTDW1 ; ....READ DTE-20 DIAG WORD 1
007374 004737 006664' JSR PC,.DTDW1
6181 007400 032700 001000 BIT #D1.HLP,R0 ; ....IS THE HALT LOOP UP?
6182 007404 001371 BNE 10$ ; ....YES -- WAIT TILL IT ISN'T
6183 007406 CALL .STCLK ; ....OUT OF HALT LOOP -- START THE CLOCK
007406 004737 011762' JSR PC,.STCLK
6184 007412 012701 005000 MOV #5000,R1 ; ....WAIT COUNT TO R1
6185 007416 20$:
6186 007416 CALL .DTDW1 ; ....READ DTE-20 DIAG WORD 1
007416 004737 006664' JSR PC,.DTDW1
6187 007422 032700 001000 BIT #D1.HLP,R0 ; ....LOOK FOR THE HALT LOOP AGAIN
6188 007426 001002 BNE 30$ ; ....IN THE HALT LOOP -- FINISH UP
6189 007430 077106 SOB R1,20$ ; ....NOT YET -- TRY AGAIN
6190 007432 000424 BR EXECTO ; ....EXECUTE TIMED OUT
6191 ;
6192 007434 30$:
6193 007434 005116 COM (SP) ; ....INVERT OLD ".KLFLG"
6194 007436 032716 140000 BIT #KF.CLK!KF.RUN,(SP) ; ....WAS THE KL RUNNING??
6195 007442 001003 BNE 40$ ; ....NO -- GO ON
6196 007444 CALL .KLCON ; ....YES -- CONTINUE THE KL
007444 004737 010066' JSR PC,.KLCON
6197 007450 000412 BR 60$ ; ....AND EXIT
6198 ;
6199 007452 40$:
6200 007452 032716 100000 BIT #KF.CLK,(SP) ; ....WAS THE CLOCK ON?
6201 007456 001402 BEQ 50$ ; ....YES -- GO ON
6202 007460 CALL .STPXC ; ....NO -- STOP IT
007460 004737 012036' JSR PC,.STPXC
6203 007464 50$:
6204 007464 032716 040000 BIT #KF.RUN,(SP) ; ....WAS THE RUN FLOP ON??
6205 007470 001002 BNE 60$ ; ....NO -- GO ON
6206 007472 CALL .STRUN ; ....YES -- SET IT
007472 004737 012066' JSR PC,.STRUN
6207 007476 60$:
6208 007476 062706 000010 ADD #^D8,SP ; ....RESET THE STACK
6209 007502 RETURN ; AND EXIT
007502 000207 RTS PC
6210 007504 EXECTO:
6211 007504 ERROR$ XTO ; ERROR -- EXECUTE TIMED OUT
007504 012746 114457 MOV #^RXTO,-(SP)
007510 104400 TRAP TC.ERR
6212 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 166
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
6214 .SBTTL .FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
6215
6216 ;+
6217 ; .FREAD -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION READ.
6218 ;
6219 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION READ.
6220 ;
6221 ; SEQUENCE OF OPERATION:
6222 ;
6223 ; THE DFR IS EXECUTED AND DATA LOADED THRU R1 IF R1 .NE. 0,
6224 ; IF R1 IS .EQ. 0 THE DATA IS NOT MOVED FROM ".DFRB".
6225 ;
6226 ; INPUT ARGUMENTS:
6227 ;
6228 ; R0 HOLDS THE FUNCTION READ CODE
6229 ; R1 POINTS TO A DESTINATION BUFFER
6230 ;
6231 ; OUTPUT ARGUMENTS:
6232 ;
6233 ; R0 POINTS TO THE SUBROUTINE DATA BLOCK
6234 ; R1 POINTS TO THE CALLER'S READ BLOCK
6235 ;
6236 ; ERROR CODES RETURNED:
6237 ;
6238 ; FRF -- FUNCTION READ FAILED.
6239 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 167
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
6241 007512 .FREAD::
6242 007512 110037 000111' MOVB R0,.KLDFR+3 ; SET THE DFR# IN THE DPB
6243 007516 DIR$ #.KLDFR ; CALL THE EXEC TO DO THE READ
007516 012746 000106' MOV #.KLDFR,-(SP)
007522 104375 EMT 375
6244 007524 103420 BCS FRDFRF ; ERROR IF CC-C IS SET
6245 007526 012700 000222' MOV #.DFRB,R0 ; POINT TO TOP OF READ BLOCK
6246 007532 005701 TST R1 ; TEST R1
6247 007534 001405 BEQ 10$ ; EXIT IF R1 .EQ. 0
6248 007536 012021 MOV (R0)+,(R1)+ ; LOAD HIS BUFFER FROM OURS
6249 007540 012021 MOV (R0)+,(R1)+
6250 007542 011011 MOV (R0),(R1)
6251 007544 024040 CMP -(R0),-(R0) ; BACK THE POINTERS UP
6252 007546 024141 CMP -(R1),-(R1)
6253 007550 10$:
6255 007550 032737 000002 000142' BIT #TR.FRD,.TRKWD ; ARE WE TRACKING FUNCTION READS?
6256 007556 001402 BEQ 20$ ; NO -- JUST EXIT
6257 007560 CALL .FRTRK ; YES -- DO IT
007560 004737 023372' JSR PC,.FRTRK
6258 007564 20$:
6260 007564 RETURN ; TO CALLER
007564 000207 RTS PC
6261 007566 FRDFRF:
6262 007566 ERROR$ FRF ; ERROR -- FUNCTION READ FAILED
007566 012746 024126 MOV #^RFRF,-(SP)
007572 104400 TRAP TC.ERR
6263 ;
6264
6265 ; DPB FOR DIAGNOSTIC FUNCTION READ
6266
6267 ; !===============================================!
6268 ; 00 ! DPB SIZE ! DIC !
6269 ; !-----------------------------------------------!
6270 ; 02 ! DFR OPCODE ! DFR CODE !
6271 ; !-----------------------------------------------!
6272 ; 04 ! TRANSFER BUFFER ADDRESS !
6273 ; !-----------------------------------------------!
6274 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
6275 ; !-----------------------------------------------!
6276 ; 10 ! DTE-20 NUMBER !
6277 ; !===============================================!
6278
6279 000106 .PSECT DPBS
6280
6281 000106 .KLDFR::
6282 000106 KLDR$ .-.,.DFBLK,.DREG,0
000106 002411 .WORD 400*5.+DR.DTE
000110 012 000 .BYTE DF.KLR,.-./400
000112 000214' .WORD .DFBLK
000114 000230' .WORD .DREG
000116 000000 .WORD 0
6283 000116' FRDTEN==.-2
6284
6285 007574 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 168
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
6287 .SBTTL .FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
6288
6289 ;+
6290 ; .FWRIT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION WRITE.
6291 ;
6292 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION WRITE.
6293 ;
6294 ; SEQUENCE OF OPERATION:
6295 ;
6296 ; .FWRIT:
6297 ;
6298 ; (A) THE DATA IS LOADED THRU R1 IF R1 .NE. 0,
6299 ; IF R1 IS .EQ. 0 THE DATA IS ASSUMED TO BE IN ".DFWB",
6300 ; (B) THE FUNCTION WRITE IS EXECUTED.
6301 ;
6302 ; INPUT ARGUMENTS:
6303 ;
6304 ; R0 HOLDS THE FUNCTION WRITE CODE
6305 ; R1 POINTS TO A SOURCE BUFFER
6306 ;
6307 ; OUTPUT ARGUMENTS:
6308 ;
6309 ; R0 POINTS TO THE SUBROUTINE DATA BLOCK
6310 ; R1 POINTS TO THE CALLER'S WRITE BLOCK
6311 ;
6312 ; ERROR CODES RETURNED:
6313 ;
6314 ; FWF -- FUNCTION WRITE FAILED.
6315 ;-
6316
6317 007574 .FWRIT::
6318 007574 110037 000123' MOVB R0,.KLDFW+3 ; SET THE DFW# IN THE DPB
6319 007600 012700 000214' MOV #.DFWB,R0 ; POINT TO TOP OF WRITE BLOCK
6320 007604 005701 TST R1 ; TEST R1
6321 007606 001405 BEQ 10$ ; ALREADY IN ".DFWB" IF R1 .EQ. 0
6322 007610 012120 MOV (R1)+,(R0)+ ; LOAD THE DATA BLOCK
6323 007612 012120 MOV (R1)+,(R0)+
6324 007614 011110 MOV (R1),(R0)
6325 007616 024040 CMP -(R0),-(R0) ; BACK THE POINTERS UP
6326 007620 024141 CMP -(R1),-(R1)
6327
6328
6329 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 169
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
6331 ; [CONTINUED FROM THE PREVIOUS PAGE]
6332
6333 007622 10$:
6334 007622 042760 177760 000004 BIC #177760,4(R0) ; FLUSH EXTRANEOUS BITS
6335 007630 DIR$ #.KLDFW ; CALL THE EXEC TO DO THE WRITE
007630 012746 000120' MOV #.KLDFW,-(SP)
007634 104375 EMT 375
6336 007636 103424 BCS FWRFWF ; ERROR IF CC-C IS SET
6337 007640 PUSH R0 ; SAVE THE BUFFER POINTER
007640 010046 MOV R0,-(SP)
6338 007642 113700 000123' MOVB .KLDFW+3,R0 ; .GET THE WRITE CODE
6339 007646 120027 000110 CMPB R0,#FW.044 ; .DID WE WRITE THE CLOCK BOARD?
6340 007652 002406 BLT 20$ ; .NO -- JUST EXIT
6341 007654 120027 000116 CMPB R0,#FW.047 ; .MAYBE -- DID WE REALLY?
6342 007660 003003 BGT 20$ ; .NO -- JUST EXIT
6343 007662 042737 100000 000000G BIC #KF.CLK,.KLFLG ; .YES -- TURN THE CLOCK BIT OFF
6344 007670 20$:
6346 007670 032737 000004 000142' BIT #TR.FWR,.TRKWD ; .ARE WE TRACKING FUNCTION WRITES?
6347 007676 001402 BEQ 30$ ; .NO -- GO ON
6348 007700 CALL .FWTRK ; .YES -- LEAVE TRACKS ON CONSOLE
007700 004737 023412' JSR PC,.FWTRK
6349 007704 30$:
6351 007704 POP R0 ; .RESTORE THE BUFFER POINTER
007704 012600 MOV (SP)+,R0
6352 007706 RETURN ; YES -- RETURN TO CALLER
007706 000207 RTS PC
6353
6354 007710 FWRFWF:
6355 007710 ERROR$ FWF ; ERROR -- FUNCTION WRITE FAILED
007710 012746 024436 MOV #^RFWF,-(SP)
007714 104400 TRAP TC.ERR
6356 ;
6357
6358 ; DPB FOR DIAGNOSTIC FUNCTION WRITE
6359
6360 ; !===============================================!
6361 ; 00 ! DPB SIZE ! DIC !
6362 ; !-----------------------------------------------!
6363 ; 02 ! DFW OPCODE ! DFW CODE !
6364 ; !-----------------------------------------------!
6365 ; 04 ! TRANSFER BUFFER ADDRESS !
6366 ; !-----------------------------------------------!
6367 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
6368 ; !-----------------------------------------------!
6369 ; 10 ! DTE-20 NUMBER !
6370 ; !===============================================!
6371
6372 000120 .PSECT DPBS
6373
6374 000120 .KLDFW::
6375 000120 KLDW$ .-.,.DFBLK,.DREG,0
000120 002411 .WORD 400*5.+DR.DTE
000122 013 000 .BYTE DF.KLW,.-./400
000124 000214' .WORD .DFBLK
000126 000230' .WORD .DREG
000130 000000 .WORD 0
6376 000130' FWDTEN==.-2
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 169-1
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
6377
6378 007716 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 170
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
6380 .SBTTL .FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
6381 ;+
6382 ; .FXCT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
6383 ;
6384 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION EXECUTE AND MAINTAIN
6385 ; THE STATE OF THE KL CLOCK ("KF.CLK") AND RUN FLOP ("KF.RUN") FLAGS
6386 ; IN THE KL STATE FLAG WORD, ".KLFLG".
6387 ;
6388 ; SEQUENCE OF OPERATION:
6389 ;
6390 ; THE DFX IS SIMPLY EXECUTED.
6391 ;
6392 ; INPUT ARGUMENTS:
6393 ;
6394 ; R0 CONTAINS THE FUNCTION EXECUTE CODE
6395 ;
6396 ; OUTPUT ARGUMENTS:
6397 ;
6398 ; NONE.
6399 ;
6400 ; ERROR CODES RETURNED:
6401 ;
6402 ; FXF -- FUNCTION EXECUTE FAILED.
6403 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 171
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
6405 007716 .FXCT::
6406 007716 110037 000135' MOVB R0,.KLDFX+3 ; SET THE EXECUTE CODE IN THE DPB
6407 007722 DIR$ #.KLDFX ; CALL THE EXEC TO DO THE DFX
007722 012746 000132' MOV #.KLDFX,-(SP)
007726 104375 EMT 375
6408 007730 103453 BCS FXCFXF ; ERROR IF CC-C IS SET
6409 007732 113746 000135' MOVB .KLDFX+3,-(SP) ; PUT THE EXECUTE CODE ON THE STACK
6410 007736 012700 100000 MOV #KF.CLK,R0 ; .FLAG BIT TO R0
6411 007742 121627 000002 CMPB (SP),#FX.CST ; .IS DFX CODE .EQ. 1?
6412 007746 001411 BEQ 10$ ; .YES -- DO CLOCK STARTED STUFF
6413 007750 121627 000016 CMPB (SP),#FX.SMR ; .NO -- IS DFX CODE .GT. 7?
6414 007754 101014 BHI 20$ ; .YES -- LEAVE NOW
6415 007756 030037 000000G BIT R0,.KLFLG ; .NO -- IS THE FLAG OFF ALREADY?
6416 007762 001426 BEQ 40$ ; .YES -- LEAVE NOW
6417 007764 040037 000000G BIC R0,.KLFLG ; .NO -- TURN IF OFF
6418 007770 000423 BR 40$ ; .AND GO AWAY
6419 ;
6420 007772 10$:
6421 007772 030037 000000G BIT R0,.KLFLG ; .IS THE FLAG ON ALREADY?
6422 007776 001020 BNE 40$ ; .YES -- LEAVE NOW
6423 010000 050037 000000G BIS R0,.KLFLG ; .NO -- LIGHT IT UP
6424 010004 000415 BR 40$ ; .AND EXIT
6425 ;
6426 010006 20$:
6427 010006 012700 040000 MOV #KF.RUN,R0 ; .DO RUN FLAG STUFF
6428 010012 121627 000022 CMPB (SP),#FX.SRF ; .SET THE RUN FLOP?
6429 010016 001003 BNE 30$ ; .NO -- GO ON
6430 010020 050037 000000G BIS R0,.KLFLG ; .YES -- SET THE FLAG
6431 010024 000405 BR 40$ ; .AND GO AWAY
6432 ;
6433 010026 30$:
6434 010026 121627 000020 CMPB (SP),#FX.CRF ; .CLEAR RUN FLOP?
6435 010032 001002 BNE 40$ ; .NO -- JUST GO AWAY
6436 010034 040037 000000G BIC R0,.KLFLG ; .YES -- CLEAR THE FLAG
6437
6438 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 172
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
6440 ; [CONTINUED FROM THE PREVIOUS PAGE]
6441
6442 010040 40$:
6444 010040 032737 000001 000142' BIT #TR.FXC,.TRKWD ; .ARE WE TRACKING FUNCTION EXECUTES?
6445 010046 001402 BEQ 50$ ; .NO -- JUST EXIT
6446 010050 CALL .FXTRK ; .YES -- DO IT
010050 004737 023432' JSR PC,.FXTRK
6447 010054 50$:
6449 010054 POP R0 ; .RESTORE R0
010054 012600 MOV (SP)+,R0
6450 010056 RETURN ; TO CALLER
010056 000207 RTS PC
6451 010060 FXCFXF:
6452 010060 ERROR$ FXF ; FUNCTION EXECUTE FAILED
010060 012746 024506 MOV #^RFXF,-(SP)
010064 104400 TRAP TC.ERR
6453 ;
6454
6455 ; DIRECTIVE PARAMETER BLOCK DIAGNOSTIC FUNCTION EXECUTE
6456
6457 ; !===============================================!
6458 ; 00 ! DPB SIZE ! DIC !
6459 ; !-----------------------------------------------!
6460 ; 02 ! DFX OPCODE ! DFX CODE !
6461 ; !-----------------------------------------------!
6462 ; 04 ! TRANSFER BUFFER ADDRESS !
6463 ; !-----------------------------------------------!
6464 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
6465 ; !-----------------------------------------------!
6466 ; 10 ! DTE-20 NUMBER !
6467 ; !===============================================!
6468
6469
6470 000132 .PSECT DPBS
6471
6472 000132 .KLDFX::
6473 000132 KLDX$ .-.,.DFBLK,.DREG,0
000132 002411 .WORD 400*5.+DR.DTE
000134 014 000 .BYTE DF.KLX,.-./400
000136 000214' .WORD .DFBLK
000140 000230' .WORD .DREG
000142 000000 .WORD 0
6474 000142' FXDTEN==.-2
6475
6476 010066 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 173
.KLCON -- KL CONTINUE SUBROUTINE 7710.11
6478 .SBTTL .KLCON -- KL CONTINUE SUBROUTINE 7710.11
6479
6480 ;+
6481 ; .KLCON -- SUBROUTINE TO CONTINUE THE KL.
6482 ; .KLGO -- SUBROUTINE TO FINISH STARTING THE KL.
6483 ;
6484 ; THIS SUBROUTINE STARTS THE KL CLOCK AND SETS THE KL
6485 ; RUN FLOP ".KLCON" SETS THE CONTINUE FLOP PRIOR TO THIS.
6486 ;
6487 ; SEQUENCE OF OPERATION:
6488 ;
6489 ; .KLCON:
6490 ;
6491 ; (A) THE KL CONTINUE FLOP IS SET,
6492 ;
6493 ; .KLGO:
6494 ;
6495 ; (A) THE KL CLOCK IS STARTED IF NOT IN SINGLE PULSE MODE,
6496 ; (B) THE KL RUN FLOP IS SET IF NOT IN SINGLE INSTRUCTION MODE
6497 ; OR SINGLE PULSE MODE.
6498 ;
6499 ; INPUT ARGUMENTS:
6500 ;
6501 ; NONE.
6502 ;
6503 ; OUTPUT ARGUMENTS:
6504 ;
6505 ; NONE.
6506 ;
6507 ; ERROR CODES RETURNED:
6508 ;
6509 ; CFH -- CAN'T FIND KL HALT LOOP.
6510 ; CSK -- CAN'T START KL.
6511 ; DSF -- DTE-20 STATUS FAILURE.
6512 ; FRF -- FUNCTION READ FAILED.
6513 ; FWF -- FUNCTION WRITE FAILED.
6514 ; FXF -- FUNCTION EXECUTE FAILED.
6515 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 174
.KLCON -- KL CONTINUE SUBROUTINE 7710.11
6517 010066 .KLCON::
6518 010066 PUSH R1 ; SAVE R1 ON THE STACK
010066 010146 MOV R1,-(SP)
6519 010070 012701 000000G MOV #.KLFLG,R1 ; .FLAG WORD POINTER TO R1
6520 010074 .KLGO::
6521 010074 032711 002000 BIT #KF.SPM,(R1) ; .SINGLE PULSE MODE?
6522 010100 001027 BNE 30$ ; .YES -- JUST EXIT
6523 010102 032711 010000 BIT #KF.SIM,(R1) ; .NO -- SINGLE INSTRUCTION MODE?
6524 010106 001002 BNE 10$ ; .YES -- GO ON
6525 010110 CALL .STRUN ; .NO -- SET THE KL RUN FLOP
010110 004737 012066' JSR PC,.STRUN
6526 010114 10$:
6527 010114 012700 000024 MOV #FX.CON,R0 ; .SET THE CONTINUE BUTTON
6528 010120 CALL .FXCT ; .DO IT
010120 004737 007716' JSR PC,.FXCT
6529 010124 032711 100000 BIT #KF.CLK,(R1) ; .IS THE CLOCK RUNNING?
6530 010130 001002 BNE 20$ ; .YES -- EXIT
6531 010132 CALL .STCLK ; .NO -- START THE KL CLOCK
010132 004737 011762' JSR PC,.STCLK
6532 010136 20$:
6533 010136 011100 MOV (R1),R0 ; .GET ".KLFLG" INTO R0
6534 010140 005100 COM R0 ; .INVERT IT
6535 010142 032700 140000 BIT #KF.CLK!KF.RUN,R0 ; .IS THE KL RUNNING??
6536 010146 001004 BNE 30$ ; .NO -- JUST EXIT
6537 010150 052711 000200 BIS #KF.CON,(R1) ; .YES -- KL IS NOW CONTINUEABLE
6538 010154 105037 000000G CLRB .NOHLT ; .LET RSX20F CATCH KL HALTS
6539 010160 30$:
6540 010160 POP R1 ; .RESTORE R1
010160 012601 MOV (SP)+,R1
6541 010162 RETURN ; EXIT
010162 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 175
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
6543 .SBTTL .KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
6544
6545 ;+
6546 ; .KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP
6547 ; AND SYNCH THE EBOX CLOCK LOW.
6548 ;
6549 ; THIS SUBROUTINE CLEARS THE KL RUN FLOP, GETS THE KL INTO
6550 ; THE MICROCODE HALT LOOP, AND TURNS THE KL CLOCK OFF.
6551 ;
6552 ; SEQUENCE OF OPERATION:
6553 ;
6554 ; (A) THE KL RUN FLOP IS TURNED OFF,
6555 ; (B) THE KL IS MOVED INTO THE UCODE HALT LOOP,
6556 ; (C) A SMALL WAIT IS TIMED OUT (TO LET KL I/O SETTLE)
6557 ; (D) THE KL CLOCK IS TURNED OFF,
6558 ; (E) THE KL CLOCK IS SYNCHED LOW.
6559 ;
6560 ; INPUT ARGUMENTS:
6561 ;
6562 ; NONE.
6563 ;
6564 ; OUTPUT ARGUMENTS:
6565 ;
6566 ; NONE.
6567 ;
6568 ; ERROR CODES RETURNED:
6569 ;
6570 ; CFH -- CAN'T FIND KL HALT LOOP.
6571 ; DSF -- DTE-20 STATUS FAILURE.
6572 ; FWF -- FUNCTION WRITE FAILED.
6573 ; FXF -- FUNCTION EXECUTE FAILED.
6574 ;
6575 ; NOTE: THIS SUBROUTINE EXITS WITH THE KL CLOCK OFF.
6576 ;-
6577
6578 010164 .KLHLT::
6579 010164 PUSH <R0,R1,R2> ; SAVE CALLER'S REGISTERS
010164 010046 MOV R0,-(SP)
010166 010146 MOV R1,-(SP)
010170 010246 MOV R2,-(SP)
6580 010172 CALL .DTDW1 ; ...READ DIAG WORD 1
010172 004737 006664' JSR PC,.DTDW1
6581 010176 032700 004000 BIT #D1.CES,R0 ; ...IS CLOCK ERROR STOP UP?
6582 010202 001016 BNE 40$ ; ...YES -- JUST EXIT
6583 010204 CALL .CLRFF ; ...NO -- CLEAR THE RUN FLOP
010204 004737 006554' JSR PC,.CLRFF
6584 010210 012701 000024 MOV #^D20,R1 ; ...SET UP WAIT COUNT
6585
6586 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 176
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
6588 ; [CONTINUED FROM THE PREVIOUS PAGE]
6589
6590 010214 10$:
6591 010214 CALL .DTDW1 ; ...READ THE DTE-20 DIAG WORD 1
010214 004737 006664' JSR PC,.DTDW1
6592 010220 032700 001000 BIT #D1.HLP,R0 ; ...IN THE HALT LOOP YET?
6593 010224 001001 BNE 20$ ; ...YES -- EXIT
6594 010226 077106 SOB R1,10$ ; ...NO -- TRY TILL COUNT EXHAUSTED
6595 010230 20$:
6596 010230 005701 TST R1 ; ...IS R1 .GT. 0?
6597 010232 003407 BLE 50$ ; ...NO -- GO MOVE THE CLOCK MANUALLY
6598 010234 30$:
6599 010234 CALL .STPXC ; ...STOP THE KL CLOCK
010234 004737 012036' JSR PC,.STPXC
6600 010240 40$:
6601 010240 POP <R2,R1,R0> ; ...RESTORE CALLER'S REGISTERS
010240 012602 MOV (SP)+,R2
010242 012601 MOV (SP)+,R1
010244 012600 MOV (SP)+,R0
6602 010246 CALLR .SYNXC ; SYNCH THE EBOX CLOCK LOW AND EXIT
010246 000137 012210' JMP .SYNXC
6603 ;
6604
6605 ; GET HERE IF WE CAN'T GET INTO HALT LOOP NORMALLY.
6606 ; THIS MEANS THAT:
6607 ;
6608 ; (A) MICROCODE WASN'T RUNNING, OR
6609 ; (B) MICROCODE WASN'T LOADED.
6610
6611 010252 50$:
6612 010252 CALL .STPXC ; ...MAKE SURE THE CLOCK IS OFF
010252 004737 012036' JSR PC,.STPXC
6613 010256 012702 000012 MOV #^D10,R2 ; ...ITERATION COUNT TO R2
6614 010262 60$:
6615 010262 012700 000310 MOV #^D200,R0 ; ...200 (DECIMAL) CLOCKS PER PASS
6616 010266 CALL .BURST ; ...BURST THE CLOCK
010266 004737 006474' JSR PC,.BURST
6617 010272 CALL .DTDW1 ; ...READ DTE-20 DIAG WORD 1
010272 004737 006664' JSR PC,.DTDW1
6618 010276 032700 001000 BIT #D1.HLP,R0 ; ...ARE WE IN HALT LOOP NOW?
6619 010302 001354 BNE 30$ ; ...YES -- GO STOP AND SYNCH THE CLOCK
6620 010304 077212 SOB R2,60$ ; ...NO -- LOOP TILL COUNT EXHAUSTED
6621 010306 KLHCFH:
6622 010306 ERROR$ CFH ; ERROR -- CAN'T FIND HALT LOOP
010306 012746 011670 MOV #^RCFH,-(SP)
010312 104400 TRAP TC.ERR
6623 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 177
.KLST -- SUBROUTINE TO START THE KL 7512.08
6625 .SBTTL .KLST -- SUBROUTINE TO START THE KL 7512.08
6626
6627 ; .KLST -- SUBROUTINE TO START THE KL.
6628 ;
6629 ; THIS SUBROUTINE STARTS THE KL FROM THE HALT LOOP AT THE ADDRESS
6630 ; POINTED T0 BY R1 IN THE CALL.
6631 ;
6632 ; SEQUENCE OF OPERATION:
6633 ;
6634 ; (A) THE KL IS STOPPED IN THE HALT LOOP,
6635 ; (B) THE PC WORD IS LOADED INTO THE AR REGISTER,
6636 ; (C) THE KL IS ALLOWED TO RUN THRU ".KLCON".
6637 ;
6638 ; INPUT ARGUMENTS:
6639 ;
6640 ; R1 POINTS TO A 23 BIT KL ADDRESS
6641 ;
6642 ; OUTPUT ARGUMENTS:
6643 ;
6644 ; NONE.
6645 ;
6646 ; ERROR CODES RETURNED:
6647 ;
6648 ; CFH -- CAN'T FIND KL HALT LOOP.
6649 ; CSK -- CAN'T START KL.
6650 ; DSF -- DTE-20 STATUS FAILURE.
6651 ; FRF -- FUNCTION READ FAILED.
6652 ; FWF -- FUNCTION WRITE FAILED.
6653 ; FXF -- FUNCTION EXECUTE FAILED.
6654 ;
6655 ; NOTE:
6656 ;
6657 ; THIS SUBROUTINE IS DEPENDENT UPON MICROCODE VERSION 122.
6658 ;-
6659
6660 010314 .KLST::
6661 010314 PUSH R1 ; SAVE POINTER ON THE STACK
010314 010146 MOV R1,-(SP)
6662 010316 CALL .KLHLT ; .HALT THE KL
010316 004737 010164' JSR PC,.KLHLT
6663 010322 011601 MOV (SP),R1 ; .GET THE POINTER
6664 010324 012700 000176 MOV #FW.LAR,R0 ; .LOAD THE AR REGISTER
6665 010330 CALL .FWRIT ; .DO IT
010330 004737 007574' JSR PC,.FWRIT
6666 010334 012701 000000G MOV #.KLFLG,R1 ; .POINT TO ".KLFLG"
6667 010340 000655 BR .KLGO ; .AND FINISH THE START
6668 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 178
.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
6670 .SBTTL .KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
6671
6672 ;+
6673 ; .KLSTP -- SUBROUTINE TO PUT THE KL INTO THE HALT LOOP.
6674 ;
6675 ; THIS SUBROUTINE WILL PUT THE KL INTO THE MICROCODE HALT LOOP
6676 ; AND EXIT WITH THE KL CLOCK RUNNING.
6677 ;
6678 ; INPUT ARGUMENTS:
6679 ;
6680 ; NONE.
6681 ;
6682 ; OUTPUT ARGUMENTS:
6683 ;
6684 ; NONE.
6685 ;
6686 ; ERROR CODES RETURNED:
6687 ;
6688 ; CFH -- CAN'T FIND HALT LOOP.
6689 ; DSF -- DTE-20 STATUS FAILURE.
6690 ; FXF -- FUNCTION EXECUTE FAILED.
6691 ;-
6692
6693 010342 .KLSTP::
6694 010342 032737 100000 000000G BIT #KF.CLK,.KLFLG ; IS THE CLOCK OFF?
6695 010350 001001 BNE 10$ ; NO -- GO ON
6696 010352 000704 BR .KLHLT ; YES -- HALT THE KL
6697 ;
6698 010354 10$:
6699 010354 PUSH <R0,R1> ; SAVE R0 AND R1 ON THE STACK
010354 010046 MOV R0,-(SP)
010356 010146 MOV R1,-(SP)
6700 010360 012701 000144 MOV #^D100,R1 ; ..SETUP WAIT COUNT
6701 010364 CALL .CLRFF ; ..CLEAR THE RUN FLOP
010364 004737 006554' JSR PC,.CLRFF
6702 010370 20$:
6703 010370 CALL .DTDW1 ; ..READ DIAG WORD 1
010370 004737 006664' JSR PC,.DTDW1
6704 010374 032700 001000 BIT #D1.HLP,R0 ; ..ARE WE IN THE HALT LOOP?
6705 010400 001001 BNE 30$ ; ..YES -- GO ON
6706 010402 077106 SOB R1,20$ ; ..NO -- KEEP TRYING
6707 010404 30$:
6708 010404 005701 TST R1 ; ..IS R1 .GT. 0?
6709 010406 003403 BLE KLSCFH ; ..NO -- GIVE "CFH" ERROR
6710 010410 POP <R1,R0> ; ..YES -- RESTORE REGISTERS
010410 012601 MOV (SP)+,R1
010412 012600 MOV (SP)+,R0
6711 010414 RETURN ; TO CALLER
010414 000207 RTS PC
6712 010416 KLSCFH:
6713 010416 ERROR$ CFH ; ERROR -- CAN'T FIND KL HALT LOOP
010416 012746 011670 MOV #^RCFH,-(SP)
010422 104400 TRAP TC.ERR
6714 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 179
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
6716 .SBTTL .KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
6717
6718 ;+
6719 ; .KLRST -- SUBROUTINE TO RESTART THE KL.
6720 ;
6721 ; THIS SUBROUTINE WILL RESTART THE KL AS DIRECTED BY ".SVKLF",
6722 ; THE SAVED KL STATE FLAG WORD.
6723 ;
6724 ; INPUT ARGUMENTS:
6725 ;
6726 ; THE SAVED COPY OF ".KLFLG" IS IN ".SVKLF"
6727 ;
6728 ; OUTPUT ARGUMENTS:
6729 ;
6730 ; ".SVKLF" IS CLEARED.
6731 ;
6732 ; ERROR CODES RETURNED:
6733 ;
6734 ; CFH -- CAN'T FIND KL HALT LOOP.
6735 ; DSF -- DTE-20 STATUS FAILURE.
6736 ; FRF -- FUNCTION READ FAILED.
6737 ; FWF -- FUNCTION WRITE FAILED.
6738 ; FXF -- FUNCTION EXECUTE FAILED.
6739 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 180
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
6741 010424 .KLRST::
6742 010424 PUSH <R1,R0> ; SAVE R0 AND R1
010424 010146 MOV R1,-(SP)
010426 010046 MOV R0,-(SP)
6743 010430 013701 000140' MOV .SVKLF,R1 ; ..GET COPY OF OLD FLAGS
6744 010434 032701 013000 BIT #KF.SPM!KF.SIM!KF.BRM,R1
6745 010440 001016 BNE 20$ ; ..BRANCH IF BURST, SINGLE INSTRUCTION OR PULSE MODE
6746 010442 005101 COM R1 ; ..INVERT R1
6747 010444 032701 140000 BIT #KF.RUN!KF.CLK,R1
6748 010450 001011 BNE 10$ ; ..BRANCH IF NOT RUNNING
6749 010452 CALL .STRUN ; ..SET THE RUN FLOP
010452 004737 012066' JSR PC,.STRUN
6750 010456 012700 000024 MOV #FX.CON,R0 ; ..NOW DO THE CONTINUE BUTTON
6751 010462 CALL .FXCT ; ..SO
010462 004737 007716' JSR PC,.FXCT
6752 010466 013701 000140' MOV .SVKLF,R1 ; ..ELSE GET THE WORD AGAIN
6753 010472 000406 BR 30$ ; ..AND GO AWAY
6754 ;
6755 010474 10$:
6756 010474 005101 COM R1 ; ..STRAIGHTEN R1 OUT
6757 010476 20$:
6758 010476 032701 040000 BIT #KF.RUN,R1 ; ..WAS RUN FLOP SET?
6759 010502 001402 BEQ 30$ ; ..NO -- GO ON
6760 010504 CALL .STRUN ; ..YES -- SET THE RUN FLOP
010504 004737 012066' JSR PC,.STRUN
6761 010510 30$:
6762 010510 032701 100000 BIT #KF.CLK,R1 ; ..WAS CLOCK RUNNING?
6763 010514 001413 BEQ 40$ ; ..NO -- JUST EXIT
6764 010516 032737 100000 000000G BIT #KF.CLK,.KLFLG ; ..YES -- IS THE CLOCK ALREADY ON?
6765 010524 001007 BNE 40$ ; ..YES -- JUST EXIT
6766 010526 CALL .STCLK ; ..NO -- START THE CLOCK
010526 004737 011762' JSR PC,.STCLK
6767 010532 032701 040000 BIT #KF.RUN,R1 ; ..DID WE LET IT RUN ?
6768 010536 001402 BEQ 40$ ; ..NO -- JUST EXIT
6769 010540 105037 000000G CLRB .NOHLT ; ..YES -- LET RSX20F CHECK FOR HALTS
6770 010544 40$:
6771 010544 POP <R0,R1> ; ..RESTORE R0 AND R1
010544 012600 MOV (SP)+,R0
010546 012601 MOV (SP)+,R1
6772 010550 005037 000140' CLR .SVKLF ; RESET ".SVKLF"
6773 010554 RETURN ; AND EXIT
010554 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 181
.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
6775 .SBTTL .KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
6776
6777 ;+
6778 ; .KLXCT -- SUBROUTINE TO EXECUTE A KL INSTRUCTION.
6779 ;
6780 ; THIS SUBROUTINE LOADS A KL INSTRUCTION INTO THE AR REGISTER
6781 ; AND CAUSES THAT INSTRUCTION TO BE EXECUTED.
6782 ;
6783 ; SEQUENCE OF OPERATION:
6784 ;
6785 ; (A) THE KL IS STOPPED IN THE HALT LOOP WITH THE CLOCK OFF,
6786 ; (B) INSTRUCTION TO BE EXECUTED IS LOADED INTO THE AR,
6787 ; (C) THE KL CONTINUE FLOP IS SET.
6788 ;
6789 ; INPUT ARGUMENTS:
6790 ;
6791 ; R1 POINTS TO A 36 BIT KL INSTRUCTION WORD
6792 ;
6793 ; OUTPUT ARGUMENTS:
6794 ;
6795 ; NONE.
6796 ;
6797 ; ERROR CODES RETURNED:
6798 ;
6799 ; CFH -- CAN'T FIND KL HALT LOOP.
6800 ; DSF -- DTE-20 STATUS FAILURE.
6801 ; FRF -- FUNCTION READ FAILED.
6802 ; FWF -- FUNCTION WRITE FAILED.
6803 ; FXF -- FUNCTION EXECUTE FAILED.
6804 ;-
6805
6806 010556 .KLXCT::
6807 010556 CALL .KLHLT ; STOP THE KL IN THE HALT LOOP
010556 004737 010164' JSR PC,.KLHLT
6808 010562 012700 000176 MOV #FW.LAR,R0 ; LOAD THE AR REGISTER
6809 010566 CALL .FWRIT ; DO IT
010566 004737 007574' JSR PC,.FWRIT
6810 010572 012700 000024 MOV #FX.CON,R0 ; SET THE "CONTINUE BUTTON"
6811 010576 CALLR .FXCT ; DO IT AND RETURN
010576 000137 007716' JMP .FXCT
6812 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 182
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
6814 .SBTTL .LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
6815
6816 ;+
6817 ; .LDBRC -- SUBROUTINE TO STOP THE KL CLOCK AND LOAD THE
6818 ; MBOX BURST COUNT REGISTER AS IN ".LDBRG".
6819 ; .LDBRG -- SUBROUTINE TO LOAD THE MBOX CLOCK BURST COUNTER.
6820 ;
6821 ; THIS SUBROUTINE LOADS THE KL MBOX BURST COUNT REGISTER
6822 ; WITH THE COUNT PASSED TO IT IN R0.
6823 ;
6824 ; INPUT ARGUMENTS:
6825 ;
6826 ; R0 CONTAINS THE CLOCK COUNT
6827 ;
6828 ; OUTPUT ARGUMENTS:
6829 ;
6830 ; NONE.
6831 ;
6832 ; ERROR CODES RETURNED:
6833 ;
6834 ; FWF -- FUNCTION WRITE FAILED.
6835 ; FXF -- FUNCTION EXECUTE FAILED.
6836 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 183
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
6838 010602 .LDBRC::
6839 010602 CALL .STPXC ; STOP THE KL CLOCK
010602 004737 012036' JSR PC,.STPXC
6840 010606 .LDBRG::
6841 010606 PUSH <R1,R0> ; SAVE R1 AND R0 ON THE STACK
010606 010146 MOV R1,-(SP)
010610 010046 MOV R0,-(SP)
6842 010612 CALL .CLDFB ; ..CLEAR THE DFW BUFFERS
010612 004737 006524' JSR PC,.CLDFB
6843 010616 011600 MOV (SP),R0 ; ..GET THE BURST COUNT FROM THE STACK
6844 010620 042700 177760 BIC #177760,R0 ; ..CLEAR UNUSED BITS
6845 010624 010037 000214' MOV R0,.DFWB ; ..SET RIGHT COUNT IN THE BUFFER
6846 010630 012700 000104 MOV #FW.LBR,R0 ; ..SET UP TO LOAD THE RIGHT HALF
6847 010634 005001 CLR R1 ; ..CLEAR R1
6848 010636 CALL .FWRIT ; ..DO IT
010636 004737 007574' JSR PC,.FWRIT
6849 010642 011600 MOV (SP),R0 ; ..GET THE ORIGINAL COUNT FROM THE STACK
6850 010644 012701 177774 MOV #-^D4,R1 ; ..SHIFT COUNT TO R1
6851 010650 CALL .SHIFT ; ..SHIFT IT RIGHT 4 PLACES
010650 004737 022330' JSR PC,.SHIFT
6852 010654 042700 177760 BIC #177760,R0 ; ..CLEAR UNUSED BITS
6853 010660 010037 000214' MOV R0,.DFWB ; ..PUT THE HIGH COUNT IN THE WRITE BUFFER
6854 010664 005001 CLR R1 ; ..CLEAR R1
6855 010666 012700 000106 MOV #FW.LBL,R0 ; ..SET UP TO LOAD THE LEFT HALF
6856 010672 CALL .FWRIT ; ..DO IT
010672 004737 007574' JSR PC,.FWRIT
6857 010676 POP <R0,R1> ; ..RESTORE R0 AND R1
010676 012600 MOV (SP)+,R0
010700 012601 MOV (SP)+,R1
6858 010702 RETURN ; AND LEAVE
010702 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 184
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
6860 .SBTTL .LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
6861
6862 ;+
6863 ; .LDCLK -- SUBROUTINE TO LOAD THE KL CLOCK CONTROL REGISTERS.
6864 ; .LDPAR -- SUBROUTINE TO LOAD THE KL PARITY CONTROL REGISTERS.
6865 ;
6866 ; THESE SUBROUTINES SET UP THE KL CLOCK SOURCE, RATE, AND
6867 ; DISTRIBUTION REGISTERS OR THE PARITY CONTROL REGISTERS.
6868 ;
6869 ; SEQUENCE OF OPERATION:
6870 ;
6871 ; .LDCLK:
6872 ;
6873 ; (A) THE KL CLOCK SOURCE, RATE, AND DISTRIBUTION
6874 ; PARAMETERS ARE SET IN THE CLOCK CONTROL REGISTERS,
6875 ; (B) THE PARAMETERS WRITTEN IN (A) ARE SAVED IN THE
6876 ; CLOCK STATUS WORD (".CLKWD").
6877 ;
6878 ; .LDPAR:
6879 ;
6880 ; (A) THE KL INTERNAL PARITY CONTROL BITS ARE WRITTEN INTO THE
6881 ; PARITY CONTROL REGISTER,
6882 ; (B) THE CONTROL BITS WITTEN IN (A) ARE SAVED IN THE PARITY
6883 ; CONTROL WORD (".PSCWD").
6884 ;
6885 ; INPUT ARGUMENTS:
6886 ;
6887 ; R1 POINTS TO A PARAMETER WORD
6888 ;
6889 ; THE CLOCK PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
6890 ;
6891 ; !========================================!
6892 ; ! DISTRIBUTION ! SOURCE AND RATE !
6893 ; !========================================!
6894 ;
6895 ; THE PARITY PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
6896 ;
6897 ; !========================================!
6898 ; ! CONTROL BITS ! CLOCK STOP BITS !
6899 ; !========================================!
6900 ;
6901 ; OUTPUT ARGUMENTS:
6902 ;
6903 ; R0 CONTAINS A COPY OF THE UPDATED PARAMTER WORD
6904 ;
6905 ; ERROR CODES RETURNED:
6906 ;
6907 ; FWF -- FUNCTION WRITE FAILED.
6908 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 185
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
6910 .ENABL LSB
6911
6912 010704 .LDCLK::
6913 010704 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
010704 004537 012512' JSR R5,.REGSV
6914 010710 012703 000010' MOV #.CLKWD,R3 ; CONTROL WORD POINTER TO R3
6915 010714 012704 000110 MOV #FW.CSR,R4 ; BASE CLOCK WRITE TO R4
6916 010720 000406 BR 10$ ; DO COMMON CODE
6917 ;
6918 010722 .LDPAR::
6919 010722 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
010722 004537 012512' JSR R5,.REGSV
6920 010726 012703 000116' MOV #.PSCWD,R3 ; CONTROL WORD POINTER TO R3
6921 010732 012704 000114 MOV #FW.IPE,R4 ; BASE PARITY WRITE TO R4
6922 ; FALL INTO COMMON CODE
6923 010736 10$:
6924 010736 010102 MOV R1,R2 ; CALLER'S PARAMETER POINTER TO R2
6925 010740 CALL .CLDFW ; CLEAR THE WRITE BUFFER
010740 004737 006540' JSR PC,.CLDFW
6926 010744 005001 CLR R1 ; CLEAR R1
6927 010746 111237 000214' MOVB (R2),.DFWB ; SET LOW BYTE PARAMETER
6928 010752 010400 MOV R4,R0 ; DFW CODE TO R0
6929 010754 CALL .FWRIT ; DO IT
010754 004737 007574' JSR PC,.FWRIT
6930 010760 112223 MOVB (R2)+,(R3)+ ; MARK THE NEW LOW BYTE CODE
6931 010762 005724 TST (R4)+ ; NEXT WRITE CODE
6932 010764 111210 MOVB (R2),(R0) ; SET THE HIGH BYTE PARAMETERS
6933 010766 010400 MOV R4,R0 ; DFW CODE TO R0
6934 010770 CALL .FWRIT ; DO IT
010770 004737 007574' JSR PC,.FWRIT
6935 010774 111223 MOVB (R2),(R3)+ ; MARK THE NEW HIGH BYTE CODE
6936 010776 014300 MOV -(R3),R0 ; PUT A COPY IN R0
6937 011000 RETURN ; EXIT
011000 000207 RTS PC
6938
6939 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 186
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
6941 .SBTTL .LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
6942
6943 ;+
6944 ; .LDCRA -- SUBROUTINE TO LOAD A 12 BIT ADDRESS INTO THE
6945 ; KL CRAM ADDRESS REGISTER.
6946 ;
6947 ; THIS SUBROUTINE LOADS A 12 BIT CRAM ADDRESS INTO THE
6948 ; KL CRAM ADDRESS REGISTER.
6949 ;
6950 ; SEQUENCE OF OPERATION:
6951 ;
6952 ; (A) THE KL CLOCK IS TURNED OFF (BY (B)),
6953 ; (B) THE KL CRAM ADDRESS IS CLEARED BY ".RESET",
6954 ; (C) THE ADDRESS IS LOADED INTO CRAM DIAG ADDR.
6955 ;
6956 ; INPUT ARGUMENTS:
6957 ;
6958 ; R0 CONTAINS THE CRAM ADDRESS TO BE LOADED
6959 ;
6960 ; OUTPUT ARGUMENTS:
6961 ;
6962 ; NONE.
6963 ;
6964 ; ERROR CODES RETURNED:
6965 ;
6966 ; FWF -- FUNCTION WRITE FAILED.
6967 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 187
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
6969 011002 .LDCRA::
6970 011002 042700 170000 BIC #170000,R0 ; CLEAR UNUSED BITS
6971 011006 PUSH <R1,R0> ; PUT R0 AND R1 ON THE STACK
011006 010146 MOV R1,-(SP)
011010 010046 MOV R0,-(SP)
6972 011012 CALL .RESTP ; ..CLEAR CRAM DIAG ADDR AND CRAM ADDR
011012 004737 011662' JSR PC,.RESTP
6973 ; ..ALSO RETAIN CLOCK AND PARITY CONTROL
6974 011016 CALL .CLDFW ; ..CLEAR THE FW BUFFER
011016 004737 006540' JSR PC,.CLDFW
6975 011022 012700 000214' MOV #.DFWB,R0 ; ..SET UP THE BUFFER ADDRESS
6976 011026 011610 MOV (SP),(R0) ; ..LOAD THE ADDRESS FROM THE STACK
6977 011030 001427 BEQ 10$ ; ..LEAVE NOW IF ZERO
6978 011032 042710 174077 BIC #174077,(R0) ; ..CLEAR UNWANTED BITS
6979 011036 012701 000030 MOV #^D24,R1 ; ..SHIFT COUNT TO R1
6980 011042 CALL .TPSHI ; ..SHIFT IT OVER
011042 004737 023172' JSR PC,.TPSHI
6981 011046 005001 CLR R1 ; ..CLEAR R1
6982 011050 012700 000124 MOV #FW.CA2,R0 ; ..SET UP TO WRITE IT
6983 011054 CALL .FWRIT ; ..DO IT
011054 004737 007574' JSR PC,.FWRIT
6984 011060 011610 MOV (SP),(R0) ; ..GET ADDRESS FROM THE STACK AGAIN
6985 011062 042710 177700 BIC #177700,(R0) ; ..CLEAR UNWANTED BITS
6986 011066 012701 000036 MOV #^D30,R1 ; ..SHIFT COUNT TO R1
6987 011072 CALL .TPSHI ; ..SHIFT THAT OVER
011072 004737 023172' JSR PC,.TPSHI
6988 011076 005001 CLR R1 ; ..CLEAR R1
6989 011100 012700 000122 MOV #FW.CA1,R0 ; ..SET UP TO WRITE IT
6990 011104 CALL .FWRIT ; ..DO IT
011104 004737 007574' JSR PC,.FWRIT
6991 011110 10$:
6992 011110 POP <R0,R1> ; ..RESTORE REGISTERS
011110 012600 MOV (SP)+,R0
011112 012601 MOV (SP)+,R1
6993 011114 RETURN ; EXIT TO CALLER
011114 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 188
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
6995 .SBTTL .MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
6996
6997 ;+
6998 ; .MRCLR -- SUBROUTINE TO CLEAR THE KL IN THE MASTER RESET STATE.
6999 ;
7000 ; THIS SUBROUTINE SETS THE KL MASTER RESET FLOP AND ALLOWS THE
7001 ; KL CLOCK TO RUN, CLEARING THE KL.
7002 ;
7003 ; SEQUENCE OF OPERATION:
7004 ;
7005 ; (A) THE MASTER RESET FLOP IS SET,
7006 ; (B) THE KL CLOCK IS ALLOWED TO RUN FOR A SHORT TIME,
7007 ; (C) THE NXM TIMERS ARE RESYNCHRONIZED,
7008 ; (D) THE KL CLOCK IS STOPPED AND SYNCHED,
7009 ; (E) THE MASTER RESET FLOP IS CLEARED.
7010 ;
7011 ; INPUT ARGUMENTS:
7012 ;
7013 ; NONE.
7014 ;
7015 ; OUTPUT ARGUMENTS:
7016 ;
7017 ; NONE.
7018 ;
7019 ; ERROR CODES RETURNED:
7020 ;
7021 ; FRF -- FUNCTION READ FAILED.
7022 ; FWF -- FUNCTION WRITE FAILED.
7023 ; FXF -- FUNCTION EXECUTE FAILED.
7024 ;-
7025
7026 011116 .MRCLR::
7027 011116 PUSH <R0,R1,R2> ; SAVE REGISTERS
011116 010046 MOV R0,-(SP)
011120 010146 MOV R1,-(SP)
011122 010246 MOV R2,-(SP)
7028 011124 012700 000016 MOV #FX.SMR,R0 ; ...SET MASTER RESET FLOP
7029 011130 CALL .FXCT ; ...DO IT
011130 004737 007716' JSR PC,.FXCT
7030 011134 052737 020000 000000G BIS #KF.MRS,.KLFLG ; ...SET THE FLAG
7031 011142 CALL .STCLF ; ...FORCE START THE KL CLOCK
011142 004737 011770' JSR PC,.STCLF
7032 011146 012701 000764 MOV #^D500,R1 ; ...SET UP WAIT COUNT
7033
7034 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 189
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
7036 ; [CONTINUED FROM THE PREVIOUS PAGE]
7037
7038 011152 10$:
7039 011152 077101 SOB R1,10$ ; ...STALL A WHILE
7040 011154 CALL .STPXC ; ...STOP THE KL CLOCK
011154 004737 012036' JSR PC,.STPXC
7041 011160 CALL .CLDFB ; ...CLEAR THE FUNCTION BUFFERS
011160 004737 006524' JSR PC,.CLDFB
7042 011164 012700 000160 MOV #FW.CHN,R0 ; ...CLEAR THE CHANNELS
7043 011170 CALL .FWRIT ; ...DO IT
011170 004737 007574' JSR PC,.FWRIT
7044 011174 012702 000003 MOV #^D3,R2 ; ...LOOP COUNT TO R2
7045 011200 20$: ; ...HERE TO RESYNCH THE NXM TIMERS
7046 011200 005001 CLR R1 ; ...CLEAR R1
7047 011202 012700 000344 MOV #FR.162,R0 ; ...LOOK FOR [A CHANGE COMING L]
7048 011206 CALL .FREAD ; ...DO THE READ
011206 004737 007512' JSR PC,.FREAD
7049 011212 032710 000010 BIT #BIT03,(R0) ; ...IS IT THERE?
7050 011216 001405 BEQ 30$ ; ...YES -- GO ON
7051 011220 012700 000004 MOV #FX.MBC,R0 ; ...NO -- STEP THE CLOCK
7052 011224 CALL .FXCT ; ...DO IT
011224 004737 007716' JSR PC,.FXCT
7053 011230 077215 SOB R2,20$ ; ...LOOP THREE TIMES MAX
7054 011232 30$:
7055 011232 CALL .SYNXC ; ...SYNCH THE CLOCK
011232 004737 012210' JSR PC,.SYNXC
7056 011236 012700 000014 MOV #FX.CMR,R0 ; ...CLEAR MASTER RESET FLOP
7057 011242 CALL .FXCT ; ...DO IT
011242 004737 007716' JSR PC,.FXCT
7058 011246 042737 020300 000000G BIC #KF.MRS!KF.CON!KF.CES,.KLFLG
7059 ; ...CLEAR THE FLAGS
7060 011254 POP <R2,R1,R0> ; ...RESTORE REGISTERS
011254 012602 MOV (SP)+,R2
011256 012601 MOV (SP)+,R1
011260 012600 MOV (SP)+,R0
7061 011262 RETURN ; EXIT TO CALLER
011262 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 190
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75
7063 .SBTTL .RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 7510.09
7064
7065 ;+
7066 ; .RDCPP -- SUBROUTINE TO READ THE KL CLOCK AND INTERNAL PARITY
7067 ; CHECKING PARAMETERS.
7068 ;
7069 ; THIS SUBROUTINE READS THE KL CLOCK SOURCE, RATE AND DISTRIBUTION
7070 ; ENABLES AS WELL AS THE KL INTERNAL PARITY ENABLES AND MAINTAINS
7071 ; THEM IN ".CLKWD" AND ".PSCWD", RESPECTIVELY.
7072 ;
7073 ; INPUT ARGUMENTS:
7074 ;
7075 ; NONE.
7076 ;
7077 ; OUTPUT ARGUMENTS:
7078 ;
7079 ; ".CLKWD" AND ".PSCWD" CONTAIN THE UPDATED CLOCK AND
7080 ; PARITY ENABLES.
7081 ;
7082 ; ERROR CODES RETURNED:
7083 ;
7084 ; FRF -- FUNCTION READ FAILED.
7085 ;-
7086
7087 011264 .RDCPP::
7088 011264 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
011264 004537 012512' JSR R5,.REGSV
7089 011270 PUSH R0 ; R0 TOO
011270 010046 MOV R0,-(SP)
7090 011272 012704 000004 MOV #^D4,R4 ; .USE R4 AS A COUNTER
7091 011276 012703 002070' MOV #RDCPT1,R3 ; .BIT TEST TABLE POINTER TO R3
7092 011302 012705 002060' MOV #RDCPT3,R5 ; .SAVE AREA POINTER TO R5
7093 011306 10$:
7094 011306 112300 MOVB (R3)+,R0 ; .FR CODE TO R0
7095 011310 005001 CLR R1 ; .CLEAR R1
7096 011312 CALL .FREAD ; .READ A WORD
011312 004737 007512' JSR PC,.FREAD
7097 011316 011025 MOV (R0),(R5)+ ; .SAVE BITS 20 THRU 35 IN TABLE
7098 011320 077406 SOB R4,10$ ; .READ ALL FOUR OF THEM
7099 011322 005037 000010' CLR .CLKWD ; .CLEAR THE OLD CLOCK PARAMETERS
7100 011326 005037 000116' CLR .PSCWD ; .AND THE OLD PARITY STOP PARAMETERS
7101
7102 ; [CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 191
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75
7104 ; [CONTINUED FROM THE PREVIOUS PAGE]
7105
7106 011332 012700 000004 MOV #^D4,R0 ; .DO OUTER LOOP 4 TIMES
7107 011336 012705 002060' MOV #RDCPT3,R5 ; .KL SAVE AREA POINTER TO R5
7108 011342 20$:
7109 011342 012704 000004 MOV #^D4,R4 ; .DO INNER LOOP 4 TIMES
7110 011346 012702 002050' MOV #RDCPT2,R2 ; .KL MASK POINTER TO R2
7111 011352 30$:
7112 011352 012701 000010' MOV #.CLKWD,R1 ; .CLOCK WORD POINTER TO R1
7113 011356 020427 000002 CMP R4,#^D2 ; .IS INNER LOOP COUNT .GT. 2?
7114 011362 101004 BHI 50$ ; .YES -- CONTINUE
7115 011364 001001 BNE 40$ ; .NO -- IS IT .LT. 2?
7116 011366 005115 COM (R5) ; .NO -- INVERT THE WORD SO REST OF CODE WORKS
7117 011370 40$:
7118 011370 012701 000116' MOV #.PSCWD,R1 ; .DO PARITY WORD
7119 011374 50$:
7120 011374 041311 BIC (R3),(R1) ; .FLUSH THE BIT IN THE FLAG WORD
7121 011376 031215 BIT (R2),(R5) ; .TEST THE BIT WE READ IN THIS WORD
7122 011400 001401 BEQ 60$ ; .BRANCH IF BIT IS OFF
7123 011402 051311 BIS (R3),(R1) ; .TURN THE BIT ON IN THE FLAG WORD
7124 011404 60$:
7125 011404 022322 CMP (R3)+,(R2)+ ; .ADVANCE THE MASK POINTERS
7126 011406 077417 SOB R4,30$ ; .DO INNER LOOP 4 TIMES
7127 011410 005125 COM (R5)+ ; .ADVANCE THE SAVE AREA POINTER
7128 ; .AND STRAIGHTEN THE WORD OUT
7129 011412 077025 SOB R0,20$ ; .DO OUTER LOOP 4 TIMES
7130 011414 POP R0 ; .GIVE R0 BACK
011414 012600 MOV (SP)+,R0
7131 011416 RETURN ; AND GO AWAY
011416 000207 RTS PC
7132
7133 ; THESE BITS ARE USED TO MASK THE DATA FROM THE FUNCTION READS
7134
7135 002050 .PSECT DATA
7136
7137 002050 RDCPT2:
7138 002050 000010 .WORD BIT03 ; KL BIT 32
7139 002052 000004 .WORD BIT02 ; KL BIT 33
7140 002054 000002 .WORD BIT01 ; KL BIT 34
7141 002056 000001 .WORD BIT00 ; KL BIT 35
7142
7143 ; THE DATA FROM THE FUNCTION READS ARE STORED IN THIS TABLE
7144
7145 002060 RDCPT3:
7146 002060 000000 .WORD 0 ; FR.104 BITS 20 - 35
7147 002062 000000 .WORD 0 ; FR.105 BITS 20 - 35
7148 002064 000000 .WORD 0 ; FR.106 BITS 20 - 35
7149 002066 000000 .WORD 0 ; FR.107 BITS 20 - 35
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 192
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75
7151 ; TABLES USED TO READ AND SET CLOCK AND PARITY ENABLES
7152 ; THE FIRST FOUR BYTES IN THIS TABLE ARE THE FUNCTION READ CODES
7153 ; TO BE EXECUTED, THE REMAINING WORDS ARE USED TO SET OR CLEAR
7154 ; THE APPROPRIATE BITS IN ".CLKWD" AND ".PSCWD"
7155
7156 002070 RDCPT1:
7157 002070 210 .BYTE FR.104
7158 002071 212 .BYTE FR.105
7159 002072 214 .BYTE FR.106
7160 002073 216 .BYTE FR.107
7161 002074 000010 .WORD CS.CS2 ; CLK SOURCE 2 H [FR.104 - BIT 32]
7162 ; [FW 44 - BIT 32]
7163 002076 000000 .WORD 0 ; BLANK [FR.104 - BIT 33]
7164 002100 000010 .WORD IP.FMP ; FM PAR EN L [FR.104 - BIT 34]
7165 ; [FW 46 - BIT 32]
7166 002102 000000 .WORD 0 ; BLANK [FR.104 - BIT 35]
7167 002104 000004 .WORD CS.CS1 ; CLK SOURCE 1 H [FR.105 - BIT 32]
7168 ; [FW 44 - BIT 33]
7169 002106 002000 .WORD CD.CRC ; CLK CRAM DIS H [FR.105 - BIT 33]
7170 ; [FW 45 - BIT 33]
7171 002110 000004 .WORD IP.CRP ; CRAM PAR EN L [FR.105 - BIT 34]
7172 ; [FW 46 - BIT 33]
7173 002112 000000 .WORD 0 ; BLANK [FR.105 BIT - 35]
7174 002114 000002 .WORD CR.CR2 ; CLK RATE 2 H [FR.106 - BIT 32]
7175 ; [FW 44 - BIT 34]
7176 002116 001000 .WORD CD.DPC ; CLK EDP DIS H [FR.106 - BIT 33]
7177 ; [FW 45 - BIT 34]
7178 002120 000002 .WORD IP.DRP ; DRAM PAR EN L [FR.106 - BIT 34]
7179 ; [FW 46 - BIT 34]
7180 002122 001000 .WORD AP.ARP ; AR/ARX PAR EN L [FR.106 - BIT 35]
7181 ; [FW 47 - BIT 34]
7182 002124 000001 .WORD CR.CR1 ; CLK RATE 1 H [FR.107 - BIT 32]
7183 ; [FW 44 - BIT 35]
7184 002126 000400 .WORD CD.CLC ; CLK CTL DIS H [FR.107 - BIT 33]
7185 ; [FW 45 - BIT 35]
7186 002130 000001 .WORD IP.FSS ; FS STOP EN L [FR.107 -BIT 34]
7187 ; [FW 46 - BIT 35]
7188 002132 000400 .WORD AP.EIP ; CLK ERR STOP EN L [FR.107 - BIT 35]
7189 ; [FW 47 - BIT 35]
7190
7191 011420 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 193
.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
7193 .SBTTL .RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
7194
7195 ;+
7196 ; .RDIPE -- SUBROUTINE TO READ THE KL INTERNAL PARITY ERROR FLAGS.
7197 ;
7198 ; THIS SUBROUTINE READS THE INTERNAL KL PARITY ERROR FLAGS AND
7199 ; STORES THEM IN ".PEWRD" IN THE FOLLOWING FORMAT:
7200 ;
7201 ; (A) BIT00 ("PE.CES") [CLK ERROR STOP H],
7202 ; (B) BIT01 ("PE.DRM") [CLK DRAM PAR ERR H],
7203 ; (C) BIT02 ("PE.CRM") [CLK CRAM PAR ERR H],
7204 ; (D) BIT03 ("PE.FMP") [CLK FM PAR ERR H],
7205 ; (E) BIT04 ("PE.FSS") [CLK FS ERROR H].
7206 ;
7207 ; INPUT ARGUMENTS:
7208 ;
7209 ; NONE.
7210 ;
7211 ; OUTPUT ARGUMENTS:
7212 ; R0 CONTAINS A COPY OF THE FLAGS IN ".PEWRD".
7213 ;
7214 ; ERROR CODES RETURNED:
7215 ;
7216 ; FRF -- FUNCTION READ FAILED.
7217 ;-
7218
7219 011420 .RDIPE::
7220 011420 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
011420 004537 012512' JSR R5,.REGSV
7221 011424 012702 000204 MOV #FR.102,R2 ; BASE FUNCTION READ TO R2
7222 011430 012703 000040 MOV #BIT05,R3 ; MASK BIT TO R3
7223 011434 012704 000110' MOV #.PEWRD,R4 ; WORD POINTER TO R4
7224 011440 005014 CLR (R4) ; CLEAR THE WORD
7225 011442 012705 000001 MOV #BIT00,R5 ; BASE WORD MASK TO R5
7226 011446 005001 CLR R1 ; CLEAR R1
7227 011450 10$:
7228 011450 010200 MOV R2,R0 ; GET THE FR NUMBER
7229 011452 CALL .FREAD ; DO THE READ
011452 004737 007512' JSR PC,.FREAD
7230 011456 030310 BIT R3,(R0) ; IS THE BIT ON?
7231 011460 001401 BEQ 20$ ; NO -- GO ON
7232 011462 050514 BIS R5,(R4) ; YES -- SET THE BIT IN THE WORD
7233 011464 20$:
7234 011464 062702 000002 ADD #^D2,R2 ; NEXT FUNCTION READ
7235 011470 006305 ASL R5 ; SHIFT THE WORD MASK
7236 011472 020503 CMP R5,R3 ; ARE WE DONE?
7237 011474 001365 BNE 10$ ; NO -- KEEP GOING
7238 011476 011400 MOV (R4),R0 ; YES -- PUT THE WORD IN R0
7239 011500 RETURN ; AND GO AWAY
011500 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 194
.RESET -- KL RESET SUBROUTINES 7511.18
7241 .SBTTL .RESET -- KL RESET SUBROUTINES 7511.18
7242
7243 ;+
7244 ; .RESET -- SUBROUTINE TO RESET THE KL.
7245 ;
7246 ; THIS SUBROUTINE PERFORM ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
7247 ; THE KL MICROPROCESSOR AND SET UP CLOCK ENABLES AND PARITY STOPS.
7248 ;
7249 ; SEQUENCE OF OPERATION:
7250 ;
7251 ; (A) THE DTE-20 IS CLEARED,
7252 ; (B) THE MASTER RESET SUBROUTINE IS INVOKED,
7253 ; (C) THE MAJOR KL CONTROL REGISTERS ARE CLEARED
7254 ; (THIS IS A FULL KL MASTER RESET).
7255 ;
7256 ; INPUT ARGUMENTS:
7257 ;
7258 ; NONE.
7259 ;
7260 ; OUTPUT ARGUMENTS:
7261 ;
7262 ; NONE.
7263 ;
7264 ; ERROR CODES RETURNED:
7265 ;
7266 ; DSF -- DTE-20 STATUS FAILURE.
7267 ; FRF -- FUNCTION READ FAILED.
7268 ; FWF -- FUNCTION WRITE FAILED.
7269 ; FXF -- FUNCTION EXECUTE FAILED.
7270 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 195
.RESET -- KL RESET SUBROUTINES 7511.18
7272 011502 .RESET::
7273 011502 PUSH <R0,R1,R2> ; SAVE CALLER'S REGISTERS
011502 010046 MOV R0,-(SP)
011504 010146 MOV R1,-(SP)
011506 010246 MOV R2,-(SP)
7274 011510 CALL .RESTD ; ...RESET THE DTE-20
011510 004737 011616' JSR PC,.RESTD
7275 011514 012702 002134' MOV #RESETT,R2 ; ...FUNCTION TABLE POINTER TO R2
7276 011520 CALL .STPXC ; ...STOP THE KL CLOCK
011520 004737 012036' JSR PC,.STPXC
7277 011524 005046 CLR -(SP) ; ...CLEAR A TEMP BUFFER
7278 011526 010601 MOV SP,R1 ; ....POINT TO TEMP BUFFER
7279 011530 CALL .LDCLK ; ....CLEAR THE CLOCKS OUT
011530 004737 010704' JSR PC,.LDCLK
7280 011534 CALL .LDPAR ; ....RESET THE PARITY REGISTERS
011534 004737 010722' JSR PC,.LDPAR
7281 011540 CALL .MRCLR ; ....DO MASTER RESET STUFF
011540 004737 011116' JSR PC,.MRCLR
7282 011544 CALL .CLDFB ; ....CLEAR THE FUNCTION BUFFERS
011544 004737 006524' JSR PC,.CLDFB
7283 011550 10$:
7284 011550 005001 CLR R1 ; ....CLEAR R1
7285 011552 112200 MOVB (R2)+,R0 ; ....FUNCTION WRITE CODE TO R0
7286 011554 CALL .FWRIT ; ....DO THE WRITE
011554 004737 007574' JSR PC,.FWRIT
7287 011560 022702 002142' CMP #RSTEND,R2 ; ....ARE WE CLOSE TO END?
7288 011564 101371 BHI 10$ ; ....NO -- KEEP GOING
7289 011566 112210 MOVB (R2)+,(R0) ; ....YES -- GET THE DATA
7290 011570 111200 MOVB (R2),R0 ; ....FOR LAST WRITE
7291 011572 CALL .FWRIT ; ....DO IT
011572 004737 007574' JSR PC,.FWRIT
7292 011576 005726 TST (SP)+ ; ....CLEAR THE STACK
7293 011600 POP <R2,R1,R0> ; ...RESTORE REGISTERS
011600 012602 MOV (SP)+,R2
011602 012601 MOV (SP)+,R1
011604 012600 MOV (SP)+,R0
7294 011606 052737 000000G 000002G BIS #EF.CRI,.COMEF+2 ; DECLARE THE COMM REGION INVALID
7295 011614 RETURN ; TO CALLER
011614 000207 RTS PC
7296
7297 ; TABLE OF FUNCTION WRITE CODES FOR RESET
7298
7299 002134 .PSECT DATA
7300
7301 002134 RESETT:
7302 002134 104 .BYTE FW.LBR ; CLEAR BURST COUNTER - RIGHT
7303 002135 106 .BYTE FW.LBL ; CLEAR BURST COUNTER - LEFT
7304 002136 124 .BYTE FW.CA2 ; CLEAR CRAM DIAG ADDR - LEFT
7305 002137 122 .BYTE FW.CA1 ; CLEAR CRAM DIAG ADDR - RIGHT
7306 002140 156 .BYTE FW.KLO ; ENABLE KL OPCODES
7307 002141 174 .BYTE FW.EBL ; EBUS LOAD
7308 002142' RSTEND=.
7309 002142 012 .BYTE 12 ; DATA FOR
7310 002143 162 .BYTE FW.MBX ; MBOX CONTROL
7311 .EVEN
7312 011616 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 196
.RESTD -- DTE-20 RESET SUBROUTINE 7607.20
7314 .SBTTL .RESTD -- DTE-20 RESET SUBROUTINE 7607.20
7315
7316 ;+
7317 ; .RESTD -- SUBROUTINE TO RESET THE DTE-20.
7318 ;
7319 ; THIS SUBROUTINE RESETS THE DTE-20.
7320 ;
7321 ; SEQUENCE OF OPERATION:
7322 ;
7323 ; (A) THE DTE-20 IS CLEARED.
7324 ;
7325 ; INPUT ARGUMENTS:
7326 ;
7327 ; NONE.
7328 ;
7329 ; OUTPUT ARGUMENTS:
7330 ;
7331 ; NONE.
7332 ;
7333 ; ERROR CODES RETURNED:
7334 ;
7335 ; DSF -- DTE-20 STATUS FAILURE.
7336 ; FRF -- FUNCTION READ FAILED.
7337 ; FWF -- FUNCTION WRITE FAILED.
7338 ; FXF -- FUNCTION EXECUTE FAILED.
7339 ;-
7340
7341 011616 .RESTD::
7342 011616 012700 002144' MOV #D2RST,R0 ; DIAG WORD 2 RESET
7343 011622 CALL .DWDW2 ; WRITE IT
011622 004737 006616' JSR PC,.DWDW2
7344 011626 012700 002146' MOV #D3RST,R0 ; DIAG WORD 3 RESET
7345 011632 CALLR .DWDW3 ; WRITE IT
011632 000137 006636' JMP .DWDW3
7346 ;
7347
7348 002144 .PSECT DATA
7349
7350 002144 D2RST:
7351 002144 000100 .WORD D2.RST ; DIAG WORD 2 RESET
7352 002146 D3RST:
7353 002146 000001 .WORD D3.RST ; DIAG WORD 3 RESET
7354
7355 011636 .PSECT
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 197
.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
7357 .SBTTL .RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
7358
7359 ;+
7360 ; .RESTI -- SUBROUTINE TO RESET THE KL AND SET UP NORMAL
7361 ; KL CLOCK ENABLES AND PARITY STOPS.
7362 ;
7363 ; THIS SUBROUTINE PERFORMS ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
7364 ; THE KL MICROPROCESSOR AND SET UP NORMAL CLOCK ENABLES AND PARITY STOPS
7365 ;
7366 ; SEQUENCE OF OPERATION:
7367 ;
7368 ; (A) ".RESET" IS INVOKED,
7369 ; (B) NORMAL KL CLOCKS ARE ENABLED,
7370 ; (C) NORMAL KL PARITY STOPS ARE ENABLED.
7371 ;
7372 ; INPUT ARGUMENTS:
7373 ;
7374 ; NONE.
7375 ;
7376 ; OUTPUT ARGUMENTS:
7377 ;
7378 ; NONE.
7379 ;
7380 ; ERROR CODES RETURNED:
7381 ;
7382 ; DSF -- DTE-20 STATUS FAILURE.
7383 ; FRF -- FUNCTION READ FAILED.
7384 ; FWF -- FUNCTION WRITE FAILED.
7385 ; FXF -- FUNCTION EXECUTE FAILED.
7386 ;-
7387
7388 .ENABL LSB
7389
7390 011636 .RESTI::
7391 011636 PUSH R1 ; SAVE R1
011636 010146 MOV R1,-(SP)
7392 011640 005046 CLR -(SP) ; .CLEAR A LOCATION ON THE STACK
7393 011642 CALL .RESET ; ..RESET THE KL
011642 004737 011502' JSR PC,.RESET
7394 011646 010601 MOV SP,R1 ; ..POINT TO SCRATCH BUFFER
7398 011650 CALL .LDCLK ; ..SET NORMAL CLOCK ENABLES
011650 004737 010704' JSR PC,.LDCLK
7399 011654 012716 001416 MOV #PS.NRM,(SP) ; ..SET UP NORMAL PARITY ENABLES
7400 011660 000417 BR 10$ ; ..AND GO SET THEM
7401 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 198
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
7403 .SBTTL .RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
7404
7405 ;+
7406 ; .RESTP -- SUBROUTINE TO RESET THE KL AND RESTORE THE
7407 ; PREVIOUS KL PARITY STOPS.
7408 ;
7409 ; THIS SUBROUTINE PERFORMS ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
7410 ; THE KL MICROPROCESSOR AND SET UP CURRENT CLOCK ENABLES AND PARITY STOPS
7411 ;
7412 ; SEQUENCE OF OPERATION:
7413 ;
7414 ; (A) ".RESET" IS INVOKED.
7415 ; (B) THE PREVIOUSLY ENABLED CLOCK AND PARITY CONTROLS ARE
7416 ; REENABLED.
7417 ;
7418 ; INPUT ARGUMENTS:
7419 ;
7420 ; NONE.
7421 ;
7422 ; OUTPUT ARGUMENTS:
7423 ;
7424 ; NONE.
7425 ;
7426 ; ERROR CODES RETURNED:
7427 ;
7428 ; DSF -- DTE-20 STATUS FAILURE.
7429 ; FRF -- FUNCTION READ FAILED.
7430 ; FWF -- FUNCTION WRITE FAILED.
7431 ; FXF -- FUNCTION EXECUTE FAILED.
7432 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 199
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
7434 011662 .RESTP::
7435 011662 PUSH R1 ; SAVE R1
011662 010146 MOV R1,-(SP)
7436 011664 CALL .STPXC ; .STOP THE KL CLOCK
011664 004737 012036' JSR PC,.STPXC
7437 011670 CALL .RDCPP ; .READ CURRENT CLOCK AND PARITY ENABLES
011670 004737 011264' JSR PC,.RDCPP
7438 011674 PUSH .PSCWD ; .SAVE THE PARITY CONTROL WORD
011674 013746 000116' MOV .PSCWD,-(SP)
7439 011700 PUSH .CLKWD ; ..SAVE THE CLOCK CONTROL WORD
011700 013746 000010' MOV .CLKWD,-(SP)
7440 011704 CALL .RESET ; ...DO A MASTER RESET
011704 004737 011502' JSR PC,.RESET
7441 011710 010601 MOV SP,R1 ; ...POINT TO THE CLOCK WORD
7442 011712 CALL .LDCLK ; ...LOAD THE CLOCKS AGAIN
011712 004737 010704' JSR PC,.LDCLK
7443 011716 005726 TST (SP)+ ; ...FLUSH SAVED CLOCK WORD
7444 011720 10$:
7445 011720 010601 MOV SP,R1 ; ..POINT TO THE PARITY WORD
7446 011722 CALL .LDPAR ; ..LOAD THE PARITY STOPS
011722 004737 010722' JSR PC,.LDPAR
7447 011726 005726 TST (SP)+ ; ..FLUSH THE PARITY WORD
7448 011730 POP R1 ; .RESTORE R1
011730 012601 MOV (SP)+,R1
7449 011732 RETURN ; AND GO AWAY
011732 000207 RTS PC
7450
7451 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 200
.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
7453 .SBTTL .RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
7454
7455 ;+
7456 ; .RSTKL -- SUBROUTINE TO RESTART THE KL
7457 ;
7458 ; THIS SUBROUTINE WILL RESTART THE KL, IF IT WAS STOPPED BY ".STPKL".
7459 ;
7460 ; INPUT ARGUMENTS:
7461 ;
7462 ; THE STATE FLAGS IN ".SVKLF" REPRESENT THE STATE TO WHICH
7463 ; THE KL IS TO BE RESTORED.
7464 ;
7465 ; OUTPUT ARGUMENTS:
7466 ;
7467 ; ".SVKLF" IS CLEARED.
7468 ;
7469 ; ERROR CODES RETURNED:
7470 ;
7471 ; NONE.
7472 ;-
7473
7474 011734 .RSTKL::
7475 011734 032737 040000 000140' BIT #KF.RUN,.SVKLF ; DID WE STOP THE KL?
7476 011742 001404 BEQ 10$ ; NO -- JUST RETURN
7477 011744 CALL .KLRST ; YES -- RESTART THE KL
011744 004737 010424' JSR PC,.KLRST
7478 011750 105037 000000G CLRB .NOHLT ; LET RSX20F DETECT HALTS
7479 011754 10$:
7480 011754 005037 000140' CLR .SVKLF ; CLEAR SAVED FLAGS
7481 011760 RETURN ; TO CALLER
011760 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 201
.STCLK -- START KL CLOCK SUBROUTINE 7607.15
7483 .SBTTL .STCLK -- START KL CLOCK SUBROUTINE 7607.15
7484
7485 ;+
7486 ; .STCLK -- SUBROUTINE TO START THE KL CLOCK.
7487 ;
7488 ; THIS SUBROUTINE WILL START THE KL CLOCK.
7489 ;
7490 ; INPUT ARGUMENTS:
7491 ;
7492 ; NONE.
7493 ;
7494 ; OUTPUT ARGUMENTS:
7495 ;
7496 ; NONE.
7497 ;
7498 ; ERROR CODES RETURNED:
7499 ;
7500 ; CES -- CLOCK ERROR STOP.
7501 ; FXF -- FUNCTION EXECUTE FAILED.
7502 ;-
7503
7504 011762 .STCLK::
7505 011762 000241 CLC ; CLEAR CC-C
7506 011764 CALL .CESCK ; CHECK FOR CLOCK ERROR STOP
011764 004737 000056' JSR PC,.CESCK
7507 011770 .STCLF:: ; HERE TO START THE CLOCK ANYWAY
7508 011770 PUSH R0 ; SAVE R0
011770 010046 MOV R0,-(SP)
7509 011772 012700 000002 MOV #FX.CST,R0 ; .SET UP TO START THE KL CLOCK
7510 011776 CALL .FXCT ; .DO IT
011776 004737 007716' JSR PC,.FXCT
7511 012002 105037 000000G CLRB .NOERR ; LET RSX20F CATCH CLOCK ERRORS
7512 012006 POP R0 ; .RESTORE R0
012006 012600 MOV (SP)+,R0
7513 012010 RETURN ; RETURN TO CALLER
012010 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 202
.STPKL -- SUBROUTINE TO STOP THE KL 7602.25
7515 .SBTTL .STPKL -- SUBROUTINE TO STOP THE KL 7602.25
7516
7517 ;+
7518 ; .STPKL -- SUBROUTINE TO STOP THE KL.
7519 ;
7520 ; THIS SUBROUTINE WILL STOP THE KL HALT LOOP IF IT BELIEVES THAT
7521 ; THE KL RUN FLOP IS SET ("KF.RUN" IN ".KLFLG").
7522 ;
7523 ; INPUT ARGUMENTS:
7524 ;
7525 ; THE STATE OF THE KL IS IN ".KLFLG"
7526 ;
7527 ; OUTPUT ARGUMENTS:
7528 ;
7529 ; THE CURRENT STATE OF THE KL IS IN ".KLFLG"
7530 ; THE PREVIOUS STATE OF THE KL IS IN ".SVKLF"
7531 ;
7532 ; ERROR CODES RETURNED:
7533 ;
7534 ; NONE.
7535 ;-
7536
7537 012012 .STPKL::
7538 012012 032737 040000 000000G BIT #KF.RUN,.KLFLG ; IS THE KL RUNNING?
7539 012020 001405 BEQ 10$ ; NO -- JUST EXIT
7540 012022 013737 000000G 000140' MOV .KLFLG,.SVKLF ; YES -- SAVE CURRENT KL STATE
7541 012030 CALL .KLSTP ; STOP THE KL
012030 004737 010342' JSR PC,.KLSTP
7542 012034 10$:
7543 012034 RETURN ; TO CALLER
012034 000207 RTS PC
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 203
.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
7545 .SBTTL .STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
7546
7547 ;+
7548 ; .STPXC -- SUBROUTINE TO STOP THE KL CLOCK.
7549 ;
7550 ; THIS SUBROUTINE STOPS THE KL CLOCK.
7551 ;
7552 ; INPUT ARGUMENTS:
7553 ;
7554 ; NONE.
7555 ;
7556 ; OUTPUT ARGUMENTS:
7557 ;
7558 ; NONE
7559 ;
7560 ; ERROR CODES RETURNED:
7561 ;
7562 ; FXF -- FUNCTION EXECUTE FAILED
7563 ;-
7564
7565 .ENABL LSB
7566
7567 012036 .STPXC::
7568 012036 000241 CLC ; CLEAR CC-C
7569 012040 WTSE$S #E.FHTO ; WAIT FOR KL I/O TO SETTLE FROM ".CLRFF"
012040 012746 000001 MOV #E.FHTO,-(SP)
012044 012746 MOV (PC)+,-(SP)
012046 051 002 .BYTE 41.,2
012050 104375 EMT 375
7570 012052 PUSH R0 ; SAVE R0
012052 010046 MOV R0,-(SP)
7571 012054 112737 000001 000000G MOVB #1,.NOERR ; TELL RSX20F NOT TO PANIC ABOUT CLOCK STOP
7572 012062 005000 CLR R0 ; .SET UP TO STOP THE KL CLOCK
7573 ; .FUNCTION CODE IS ZERO
7574 012064 000404 BR 10$ ; .DO IT
7575 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 204
.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
7577 .SBTTL .STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
7578
7579 ;+
7580 ; .STRUN -- SUBROUTINE TO SET THE KL RUN FLOP.
7581 ;
7582 ; THIS SUBROUTINE SETS THE KL RUN FLOP.
7583 ;
7584 ;
7585 ; INPUT ARGUMENTS:
7586 ;
7587 ; NONE.
7588 ;
7589 ; OUTPUT ARGUMENTS:
7590 ;
7591 ; NONE
7592 ;
7593 ; ERROR CODES RETURNED:
7594 ;
7595 ; FXF -- FUNCTION EXECUTE FAILED
7596 ;-
7597
7598 012066 .STRUN::
7599 012066 000241 CLC ; CLEAR CC-C
7600 012070 PUSH R0 ; SAVE R0
012070 010046 MOV R0,-(SP)
7601 012072 012700 000022 MOV #FX.SRF,R0 ; .SET UP TO SET KL RUN FLOP
7602 012076 10$:
7603 012076 CALL .FXCT ; .DO IT
012076 004737 007716' JSR PC,.FXCT
7604 012102 POP R0 ; .RESTORE R0
012102 012600 MOV (SP)+,R0
7605 012104 RETURN ; TO CALLER
012104 000207 RTS PC
7606
7607 .DSABL LSB
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 205
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
7609 .SBTTL .STUCD -- START KL MICROCODE SUBROUTINE 7511.22
7610
7611 ;+
7612 ; .STUCD -- SUBROUTINE TO START THE KL MICROCODE AT THE
7613 ; ADDRESS SPECIFIED IN R0.
7614 ;
7615 ; SEQUENCE OF OPERATION:
7616 ;
7617 ; (A) THE KL RUN FLOP IS CLEARED,
7618 ; (B) THE KL RUN FLOP IS TURNED OFF,
7619 ; (C) THE KL IS CLEARED,
7620 ; (D) THE CRAM ADDRESS IS LOADED,
7621 ; (E) THE KL CLOCK IS RESTARTED.
7622 ;
7623 ; THE SUBROUTINE EXITS WHEN THE KL HAS FOUND THE HALT LOOP.
7624 ; IF THE HALT LOOP IS NOT FOUND, AN ERROR RETURN IS GIVEN.
7625 ;
7626 ; INPUT ARGUMENTS:
7627 ;
7628 ; R0 CONTAINS THE CRAM ADDRESS
7629 ;
7630 ; OUTPUT ARGUMENTS:
7631 ;
7632 ; NONE.
7633 ;
7634 ; ERROR CODES RETURNED:
7635 ;
7636 ; CAE -- CRAM ADDRESS ERROR.
7637 ; FRF -- FUNCTION READ FAILED.
7638 ; FWF -- FUNCTION WRITE FAILED.
7639 ; FXF -- FUNCTION EXECUTE FAILED
7640 ; UNL -- UCODE NOT LOADED.
7641 ;
7642 ; NOTE:
7643 ;
7644 ; THE NORMAL CRAM STARTING ADDRESS IS 0. ATTEMPTING TO
7645 ; START THE CONTROL RAM AT AN ADDRESS OTHER THAN 0 CAN
7646 ; PRODUCE STRANGE RESULTS. CAVEAT PROGRAMMATOR (OPERATOR).
7647 ; CONSIDER YOURSELF WARNED.
7648 ;-
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 206
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
7650 012106 .STUCD::
7651 012106 020027 002377 CMP R0,#2377 ; IS IT IN RANGE?
7652 012112 101030 BHI STUCAE ; NO -- GIVE "CAE" ERROR
7653 012114 PUSH <R1,R0> ; YES -- SAVE THE ADDRESS ON THE STACK
012114 010146 MOV R1,-(SP)
012116 010046 MOV R0,-(SP)
7654 012120 CALL .CLRFF ; ..CLEAR THE KL RUN FLOP
012120 004737 006554' JSR PC,.CLRFF
7655 012124 CALL .STPXC ; ..STOP THE KL CLOCK
012124 004737 012036' JSR PC,.STPXC
7656 012130 011600 MOV (SP),R0 ; ..CRAM ADDRESS TO R0
7657 012132 CALL .LDCRA ; ..LOAD IT
012132 004737 011002' JSR PC,.LDCRA
7658 012136 CALL .STCLK ; ..START THE KL CLOCK
012136 004737 011762' JSR PC,.STCLK
7659 012142 012701 000310 MOV #^D200,R1 ; ..SETUP WAIT LOOP
7660 012146 10$:
7661 012146 CALL .DTDW1 ; ..READ DTE-20 DIAG WORD 1
012146 004737 006664' JSR PC,.DTDW1
7662 012152 032700 001000 BIT #D1.HLP,R0 ; ..ARE WE IN THE HALT LOOP?
7663 012156 001001 BNE 20$ ; ..YES -- EXIT
7664 012160 077106 SOB R1,10$ ; ..NO -- TRY TILL COUNT EXHAUSTED
7665 012162 20$:
7666 012162 005701 TST R1 ; ..DID COUNT GET EXHAUSTED?
7667 012164 003406 BLE STUUNL ; ..YES -- WE LOST
7668 012166 POP <R0,R1> ; ..NO -- RESTORE R0 AND R1
012166 012600 MOV (SP)+,R0
012170 012601 MOV (SP)+,R1
7669 012172 RETURN ; TO CALLER
012172 000207 RTS PC
7670 012174 STUCAE:
7671 012174 ERROR$ CAE ; ERROR -- CRAM ADDRESSING ERROR
012174 012746 011355 MOV #^RCAE,-(SP)
012200 104400 TRAP TC.ERR
7672 ;
7673 012202 STUUNL:
7674 012202 ERROR$ UNL ; ERROR -- UCODE NOT LOADED
012202 012746 102574 MOV #^RUNL,-(SP)
012206 104400 TRAP TC.ERR
7675 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 207
.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
7677 .SBTTL .SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
7678
7679 ;+
7680 ; .SYNXC -- SUBROUTINE TO SYNCH THE EBOX CLOCK LOW.
7681 ;
7682 ; THIS SUBROUTINE SYNCHS THE KL EBOX CLOCK LOW
7683 ;
7684 ;
7685 ; INPUT ARGUMENTS:
7686 ;
7687 ; NONE.
7688 ;
7689 ; OUTPUT ARGUMENTS:
7690 ;
7691 ; NONE
7692 ;
7693 ; ERROR CODES RETURNED:
7694 ;
7695 ; FXF -- FUNCTION EXECUTE FAILED
7696 ;-
7697
7698 .ENABL LSB
7699
7700 012210 .SYNXC::
7701 012210 000241 CLC ; CLEAR CC-C
7702 012212 PUSH R0 ; SAVE R0
012212 010046 MOV R0,-(SP)
7703 012214 012700 000010 MOV #FX.SYC,R0 ; .SET UP TO SYNCH EBOX CLOCK
7704 012220 CALL .FXCT ; .DO IT
012220 004737 007716' JSR PC,.FXCT
7705 012224 000411 BR 10$ ; .RESTORE R0 AND EXIT
7706 ;
KL10F -- KL10 FUNCTION MODULE MACRO M1110 03-OCT-79 11:35 PAGE 208
.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
7708 .SBTTL .WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
7709
7710 ;+
7711 ; .WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER.
7712 ; .WRAR1 -- SUBROUTINE TO WRITE THE KL AR REGISTER WITHOUT
7713 ; STOPPING THE KL CLOCK.
7714 ;
7715 ; THIS SUBROUTINE WILL WRITE A 36 BIT WORD TO THE KL AR REGISTER.
7716 ;
7717 ; SEQUENCE OF OPERATION:
7718 ;
7719 ; .WRTAR:
7720 ;
7721 ; (A) THE KL CLOCK IS STOPPED,
7722 ;
7723 ; .WRAR1:
7724 ;
7725 ; (B) THE EBOX CLOCK IS SYNCHED LOW,
7726 ; (C) THE DATA IS WRITTEN INTO THE KL AR REGISTER.
7727 ;
7728 ; INPUT ARGUMENTS:
7729 ;
7730 ; R1 POINTS TO THE DATA TO BE WRITTEN
7731 ;
7732 ; OUTPUT ARGUMENTS:
7733 ;
7734 ; NONE.
7735 ;
7736 ; ERROR CODES RETURNED:
7737 ;
7738 ; FWF -- FUNCTION WRITE FAILED.
7739 ;-
7740
7741 012226 .WRTAR::
7742 012226 CALL .STPXC ; STOP THE KL CLOCK
012226 004737 012036' JSR PC,.STPXC
7743 012232 .WRAR1::
7744 012232 CALL .SYNXC ; FORCE THE EBOX CLOCK LOW
012232 004737 012210' JSR PC,.SYNXC
7745 012236 PUSH R0 ; SAVE R0
012236 010046 MOV R0,-(SP)
7746 012240 012700 000176 MOV #FW.LAR,R0 ; .FUNCTION WRITE CODE TO R0
7747 012244 CALL .FWRIT ; .LOAD THE AR
012244 004737 007574' JSR PC,.FWRIT
7748 012250 10$:
7749 012250 POP R0 ; .RESTORE R0
012250 012600 MOV (SP)+,R0
7750 012252 RETURN ; RETURN TO CALLER
012252 000207 RTS PC
7751
7752 .DSABL LSB
NULLC -- NULL COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 209
.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
7754 .TITLE NULLC -- NULL COMMAND MODULE 7603.30
7755
7756 .IDENT "005000"
7757
7758 ;
7759 ; COPYRIGHT (C) 1975, 1979 BY
7760 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
7761 ;
7762 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
7763 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
7764 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
7765 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
7766 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
7767 ;
7768 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
7769 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
7770 ; CORPORATION.
7771 ;
7772 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7773 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
7774 ;
7775 ; MODULE: NULL COMMAND
7776 ;
7777 ; VERSION: 01-01
7778 ;
7779 ; AUTHOR: R. BELANGER
7780 ;
7781 ; DATE: 7603.30
7782 ;
7783 ; THIS MODULE CONTAINS:
7784 ;
7785 ; 1) NULL COMMAND CODE
NULLC -- NULL COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 210
.NULLC -- THE NULL COMMAND 7602.10
7787 .SBTTL .NULLC -- THE NULL COMMAND 7602.10
7788
7789 012254 .NULLC::
7790 012254 012737 000021' 000002' MOV #PARNAM,.CCMDN ; RESET THE COMMAND NAME
7791 012262 CALLR .CKEOC ; CHECK E-O-C CHARACTER
012262 000137 000264' JMP .CKEOC
7792 ;
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1110 03-OCT-79 11:35 PAGE 211
.NULLC -- THE NULL COMMAND 7602.10
7794 .TITLE PARSE -- TOP-LEVEL COMMAND DECODER MODULE 7603.30
7795
7796 .IDENT "005000"
7797
7798 ;
7799 ; COPYRIGHT (C) 1975, 1979 BY
7800 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
7801 ;
7802 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
7803 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
7804 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
7805 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
7806 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
7807 ;
7808 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
7809 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
7810 ; CORPORATION.
7811 ;
7812 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7813 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
7814 ;
7815 ; MODULE: TOP-LEVEL COMMAND DECODER
7816 ;
7817 ; VERSION: 01-01
7818 ;
7819 ; AUTHOR: R. BELANGER
7820 ;
7821 ; DATE: 7603.30
7822 ;
7823 ; THIS MODULE CONTAINS:
7824 ;
7825 ; 1) COMMAND DECODER
7826
7827 .MCALL DIR$,EXIT$S,QIOW$S
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1110 03-OCT-79 11:35 PAGE 212
.DOCMD -- DECODE A SINGLE COMMAND 7602.03
7829 .SBTTL .DOCMD -- DECODE A SINGLE COMMAND 7602.03
7830
7831 ;+
7832 ; .DOCMD -- DECODE AND DISPATCH FOR A SINGLE COMMAND
7833 ;
7834 ; THIS SUBROUTINE WILL DECODE THE INPUT STREAM FROM THE MAIN COMMAND
7835 ; SYMBOL TABLE, ".CMDTB", SET UP THE LEGAL BITS FOR EACH COMMAND
7836 ; DECODED, AND PERFORM THE DISPATCH FOR THAT COMMAND.
7837 ;
7838 ; INPUT ARGUMENTS:
7839 ;
7840 ; R0 POINTS TO A REPEAT COUNT
7841 ; R5 POINTS TO THE INPUT STREAM.
7842 ;
7843 ; OUTPUT ARGUMENTS:
7844 ;
7845 ; R0 POINTS TO THE COMMAND NAME POINTER IN THE COMMAND TABLE
7846 ;
7847 ; ERROR CODES RETURNED:
7848 ;
7849 ; CNR -- COMMAND IS NOT REPEATABLE
7850 ;-
7851
7852 012266 .DOCMD::
7853 012266 022020 CMP (R0)+,(R0)+ ; POINT TO THE END OF THE REPEAT COUNT
7854 012270 PUSH <(R0),-(R0),-(R0)>
012270 011046 MOV (R0),-(SP)
012272 014046 MOV -(R0),-(SP)
012274 014046 MOV -(R0),-(SP)
7855 012276 010600 MOV SP,R0 ; ...POINT TO THE REPEAT COUNT
7856 012300 PUSH R5 ; ...SAVE COMMAND LINE POINTER
012300 010546 MOV R5,-(SP)
7857 012302 PUSH R0 ; ....SAVE THE REPEAT COUNT POINTER
012302 010046 MOV R0,-(SP)
7858 012304 010037 000132' MOV R0,.RPTPT ; .....FOR "CLEAR REPEAT"
7859 012310 10$:
7860 012310 012700 002520' MOV #.CMDTB,R0 ; .....POINT TO THE COMMAND TABLE
7861 012314 012737 000021' 000002' MOV #PARNAM,.CCMDN ; ....."PARSER" IS CURRENT COMMAND
7862 012322 CALL .TSCAN ; .....SCAN THE TABLE
012322 004737 012672' JSR PC,.TSCAN
7863 012326 011037 000076' MOV (R0),.LGLWD ; .....SET UP THE LEGAL BITS FOR COMMAND
7864 012332 014037 000002' MOV -(R0),.CCMDN ; .....SET THE POINTER TO THIS NAME
7865
7866 ; [CONTINUED ON THE FOLLOWING PAGE]
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1110 03-OCT-79 11:35 PAGE 213
.DOCMD -- DECODE A SINGLE COMMAND 7602.03
7868 ; [CONTINUED FROM THE PREVIOUS PAGE]
7869
7870 012336 20$:
7871 012336 CALL @4(R0) ; .....DO THE COMMAND
012336 004770 000004 JSR PC,@4(R0)
7872 012342 011600 MOV (SP),R0 ; .....POINT TO THE REPEAT COUNT
7873 012344 CALL .TPTST ; .....IS THERE REALLY ONE THERE
012344 004737 022674' JSR PC,.TPTST
7874 012350 001404 BEQ 30$ ; .....NO -- JUST GO ON
7875 012352 032737 000400 000076' BIT #LG.RPT,.LGLWD ; .....YES -- IS THIS COMMAND REPEATABLE?
7876 012360 001423 BEQ DOCCNR ; .....NO -- GIVE "CNR" ERROR
7877 012362 30$:
7878 012362 105725 TSTB (R5)+ ; .....YES -- IS THIS THE END??
7879 012364 001010 BNE 40$ ; .....NO -- GO ON SCANNING THIS LINE
7880 012366 105745 TSTB -(R5) ; .....YES -- BACK THE POINTER UP
7881 012370 CALL .TPDEC ; .....DECREMENT STACKED REPEAT COUNT
012370 004737 022750' JSR PC,.TPDEC
7882 012374 CALL .TPTST ; .....SEE WHAT THE COUNT IS
012374 004737 022674' JSR PC,.TPTST
7883 012400 003405 BLE 50$ ; .....DONE IF .LE. 0
7884 012402 016605 000002 MOV 2(SP),R5 ; .....RESTORE INPUT STREAM POINTER
7885 012406 40$:
7886 012406 005037 000076' CLR .LGLWD ; .....CLEAR THE LEGAL BITS
7887 012412 000736 BR 10$ ; .....AND REITERATE OR CONTINUE
7888 ;
7889 012414 50$:
7890 012414 062706 000012 ADD #^D10,SP ; .....FLUSH THE STACK
7891 012420 CALL .CESCK ; CHECK FOR CLOCK ERROR STOP
012420 004737 000056' JSR PC,.CESCK
7892 012424 CALLR .EBPCK ; AND EBUS PARITY ERROR
012424 000137 000462' JMP .EBPCK
7893 ;
7894 012430 DOCCNR:
7895 012430 ERROR$ CNR ; ERROR -- COMMAND IS NOT REPEATABLE
012430 012746 012402 MOV #^RCNR,-(SP)
012434 104400 TRAP TC.ERR
7896 ;
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1110 03-OCT-79 11:35 PAGE 214
.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
7898 .SBTTL .EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
7899
7900 ;+
7901 ; .EXITP -- THE COMMAND PARSER EXIT POINT.
7902 ;
7903 ; THIS ROUTINE IS THE COMMAND PARSER EXIT POINT
7904 ;
7905 ; INPUT ARGUMENTS:
7906 ;
7907 ; NONE.
7908 ;
7909 ; OUTPUT ARGUMENTS:
7910 ;
7911 ; NONE.
7912 ;
7913 ; ERROR CODES RETURNED:
7914 ;
7915 ; NONE.
7916 ;-
7917
7918 012436 .EXITP::
7920 012436 005737 000016' TST .DBGSW ; LOOK AT THE DEBUG SWITCH
7921 012442 001401 BEQ 10$ ; CLEAR -- DON'T HALT
7922 012444 000000 HALT ; FOR DEBUGGING
7923 012446 10$:
7925 012446 QIOW$S #IO.DET,#CIDLUN,#E.FCID,#0,#0,#0
012446 005046 CLR -(SP)
012450 005046 CLR -(SP)
012452 112746 000002 MOVB #E.FCID,-(SP)
012456 112766 000000 000001 MOVB #0,1(SP)
012464 012746 000001 MOV #CIDLUN,-(SP)
012470 012746 000000G MOV #IO.DET,-(SP)
012474 012746 MOV (PC)+,-(SP)
012476 003 006 .BYTE 3,$$$T1
012500 104375 EMT 375
7926 012502 EXIT$S ; EXIT
012502 012746 MOV (PC)+,-(SP)
012504 063 001 .BYTE 51.,1
012506 104375 EMT 375
7927 012510 000004 IOT ; HELP....
7928 ;
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1110 03-OCT-79 11:35 PAGE 215
.START -- COMMAND PARSER MAIN LOOP 7602.02
7930 .SBTTL .START -- COMMAND PARSER MAIN LOOP 7602.02
7931
7932 ;+
7933 ; .START -- COMMAND PARSER MAIN LOOP.
7934 ;
7935 ; THIS IS THE MAIN LOOP AND TOPMOST LEVEL OF THE RSX20F CONSOLE
7936 ; COMMAND PARSER. CONTROL IS PASSED HERE ON STARTUP AND ON ERROR
7937 ; RESTARTS FROM ".PTTRP". THE PROMPT STRING IS OUTPUT TO THE CONSOLE
7938 ; OUTPUT DEVICE AND THE NEXT COMMAND STRING IS SOLICITED FROM
7939 ; THE OPERATOR.
7940 ;
7941 ; INPUT ARGUMENTS:
7942 ;
7943 ; NONE.
7944 ;
7945 ; OUTPUT ARGUMENTS:
7946 ;
7947 ; R0 POINTS TO THE REPEAT COUNT
7948 ; R5 POINTS TO THE INPUT STREAM
7949 ;
7950 ; ERROR CODES RETURNED:
7951 ;
7952 ; IF THE CONSOLE DEVICE CANNOT BE ATTACHED OR DETACHED, THE
7953 ; PARSER EXITS.
7954 ;-
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1110 03-OCT-79 11:35 PAGE 216
.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
7956 .SBTTL .RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
7957
7958 ;+
7959 ; .REGSV -- SUBROUTINE TO SAVE AND RESTORE R5 - R1 ON THE STACK.
7960 ;
7961 ; R1 - R5 ARE SAVED ON THE STACK, AND MAY BE RESTORED BY EITHER:
7962 ;
7963 ; RETURN ; RETURNS TO HIGHER LEVEL
7964 ; -OR-
7965 ; CALL @(SP)+ ; RETURNS TO SAME LEVEL
7966 ;
7967 ; NO REGISTERS ARE DESTROYED BY THIS SUBROUTINE, AND SUBSEQUENT CALLS
7968 ; WILL NEST.
7969 ;
7970 ; CALLING SEQUENCE IS:
7971 ;
7972 ; CALL R5,.REGSV
7973 ; ONLY RETURN
7974 ;-
7975
7976 012512 .REGSV:: ; DEFINE AS GLOBAL
7977 012512 PUSH <R4,R3,R2,R1,R5>
012512 010446 MOV R4,-(SP)
012514 010346 MOV R3,-(SP)
012516 010246 MOV R2,-(SP)
012520 010146 MOV R1,-(SP)
012522 010546 MOV R5,-(SP)
7978 012524 016605 000012 MOV 12(SP),R5 ; .....RESTORE R5
7979 012530 000241 CLC ; .....CLEAR CC-C
7980 012532 CALL @(SP)+ ; .....RETURN WITH RESTORE ADDRESS ON THE STACK
012532 004736 JSR PC,@(SP)+
7981
7982 ; HERE TO RESTORE R1 - R5 AND RETURN
7983
7984 012534 POP <R1,R2,R3,R4,R5>
012534 012601 MOV (SP)+,R1
012536 012602 MOV (SP)+,R2
012540 012603 MOV (SP)+,R3
012542 012604 MOV (SP)+,R4
012544 012605 MOV (SP)+,R5
7985 012546 RETURN ; RETURN
012546 000207 RTS PC
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1110 03-OCT-79 11:35 PAGE 217
.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
7987 012550 .START::
7988 012550 013706 000136' MOV .SVESP,SP ; INIT THE STACK POINTER
7989 012554 10$:
7990 012554 005037 000140' CLR .SVKLF ; RESET ".SVKLF"
7991 012560 012737 000021' 000002' MOV #PARNAM,.CCMDN ; SET UP PARSER NAME
7992 012566 CALL .TYINI ; INIT OUTPUT POINTERS
012566 004737 026356' JSR PC,.TYINI
7993 012572 012701 000000G MOV #.KLFLG,R1 ; POINT TO ".KLFLG"
7994 012576 012700 000030' MOV #PROMPT,R0 ; POINT TO THE PROMPT STRING
7995 012602 CALL .TYMSG ; PRINT IT
012602 004737 026202' JSR PC,.TYMSG
7996 012606 012700 000076 MOV #'>,R0 ; ASSUME THE KL IS RUNNING
7997 012612 032711 100000 BIT #KF.CLK,(R1) ; IS THE CLOCK ON?
7998 012616 001406 BEQ 20$ ; NO -- PRINT "#"
7999 012620 032711 040000 BIT #KF.RUN,(R1) ; YES -- IS THE RUN FLOP ON?
8000 012624 001005 BNE 30$ ; YES -- PRINT ">"
8001 012626 012700 000045 MOV #'%,R0 ; NO -- PRINT "%"
8002 012632 000402 BR 30$ ; GO DO IT
8003 ;
8004 012634 20$:
8005 012634 012700 000043 MOV #'#,R0 ; KL CLOCK IS OFF
8006 012640 30$:
8007 012640 CALL .TFCHR ; FORCE PRINT THE PROMPT CHARACTER
012640 004737 026224' JSR PC,.TFCHR
8008 012644 012705 000670' MOV #.COMND,R5 ; SET UP COMMAND BUFFER POINTER
8009 012650 CALL .GTCMD ; GO READ A COMMAND LINE
012650 004737 024010' JSR PC,.GTCMD
8010 012654 005037 000076' CLR .LGLWD ; FLUSH OLD LEGAL BITS
8011 012660 012700 000124' MOV #.RPTCT,R0 ; GET THE REPEAT COUNT POINTER
8012 012664 CALL .DOCMD ; NOW GO EXECUTE A COMMAND
012664 004737 012266' JSR PC,.DOCMD
8013 012670 000731 BR 10$ ; AND START OVER AGAIN
8014 ;
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1110 03-OCT-79 11:35 PAGE 218
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
8016 .SBTTL .TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
8017
8018 ;+
8019 ; .TSCAN -- ROUTINE TO SCAN AN ".ASCIZ" SYMBOL TABLE.
8020 ;
8021 ; THIS ROUTINE WILL SCAN A SYMBOL TABLE AND RETURN THE DISPATCH
8022 ; ADDRESS ASSOCIATED WITH THE SYMBOL IN R0.
8023 ;
8024 ; THE ENTRIES IN THE SYMBOL TABLE ARE OF THE FORM:
8025 ;
8026 ; !=======================================!
8027 ; ! POINTER TO ".ASCIZ" SYMBOL !
8028 ; !---------------------------------------!
8029 ; ! LEGAL BITS FOR OBJECT !
8030 ; !---------------------------------------!
8031 ; ! DISPATCH FOR OBJECT !
8032 ; !=======================================!
8033 ;
8034 ; INPUT ARGUMENTS:
8035 ;
8036 ; R0 POINTS TO THE SYMBOL TABLE
8037 ;
8038 ; OUTPUT ARGUMENTS:
8039 ;
8040 ; R0 POINTS TO THE "LEGAL" BITS OF THE MATCHED SYMBOL
8041 ;
8042 ; ERROR CODES RETURNED:
8043 ;
8044 ; AMB -- AMBIGUOUS KEYWORD.
8045 ; NSK -- NON-EXISTENT KEYWORD.
8046 ; WRM -- WRONG MODE FOR COMMAND.
8047 ;-
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1110 03-OCT-79 11:35 PAGE 219
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
8049 012672 .TSCAN::
8050 012672 CALL .CKCTC ; SEE IF "^C" WAS TYPED
012672 004737 000236' JSR PC,.CKCTC
8051 012676 CALL .CKSYM ; GET OVER LEADING BLANKS
012676 004737 000446' JSR PC,.CKSYM
8052 012702 122704 000077 CMPB #'?,R4 ; IS THIS AN INQUIRY?
8053 012706 001442 BEQ 50$ ; YES -- DISPLAY THE TABLE
8054 012710 PUSH R1 ; NO -- SAVE R1 ON THE STACK
012710 010146 MOV R1,-(SP)
8055 012712 PUSH R5 ; .SAVE THE INPUT POINTER
012712 010546 MOV R5,-(SP)
8056 012714 010001 MOV R0,R1 ; ..TABLE POINTER TO R1
8057 012716 PUSH R5 ; ..SAVE THE INPUT POINTER AGAIN
012716 010546 MOV R5,-(SP)
8058 012720 005046 CLR -(SP) ; ...CLEAR A SCRATCH AREA
8059 012722 10$:
8060 012722 012100 MOV (R1)+,R0 ; ....GET THE ADDRESS OF THE SYMBOL
8061 012724 CALL .SSCAN ; ....SCAN IT
012724 004737 013134' JSR PC,.SSCAN
8062 012730 103412 BCS 30$ ; ....NO MATCH -- TRY NEXT ENTRY
8063 012732 001004 BNE 20$ ; ....MATCH -- SAVE POINTER AND CONTINUE
8064 012734 010100 MOV R1,R0 ; ....EXACT MATCH -- PUT THE POINTER IN R0
8065 012736 010566 000004 MOV R5,4(SP) ; ....FIX THE INPUT POINTER
8066 012742 000414 BR 40$ ; ....AND SET UP FOR EXIT
8067 ;
8068 012744 20$:
8069 012744 005716 TST (SP) ; ....HAVE WE ALREADY FOUND A MATCH?
8070 012746 001057 BNE TSCAMB ; ....YES -- GIVE "AMB" ERROR
8071 012750 010116 MOV R1,(SP) ; ....NO -- SAVE POINTER AND GO ON
8072 012752 010566 000004 MOV R5,4(SP) ; ....SAVE THE BUFFER POINTER
8073 012756 30$:
8074 012756 016605 000002 MOV 2(SP),R5 ; ....RESET THE INPUT POINTER
8075 012762 022121 CMP (R1)+,(R1)+ ; ....ADVANCE THE POINTER
8076 012764 005711 TST (R1) ; ....IS THIS THE END OF THE TABLE?
8077 012766 001355 BNE 10$ ; ....NO -- TRY THIS SYMBOL
8078 012770 011600 MOV (SP),R0 ; ....YES -- DID WE FIND A MATCH?
8079 012772 001452 BEQ TSCNSK ; ....NO -- GIVE "NSK" ERROR
8080 012774 40$:
8081 012774 033710 000000G BIT .FEMOD,(R0) ; ....YES -- CAN WE DO THIS COMMAND?
8082 013000 001452 BEQ TSCWRM ; ....NO -- GIVE "WRM" ERROR
8083 013002 022626 CMP (SP)+,(SP)+ ; ....YES -- CLEAR THE STACK
8084 013004 POP R5 ; ..RETURN UPDATED LINE POINTER
013004 012605 MOV (SP)+,R5
8085 013006 111504 MOVB (R5),R4 ; .PUT THE DELIMITER IN R4
8086 013010 POP R1 ; .RESTORE R1
013010 012601 MOV (SP)+,R1
8087 013012 RETURN ; WITH POINTER TO LEGAL BITS IN R0
013012 000207 RTS PC
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1110 03-OCT-79 11:35 PAGE 220
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
8089 013014 50$:
8090 013014 105725 TSTB (R5)+ ; GET OVER THE "?"
8091 013016 CALL .CKEOC ; CHECK FOR E-O-C
013016 004737 000264' JSR PC,.CKEOC
8092 013022 010001 MOV R0,R1 ; TABLE POINTER TO R1
8093 013024 CALL .TCRLF ; TYPE A <CRLF>
013024 004737 026272' JSR PC,.TCRLF
8094 013030 013700 000002' MOV .CCMDN,R0 ; CURRENT COMMAND NAME
8095 013034 CALL .TYMSG ; PRINT THAT
013034 004737 026202' JSR PC,.TYMSG
8096 013040 012700 000611' MOV #TDMSG0,R0 ; REST OF LINE
8097 013044 CALL .TYLIN ; PRINT IT
013044 004737 026166' JSR PC,.TYLIN
8098 013050 60$:
8099 013050 012100 MOV (R1)+,R0 ; NAME POINTER TO R0
8100 013052 001411 BEQ 80$ ; EXIT IF NULL
8101 013054 031137 000000G BIT (R1),.FEMOD ; COMMAND LEGAL IN THIS MODE?
8102 013060 001404 BEQ 70$ ; NO -- GO ON
8103 013062 CALL .TYSPC ; YES -- SPACE OVER
013062 004737 025454' JSR PC,.TYSPC
8104 013066 CALL .TYLIN ; PRINT THIS NAME
013066 004737 026166' JSR PC,.TYLIN
8105 013072 70$:
8106 013072 022121 CMP (R1)+,(R1)+ ; POINT TO THE NEXT NAME
8107 013074 000765 BR 60$ ; AND GO ON
8108 ;
8109 013076 80$:
8110 013076 013706 000136' MOV .SVESP,SP ; RESET THE STACK
8111 013102 000177 000134' JMP @.STRTV ; AND START OVER
8112 ;
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1110 03-OCT-79 11:35 PAGE 221
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
8114 013106 TSCAMB:
8115 013106 016605 000002 MOV 2(SP),R5 ; RESET INPUT POINTER
8116 013112 ERROR$ AMB ; .ERROR -- MULTIPLE MATCH
013112 012746 004112 MOV #^RAMB,-(SP)
013116 104400 TRAP TC.ERR
8117 ;
8118 013120 TSCNSK:
8119 013120 ERROR$ NSK ; .ERROR -- NON-EXISTENT KEYWORD
013120 012746 055203 MOV #^RNSK,-(SP)
013124 104400 TRAP TC.ERR
8120 ;
8121 013126 TSCWRM:
8122 013126 ERROR$ WRM ; .ERROR -- WRONG MODE FOR COMMAND
013126 012746 111235 MOV #^RWRM,-(SP)
013132 104400 TRAP TC.ERR
8123 ;
8124
8125 000611 .PSECT MESSAG
8126
8127 000611 TDMSG0:
8128 000611 040 103 117 .ASCIZ % COMMANDS ARE:%
000614 115 115 101
000617 116 104 123
000622 040 101 122
000625 105 072 000
8129 013134 .PSECT
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1110 03-OCT-79 11:35 PAGE 222
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
8131 .SBTTL .SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
8132
8133 ;+
8134 ; .SSCAN -- ROUTINE TO SCAN A SYMBOL IN THE INPUT STREAM FOR A MATCH
8135 ; WITH AN ".ASCIZ" SYMBOL IN A TABLE.
8136 ;
8137 ; THIS ROUTINE WILL FIND A MATCH OR NON-MATCH ON A SYMBOL POINTED TO
8138 ; BY R5 WITH THE ".ASCIZ" SYMBOLS IN THE TABLE POINTED TO BY R0.
8139 ;
8140 ; INPUT ARGUMENTS:
8141 ;
8142 ; R0 POINTS TO AN ".ASCIZ" SYMBOL IN A TABLE DESCRIBED IN
8143 ; ".TSCAN" (Q.V.).
8144 ; R5 POINTS TO THE INPUT STREAM, OR THE OTHER SYMBOL TO BE
8145 ; MATCHED.
8146 ;
8147 ; OUTPUT ARGUMENTS:
8148 ;
8149 ; ON FAILURE, (NO MATCH):
8150 ; R5 POINTS TO THE BEGINNING OF THE SYMBOL IN THE INPUT STREAM
8151 ; R4 CONTAINS THE LAST CHARACTER PROCESSED IN THE INPUT STREAM
8152 ; CC-C IS SET.
8153 ;
8154 ; ON SUCCESS, (MATCH):
8155 ; R5 POINTS TO THE DELIMITER AFTER THE SYMBOL
8156 ; R4 CONTAINS THAT DELIMITER CHARACTER
8157 ; CC-C IS CLEAR
8158 ; IF CC-Z IS SET, THE MATCH WAS EXACT.
8159 ;
8160 ; ERROR CODES RETURNED:
8161 ;
8162 ; ILS -- ILLEGAL SEPARATOR CHARCATER.
8163 ;-
PARSE -- TOP-LEVEL COMMAND DECO MACRO M1110 03-OCT-79 11:35 PAGE 223
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
8165 013134 .SSCAN::
8166 013134 121510 CMPB (R5),(R0) ; TEST CHARACTERS FOR MATCH
8167 013136 001006 BNE 20$ ; NO MATCH -- CHECK DELIMITER
8168 013140 105720 TSTB (R0)+ ; ADVANCE THE POINTERS
8169 013142 001402 BEQ 10$ ; MATCH ON ".ASCIZ" SYMBOLS?
8170 013144 105725 TSTB (R5)+ ; NO -- ADVANCE OTHER POINTER
8171 013146 000772 BR .SSCAN ; AND TRY NEXT TWO CHARACTERS
8172 ;
8173 013150 10$:
8174 013150 105740 TSTB -(R0) ; BACK THE POINTER UP
8175 013152 000405 BR 30$ ; AND EXIT
8176 ;
8177 013154 20$:
8178 013154 111504 MOVB (R5),R4 ; GET LAST CHARACTER FROM INPUT
8179 013156 132764 000034 001360' BITB #CH.END,.CHTAB(R4)
8180 013164 001402 BEQ 40$ ; NOT LEGAL DELIMITER -- GIVE NO MATCH
8181 013166 30$:
8182 013166 105710 TSTB (R0) ; LOOK AT THE LAST CHARACTER IN OUR SYMBOL
8183 013170 000401 BR 50$ ; AND EXIT
8184 ;
8185 013172 40$:
8186 013172 000261 SEC ; SET CC-C TO SAY "NO MATCH"
8187 013174 50$:
8188 013174 RETURN ; TO CALLER
013174 000207 RTS PC
REPTC -- REPEAT COMMAND MODULE MACRO M1110 03-OCT-79 11:35 PAGE 224
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
8190 .TITLE REPTC -- REPEAT COMMAND MODULE 7703.25
8191
8192 .IDENT "005000"
8193
8194 ;
8195 ; COPYRIGHT (C) 1975, 1979 BY
8196 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
8197 ;
8198 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8199 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
8200 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
8201 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
8202 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
8203 ;
8204 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
8205 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
8206 ; CORPORATION.
8207 ;
8208 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8209 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
8210 ;
8211 ; MODULE: REPEAT COMMAND
8212 ;
8213 ; VERSION: 05-00
8214 ;
8215 ; AUTHOR: R. BELANGER
8216 ;
8217 ; DATE: 7703.25
8218 ;
8219 ; THIS MODULE CONTAINS:
8220 ;
8221 ; 1) REPEAT COMMAND CODE
REPTC -- REPEAT COMMAND MODULE MACRO M1110 03-OCT-79 11:35 PAGE 225
.REPTC -- THE "REPEAT" COMMAND 7703.25
8223 .SBTTL .REPTC -- THE "REPEAT" COMMAND 7703.25
8224
8225 ;+
8226 ; .REPTC -- THE "REPEAT" COMMAND
8227 ;
8228 ; THIS ROUTINE WILL ACCEPT AND CHECK A 36 BIT REPEAT COUNT BEFORE
8229 ; CALLING THE TOP LEVEL OF THE COMMAND PARSER.
8230 ;
8231 ; INPUT ARGUMENTS:
8232 ;
8233 ; NONE.
8234 ;
8235 ; OUTPUT ARGUMENTS:
8236 ;
8237 ; R0 POINTS TO A 36 BIT REPEAT COUNT
8238 ;
8239 ; ERROR CODES RETURNED:
8240 ;
8241 ; IRC -- ILLEGAL REPEAT COUNT
8242 ;-
8243
8244 013176 .REPTC::
8245 013176 013737 000066' 000120' MOV .IRADX,.RDXSV ; SAVE CURRENT INPUT RADIX
8246 013204 012737 000012 000066' MOV #^D10,.IRADX ; SET IT TO DECIMAL
8247 013212 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
8248 013214 005046 CLR -(SP) ; .
8249 013216 005046 CLR -(SP) ; ..
8250 013220 010600 MOV SP,R0 ; ...POINT TO IT
8251 013222 CALL .GTKLN ; ...READ THE NUMBER
013222 004737 024362' JSR PC,.GTKLN
8252 013226 013737 000120' 000066' MOV .RDXSV,.IRADX ; ...RESET INPUT RADIX
8253 013234 CALL .TPTST ; ...SEE WHAT WE GOT
013234 004737 022674' JSR PC,.TPTST
8254 013240 003410 BLE REPIRC ; ...ILLEGAL IF .LE. 0
8255 013242 CALL .CKEOC ; ...CHECK E-O-C
013242 004737 000264' JSR PC,.CKEOC
8256 013246 105725 TSTB (R5)+ ; ...GET OVER THE E-O-C CHARACTER
8257 013250 CALL .DOCMD ; ...CONTINUE PROCESSING THE LINE
013250 004737 012266' JSR PC,.DOCMD
8258 013254 062706 000006 ADD #^D6,SP ; ...FLUSH THE STACK
8259 013260 RETURN ; TO CALLER
013260 000207 RTS PC
8260 013262 REPIRC:
8261 013262 ERROR$ IRC ; ERROR -- ILLEGAL REPEAT COUNT
013262 012746 035423 MOV #^RIRC,-(SP)
013266 104400 TRAP TC.ERR
8262 ;
RESTC -- RESET COMMAND DISPATCH MACRO M1110 03-OCT-79 11:35 PAGE 226
.REPTC -- THE "REPEAT" COMMAND 7703.25
8264 .TITLE RESTC -- RESET COMMAND DISPATCH 7707.12
8265
8266 .IDENT "005000"
8267 ;
8268 ; COPYRIGHT (C) 1975, 1979 BY
8269 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
8270 ;
8271 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8272 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
8273 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
8274 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
8275 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
8276 ;
8277 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
8278 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
8279 ; CORPORATION.
8280 ;
8281 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8282 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
8283 ;
8284 ; MODULE: RESET COMMAND DISPATCH
8285 ;
8286 ; VERSION: 05-00
8287 ;
8288 ; AUTHOR: R. BELANGER
8289 ;
8290 ; DATE: 7707.12
8291 ;
8292 ; THIS MODULE CONTAINS:
8293 ;
8294 ; 1) RESET COMMAND DISPATCH
RESTC -- RESET COMMAND DISPATCH MACRO M1110 03-OCT-79 11:35 PAGE 227
.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
8296 .SBTTL .RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
8297
8298 ;+
8299 ; .RESTC -- THE "RESET" COMMAND DISPATCH
8300 ;
8301 ; THIS ROUTINE IS THE TOP LEVEL OF THE RESET COMMAND. ".RESTC" CHECKS
8302 ; ARGUMENTS FOR RESET AND DISPATCHES TO THE PROPER ROUTINE
8303 ;
8304 ; INPUT ARGUMENTS:
8305 ;
8306 ; NONE.
8307 ;
8308 ; OUTPUT ARGUMENTS:
8309 ;
8310 ; R0 POINTS TO THE LEGAL BITS FOR THE RESET OBJECT.
8311 ;
8312 ; ERROR CODES RETURNED:
8313 ;
8314 ; KLR -- ILLEGAL WHILE KL IS RUNNING.
8315 ;-
8316
8317 013270 .RESTC::
8318 013270 111504 MOVB (R5),R4 ; LOOK AT THIS CHARACTER
8319 013272 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
8320 013300 001015 BNE 10$ ; DEFAULT RESET ON E-O-C
8321 013302 CALL .CKARG ; GET OVER LEADING BLANKS
013302 004737 000140' JSR PC,.CKARG
8322 013306 012700 004136' MOV #.RESTB,R0 ; TABLE POINTER TO R0
8323 013312 CALL .TSCAN ; SCAN THE TABLE
013312 004737 012672' JSR PC,.TSCAN
8324 013316 012001 MOV (R0)+,R1 ; LEGAL BITS TO R1
8325 013320 005101 COM R1 ; INVERT THEM
8326 013322 040137 000076' BIC R1,.LGLWD ; SET UP NEW LEGAL WORD
8327 013326 CALL .CKEOC ; CHECK FOR E-O-C
013326 004737 000264' JSR PC,.CKEOC
8328 013332 CALLR @(R0)+ ; DO THE RESET
013332 000130 JMP @(R0)+
8329 ;
8330 013334 10$:
8331 013334 CALL .CKRNP ; SEE IF THE KL IS RUNNING
013334 004737 000366' JSR PC,.CKRNP
8332 013340 CALL .STPKL ; STOP THE KL
013340 004737 012012' JSR PC,.STPKL
8333 013344 CALLR .RESTP ; RESET THE KL AND EXIT
013344 000137 011662' JMP .RESTP
8334 ;
RESTC -- RESET COMMAND DISPATCH MACRO M1110 03-OCT-79 11:35 PAGE 228
.RSALL -- THE "RESET ALL" COMMAND 7602.18
8336 .SBTTL .RSALL -- THE "RESET ALL" COMMAND 7602.18
8337
8338 013350 .RSALL::
8339 013350 PUSH .KLFLG ; SAVE ".KLFLG"
013350 013746 000000G MOV .KLFLG,-(SP)
8340 013354 032716 100000 BIT #KF.CLK,(SP) ; .IS THE CLOCK ON?
8341 013360 001426 BEQ RSAKCN ; .NO -- GIVE "KCN" ERROR
8342 013362 CALL .STPKL ; .STOP THE KL
013362 004737 012012' JSR PC,.STPKL
8343 013366 CALL .RESTD ; .RESET THE DTE-20
013366 004737 011616' JSR PC,.RESTD
8344 013372 CALL .RSAPR ; .RESET APR
013372 004737 013444' JSR PC,.RSAPR
8345 013376 CALL .RSPAG ; .RESET PAG
013376 004737 013476' JSR PC,.RSPAG
8346 013402 CALL .RSTPI ; .RESET PI
013402 004737 013466' JSR PC,.RSTPI
8347 013406 POP .SVKLF ; .SET UP ".SVKLF"
013406 012637 000140' MOV (SP)+,.SVKLF
8348 013412 CALLR .RSTKL ; RESTART THE KL
013412 000137 011734' JMP .RSTKL
8349 ;
8350 013416 .RSDTE::
8351 013416 CALLR .RESTD ; RESET THE DTE-20
013416 000137 011616' JMP .RESTD
8352 ;
8353 013422 .RSTIN::
8354 013422 CALL .CKRUN ; SEE IF THE KL IS RUNNING
013422 004737 000376' JSR PC,.CKRUN
8355 013426 CALL .STPKL ; STOP THE KL
013426 004737 012012' JSR PC,.STPKL
8356 013432 CALLR .RESTI ; RESET TO DEFAULTS AND EXIT
013432 000137 011636' JMP .RESTI
8357 ;
8358 013436 RSAKCN:
8359 013436 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
013436 012746 042506 MOV #^RKCN,-(SP)
013442 104400 TRAP TC.ERR
8360 ;
RESTC -- RESET COMMAND DISPATCH MACRO M1110 03-OCT-79 11:35 PAGE 229
.RSTPI -- THE "RESET PI" COMMAND 7607.21
8362 .SBTTL .RSTPI -- THE "RESET PI" COMMAND 7607.21
8363
8364 .ENABL LSB
8365
8366 013444 .RSAPR:: ; RESET APR
8367 013444 012700 002150' MOV #RSAPRI,R0 ; INSTRUCTION POINTER TO R0
8368 013450 000410 BR 10$ ; DO COMMON CODE
8369 ;
8370 013452 .RSERR:: ; RESET ERROR
8371 013452 012700 002156' MOV #RSERRI,R0 ; INSTRUCTION POINTER TO R0
8372 013456 000405 BR 10$ ; DO COMMON CODE
8373 ;
8374 013460 .RSTIO:: ; RESET IO
8375 013460 012700 002164' MOV #RSTIOI,R0 ; INSTRUCTION POINTER TO R0
8376 013464 000402 BR 10$ ; DO COMMON CODE
8377 ;
8378 013466 .RSTPI:: ; RESET PI
8379 013466 012700 002172' MOV #RSTPII,R0 ; INSTRUCTION POINTER TO R0
8380 013472 10$:
8381 013472 CALLR .EXCTF ; EXECUTE IT
013472 000137 007300' JMP .EXCTF
8382 ;
8383
8384 .DSABL LSB
8385
8386 002150 .PSECT DATA
8387
8388 002150 RSAPRI:
8389 002150 IOKL$ CONO APR,,267760
002150 360 157 .BYTE $$A,$$B
002152 001 002 .BYTE $$C,$$D
002154 016 000 .BYTE $$E,$$F
8390 002156 RSERRI:
8391 002156 IOKL$ CONO APR,,27760
002156 360 057 .BYTE $$A,$$B
002160 000 002 .BYTE $$C,$$D
002162 016 000 .BYTE $$E,$$F
8392 002164 RSTIOI:
8393 002164 IOKL$ CONO APR,,200000
002164 000 000 .BYTE $$A,$$B
002166 001 002 .BYTE $$C,$$D
002170 016 000 .BYTE $$E,$$F
8394 002172 RSTPII:
8395 002172 IOKL$ CONO PI,,10000
002172 000 020 .BYTE $$A,$$B
002174 000 006 .BYTE $$C,$$D
002176 016 000 .BYTE $$E,$$F
8396
8397 013476 .PSECT
RESTC -- RESET COMMAND DISPATCH MACRO M1110 03-OCT-79 11:35 PAGE 230
.RSPAG -- THE "RESET PAG" COMMAND 7607.21
8399 .SBTTL .RSPAG -- THE "RESET PAG" COMMAND 7607.21
8400
8401 013476 .RSPAG::
8402 013476 PUSH .KLFLG ; SAVE ".KLFLG"
013476 013746 000000G MOV .KLFLG,-(SP)
8403 013502 032716 100000 BIT #KF.CLK,(SP) ; .IS THE CLOCK ON?
8404 013506 001442 BEQ RSPKCN ; .NO -- GIVE "KCN" ERROR
8405 013510 CALL .STPKL ; .STOP THE KL
013510 004737 012012' JSR PC,.STPKL
8406 013514 PUSH R1 ; .SAVE R1
013514 010146 MOV R1,-(SP)
8407 013516 PUSH #16 ; ..BUILD A CLEAR WORD ON THE STACK
013516 012746 000016 MOV #16,-(SP)
8408 013522 005046 CLR -(SP) ; ...
8409 013524 005046 CLR -(SP) ; ....
8410 013526 010601 MOV SP,R1 ; .....GET THE POINTER
8411 013530 005046 CLR -(SP) ; .....NOW SET UP
8412 013532 PUSH #100 ; ......SCRATCH ADDRESS
013532 012746 000100 MOV #100,-(SP)
8413 013536 010600 MOV SP,R0 ; .......GET THE POINTER
8414 013540 PUSH R1 ; .......DATA POINTER TO STACK
013540 010146 MOV R1,-(SP)
8415 013542 PUSH R0 ; ........ADDRESS POINTER TO STACK
013542 010046 MOV R0,-(SP)
8416 013544 010601 MOV SP,R1 ; .........BLOCK POINTER TO R1
8417 013546 012700 000040 MOV #ED.EXV,R0 ; .........EXEC VIRTUAL SPACE
8418 013552 CALL .DPKLM ; .........DO THE DEPOSIT
013552 004737 007116' JSR PC,.DPKLM
8419 013556 062706 000016 ADD #^D14,SP ; .........RESET THE STACK
8420 013562 012700 002200' MOV #RSPGI0,R0 ; ..INSTRUCTION POINTER TO R0
8421 013566 CALL .EXCTF ; ..EXECUTE IT
013566 004737 007300' JSR PC,.EXCTF
8422 013572 012700 002206' MOV #RSPGI1,R0 ; ..NEXT INSTRUCTION
8423 013576 CALL .EXCTF ; ..EXECUTE IT
013576 004737 007300' JSR PC,.EXCTF
8424 013602 POP R1 ; ..RESTORE R1
013602 012601 MOV (SP)+,R1
8425 013604 POP .SVKLF ; .SET UP ".SVKLF"
013604 012637 000140' MOV (SP)+,.SVKLF
8426 013610 CALLR .RSTKL ; RESART THE KL AND EXIT
013610 000137 011734' JMP .RSTKL
8427 ;
RESTC -- RESET COMMAND DISPATCH MACRO M1110 03-OCT-79 11:35 PAGE 231
.RSPAG -- THE "RESET PAG" COMMAND 7607.21
8429 013614 RSPKCN:
8430 013614 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
013614 012746 042506 MOV #^RKCN,-(SP)
013620 104400 TRAP TC.ERR
8431 ;
8432
8433 002200 .PSECT DATA
8434
8435 002200 RSPGI0:
8436 002200 IOKL$ CONO PAG,,0
002200 000 000 .BYTE $$A,$$B
002202 000 012 .BYTE $$C,$$D
002204 016 000 .BYTE $$E,$$F
8437 002206 RSPGI1:
8438 002206 IOKL$ DATAO PAG,,100
002206 100 000 .BYTE $$A,$$B
002210 200 011 .BYTE $$C,$$D
002212 016 000 .BYTE $$E,$$F
8439
8440 013622 .PSECT
RUNCM -- RUN COMMAND MODULE 760 MACRO M1110 03-OCT-79 11:35 PAGE 232
.RSPAG -- THE "RESET PAG" COMMAND 7607.21
8442 .TITLE RUNCM -- RUN COMMAND MODULE 7607.14
8443
8444 .IDENT "005000"
8445
8446 ;
8447 ; COPYRIGHT (C) 1975, 1979 BY
8448 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
8449 ;
8450 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8451 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
8452 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
8453 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
8454 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
8455 ;
8456 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
8457 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
8458 ; CORPORATION.
8459 ;
8460 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8461 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
8462 ;
8463 ; MODULE: RUN COMMAND
8464 ;
8465 ; VERSION: 05-00
8466 ;
8467 ; AUTHOR: R. BELANGER
8468 ;
8469 ; DATE: 7607.14
8470 ;
8471 ; THIS MODULE CONTAINS:
8472 ;
8473 ; 1) RUN COMMAND CODE
8474 ; 2) REQUEST DIRECTIVE PARAMETER BLOCK
8475
8476 .MCALL DIR$, RQST$
RUNCM -- RUN COMMAND MODULE 760 MACRO M1110 03-OCT-79 11:35 PAGE 233
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
8478 .SBTTL .RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
8479
8480 ;+
8481 ; .RUNCM -- THE "RUN" AND "MCR" COMMANDS
8482 ;
8483 ; THIS ROUTINE REQUESTS THE TASK SPECIFIED IN THE COMMAND TO BE RUN
8484 ; AND EXITS THE COMMAND PARSER
8485 ;
8486 ; INPUT ARGUMENTS:
8487 ;
8488 ; NONE.
8489 ;
8490 ; OUTPUT ARGUMENTS:
8491 ;
8492 ; NONE.
8493 ;
8494 ; ERROR CODES RETURNED:
8495 ;
8496 ; ITN -- ILLEGAL TASK NAME
8497 ; NST -- NO SUCH TASK
8498 ; TAA -- TASK IS ALREADY ACTIVE
8499 ;-
8500
8501 013622 .RUNCM::
8502 013622 CALL .CKSYM ; GET OVER LEADING BLANKS
013622 004737 000446' JSR PC,.CKSYM
8503 013626 CALL .GTR50 ; GET THE .RAD50 TASK NAME
013626 004737 013730' JSR PC,.GTR50
8504 013632 001425 BEQ RUNITN ; BAD NEWS IF NONE THERE
8505 013634 PUSH R0 ; SAVE THE TASK NAME
013634 010046 MOV R0,-(SP)
8506 013636 CALL .GTR50 ; .READ THE SECOND HALF
013636 004737 013730' JSR PC,.GTR50
8507 013642 CALL .CKEOC ; .MUST HAVE E-O-C
013642 004737 000264' JSR PC,.CKEOC
8508 013646 POP .RNDPB+4 ; .SET THE TASK NAME IN THE DPB
013646 012637 000150' MOV (SP)+,.RNDPB+4
8509 013652 DIR$ #.RNDPB ; REQUEST THE TASK
013652 012746 000144' MOV #.RNDPB,-(SP)
013656 104375 EMT 375
8510 013660 103402 BCS 10$ ; ERROR IF CC-C IS SET
8511 013662 CALLR .EXITP ; EXIT
013662 000137 012436' JMP .EXITP
8512 ;
8513
8514 ; [CONTINUED ON THE FOLLOWING PAGE]
RUNCM -- RUN COMMAND MODULE 760 MACRO M1110 03-OCT-79 11:35 PAGE 234
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
8516 ; [CONTINUED FROM THE PREVIOUS PAGE]
8517
8518 013666 10$:
8519 013666 013700 000000G MOV $DSW,R0 ; LOOK AT THE DIRECTIVE STATUS
8520 013672 022700 000000G CMP #IE.INS,R0 ; IS THERE SUCH A TASK?
8521 013676 001406 BEQ RUNNST ; NO -- GIVE "NST" ERROR
8522 013700 022700 000000G CMP #IE.ACT,R0 ; YES -- IS IT ALREADY ACTIVE?
8523 013704 001406 BEQ RUNTAA ; YES -- GIVE "TAA" ERROR
8524 013706 RUNITN:
8525 013706 ERROR$ ITN ; ERROR -- ILLEGAL TASK NAME
013706 012746 035556 MOV #^RITN,-(SP)
013712 104400 TRAP TC.ERR
8526 ;
8527 013714 RUNNST:
8528 013714 ERROR$ NST ; ERROR -- NO SUCH TASK
013714 012746 055214 MOV #^RNST,-(SP)
013720 104400 TRAP TC.ERR
8529 ;
8530 013722 RUNTAA:
8531 013722 ERROR$ TAA ; ERROR -- TASK ALREADY ACTIVE
013722 012746 076451 MOV #^RTAA,-(SP)
013726 104400 TRAP TC.ERR
8532 ;
RUNCM -- RUN COMMAND MODULE 760 MACRO M1110 03-OCT-79 11:35 PAGE 235
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
8534 ; DPB FOR REQUEST DIRECTIVE
8535
8536 ; !===============================================!
8537 ; 00 ! DPB SIZE ! DIC !
8538 ; !-----------------------------------------------!
8539 ; 02 ! TASK NAME IN .RAD50 (HIGH) !
8540 ; !-----------------------------------------------!
8541 ; 04 ! TASK NAME IN .RAD50 (LOW) !
8542 ; !-----------------------------------------------!
8543 ; 06 ! PARTITION NAME (IGNORED) !
8544 ; !-----------------------------------------------!
8545 ; 10 ! PARTITION NAME (IGNORED) !
8546 ; !-----------------------------------------------!
8547 ; 12 ! TASK PRIORITY !
8548 ; !-----------------------------------------------!
8549 ; 14 ! UIC (IGNORED) !
8550 ; !===============================================!
8551
8552 000144 .PSECT DPBS
8553
8554 000144 .RNDPB::
8555 000144 RQST$ ...TSK,,,,
000144 013 007 .BYTE 11.,7
000146 131574 100003 .RAD50 /...TSK/
000152 000000 000000 .WORD 0,0
000156 000000 .WORD
000160 000 000 .BYTE ,
8556
8557 013730 .PSECT
RUNCM -- RUN COMMAND MODULE 760 MACRO M1110 03-OCT-79 11:35 PAGE 236
.GTR50 -- GET A .RAD50 WORD 7602.18
8559 .SBTTL .GTR50 -- GET A .RAD50 WORD 7602.18
8560
8561 ;+
8562 ; .GTR50 -- GET A .RAD50 WORD
8563 ;
8564 ; THIS ROUTINE WILL CONVERT THE NEXT THREE ASCII CHARACTERS IN THE
8565 ; INPUT STREAM TO .RAD50 FORMAT.
8566 ;
8567 ; INPUT ARGUMENTS:
8568 ;
8569 ; R5 POINTS TO THE INPUT STREAM.
8570 ;
8571 ; OUTPUT ARGUMENTS:
8572 ;
8573 ; R0 HOLDS THE .RAD50 SYMBOL.
8574 ;
8575 ; ERROR CODES RETURNED:
8576 ;
8577 ; NONE.
8578 ; IF THE ROUTINE CANNOT CONVERT THE FIRST CHARACTER, CC-Z IS SET.
8579 ;-
RUNCM -- RUN COMMAND MODULE 760 MACRO M1110 03-OCT-79 11:35 PAGE 237
.GTR50 -- GET A .RAD50 WORD 7602.18
8581 013730 .GTR50::
8582 013730 PUSH <R1,R2> ; SAVE REGISTERS
013730 010146 MOV R1,-(SP)
013732 010246 MOV R2,-(SP)
8583 013734 005046 CLR -(SP) ; ..SAVE A BUFFER
8584 013736 012702 001350' MOV #.T50TB,R2 ; ...FACTOR TABLE POINTER TO R2
8585 013742 10$:
8586 013742 012201 MOV (R2)+,R1 ; ...GET CURRENT MULTIPLIER
8587 013744 001427 BEQ 50$ ; ...DONE IF .EQ. 0
8588 013746 112500 MOVB (R5)+,R0 ; ...GET THE CHARACTER INTO R0
8589 013750 120027 000101 CMPB R0,#'A ; ...IS IT ALPHABETIC?
8590 013754 103403 BLO 20$ ; ...NO -- TRY NUMERIC
8591 013756 120027 000132 CMPB R0,#'Z ; ...IS IT REALLY ALPHABETIC?
8592 013762 101410 BLOS 30$ ; ...YES -- ADD IT TO RESULT
8593 013764 20$:
8594 013764 120027 000060 CMPB R0,#'0 ; ...NO -- IS IT NUMERIC?
8595 013770 103413 BLO 40$ ; ...NO -- EXIT
8596 013772 120027 000071 CMPB R0,#'9 ; ...YES -- IS IT REALLY NUMERIC?
8597 013776 101010 BHI 40$ ; ...NO -- EXIT
8598 014000 162700 177722 SUB #<<'0-36>-<'A-1>>,R0
8599 014004 30$:
8600 014004 162700 000100 SUB #<'A-1>,R0 ; ...CONVERT ALPHABETIC
8601 014010 CALL $MUL ; ...COMPUTE CHARACTER VALUE
014010 004737 000000G JSR PC,$MUL
8602 014014 060116 ADD R1,(SP) ; ...ACCUMULATE RESULT
8603 014016 000751 BR 10$ ; ...AND GET NEXT CHARACTER
8604 ;
8605 014020 40$:
8606 014020 105745 TSTB -(R5) ; ...BACK UP THE BYTE POINTER
8607 014022 010004 MOV R0,R4 ; ...PUT THE CHARACTER IN R4
8608 014024 50$:
8609 014024 POP R0 ; ...RETURN THE RESULT
014024 012600 MOV (SP)+,R0
8610 014026 POP <R2,R1> ; ..RESTORE REGISTERS
014026 012602 MOV (SP)+,R2
014030 012601 MOV (SP)+,R1
8611 014032 005700 TST R0 ; LOOK AT R0
8612 014034 RETURN ; TO CALLER
014034 000207 RTS PC
RUNCM -- RUN COMMAND MODULE 760 MACRO M1110 03-OCT-79 11:35 PAGE 238
.QUITC -- THE "QUIT" COMMAND 7602.16
8614 .SBTTL .QUITC -- THE "QUIT" COMMAND 7602.16
8615
8616 ;+
8617 ; .QUITC -- THE "QUIT" COMMAND.
8618 ;
8619 ; THIS ROUTINE EXECUTES THE "QUIT" (EXIT) FUNCTION.
8620 ;
8621 ; INPUT ARGUMENTS:
8622 ;
8623 ; NONE.
8624 ;
8625 ; OUTPUT ARGUMENTS:
8626 ;
8627 ; NONE.
8628 ;
8629 ; ERROR CODES RETURNED:
8630 ;
8631 ; NONE.
8632 ;-
8633
8634 014036 .QUITC::
8635 014036 CALL .CKEOC ; MUST HAVE E-O-C
014036 004737 000264' JSR PC,.CKEOC
8636 014042 CALLR .EXITP ; EXIT THE PARSER
014042 000137 012436' JMP .EXITP
8637 ;
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 239
.QUITC -- THE "QUIT" COMMAND 7602.16
8639 .TITLE SCDAT -- SET/CLEAR/WHAT "DATE" AND "KLINIK" MODULE 7703.04
8640
8641 .IDENT "005000"
8642
8643 ;
8644 ; COPYRIGHT (C) 1975, 1979 BY
8645 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
8646 ;
8647 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
8648 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
8649 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
8650 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
8651 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
8652 ;
8653 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
8654 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
8655 ; CORPORATION.
8656 ;
8657 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8658 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
8659 ;
8660 ; MODULE: "DATE" AND "KLINIK" SUPPORT
8661 ;
8662 ; VERSION: 05-00
8663 ;
8664 ; AUTHOR: R. BELANGER
8665 ;
8666 ; DATE: 7703.04
8667 ;
8668 ; THIS MODULE CONTAINS:
8669 ;
8670 ; 1) SET CLEAR DATE CODE
8671 ; 1) SET CLEAR KLINIK CODE
8672 ; 1) WHAT DATE CODE
8673 ; 1) WHAT KLINIK CODE
8674
8675 .MCALL .ENB6,.INH6,GTIM$S
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 240
.SCDAT -- "SET DATE" COMMAND 7703.04
8677 .SBTTL .SCDAT -- "SET DATE" COMMAND 7703.04
8678
8679 ;+
8680 ; .SCDAT -- THE "SET DATE" COMMAND
8681 ;
8682 ; THIS SUBROUTINE WILL ACCEPT A DATE AND TIME AS THE SYSTEM DATE AND TIME
8683 ; IF AND ONLY IF THE SYSTEM DATE VALID FLAG IS OFF.
8684 ;
8685 ; INPUT ARGUMENTS:
8686 ;
8687 ; NONE.
8688 ;
8689 ; OUTPUT ARGUMENTS:
8690 ;
8691 ; THE SYSTEM DATE IS SET AS SPECIFIED
8692 ;
8693 ; ERROR CODES RETURNED:
8694 ;
8695 ; CDI -- CLEAR DATE ILLEGAL
8696 ; DAV -- DATE ALREADY VALID
8697 ; NDI -- NULL DATE ILLEGAL
8698 ; NTI -- NULL TIME ILLEGAL
8699 ;-
8700
8701 014046 .SCDAT::
8702 014046 032737 000000G 000002G BIT #EF.PR1,.COMEF+2 ; IS PRIMARY PROTOCOL RUNNING??
8703 014054 001134 BNE SCDCDI ; YES -- GIVE "CDI" ERROR
8704 014056 005737 000104' TST .NOTSW ; NO -- IS THIS A "CLEAR"??
8705 014062 001404 BEQ 10$ ; NO -- GO ON
8706 014064 005037 000000G CLR .DATE3 ; YES -- SET DATE INVALID
8707 014070 005037 000000G CLR .YEAR ; AND ALLOW "FUNNY" DATES
8708 014074 10$:
8709 014074 005737 000000G TST .DATE3 ; IS TIME ALREADY VALID?
8710 014100 001125 BNE SCDDAV ; YES -- GIVE "DAV" ERROR
8711 014102 CALL .CKEOC ; NO -- MUST HAVE E-O-C
014102 004737 000264' JSR PC,.CKEOC
8712 014106 005046 CLR -(SP) ; CLEAR BUFFER ON STACK
8713 014110 005046 CLR -(SP) ; .SO
8714 014112 010600 MOV SP,R0 ; ..POINT TO IT
8715 014114 CALL .GTDAT ; ..READ THE DATE
014114 004737 016216' JSR PC,.GTDAT
8716 014120 001520 BEQ SCDNDI ; ..ERROR IF NULL
8717 014122 005046 CLR -(SP) ; ..SPACE FOR TIME
8718 014124 010600 MOV SP,R0 ; ...POINT TO IT
8719 014126 CALL .GTTIM ; ...READ THE TIME
014126 004737 016662' JSR PC,.GTTIM
8720 014132 001516 BEQ SCDNTI ; ...ERROR IF NULL
8721 014134 116600 000002 MOVB 2(SP),R0 ; ...YEAR TO R0
8722 014140 162700 000114 SUB #^D76,R0 ; ...MINUS 1976
8723 014144 010002 MOV R0,R2 ; ...SAVE RESULT IN R2
8724 014146 001406 BEQ 20$ ; ...GO ON IF .EQ. 0
8725 014150 012701 000555 MOV #^D365,R1 ; ...CONVERT TO DAYS
8726 014154 CALL $MUL ; ...SO
014154 004737 000000G JSR PC,$MUL
8727 014160 010100 MOV R1,R0 ; ...RESULT TO R0
8728 014162 005200 INC R0 ; ...PLUS 1 FOR 1976
8729
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 240-1
.SCDAT -- "SET DATE" COMMAND 7703.04
8730 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 241
.SCDAT -- "SET DATE" COMMAND 7703.04
8732 ; [CONTINUED FROM THE PREVIOUS PAGE]
8733
8734 014164 20$:
8735 014164 116601 000003 MOVB 3(SP),R1 ; ...MONTH TO R1
8736 014170 006301 ASL R1 ; ...MAKE A WORD INDEX
8737 014172 066100 002222' ADD CDMTB-2(R1),R0 ; ...ADD DAYS TO THIS MONTH
8738 014176 005702 TST R2 ; ...IS THIS 1976?
8739 014200 001412 BEQ 40$ ; ...YES -- GO ON
8740 014202 132702 000003 BITB #3,R2 ; ...NO -- IS THIS A LEAP YEAR?
8741 014206 001004 BNE 30$ ; ...NO -- GO ON
8742 014210 022701 000002 CMP #2,R1 ; ...YES -- BEYOND FEBRUARY?
8743 014214 002401 BLT 30$ ; ...YES -- GO ON
8744 014216 005302 DEC R2 ; ...NO -- SUBTRACT ONE FOR THIS YEAR
8745 014220 30$:
8746 014220 006202 ASR R2 ; ...DIVIDE DIFFERENCE BY 4
8747 014222 006202 ASR R2 ; ...SO
8748 014224 060200 ADD R2,R0 ; ...ADD OFFSET FOR LEAP YEARS
8749 014226 40$:
8750 014226 116601 000004 MOVB 4(SP),R1 ; ...DATE TO R1
8751 014232 005301 DEC R1 ; ...MINUS 1
8752 014234 060100 ADD R1,R0 ; ...ADD IT IN
8753 014236 012701 000007 MOV #^D7,R1 ; ...DIVIDE BY DAYS PER WEEK
8754 014242 CALL $DIV ; ...SO
014242 004737 000000G JSR PC,$DIV
8755 014246 010100 MOV R1,R0 ; ...DAY OF WEEK OFFSET TO R0
8756 014250 010601 MOV SP,R1 ; ...STACK POINTER TO R1
8757 014252 .INH6 ; ...DISALLOW INTERRUPTS
014252 013746 177776 MOV @#PS,-(SP)
014256 112737 000300 177776 MOVB #300,@#PS
8758 014264 116037 002214' 000000G MOVB DOWTAB(R0),.DOW ;;; ...SET DAY OF WEEK FROM TABLE
8759 014272 012137 000000G MOV (R1)+,.SSM ;;; ...SET THE TIME
8760 014276 112100 MOVB (R1)+,R0 ;;; ...GET THE YEAR
8761 014300 062700 003554 ADD #^D1900,R0 ;;; ...PLUS 1900
8762 014304 010037 000000G MOV R0,.YEAR ;;; ...SET IT
8763 014310 105311 DECB (R1) ;;; ...COMPUTE TRUE MONTH
8764 014312 112137 000000G MOVB (R1)+,.MON ;;; ...SET IT
8765 014316 105311 DECB (R1) ;;; ...COMPUTE TRUE DAY
8766 014320 111137 000000G MOVB (R1),.DAY ;;; ...SET IT
8767 014324 012737 000001 000000G MOV #1,.DATE3 ;;; ...SET THE VALID FLAG
8768 014332 .ENB6 ;;; ...ALLOW INTERRUPTS
014332 012637 177776 MOV (SP)+,@#PS
8769 014336 062706 000006 ADD #^D6,SP ; ...RESET STACK
8770 014342 50$:
8771 014342 CALLR .WHDAT ; DISPLAY TIME AND EXIT
014342 000137 015534' JMP .WHDAT
8772 ;
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 242
.SCDAT -- "SET DATE" COMMAND 7703.04
8774 014346 SCDCDI:
8775 014346 ERROR$ CDI ; ERROR -- CLEAR DATE ILLEGAL
014346 012746 011551 MOV #^RCDI,-(SP)
014352 104400 TRAP TC.ERR
8776 ;
8777 014354 SCDDAV:
8778 014354 ERROR$ DAV ; ERROR -- DATE ALREADY VALID
014354 012746 014476 MOV #^RDAV,-(SP)
014360 104400 TRAP TC.ERR
8779 ;
8780 014362 SCDNDI:
8781 014362 ERROR$ NDI ; ERROR -- NULL DATE ILLEGAL
014362 012746 054051 MOV #^RNDI,-(SP)
014366 104400 TRAP TC.ERR
8782 ;
8783 014370 SCDNTI:
8784 014370 ERROR$ NTI ; ERROR -- NULL TIME ILLEGAL
014370 012746 055251 MOV #^RNTI,-(SP)
014374 104400 TRAP TC.ERR
8785 ;
8786
8787 002214 .PSECT DATA
8788
8789 002214 DOWTAB:
8790 002214 003 004 .BYTE 3,4
8791 002216 005 006 .BYTE 5,6
8792 002220 000 001 .BYTE 0,1
8793 002222 002 .BYTE 2
8794 .EVEN
8795
8796 002224 CDMTB:
8797 002224 000000 .WORD 0
8798 002226 000037 .WORD ^D31
8799 002230 000073 .WORD ^D59
8800 002232 000132 .WORD ^D90
8801 002234 000170 .WORD ^D120
8802 002236 000227 .WORD ^D151
8803 002240 000265 .WORD ^D181
8804 002242 000324 .WORD ^D212
8805 002244 000363 .WORD ^D243
8806 002246 000421 .WORD ^D273
8807 002250 000460 .WORD ^D304
8808 002252 000516 .WORD ^D334
8809
8810 014376 .PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 243
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
8812 .SBTTL .SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
8813
8814 ;+
8815 ; .SCKLN -- THE SET / CLEAR KLINIK COMMAND
8816 ;
8817 ; THIS SUBROUTINE WILL SET OR CLEAR THE KLINIK PARAMETERS FOR THE
8818 ; RSX20F FRONT END. THE CLEAR COMMAND SIMPLY CLEARS THE KLINIK
8819 ; THE KLINIK ENABLE FLAG AND REQUESTS THE KLINIK TERMINATION TASK
8820 ; "KLD" IN ORDER THAT THE OPERATOR BE NOTIFIED.
8821 ;
8822 ; THE "SET KLINIK" COMMAND WILL PROMPT THE OPERATOR FOR THE REQUIRED
8823 ; KLINIK PARAMETERS, VALIDATE THEM AND PASS THEM TO THE RSX20F EXECUTIVE.
8824 ;
8825 ; INPUT ARGUMENTS:
8826 ;
8827 ; NONE.
8828 ;
8829 ; OUTPUT ARGUMENTS:
8830 ;
8831 ; NONE.
8832 ;
8833 ; ERROR CODES RETURNED:
8834 ;
8835 ; IPC -- ILLEGAL PASSWORD CHARACTER.
8836 ; KWE -- KLINIK WINDOW ERROR.
8837 ; NPI -- NULL PASSWORD ILLEGAL.
8838 ; PTL -- PASSWORD TOO LONG.
8839 ; SKI -- SET KLINIK ILLEGAL WHILE ACTIVE.
8840 ;-
8841
8842 .MCALL .ENB6,.INH6,WTSE$S,CLEF$S
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 244
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
8844 .ENABL LSB
8845
8846 014376 .SCKLN::
8847 014376 CALL .CKEOC ; MUST HAVE E-O-C
014376 004737 000264' JSR PC,.CKEOC
8848 014402 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
8849 014406 001402 BEQ 10$ ; NO -- GO ON
8850 014410 000137 015320' JMP 80$ ; YES -- DO IT
8851 ;
8852 014414 10$:
8853 014414 105737 000000G TSTB .KLNSW+0 ; +++002 IS KLINIK ALREADY ACTIVE??
8854 014420 001055 BNE SCKSKI ; +++002 YES -- COMPLAIN
8855 014422 PUSH R5 ; SET UP TO GET KLINIK PARAMETERS
014422 010546 MOV R5,-(SP)
8856 014424 012700 000743' MOV #SCKMS4,R0 ; .+++002 MESSAGE POINTER TO R0
8857 014430 CALL .TYMSF ; .+++002 FORCE IT OUT
014430 004737 026174' JSR PC,.TYMSF
8858 014434 012701 000240' MOV #.CIBFR,R1 ; .+++002 BUFFER POINTER TO R1
8859 014440 010105 MOV R1,R5 ; .+++002 AND R5
8860 014442 CALL .GTLIN ; .+++002 READ KLINIK MODE
014442 004737 024044' JSR PC,.GTLIN
8861 014446 012700 003444' MOV #.KLMT1,R0 ; .+++002 KLINIK MODE TABLE POINTER TO R0
8862 014452 CALL .TSCAN ; .+++002 SCAN THE TABLE
014452 004737 012672' JSR PC,.TSCAN
8863 014456 116046 000002 MOVB 2(R0),-(SP) ; .+++002 KLINIK MODE FLAG TO STACK
8864 014462 100462 BMI 25$ ; +++002 READ WINDOW DATA IF USER
8865 014464 012700 000630' MOV #SCKMS0,R0 ; ..MESSAGE POINTER TO R0
8866 014470 CALL .TYMSF ; ..FORCE THE MESSAGE
014470 004737 026174' JSR PC,.TYMSF
8867 014474 012701 000240' MOV #.CIBFR,R1 ; ..USE THE INPUT DEVICE BUFFER
8868 014500 CALL .GTLIN ; ..READ THE LINE
014500 004737 024044' JSR PC,.GTLIN
8869 014504 001415 BEQ SCKNPI ; ..GIVE "NPI" ERROR IF NULL PASSWORD
8870 014506 013700 000064' MOV .INCHC,R0 ; ..CHARACTER COUNT TO R0
8871 014512 022700 000006 CMP #^D6,R0 ; ..IS THE PASSWORD TOO LONG?
8872 014516 002413 BLT SCKPTL ; ..YES -- GIVE "PTL" ERROR
8873 014520 160001 SUB R0,R1 ; ..NO -- ADJUST THE STRING POINTER
8874 014522 012702 002300' MOV #KLNPWD,R2 ; ..POINT TO THE PASSWORD
8875 014526 005022 CLR (R2)+ ; ..CLEAR IT
8876 014530 005022 CLR (R2)+ ; ..
8877 014532 005012 CLR (R2) ; ..SO
8878 014534 024242 CMP -(R2),-(R2) ; ..RESET THE POINTER
8879 014536 000415 BR 15$ ; ..AND GO ON
8880 ;
8881
8882 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 245
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
8884 ; [CONTINUED FROM THE PREVIOUS PAGE]
8885
8886 014540 SCKNPI:
8887 014540 ERROR$ NPI ; ERROR -- NULL PASSWORD ILLEGAL
014540 012746 055011 MOV #^RNPI,-(SP)
014544 104400 TRAP TC.ERR
8888 ;
8889 014546 SCKPTL:
8890 014546 ERROR$ PTL ; ERROR -- PASSWORD TOO LONG
014546 012746 063454 MOV #^RPTL,-(SP)
014552 104400 TRAP TC.ERR
8891 ;
8892 014554 SCKSKI:
8893 014554 ERROR$ SKI ; ERROR -- ILLEGAL WHILE KLINIK ACTIVE
014554 012746 074201 MOV #^RSKI,-(SP)
014560 104400 TRAP TC.ERR
8894 ;
8895 014562 SCKIPC:
8896 014562 011204 MOV (R2),R4 ; OFFENDING CHARACTER TO R4
8897 014564 ERROR$ IPC ; ERROR -- ILLEGAL PASSWORD CHARACTER
014564 012746 035303 MOV #^RIPC,-(SP)
014570 104400 TRAP TC.ERR
8898 ;
8899
8900 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 246
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
8902 ; [CONTINUED FROM THE PREVIOUS PAGE]
8903
8904 014572 15$:
8905 014572 112112 MOVB (R1)+,(R2) ; ..LOAD THE PASSWORD
8906 014574 122712 000060 CMPB #'0,(R2) ; ..SEE IF NUMERIC
8907 014600 003370 BGT SCKIPC ; ..TOO SMALL -- GIVE "IPC" ERROR
8908 014602 122712 000071 CMPB #'9,(R2) ; ..IN RANGE?
8909 014606 002006 BGE 20$ ; ..YES -- GO ON
8910 014610 122712 000101 CMPB #'A,(R2) ; ..NO -- IS THE CHARACTER ALPHABETIC?
8911 014614 003362 BGT SCKIPC ; ..TOO SMALL -- GIVE "IPC" ERROR
8912 014616 122712 000132 CMPB #'Z,(R2) ; ..[TCO 4.2084] IS IT REALLY IN RANGE?
8913 014622 002757 BLT SCKIPC ; ..TOO BIG -- GIVE "IPC" ERROR
8914 014624 20$:
8915 014624 105722 TSTB (R2)+ ; ..[TCO 4.2084] ADVANCE BYTE POINTER
8916 014626 077017 SOB R0,15$ ; ..LOOP UNTIL DONE
8917 014630 25$:
8918 014630 012700 000643' MOV #SCKMS1,R0 ; .."FROM" MESSAGE POINTER
8919 014634 CALL .TYMSG ; ..PRINT IT
014634 004737 026202' JSR PC,.TYMSG
8920 014640 005046 CLR -(SP) ; ..CLEAR A BUFFER FOR THE START DATE
8921 014642 005046 CLR -(SP) ; ...
8922 014644 010600 MOV SP,R0 ; ....POINT TO IT
8923 014646 CALL .GTDAT ; ....GET WINDOW OPEN DATE
014646 004737 016216' JSR PC,.GTDAT
8924 014652 012700 000643' MOV #SCKMS1,R0 ; ....SAME MESSAGE
8925 014656 CALL .TYMSG ; ....PRINT IT
014656 004737 026202' JSR PC,.TYMSG
8926 014662 005046 CLR -(SP) ; ....CLEAR A SPACE FOR THE START TIME
8927 014664 010600 MOV SP,R0 ; .....POINT TO IT
8928 014666 CALL .GTTIM ; .....GET WINDOW OPEN TIME
014666 004737 016662' JSR PC,.GTTIM
8929 014672 001002 BNE 30$ ; .....GO ON IF NOT DEFAULT
8930 014674 013716 000000G MOV .SSM,(SP) ; .....ELSE SET DEFAULT FROM THE SYSTEM
8931 014700 30$:
8932 014700 012700 000667' MOV #SCKMS2,R0 ; ....."TO" MESSAGE POINTER
8933 014704 CALL .TYMSG ; .....OUTPUT THAT
014704 004737 026202' JSR PC,.TYMSG
8934 014710 005046 CLR -(SP) ; .....CLEAR A BUFFER FOR THE END DATE
8935 014712 005046 CLR -(SP) ; ......
8936 014714 010600 MOV SP,R0 ; .......POINT TO IT
8937 014716 CALL .GTDAT ; .......GET THE END DATE
014716 004737 016216' JSR PC,.GTDAT
8938 014722 001044 BNE 50$ ; .......GO ON IF NOT DEFAULT
8939 014724 016616 000006 MOV 6(SP),(SP) ; .......+++002 DEFAULT -- GET OPEN DATE
8940 014730 016666 000010 000002 MOV 10(SP),2(SP) ; .......+++002 LOAD IT INTO CLOSE DATE
8941 014736 105720 TSTB (R0)+ ; .......GET OVER THE YEAR
8942 014740 112002 MOVB (R0)+,R2 ; .......MONTH TO R2
8943 014742 105210 INCB (R0) ; .......INCREMENT THE DATE
8944 014744 122702 000002 CMPB #^D2,R2 ; .......IS THIS FEBRUARY?
8945 014750 001422 BEQ 45$ ; .......YES -- HANDLE SPECIAL CASE
8946 014752 122710 000036 CMPB #^D30,(R0) ; .......NO -- HOW MANY DAYS?
8947 014756 002026 BGE 50$ ; .......ALL OK IF .LE. 30.
8948 014760 012701 172452 MOV #^C5325,R1 ; .......BIT MASK TO R1
8949
8950 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 247
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
8952 ; [CONTINUED FROM THE PREVIOUS PAGE]
8953
8954 014764 35$:
8955 014764 006201 ASR R1 ; .......SHIFT IT RIGHT
8956 014766 077202 SOB R2,35$ ; .......TILL DONE
8957 014770 103021 BCC 50$ ; .......ALL OK IF CC-C IS CLEAR
8958 014772 40$:
8959 014772 112710 000001 MOVB #^D1,(R0) ; .......SET THE DAY TO 1
8960 014776 105240 INCB -(R0) ; .......INCREMENT THE MONTH
8961 015000 122710 000014 CMPB #^D12,(R0) ; .......DECEMBER?
8962 015004 002013 BGE 50$ ; .......YES -- GO ON
8963 015006 012710 000001 MOV #^D1,(R0) ; .......NO -- SET THE MONTH TO JANUARY
8964 015012 105240 INCB -(R0) ; .......AND INCREMENT THE YEAR
8965 015014 000407 BR 50$ ; .......EXIT
8966 ;
8967 015016 45$:
8968 015016 122710 000034 CMPB #^D28,(R0) ; .......28 DAYS?
8969 015022 002004 BGE 50$ ; .......YES -- GO ON
8970 015024 132760 000003 177776 BITB #3,-2(R0) ; .......NO -- LEAP YEAR?
8971 015032 001357 BNE 40$ ; .......NO -- SET TO MARCH 1
8972 015034 50$:
8973 015034 012700 000667' MOV #SCKMS2,R0 ; .......SAME MESSAGE FOR END TIME
8974 015040 CALL .TYMSG ; .......PRINT IT
015040 004737 026202' JSR PC,.TYMSG
8975 015044 005046 CLR -(SP) ; .......CLEAR A SPACE FOR THE END TIME
8976 015046 010600 MOV SP,R0 ; ........POINT TO IT
8977 015050 CALL .GTTIM ; ........GET THE END TIME
015050 004737 016662' JSR PC,.GTTIM
8978 015054 001002 BNE 55$ ; ........GO ON IF NOT DEFAULT
8979 015056 016616 000006 MOV 6(SP),(SP) ; ........ELSE SET DEFAULT
8980 015062 55$:
8981 015062 126666 000002 000010 CMPB 2(SP),10(SP) ; ........ARE THE YEARS IN RANGE?
8982 015070 002416 BLT SCKKWE ; ........+++002 NO -- GIVE "KWE" ERROR
8983 015072 003020 BGT 60$ ; ........YES -- SAME YEAR?
8984 015074 126666 000003 000011 CMPB 3(SP),11(SP) ; ........YES -- ARE THE MONTHS OK?
8985 015102 002411 BLT SCKKWE ; ........+++002 NO -- GIVE "KWE" ERROR
8986 015104 003013 BGT 60$ ; ........YES -- SAME MONTH?
8987 015106 126666 000004 000012 CMPB 4(SP),12(SP) ; ........YES -- ARE THE DATES OK?
8988 015114 002404 BLT SCKKWE ; ........+++002 NO -- GIVE "KWE" ERROR
8989 015116 003006 BGT 60$ ; ........YES -- SAME DATE?
8990 015120 021666 000006 CMP (SP),6(SP) ; ........+++001 YES -- ARE THE TIMES OK?
8991 015124 101003 BHI 60$ ; ........+++002 YES -- GO ON
8992 015126 SCKKWE:
8993 015126 ERROR$ KWE ; ERROR -- KLINIK WINDOW ERROR
015126 012746 044135 MOV #^RKWE,-(SP)
015132 104400 TRAP TC.ERR
8994
8995 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 248
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
8997 ; [CONTINUED FROM THE PREVIOUS PAGE]
8998
8999 015134 60$:
9000 015134 005000 CLR R0 ; ........CLEAR R0
9001 015136 105766 000014 TSTB 14(SP) ; ........LOOK AT THE KLINIK MODE
9002 015142 002423 BLT 65$ ; ........GO ON IF USER
9003 015144 012700 000714' MOV #SCKMS3,R0 ; ........ASK FOR HIGHEST CONSOLE MODE
9004 015150 CALL .TYMSF ; ........FORCE IT
015150 004737 026174' JSR PC,.TYMSF
9005 015154 012701 000240' MOV #.CIBFR,R1 ; ........POINT TO THE INPUT BUFFER
9006 015160 010105 MOV R1,R5 ; ........AND R5 TOO
9007 015162 CALL .GTLIN ; ........READ THE RESPONSE
015162 004737 024044' JSR PC,.GTLIN
9008 015166 CALL .CKOBJ ; ........MUST HAVE AN OBJECT
015166 004737 000350' JSR PC,.CKOBJ
9009 015172 012700 003420' MOV #.KLMTB,R0 ; ........TABLE POINTER TO R0
9010 015176 CALL .TSCAN ; ........SCAN THE TABLE
015176 004737 012672' JSR PC,.TSCAN
9011 015202 116000 000002 MOVB 2(R0),R0 ; ........SAVE THE CONSOLE MODE
9012 015206 CALL .CKEOC ; ........MUST HAVE E-O-C
015206 004737 000264' JSR PC,.CKEOC
9013 015212 65$:
9014 015212 .INH6 ; ........+++002 DISALLOW INTERRUPTS
015212 013746 177776 MOV @#PS,-(SP)
015216 112737 000300 177776 MOVB #300,@#PS
9015 015224 POP R3 ;;; .........+++003 SAVED PSW TO R3
015224 012603 MOV (SP)+,R3
9016 015226 110037 000001G MOVB R0,.KLNMD+1 ;;; ........SET THE CONSOLE MODE
9017 015232 POP .KLNTT ;;; ........SET THE END TIME
015232 012637 000000G MOV (SP)+,.KLNTT
9018 015236 POP .KLNTD ;;; .......GET THE END DATE
015236 012637 000000G MOV (SP)+,.KLNTD
9019 015242 POP .KLNTD+2 ;;; ......BOTH HALVES
015242 012637 000002G MOV (SP)+,.KLNTD+2
9020 015246 POP .KLNFT ;;; .....SET THE START TIME
015246 012637 000000G MOV (SP)+,.KLNFT
9021 015252 POP .KLNFD ;;; ....POINT TO THE START DATE
015252 012637 000000G MOV (SP)+,.KLNFD
9022 015256 POP .KLNFD+2 ;;; ...BOTH HALVES
015256 012637 000002G MOV (SP)+,.KLNFD+2
9023 015262 112637 000000G MOVB (SP)+,.KLNMD+0 ;;; ..+++002 SET THE KLINIK MODE
9024 015266 002410 BLT 75$ ;;; .GO ON IF USER
9025 015270 012702 000006 MOV #^D6,R2 ;;; .CHARACTER COUNT TO R2
9026 015274 012701 000000G MOV #.KLNPW,R1 ;;; .POINT TO THE PASSWORD
9027 015300 012700 002300' MOV #KLNPWD,R0 ;;; .POINT TO OURS
9028
9029 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 249
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
9031 ; [CONTINUED FROM THE PREVIOUS PAGE]
9032
9033 015304 70$:
9034 015304 112021 MOVB (R0)+,(R1)+ ;;; .LOAD THE PASSWORD
9035 015306 077202 SOB R2,70$ ;;; .LOOP TILL DONE
9036 015310 75$: ;;; .+++002
9037 015310 010337 177776 MOV R3,@#PS ;;; +++003 ENABLE INTERRUPTS
9038 015314 POP R5 ; .RESTORE R5
015314 012605 MOV (SP)+,R5
9039 015316 000421 BR 85$ ; AND EXIT
9040 ;
9041 015320 80$:
9042 015320 105737 000000G TSTB .KLNMD+0 ; +++004 ANYTHING TO CLEAR??
9043 015324 001502 BEQ 100$ ; +++004 NO -- JUST TELL OPERATOR ITS ALREADY CLEAR
9044 015326 .INH6 ; +++002 DISALLOW INTERRUPTS
015326 013746 177776 MOV @#PS,-(SP)
015332 112737 000300 177776 MOVB #300,@#PS
9045 015340 105037 000000G CLRB .KLNMD+0 ;;; +++002 CLEAR KLINIK
9046 015344 105037 000000G CLRB .KLNPW+0 ;;; CLEAR THE KLINIK PASSWORD
9047 015350 112737 000001 000001G MOVB #1,.KLNSW+1 ;;; +++002 MARK THAT WE WANT A CLEAR
9048 015356 .ENB6 ;;; +++002 ENABLE INTERRUPTS
015356 012637 177776 MOV (SP)+,@#PS
9049 015362 85$:
9050 015362 032737 000000G 000002G BIT #EF.PR1,.COMEF+2 ; +++002 ANY THING THERE TO GET THIS?
9051 015370 001460 BEQ 100$ ; +++002 NO -- GO ON
9052 015372 CLEF$S #E.FKLN ; +++003 RESET THE FLAG
015372 012746 000004 MOV #E.FKLN,-(SP)
015376 012746 MOV (PC)+,-(SP)
015400 037 002 .BYTE 31.,2
015402 104375 EMT 375
9053 015404 012700 000000G MOV #.KLNPB,R0 ; +++002 BUFFER POINTER TO R0
9054 015410 012710 000000G MOV #KLNPLN,(R0) ; +++002 BUFFER SIZE TO HEADER
9055 015414 012701 100000G MOV #BC.SKP+100000,R1 ; +++002 FUNCTION CODE TO R1
9056 015420 005002 CLR R2 ; +++002 NO EVENT FLAG
9057 015422 012703 000000G MOV #D.CCPU,R3 ; +++002 DEVICE CODE TO R3
9058 015426 CALL ..STIN ; +++002 SEND THE NEW PARAMETERS
015426 004737 000000G JSR PC,..STIN
9059 015432 012702 000000C MOV #KLNLGL/2,R2 ; +++003 ARGUMENT COUNT TO R2
9060 015436 012701 000000G MOV #.KLNPE,R1 ; +++003 INPUT BLOCK POINTER
9061 015442 012700 002300' MOV #KLNLGE,R0 ; +++003 OUTPUT BLOCK POINTER
9062 015446 90$: ; +++003
9063 015446 014140 MOV -(R1),-(R0) ; +++003 LOAD THE PARAMETERS
9064 015450 077202 SOB R2,90$ ; +++003 LOOP TILL DONE
9065 015452 012702 000001 MOV #1,R2 ; +++003 ASSUME "SET"
9066 015456 005737 000104' TST .NOTSW ; +++003 IS IT??
9067 015462 001401 BEQ 95$ ; +++003 YES -- GO ON
9068 015464 005402 NEG R2 ; +++003 NO -- INVERT IT
9069
9070 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 250
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
9072 ; [CONTINUED FROM THE PREVIOUS PAGE]
9073
9074 015466 95$: ; +++003
9075 015466 105740 TSTB -(R0) ; +++003 GET OVER THE LOG CODE
9076 015470 110240 MOVB R2,-(R0) ; +++003 SET THE EVENT CODE
9077 015472 005740 TST -(R0) ; +++003 BACK OVER THE LOG FLAG
9078 015474 012740 000022 MOV #22,-(R0) ; +++003 SET THE PACKET SIZE
9079 015500 012701 100000G MOV #BC.HDS+100000,R1 ; +++003 FUNCTION CODE TO R1
9080 015504 012702 000004 MOV #E.FKLN,R2 ; +++003 EVENT FLAG TO R2
9081 015510 012703 000000G MOV #D.CKLN,R3 ; +++003 DEVICE CODE TO R3
9082 015514 CALL ..STIN ; +++003 LOG IT
015514 004737 000000G JSR PC,..STIN
9083 015520 WTSE$S #E.FKLN ; +++003 WAIT FOR IT
015520 012746 000004 MOV #E.FKLN,-(SP)
015524 012746 MOV (PC)+,-(SP)
015526 051 002 .BYTE 41.,2
015530 104375 EMT 375
9084 015532 100$: ; +++002
9085 015532 000466 BR .WHKLN ; TELL THE STATE AND EXIT
9086 ;
9087
9088 .DSABL LSB
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 251
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
9090 002254 .PSECT DATA
9091
9092 002254 KLNLOG:
9093 002254 000000 .WORD 0
9094 002256 000000G .WORD DV.LOG
9095 002260 000000G .WORD K.LSCK
9096 002262 000000 000000 000000 .WORD 0,0,0
9097 002270 000000 000000 000000 .WORD 0,0,0
9098 002276 000000 .WORD 0
9099 002300' KLNLGE=.
9100
9101 002300 KLNPWD:
9102 002300 000000 000000 000000 .WORD 0,0,0 ; TEMP PASSWORD STORAGE
9103 000630 .PSECT MESSAG
9104
9105 000630 SCKMS0:
9106 000630 120 101 123 .ASCIZ %PASSWORD: %
000633 123 127 117
000636 122 104 072
000641 040 000
9107 000643 SCKMS1:
9108 000643 101 103 103 .ASCIZ %ACCESS WINDOW OPEN %
000646 105 123 123
000651 040 127 111
000654 116 104 117
000657 127 040 117
000662 120 105 116
000665 040 000
9109 000667 SCKMS2:
9110 000667 101 103 103 .ASCIZ %ACCESS WINDOW CLOSE %
000672 105 123 123
000675 040 127 111
000700 116 104 117
000703 127 040 103
000706 114 117 123
000711 105 040 000
9111 000714 SCKMS3:
9112 000714 110 111 107 .ASCIZ %HIGHEST CONSOLE MODE: %
000717 110 105 123
000722 124 040 103
000725 117 116 123
000730 117 114 105
000733 040 115 117
000736 104 105 072
000741 040 000
9113 000743 SCKMS4:
9114 000743 113 114 111 .ASCIZ %KLINIK MODE: %
000746 116 111 113
000751 040 115 117
000754 104 105 072
000757 040 000
9115 015534 .PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 252
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
9117 .SBTTL .WHDAT -- THE "WHAT" DATE COMMAND 7703.03
9118
9119 ;+
9120 ; .WHDAT -- THE "WHAT DATE" COMMAND
9121 ;
9122 ; THIS SUBROUTINE WILL DISPLAY THE THE CURRENT SYSTEM TIME OF DAY
9123 ; ON THE CONSOLE DEVICE. IF THE TIME HAS NOT BEEN SET BY EITHER A
9124 ; "SET DATE" COMMAND OR BY THE KL10 EXECUTIVE THE VALID FLAG WILL BE OFF
9125 ; OTHERWISE IT WILL BE ON.
9126 ;
9127 ; INPUT ARGUMENTS:
9128 ;
9129 ; NONE.
9130 ;
9131 ; OUTPUT ARGUMENTS:
9132 ;
9133 ; NONE.
9134 ;
9135 ; ERROR CODES RETUNED:
9136 ;
9137 ; NONE.
9138 ;-
9139
9140
9141 015534 .WHDAT::
9142 015534 CALL .CKEOC ; MUST HAVE E-O-C
015534 004737 000264' JSR PC,.CKEOC
9143 015540 012701 002324' MOV #DATBUF,R1 ; BUFFER POINTER TO R1
9144 015544 GTIM$S R1 ; REAAD THE DATE AND TIME
015544 010146 MOV R1,-(SP)
015546 012746 MOV (PC)+,-(SP)
015550 073 002 .BYTE 59.,2
015552 104375 EMT 375
9145 015554 005046 CLR -(SP) ; CLEAR A BUFFER ON STACK
9146 015556 005046 CLR -(SP) ; .SO
9147 015560 010600 MOV SP,R0 ; ..POINTER TO R0
9148 015562 112120 MOVB (R1)+,(R0)+ ; ..SET YEAR
9149 015564 105721 TSTB (R1)+ ; ..ADVANCE POINTER
9150 015566 112120 MOVB (R1)+,(R0)+ ; ..SET MONTH
9151 015570 105721 TSTB (R1)+ ; ..ADVANCE POINTER
9152 015572 112120 MOVB (R1)+,(R0)+ ; ..SET DAY
9153 015574 012700 000761' MOV #WHDMS0,R0 ; ..MESSAGE POINTER TO R0
9154 015600 CALL .TYLIN ; ..PRINT IT
015600 004737 026166' JSR PC,.TYLIN
9155 015604 113700 000000G MOVB .DOW,R0 ; ..DAY OF WEEK INDEX TO R0
9156 015610 006300 ASL R0 ; ..TIMES 2
9157 015612 016000 002306' MOV DOWMTB(R0),R0 ; ..MESSAGE POINTER TO R0
9158 015616 CALL .TYMSG ; ..PRINT IT
015616 004737 026202' JSR PC,.TYMSG
9159 015622 CALL .TYSPC ; ..AND A <SPACE>
015622 004737 025454' JSR PC,.TYSPC
9160 015626 010600 MOV SP,R0 ; ..POINT TO DATE
9161 015630 CALL .TYDAT ; ..TYPE THE DATE
015630 004737 017230' JSR PC,.TYDAT
9162 015634 CALL .TYSPC ; ..AND A <SPACE>
015634 004737 025454' JSR PC,.TYSPC
9163 015640 012700 000000G MOV #.SSM,R0 ; ..POINT TO THE TIME
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 252-1
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
9164 015644 CALL .TYTIM ; ..TYPE IT
015644 004737 017344' JSR PC,.TYTIM
9165 015650 CALL .TCRLF ; ..END THE LINE
015650 004737 026272' JSR PC,.TCRLF
9166 015654 012700 001007' MOV #WHDMS1,R0 ; ..MESSAGE POINTER TO R0
9167 015660 CALL .TYMSG ; ..PRINT IT
015660 004737 026202' JSR PC,.TYMSG
9168 015664 012700 000034' MOV #ONMSG,R0 ; ..ASSUME VALID
9169 015670 005737 000000G TST .DATE3 ; ..IS IT??
9170 015674 001002 BNE 10$ ; ..YES -- GO ON
9171 015676 012700 000037' MOV #OFFMSG,R0 ; ..NO -- SAY SO
9172 015702 10$:
9173 015702 022626 CMP (SP)+,(SP)+ ; ..CLEAR STACK
9174 015704 CALLR .TYLIN ; PRINT AND EXIT
015704 000137 026166' JMP .TYLIN
9175 ;
9176
9177 002306 .PSECT DATA
9178
9179 002306 DOWMTB:
9180 002306 001033' .WORD MONMSG
9181 002310 001043' .WORD TUEMSG
9182 002312 001054' .WORD WEDMSG
9183 002314 001067' .WORD THUMSG
9184 002316 001101' .WORD FRIMSG
9185 002320 001111' .WORD SATMSG
9186 002322 001123' .WORD SUNMSG
9187
9188 002324 DATBUF:
9189 002324 000000 000000 000000 .WORD 0,0,0,0,0,0,0,0
002332 000000 000000 000000
002340 000000 000000
9190
9191 015710 .PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 253
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
9193 000761 .PSECT MESSAG
9194
9195 000761 WHDMS0:
9196 000761 103 125 122 .ASCIZ %CURRENT SYSTEM DATE: %
000764 122 105 116
000767 124 040 123
000772 131 123 124
000775 105 115 040
001000 104 101 124
001003 105 072 040
001006 000
9197 001007 WHDMS1:
9198 001007 040 126 101 .ASCIZ % VALIDITY FLAG IS: %
001012 114 111 104
001015 111 124 131
001020 040 106 114
001023 101 107 040
001026 111 123 072
001031 040 000
9199
9200 001033 MONMSG:
9201 001033 115 117 116 .ASCIZ %MONDAY,%
001036 104 101 131
001041 054 000
9202 001043 TUEMSG:
9203 001043 124 125 105 .ASCIZ %TUESDAY,%
001046 123 104 101
001051 131 054 000
9204 001054 WEDMSG:
9205 001054 127 105 104 .ASCIZ %WEDNESDAY,%
001057 116 105 123
001062 104 101 131
001065 054 000
9206 001067 THUMSG:
9207 001067 124 110 125 .ASCIZ %THURSDAY,%
001072 122 123 104
001075 101 131 054
001100 000
9208 001101 FRIMSG:
9209 001101 106 122 111 .ASCIZ %FRIDAY,%
001104 104 101 131
001107 054 000
9210 001111 SATMSG:
9211 001111 123 101 124 .ASCIZ %SATURDAY,%
001114 125 122 104
001117 101 131 054
001122 000
9212 001123 SUNMSG:
9213 001123 123 125 116 .ASCIZ %SUNDAY,%
001126 104 101 131
001131 054 000
9214
9215 015710 .PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 254
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
9217 .SBTTL .WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
9218
9219 ;+
9220 ; .WHKLN -- THE "WHAT KLINIK" COMMAND
9221 ;
9222 ; THIS SUBROUTINE WILL REPORT THE STATE OF THE KLINIK PARAMETERS
9223 ; ON THE CONSOLE DEVICE.
9224 ;
9225 ; INPUT ARGUMENTS:
9226 ;
9227 ; NONE.
9228 ;
9229 ; OUTPUT ARGUMENTS:
9230 ;
9231 ; NONE.
9232 ;
9233 ; ERROR CODES RETURNED:
9234 ;
9235 ; NONE.
9236 ;-
9237
9238 .MCALL DIR$,RQST$
9239
9240 015710 .WHKLN::
9241 015710 CALL .CKEOC ; MUST HAVE E-O-C
015710 004737 000264' JSR PC,.CKEOC
9242 015714 012700 001133' MOV #WHKMS0,R0 ; MESSAGE POINTER TO R0
9243 015720 CALL .TYMSG ; PRINT IT
015720 004737 026202' JSR PC,.TYMSG
9244 015724 012700 001144' MOV #WHKMS1,R0 ; ASSUME KLINIK IS DISABLED
9245 015730 105737 000000G TSTB .KLNMD+0 ; IS IT?
9246 015734 001514 BEQ 40$ ; +++001 YES -- SAY SO
9247 015736 012700 001263' MOV #WHKMSA,R0 ; +++001 NO -- ASSUME ACTIVE
9248 015742 105737 000000G TSTB .KLNSW+0 ; +++001 IS IT??
9249 015746 001002 BNE 10$ ; +++001 YES -- GO ON
9250 015750 012700 001315' MOV #WHKMSI,R0 ; +++001 NO -- SAY INACTIVE
9251 015754 10$: ; +++001
9252 015754 005737 000000G TST .KLNFD ; +++001 IS THERE A DATE??
9253 015760 001005 BNE 20$ ; +++001 YES -- KLINIK REALLY ALIVE
9254 015762 012700 001272' MOV #WHKMRB,R0 ; +++001 NO -- ALIVE FROM REBOOT
9255 015766 CALL .TYLIN
015766 004737 026166' JSR PC,.TYLIN
9256 015772 000436 BR 30$ ; +++001 TYPE MODE AND EXIT
9257 ;
9258
9259 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 255
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
9261 ; [CONTINUED FROM THE PREVIOUS PAGE]
9262
9263 015774 20$: ; +++001
9264 015774 CALL .TYLIN ; +++001 TYPE STATE
015774 004737 026166' JSR PC,.TYLIN
9265 016000 012700 001155' MOV #WHKMS2,R0 ; GET OPEN MESSAGE
9266 016004 CALL .TYMSG ; PRINT IT
016004 004737 026202' JSR PC,.TYMSG
9267 016010 012700 000000G MOV #.KLNFD,R0 ; POINT TO THE FROM DATE
9268 016014 CALL .TYDAT ; PRINT IT
016014 004737 017230' JSR PC,.TYDAT
9269 016020 012700 000000G MOV #.KLNFT,R0 ; POINT TO THE FROM TIME
9270 016024 CALL .TYTIM ; PRINT IT
016024 004737 017344' JSR PC,.TYTIM
9271 016030 CALL .TCRLF ; +++001 END THE LINE
016030 004737 026272' JSR PC,.TCRLF
9272 016034 012700 001203' MOV #WHKMS3,R0 ; CLOSE MESSAGE POINTER
9273 016040 CALL .TYMSG ; PRINT IT
016040 004737 026202' JSR PC,.TYMSG
9274 016044 012700 000000G MOV #.KLNTD,R0 ; POINT TO THE TO DATE
9275 016050 CALL .TYDAT ; PRINT IT
016050 004737 017230' JSR PC,.TYDAT
9276 016054 012700 000000G MOV #.KLNTT,R0 ; POINT TO THE TO TIME
9277 016060 CALL .TYTIM ; PRINT IT
016060 004737 017344' JSR PC,.TYTIM
9278 016064 CALL .TCRLF ; END THE LINE
016064 004737 026272' JSR PC,.TCRLF
9279 016070 30$: ; +++001
9280 016070 012700 001326' MOV #WHKMSK,R0 ; +++001 KLINIK MODE
9281 016074 CALL .TYMSG ; +++001 PRINT IT
016074 004737 026202' JSR PC,.TYMSG
9282 016100 012700 002636' MOV #USRMSG,R0 ; +++001 ASSUME USER
9283 016104 105737 000000G TSTB .KLNMD+0 ; +++001 IS IT??
9284 016110 100426 BMI 40$ ; +++001 YES -- PRINT AND EXIT
9285 016112 012700 002627' MOV #REMMSG,R0 ; +++001 NO -- SAY REMOTE
9286 016116 CALL .TYLIN ; +++001 PRINT IT
016116 004737 026166' JSR PC,.TYLIN
9287 016122 012700 001233' MOV #WHKMS4,R0 ; CONSOLE MODE MESSAGE
9288 016126 CALL .TYMSG ; PRINT IT
016126 004737 026202' JSR PC,.TYMSG
9289 016132 012700 002567' MOV #MNTMSG,R0 ; MAINTENANCE MODE
9290 016136 122737 000007 000001G CMPB #LG.ALL,.KLNMD+1
9291 016144 001410 BEQ 40$ ; YES -- SAY SO
9292 016146 012700 002614' MOV #PRGMSG,R0 ; NO -- PROGRAMMER MAYBE
9293 016152 122737 000003 000001G CMPB #LG.PRM,.KLNMD+1
9294 016160 001402 BEQ 40$ ; YES -- SAY SO
9295 016162 012700 002603' MOV #OPRMSG,R0 ; NO -- MUST BE OPERATOR
9296
9297 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 256
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
9299 ; [CONTINUED FROM THE PREVIOUS PAGE]
9300
9301 016166 40$:
9302 016166 105737 000001G TSTB .KLNSW+1 ; +++001 IS THIS A CLEAR COMMAND??
9303 016172 001407 BEQ 50$ ; +++001 NO -- JUST GO AWAY
9304 016174 CALL .TYLIN ; +++001 YES -- PRINT THE LINE
016174 004737 026166' JSR PC,.TYLIN
9305 016200 DIR$ #REQKLD ; +++001 REQUEST KLD
016200 012746 000162' MOV #REQKLD,-(SP)
016204 104375 EMT 375
9306 016206 CALLR .EXITP ; +++001 AND EXIT
016206 000137 012436' JMP .EXITP
9307 ;
9308 016212 50$:
9309 016212 CALLR .TYLIN ; PRINT AND EXIT
016212 000137 026166' JMP .TYLIN
9310 ;
9311
9312 000162 .PSECT DPBS
9313
9314 000162 REQKLD: ; +++001
9315 000162 RQST$ KLDISC,,10
000162 013 007 .BYTE 11.,7
000164 043244 035473 .RAD50 /KLDISC/
000170 000000 000000 .WORD 0,0
000174 000010 .WORD 10
000176 000 000 .BYTE ,
9316
9317 016216 .PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 257
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
9319 001133 .PSECT MESSAG
9320
9321 001133 WHKMS0:
9322 001133 040 113 114 .ASCIZ % KLINIK %
001136 111 116 111
001141 113 040 000
9323 001144 WHKMS1:
9324 001144 104 111 123 .ASCIZ %DISABLED%
001147 101 102 114
001152 105 104 000
9325 001155 WHKMS2:
9326 001155 040 101 103 .ASCIZ % ACCESS WINDOW OPEN: %
001160 103 105 123
001163 123 040 127
001166 111 116 104
001171 117 127 040
001174 117 120 105
001177 116 072 040
001202 000
9327 001203 WHKMS3:
9328 001203 040 101 103 .ASCIZ % ACCESS WINDOW CLOSED: %
001206 103 105 123
001211 123 040 127
001214 111 116 104
001217 117 127 040
001222 103 114 117
001225 123 105 104
001230 072 040 000
9329 001233 WHKMS4:
9330 001233 040 110 111 .ASCIZ % HIGHEST CONSOLE MODE: %
001236 107 110 105
001241 123 124 040
001244 103 117 116
001247 123 117 114
001252 105 040 115
001255 117 104 105
001260 072 040 000
9331 001263 WHKMSA:
9332 001263 101 103 124 .ASCIZ %ACTIVE%
001266 111 126 105
001271 000
9333 001272 WHKMRB:
9334 001272 101 103 124 .ASCIZ %ACTIVE FROM REBOOT%
001275 111 126 105
001300 040 106 122
001303 117 115 040
001306 122 105 102
001311 117 117 124
001314 000
9335 001315 WHKMSI:
9336 001315 111 116 101 .ASCIZ %INACTIVE%
001320 103 124 111
001323 126 105 000
9337 001326 WHKMSK:
9338 001326 040 113 114 .ASCIZ % KLINIK MODE: %
001331 111 116 111
001334 113 040 115
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 257-1
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
001337 117 104 105
001342 072 040 000
9339 016216 .PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 258
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
9341 .SBTTL .GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
9342
9343 ;+
9344 ; .GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE
9345 ;
9346 ; THIS SUBROUTINE WILL EVALUATE A PREVIOUSLY INPUT ASCII STRING OF THE
9347 ; FORM "DD-MMM-YYYY" AND RETURN THE VALUE OF THE YEAR, MONTH AND DAY
9348 ; IN A THREE BYTE BLOCK.
9349 ;
9350 ; INPUT ARGUMENTS:
9351 ;
9352 ; R0 POINTS TO A THREE BYTE DATA BLOCK
9353 ; R5 POINTS TO THE INPUT STREAM
9354 ;
9355 ; OUTPUT ARGUMENTS:
9356 ;
9357 ; R0 POINTS TO THE THREE BYTE DATA BLOCK
9358 ;
9359 ; ERROR CODES RETURNED:
9360 ;
9361 ; DBT -- DATE BEFORE TODAY
9362 ; DOR -- DATE OUT OF RANGE
9363 ; IDF -- ILLEGAL DATE FORMAT
9364 ; YOR -- YEAR OUT OF RANGE
9365 ;-
9366
9367 .MCALL DIR$, GTIM$S
9368
9369 016216 .GTDAT::
9370 016216 013737 000066' 000120' MOV .IRADX,.RDXSV ; SAVE THE CURRENT RADIX
9371 016224 012737 000012 000066' MOV #^D10,.IRADX ; SET THE RADIX TO DECIMAL
9372 016232 PUSH <R5,R2,R1,R0> ; SAVE CALLER'S POINTER
016232 010546 MOV R5,-(SP)
016234 010246 MOV R2,-(SP)
016236 010146 MOV R1,-(SP)
016240 010046 MOV R0,-(SP)
9373 016242 012701 002344' MOV #.DTBUF,R1 ; ....TIME BUFFER POINTER TO R1
9374 016246 GTIM$S R1 ; ....READ CURRENT DATE AND TIME
016246 010146 MOV R1,-(SP)
016250 012746 MOV (PC)+,-(SP)
016252 073 002 .BYTE 59.,2
016254 104375 EMT 375
9375 016256 112120 MOVB (R1)+,(R0)+ ; ....SET DEFAULT YEAR
9376 016260 105721 TSTB (R1)+ ; ....ADVANCE POINTER
9377 016262 112120 MOVB (R1)+,(R0)+ ; ....SET DEFAULT MONTH
9378 016264 105721 TSTB (R1)+ ; ....ADVANCE POINTER
9379 016266 111120 MOVB (R1),(R0)+ ; ....SET DEFAULT DAY
9380 016270 010002 MOV R0,R2 ; ....SAVE POINTER TO CALLER'S BUFFER
9381
9382 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 259
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
9384 ; [CONTINUED FROM THE PREVIOUS PAGE]
9385
9386 016272 012701 000240' MOV #.CIBFR,R1 ; ....BUFFER POINTER TO R1
9387 016276 010105 MOV R1,R5 ; ....AND R5
9388 016300 012700 001345' MOV #GTDMS0,R0 ; ....PROMPT FOR DATE
9389 016304 CALL .TYMSF ; ....FORCE IT OUT
016304 004737 026174' JSR PC,.TYMSF
9390 016310 CALL .GTLIN ; ....READ THE RESPONSE
016310 004737 024044' JSR PC,.GTLIN
9391 016314 001467 BEQ 35$ ; ....DEFAULT IF NULL
9392 016316 CALL .CKARG ; ....SEE WHAT KIND OF ARGUMENT FOLLOWS
016316 004737 000140' JSR PC,.CKARG
9393 016322 001551 BEQ GTDIDF ; ....ILLEGAL IF ALPHABETIC
9394 016324 PUSH R5 ; ....SAVE THE BUFFER POINTER
016324 010546 MOV R5,-(SP)
9395 016326 10$:
9396 016326 111504 MOVB (R5),R4 ; .....LOOK AT ONE CHARACTER
9397 016330 001407 BEQ 20$ ; .....DONE IF NULL
9398 016332 122704 000055 CMPB #'-,R4 ; .....IS IT A <HYPHEN>?
9399 016336 001002 BNE 15$ ; .....NO -- GO ON
9400 016340 112715 000040 MOVB #.SPACE,(R5) ; .....YES -- MAKE IT A <SPACE>
9401 016344 15$:
9402 016344 105725 TSTB (R5)+ ; .....ADVANCE THE POINTER
9403 016346 000767 BR 10$ ; .....AND LOOK FOR MORE
9404 ;
9405
9406 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 260
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
9408 ; [CONTINUED FROM THE PREVIOUS PAGE]
9409
9410 016350 20$:
9411 016350 POP R5 ; .....RESTORE THE POINTER
016350 012605 MOV (SP)+,R5
9412 016352 005046 CLR -(SP) ; ....CLEAR A BUFFER ON THE STACK
9413 016354 005046 CLR -(SP) ; .....
9414 016356 005046 CLR -(SP) ; ......
9415 016360 010600 MOV SP,R0 ; .......POINT TO THE BUFFER
9416 016362 CALL .GTNBR ; .......READ THE DAY
016362 004737 025262' JSR PC,.GTNBR
9417 016366 111042 MOVB (R0),-(R2) ; .......AND SET IT
9418 016370 PUSH R0 ; .......SAVE THE POINTER
016370 010046 MOV R0,-(SP)
9419 016372 CALL .CKARG ; .......SEE IF ALPHABETIC FOLLOWS
016372 004737 000140' JSR PC,.CKARG
9420 016376 002523 BLT GTDIDF ; .......NUMERIC -- GIVE "IDF" ERROR
9421 016400 012700 003462' MOV #.MONTB,R0 ; ........MONTH TABLE POINTER TO R0
9422 016404 CALL .TSCAN ; ........SCAN FOR THE MONTH
016404 004737 012672' JSR PC,.TSCAN
9423 016410 116042 000002 MOVB 2(R0),-(R2) ; ........STASH THE MONTH AWAY
9424 016414 POP R0 ; ........RESTORE THE BUFFER POINTER
016414 012600 MOV (SP)+,R0
9425 016416 112504 MOVB (R5)+,R4 ; .......GET THE LAST CHARACTER
9426 016420 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
9427 016426 001020 BNE 30$ ; .......EXIT IF E-O-C
9428 016430 CALL .TPCLR ; .......RESET THE BUFFER
016430 004737 022572' JSR PC,.TPCLR
9429 016434 CALL .CKARG ; .......SEE IF NUMERIC FOLLOWS
016434 004737 000140' JSR PC,.CKARG
9430 016440 001502 BEQ GTDIDF ; .......GIVE "IDF" ERROR IF NOT
9431 016442 CALL .GTNBR ; .......READ THE YEAR
016442 004737 025262' JSR PC,.GTNBR
9432 016446 022710 003554 CMP #^D1900,(R0) ; .......DID HE SAY 19XX?
9433 016452 003003 BGT 25$ ; .......NO -- GO ON
9434 016454 162710 003554 SUB #^D1900,(R0) ; .......YES -- FIX IT UP
9435 016460 002475 BLT GTDYOR ; .......+++001 ERROR -- YOR
9436 016462 25$:
9437 016462 111042 MOVB (R0),-(R2) ; .......SET THE YEAR - 1900
9438 016464 CALL .CKEOC ; .......MUST HAVE E-O-C
016464 004737 000264' JSR PC,.CKEOC
9439 016470 30$:
9440 016470 062706 000006 ADD #^D6,SP ; .......RESET THE STACK
9441
9442 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 261
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
9444 ; [CONTINUED FROM THE PREVIOUS PAGE]
9445
9446 016474 35$:
9447 016474 011600 MOV (SP),R0 ; ....RESTORE CALLER'S POINTER
9448 016476 116002 000001 MOVB 1(R0),R2 ; ....MONTH TO R2
9449 016502 012701 172452 MOV #^C5325,R1 ; ....BIT MASK TO R1
9450 016506 122702 000002 CMPB #^D2,R2 ; ....IS THIS FEBRUARY?
9451 016512 001411 BEQ 45$ ; ....YES -- DO SPECIAL CKECKS
9452 016514 126027 000002 000037 CMPB 2(R0),#^D31 ; ....NO -- HOW MANY DAYS?
9453 016522 003046 BGT GTDDOR ; .... +++001 GIVE "DOR" ERROR IF .GT. ^D31
9454 016524 002414 BLT 50$ ; ....ALL OK IF .LT. ^D31
9455 016526 40$:
9456 016526 006201 ASR R1 ; ....SHIFT THE BIT MASK
9457 016530 077202 SOB R2,40$ ; ....BY THE MONTH
9458 016532 103011 BCC 50$ ; ....ALL OK IF CC-C IS CLEAR
9459 016534 000441 BR GTDDOR ; .... +++001 OTHERWISE GIVE "DOR" ERROR
9460 ;
9461 016536 45$:
9462 016536 126027 000002 000035 CMPB 2(R0),#^D29 ; ....HATH FEBRUARY 29 DAYS?
9463 016544 003035 BGT GTDDOR ; .... +++001 NEVER MORE -- GIVE "DOR" ERROR
9464 016546 002403 BLT 50$ ; ....ALWAYS LESS -- EXIT
9465 016550 132710 000003 BITB #3,(R0) ; ....IS THIS A LEAP YEAR?
9466 016554 001031 BNE GTDDOR ; .... +++001 NO -- GIVE "DOR" ERROR
9467 016556 50$:
9468 016556 012701 002344' MOV #.DTBUF,R1 ; ....POINT TO THE DATE BUFFER
9469 016562 122021 CMPB (R0)+,(R1)+ ; ....SEE IF YEAR IS OK
9470 016564 002422 BLT GTDDBT ; .... +++001 NO -- GIVE "DBT" ERROR
9471 016566 003007 BGT 55$ ; .... +++001 YES -- BEYOND THIS YEAR??
9472 016570 105721 TSTB (R1)+ ; ....NO -- ADVANCE THE POINTER
9473 016572 122021 CMPB (R0)+,(R1)+ ; ....IS THE MONTH OK?
9474 016574 002416 BLT GTDDBT ; .... +++001 NO -- GIVE "DBT" ERROR
9475 016576 003003 BGT 55$ ; .... +++001 YES -- BEYOND THIS YEAR??
9476 016600 105721 TSTB (R1)+ ; ....NO -- ADVANCE THE POINTER
9477 016602 121011 CMPB (R0),(R1) ; ....IS THE DAY OK?
9478 016604 002412 BLT GTDDBT ; .... +++001 NO -- GIVE "DBT" ERROR
9479 016606 55$:
9480 016606 POP <R0,R1,R2,R5> ; ....YES -- RESTORE REGISTERS
016606 012600 MOV (SP)+,R0
016610 012601 MOV (SP)+,R1
016612 012602 MOV (SP)+,R2
016614 012605 MOV (SP)+,R5
9481 016616 013737 000120' 000066' MOV .RDXSV,.IRADX ; RESET THE RADIX
9482 016624 005737 000064' TST .INCHC ; LOOK AT THE CHARACTER COUNT
9483 016630 RETURN ; EXIT
016630 000207 RTS PC
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 262
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
9485 016632 GTDDBT: ; +++001
9486 016632 ERROR$ DBT ; ERROR -- DATE BEFORE TODAY
016632 012746 014544 MOV #^RDBT,-(SP)
016636 104400 TRAP TC.ERR
9487 ;
9488 016640 GTDDOR: ; +++001
9489 016640 ERROR$ DOR ; ERROR -- DATE OUT OF RANGE
016640 012746 015552 MOV #^RDOR,-(SP)
016644 104400 TRAP TC.ERR
9490 ;
9491 016646 GTDIDF:
9492 016646 ERROR$ IDF ; ERROR -- ILLEGAL DATE FORMAT
016646 012746 034346 MOV #^RIDF,-(SP)
016652 104400 TRAP TC.ERR
9493 ;
9494 016654 GTDYOR: ; +++001
9495 016654 ERROR$ YOR ; ERROR -- YEAR OUT OF RANGE
016654 012746 117252 MOV #^RYOR,-(SP)
016660 104400 TRAP TC.ERR
9496 ;
9497
9498 002344 .PSECT DATA
9499
9500 002344 .DTBUF::
9501 002344 000000 000000 000000 .WORD 0,0,0,0,0,0,0,0
002352 000000 000000 000000
002360 000000 000000
9502
9503 001345 .PSECT MESSAG
9504
9505 001345 GTDMS0:
9506 001345 104 101 124 .ASCIZ %DATE: %
001350 105 072 040
001353 000
9507
9508 016662 .PSECT
9509
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 263
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
9511 .SBTTL .GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
9512
9513 ;+
9514 ; .GTTIM -- SUBROUTINE TO INPUT A TIME VALUE
9515 ;
9516 ; THIS SUBROUTINE WILL ACCEPT A TIME VALUE FROM THE CONSOLE INPUT
9517 ; DEVICE OF THE FORMAT "HH:MM" OR "HHMM", AND RETURN IT EXPRESSED
9518 ; AS SECONDS-SINCE-MIDNIGHT / 2 (SSM).
9519 ;
9520 ; INPUT ARGUMENTS:
9521 ;
9522 ; R0 POINTS TO THE DESTINATION FOR THE VALUE
9523 ;
9524 ; OUTPUT ARGUMENTS:
9525 ;
9526 ; R0 POINTS TO THE TIME VALUE
9527 ; CC-Z WILL BE SET TO INDICATE NO TIME WAS SPECIFIED (DEFAULT)
9528 ;
9529 ; ERROR CODES RETURNED:
9530 ;
9531 ; ITF -- ILLEGAL TIME FORMAT
9532 ; TOR -- TIME OUT OF RANGE
9533 ;-
9534
9535 016662 .GTTIM::
9536 016662 013737 000066' 000120' MOV .IRADX,.RDXSV ; SAVE THE CURRENT RADIX
9537 016670 012737 000012 000066' MOV #^D10,.IRADX ; SET THE INPUT RADIX TO DECIMAL
9538 016676 PUSH <R5,R2,R1,R0> ; SAVE CALLER'S REGISTERS
016676 010546 MOV R5,-(SP)
016700 010246 MOV R2,-(SP)
016702 010146 MOV R1,-(SP)
016704 010046 MOV R0,-(SP)
9539 016706 012702 177777 MOV #-^D1,R2 ; ....SET DEFAULT ARGUMENT
9540 016712 012700 001354' MOV #GTTMS0,R0 ; ....PROMPT FOR TIME
9541 016716 CALL .TYMSF ; ....FORCE IT OUT
016716 004737 026174' JSR PC,.TYMSF
9542 016722 012701 000240' MOV #.CIBFR,R1 ; ....BUFFER POINTER TO R1
9543 016726 010105 MOV R1,R5 ; ....SET UP THE BUFFER POINTER
9544 016730 CALL .GTLIN ; ....READ THE INPUT
016730 004737 024044' JSR PC,.GTLIN
9545 016734 001514 BEQ 30$ ; ....EXIT IF NULL (DEFAULT)
9546
9547 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 264
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
9549 ; [CONTINUED FROM THE PREVIOUS PAGE]
9550
9551 016736 CALL .CKSYM ; ....GET OVER LEADING BLANKS
016736 004737 000446' JSR PC,.CKSYM
9552 016742 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
9553 016750 001106 BNE 30$ ; ....EXIT IF E-O-C
9554 016752 CALL .CKARG ; ....SEE WHAT FOLLOWS
016752 004737 000140' JSR PC,.CKARG
9555 016756 001516 BEQ GTTITF ; ....ERROR IF NON-NUMERIC
9556 016760 005046 CLR -(SP) ; ....CLEAR A BUFFER ON THE STACK
9557 016762 005046 CLR -(SP) ; .....
9558 016764 005046 CLR -(SP) ; ......
9559 016766 010600 MOV SP,R0 ; .......POINT TO THE BUFFER
9560 016770 CALL .GTNBR ; .......READ HOURS
016770 004737 025262' JSR PC,.GTNBR
9561 016774 122704 000072 CMPB #':,R4 ; .......IS NEXT CHARACTER A COLON?
9562 017000 001437 BEQ 10$ ; .......YES -- GO READ MINUTE
9563 017002 CALL .CKEOC ; .......NO -- MUST HAVE E-O-C
017002 004737 000264' JSR PC,.CKEOC
9564 017006 005046 CLR -(SP) ; .......SET UP A DIVISOR ON THE STACK
9565 017010 005046 CLR -(SP) ; ........
9566 017012 PUSH #^D100 ; .........SO
017012 012746 000144 MOV #^D100,-(SP)
9567 017016 010601 MOV SP,R1 ; ..........POINT TO THE DIVISOR
9568 017020 CALL .TPDIV ; ..........DO THE DIVISION
017020 004737 022360' JSR PC,.TPDIV
9569 017024 022711 000073 CMP #^D59,(R1) ; ..........IS THE REMAINDER .LT. ^D59?
9570 017030 002474 BLT GTTTOR ; .......... +++001 NO -- GIVE "TOR" ERROR
9571 017032 PUSH (R1) ; ..........YES -- SAVE THE REMAINDER
017032 011146 MOV (R1),-(SP)
9572 017034 022710 000027 CMP #^D23,(R0) ; ...........IS THE HOUR OK?
9573 017040 002470 BLT GTTTOR ; ........... +++001 NO -- GIVE "TOR" ERROR
9574 017042 011000 MOV (R0),R0 ; ...........YES -- GET IT
9575 017044 012701 000074 MOV #^D60,R1 ; ...........MULTIPLIER TO R1
9576 017050 CALL $MUL ; ...........DO THE MULTIPLICATION
017050 004737 000000G JSR PC,$MUL
9577 017054 010100 MOV R1,R0 ; ...........PRODUCT TO R0
9578 017056 062600 ADD (SP)+,R0 ; ...........COMPUTE SECONDS SINCE MIDNIGHT
9579 017060 012701 000036 MOV #^D30,R1 ; ..........MULTIPLIER
9580 017064 CALL $MUL ; ..........DO IT
017064 004737 000000G JSR PC,$MUL
9581 017070 010102 MOV R1,R2 ; ..........SAVE IT IN R2
9582 017072 062706 000006 ADD #^D6,SP ; ..........RESET THE STACK
9583 017076 000431 BR 20$ ; .......AND EXIT
9584 ;
9585
9586 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 265
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
9588 ; [CONTINUED FROM THE PREVIOUS PAGE]
9589
9590 017100 10$:
9591 017100 105725 TSTB (R5)+ ; .......GET OVER THE COLON
9592 017102 011000 MOV (R0),R0 ; .......GET THE HOUR
9593 017104 022700 000027 CMP #^D23,R0 ; .......IS THE HOUR OK?
9594 017110 002444 BLT GTTTOR ; ....... +++001 NO -- GIVE "TOR" ERROR
9595 017112 012701 000074 MOV #^D60,R1 ; .......CONVERT TO MINUTES
9596 017116 CALL $MUL ; .......SO
017116 004737 000000G JSR PC,$MUL
9597 017122 010102 MOV R1,R2 ; .......STASH IT AWAY
9598 017124 010600 MOV SP,R0 ; .......RESET POINTER
9599 017126 CALL .TPCLR ; .......FLUSH THE BUFFER
017126 004737 022572' JSR PC,.TPCLR
9600 017132 CALL .GTNBR ; .......READ THE NEXT NUMBER
017132 004737 025262' JSR PC,.GTNBR
9601 017136 011000 MOV (R0),R0 ; .......GET THE MINUTES
9602 017140 022700 000073 CMP #^D59,R0 ; .......IS THE MINUTE OK?
9603 017144 002426 BLT GTTTOR ; ....... +++001 NO -- GIVE "TOR" ERROR
9604 017146 060200 ADD R2,R0 ; .......ADD THE HOUR
9605 017150 012701 000036 MOV #^D30,R1 ; .......CONVERT TO SECONDS
9606 017154 CALL $MUL ; .......SO
017154 004737 000000G JSR PC,$MUL
9607 017160 010102 MOV R1,R2 ; .......SAVE IT IN R2
9608 017162 20$:
9609 017162 062706 000006 ADD #^D6,SP ; .......RESET THE STACK
9610 017166 30$:
9611 017166 POP R0 ; ....RESTORE R0
017166 012600 MOV (SP)+,R0
9612 017170 010210 MOV R2,(R0) ; ...SET THE TIME
9613 017172 POP <R1,R2,R5> ; ...RESTORE REGISTERS
017172 012601 MOV (SP)+,R1
017174 012602 MOV (SP)+,R2
017176 012605 MOV (SP)+,R5
9614 017200 013737 000120' 000066' MOV .RDXSV,.IRADX ; RESET THE RADIX
9615 017206 005737 000064' TST .INCHC ; LOOK AT THE CHARACTER COUNT
9616 017212 RETURN ; AND EXIT
017212 000207 RTS PC
9617 017214 GTTITF:
9618 017214 ERROR$ ITF ; ERROR -- ILLEGAL TIME FORMAT
017214 012746 035546 MOV #^RITF,-(SP)
017220 104400 TRAP TC.ERR
9619 ;
9620 017222 GTTTOR: ; +++001
9621 017222 ERROR$ TOR ; +++001 ERROR -- TIME OUT OF RANGE
017222 012746 077552 MOV #^RTOR,-(SP)
017226 104400 TRAP TC.ERR
9622 ;
9623
9624 001354 .PSECT MESSAG
9625
9626 001354 GTTMS0:
9627 001354 124 111 115 .ASCIZ %TIME: %
001357 105 072 040
001362 000
9628
9629 017230 .PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 265-1
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
9630
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 266
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
9632 .SBTTL .TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
9633
9634 ;+
9635 ; .TYDAT -- SUBROUTINE TO TYPE A DATE
9636 ;
9637 ; THIS SUBROUTINE WILL OUTPUT A DATE ON THE CONSOLE DEVICE IN THE
9638 ; FOLLOWING FORMAT: "DD-MMM-YY".
9639 ;
9640 ; INPUT ARGUMENTS:
9641 ;
9642 ; R0 POINTS TO A THREE BYTE BLOCK CONTAINING THE DATE
9643 ;
9644 ; OUTPUT ARGUMENTS:
9645 ;
9646 ; NONE.
9647 ; ERROR CODES RETURNED:
9648 ;
9649 ; NONE.
9650 ;-
9651
9652
9653 017230 .TYDAT::
9654 017230 PUSH <.ORADX,R0,R2> ; SAVE CALLER'S REGISTERS
017230 013746 000106' MOV .ORADX,-(SP)
017234 010046 MOV R0,-(SP)
017236 010246 MOV R2,-(SP)
9655 017240 012737 000012 000106' MOV #^D10,.ORADX ; ...SET THE RADIX TO DECIMAL
9656 017246 010002 MOV R0,R2 ; ...CALLER'S POINTER TO R2
9657 017250 122222 CMPB (R2)+,(R2)+ ; ...ADVANCE THE POINTER
9658 017252 111200 MOVB (R2),R0 ; ...GET THE DAY
9659 017254 CALL .TYELA ; ...PRINT IT
017254 004737 025502' JSR PC,.TYELA
9660 017260 CALL .TYMIN ; ...AND A <DASH>
017260 004737 025434' JSR PC,.TYMIN
9661 017264 114200 MOVB -(R2),R0 ; ...GET THE MONTH
9662 017266 006300 ASL R0 ; ...MAKE IT AN EVEN INDEX
9663 017270 016000 002362' MOV TYDMTB-2(R0),R0 ; ...POINT TO THE STRING
9664 017274 CALL .TYMSG ; ...PRINT IT
017274 004737 026202' JSR PC,.TYMSG
9665 017300 CALL .TYMIN ; ...AND A <DASH>
017300 004737 025434' JSR PC,.TYMIN
9666 017304 122742 000011 CMPB #^D9,-(R2) ; ...'09 OR EARLIER?
9667 017310 002404 BLT 10$ ; ...NO -- GO ON
9668 017312 012700 000060 MOV #'0,R0 ; ...YES -- FORCE THE LEADING ZERO
9669 017316 CALL .TYCHR ; ...SO
017316 004737 026240' JSR PC,.TYCHR
9670
9671 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 267
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
9673 ; [CONTINUED FROM THE PREVIOUS PAGE]
9674
9675 017322 10$:
9676 017322 111200 MOVB (R2),R0 ; ...GET THE YEAR
9677 017324 CALL .TYELA ; ...PRINT IT
017324 004737 025502' JSR PC,.TYELA
9678 017330 POP <R2,R0,.ORADX> ; ...RESTORE THE REGISTERS
017330 012602 MOV (SP)+,R2
017332 012600 MOV (SP)+,R0
017334 012637 000106' MOV (SP)+,.ORADX
9679 017340 CALLR .TYSPC ; PRINT A <SPACE> AND EXIT
017340 000137 025454' JMP .TYSPC
9680 ;
9681
9682 002364 .PSECT DATA
9683
9684 002364 TYDMTB:
9685 002364 002643' .WORD JANMSG
9686 002366 002653' .WORD FEBMSG
9687 002370 002664' .WORD MARMSG
9688 002372 002672' .WORD APRMSG
9689 002374 002700' .WORD MAYMSG
9690 002376 002704' .WORD JUNMSG
9691 002400 002711' .WORD JULMSG
9692 002402 002716' .WORD AUGMSG
9693 002404 002725' .WORD SEPMSG
9694 002406 002737' .WORD OCTMSG
9695 002410 002747' .WORD NOVMSG
9696 002412 002760' .WORD DECMSG
9697
9698 017344 .PSECT
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 268
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
9700 .SBTTL .TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
9701
9702 ;+
9703 ; .TYTIM -- TIME OUTPUT SUBROUTINE
9704 ;
9705 ; THIS SUBROUTINE WILL PRINT THE TIME ON THE CONSOLE OUTPUT DEVICE
9706 ; IN THE FOLLOWING FORMAT: "HH:MM"
9707 ;
9708 ; INPUT ARGUMENTS:
9709 ;
9710 ; R0 POINTS TO THE TIME VALUE TO BE PRINTED
9711 ; IN SECONDS-SINCE-MIDNIGHT FORMAT (SSM).
9712 ;
9713 ; OUTPUT ARGUMENTS:
9714 ;
9715 ; NONE.
9716 ;
9717 ; ERROR CODES RETURNED:
9718 ;
9719 ; NONE.
9720 ;-
9721
9722
9723 017344 .TYTIM::
9724 017344 PUSH <.ORADX,R0,R1> ; SAVE CALLER'S REGISTERS
017344 013746 000106' MOV .ORADX,-(SP)
017350 010046 MOV R0,-(SP)
017352 010146 MOV R1,-(SP)
9725 017354 012737 000012 000106' MOV #^D10,.ORADX ; ...SET OUTPUT RADIX TO DECIMAL
9726 017362 011000 MOV (R0),R0 ; ...GET THE TIME IN SSM/2
9727 017364 012701 003410 MOV #^D1800,R1 ; ...DIVISOR FOR HOURS
9728 017370 CALL $DIV ; ...COMPUTE THE HOURS
017370 004737 000000G JSR PC,$DIV
9729 017374 PUSH R0 ; ...SAVE THEM
017374 010046 MOV R0,-(SP)
9730 017376 010100 MOV R1,R0 ; ....REMAINDER TO R0
9731 017400 012701 000036 MOV #^D30,R1 ; ....DIVISOR FOR MINUTES
9732 017404 CALL $DIV ; ....COMPUTE THE MINUTES
017404 004737 000000G JSR PC,$DIV
9733 017410 010001 MOV R0,R1 ; ....SAVE THEM IN R1
9734 017412 022716 000011 CMP #^D9,(SP) ; ....0900 OR EARLIER?
9735 017416 002404 BLT 10$ ; ....NO -- GO ON
9736 017420 012700 000060 MOV #'0,R0 ; ....YES -- FORCE THE LEADING ZERO
9737 017424 CALL .TYCHR ; ....SO
017424 004737 026240' JSR PC,.TYCHR
9738
9739 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET/CLEAR/WHAT "DATE" MACRO M1110 03-OCT-79 11:35 PAGE 269
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
9741 ; [CONTINUED FROM THE PREVIOUS PAGE]
9742
9743 017430 10$:
9744 017430 POP R0 ; ....GET THE HOUR
017430 012600 MOV (SP)+,R0
9745 017432 CALL .TYELA ; ...PRINT IT
017432 004737 025502' JSR PC,.TYELA
9746 017436 CALL .TYCOL ; ...TYPE A <COLON>
017436 004737 025414' JSR PC,.TYCOL
9747 017442 022701 000011 CMP #^D9,R1 ; ...9 MINUTES OR EARLIER?
9748 017446 002404 BLT 20$ ; ...NO -- GO ON
9749 017450 012700 000060 MOV #'0,R0 ; ...YES -- FORCE THE LEADING ZERO
9750 017454 CALL .TYCHR ; ...SO
017454 004737 026240' JSR PC,.TYCHR
9751 017460 20$:
9752 017460 010100 MOV R1,R0 ; ...GET THE MINUTE
9753 017462 CALL .TYELA ; ...PRINT IT
017462 004737 025502' JSR PC,.TYELA
9754 017466 POP <R1,R0,.ORADX> ; ...RESTORE THE REGISTERS
017466 012601 MOV (SP)+,R1
017470 012600 MOV (SP)+,R0
017472 012637 000106' MOV (SP)+,.ORADX
9755 017476 CALLR .TYSPC ; TYPE A <SPACE> AND EXIT
017476 000137 025454' JMP .TYSPC
9756 ;
9757
SETCM -- SET / CLEAR COMMAND DI MACRO M1110 03-OCT-79 11:35 PAGE 270
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
9759 .TITLE SETCM -- SET / CLEAR COMMAND DISPATCH MODULE 7603.30
9760
9761 .IDENT "005000"
9762 ;
9763 ; COPYRIGHT (C) 1975, 1979 BY
9764 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
9765 ;
9766 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
9767 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
9768 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
9769 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
9770 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
9771 ;
9772 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
9773 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
9774 ; CORPORATION.
9775 ;
9776 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
9777 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
9778 ;
9779 ; MODULE: SET / CLEAR COMMAND DISPATCH
9780 ;
9781 ; VERSION: 05-00
9782 ;
9783 ; AUTHOR: R. BELANGER
9784 ;
9785 ; DATE: 7603.30
9786 ;
9787 ; THIS MODULE CONTAINS:
9788 ;
9789 ; 1) SET / CLEAR COMMAND DISPATCH CODE
SETCM -- SET / CLEAR COMMAND DI MACRO M1110 03-OCT-79 11:35 PAGE 271
.SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
9791 .SBTTL .SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
9792
9793 ;+
9794 ; .CLRCM -- THE "CLEAR" COMMAND
9795 ; .SETCM -- THE "SET" COMMAND
9796 ;
9797 ; THESE ROUTINES ARE THE TOP LEVEL FOR THE SET AND CLEAR COMMANDS.
9798 ; ARGUMENTS ARE CHECKED AND A DISPATCH IS MADE FOR THE OBJECT
9799 ; SPECIFIED IN THE COMMAND LINE
9800 ;
9801 ; INPUT ARGUMENTS:
9802 ;
9803 ; NONE.
9804 ;
9805 ; OUTPUT ARGUMENTS:
9806 ;
9807 ; NONE.
9808 ;
9809 ; ERROR CODES RETURNED:
9810 ;
9811 ; ILC -- ILLEGAL COMMAND.
9812 ;-
9813
9814 .ENABL LSB
9815
9816 017502 .CLRCM::
9817 017502 CALL .CKOBJ ; SEE IF OBJECT FOLLOWS
017502 004737 000350' JSR PC,.CKOBJ
9818 017506 005737 000104' TST .NOTSW ; LOOK AT THE "NOT" SWITCH
9819 017512 001007 BNE 10$ ; ALREADY SAYS CLEAR -- GO ON
9820 017514 005137 000104' COM .NOTSW ; INVERT THE "NOT" SWITCH
9821 017520 000404 BR 10$ ; AND TREAT AS A "SET" COMMAND
9822 ;
9823 017522 .SETCM::
9824 017522 CALL .CKOBJ ; LOOK FOR AN OBJECT
017522 004737 000350' JSR PC,.CKOBJ
9825 017526 005037 000104' CLR .NOTSW ; CLEAR THE "NOT" SWITCH
9826 017532 .SETC0:: ; "SET NOT" ENTRY POINT
9827 017532 10$:
9828 017532 012700 004450' MOV #.SETTB,R0 ; TABLE POINTER TO R0
9829 017536 CALL .TSCAN ; SCAN IT
017536 004737 012672' JSR PC,.TSCAN
9830 017542 011001 MOV (R0),R1 ; LEGAL BITS TO R1
9831 017544 005101 COM R1 ; INVERT THEM
9832 017546 040137 000076' BIC R1,.LGLWD ; SET UP NEW LEGAL WORD
9833 017552 CALLR @2(R0) ; DO WHAT IT SAYS TO
017552 000170 000002 JMP @2(R0)
9834 ;
9835
9836 .DSABL LSB
SETCM -- SET / CLEAR COMMAND DI MACRO M1110 03-OCT-79 11:35 PAGE 272
.WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
9838 .SBTTL .WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
9839
9840 ;+
9841 ; .WHATC -- THE "WHAT" COMMAND DISPATCH
9842 ;
9843 ; THIS ROUTINE IS THE TOPMOST LEVEL OF THE "WHAT COMMAND WHICH
9844 ; PERFORMS THE DISPATCH FOR THE SPECIFIED OBJECT.
9845 ;
9846 ; INPUT ARGUMENTS:
9847 ;
9848 ; NONE.
9849 ;
9850 ; OUTPUT ARGUMENTS:
9851 ;
9852 ; NONE.
9853 ;
9854 ; ERROR CODES RETURNED:
9855 ;
9856 ; NONE.
9857 ;-
9858
9859 017556 .WHATC::
9860 017556 012700 004704' MOV #.WHATB,R0 ; TABLE POINTER TO R0
9861 017562 CALL .CKOBJ ; MUST HAVE AN OBJECT
017562 004737 000350' JSR PC,.CKOBJ
9862 017566 CALL .TSCAN ; SCAN IT
017566 004737 012672' JSR PC,.TSCAN
9863 017572 CALL .CKEOC ; MUST HAVE E-O-C
017572 004737 000264' JSR PC,.CKEOC
9864 017576 CALLR @2(R0) ; DO WHAT IT SAYS
017576 000170 000002 JMP @2(R0)
9865 ;
SETCM -- SET / CLEAR COMMAND DI MACRO M1110 03-OCT-79 11:35 PAGE 273
.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
9867 .SBTTL .SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
9868
9869 017602 .SCNOT:: ; SET/CLEAR "NO"
9870 017602 CALL .CKOBJ ; MUST HAVE AN OBJECT
017602 004737 000350' JSR PC,.CKOBJ
9871 017606 005137 000104' COM .NOTSW ; INVERT THE "NOT" SWITCH
9872 017612 000747 BR .SETC0 ; AND GET NEXT OBJECT
9873 ;
SHUTC -- SHUTDOWN COMMAND MODUL MACRO M1110 03-OCT-79 11:35 PAGE 274
.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
9875 .TITLE SHUTC -- SHUTDOWN COMMAND MODULE 7707.12
9876
9877 .IDENT "005000"
9878 ;
9879 ; COPYRIGHT (C) 1975, 1979 BY
9880 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
9881 ;
9882 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
9883 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
9884 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
9885 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
9886 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
9887 ;
9888 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
9889 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
9890 ; CORPORATION.
9891 ;
9892 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
9893 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
9894 ;
9895 ; MODULE: SHUTDOWN COMMAND
9896 ;
9897 ; VERSION: 03-06
9898 ;
9899 ; AUTHOR: R. BELANGER
9900 ;
9901 ; DATE: 7707.12
9902 ;
9903 ; THIS MODULE CONTAINS:
9904 ;
9905 ; 1) SHUTDOWN COMMAND CODE
SHUTC -- SHUTDOWN COMMAND MODUL MACRO M1110 03-OCT-79 11:35 PAGE 275
.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
9907 .SBTTL .SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
9908
9909 ;+
9910 ; .SHUTC -- THE SHUTDOWN COMMAND
9911 ;
9912 ; THIS ROUTINE WILL DEPOSIT A -1 INTO KL LOCATION 30 (EXEC VIRTUAL)
9913 ; TO SHUTDOWN TIMESHARING.
9914 ;
9915 ; INPUT ARGUMENTS:
9916 ;
9917 ; NONE.
9918 ;
9919 ; OUTPUT ARGUMENTS:
9920 ;
9921 ; NONE.
9922 ;
9923 ; ERROR CODES RETURNED:
9924 ;
9925 ; NONE
9926 ;-
9927
9928 017614 .SHUTC::
9929 017614 CALL .CKEOC ; CHECK E-O-C
017614 004737 000264' JSR PC,.CKEOC
9930 017620 112737 000001 000000G MOVB #1,.NOHLT ; TELL RSX20F NOT TO PANIC OVER HALTED KL
9931 017626 005046 CLR -(SP) ; CLEAR ADDRESS BUFFER
9932 017630 PUSH #30 ; .SET THE ADDRESS UP
017630 012746 000030 MOV #30,-(SP)
9933 017634 010600 MOV SP,R0 ; ..GET ADDRESS POINTER
9934 017636 PUSH #17 ; ..SET UP DEPOSIT WORD
017636 012746 000017 MOV #17,-(SP)
9935 017642 PUSH #-^D1 ; ...
017642 012746 177777 MOV #-^D1,-(SP)
9936 017646 PUSH (SP) ; ....
017646 011646 MOV (SP),-(SP)
9937 017650 010601 MOV SP,R1 ; .....SAVE THE POINTER
9938 017652 PUSH R1 ; .....SET UP THE DATA BLOCK
017652 010146 MOV R1,-(SP)
9939 017654 PUSH R0 ; ......
017654 010046 MOV R0,-(SP)
9940 017656 010601 MOV SP,R1 ; .......POINT TO THE BLOCK
9941 017660 012700 000040 MOV #ED.EXV,R0 ; .......EXEC VIRTUAL REFERENCE
9942 017664 CALL .DPKLM ; .......DO THE DEPOSIT
017664 004737 007116' JSR PC,.DPKLM
9943 017670 062706 000016 ADD #^D14,SP ; .......CLEAR THE STACK
9944 017674 CALL ..DTP2 ; START SECONDARY PROTOCOL
017674 004737 000000G JSR PC,..DTP2
9945 017700 CALLR .EXITP ; EXIT THE PARSER
017700 000137 012436' JMP .EXITP
9946 ;
STRTC -- START COMMAND DISPATCH MACRO M1110 03-OCT-79 11:35 PAGE 276
.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
9948 .TITLE STRTC -- START COMMAND DISPATCH MODULE 7603.30
9949
9950 .IDENT "005000"
9951
9952 ;
9953 ; COPYRIGHT (C) 1975, 1979 BY
9954 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
9955 ;
9956 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
9957 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
9958 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
9959 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
9960 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
9961 ;
9962 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
9963 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
9964 ; CORPORATION.
9965 ;
9966 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
9967 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
9968 ;
9969 ; MODULE: START COMMAND DISPATCH
9970 ;
9971 ; VERSION: 05-00
9972 ;
9973 ; AUTHOR: R. BELANGER
9974 ;
9975 ; DATE: 7603.30
9976 ;
9977 ; THIS MODULE CONTAINS:
9978 ;
9979 ; 1) START COMMAND DISPATCH CODE
STRTC -- START COMMAND DISPATCH MACRO M1110 03-OCT-79 11:35 PAGE 277
.STRTC -- THE "START" COMMAND 7602.26
9981 .SBTTL .STRTC -- THE "START" COMMAND 7602.26
9982
9983 ;+
9984 ; .STRTC -- THE "START" COMMAND.
9985 ;
9986 ; THIS IS THE TOP LEVEL OF THE "START" COMMAND, WHICH CHECKS FOR
9987 ; ARGUMENTS AND DISPATCHES TO THE PROPER LOWER LEVEL ROUTINE.
9988 ;
9989 ; INPUT ARGUMENTS:
9990 ;
9991 ; NONE.
9992 ;
9993 ; OUTPUT ARGUMENTS:
9994 ;
9995 ; NONE.
9996 ;
9997 ; ERROR CODES RETURNED:
9998 ;
9999 ; NONE.
10000 ;-
10001
10002 017704 .STRTC::
10003 017704 CALL .CKARG ; LOOK FOR AN ARGUMENT
017704 004737 000140' JSR PC,.CKARG
10004 017710 001012 BNE .STRTT ; START THE TEN IF NUMERIC
10005 017712 012700 004666' MOV #.STRTB,R0 ; TABLE POINTER TO R0
10006 017716 CALL .TSCAN ; SCAN THE TABLE
017716 004737 012672' JSR PC,.TSCAN
10007 017722 CALLR @2(R0) ; DISPATCH FOR THE OBJECT
017722 000170 000002 JMP @2(R0)
10008 ;
STRTC -- START COMMAND DISPATCH MACRO M1110 03-OCT-79 11:35 PAGE 278
.STRTT -- THE "START <TEN>" COMMAND 7710.11
10010 .SBTTL .STRTT -- THE "START <TEN>" COMMAND 7710.11
10011
10012 ;+
10013 ; .STRTT -- THE "START <TEN>" COMMAND.
10014 ; .JUMPC -- THE "JUMP" COMMAND.
10015 ;
10016 ; THESE ROUTINES WILL START THE KL IN EXEC (KERNEL) MODE AT THE
10017 ; ADDRESS SPECIFIED IN THE INPUT STREAM.
10018 ;
10019 ; INPUT ARGUMENTS:
10020 ;
10021 ; NONE.
10022 ;
10023 ; OUTPUT ARGUMENTS:
10024 ;
10025 ; NONE.
10026 ;
10027 ; ERROR CODES RETURNED:
10028 ;
10029 ; ILS -- ILLEGAL SEPARATOR CHARACTER
10030 ; KLA -- KL ADDRESS ERROR
10031 ; MRA -- MISSING REQUIRED ARGUMENT
10032 ; SZI -- START AT ZERO ILLEGAL
10033 ;-
10034
10035 .MCALL $DEF
10036
10037 017726 $DEF
STRTC -- START COMMAND DISPATCH MACRO M1110 03-OCT-79 11:35 PAGE 279
.STRTT -- THE "START <TEN>" COMMAND 7710.11
10039 .ENABL LSB
10040
10041 017726 .JUMPC::
10042 017726 CALL 10$ ; START THE KL
017726 004737 017742' JSR PC,10$
10043 017732 000137 012436' JMP .EXITP ; AND EXIT FROM THE PARSER
10044 ;
10045 017736 .STRTT::
10046 017736 CALL .CKRNP ; SEE IF THE KL IS RUNNING
017736 004737 000366' JSR PC,.CKRNP
10047 017742 10$:
10048 017742 005046 CLR -(SP) ; CLEAR ADDRESS BUFFER
10049 017744 005046 CLR -(SP) ; .
10050 017746 005046 CLR -(SP) ; ..
10051 017750 010600 MOV SP,R0 ; ...POINTER TO R0
10052 017752 CALL .GTKLA ; ...GET THE START ADDRESS
017752 004737 024330' JSR PC,.GTKLA
10053 017756 CALL .TPTST ; ...SEE IF IT IS NON ZERO
017756 004737 022674' JSR PC,.TPTST
10054 017762 001424 BEQ STASZI ; ...CAN'T START KL AT 0
10055 017764 CALL .CKEOC ; ...CHECK FOR E-O-C
017764 004737 000264' JSR PC,.CKEOC
10056 017770 032737 000002 000000G BIT #LG.PRG,.FEMOD ; ...ARE WE AT LEAST IN PROGRAMMER MODE??
10057 017776 001402 BEQ 20$ ; ...NO -- JUST GO ON
10058 020000 CALL .ABORT ; ...YES -- START THE KL BY ANY MEANS
020000 004737 000004' JSR PC,.ABORT
10059 020004 20$:
10060 020004 010001 MOV R0,R1 ; ...POINTER FOR THE CALL
10061 020006 CALL .KLST ; ...START THE KL
020006 004737 010314' JSR PC,.KLST
10062 020012 062706 000006 ADD #^D6,SP ; ...CLEAR THE STACK
10063 020016 005037 000000G CLR .NOERR ; LET RSX20F RECOGNIZE KL ERRORS
10064 020022 052737 000000G 000002G BIS #EF.CRI,.COMEF+2 ; DECLARE THE COMM REGION INVALID
10065 020030 CALLR ..DTP2 ; START UP SECONDARY PROTOCOL AND EXIT.
020030 000137 000000G JMP ..DTP2
10066 ;
10067 020034 STASZI:
10068 020034 ERROR$ SZI ; ERROR -- START AT ZERO ILLEGAL
020034 012746 075331 MOV #^RSZI,-(SP)
020040 104400 TRAP TC.ERR
10069 ;
10070
10071 .DSABL LSB
STRTC -- START COMMAND DISPATCH MACRO M1110 03-OCT-79 11:35 PAGE 280
.STRTU -- THE "START MICROCODE" COMMAND 7602.26
10073 .SBTTL .STRTU -- THE "START MICROCODE" COMMAND 7602.26
10074
10075 ;+
10076 ; .STRTU -- THE "START MICROCODE" COMMAND.
10077 ;
10078 ; THIS ROUTINE STARTS THE KL MICROCODE AT THE ADDRESS SPECIFIED.
10079 ; IF NO ADDRESS IS SPECIFIED, 0000 IS ASSUMED.
10080 ;
10081 ; INPUT ARGUMENTS:
10082 ;
10083 ; NONE.
10084 ;
10085 ; OUTPUT ARGUMENTS:
10086 ;
10087 ; NONE.
10088 ;
10089 ; ERROR CODES RETURNED:
10090 ;
10091 ; NONE.
10092 ;-
10093
10094 020042 .STRTU::
10095 020042 CALL .CKRUN ; SEE IF THE KL IS RUNNING
020042 004737 000376' JSR PC,.CKRUN
10096 020046 005000 CLR R0 ; CLEAR R0 (FOR DEFAULT)
10097 020050 111504 MOVB (R5),R4 ; LOOK AT THE CURRENT CHARACTER
10098 020052 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
10099 020060 001004 BNE 10$ ; DO DEFAULT START IF E-O-C
10100 020062 CALL .GTELN ; GO READ THE ADDRESS
020062 004737 024300' JSR PC,.GTELN
10101 020066 CALL .CKEOC ; MUST HAVE E-O-C
020066 004737 000264' JSR PC,.CKEOC
10102 020072 10$:
10103 020072 032737 100000 000000G BIT #KF.CLK,.KLFLG ; IS THE KL CLOCK ON?
10104 020100 001402 BEQ 20$ ; NO -- JUST START THE MICROCODE
10105 020102 CALL .KLHLT ; YES -- STOP THE KL
020102 004737 010164' JSR PC,.KLHLT
10106 020106 20$:
10107 020106 CALLR .STUCD ; START THE KL MICROCODE AND RETURN
020106 000137 012106' JMP .STUCD
10108 ;
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 281
.STRTU -- THE "START MICROCODE" COMMAND 7602.26
10110 .TITLE SWCMD -- SET / CLEAR COMMAND MODULE 7702.16
10111
10112 .IDENT "005000"
10113
10114 ; COPYRIGHT (C) 1975, 1979 BY
10115 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
10116 ;
10117 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
10118 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
10119 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
10120 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
10121 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
10122 ;
10123 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
10124 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
10125 ; CORPORATION.
10126 ;
10127 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
10128 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
10129 ;
10130 ; MODULE: SET / CLEAR COMMAND
10131 ;
10132 ; VERSION: 05-00
10133 ;
10134 ; AUTHOR: R. BELANGER
10135 ;
10136 ; DATE: 7702.16
10137 ;
10138 ; THIS MODULE CONTAINS:
10139 ;
10140 ; 1) SET / CLEAR CONSOLE COMMAND CODE
10141 ;
10142 ; MODIFICATIONS:
10143 ;
10144 ; NO. DATE PROGRAMMER REASON
10145 ; --- ---- ---------- ------
10146 ; 001 28-FEB-77 R. BELANGER CHANGE "ECL" ERROR TO "CLE"
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 282
.SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
10148 .SBTTL .SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
10149
10150 .ENABL LSB
10151
10152 020112 .SCCON::
10153 020112 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
10154 020116 001016 BNE 10$ ; YES -- SET OPERATOR
10155 020120 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
10156 020126 001017 BNE .SCCOP ; E-O-C -- SET PROGRAMMER
10157 020130 CALL .CKOBJ ; MUST HAVE AN OBJECT
020130 004737 000350' JSR PC,.CKOBJ
10158 020134 012700 004342' MOV #.SCCOT,R0 ; TABLE POINTER TO R0
10159 020140 CALL .TSCAN ; SCAN THE TABLE
020140 004737 012672' JSR PC,.TSCAN
10160 020144 CALL .CKEOC ; MUST HAVE E-O-C
020144 004737 000264' JSR PC,.CKEOC
10161 020150 CALLR @2(R0) ; EXECUTE THE COMMAND
020150 000170 000002 JMP @2(R0)
10162 ;
10163 020154 10$:
10164 020154 CALL .CKEOC ; MUST HAVE E-O-C IF CLEAR
020154 004737 000264' JSR PC,.CKEOC
10165 020160 .SCCOO::
10166 020160 012701 000001 MOV #LG.OPR,R1 ; OPERATOR CONSULE
10167 020164 000405 BR 20$ ; EXIT
10168 ;
10169 020166 .SCCOP::
10170 020166 012701 000003 MOV #LG.PRM,R1 ; PROGRAMMER CONSOLE
10171 020172 000402 BR 20$ ; EXIT
10172 ;
10173 020174 .SCCOM::
10174 020174 012701 000007 MOV #LG.ALL,R1 ; MAINTENANCE CONSOLE
10175 020200 20$:
10176 020200 105737 000000G TSTB .KLNSW+0 ; +++001 IS REMOTE KLINIK MODE ENABLED?
10177 020204 003403 BLE 30$ ; +++001 NO -- GO ON
10178 020206 120137 000001G CMPB R1,.KLNMD+1 ; +++001 YES -- CAN WE DO THIS?
10179 020212 003005 BGT SCCCLE ; NO -- GIVE "CLE" ERROR
10180 020214 30$:
10181 020214 010137 000000G MOV R1,.FEMOD ; YES -- SET THE CONSOLE MODE
10182 020220 000405 BR .WHCON ; PRINT CONSOLE MODE AND EXIT
10183 ;
10184 020222 .SCCOU::
10185 020222 CALLR .EXITP ; EXIT TO USER CONSOLE
020222 000137 012436' JMP .EXITP
10186 ;
10187 020226 SCCCLE:
10188 020226 ERROR$ CLE ; ERROR -- CONSOLE LIMIT EXCEEDED
020226 012746 012245 MOV #^RCLE,-(SP)
020232 104400 TRAP TC.ERR
10189 ;
10190
10191 .DSABL LSB
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 283
.WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
10193 .SBTTL .WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
10194
10195 020234 .WHCON::
10196 020234 012700 001363' MOV #WCMMSG,R0 ; MESSAGE POINTER TO R0
10197 020240 CALL .TYMSG ; PRINT IT
020240 004737 026202' JSR PC,.TYMSG
10198 020244 013701 000000G MOV .FEMOD,R1 ; MODE WORD TO R1
10199 020250 012700 002567' MOV #MNTMSG,R0 ; MAINTENANCE
10200 020254 032701 000004 BIT #LG.MNT,R1 ; IS IT ON?
10201 020260 001007 BNE 10$ ; YES -- SAY SO
10202 020262 012700 002614' MOV #PRGMSG,R0 ; NO -- PROGRAMMER?
10203 020266 032701 000002 BIT #LG.PRG,R1 ; IS IT ON?
10204 020272 001002 BNE 10$ ; YES -- SAY SO
10205 020274 012700 002603' MOV #OPRMSG,R0 ; NO -- MUST BE OPERATOR
10206 020300 10$:
10207 020300 CALLR .TYLIN ; YES -- PRINT AND EXIT
020300 000137 026166' JMP .TYLIN
10208 ;
10209
10210 001363 .PSECT MESSAG
10211
10212 001363 WCMMSG:
10213 001363 040 103 117 .ASCIZ % CONSOLE MODE: %
001366 116 123 117
001371 114 105 040
001374 115 117 104
001377 105 072 040
001402 000
10214
10215 020304 .PSECT
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 284
.SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
10217 .SBTTL .SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
10218
10219 020304 .SCINC:: ; SET/CLEAR "INCREMENT"
10220 020304 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
10221 020310 001016 BNE 10$ ; YES -- JUST CLEAR IT
10222 020312 005046 CLR -(SP) ; NO -- CLEAR A BUFFER ON THE STACK
10223 020314 005046 CLR -(SP) ; .
10224 020316 005046 CLR -(SP) ; ..
10225 020320 010600 MOV SP,R0 ; ...POINT TO THE BUFFER
10226 020322 CALL .GTNUM ; ...READ THE NUMBER
020322 004737 024362' JSR PC,.GTNUM
10227 020326 CALL .CKEOC ; ...MUST HAVE E-O-C
020326 004737 000264' JSR PC,.CKEOC
10228 020332 012701 000070' MOV #.KLINC,R1 ; ...POINT TO THE INCREMENT
10229 020336 POP (R1)+ ; ...LOAD THE NEW INCREMENT
020336 012621 MOV (SP)+,(R1)+
10230 020340 POP (R1)+ ; ..
020340 012621 MOV (SP)+,(R1)+
10231 020342 POP (R1) ; .
020342 012611 MOV (SP)+,(R1)
10232 020344 000406 BR 20$ ; AND EXIT
10233 ;
10234 020346 10$:
10235 020346 CALL .CKEOC ; MUST HAVE E-O-C
020346 004737 000264' JSR PC,.CKEOC
10236 020352 012700 000070' MOV #.KLINC,R0 ; POINT TO THE INCREMENT
10237 020356 CALL .TPCLR ; CLEAR IT
020356 004737 022572' JSR PC,.TPCLR
10238 020362 20$:
10239 ; BR .WHINC ; PRINT INCREMENT AND EXIT
10240 ;
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 285
.WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
10242 .SBTTL .WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
10243
10244 .ENABL LSB
10245
10246 020362 .WHINC::
10247 020362 012700 001403' MOV #WHIMSG,R0 ; MESSAGE POINTER TO R0
10248 020366 012701 000070' MOV #.KLINC,R1 ; INREMENT POINTER
10249 020372 000412 BR 10$ ; DO COMMON CODE
10250 ;
10251 020374 .WHRPT::
10252 020374 013737 000106' 000120' MOV .ORADX,.RDXSV ; SAVE CURRENT OUTPUT RADIX
10253 020402 012737 000012 000106' MOV #^D10,.ORADX ; SET IT TO DECIMAL
10254 020410 012700 001423' MOV #WHRMSG,R0 ; MESSAGE POINTER TO R0
10255 020414 012701 000124' MOV #.RPTCT,R1 ; REPEAT POINTER
10256 020420 10$:
10257 020420 CALL .TYMSG ; PRINT THE MESSAGE
020420 004737 026202' JSR PC,.TYMSG
10258 020424 005037 000100' CLR .LDZFL ; NO LEADING ZEROES
10259 020430 010100 MOV R1,R0 ; POINTER TO R0
10260 020432 CALL .TYKLN ; PRINT THE NUMBER
020432 004737 025676' JSR PC,.TYKLN
10261 020436 013737 000120' 000106' MOV .RDXSV,.ORADX ; RESET THE OUTPUT RADIX
10262 020444 CALLR .TCRLF ; END THE LINE AND EXIT
020444 000137 026272' JMP .TCRLF
10263 ;
10264
10265 .DSABL LSB
10266
10267 001403 .PSECT MESSAG
10268
10269 001403 WHIMSG:
10270 001403 040 113 114 .ASCIZ % KL INCREMENT: %
001406 040 111 116
001411 103 122 105
001414 115 105 116
001417 124 072 040
001422 000
10271 001423 WHRMSG:
10272 001423 040 122 105 .ASCIZ % REPEAT COUNT: %
001426 120 105 101
001431 124 040 103
001434 117 125 116
001437 124 072 040
001442 000
10273 020450 .PSECT
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 286
.SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
10275 .SBTTL .SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
10276
10277 .ENABL LSB
10278
10279 020450 .SCMEM:: ; SET / CLEAR "MEMORY"
10280 020450 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
10281 020454 001015 BNE 10$ ; YES -- GO DO THE CLEAR
10282 020456 CALL .CKOBJ ; NO -- MUST HAVE AN OBJECT
020456 004737 000350' JSR PC,.CKOBJ
10283 020462 012700 004324' MOV #.SCMTB,R0 ; TABLE POINTER TO R0
10284 020466 CALL .TSCAN ; SCAN IT
020466 004737 012672' JSR PC,.TSCAN
10285 020472 CALL .CKEOC ; MUST BE E-O-C
020472 004737 000264' JSR PC,.CKEOC
10286 020476 CALLR @2(R0) ; DISPATCH FOR OBJECT
020476 000170 000002 JMP @2(R0)
10287 ;
10288 020502 .SCMEL:: ; SET MEMORY ELEVEN
10289 020502 012700 000002 MOV #^D2,R0 ; ELEVEN OFFSET IS 2
10290 020506 000403 BR 20$ ; DO COMMON STUFF
10291 020510 10$:
10292 020510 CALL .CKEOC ; MUST HAVE E-O-C TO CLEAR
020510 004737 000264' JSR PC,.CKEOC
10293 020514 .SCMKL::
10294 020514 005000 CLR R0 ; TEN OFFSET IS 0
10295 020516 20$:
10296 020516 010037 000102' MOV R0,.MEMFL ; SET THE FLAG
10297 ; BR .WHMEM ; AND EXIT
10298 ;
10299
10300 .DSABL LSB
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 287
.WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
10302 .SBTTL .WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
10303
10304 020522 .WHMEM::
10305 020522 012700 001443' MOV #WHMMSG,R0 ; MESSAGE POINTER TO R0
10306 020526 CALL .TYMSG ; TYPE IT
020526 004737 026202' JSR PC,.TYMSG
10307 020532 012700 002414' MOV #TENMSG,R0 ; ASSUME TEN
10308 020536 005737 000102' TST .MEMFL ; IS IT "TEN"
10309 020542 001402 BEQ 10$ ; YES -- SAY SO
10310 020544 012700 002405' MOV #ELEMSG,R0 ; NO -- SAY "ELEVEN"
10311 020550 10$:
10312 020550 CALLR .TYLIN ; PRINT AND EXIT
020550 000137 026166' JMP .TYLIN
10313 ;
10314
10315 001443 .PSECT MESSAG
10316
10317 001443 WHMMSG:
10318 001443 040 115 105 .ASCIZ % MEMORY: %
001446 115 117 122
001451 131 072 040
001454 000
10319
10320 020554 .PSECT
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 288
.SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
10322 .SBTTL .SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
10323
10324 020554 .SCOFS:: ; SET/CLEAR "OFFSET"
10325 020554 012700 000000' MOV #.APRWD,R0 ; DEFAULT OFFSET
10326 020560 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
10327 020564 001002 BNE 10$ ; YES -- JUST EXIT
10328 020566 CALL .GTELN ; NO -- READ NEW OFFSET
020566 004737 024300' JSR PC,.GTELN
10329 020572 10$:
10330 020572 CALL .CKEOC ; MUST HAVE E-O-C
020572 004737 000264' JSR PC,.CKEOC
10331 020576 010037 000122' MOV R0,.RELWD ; SET IT
10332 ; BR .WHOFS ; PRINT IT AND RETURN
10333 ;
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 289
.WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
10335 .SBTTL .WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
10336
10337 020602 .WHOFS::
10338 020602 012700 001455' MOV #WHOMSG,R0 ; MESSAGE POINTER TO R0
10339 020606 CALL .TYMSG ; PRINT IT
020606 004737 026202' JSR PC,.TYMSG
10340 020612 013700 000122' MOV .RELWD,R0 ; OFFSET TO R0
10341 020616 CALL .TYELA ; PRINT IT
020616 004737 025502' JSR PC,.TYELA
10342 020622 CALLR .TCRLF ; END THE LINE AND EXIT
020622 000137 026272' JMP .TCRLF
10343 ;
10344
10345 001455 .PSECT MESSAG
10346
10347 001455 WHOMSG:
10348 001455 040 120 104 .ASCIZ % PDP-11 OFFSET: %
001460 120 055 061
001463 061 040 117
001466 106 106 123
001471 105 124 072
001474 040 000
10349 020626 .PSECT
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 290
.SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
10351 .SBTTL .SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
10352
10353 020626 .SCRLD:: ; SET/CLEAR "RELOAD"
10354 020626 CALL .CKEOC ; MUST HAVE E-O-C
020626 004737 000264' JSR PC,.CKEOC
10355 020632 013737 000104' 000000G MOV .NOTSW,.KLRLD ; SET/CLEAR THE SWITCH
10356 020640 000413 BR .WHRLD ; PRINT THE STATE AND EXIT
10357 ;
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 291
.SCRTY -- THE "SET / CLEAR RETRY" COMMAND 7-DEC-78
10359 .SBTTL .SCRTY -- THE "SET / CLEAR RETRY" COMMAND 7-DEC-78
10360
10361 020642 .SCRTY:: ;[TCO 4.2107] SET/CLEAR "RETRY"
10362 020642 CALL .CKEOC ;[TCO 4.2107] MUST HAVE E-O-C
020642 004737 000264' JSR PC,.CKEOC
10363 020646 012701 000001 MOV #1,R1 ;[TCO 4.2107] DEFAULT IS SET
10364 020652 005737 000104' TST .NOTSW ;[TCO 4.2107] IS THIS A CLEAR
10365 020656 001401 BEQ 10$ ;[TCO 4.2107] NO -- GO ON
10366 020660 005001 CLR R1 ;[TCO 4.2107] YES -- CLEAR FLAG
10367 020662 010137 000000G 10$: MOV R1,.KACFL ;[TCO 4.2107] SET/CLEAR FLAG
10368 020666 000412 BR .WHRTY ;[TCO 4.2107] PRINT STATE AND EXIT
10369 ;
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 292
.WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
10371 .SBTTL .WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
10372
10373 .ENABL LSB
10374
10375 020670 .WHRLD::
10376 020670 012700 001476' MOV #WRLMSG,R0 ; MESSAGE POINTER TO R0
10377 020674 CALL .TYMSG ; PRINT IT
020674 004737 026202' JSR PC,.TYMSG
10378 020700 012700 000037' MOV #OFFMSG,R0 ; ASSUME "OFF"
10379 020704 005737 000000G TST .KLRLD ; IS IT OFF?
10380 020710 001014 BNE 20$ ; YES -- GO ON
10381 020712 000411 BR 10$ ; NO -- SAY SO
10382 ;
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 293
.WHRTY -- THE "WHAT RETRY" COMMAND 7-DEC-78
10384 .SBTTL .WHRTY -- THE "WHAT RETRY" COMMAND 7-DEC-78
10385
10386 020714 .WHRTY:: ; [TCO 4.2107] WHAT RETRY COMMAND ENTRY
10387 020714 012700 001517' MOV #WRTMSG,R0 ; [TCO 4.2107] MESSAGE POINTER
10388 020720 CALL .TYMSG ; [TCO 4.2107] PRINT IT
020720 004737 026202' JSR PC,.TYMSG
10389 020724 012700 000037' MOV #OFFMSG,R0 ; [TCO 4.2107] ASSUME OFF
10390 020730 005737 000000G TST .KACFL ; [TCO 4.2107] IS IT SET?
10391 020734 001402 BEQ 20$ ; [TCO 4.2107] NO -- GO ON
10392 020736 10$:
10393 020736 012700 000034' MOV #ONMSG,R0 ; [TCO 4.2107] YES -- CHANGE MESSAGE
10394 020742 20$:
10395 020742 CALLR .TYLIN ; [TCO 4.2107] PRINT AND EXIT
020742 000137 026166' JMP .TYLIN
10396 ;
10397
10398 .DSABL LSB
10399
10400 001476 .PSECT MESSAG
10401
10402 001476 WRLMSG:
10403 001476 040 122 105 .ASCIZ % RELOAD ENABLE: %
001501 114 117 101
001504 104 040 105
001507 116 101 102
001512 114 105 072
001515 040 000
10404 001517 WRTMSG:
10405 001517 040 122 105 .ASCIZ % RETRY ENABLE: %
001522 124 122 131
001525 040 105 116
001530 101 102 114
001533 105 072 040
001536 000
10406 020746 .PSECT
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 294
.SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
10408 .SBTTL .SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
10409
10410 020746 .SCRPT::
10411 020746 013737 000066' 000120' MOV .IRADX,.RDXSV ; SAVE CURRENT INPUT RADIX
10412 020754 012737 000012 000066' MOV #^D10,.IRADX ; SET IT TO DECIMAL
10413 020762 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
10414 020764 005046 CLR -(SP) ; .
10415 020766 005046 CLR -(SP) ; ..
10416 020770 010600 MOV SP,R0 ; ...POINT TO THE BUFFER
10417 020772 005737 000104' TST .NOTSW ; ...IS THIS A CLEAR?
10418 020776 001002 BNE 10$ ; ...YES -- DO THE CLEAR
10419 021000 CALL .GTKLN ; ...NO -- READ THE NEW REPEAT COUNT
021000 004737 024362' JSR PC,.GTKLN
10420 021004 10$:
10421 021004 CALL .CKEOC ; ...MUST HAVE E-O-C
021004 004737 000264' JSR PC,.CKEOC
10422 021010 012701 000124' MOV #.RPTCT,R1 ; ...POINT TO THE CURRENT REPEAT COUNT
10423 021014 POP <(R1)+,(R1)+,(R1)>
021014 012621 MOV (SP)+,(R1)+
021016 012621 MOV (SP)+,(R1)+
021020 012611 MOV (SP)+,(R1)
10424 021022 013700 000132' MOV .RPTPT,R0 ; POINT TO THE STACKED REPEAT COUNT
10425 021026 CALL .TPCLR ; CLEAR IT OUT
021026 004737 022572' JSR PC,.TPCLR
10426 021032 013737 000120' 000066' MOV .RDXSV,.IRADX ; RESET INPUT RADIX
10427 021040 CALLR .WHRPT ; PRINT THE NEW REPEAT COUNT AND EXIT
021040 000137 020374' JMP .WHRPT
10428 ;
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 295
.SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
10430 .SBTTL .SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
10431
10432 021044 .SCTRK:: ; SET/CLEAR "TRACK"
10433 021044 CALL .CKEOC ; MUST HAVE E-O-C
021044 004737 000264' JSR PC,.CKEOC
10434 021050 005001 CLR R1 ; CLEAR R1
10435 021052 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
10436 021056 001001 BNE 10$ ; YES -- GO ON
10437 021060 005101 COM R1 ; NO -- INVERT THE SWITCH
10438 021062 10$:
10439 021062 010137 000142' MOV R1,.TRKWD ; SET/CLEAR THE SWITCH
10440 ; BR .WHTRK ; PRINT STATE AND RETURN
10441 ;
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 296
.WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
10443 .SBTTL .WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
10444
10445 .ENABL LSB
10446
10447 021066 .WHTRK::
10448 021066 012700 001537' MOV #WHTMSG,R0 ; MESSAGE POINTER TO R0
10449 021072 CALL .TYMSG ; PRINT IT
021072 004737 026202' JSR PC,.TYMSG
10450 021076 012700 000034' MOV #ONMSG,R0 ; ASSUME "ON"
10451 021102 005737 000142' TST .TRKWD ; IS IT ON?
10452 021106 001021 BNE 10$ ; YES -- GO ON
10453 021110 012700 000037' MOV #OFFMSG,R0 ; NO -- SAY SO
10454 021114 000416 BR 10$ ; PRINT AND EXIT
10455 ;
10456
SWCMD -- SET / CLEAR COMMAND MO MACRO M1110 03-OCT-79 11:35 PAGE 297
.WHATV -- THE "WHAT VERSION" COMMAND 7607.21
10458 .SBTTL .WHATV -- THE "WHAT VERSION" COMMAND 7607.21
10459
10460 021116 .WHATV::
10461 021116 012700 001557' MOV #WVMSG1,R0 ; MESSAGE POINTER TO R0
10462 021122 CALL .TYMSG ; PRINT THAT
021122 004737 026202' JSR PC,.TYMSG
10463 021126 012700 000000' MOV #CPVMSG,R0 ; PARSER VERSION NUMBER
10464 021132 CALL .TYLIN ; PRINT IT
021132 004737 026166' JSR PC,.TYLIN
10465 021136 012700 001601' MOV #WVMSG2,R0 ; MESSAGE POINTER TO R0
10466 021142 CALL .TYMSG ; PRINT IT
021142 004737 026202' JSR PC,.TYMSG
10467 021146 012700 000000G MOV #.VERNO,R0 ; POINTER TO RSX20F ASCIZ VERSION NUMBER
10468 021152 10$:
10469 021152 CALLR .TYLIN ; PRINT IT AND EXIT
021152 000137 026166' JMP .TYLIN
10470 ;
10471
10472 001537 .PSECT MESSAG
10473
10474 001537 WHTMSG:
10475 001537 040 124 122 .ASCIZ % TRACK ENABLE: %
001542 101 103 113
001545 040 105 116
001550 101 102 114
001553 105 072 040
001556 000
10476 001557 WVMSG1:
10477 001557 040 120 101 .ASCIZ % PARSER VERSION: %
001562 122 123 105
001565 122 040 126
001570 105 122 123
001573 111 117 116
001576 072 040 000
10478 001601 WVMSG2:
10479 001601 040 122 123 .ASCIZ % RSX20F VERSION: %
001604 130 062 060
001607 106 040 126
001612 105 122 123
001615 111 117 116
001620 072 040 000
10480
10481 021156 .PSECT
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 298
.WHATV -- THE "WHAT VERSION" COMMAND 7607.21
10483 .TITLE SWCPC -- SET / CLEAR CLOCK AND PARITY MODULE 7608.19
10484
10485 .IDENT "005000"
10486
10487 ;
10488 ; COPYRIGHT (C) 1975, 1979 BY
10489 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
10490 ;
10491 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
10492 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
10493 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
10494 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
10495 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
10496 ;
10497 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
10498 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
10499 ; CORPORATION.
10500 ;
10501 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
10502 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
10503 ;
10504 ; MODULE: SET / CLEAR CLOCK AND PARITY
10505 ;
10506 ; VERSION: 05-00
10507 ;
10508 ; AUTHOR: R. BELANGER
10509 ;
10510 ; DATE: 7608.19
10511 ;
10512 ; THIS MODULE CONTAINS:
10513 ;
10514 ; 1) SET / CLEAR CLOCK DISPATCH CODE
10515 ;
10516 ; MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 299
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
10518 .SBTTL .SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
10519
10520 ;+
10521 ; .SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH.
10522 ; .SCFSS -- THE "SET / CLEAR FS-STOP" COMMAND DISPATCH.
10523 ; .SCPAR -- THE "SET / CLEAR PARITY-STOP" COMMAND DISPATCH.
10524 ;
10525 ; THESE SUBROUTINES WILL SET OR CLEAR THE SPECIFIED KL INTERNAL
10526 ; PARITY STOP ENABLE AS DIRECTED BY THE INPUT STREAM.
10527 ;
10528 ; INPUT ARGUMENTS:
10529 ;
10530 ; THE CURRENT PARITY STOP ENABLES ARE IN ".PSCWD"
10531 ; THE CURRENT CLOCK PARAMETERS ARE IN ".CLKWD"
10532 ;
10533 ; OUTPUT ARGUMENTS:
10534 ;
10535 ; THE NEW PARITY STOP ENABLES ARE IN ".PSCWD".
10536 ; THE NEW CLOCK PARAMETERS ARE IN ".CLKWD"
10537 ;
10538 ; ERROR CODES RETURNED:
10539 ;
10540 ; ILS -- ILLEGAL SEPARATOR CHARACTER.
10541 ;-
10542
10543 .ENABL LSB
10544
10545 021156 .SCCLK:: ; SET / CLEAR "CLOCK"
10546 021156 CALL .CKARG ; MUST HAVE AN ARGUMENT
021156 004737 000140' JSR PC,.CKARG
10547 021162 012703 002414' MOV #SCCLKT,R3 ; TABLE POINTER TO R3
10548 021166 000415 BR 10$ ; DO COMMON CODE
10549 ;
10550 021170 .SCFSS:: ; SET / CLEAR "FS-STOP"
10551 021170 CALL .CKEOC ; MUST BE E-O-C
021170 004737 000264' JSR PC,.CKEOC
10552 021174 012703 002426' MOV #SCPART,R3 ; TABLE POINTER TO R3
10553 021200 CALL 40$ ; READ THE CURRENT PARAMETERS
021200 004737 021332' JSR PC,40$
10554 021204 CALL .SCPFS ; SET THE CONTROL WORD UP
021204 004737 021620' JSR PC,.SCPFS
10555 021210 000425 BR 20$ ; AND GO SET IT
10556 ;
10557 021212 .SCPST:: ; SET / CLEAR "PARITY-STOP"
10558 021212 CALL .CKARG ; MUST HAVE AN ARGUMENT
021212 004737 000140' JSR PC,.CKARG
10559 021216 012703 002426' MOV #SCPART,R3 ; TABLE POINTER TO R3
10560 ; BR 10$ ; DO COMMON CODE
10561 ;
10562
10563 ; [CONTINUED ON THE FOLLOWING PAGE]
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 300
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
10565 ; [CONTINUED FROM THE PREVIOUS PAGE]
10566
10567 021222 10$:
10568 021222 CALL 40$ ; READ THE CURRENT PARAMETERS
021222 004737 021332' JSR PC,40$
10569 021226 011300 MOV (R3),R0 ; TABLE POINTER TO R0
10570 021230 CALL .TSCAN ; SCAN THE TABLE
021230 004737 012672' JSR PC,.TSCAN
10571 021234 CALL @2(R0) ; DO WHAT IT SAYS TO
021234 004770 000002 JSR PC,@2(R0)
10572 021240 111504 MOVB (R5),R4 ; GET THE LAST CHARACTER INTO R4
10573 021242 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
10574 021250 001005 BNE 20$ ; E-O-C -- GO SET PARITY STOPS
10575 021252 122704 000054 CMPB #.COMMA,R4 ; NOT E-O-C -- IS IT A <COMMA>?
10576 021256 001037 BNE SCPILS ; NO -- GIVE "ILS" ERROR
10577 021260 105725 TSTB (R5)+ ; YES -- GET OVER THE COMMA
10578 021262 000757 BR 10$ ; AND GO ON
10579 ;
10580 021264 20$:
10581 021264 005723 TST (R3)+ ; ADVANCE THE POINTER
10582 021266 PUSH R1 ; SAVE NEW CONTROL WORD
021266 010146 MOV R1,-(SP)
10583 021270 010601 MOV SP,R1 ; .POINT TO THE ENABLE WORD
10584 021272 PUSH .KLFLG ; .SAVE ".KLFLG"
021272 013746 000000G MOV .KLFLG,-(SP)
10585 021276 CALL .KLHLT ; ..STOP THE KL
021276 004737 010164' JSR PC,.KLHLT
10586 021302 CALL @(R3)+ ; ..LOAD THE PARAMETERS
021302 004733 JSR PC,@(R3)+
10587 021304 POP .SVKLF ; ..SET UP ".SVKLF"
021304 012637 000140' MOV (SP)+,.SVKLF
10588 021310 CALL .RDCPP ; .READ BACK WHAT WE WROTE
021310 004737 011264' JSR PC,.RDCPP
10589 021314 023326 CMP @(R3)+,(SP)+ ; .DID WE READ WHAT WE WROTE
10590 021316 001401 BEQ 30$ ; YES -- GO ON
10591 021320 CALLR @(R3)+ ; NO -- GIVE THE PROPER ERROR
021320 000133 JMP @(R3)+
10592 ;
10593 021322 30$:
10594 021322 005723 TST (R3)+ ; GET OVER THE ERROR POINTER
10595 021324 CALL .KLRST ; RESTART THE KL
021324 004737 010424' JSR PC,.KLRST
10596 021330 CALLR @(R3)+ ; DISPLAY CURRENT PARAMETERS AND EXIT
021330 000133 JMP @(R3)+
10597 ;
10598
10599 ; [CONTINUED ON THE FOLLOWING PAGE]
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 301
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
10601 ; [CONTINUED FROM THE PREVIOUS PAGE]
10602
10603 021332 40$:
10604 021332 CALL .CKRUN ; INSURE WE CAN DO THIS
021332 004737 000376' JSR PC,.CKRUN
10605 021336 CALL .STPKL ; STOP THE KL10
021336 004737 012012' JSR PC,.STPKL
10606 021342 CALL .RDCPP ; READ CLOCK AND PARITY
021342 004737 011264' JSR PC,.RDCPP
10607 021346 017301 000004 MOV @4(R3),R1 ; DESIRED CONTROL WORD TO R1
10608 021352 CALLR .RSTKL ; RESTART THE KL AND EXIT
021352 000137 011734' JMP .RSTKL
10609 ;
10610
10611 .DSABL LSB
10612
10613 021356 SCPILS:
10614 021356 ERROR$ ILS ; ERROR -- ILLEGAL SEPARATOR CHARACTER
021356 012746 035063 MOV #^RILS,-(SP)
021362 104400 TRAP TC.ERR
10615 ;
10616 021364 SCPSCF:
10617 021364 ERROR$ SCF ; ERROR -- SET CLOCK FAILED
021364 012746 073476 MOV #^RSCF,-(SP)
021370 104400 TRAP TC.ERR
10618 ;
10619 021372 SCPSPF:
10620 021372 ERROR$ SPF ; ERROR -- SET PARITY FAILED
021372 012746 074506 MOV #^RSPF,-(SP)
021376 104400 TRAP TC.ERR
10621 ;
10622
10623 002414 .PSECT DATA
10624
10625 002414 SCCLKT:
10626 002414 004220' .WORD .SCCTB ; TABLE TO SCAN
10627 002416 010704' .WORD .LDCLK ; LOAD ROUTINE
10628 002420 000010' .WORD .CLKWD ; PARAMETER WORD
10629 002422 021364' .WORD SCPSCF ; ERROR ROUTINE
10630 002424 021662' .WORD .WHTCA ; DISPLAY ROUTINE
10631 002426 SCPART:
10632 002426 004374' .WORD .SCPTB ; TABLE TO SCAN
10633 002430 010722' .WORD .LDPAR ; LOAD ROUTINE
10634 002432 000116' .WORD .PSCWD ; PARAMETER WORD
10635 002434 021372' .WORD SCPSPF ; ERROR ROUTINE
10636 002436 022064' .WORD .WHTPA ; DISPLAY ROUTINE
10637
10638 021400 .PSECT
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 302
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
10640 .SBTTL .SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
10641
10642 .ENABL LSB
10643
10644 021400 .SCCLN:: ; SET / CLEAR CLOCK "NORMAL"
10645 021400 005001 CLR R1 ; CLEAR THE PARAMETER WORD
10646 021402 .SCCRF:: ; SET / CLEAR CLOCK "FULL"
10647 021402 005002 CLR R2 ; "FULL" CLOCK RATE
10648 021404 000410 BR 10$ ; DO COMMON CODE
10649 ;
10650 021406 .SCCRH:: ; SET / CLEAR CLOCK "HALF"
10651 021406 012702 000001 MOV #CR.HLF,R2 ; "HALF" CLOCK RATE
10652 021412 000405 BR 10$ ; DO COMMON CODE
10653 ;
10654 021414 .SCCRQ:: ; SET / CLEAR CLOCK "QUARTER"
10655 021414 012702 000002 MOV #CR.QTR,R2 ; "QUARTER" CLOCK RATE
10656 021420 000402 BR 10$ ; DO COMMON CODE
10657 ;
10658 021422 .SCCRS:: ; SET / CLEAR CLOCK "SLOW"
10659 021422 012702 000003 MOV #CR.SLO,R2 ; "SLOW" CLOCK RATE
10660 021426 10$:
10661 021426 042701 000003 BIC #CR.ALL,R1 ; CLEAR OUT THE OLD CLOCK RATE
10662 021432 000422 BR 40$ ; AND GO DO CLEAR CHECK
10663 ;
10664 021434 .SCCSE:: ; SET / CLEAR CLOCK "EXTERNAL"
10665 021434 012700 001623' MOV #CCEMSG,R0 ; ASK "ARE YOU SURE"
10666 021440 CALL .TYMSG ; PRINT IT
021440 004737 026202' JSR PC,.TYMSG
10667 021444 CALL .YESNO ; ASK "YES OR NO"
021444 004737 022224' JSR PC,.YESNO
10668 021450 103403 BCS 20$ ; SAID "NO" IF CC-C IS SET
10669 021452 012702 000010 MOV #CS.EXT,R2 ; "EXTERNAL" CLOCK SOURCE
10670 021456 000406 BR 30$ ; DO COMMNON CODE
10671 ;
10672 021460 20$:
10673 021460 000177 000134' JMP @.STRTV ; RESTART THE PARSER
10674 ;
10675 021464 .SCCSI:: ; SET / CLEAR CLOCK "INTERNAL"
10676 021464 005002 CLR R2 ; "INTERNAL" CLOCK SOURCE
10677 021466 000402 BR 30$ ; DO COMMON CODE
10678 ;
10679 021470 .SCCSM:: ; SET / CLEAR CLOCK "MARGIN"
10680 021470 012702 000004 MOV #CS.MGN,R2 ; "MARGIN" CLOCK SOURCE
10681 021474 30$:
10682 021474 042701 000014 BIC #CS.ALL,R1 ; CLEAR OUT THE OLD CLOCK SOURCE
10683 021500 40$:
10684 021500 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
10685 021504 001002 BNE 50$ ; YES -- JUST EXIT
10686 021506 050201 BIS R2,R1 ; NO -- SET THE NEW CLOCK PARAMETERS
10687 021510 000401 BR 60$ ; AND EXIT
10688 ;
10689 021512 50$:
10690 021512 040201 BIC R2,R1 ; CLEAR THE NEW CLOCK PARAMETERS
10691 021514 60$:
10692 021514 RETURN ; EXIT
021514 000207 RTS PC
10693
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 302-1
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
10694 .DSABL LSB
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 303
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
10696 .ENABL LSB
10697
10698 021516 .SCCEC:: ; SET / CLEAR CLOCK "CRAM"
10699 021516 012702 002000 MOV #CD.CRC,R2 ; "CRAM" CLOCK ENABLE
10700 021522 000405 BR 10$ ; DO COMMON CODE
10701 ;
10702 021524 .SCCED:: ; SET / CLEAR CLOCK "DATA-PATH"
10703 021524 012702 001000 MOV #CD.DPC,R2 ; "DATA-PATH" CLOCK ENABLE
10704 021530 000402 BR 10$ ; DO COMMON CODE
10705 ;
10706 021532 .SCCEE:: ; SET / CLEAR CLOCK "CONTROL"
10707 021532 012702 000400 MOV #CD.CLC,R2 ; "CONTROL" CLOCK ENABLE
10708 021536 10$:
10709 021536 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
10710 021542 001402 BEQ 20$ ; NO -- SET THE NEW CLOCK ENABLE
10711 021544 050201 BIS R2,R1 ; YES -- SET THE DISABLE
10712 021546 000401 BR 30$ ; AND EXIT
10713 ;
10714 021550 20$:
10715 021550 040201 BIC R2,R1 ; CLEAR THE DISABLE
10716 021552 30$:
10717 021552 RETURN ; AND EXIT
021552 000207 RTS PC
10718
10719 .DSABL LSB
10720
10721 001623 .PSECT MESSAG
10722
10723 001623 CCEMSG:
10724 001623 007 177 177 .ASCII <007><177><177><007><177><177><007><177><177>
001626 007 177 177
001631 007 177 177
10725 001634 040 103 117 .ASCIZ % CONFIRM EXTERNAL CLOCK SOURCE%
001637 116 106 111
001642 122 115 040
001645 105 130 124
001650 105 122 116
001653 101 114 040
001656 103 114 117
001661 103 113 040
001664 123 117 125
001667 122 103 105
001672 000
10726
10727 021554 .PSECT
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 304
.SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
10729 .SBTTL .SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
10730
10731 .ENABL LSB
10732
10733 021554 .SCPAL:: ; SET CLEAR PARITY-STOP "ALL"
10734 021554 012702 001416 MOV #PS.NRM,R2 ; NORMAL PARITY STOPS
10735 021560 000421 BR 10$ ; DO COMMON CODE
10736 ;
10737 021562 .SCPAR:: ; SET / CLEAR PARITY-STOP "AR"
10738 021562 012702 001000 MOV #AP.ARP,R2 ; AR / ARX PARITY STOP
10739 021566 000416 BR 10$ ; DO COMMON CODE
10740 ;
10741 021570 .SCPCR:: ; SET / CLEAR PARITY-STOP "CRAM"
10742 021570 012702 000004 MOV #IP.CRP,R2 ; CRAM PARITY STOP
10743 021574 000413 BR 10$ ; DO COMMON CODE
10744 ;
10745 021576 .SCPDR:: ; SET / CLEAR PARITY-STOP "DRAM"
10746 021576 012702 000002 MOV #IP.DRP,R2 ; DRAM PARITY STOP
10747 021602 000410 BR 10$ ; DO COMMON CODE
10748 ;
10749 021604 .SCPEN:: ; SET / CLEAR PARITY-STOP "ENABLE"
10750 021604 012702 000400 MOV #AP.EIP,R2 ; PARITY STOP ENABLE
10751 021610 000405 BR 10$ ; DO COMMON CODE
10752 ;
10753 021612 .SCPFM:: ; SET / CLEAR PARITY-STOP "FM"
10754 021612 012702 000010 MOV #IP.FMP,R2 ; FAST MEMORY PARITY STOP
10755 021616 000402 BR 10$ ; DO COMMON CODE
10756 ;
10757 021620 .SCPFS:: ; SET / CLEAR PARITY-STOP "FS-STOP"
10758 021620 012702 000001 MOV #IP.FSS,R2 ; FS STOP
10759 021624 10$:
10760 021624 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
10761 021630 001402 BEQ 20$ ; NO -- GO ON
10762 021632 040201 BIC R2,R1 ; YES -- CLEAR THE ENABLE
10763 021634 RETURN ; EXIT
021634 000207 RTS PC
10764 021636 20$:
10765 021636 052701 000400 BIS #AP.EIP,R1 ; ENABLE THE ERROR STOPS
10766 021642 050201 BIS R2,R1 ; SET THE ENABLES
10767 021644 RETURN ; TO CALLER
021644 000207 RTS PC
10768
10769 .DSABL LSB
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 305
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
10771 .SBTTL .WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
10772
10773 021646 .WHTCL::
10774 021646 CALL .STPKL ; STOP THE KL
021646 004737 012012' JSR PC,.STPKL
10775 021652 CALL .RDCPP ; READ THE CLOCK BOARD
021652 004737 011264' JSR PC,.RDCPP
10776 021656 CALL .RSTKL ; RESTART THE KL
021656 004737 011734' JSR PC,.RSTKL
10777 021662 .WHTCA::
10778 021662 PUSH .CLKWD ; SAVE THE WORD ON THE STACK
021662 013746 000010' MOV .CLKWD,-(SP)
10779 021666 012700 001673' MOV #WCMSG0,R0 ; .HEADER MESSAGE
10780 021672 CALL .TYLIN ; .TYPE IT
021672 004737 026166' JSR PC,.TYLIN
10781 021676 012700 001717' MOV #WCMSG1,R0 ; .ENABLES
10782 021702 CALL .TYMSG ; .TYPE IT
021702 004737 026202' JSR PC,.TYMSG
10783 021706 012701 002440' MOV #CLDSTB,R1 ; .TABLE POINTER TO R1
10784 021712 012702 000003 MOV #^D3,R2 ; .ITERATION COUNT TO R2
10785 021716 011603 MOV (SP),R3 ; .CLOCK WORD TO R3
10786 021720 042703 174377 BIC #^C<CD.ALL>,R3 ; .MASK OUT THE DISABLES
10787 021724 001005 BNE 10$ ; .GO PRINT DISABLES
10788 021726 012700 001755' MOV #NONMSG,R0 ; .NO DISABLES SET -- SAY SO
10789 021732 CALL .TYLIN ; .TYPE IT
021732 004737 026166' JSR PC,.TYLIN
10790 021736 000414 BR 30$ ; .AND GO ON
10791 ;
10792 021740 10$:
10793 021740 012100 MOV (R1)+,R0 ; .MESSAGE POINTER TO R0
10794 021742 032103 BIT (R1)+,R3 ; .IS THE DISABLE ON??
10795 021744 001406 BEQ 20$ ; .NO -- FORGET IT
10796 021746 CALL .TYMSG ; .YES -- SAY SO
021746 004737 026202' JSR PC,.TYMSG
10797 021752 CALL .TYCOM ; .TYPE A COMMA
021752 004737 025424' JSR PC,.TYCOM
10798 021756 CALL .TYSPC ; .TYPE A <SPACE>
021756 004737 025454' JSR PC,.TYSPC
10799 021762 20$:
10800 021762 077212 SOB R2,10$ ; .LOOP TILL DONE
10801 021764 CALL .TCRLF ; .END THE LINE
021764 004737 026272' JSR PC,.TCRLF
10802
10803 ; [CONTINUED ON THE FOLLOWING PAGE]
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 306
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
10805 ; [CONTINUED FROM THE PREVIOUS PAGE]
10806
10807 021770 30$:
10808 021770 012700 001733' MOV #WCMSG2,R0 ; .SOURCE MESSAGE
10809 021774 CALL .TYMSG ; .PRINT IT
021774 004737 026202' JSR PC,.TYMSG
10810 022000 011601 MOV (SP),R1 ; .CLOCK CONTROL WORD TO R1
10811 022002 042701 177763 BIC #^C<CS.ALL>,R1 ; .FLUSH JUNK
10812 022006 006201 ASR R1 ; .MAKE AN INDEX OF IT
10813 022010 016100 002454' MOV CLSRTB(R1),R0 ; .SOURCE NAME TO R0
10814 022014 CALL .TYLIN ; .PRINT IT
022014 004737 026166' JSR PC,.TYLIN
10815 022020 012700 001745' MOV #WCMSG3,R0 ; .RATE MESSAGE
10816 022024 CALL .TYMSG ; .PRINT IT
022024 004737 026202' JSR PC,.TYMSG
10817 022030 POP R1 ; .CLOCK CONTROL WORD TO R1
022030 012601 MOV (SP)+,R1
10818 022032 042701 177774 BIC #^C<CR.ALL>,R1 ; FLUSH JUNK
10819 022036 006301 ASL R1 ; MAKE AN INDEX FROM IT
10820 022040 016100 002464' MOV CLRTTB(R1),R0 ; RATE NAME TO R0
10821 022044 CALLR .TYLIN ; PRINT IT AND EXIT
022044 000137 026166' JMP .TYLIN
10822 ;
10823
10824 002440 .PSECT DATA
10825
10826 002440 CLDSTB:
10827 002440 003025' .WORD CRMMSG
10828 002442 002000 .WORD CD.CRC
10829 002444 003032' .WORD DPTMSG
10830 002446 001000 .WORD CD.DPC
10831 002450 003044' .WORD CTLMSG
10832 002452 000400 .WORD CD.CLC
10833 002454 CLSRTB:
10834 002454 003065' .WORD INTMSG
10835 002456 003076' .WORD MGNMSG
10836 002460 003054' .WORD EXTMSG
10837 002462 003076' .WORD MGNMSG
10838 002464 CLRTTB:
10839 002464 003105' .WORD FULMSG
10840 002466 003112' .WORD HLFMSG
10841 002470 003117' .WORD QTRMSG
10842 002472 003127' .WORD SLOMSG
10843
10844 022050 .PSECT
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 307
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
10846 001673 .PSECT MESSAG
10847
10848 001673 WCMSG0:
10849 001673 113 114 040 .ASCIZ %KL CLOCK PARAMETERS%
001676 103 114 117
001701 103 113 040
001704 120 101 122
001707 101 115 105
001712 124 105 122
001715 123 000
10850 001717 WCMSG1:
10851 001717 040 104 111 .ASCIZ % DISABLED: %
001722 123 101 102
001725 114 105 104
001730 072 040 000
10852 001733 WCMSG2:
10853 001733 040 123 117 .ASCIZ % SOURCE: %
001736 125 122 103
001741 105 072 040
001744 000
10854 001745 WCMSG3:
10855 001745 040 122 101 .ASCIZ % RATE: %
001750 124 105 072
001753 040 000
10856 001755 NONMSG:
10857 001755 116 117 116 .ASCIZ %NONE%
001760 105 000
10858
10859 022050 .PSECT
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 308
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
10861 .SBTTL .WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
10862
10863 022050 .WHTPS::
10864 022050 CALL .STPKL ; STOP THE KL
022050 004737 012012' JSR PC,.STPKL
10865 022054 CALL .RDCPP ; READ THE CLOCK BOARD
022054 004737 011264' JSR PC,.RDCPP
10866 022060 CALL .RSTKL ; RESTART THE KL
022060 004737 011734' JSR PC,.RSTKL
10867 022064 .WHTPA::
10868 022064 PUSH .PSCWD ; SAVE THE WORD ON THE STACK
022064 013746 000116' MOV .PSCWD,-(SP)
10869 022070 012700 001762' MOV #WPMSG0,R0 ; .HEADER MESSAGE
10870 022074 CALL .TYLIN ; .TYPE IT
022074 004737 026166' JSR PC,.TYLIN
10871 022100 012700 002014' MOV #WPMSG1,R0 ; .ENABLE MESSAGE
10872 022104 CALL .TYMSG ; .TYPE IT
022104 004737 026202' JSR PC,.TYMSG
10873 022110 012700 000034' MOV #ONMSG,R0 ; .ASSUME THAT IT IS ON
10874 022114 032716 000400 BIT #AP.EIP,(SP) ; .IS THE ENABLE BIT ON?
10875 022120 001002 BNE 10$ ; .YES -- SAY SO
10876 022122 012700 000037' MOV #OFFMSG,R0 ; .NO -- CHANGE MESSAGE
10877 022126 10$:
10878 022126 CALL .TYLIN ; .TYPE IT
022126 004737 026166' JSR PC,.TYLIN
10879 022132 012700 002042' MOV #WPMSG2,R0 ; .PARITY STOPS
10880 022136 CALL .TYMSG ; .TYPE IT
022136 004737 026202' JSR PC,.TYMSG
10881 022142 042716 000400 BIC #AP.EIP,(SP) ; .CLEAR THE ENABLE BIT
10882 022146 001005 BNE 20$ ; .GO ON IF BITS ARE THERE
10883 022150 012700 001755' MOV #NONMSG,R0 ; .NONE THERE -- SAY SO
10884 022154 CALL .TYMSG ; .TYPE IT
022154 004737 026202' JSR PC,.TYMSG
10885 022160 000416 BR 50$ ; .AND EXIT
10886 ;
10887
10888 ; [CONTINUED ON THE FOLLOWING PAGE]
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 309
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
10890 ; [CONTINUED FROM THE PREVIOUS PAGE]
10891
10892 022162 20$:
10893 022162 012701 002474' MOV #PSENTB,R1 ; .TABLE POINTER TO R1
10894 022166 012702 000005 MOV #^D5,R2 ; .ITERATION COUNT TO R2
10895 022172 30$:
10896 022172 012100 MOV (R1)+,R0 ; .MESSAGE POINTER TO R0
10897 022174 032116 BIT (R1)+,(SP) ; .IS THE BIT ON?
10898 022176 001406 BEQ 40$ ; .NO -- GO ON
10899 022200 CALL .TYMSG ; .YES -- SAY SO
022200 004737 026202' JSR PC,.TYMSG
10900 022204 CALL .TYCOM ; .TYPE A COMMA
022204 004737 025424' JSR PC,.TYCOM
10901 022210 CALL .TYSPC ; .PRINT A <SPACE>
022210 004737 025454' JSR PC,.TYSPC
10902 022214 40$:
10903 022214 077212 SOB R2,30$ ; .LOOP TILL DONE
10904 022216 50$:
10905 022216 005726 TST (SP)+ ; .CLEAR THE STACK
10906 022220 CALLR .TCRLF ; END THE LINE AND EXIT
022220 000137 026272' JMP .TCRLF
10907 ;
10908
10909 002474 .PSECT DATA
10910
10911 002474 PSENTB:
10912 002474 002402' .WORD ARMSG
10913 002476 001000 .WORD AP.ARP
10914 002500 003025' .WORD CRMMSG
10915 002502 000004 .WORD IP.CRP
10916 002504 003134' .WORD DRMMSG
10917 002506 000002 .WORD IP.DRP
10918 002510 002447' .WORD FMMSG
10919 002512 000010 .WORD IP.FMP
10920 002514 003150' .WORD FSSMSG
10921 002516 000001 .WORD IP.FSS
10922
10923 022224 .PSECT
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 310
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
10925 001762 .PSECT MESSAG
10926
10927 001762 WPMSG0:
10928 001762 113 114 040 .ASCIZ %KL PARITY STOP PARAMETERS%
001765 120 101 122
001770 111 124 131
001773 040 123 124
001776 117 120 040
002001 120 101 122
002004 101 115 105
002007 124 105 122
002012 123 000
10929 002014 WPMSG1:
10930 002014 040 120 101 .ASCIZ % PARITY STOP ENABLE: %
002017 122 111 124
002022 131 040 123
002025 124 117 120
002030 040 105 116
002033 101 102 114
002036 105 072 040
002041 000
10931 002042 WPMSG2:
10932 002042 040 120 101 .ASCIZ % PARITY STOPS: %
002045 122 111 124
002050 131 040 123
002053 124 117 120
002056 123 072 040
002061 000
10933 022224 .PSECT
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 311
.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
10935 .SBTTL .YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
10936
10937 ;+
10938 ; .YESNO -- SUBROUTINE TO ASK "YES OR NO".
10939 ;
10940 ; THIS SUBROUTINE WILL ASK FOR A CONFIMATION TO A QUESTION, AND RETURN
10941 ; THE STATE OF THE RESPONSE IN CC-C ON RETURN. IF THE RESPONSE IS OTHER
10942 ; THAN A "YES" OR A "NO", THE QUESTION IS REITERATED.
10943 ;
10944 ; INPUT ARGUMENTS:
10945 ;
10946 ; NONE.
10947 ;
10948 ; OUTPUT ARGUMENTS:
10949 ;
10950 ; IF THE RESPONSE WAS "YES" CC-C IS CLEAR.
10951 ; IF THE RESPONSE WAS "NO" CC-C IS SET.
10952 ;
10953 ; ERROR CODES RETURNED:
10954 ;
10955 ; NONE.
10956 ;-
10957
10958 022224 .YESNO::
10959 022224 PUSH <R0,R1,R5> ; SAVE CALLERS REGISTERS
022224 010046 MOV R0,-(SP)
022226 010146 MOV R1,-(SP)
022230 010546 MOV R5,-(SP)
10960 022232 10$:
10961 022232 012700 002062' MOV #YONMSG,R0 ; ...MESSAGE POINTER TO R0
10962 022236 CALL .TYMSG ; ...PRINT IT
022236 004737 026202' JSR PC,.TYMSG
10963 022242 CALL .TYOUT ; ...FORCE IT OUT
022242 004737 026320' JSR PC,.TYOUT
10964 022246 012701 000240' MOV #.CIBFR,R1 ; ...POINT TO THE INPUT BUFFER
10965 022252 CALL .GTLIN ; ...READ THE RESPONSE
022252 004737 024044' JSR PC,.GTLIN
10966 022256 001765 BEQ 10$ ; ...TRY AGAIN IF NO REAL RESPONSE
10967 022260 010105 MOV R1,R5 ; ...BUFFER POINTER TO R5
10968 022262 012700 002101' MOV #YESMSG,R0 ; ...EXPECT "YES"
10969 022266 CALL .SSCAN ; ...SCAN FOR IT
022266 004737 013134' JSR PC,.SSCAN
10970 022272 103012 BCC 30$ ; ...WE GOT IT -- EXIT
10971 022274 010105 MOV R1,R5 ; ...SET UP BUFFER POINTER
10972 022276 012700 002105' MOV #NOMSG,R0 ; ...TRY FOR "NO"
10973 022302 CALL .SSCAN ; ...SCAN THE SYMBOL
022302 004737 013134' JSR PC,.SSCAN
10974 022306 103003 BCC 20$ ; ...WE GOT IT
10975 022310 CALL .TCRLF ; ...DID'NT GET EITHER
022310 004737 026272' JSR PC,.TCRLF
10976 022314 000746 BR 10$ ; ...SO TRY AGAIN
10977 ;
10978
10979 ; [CONTINUED ON THE FOLLOWING PAGE]
SWCPC -- SET / CLEAR CLOCK AND MACRO M1110 03-OCT-79 11:35 PAGE 312
.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
10981 ; [CONTINUED FROM THE PREVIOUS PAGE]
10982
10983 022316 20$:
10984 022316 000261 SEC ; ...SET CC-C TO SAY "NO"
10985 022320 30$:
10986 022320 POP <R5,R1,R0> ; ...RESTORE REGISTERS
022320 012605 MOV (SP)+,R5
022322 012601 MOV (SP)+,R1
022324 012600 MOV (SP)+,R0
10987 022326 RETURN ; ...TO CALLER
022326 000207 RTS PC
10988
10989 002062 .PSECT MESSAG
10990
10991 002062 YONMSG:
10992 002062 040 050 131 .ASCIZ % (YES OR NO)? %
002065 105 123 040
002070 117 122 040
002073 116 117 051
002076 077 040 000
10993 002101 YESMSG:
10994 002101 131 105 123 .ASCIZ %YES%
002104 000
10995 002105 NOMSG:
10996 002105 116 117 000 .ASCIZ %NO%
10997
10998 022330 .PSECT
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 313
.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
11000 .TITLE TABLE -- COMMAND PARSER COMMAND TABLES 7812.20
11001
11002 .IDENT "005000"
11003
11004 ;
11005 ; COPYRIGHT (C) 1975, 1979 BY
11006 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
11007 ;
11008 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
11009 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
11010 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
11011 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
11012 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
11013 ;
11014 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
11015 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
11016 ; CORPORATION.
11017 ;
11018 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
11019 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
11020 ;
11021 ; MODULE: MAIN COMMAND PARSER TABLES
11022 ;
11023 ; VERSION: 05-00
11024 ;
11025 ; AUTHOR: R. BELANGER
11026 ;
11027 ; DATE: 7812.20
11028 ;
11029 ; THIS MODULE CONTAINS:
11030 ;
11031 ; 1) THE MAIN COMMAND TABLES
11032 ;
11033 ; MODIFICATIONS:
11034 ;
11035 ; NO. DATE PROGRAMMER REASON
11036 ; --- ---- ---------- ------
11037 ; 001 28-FEB-77 R. BELANGER ADD DISCONNECT COMMAND
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 314
.CMDTB -- THE MAIN COMMAND TABLE 7703.25
11039 .SBTTL .CMDTB -- THE MAIN COMMAND TABLE 7703.25
11040
11041 002520 .PSECT DATA
11042
11043 002520 .CMDTB::
11044 002520 COMND$ ,<LG.OPR!LG.RPT>,.NULLC,NUL
002110 000 NULMSG:: .ASCIZ %%
002520 002110' .WORD NULMSG ; POINTER TO "" SYMBOL
002522 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
002524 012254' .WORD .NULLC ; ROUTINE TO CALL OR DATA
11045 ;
11046 002526 COMND$ ABORT,LG.OPR,.ABRTC,ABO
002111 101 102 117 ABOMSG:: .ASCIZ %ABORT%
002114 122 124 000
002526 002111' .WORD ABOMSG ; POINTER TO "ABORT" SYMBOL
002530 000001 .WORD LG.OPR ; LEGAL BITS
002532 000000' .WORD .ABRTC ; ROUTINE TO CALL OR DATA
11047 ;
11048 002534 COMND$ CLEAR,<LG.OPR!LG.RPT>,.CLRCM,CLR
002117 103 114 105 CLRMSG:: .ASCIZ %CLEAR%
002122 101 122 000
002534 002117' .WORD CLRMSG ; POINTER TO "CLEAR" SYMBOL
002536 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
002540 017502' .WORD .CLRCM ; ROUTINE TO CALL OR DATA
11049 ;
11050 002542 COMND$ CONTINUE,<LG.PRG!LG.RPT>,.CONTC,CNT
002125 103 117 116 CNTMSG:: .ASCIZ %CONTINUE%
002130 124 111 116
002133 125 105 000
002542 002125' .WORD CNTMSG ; POINTER TO "CONTINUE" SYMBOL
002544 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
002546 000504' .WORD .CONTC ; ROUTINE TO CALL OR DATA
11051 ;
11052 002550 COMND$ DEPOSIT,<LG.PRG!LG.RPT>,.DPOSC,DEP
002136 104 105 120 DEPMSG:: .ASCIZ %DEPOSIT%
002141 117 123 111
002144 124 000
002550 002136' .WORD DEPMSG ; POINTER TO "DEPOSIT" SYMBOL
002552 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
002554 000606' .WORD .DPOSC ; ROUTINE TO CALL OR DATA
11053 ;
11054 002556 COMND$ DISCONNECT,LG.ALL,.DISCC,DIS
002146 104 111 123 DISMSG:: .ASCIZ %DISCONNECT%
002151 103 117 116
002154 116 105 103
002157 124 000
002556 002146' .WORD DISMSG ; POINTER TO "DISCONNECT" SYMBOL
002560 000007 .WORD LG.ALL ; LEGAL BITS
002562 001572' .WORD .DISCC ; ROUTINE TO CALL OR DATA
11055 ;
11056 002564 COMND$ EXAMINE,<LG.OPR!LG.RPT>,.EXAMC,EXA
002161 105 130 101 EXAMSG:: .ASCIZ %EXAMINE%
002164 115 111 116
002167 105 000
002564 002161' .WORD EXAMSG ; POINTER TO "EXAMINE" SYMBOL
002566 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
002570 000650' .WORD .EXAMC ; ROUTINE TO CALL OR DATA
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 314-1
.CMDTB -- THE MAIN COMMAND TABLE 7703.25
11057 ;
11058 002572 COMND$ FREAD,<LG.MNT!LG.RPT>,.DFRED,FRD
002171 106 122 105 FRDMSG:: .ASCIZ %FREAD%
002174 101 104 000
002572 002171' .WORD FRDMSG ; POINTER TO "FREAD" SYMBOL
002574 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
002576 001300' .WORD .DFRED ; ROUTINE TO CALL OR DATA
11059 ;
11060 002600 COMND$ FWRITE,<LG.MNT!LG.RPT>,.DFWRT,FWR
002177 106 127 122 FWRMSG:: .ASCIZ %FWRITE%
002202 111 124 105
002205 000
002600 002177' .WORD FWRMSG ; POINTER TO "FWRITE" SYMBOL
002602 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
002604 001404' .WORD .DFWRT ; ROUTINE TO CALL OR DATA
11061 ;
11062 002606 COMND$ FXCT,<LG.MNT!LG.RPT>,.DFXCT,FXC
002206 106 130 103 FXCMSG:: .ASCIZ %FXCT%
002211 124 000
002606 002206' .WORD FXCMSG ; POINTER TO "FXCT" SYMBOL
002610 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
002612 001464' .WORD .DFXCT ; ROUTINE TO CALL OR DATA
11063 ;
11064 002614 COMND$ HALT,<LG.PRG!LG.RPT>,.HALTC,HLT
002213 110 101 114 HLTMSG:: .ASCIZ %HALT%
002216 124 000
002614 002213' .WORD HLTMSG ; POINTER TO "HALT" SYMBOL
002616 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
002620 006062' .WORD .HALTC ; ROUTINE TO CALL OR DATA
11065 ;
11070 002622 COMND$ INITIALIZE,<LG.PRG!LG.RPT>,.INITC,INI
002220 111 116 111 INIMSG:: .ASCIZ %INITIALIZE%
002223 124 111 101
002226 114 111 132
002231 105 000
002622 002220' .WORD INIMSG ; POINTER TO "INITIALIZE" SYMBOL
002624 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
002626 006072' .WORD .INITC ; ROUTINE TO CALL OR DATA
11071 ;
11072 002630 COMND$ JUMP,LG.OPR,.JUMPC,JMP
002233 112 125 115 JMPMSG:: .ASCIZ %JUMP%
002236 120 000
002630 002233' .WORD JMPMSG ; POINTER TO "JUMP" SYMBOL
002632 000001 .WORD LG.OPR ; LEGAL BITS
002634 017726' .WORD .JUMPC ; ROUTINE TO CALL OR DATA
11073 ;
11074 002636 COMND$ MCR,LG.OPR,.RUNCM,MCR
002240 115 103 122 MCRMSG:: .ASCIZ %MCR%
002243 000
002636 002240' .WORD MCRMSG ; POINTER TO "MCR" SYMBOL
002640 000001 .WORD LG.OPR ; LEGAL BITS
002642 013622' .WORD .RUNCM ; ROUTINE TO CALL OR DATA
11075 ;
11076 002644 COMND$ REPEAT,<LG.OPR!LG.RPT>,.REPTC,RPT
002244 122 105 120 RPTMSG:: .ASCIZ %REPEAT%
002247 105 101 124
002252 000
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 314-2
.CMDTB -- THE MAIN COMMAND TABLE 7703.25
002644 002244' .WORD RPTMSG ; POINTER TO "REPEAT" SYMBOL
002646 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
002650 013176' .WORD .REPTC ; ROUTINE TO CALL OR DATA
11077 ;
11078 002652 COMND$ RESET,<LG.PRG!LG.RPT>,.RESTC,RST
002253 122 105 123 RSTMSG:: .ASCIZ %RESET%
002256 105 124 000
002652 002253' .WORD RSTMSG ; POINTER TO "RESET" SYMBOL
002654 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
002656 013270' .WORD .RESTC ; ROUTINE TO CALL OR DATA
11079 ;
11080 002660 COMND$ RUN,LG.OPR,.RUNCM,RUN
002261 122 125 116 RUNMSG:: .ASCIZ %RUN%
002264 000
002660 002261' .WORD RUNMSG ; POINTER TO "RUN" SYMBOL
002662 000001 .WORD LG.OPR ; LEGAL BITS
002664 013622' .WORD .RUNCM ; ROUTINE TO CALL OR DATA
11081 ;
11082 002666 COMND$ SET,<LG.OPR!LG.RPT>,.SETCM,SET
002265 123 105 124 SETMSG:: .ASCIZ %SET%
002270 000
002666 002265' .WORD SETMSG ; POINTER TO "SET" SYMBOL
002670 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
002672 017522' .WORD .SETCM ; ROUTINE TO CALL OR DATA
11083 ;
11084 002674 COMND$ SHUTDOWN,LG.OPR,.SHUTC,SHU
002271 123 110 125 SHUMSG:: .ASCIZ %SHUTDOWN%
002274 124 104 117
002277 127 116 000
002674 002271' .WORD SHUMSG ; POINTER TO "SHUTDOWN" SYMBOL
002676 000001 .WORD LG.OPR ; LEGAL BITS
002700 017614' .WORD .SHUTC ; ROUTINE TO CALL OR DATA
11085 ;
11086 002702 COMND$ START,<LG.PRG!LG.RPT>,.STRTC,STR
002302 123 124 101 STRMSG:: .ASCIZ %START%
002305 122 124 000
002702 002302' .WORD STRMSG ; POINTER TO "START" SYMBOL
002704 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
002706 017704' .WORD .STRTC ; ROUTINE TO CALL OR DATA
11087 ;
11088 002710 COMND$ QUIT,LG.OPR,.QUITC,QUT
002310 121 125 111 QUTMSG:: .ASCIZ %QUIT%
002313 124 000
002710 002310' .WORD QUTMSG ; POINTER TO "QUIT" SYMBOL
002712 000001 .WORD LG.OPR ; LEGAL BITS
002714 014036' .WORD .QUITC ; ROUTINE TO CALL OR DATA
11089 ;
11090 002716 COMND$ WHAT,LG.OPR,.WHATC,WHA
002315 127 110 101 WHAMSG:: .ASCIZ %WHAT%
002320 124 000
002716 002315' .WORD WHAMSG ; POINTER TO "WHAT" SYMBOL
002720 000001 .WORD LG.OPR ; LEGAL BITS
002722 017556' .WORD .WHATC ; ROUTINE TO CALL OR DATA
11091 ;
11092 002724 COMND$ XCT,<LG.PRG!LG.RPT>,.EXCTC,XCT
002322 130 103 124 XCTMSG:: .ASCIZ %XCT%
002325 000
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 314-3
.CMDTB -- THE MAIN COMMAND TABLE 7703.25
002724 002322' .WORD XCTMSG ; POINTER TO "XCT" SYMBOL
002726 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
002730 004222' .WORD .EXCTC ; ROUTINE TO CALL OR DATA
11093 ;
11094 002732 COMND$ ZERO,LG.PRG,.ZEROC,ZER
002326 132 105 122 ZERMSG:: .ASCIZ %ZERO%
002331 117 000
002732 002326' .WORD ZERMSG ; POINTER TO "ZERO" SYMBOL
002734 000002 .WORD LG.PRG ; LEGAL BITS
002736 026456' .WORD .ZEROC ; ROUTINE TO CALL OR DATA
11095 ;
11096 002740 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 315
.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
11098 .SBTTL .DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
11099
11100 002742 .DPETB::
11101 002742 COMND$ DECREMENT,<LG.RPT!LG.OPR>,.DPOSD,DCR
002333 104 105 103 DCRMSG:: .ASCIZ %DECREMENT%
002336 122 105 115
002341 105 116 124
002344 000
002742 002333' .WORD DCRMSG ; POINTER TO "DECREMENT" SYMBOL
002744 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
002746 000624' .WORD .DPOSD ; ROUTINE TO CALL OR DATA
11102 ;
11103 002750 COMND$ INCREMENT,<LG.RPT!LG.OPR>,.DPOSI,INC
002345 111 116 103 INCMSG:: .ASCIZ %INCREMENT%
002350 122 105 115
002353 105 116 124
002356 000
002750 002345' .WORD INCMSG ; POINTER TO "INCREMENT" SYMBOL
002752 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
002754 000630' .WORD .DPOSI ; ROUTINE TO CALL OR DATA
11104 ;
11105 002756 COMND$ NEXT,<LG.RPT!LG.OPR>,.DPOSN,NXT
002357 116 105 130 NXTMSG:: .ASCIZ %NEXT%
002362 124 000
002756 002357' .WORD NXTMSG ; POINTER TO "NEXT" SYMBOL
002760 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
002762 000634' .WORD .DPOSN ; ROUTINE TO CALL OR DATA
11106 ;
11107 002764 COMND$ PREVIOUS,<LG.RPT!LG.OPR>,.DPOSP,PRV
002364 120 122 105 PRVMSG:: .ASCIZ %PREVIOUS%
002367 126 111 117
002372 125 123 000
002764 002364' .WORD PRVMSG ; POINTER TO "PREVIOUS" SYMBOL
002766 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
002770 000640' .WORD .DPOSP ; ROUTINE TO CALL OR DATA
11108 ;
11109 002772 COMND$ THIS,<LG.RPT!LG.OPR>,.DPOSZ,THS
002375 124 110 111 THSMSG:: .ASCIZ %THIS%
002400 123 000
002772 002375' .WORD THSMSG ; POINTER TO "THIS" SYMBOL
002774 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
002776 000644' .WORD .DPOSZ ; ROUTINE TO CALL OR DATA
11110 ;
11111 003000 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 316
.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
11113 .SBTTL .DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
11114
11115 003002 .DPOTB::
11116 003002 COMND$ AR,<LG.PRG!LG.RPT>,.DEPAR,AR
002402 101 122 000 ARMSG:: .ASCIZ %AR%
003002 002402' .WORD ARMSG ; POINTER TO "AR" SYMBOL
003004 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003006 002250' .WORD .DEPAR ; ROUTINE TO CALL OR DATA
11117 ;
11118 003010 COMND$ ELEVEN,<LG.PRG!LG.RPT>,.DPOEL,ELE
002405 105 114 105 ELEMSG:: .ASCIZ %ELEVEN%
002410 126 105 116
002413 000
003010 002405' .WORD ELEMSG ; POINTER TO "ELEVEN" SYMBOL
003012 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003014 000742' .WORD .DPOEL ; ROUTINE TO CALL OR DATA
11119 ;
11120 003016 COMND$ TEN,<LG.PRG!LG.RPT>,.DPOKL,TEN
002414 124 105 116 TENMSG:: .ASCIZ %TEN%
002417 000
003016 002414' .WORD TENMSG ; POINTER TO "TEN" SYMBOL
003020 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003022 000734' .WORD .DPOKL ; ROUTINE TO CALL OR DATA
11121 ;
11122 003024 COMND$ DECREMENT,<LG.RPT!LG.OPR>,.DPOSD,DCR
003024 002333' .WORD DCRMSG ; POINTER TO "DECREMENT" SYMBOL
003026 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003030 000624' .WORD .DPOSD ; ROUTINE TO CALL OR DATA
11123 ;
11124 003032 COMND$ INCREMENT,<LG.RPT!LG.OPR>,.DPOSI,INC
003032 002345' .WORD INCMSG ; POINTER TO "INCREMENT" SYMBOL
003034 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003036 000630' .WORD .DPOSI ; ROUTINE TO CALL OR DATA
11125 ;
11126 003040 COMND$ NEXT,<LG.RPT!LG.OPR>,.DPOSN,NXT
003040 002357' .WORD NXTMSG ; POINTER TO "NEXT" SYMBOL
003042 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003044 000634' .WORD .DPOSN ; ROUTINE TO CALL OR DATA
11127 ;
11128 003046 COMND$ PREVIOUS,<LG.RPT!LG.OPR>,.DPOSP,PRV
003046 002364' .WORD PRVMSG ; POINTER TO "PREVIOUS" SYMBOL
003050 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003052 000640' .WORD .DPOSP ; ROUTINE TO CALL OR DATA
11129 ;
11130 003054 COMND$ THIS,<LG.RPT!LG.OPR>,.DPOSZ,THS
003054 002375' .WORD THSMSG ; POINTER TO "THIS" SYMBOL
003056 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003060 000644' .WORD .DPOSZ ; ROUTINE TO CALL OR DATA
11131 ;
11132 003062 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 317
.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
11134 .SBTTL .EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
11135
11136 003064 .EXETB::
11137 003064 COMND$ DECREMENT,<LG.RPT!LG.OPR>,.EXAMD,DCR
003064 002333' .WORD DCRMSG ; POINTER TO "DECREMENT" SYMBOL
003066 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003070 000666' .WORD .EXAMD ; ROUTINE TO CALL OR DATA
11138 ;
11139 003072 COMND$ INCREMENT,<LG.RPT!LG.OPR>,.EXAMI,INC
003072 002345' .WORD INCMSG ; POINTER TO "INCREMENT" SYMBOL
003074 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003076 000672' .WORD .EXAMI ; ROUTINE TO CALL OR DATA
11140 ;
11141 003100 COMND$ NEXT,<LG.RPT!LG.OPR>,.EXAMN,NXT
003100 002357' .WORD NXTMSG ; POINTER TO "NEXT" SYMBOL
003102 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003104 000676' .WORD .EXAMN ; ROUTINE TO CALL OR DATA
11142 ;
11143 003106 COMND$ PREVIOUS,<LG.RPT!LG.OPR>,.EXAMP,PRV
003106 002364' .WORD PRVMSG ; POINTER TO "PREVIOUS" SYMBOL
003110 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003112 000702' .WORD .EXAMP ; ROUTINE TO CALL OR DATA
11144 ;
11145 003114 COMND$ THIS,<LG.RPT!LG.OPR>,.EXAMZ,THS
003114 002375' .WORD THSMSG ; POINTER TO "THIS" SYMBOL
003116 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003120 000706' .WORD .EXAMZ ; ROUTINE TO CALL OR DATA
11146 ;
11147 003122 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 318
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
11149 .SBTTL .EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
11150
11151 003124 .EXMTB::
11152 003124 COMND$ AD,<LG.PRG!LG.RPT>,.EXAD,AD
002420 101 104 000 ADMSG:: .ASCIZ %AD%
003124 002420' .WORD ADMSG ; POINTER TO "AD" SYMBOL
003126 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003130 004276' .WORD .EXAD ; ROUTINE TO CALL OR DATA
11153 ;
11154 003132 COMND$ ADX,<LG.PRG!LG.RPT>,.EXADX,ADX
002423 101 104 130 ADXMSG:: .ASCIZ %ADX%
002426 000
003132 002423' .WORD ADXMSG ; POINTER TO "ADX" SYMBOL
003134 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003136 004304' .WORD .EXADX ; ROUTINE TO CALL OR DATA
11155 ;
11156 003140 COMND$ AR,<LG.PRG!LG.RPT>,.EXARR,AR
003140 002402' .WORD ARMSG ; POINTER TO "AR" SYMBOL
003142 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003144 004312' .WORD .EXARR ; ROUTINE TO CALL OR DATA
11157 ;
11158 003146 COMND$ ARX,<LG.PRG!LG.RPT>,.EXARX,ARX
002427 101 122 130 ARXMSG:: .ASCIZ %ARX%
002432 000
003146 002427' .WORD ARXMSG ; POINTER TO "ARX" SYMBOL
003150 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003152 004320' .WORD .EXARX ; ROUTINE TO CALL OR DATA
11159 ;
11160 003154 COMND$ BR,<LG.PRG!LG.RPT>,.EXBRR,BR
002433 102 122 000 BRMSG:: .ASCIZ %BR%
003154 002433' .WORD BRMSG ; POINTER TO "BR" SYMBOL
003156 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003160 004326' .WORD .EXBRR ; ROUTINE TO CALL OR DATA
11161 ;
11162 003162 COMND$ BRX,<LG.PRG!LG.RPT>,.EXBRX,BRX
002436 102 122 130 BRXMSG:: .ASCIZ %BRX%
002441 000
003162 002436' .WORD BRXMSG ; POINTER TO "BRX" SYMBOL
003164 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003166 004334' .WORD .EXBRX ; ROUTINE TO CALL OR DATA
11163 ;
11164 003170 COMND$ EBUS,<LG.PRG!LG.RPT>,.EXEBS,EBS
002442 105 102 125 EBSMSG:: .ASCIZ %EBUS%
002445 123 000
003170 002442' .WORD EBSMSG ; POINTER TO "EBUS" SYMBOL
003172 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003174 004342' .WORD .EXEBS ; ROUTINE TO CALL OR DATA
11165 ;
11166 003176 COMND$ FM,<LG.PRG!LG.RPT>,.EXFMR,FM
002447 106 115 000 FMMSG:: .ASCIZ %FM%
003176 002447' .WORD FMMSG ; POINTER TO "FM" SYMBOL
003200 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003202 004350' .WORD .EXFMR ; ROUTINE TO CALL OR DATA
11167 ;
11168 003204 COMND$ MQ,<LG.PRG!LG.RPT>,.EXMQR,MQ
002452 115 121 000 MQMSG:: .ASCIZ %MQ%
003204 002452' .WORD MQMSG ; POINTER TO "MQ" SYMBOL
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 318-1
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
003206 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003210 004356' .WORD .EXMQR ; ROUTINE TO CALL OR DATA
11169 ;
11170 003212 COMND$ PC,<LG.ALL!LG.RPT>,.EXVPC,PC
002455 120 103 000 PCMSG:: .ASCIZ %PC%
003212 002455' .WORD PCMSG ; POINTER TO "PC" SYMBOL
003214 000407 .WORD LG.ALL!LG.RPT ; LEGAL BITS
003216 004406' .WORD .EXVPC ; ROUTINE TO CALL OR DATA
11171 ;
11172 000012 EXRTBL==<.-.EXMTB>/6
11173 003220 COMND$ AB,<LG.PRG!LG.RPT>,.EXVAB,AB
002460 101 102 000 ABMSG:: .ASCIZ %AB%
003220 002460' .WORD ABMSG ; POINTER TO "AB" SYMBOL
003222 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003224 004364' .WORD .EXVAB ; ROUTINE TO CALL OR DATA
11174 ;
11175 003226 COMND$ CRADDR,<LG.PRG!LG.RPT>,.EXCRA,CRA
002463 103 122 101 CRAMSG:: .ASCIZ %CRADDR%
002466 104 104 122
002471 000
003226 002463' .WORD CRAMSG ; POINTER TO "CRADDR" SYMBOL
003230 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003232 004662' .WORD .EXCRA ; ROUTINE TO CALL OR DATA
11176 ;
11177 003234 COMND$ CRLOC,<LG.PRG!LG.RPT>,.EXCRL,CRL
002472 103 122 114 CRLMSG:: .ASCIZ %CRLOC%
002475 117 103 000
003234 002472' .WORD CRLMSG ; POINTER TO "CRLOC" SYMBOL
003236 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003240 004670' .WORD .EXCRL ; ROUTINE TO CALL OR DATA
11178 ;
11179 003242 COMND$ DRADDR,<LG.PRG!LG.RPT>,.EXDRA,DRA
002500 104 122 101 DRAMSG:: .ASCIZ %DRADDR%
002503 104 104 122
002506 000
003242 002500' .WORD DRAMSG ; POINTER TO "DRADDR" SYMBOL
003244 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003246 004676' .WORD .EXDRA ; ROUTINE TO CALL OR DATA
11180 ;
11181 003250 COMND$ DTE-20,<LG.PRG!LG.RPT>,.EXDTE,DTE
002507 104 124 105 DTEMSG:: .ASCIZ %DTE-20%
002512 055 062 060
002515 000
003250 002507' .WORD DTEMSG ; POINTER TO "DTE-20" SYMBOL
003252 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003254 004776' .WORD .EXDTE ; ROUTINE TO CALL OR DATA
11182 ;
11183 003256 COMND$ ELEVEN,<LG.OPR!LG.RPT>,.EXMEL,ELE
003256 002405' .WORD ELEMSG ; POINTER TO "ELEVEN" SYMBOL
003260 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
003262 001000' .WORD .EXMEL ; ROUTINE TO CALL OR DATA
11184 ;
11185 003264 COMND$ FE,<LG.PRG!LG.RPT>,.EXFER,FER
002516 106 105 000 FERMSG:: .ASCIZ %FE%
003264 002516' .WORD FERMSG ; POINTER TO "FE" SYMBOL
003266 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003270 004704' .WORD .EXFER ; ROUTINE TO CALL OR DATA
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 318-2
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
11186 ;
11187 003272 COMND$ FLAGS,<LG.PRG!LG.RPT>,.EXAMF,FLG
002521 106 114 101 FLGMSG:: .ASCIZ %FLAGS%
002524 107 123 000
003272 002521' .WORD FLGMSG ; POINTER TO "FLAGS" SYMBOL
003274 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003276 004502' .WORD .EXAMF ; ROUTINE TO CALL OR DATA
11188 ;
11189 003300 COMND$ KL,<LG.ALL!LG.RPT>,.EXAMK,KL
002527 113 114 000 KLMSG:: .ASCIZ %KL%
003300 002527' .WORD KLMSG ; POINTER TO "KL" SYMBOL
003302 000407 .WORD LG.ALL!LG.RPT ; LEGAL BITS
003304 004606' .WORD .EXAMK ; ROUTINE TO CALL OR DATA
11190 ;
11191 003306 COMND$ PI,<LG.PRG!LG.RPT>,.EXMPI,PI
002532 120 111 000 PIMSG:: .ASCIZ %PI%
003306 002532' .WORD PIMSG ; POINTER TO "PI" SYMBOL
003310 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003312 005074' .WORD .EXMPI ; ROUTINE TO CALL OR DATA
11192 ;
11193 003314 COMND$ REGISTERS,<LG.PRG!LG.RPT>,.EXREG,REG
002535 122 105 107 REGMSG:: .ASCIZ %REGISTERS%
002540 111 123 124
002543 105 122 123
002546 000
003314 002535' .WORD REGMSG ; POINTER TO "REGISTERS" SYMBOL
003316 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003320 005246' .WORD .EXREG ; ROUTINE TO CALL OR DATA
11194 ;
11195 003322 COMND$ TEN,<LG.OPR!LG.RPT>,.EXMKL,TEN
003322 002414' .WORD TENMSG ; POINTER TO "TEN" SYMBOL
003324 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
003326 001010' .WORD .EXMKL ; ROUTINE TO CALL OR DATA
11196 ;
11197 003330 COMND$ VMA,<LG.PRG!LG.RPT>,.EXVMA,VMA
002547 126 115 101 VMAMSG:: .ASCIZ %VMA%
002552 000
003330 002547' .WORD VMAMSG ; POINTER TO "VMA" SYMBOL
003332 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003334 004372' .WORD .EXVMA ; ROUTINE TO CALL OR DATA
11198 ;
11199 003336 COMND$ VMAH,<LG.PRG!LG.RPT>,.EXVMH,VMH
002553 126 115 101 VMHMSG:: .ASCIZ %VMAH%
002556 110 000
003336 002553' .WORD VMHMSG ; POINTER TO "VMAH" SYMBOL
003340 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003342 004400' .WORD .EXVMH ; ROUTINE TO CALL OR DATA
11200 ;
11201 003344 COMND$ SBR,<LG.PRG!LG.RPT>,.EXSBR,SBR
002560 123 102 122 SBRMSG:: .ASCIZ %SBR%
002563 000
003344 002560' .WORD SBRMSG ; POINTER TO "SBR" SYMBOL
003346 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003350 004712' .WORD .EXSBR ; ROUTINE TO CALL OR DATA
11202 ;
11203 003352 COMND$ SC,<LG.PRG!LG.RPT>,.EXSCR,SCR
002564 123 103 000 SCRMSG:: .ASCIZ %SC%
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 318-3
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
003352 002564' .WORD SCRMSG ; POINTER TO "SC" SYMBOL
003354 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
003356 004720' .WORD .EXSCR ; ROUTINE TO CALL OR DATA
11204 ;
11205 003360 COMND$ DECREMENT,<LG.RPT!LG.OPR>,.EXAMD,DCR
003360 002333' .WORD DCRMSG ; POINTER TO "DECREMENT" SYMBOL
003362 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003364 000666' .WORD .EXAMD ; ROUTINE TO CALL OR DATA
11206 ;
11207 003366 COMND$ INCREMENT,<LG.RPT!LG.OPR>,.EXAMI,INC
003366 002345' .WORD INCMSG ; POINTER TO "INCREMENT" SYMBOL
003370 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003372 000672' .WORD .EXAMI ; ROUTINE TO CALL OR DATA
11208 ;
11209 003374 COMND$ NEXT,<LG.RPT!LG.OPR>,.EXAMN,NXT
003374 002357' .WORD NXTMSG ; POINTER TO "NEXT" SYMBOL
003376 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003400 000676' .WORD .EXAMN ; ROUTINE TO CALL OR DATA
11210 ;
11211 003402 COMND$ PREVIOUS,<LG.RPT!LG.OPR>,.EXAMP,PRV
003402 002364' .WORD PRVMSG ; POINTER TO "PREVIOUS" SYMBOL
003404 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003406 000702' .WORD .EXAMP ; ROUTINE TO CALL OR DATA
11212 ;
11213 003410 COMND$ THIS,<LG.RPT!LG.OPR>,.EXAMZ,THS
003410 002375' .WORD THSMSG ; POINTER TO "THIS" SYMBOL
003412 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003414 000706' .WORD .EXAMZ ; ROUTINE TO CALL OR DATA
11214 ;
11215 003416 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 319
.KLMTB -- THE KLINIK MODE TABLE 7702.16
11217 .SBTTL .KLMTB -- THE KLINIK MODE TABLE 7702.16
11218
11219 003420 .KLMTB::
11220 003420 COMND$ MAINTENANCE,LG.ALL,LG.ALL,MNT
002567 115 101 111 MNTMSG:: .ASCIZ %MAINTENANCE%
002572 116 124 105
002575 116 101 116
002600 103 105 000
003420 002567' .WORD MNTMSG ; POINTER TO "MAINTENANCE" SYMBOL
003422 000007 .WORD LG.ALL ; LEGAL BITS
003424 000007 .WORD LG.ALL ; ROUTINE TO CALL OR DATA
11221 ;
11222 003426 COMND$ OPERATOR,LG.ALL,LG.OPR,OPR
002603 117 120 105 OPRMSG:: .ASCIZ %OPERATOR%
002606 122 101 124
002611 117 122 000
003426 002603' .WORD OPRMSG ; POINTER TO "OPERATOR" SYMBOL
003430 000007 .WORD LG.ALL ; LEGAL BITS
003432 000001 .WORD LG.OPR ; ROUTINE TO CALL OR DATA
11223 ;
11224 003434 COMND$ PROGRAMMER,LG.ALL,LG.PRM,PRG
002614 120 122 117 PRGMSG:: .ASCIZ %PROGRAMMER%
002617 107 122 101
002622 115 115 105
002625 122 000
003434 002614' .WORD PRGMSG ; POINTER TO "PROGRAMMER" SYMBOL
003436 000007 .WORD LG.ALL ; LEGAL BITS
003440 000003 .WORD LG.PRM ; ROUTINE TO CALL OR DATA
11225 ;
11226 003442 000000 .WORD 0 ; END OF TABLE MARKER
11227
11228 003444 .KLMT1::
11229 003444 COMND$ REMOTE,LG.ALL,1,REM
002627 122 105 115 REMMSG:: .ASCIZ %REMOTE%
002632 117 124 105
002635 000
003444 002627' .WORD REMMSG ; POINTER TO "REMOTE" SYMBOL
003446 000007 .WORD LG.ALL ; LEGAL BITS
003450 000001 .WORD 1 ; ROUTINE TO CALL OR DATA
11230 ;
11231 003452 COMND$ USER,LG.ALL,-1,USR
002636 125 123 105 USRMSG:: .ASCIZ %USER%
002641 122 000
003452 002636' .WORD USRMSG ; POINTER TO "USER" SYMBOL
003454 000007 .WORD LG.ALL ; LEGAL BITS
003456 177777 .WORD -1 ; ROUTINE TO CALL OR DATA
11232 ;
11233 003460 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 320
.MONTB -- THE MONTH TABLE 7702.16
11235 .SBTTL .MONTB -- THE MONTH TABLE 7702.16
11236
11237
11238 003462 .MONTB::
11239 003462 COMND$ JANUARY,LG.ALL,1.,JAN
002643 112 101 116 JANMSG:: .ASCIZ %JANUARY%
002646 125 101 122
002651 131 000
003462 002643' .WORD JANMSG ; POINTER TO "JANUARY" SYMBOL
003464 000007 .WORD LG.ALL ; LEGAL BITS
003466 000001 .WORD 1. ; ROUTINE TO CALL OR DATA
11240 ;
11241 003470 COMND$ FEBRUARY,LG.ALL,2.,FEB
002653 106 105 102 FEBMSG:: .ASCIZ %FEBRUARY%
002656 122 125 101
002661 122 131 000
003470 002653' .WORD FEBMSG ; POINTER TO "FEBRUARY" SYMBOL
003472 000007 .WORD LG.ALL ; LEGAL BITS
003474 000002 .WORD 2. ; ROUTINE TO CALL OR DATA
11242 ;
11243 003476 COMND$ MARCH,LG.ALL,3.,MAR
002664 115 101 122 MARMSG:: .ASCIZ %MARCH%
002667 103 110 000
003476 002664' .WORD MARMSG ; POINTER TO "MARCH" SYMBOL
003500 000007 .WORD LG.ALL ; LEGAL BITS
003502 000003 .WORD 3. ; ROUTINE TO CALL OR DATA
11244 ;
11245 003504 COMND$ APRIL,LG.ALL,4.,APR
002672 101 120 122 APRMSG:: .ASCIZ %APRIL%
002675 111 114 000
003504 002672' .WORD APRMSG ; POINTER TO "APRIL" SYMBOL
003506 000007 .WORD LG.ALL ; LEGAL BITS
003510 000004 .WORD 4. ; ROUTINE TO CALL OR DATA
11246 ;
11247 003512 COMND$ MAY,LG.ALL,5.,MAY
002700 115 101 131 MAYMSG:: .ASCIZ %MAY%
002703 000
003512 002700' .WORD MAYMSG ; POINTER TO "MAY" SYMBOL
003514 000007 .WORD LG.ALL ; LEGAL BITS
003516 000005 .WORD 5. ; ROUTINE TO CALL OR DATA
11248 ;
11249 003520 COMND$ JUNE,LG.ALL,6.,JUN
002704 112 125 116 JUNMSG:: .ASCIZ %JUNE%
002707 105 000
003520 002704' .WORD JUNMSG ; POINTER TO "JUNE" SYMBOL
003522 000007 .WORD LG.ALL ; LEGAL BITS
003524 000006 .WORD 6. ; ROUTINE TO CALL OR DATA
11250 ;
11251 003526 COMND$ JULY,LG.ALL,7.,JUL
002711 112 125 114 JULMSG:: .ASCIZ %JULY%
002714 131 000
003526 002711' .WORD JULMSG ; POINTER TO "JULY" SYMBOL
003530 000007 .WORD LG.ALL ; LEGAL BITS
003532 000007 .WORD 7. ; ROUTINE TO CALL OR DATA
11252 ;
11253 003534 COMND$ AUGUST,LG.ALL,8.,AUG
002716 101 125 107 AUGMSG:: .ASCIZ %AUGUST%
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 320-1
.MONTB -- THE MONTH TABLE 7702.16
002721 125 123 124
002724 000
003534 002716' .WORD AUGMSG ; POINTER TO "AUGUST" SYMBOL
003536 000007 .WORD LG.ALL ; LEGAL BITS
003540 000010 .WORD 8. ; ROUTINE TO CALL OR DATA
11254 ;
11255 003542 COMND$ SEPTEMBER,LG.ALL,9.,SEP
002725 123 105 120 SEPMSG:: .ASCIZ %SEPTEMBER%
002730 124 105 115
002733 102 105 122
002736 000
003542 002725' .WORD SEPMSG ; POINTER TO "SEPTEMBER" SYMBOL
003544 000007 .WORD LG.ALL ; LEGAL BITS
003546 000011 .WORD 9. ; ROUTINE TO CALL OR DATA
11256 ;
11257 003550 COMND$ OCTOBER,LG.ALL,10.,OCT
002737 117 103 124 OCTMSG:: .ASCIZ %OCTOBER%
002742 117 102 105
002745 122 000
003550 002737' .WORD OCTMSG ; POINTER TO "OCTOBER" SYMBOL
003552 000007 .WORD LG.ALL ; LEGAL BITS
003554 000012 .WORD 10. ; ROUTINE TO CALL OR DATA
11258 ;
11259 003556 COMND$ NOVEMBER,LG.ALL,11.,NOV
002747 116 117 126 NOVMSG:: .ASCIZ %NOVEMBER%
002752 105 115 102
002755 105 122 000
003556 002747' .WORD NOVMSG ; POINTER TO "NOVEMBER" SYMBOL
003560 000007 .WORD LG.ALL ; LEGAL BITS
003562 000013 .WORD 11. ; ROUTINE TO CALL OR DATA
11260 ;
11261 003564 COMND$ DECEMBER,LG.ALL,12.,DEC
002760 104 105 103 DECMSG:: .ASCIZ %DECEMBER%
002763 105 115 102
002766 105 122 000
003564 002760' .WORD DECMSG ; POINTER TO "DECEMBER" SYMBOL
003566 000007 .WORD LG.ALL ; LEGAL BITS
003570 000014 .WORD 12. ; ROUTINE TO CALL OR DATA
11262 ;
11263 003572 000000 .WORD 0 ; END OF TABLE MARKER
11264
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 321
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
11266 .SBTTL .NSETB -- NORMAL ERROR CODE TABLE 7710.11
11267
11268 003574 .NSETB::
11269 003574 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
003574 004305 .RAD50 /APE/ ; "APE" IN .RAD50
003576 000000' .WORD APEERM ; POINTER TO MESSAGE
11270 ;
11271 003600 NSERR$ BAE,<BURST ARGUMENT ERROR>
000023 102 101 105 BAEERM: .ASCIZ %BAE - BURST ARGUMENT ERROR%
000026 040 055 040
000031 102 125 122
000034 123 124 040
000037 101 122 107
000042 125 115 105
000045 116 124 040
000050 105 122 122
000053 117 122 000
003600 006255 .RAD50 /BAE/ ; "BAE" IN .RAD50
003602 000023' .WORD BAEERM ; POINTER TO MESSAGE
11272 ;
11273 003604 NSERR$ CAE,<KL CRAM ADDRESS ERROR>
000056 103 101 105 CAEERM: .ASCIZ %CAE - KL CRAM ADDRESS ERROR%
000061 040 055 040
000064 113 114 040
000067 103 122 101
000072 115 040 101
000075 104 104 122
000100 105 123 123
000103 040 105 122
000106 122 117 122
000111 000
003604 011355 .RAD50 /CAE/ ; "CAE" IN .RAD50
003606 000056' .WORD CAEERM ; POINTER TO MESSAGE
11274 003610 NSERR$ CBO,<COMMAND BUFFER OVERFLOW>
000112 103 102 117 CBOERM: .ASCIZ %CBO - COMMAND BUFFER OVERFLOW%
000115 040 055 040
000120 103 117 115
000123 115 101 116
000126 104 040 102
000131 125 106 106
000134 105 122 040
000137 117 126 105
000142 122 106 114
000145 117 127 000
003610 011437 .RAD50 /CBO/ ; "CBO" IN .RAD50
003612 000112' .WORD CBOERM ; POINTER TO MESSAGE
11275 003614 NSERR$ CDI,<SET/CLEAR DATE ILLEGAL IN PRIMARY PROTOCOL>
000150 103 104 111 CDIERM: .ASCIZ %CDI - SET/CLEAR DATE ILLEGAL IN PRIMARY PROTOCOL%
000153 040 055 040
000156 123 105 124
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 321-1
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
000161 057 103 114
000164 105 101 122
000167 040 104 101
000172 124 105 040
000175 111 114 114
000200 105 107 101
000203 114 040 111
000206 116 040 120
000211 122 111 115
000214 101 122 131
000217 040 120 122
000222 117 124 117
000225 103 117 114
000230 000
003614 011551 .RAD50 /CDI/ ; "CDI" IN .RAD50
003616 000150' .WORD CDIERM ; POINTER TO MESSAGE
11276 003620 NSERR$ CFH,<CAN'T FIND KL HALT LOOP>
000231 103 106 110 CFHERM: .ASCIZ %CFH - CAN'T FIND KL HALT LOOP%
000234 040 055 040
000237 103 101 116
000242 047 124 040
000245 106 111 116
000250 104 040 113
000253 114 040 110
000256 101 114 124
000261 040 114 117
000264 117 120 000
003620 011670 .RAD50 /CFH/ ; "CFH" IN .RAD50
003622 000231' .WORD CFHERM ; POINTER TO MESSAGE
11277 003624 NSERR$ CLE,<CONSOLE LIMIT EXCEEDED>
000267 103 114 105 CLEERM: .ASCIZ %CLE - CONSOLE LIMIT EXCEEDED%
000272 040 055 040
000275 103 117 116
000300 123 117 114
000303 105 040 114
000306 111 115 111
000311 124 040 105
000314 130 103 105
000317 105 104 105
000322 104 000
003624 012245 .RAD50 /CLE/ ; "CLE" IN .RAD50
003626 000267' .WORD CLEERM ; POINTER TO MESSAGE
11278 003630 NSERR$ CNR,<COMMAND IS NOT REPEATABLE>
000324 103 116 122 CNRERM: .ASCIZ %CNR - COMMAND IS NOT REPEATABLE%
000327 040 055 040
000332 103 117 115
000335 115 101 116
000340 104 040 111
000343 123 040 116
000346 117 124 040
000351 122 105 120
000354 105 101 124
000357 101 102 114
000362 105 000
003630 012402 .RAD50 /CNR/ ; "CNR" IN .RAD50
003632 000324' .WORD CNRERM ; POINTER TO MESSAGE
11279 003634 NSERR$ CPE,<CAN'T PHASE EBOX>
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 321-2
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
000364 103 120 105 CPEERM: .ASCIZ %CPE - CAN'T PHASE EBOX%
000367 040 055 040
000372 103 101 116
000375 047 124 040
000400 120 110 101
000403 123 105 040
000406 105 102 117
000411 130 000
003634 012505 .RAD50 /CPE/ ; "CPE" IN .RAD50
003636 000364' .WORD CPEERM ; POINTER TO MESSAGE
11280 ;
11284 003640 NSERR$ DAV,<DATE ALREADY VALID>
000413 104 101 126 DAVERM: .ASCIZ %DAV - DATE ALREADY VALID%
000416 040 055 040
000421 104 101 124
000424 105 040 101
000427 114 122 105
000432 101 104 131
000435 040 126 101
000440 114 111 104
000443 000
003640 014476 .RAD50 /DAV/ ; "DAV" IN .RAD50
003642 000413' .WORD DAVERM ; POINTER TO MESSAGE
11285 003644 NSERR$ DBT,<DATE BEFORE TODAY>
000444 104 102 124 DBTERM: .ASCIZ %DBT - DATE BEFORE TODAY%
000447 040 055 040
000452 104 101 124
000455 105 040 102
000460 105 106 117
000463 122 105 040
000466 124 117 104
000471 101 131 000
003644 014544 .RAD50 /DBT/ ; "DBT" IN .RAD50
003646 000444' .WORD DBTERM ; POINTER TO MESSAGE
11286 003650 NSERR$ DCK,<DIVIDE CHECK>
000474 104 103 113 DCKERM: .ASCIZ %DCK - DIVIDE CHECK%
000477 040 055 040
000502 104 111 126
000505 111 104 105
000510 040 103 110
000513 105 103 113
000516 000
003650 014603 .RAD50 /DCK/ ; "DCK" IN .RAD50
003652 000474' .WORD DCKERM ; POINTER TO MESSAGE
11287 003654 NSERR$ DMF,<DEPOSIT KL MEMORY FAILED>
000517 104 115 106 DMFERM: .ASCIZ %DMF - DEPOSIT KL MEMORY FAILED%
000522 040 055 040
000525 104 105 120
000530 117 123 111
000533 124 040 113
000536 114 040 115
000541 105 115 117
000544 122 131 040
000547 106 101 111
000552 114 105 104
000555 000
003654 015416 .RAD50 /DMF/ ; "DMF" IN .RAD50
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 321-3
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
003656 000517' .WORD DMFERM ; POINTER TO MESSAGE
11288 003660 NSERR$ DOR,<DATE OUT OF RANGE>
000556 104 117 122 DORERM: .ASCIZ %DOR - DATE OUT OF RANGE%
000561 040 055 040
000564 104 101 124
000567 105 040 117
000572 125 124 040
000575 117 106 040
000600 122 101 116
000603 107 105 000
003660 015552 .RAD50 /DOR/ ; "DOR" IN .RAD50
003662 000556' .WORD DORERM ; POINTER TO MESSAGE
11289 003664 NSERR$ DNP,<DTE-20 IS NOT PRIVILEGED>
000606 104 116 120 DNPERM: .ASCIZ %DNP - DTE-20 IS NOT PRIVILEGED%
000611 040 055 040
000614 104 124 105
000617 055 062 060
000622 040 111 123
000625 040 116 117
000630 124 040 120
000633 122 111 126
000636 111 114 105
000641 107 105 104
000644 000
003664 015500 .RAD50 /DNP/ ; "DNP" IN .RAD50
003666 000606' .WORD DNPERM ; POINTER TO MESSAGE
11290 003670 NSERR$ DSF,<DTE-20 STATUS FAILED>
000645 104 123 106 DSFERM: .ASCIZ %DSF - DTE-20 STATUS FAILED%
000650 040 055 040
000653 104 124 105
000656 055 062 060
000661 040 123 124
000664 101 124 125
000667 123 040 106
000672 101 111 114
000675 105 104 000
003670 015776 .RAD50 /DSF/ ; "DSF" IN .RAD50
003672 000645' .WORD DSFERM ; POINTER TO MESSAGE
11291 003674 NSERR$ DTC,<DTE-20 CONFUSED - RUN AND HALT LOOP>
000700 104 124 103 DTCERM: .ASCIZ %DTC - DTE-20 CONFUSED - RUN AND HALT LOOP%
000703 040 055 040
000706 104 124 105
000711 055 062 060
000714 040 103 117
000717 116 106 125
000722 123 105 104
000725 040 055 040
000730 122 125 116
000733 040 101 116
000736 104 040 110
000741 101 114 124
000744 040 114 117
000747 117 120 000
003674 016043 .RAD50 /DTC/ ; "DTC" IN .RAD50
003676 000700' .WORD DTCERM ; POINTER TO MESSAGE
11292 ;
11293 003700 NSERR$ ECT,<EBOX CLOCK TIMEOUT>
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 321-4
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
000752 105 103 124 ECTERM: .ASCIZ %ECT - EBOX CLOCK TIMEOUT%
000755 040 055 040
000760 105 102 117
000763 130 040 103
000766 114 117 103
000771 113 040 124
000774 111 115 105
000777 117 125 124
001002 000
003700 017714 .RAD50 /ECT/ ; "ECT" IN .RAD50
003702 000752' .WORD ECTERM ; POINTER TO MESSAGE
11294 003704 NSERR$ EMF,<EXAMINE KL MEMORY FAILED>
001003 105 115 106 EMFERM: .ASCIZ %EMF - EXAMINE KL MEMORY FAILED%
001006 040 055 040
001011 105 130 101
001014 115 111 116
001017 105 040 113
001022 114 040 115
001025 105 115 117
001030 122 131 040
001033 106 101 111
001036 114 105 104
001041 000
003704 020516 .RAD50 /EMF/ ; "EMF" IN .RAD50
003706 001003' .WORD EMFERM ; POINTER TO MESSAGE
11295 003710 NSERR$ EOC,<END OF COMMAND REQUIRED>
001042 105 117 103 EOCERM: .ASCIZ %EOC - END OF COMMAND REQUIRED%
001045 040 055 040
001050 105 116 104
001053 040 117 106
001056 040 103 117
001061 115 115 101
001064 116 104 040
001067 122 105 121
001072 125 111 122
001075 105 104 000
003710 020633 .RAD50 /EOC/ ; "EOC" IN .RAD50
003712 001042' .WORD EOCERM ; POINTER TO MESSAGE
11296 003714 NSERR$ EPE,<EBUS PARITY ERROR>
001100 105 120 105 EPEERM: .ASCIZ %EPE - EBUS PARITY ERROR%
001103 040 055 040
001106 105 102 125
001111 123 040 120
001114 101 122 111
001117 124 131 040
001122 105 122 122
001125 117 122 000
003714 020705 .RAD50 /EPE/ ; "EPE" IN .RAD50
003716 001100' .WORD EPEERM ; POINTER TO MESSAGE
11297 003720 NSERR$ ESD,<EBOX STOPPED - DEPOSIT>
001130 105 123 104 ESDERM: .ASCIZ %ESD - EBOX STOPPED - DEPOSIT%
001133 040 055 040
001136 105 102 117
001141 130 040 123
001144 124 117 120
001147 120 105 104
001152 040 055 040
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 321-5
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
001155 104 105 120
001160 117 123 111
001163 124 000
003720 021074 .RAD50 /ESD/ ; "ESD" IN .RAD50
003722 001130' .WORD ESDERM ; POINTER TO MESSAGE
11298 003724 NSERR$ ESE,<EBOX STOPPED - EXAMINE>
001165 105 123 105 ESEERM: .ASCIZ %ESE - EBOX STOPPED - EXAMINE%
001170 040 055 040
001173 105 102 117
001176 130 040 123
001201 124 117 120
001204 120 105 104
001207 040 055 040
001212 105 130 101
001215 115 111 116
001220 105 000
003724 021075 .RAD50 /ESE/ ; "ESE" IN .RAD50
003726 001165' .WORD ESEERM ; POINTER TO MESSAGE
11299 ;
11300 003730 NSERR$ IDF,<ILLEGAL DATE FORMAT>
001222 111 104 106 IDFERM: .ASCIZ %IDF - ILLEGAL DATE FORMAT%
001225 040 055 040
001230 111 114 114
001233 105 107 101
001236 114 040 104
001241 101 124 105
001244 040 106 117
001247 122 115 101
001252 124 000
003730 034346 .RAD50 /IDF/ ; "IDF" IN .RAD50
003732 001222' .WORD IDFERM ; POINTER TO MESSAGE
11301 003734 NSERR$ IFC,<ILLEGAL FUNCTION CODE>
001254 111 106 103 IFCERM: .ASCIZ %IFC - ILLEGAL FUNCTION CODE%
001257 040 055 040
001262 111 114 114
001265 105 107 101
001270 114 040 106
001273 125 116 103
001276 124 111 117
001301 116 040 103
001304 117 104 105
001307 000
003734 034463 .RAD50 /IFC/ ; "IFC" IN .RAD50
003736 001254' .WORD IFCERM ; POINTER TO MESSAGE
11302 003740 NSERR$ IOC,<ILLEGAL KL OPCODE>
001310 111 117 103 IOCERM: .ASCIZ %IOC - ILLEGAL KL OPCODE%
001313 040 055 040
001316 111 114 114
001321 105 107 101
001324 114 040 113
001327 114 040 117
001332 120 103 117
001335 104 105 000
003740 035233 .RAD50 /IOC/ ; "IOC" IN .RAD50
003742 001310' .WORD IOCERM ; POINTER TO MESSAGE
11303 003744 NSERR$ IRC,<ILLEGAL REPEAT COUNT>
001340 111 122 103 IRCERM: .ASCIZ %IRC - ILLEGAL REPEAT COUNT%
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 321-6
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
001343 040 055 040
001346 111 114 114
001351 105 107 101
001354 114 040 122
001357 105 120 105
001362 101 124 040
001365 103 117 125
001370 116 124 000
003744 035423 .RAD50 /IRC/ ; "IRC" IN .RAD50
003746 001340' .WORD IRCERM ; POINTER TO MESSAGE
11304 003750 NSERR$ ITF,<ILLEGAL TIME FORMAT>
001373 111 124 106 ITFERM: .ASCIZ %ITF - ILLEGAL TIME FORMAT%
001376 040 055 040
001401 111 114 114
001404 105 107 101
001407 114 040 124
001412 111 115 105
001415 040 106 117
001420 122 115 101
001423 124 000
003750 035546 .RAD50 /ITF/ ; "ITF" IN .RAD50
003752 001373' .WORD ITFERM ; POINTER TO MESSAGE
11305 003754 NSERR$ ITN,<ILLEGAL TASK NAME>
001425 111 124 116 ITNERM: .ASCIZ %ITN - ILLEGAL TASK NAME%
001430 040 055 040
001433 111 114 114
001436 105 107 101
001441 114 040 124
001444 101 123 113
001447 040 116 101
001452 115 105 000
003754 035556 .RAD50 /ITN/ ; "ITN" IN .RAD50
003756 001425' .WORD ITNERM ; POINTER TO MESSAGE
11306 ;
11307 003760 NSERR$ KCN,<KL CLOCK IS OFF>
001455 113 103 116 KCNERM: .ASCIZ %KCN - KL CLOCK IS OFF%
001460 040 055 040
001463 113 114 040
001466 103 114 117
001471 103 113 040
001474 111 123 040
001477 117 106 106
001502 000
003760 042506 .RAD50 /KCN/ ; "KCN" IN .RAD50
003762 001455' .WORD KCNERM ; POINTER TO MESSAGE
11308 003764 NSERR$ KLA,<KL ADDRESS ERROR>
001503 113 114 101 KLAERM: .ASCIZ %KLA - KL ADDRESS ERROR%
001506 040 055 040
001511 113 114 040
001514 101 104 104
001517 122 105 123
001522 123 040 105
001525 122 122 117
001530 122 000
003764 043241 .RAD50 /KLA/ ; "KLA" IN .RAD50
003766 001503' .WORD KLAERM ; POINTER TO MESSAGE
11309 003770 NSERR$ KLR,<ILLEGAL WHILE KL IS RUNNING>
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 321-7
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
001532 113 114 122 KLRERM: .ASCIZ %KLR - ILLEGAL WHILE KL IS RUNNING%
001535 040 055 040
001540 111 114 114
001543 105 107 101
001546 114 040 127
001551 110 111 114
001554 105 040 113
001557 114 040 111
001562 123 040 122
001565 125 116 116
001570 111 116 107
001573 000
003770 043262 .RAD50 /KLR/ ; "KLR" IN .RAD50
003772 001532' .WORD KLRERM ; POINTER TO MESSAGE
11310 003774 NSERR$ KNC,<KL IS NOT CONTINUABLE>
001574 113 116 103 KNCERM: .ASCIZ %KNC - KL IS NOT CONTINUABLE%
001577 040 055 040
001602 113 114 040
001605 111 123 040
001610 116 117 124
001613 040 103 117
001616 116 124 111
001621 116 125 101
001624 102 114 105
001627 000
003774 043363 .RAD50 /KNC/ ; "KNC" IN .RAD50
003776 001574' .WORD KNCERM ; POINTER TO MESSAGE
11311 004000 NSERR$ KWE,<KLINIK WINDOW ERROR>
001630 113 127 105 KWEERM: .ASCIZ %KWE - KLINIK WINDOW ERROR%
001633 040 055 040
001636 113 114 111
001641 116 111 113
001644 040 127 111
001647 116 104 117
001652 127 040 105
001655 122 122 117
001660 122 000
004000 044135 .RAD50 /KWE/ ; "KWE" IN .RAD50
004002 001630' .WORD KWEERM ; POINTER TO MESSAGE
11312 ;
11313 004004 NSERR$ MRA,<MISSING REQUIRED ARGUMENT>
001662 115 122 101 MRAERM: .ASCIZ %MRA - MISSING REQUIRED ARGUMENT%
001665 040 055 040
001670 115 111 123
001673 123 111 116
001676 107 040 122
001701 105 121 125
001704 111 122 105
001707 104 040 101
001712 122 107 125
001715 115 105 116
001720 124 000
004004 052021 .RAD50 /MRA/ ; "MRA" IN .RAD50
004006 001662' .WORD MRAERM ; POINTER TO MESSAGE
11314 ;
11315 004010 NSERR$ NDI,<NULL DATE ILLEGAL>
001722 116 104 111 NDIERM: .ASCIZ %NDI - NULL DATE ILLEGAL%
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 321-8
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
001725 040 055 040
001730 116 125 114
001733 114 040 104
001736 101 124 105
001741 040 111 114
001744 114 105 107
001747 101 114 000
004010 054051 .RAD50 /NDI/ ; "NDI" IN .RAD50
004012 001722' .WORD NDIERM ; POINTER TO MESSAGE
11316 004014 NSERR$ NER,<NUMERIC EXPRESSION REQUIRED>
001752 116 105 122 NERERM: .ASCIZ %NER - NUMERIC EXPRESSION REQUIRED%
001755 040 055 040
001760 116 125 115
001763 105 122 111
001766 103 040 105
001771 130 120 122
001774 105 123 123
001777 111 117 116
002002 040 122 105
002005 121 125 111
002010 122 105 104
002013 000
004014 054132 .RAD50 /NER/ ; "NER" IN .RAD50
004016 001752' .WORD NERERM ; POINTER TO MESSAGE
11317 004020 NSERR$ NOR,<INPUT NUMBER OUT OF RANGE>
002014 116 117 122 NORERM: .ASCIZ %NOR - INPUT NUMBER OUT OF RANGE%
002017 040 055 040
002022 111 116 120
002025 125 124 040
002030 116 125 115
002033 102 105 122
002036 040 117 125
002041 124 040 117
002044 106 040 122
002047 101 116 107
002052 105 000
004020 054752 .RAD50 /NOR/ ; "NOR" IN .RAD50
004022 002014' .WORD NORERM ; POINTER TO MESSAGE
11318 004024 NSERR$ NPI,<NULL PASSWORD ILLEGAL>
002054 116 120 111 NPIERM: .ASCIZ %NPI - NULL PASSWORD ILLEGAL%
002057 040 055 040
002062 116 125 114
002065 114 040 120
002070 101 123 123
002073 127 117 122
002076 104 040 111
002101 114 114 105
002104 107 101 114
002107 000
004024 055011 .RAD50 /NPI/ ; "NPI" IN .RAD50
004026 002054' .WORD NPIERM ; POINTER TO MESSAGE
11319 004030 NSERR$ NST,<NO SUCH TASK>
002110 116 123 124 NSTERM: .ASCIZ %NST - NO SUCH TASK%
002113 040 055 040
002116 116 117 040
002121 123 125 103
002124 110 040 124
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 321-9
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
002127 101 123 113
002132 000
004030 055214 .RAD50 /NST/ ; "NST" IN .RAD50
004032 002110' .WORD NSTERM ; POINTER TO MESSAGE
11320 004034 NSERR$ NTI,<NULL TIME ILLEGAL>
002133 116 124 111 NTIERM: .ASCIZ %NTI - NULL TIME ILLEGAL%
002136 040 055 040
002141 116 125 114
002144 114 040 124
002147 111 115 105
002152 040 111 114
002155 114 105 107
002160 101 114 000
004034 055251 .RAD50 /NTI/ ; "NTI" IN .RAD50
004036 002133' .WORD NTIERM ; POINTER TO MESSAGE
11321 ;
11322 004040 NSERR$ OAI,<ODD ADDRESS ILLEGAL>
002163 117 101 111 OAIERM: .ASCIZ %OAI - ODD ADDRESS ILLEGAL%
002166 040 055 040
002171 117 104 104
002174 040 101 104
002177 104 122 105
002202 123 123 040
002205 111 114 114
002210 105 107 101
002213 114 000
004040 056761 .RAD50 /OAI/ ; "OAI" IN .RAD50
004042 002163' .WORD OAIERM ; POINTER TO MESSAGE
11323 004044 NSERR$ OFC,<ODD FUNCTION CODE>
002215 117 106 103 OFCERM: .ASCIZ %OFC - ODD FUNCTION CODE%
002220 040 055 040
002223 117 104 104
002226 040 106 125
002231 116 103 124
002234 111 117 116
002237 040 103 117
002242 104 105 000
004044 057263 .RAD50 /OFC/ ; "OFC" IN .RAD50
004046 002215' .WORD OFCERM ; POINTER TO MESSAGE
11324 ;
11325 004050 NSERR$ PTL,<PASSWORD TOO LONG>
002245 120 124 114 PTLERM: .ASCIZ %PTL - PASSWORD TOO LONG%
002250 040 055 040
002253 120 101 123
002256 123 127 117
002261 122 104 040
002264 124 117 117
002267 040 114 117
002272 116 107 000
004050 063454 .RAD50 /PTL/ ; "PTL" IN .RAD50
004052 002245' .WORD PTLERM ; POINTER TO MESSAGE
11326 ;
11327 004054 NSERR$ RPM,<RIGHT PARENTHESES MISSING>
002275 122 120 115 RPMERM: .ASCIZ %RPM - RIGHT PARENTHESES MISSING%
002300 040 055 040
002303 122 111 107
002306 110 124 040
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 321-10
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
002311 120 101 122
002314 105 116 124
002317 110 105 123
002322 105 123 040
002325 115 111 123
002330 123 111 116
002333 107 000
004054 071415 .RAD50 /RPM/ ; "RPM" IN .RAD50
004056 002275' .WORD RPMERM ; POINTER TO MESSAGE
11328 ;
11329 004060 NSERR$ SCF,<SET CLOCK FAILED>
002335 123 103 106 SCFERM: .ASCIZ %SCF - SET CLOCK FAILED%
002340 040 055 040
002343 123 105 124
002346 040 103 114
002351 117 103 113
002354 040 106 101
002357 111 114 105
002362 104 000
004060 073476 .RAD50 /SCF/ ; "SCF" IN .RAD50
004062 002335' .WORD SCFERM ; POINTER TO MESSAGE
11330 004064 NSERR$ SKI,<SET KLINIK ILLEGAL WHILE KLINIK ACTIVE>
002364 123 113 111 SKIERM: .ASCIZ %SKI - SET KLINIK ILLEGAL WHILE KLINIK ACTIVE%
002367 040 055 040
002372 123 105 124
002375 040 113 114
002400 111 116 111
002403 113 040 111
002406 114 114 105
002411 107 101 114
002414 040 127 110
002417 111 114 105
002422 040 113 114
002425 111 116 111
002430 113 040 101
002433 103 124 111
002436 126 105 000
004064 074201 .RAD50 /SKI/ ; "SKI" IN .RAD50
004066 002364' .WORD SKIERM ; POINTER TO MESSAGE
11331 004070 NSERR$ SPF,<SET PARITY FAILED>
002441 123 120 106 SPFERM: .ASCIZ %SPF - SET PARITY FAILED%
002444 040 055 040
002447 123 105 124
002452 040 120 101
002455 122 111 124
002460 131 040 106
002463 101 111 114
002466 105 104 000
004070 074506 .RAD50 /SPF/ ; "SPF" IN .RAD50
004072 002441' .WORD SPFERM ; POINTER TO MESSAGE
11332 004074 NSERR$ SZI,<START AT ZERO ILLEGAL>
002471 123 132 111 SZIERM: .ASCIZ %SZI - START AT ZERO ILLEGAL%
002474 040 055 040
002477 123 124 101
002502 122 124 040
002505 101 124 040
002510 132 105 122
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 321-11
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
002513 117 040 111
002516 114 114 105
002521 107 101 114
002524 000
004074 075331 .RAD50 /SZI/ ; "SZI" IN .RAD50
004076 002471' .WORD SZIERM ; POINTER TO MESSAGE
11333 ;
11334 004100 NSERR$ TAA,<TASK IS ALREADY ACTIVE>
002525 124 101 101 TAAERM: .ASCIZ %TAA - TASK IS ALREADY ACTIVE%
002530 040 055 040
002533 124 101 123
002536 113 040 111
002541 123 040 101
002544 114 122 105
002547 101 104 131
002552 040 101 103
002555 124 111 126
002560 105 000
004100 076451 .RAD50 /TAA/ ; "TAA" IN .RAD50
004102 002525' .WORD TAAERM ; POINTER TO MESSAGE
11335 004104 NSERR$ TOR,<TIME OUT OF RANGE>
002562 124 117 122 TORERM: .ASCIZ %TOR - TIME OUT OF RANGE%
002565 040 055 040
002570 124 111 115
002573 105 040 117
002576 125 124 040
002601 117 106 040
002604 122 101 116
002607 107 105 000
004104 077552 .RAD50 /TOR/ ; "TOR" IN .RAD50
004106 002562' .WORD TORERM ; POINTER TO MESSAGE
11336 ;
11337 004110 NSERR$ UNL,<KL MICROCODE NOT LOADED>
002612 125 116 114 UNLERM: .ASCIZ %UNL - KL MICROCODE NOT LOADED%
002615 040 055 040
002620 113 114 040
002623 115 111 103
002626 122 117 103
002631 117 104 105
002634 040 116 117
002637 124 040 114
002642 117 101 104
002645 105 104 000
004110 102574 .RAD50 /UNL/ ; "UNL" IN .RAD50
004112 002612' .WORD UNLERM ; POINTER TO MESSAGE
11338 ;
11339 004114 NSERR$ VFY,<DEPOSIT VERIFY FAILED>
002650 126 106 131 VFYERM: .ASCIZ %VFY - DEPOSIT VERIFY FAILED%
002653 040 055 040
002656 104 105 120
002661 117 123 111
002664 124 040 126
002667 105 122 111
002672 106 131 040
002675 106 101 111
002700 114 105 104
002703 000
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 321-12
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
004114 105211 .RAD50 /VFY/ ; "VFY" IN .RAD50
004116 002650' .WORD VFYERM ; POINTER TO MESSAGE
11340 ;
11341 004120 NSERR$ WRM,<COMMAND NOT AVAILABLE IN THIS CONSOLE MODE>
002704 127 122 115 WRMERM: .ASCIZ %WRM - COMMAND NOT AVAILABLE IN THIS CONSOLE MODE%
002707 040 055 040
002712 103 117 115
002715 115 101 116
002720 104 040 116
002723 117 124 040
002726 101 126 101
002731 111 114 101
002734 102 114 105
002737 040 111 116
002742 040 124 110
002745 111 123 040
002750 103 117 116
002753 123 117 114
002756 105 040 115
002761 117 104 105
002764 000
004120 111235 .RAD50 /WRM/ ; "WRM" IN .RAD50
004122 002704' .WORD WRMERM ; POINTER TO MESSAGE
11342 ;
11343 004124 NSERR$ YOR,<YEAR OUT OF RANGE>
002765 131 117 122 YORERM: .ASCIZ %YOR - YEAR OUT OF RANGE%
002770 040 055 040
002773 131 105 101
002776 122 040 117
003001 125 124 040
003004 117 106 040
003007 122 101 116
003012 107 105 000
004124 117252 .RAD50 /YOR/ ; "YOR" IN .RAD50
004126 002765' .WORD YORERM ; POINTER TO MESSAGE
11344 ;
11345 004130 NSERR$ XTO,<KL EXECUTE TIMED OUT>
003015 130 124 117 XTOERM: .ASCIZ %XTO - KL EXECUTE TIMED OUT%
003020 040 055 040
003023 113 114 040
003026 105 130 105
003031 103 125 124
003034 105 040 124
003037 111 115 105
003042 104 040 117
003045 125 124 000
004130 114457 .RAD50 /XTO/ ; "XTO" IN .RAD50
004132 003015' .WORD XTOERM ; POINTER TO MESSAGE
11346 ;
11347 004134 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 322
.RESTB -- THE RESET COMMAND TABLE 7602.18
11349 .SBTTL .RESTB -- THE RESET COMMAND TABLE 7602.18
11350
11351 004136 .RESTB::
11352 004136 COMND$ ALL,<LG.PRG!LG.RPT>,.RSALL,ALL
002771 101 114 114 ALLMSG:: .ASCIZ %ALL%
002774 000
004136 002771' .WORD ALLMSG ; POINTER TO "ALL" SYMBOL
004140 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004142 013350' .WORD .RSALL ; ROUTINE TO CALL OR DATA
11353 ;
11354 004144 COMND$ APR,<LG.PRG!LG.RPT>,.RSAPR,CPU
002775 101 120 122 CPUMSG:: .ASCIZ %APR%
003000 000
004144 002775' .WORD CPUMSG ; POINTER TO "APR" SYMBOL
004146 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004150 013444' .WORD .RSAPR ; ROUTINE TO CALL OR DATA
11355 ;
11356 004152 COMND$ DTE-20,<LG.PRG!LG.RPT>,.RSDTE,DTE
004152 002507' .WORD DTEMSG ; POINTER TO "DTE-20" SYMBOL
004154 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004156 013416' .WORD .RSDTE ; ROUTINE TO CALL OR DATA
11357 ;
11358 004160 COMND$ ERROR,<LG.RPT!LG.PRG>,.RSERR,ERR
003001 105 122 122 ERRMSG:: .ASCIZ %ERROR%
003004 117 122 000
004160 003001' .WORD ERRMSG ; POINTER TO "ERROR" SYMBOL
004162 000402 .WORD LG.RPT!LG.PRG ; LEGAL BITS
004164 013452' .WORD .RSERR ; ROUTINE TO CALL OR DATA
11359 ;
11360 004166 COMND$ INITIALIZE,<LG.PRG!LG.RPT>,.RSTIN,INI
004166 002220' .WORD INIMSG ; POINTER TO "INITIALIZE" SYMBOL
004170 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004172 013422' .WORD .RSTIN ; ROUTINE TO CALL OR DATA
11361 ;
11362 004174 COMND$ IO,<LG.PRG!LG.RPT>,.RSTIO,IO
003007 111 117 000 IOMSG:: .ASCIZ %IO%
004174 003007' .WORD IOMSG ; POINTER TO "IO" SYMBOL
004176 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004200 013460' .WORD .RSTIO ; ROUTINE TO CALL OR DATA
11363 ;
11364 004202 COMND$ PAG,<LG.PRG!LG.RPT>,.RSPAG,PAG
003012 120 101 107 PAGMSG:: .ASCIZ %PAG%
003015 000
004202 003012' .WORD PAGMSG ; POINTER TO "PAG" SYMBOL
004204 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004206 013476' .WORD .RSPAG ; ROUTINE TO CALL OR DATA
11365 ;
11366 004210 COMND$ PI,<LG.PRG!LG.RPT>,.RSTPI,PI
004210 002532' .WORD PIMSG ; POINTER TO "PI" SYMBOL
004212 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004214 013466' .WORD .RSTPI ; ROUTINE TO CALL OR DATA
11367 ;
11368 004216 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 323
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
11370 .SBTTL .SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
11371
11372 004220 .SCCTB::
11373 004220 COMND$ NORMAL,<LG.MNT!LG.RPT>,.SCCLN,NRM
003016 116 117 122 NRMMSG:: .ASCIZ %NORMAL%
003021 115 101 114
003024 000
004220 003016' .WORD NRMMSG ; POINTER TO "NORMAL" SYMBOL
004222 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004224 021400' .WORD .SCCLN ; ROUTINE TO CALL OR DATA
11374 ;
11375 004226 COMND$ CRAM,<LG.MNT!LG.RPT>,.SCCEC,CRM
003025 103 122 101 CRMMSG:: .ASCIZ %CRAM%
003030 115 000
004226 003025' .WORD CRMMSG ; POINTER TO "CRAM" SYMBOL
004230 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004232 021516' .WORD .SCCEC ; ROUTINE TO CALL OR DATA
11376 ;
11377 004234 COMND$ DATA-PATH,<LG.MNT!LG.RPT>,.SCCED,DPT
003032 104 101 124 DPTMSG:: .ASCIZ %DATA-PATH%
003035 101 055 120
003040 101 124 110
003043 000
004234 003032' .WORD DPTMSG ; POINTER TO "DATA-PATH" SYMBOL
004236 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004240 021524' .WORD .SCCED ; ROUTINE TO CALL OR DATA
11378 ;
11379 004242 COMND$ CONTROL,<LG.MNT!LG.RPT>,.SCCEE,CTL
003044 103 117 116 CTLMSG:: .ASCIZ %CONTROL%
003047 124 122 117
003052 114 000
004242 003044' .WORD CTLMSG ; POINTER TO "CONTROL" SYMBOL
004244 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004246 021532' .WORD .SCCEE ; ROUTINE TO CALL OR DATA
11380 ;
11381 004250 COMND$ EXTERNAL,<LG.MNT!LG.RPT>,.SCCSE,EXT
003054 105 130 124 EXTMSG:: .ASCIZ %EXTERNAL%
003057 105 122 116
003062 101 114 000
004250 003054' .WORD EXTMSG ; POINTER TO "EXTERNAL" SYMBOL
004252 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004254 021434' .WORD .SCCSE ; ROUTINE TO CALL OR DATA
11382 ;
11383 004256 COMND$ INTERNAL,<LG.MNT!LG.RPT>,.SCCSI,INT
003065 111 116 124 INTMSG:: .ASCIZ %INTERNAL%
003070 105 122 116
003073 101 114 000
004256 003065' .WORD INTMSG ; POINTER TO "INTERNAL" SYMBOL
004260 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004262 021464' .WORD .SCCSI ; ROUTINE TO CALL OR DATA
11384 ;
11385 004264 COMND$ MARGIN,<LG.MNT!LG.RPT>,.SCCSM,MGN
003076 115 101 122 MGNMSG:: .ASCIZ %MARGIN%
003101 107 111 116
003104 000
004264 003076' .WORD MGNMSG ; POINTER TO "MARGIN" SYMBOL
004266 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 323-1
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
004270 021470' .WORD .SCCSM ; ROUTINE TO CALL OR DATA
11386 ;
11387 004272 COMND$ FULL,<LG.MNT!LG.RPT>,.SCCRF,FUL
003105 106 125 114 FULMSG:: .ASCIZ %FULL%
003110 114 000
004272 003105' .WORD FULMSG ; POINTER TO "FULL" SYMBOL
004274 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004276 021402' .WORD .SCCRF ; ROUTINE TO CALL OR DATA
11388 ;
11389 004300 COMND$ HALF,<LG.MNT!LG.RPT>,.SCCRH,HLF
003112 110 101 114 HLFMSG:: .ASCIZ %HALF%
003115 106 000
004300 003112' .WORD HLFMSG ; POINTER TO "HALF" SYMBOL
004302 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004304 021406' .WORD .SCCRH ; ROUTINE TO CALL OR DATA
11390 ;
11391 004306 COMND$ QUARTER,<LG.MNT!LG.RPT>,.SCCRQ,QTR
003117 121 125 101 QTRMSG:: .ASCIZ %QUARTER%
003122 122 124 105
003125 122 000
004306 003117' .WORD QTRMSG ; POINTER TO "QUARTER" SYMBOL
004310 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004312 021414' .WORD .SCCRQ ; ROUTINE TO CALL OR DATA
11392 ;
11393 004314 COMND$ SLOW,<LG.MNT!LG.RPT>,.SCCRS,SLO
003127 123 114 117 SLOMSG:: .ASCIZ %SLOW%
003132 127 000
004314 003127' .WORD SLOMSG ; POINTER TO "SLOW" SYMBOL
004316 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004320 021422' .WORD .SCCRS ; ROUTINE TO CALL OR DATA
11394 ;
11395 004322 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 324
.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
11397 .SBTTL .SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
11398
11399 004324 .SCMTB::
11400 004324 COMND$ ELEVEN,LG.OPR,.SCMEL,ELE
004324 002405' .WORD ELEMSG ; POINTER TO "ELEVEN" SYMBOL
004326 000001 .WORD LG.OPR ; LEGAL BITS
004330 020502' .WORD .SCMEL ; ROUTINE TO CALL OR DATA
11401 ;
11402 004332 COMND$ TEN,LG.OPR,.SCMKL,TEN
004332 002414' .WORD TENMSG ; POINTER TO "TEN" SYMBOL
004334 000001 .WORD LG.OPR ; LEGAL BITS
004336 020514' .WORD .SCMKL ; ROUTINE TO CALL OR DATA
11403 ;
11404 004340 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 325
.SSCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
11406 .SBTTL .SSCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
11407
11408 004342 .SCCOT::
11409 004342 COMND$ MAINTENANCE,LG.OPR,.SCCOM,MNT
004342 002567' .WORD MNTMSG ; POINTER TO "MAINTENANCE" SYMBOL
004344 000001 .WORD LG.OPR ; LEGAL BITS
004346 020174' .WORD .SCCOM ; ROUTINE TO CALL OR DATA
11410 ;
11411 004350 COMND$ OPERATOR,LG.OPR,.SCCOO,OPR
004350 002603' .WORD OPRMSG ; POINTER TO "OPERATOR" SYMBOL
004352 000001 .WORD LG.OPR ; LEGAL BITS
004354 020160' .WORD .SCCOO ; ROUTINE TO CALL OR DATA
11412 ;
11413 004356 COMND$ PROGRAMMER,LG.OPR,.SCCOP,PRG
004356 002614' .WORD PRGMSG ; POINTER TO "PROGRAMMER" SYMBOL
004360 000001 .WORD LG.OPR ; LEGAL BITS
004362 020166' .WORD .SCCOP ; ROUTINE TO CALL OR DATA
11414 ;
11415 004364 COMND$ USER,LG.OPR,.SCCOU,USR
004364 002636' .WORD USRMSG ; POINTER TO "USER" SYMBOL
004366 000001 .WORD LG.OPR ; LEGAL BITS
004370 020222' .WORD .SCCOU ; ROUTINE TO CALL OR DATA
11416 ;
11417 004372 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 326
.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
11419 .SBTTL .SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
11420
11421 004374 .SCPTB::
11422 004374 COMND$ ALL,LG.MNT,.SCPAL,ALL
004374 002771' .WORD ALLMSG ; POINTER TO "ALL" SYMBOL
004376 000004 .WORD LG.MNT ; LEGAL BITS
004400 021554' .WORD .SCPAL ; ROUTINE TO CALL OR DATA
11423 ;
11424 004402 COMND$ AR,LG.MNT,.SCPAR,AR
004402 002402' .WORD ARMSG ; POINTER TO "AR" SYMBOL
004404 000004 .WORD LG.MNT ; LEGAL BITS
004406 021562' .WORD .SCPAR ; ROUTINE TO CALL OR DATA
11425 ;
11426 004410 COMND$ CRAM,LG.MNT,.SCPCR,CRM
004410 003025' .WORD CRMMSG ; POINTER TO "CRAM" SYMBOL
004412 000004 .WORD LG.MNT ; LEGAL BITS
004414 021570' .WORD .SCPCR ; ROUTINE TO CALL OR DATA
11427 ;
11428 004416 COMND$ DRAM,LG.MNT,.SCPDR,DRM
003134 104 122 101 DRMMSG:: .ASCIZ %DRAM%
003137 115 000
004416 003134' .WORD DRMMSG ; POINTER TO "DRAM" SYMBOL
004420 000004 .WORD LG.MNT ; LEGAL BITS
004422 021576' .WORD .SCPDR ; ROUTINE TO CALL OR DATA
11429 ;
11430 004424 COMND$ ENABLE,LG.MNT,.SCPEN,ENB
003141 105 116 101 ENBMSG:: .ASCIZ %ENABLE%
003144 102 114 105
003147 000
004424 003141' .WORD ENBMSG ; POINTER TO "ENABLE" SYMBOL
004426 000004 .WORD LG.MNT ; LEGAL BITS
004430 021604' .WORD .SCPEN ; ROUTINE TO CALL OR DATA
11431 ;
11432 004432 COMND$ FM,LG.MNT,.SCPFM,FM
004432 002447' .WORD FMMSG ; POINTER TO "FM" SYMBOL
004434 000004 .WORD LG.MNT ; LEGAL BITS
004436 021612' .WORD .SCPFM ; ROUTINE TO CALL OR DATA
11433 ;
11434 004440 COMND$ FS-STOP,LG.MNT,.SCPFS,FSS
003150 106 123 055 FSSMSG:: .ASCIZ %FS-STOP%
003153 123 124 117
003156 120 000
004440 003150' .WORD FSSMSG ; POINTER TO "FS-STOP" SYMBOL
004442 000004 .WORD LG.MNT ; LEGAL BITS
004444 021620' .WORD .SCPFS ; ROUTINE TO CALL OR DATA
11435 ;
11436 004446 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 327
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
11438 .SBTTL .SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
11439
11440 004450 .SETTB::
11441 004450 COMND$ CLOCK,<LG.MNT!LG.RPT>,.SCCLK,CLK
003160 103 114 117 CLKMSG:: .ASCIZ %CLOCK%
003163 103 113 000
004450 003160' .WORD CLKMSG ; POINTER TO "CLOCK" SYMBOL
004452 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004454 021156' .WORD .SCCLK ; ROUTINE TO CALL OR DATA
11442 ;
11443 004456 COMND$ CONSOLE,LG.OPR,.SCCON,CON
003166 103 117 116 CONMSG:: .ASCIZ %CONSOLE%
003171 123 117 114
003174 105 000
004456 003166' .WORD CONMSG ; POINTER TO "CONSOLE" SYMBOL
004460 000001 .WORD LG.OPR ; LEGAL BITS
004462 020112' .WORD .SCCON ; ROUTINE TO CALL OR DATA
11444 ;
11445 004464 COMND$ DATE,LG.PRG,.SCDAT,DAT
003176 104 101 124 DATMSG:: .ASCIZ %DATE%
003201 105 000
004464 003176' .WORD DATMSG ; POINTER TO "DATE" SYMBOL
004466 000002 .WORD LG.PRG ; LEGAL BITS
004470 014046' .WORD .SCDAT ; ROUTINE TO CALL OR DATA
11446 ;
11447 004472 COMND$ FS-STOP,<LG.MNT!LG.RPT>,.SCFSS,FSS
004472 003150' .WORD FSSMSG ; POINTER TO "FS-STOP" SYMBOL
004474 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004476 021170' .WORD .SCFSS ; ROUTINE TO CALL OR DATA
11448 ;
11449 004500 COMND$ INCREMENT,LG.OPR,.SCINC,INC
004500 002345' .WORD INCMSG ; POINTER TO "INCREMENT" SYMBOL
004502 000001 .WORD LG.OPR ; LEGAL BITS
004504 020304' .WORD .SCINC ; ROUTINE TO CALL OR DATA
11450 ;
11451 004506 COMND$ KLINIK,LG.ALL,.SCKLN,KLI
003203 113 114 111 KLIMSG:: .ASCIZ %KLINIK%
003206 116 111 113
003211 000
004506 003203' .WORD KLIMSG ; POINTER TO "KLINIK" SYMBOL
004510 000007 .WORD LG.ALL ; LEGAL BITS
004512 014376' .WORD .SCKLN ; ROUTINE TO CALL OR DATA
11452 ;
11453 004514 COMND$ MEMORY,LG.OPR,.SCMEM,MEM
003212 115 105 115 MEMMSG:: .ASCIZ %MEMORY%
003215 117 122 131
003220 000
004514 003212' .WORD MEMMSG ; POINTER TO "MEMORY" SYMBOL
004516 000001 .WORD LG.OPR ; LEGAL BITS
004520 020450' .WORD .SCMEM ; ROUTINE TO CALL OR DATA
11454 ;
11455 004522 COMND$ NOT,<LG.OPR!LG.RPT>,.SCNOT,NOT
003221 116 117 124 NOTMSG:: .ASCIZ %NOT%
003224 000
004522 003221' .WORD NOTMSG ; POINTER TO "NOT" SYMBOL
004524 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
004526 017602' .WORD .SCNOT ; ROUTINE TO CALL OR DATA
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 327-1
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
11456 ;
11457 004530 COMND$ OFFSET,LG.PRG,.SCOFS,OFS
003225 117 106 106 OFSMSG:: .ASCIZ %OFFSET%
003230 123 105 124
003233 000
004530 003225' .WORD OFSMSG ; POINTER TO "OFFSET" SYMBOL
004532 000002 .WORD LG.PRG ; LEGAL BITS
004534 020554' .WORD .SCOFS ; ROUTINE TO CALL OR DATA
11458 ;
11459 004536 COMND$ PARITY-STOP,<LG.MNT!LG.RPT>,.SCPST,PST
003234 120 101 122 PSTMSG:: .ASCIZ %PARITY-STOP%
003237 111 124 131
003242 055 123 124
003245 117 120 000
004536 003234' .WORD PSTMSG ; POINTER TO "PARITY-STOP" SYMBOL
004540 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
004542 021212' .WORD .SCPST ; ROUTINE TO CALL OR DATA
11460 ;
11461 004544 COMND$ RELOAD,LG.PRG,.SCRLD,RLD
003250 122 105 114 RLDMSG:: .ASCIZ %RELOAD%
003253 117 101 104
003256 000
004544 003250' .WORD RLDMSG ; POINTER TO "RELOAD" SYMBOL
004546 000002 .WORD LG.PRG ; LEGAL BITS
004550 020626' .WORD .SCRLD ; ROUTINE TO CALL OR DATA
11462 ;
11463 004552 COMND$ REPEAT,LG.OPR,.SCRPT,RPT
004552 002244' .WORD RPTMSG ; POINTER TO "REPEAT" SYMBOL
004554 000001 .WORD LG.OPR ; LEGAL BITS
004556 020746' .WORD .SCRPT ; ROUTINE TO CALL OR DATA
11464 ;
11465 004560 COMND$ RETRY,<LG.PRG!LG.MNT>,.SCRTY,RTY
003257 122 105 124 RTYMSG:: .ASCIZ %RETRY%
003262 122 131 000
004560 003257' .WORD RTYMSG ; POINTER TO "RETRY" SYMBOL
004562 000006 .WORD LG.PRG!LG.MNT ; LEGAL BITS
004564 020642' .WORD .SCRTY ; ROUTINE TO CALL OR DATA
11466 ;
11468 004566 COMND$ TRACKS,LG.PRG,.SCTRK,TRK
003265 124 122 101 TRKMSG:: .ASCIZ %TRACKS%
003270 103 113 123
003273 000
004566 003265' .WORD TRKMSG ; POINTER TO "TRACKS" SYMBOL
004570 000002 .WORD LG.PRG ; LEGAL BITS
004572 021044' .WORD .SCTRK ; ROUTINE TO CALL OR DATA
11469 ;
11471 004574 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 328
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
11473 .SBTTL .SPETB -- SPECIAL ERROR CODE TABLE 7702.16
11474
11475 004576 .SPETB::
11476 004576 SPERR$ AMB,<AMBIGUOUS KEYWORD ">
003050 101 115 102 .ASCIZ %AMB - AMBIGUOUS KEYWORD "%
003053 040 055 040
003056 101 115 102
003061 111 107 125
003064 117 125 123
003067 040 113 105
003072 131 127 117
003075 122 104 040
003100 042 000
004576 004112 .RAD50 /AMB/ ; "AMB" IN .RAD50
004600 003274' .WORD .SEAMB ; DISPATCH TO HANDLER
004602 003050' .WORD AMBERM ; POINTER TO MESSAGE
11477 ;
11478 004604 SPERR$ CES,<CLOCK ERROR STOP - >
003102 103 105 123 .ASCIZ %CES - CLOCK ERROR STOP - %
003105 040 055 040
003110 103 114 117
003113 103 113 040
003116 105 122 122
003121 117 122 040
003124 123 124 117
003127 120 040 055
003132 040 000
004604 011633 .RAD50 /CES/ ; "CES" IN .RAD50
004606 003532' .WORD .SECES ; DISPATCH TO HANDLER
004610 003102' .WORD CESERM ; POINTER TO MESSAGE
11479 ;
11480 004612 SPERR$ FRF,<FUNCTION READ >
003134 106 122 106 .ASCIZ %FRF - FUNCTION READ %
003137 040 055 040
003142 106 125 116
003145 103 124 111
003150 117 116 040
003153 122 105 101
003156 104 040 000
004612 024126 .RAD50 /FRF/ ; "FRF" IN .RAD50
004614 003362' .WORD .SEFRF ; DISPATCH TO HANDLER
004616 003134' .WORD FRFERM ; POINTER TO MESSAGE
11481 004620 SPERR$ FWF,<FUNCTION WRITE >
003161 106 127 106 .ASCIZ %FWF - FUNCTION WRITE %
003164 040 055 040
003167 106 125 116
003172 103 124 111
003175 117 116 040
003200 127 122 111
003203 124 105 040
003206 000
004620 024436 .RAD50 /FWF/ ; "FWF" IN .RAD50
004622 003370' .WORD .SEFWF ; DISPATCH TO HANDLER
004624 003161' .WORD FWFERM ; POINTER TO MESSAGE
11482 004626 SPERR$ FXF,<FUNCTION EXECUTE >
003207 106 130 106 .ASCIZ %FXF - FUNCTION EXECUTE %
003212 040 055 040
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 328-1
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
003215 106 125 116
003220 103 124 111
003223 117 116 040
003226 105 130 105
003231 103 125 124
003234 105 040 000
004626 024506 .RAD50 /FXF/ ; "FXF" IN .RAD50
004630 003376' .WORD .SEFXF ; DISPATCH TO HANDLER
004632 003207' .WORD FXFERM ; POINTER TO MESSAGE
11483 ;
11484 004634 SPERR$ ILC,<ILLEGAL CHARACTER ">
003237 111 114 103 .ASCIZ %ILC - ILLEGAL CHARACTER "%
003242 040 055 040
003245 111 114 114
003250 105 107 101
003253 114 040 103
003256 110 101 122
003261 101 103 124
003264 105 122 040
003267 042 000
004634 035043 .RAD50 /ILC/ ; "ILC" IN .RAD50
004636 003320' .WORD .SEILC ; DISPATCH TO HANDLER
004640 003237' .WORD ILCERM ; POINTER TO MESSAGE
11485 004642 SPERR$ ILS,<ILLEGAL SEPARATOR CHARACTER ">
003271 111 114 123 .ASCIZ %ILS - ILLEGAL SEPARATOR CHARACTER "%
003274 040 055 040
003277 111 114 114
003302 105 107 101
003305 114 040 123
003310 105 120 101
003313 122 101 124
003316 117 122 040
003321 103 110 101
003324 122 101 103
003327 124 105 122
003332 040 042 000
004642 035063 .RAD50 /ILS/ ; "ILS" IN .RAD50
004644 003320' .WORD .SEILS ; DISPATCH TO HANDLER
004646 003271' .WORD ILSERM ; POINTER TO MESSAGE
11486 004650 SPERR$ IPC,<ILLEGAL PASSWORD CHARACTER ">
003335 111 120 103 .ASCIZ %IPC - ILLEGAL PASSWORD CHARACTER "%
003340 040 055 040
003343 111 114 114
003346 105 107 101
003351 114 040 120
003354 101 123 123
003357 127 117 122
003362 104 040 103
003365 110 101 122
003370 101 103 124
003373 105 122 040
003376 042 000
004650 035303 .RAD50 /IPC/ ; "IPC" IN .RAD50
004652 003320' .WORD .SEIPC ; DISPATCH TO HANDLER
004654 003335' .WORD IPCERM ; POINTER TO MESSAGE
11487 ;
11488 004656 SPERR$ NSK,<NO SUCH KEYWORD ">
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 328-2
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
003400 116 123 113 .ASCIZ %NSK - NO SUCH KEYWORD "%
003403 040 055 040
003406 116 117 040
003411 123 125 103
003414 110 040 113
003417 105 131 127
003422 117 122 104
003425 040 042 000
004656 055203 .RAD50 /NSK/ ; "NSK" IN .RAD50
004660 003274' .WORD .SENSK ; DISPATCH TO HANDLER
004662 003400' .WORD NSKERM ; POINTER TO MESSAGE
11489 ;
11490 004664 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 329
.STRTB -- THE START COMMAND TABLE 7602.26
11492 .SBTTL .STRTB -- THE START COMMAND TABLE 7602.26
11493
11494 004666 .STRTB::
11495 004666 COMND$ TEN,<LG.PRG!LG.RPT>,.STRTT,TEN
004666 002414' .WORD TENMSG ; POINTER TO "TEN" SYMBOL
004670 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004672 017736' .WORD .STRTT ; ROUTINE TO CALL OR DATA
11496 ;
11497 004674 COMND$ MICROCODE,<LG.PRG!LG.RPT>,.STRTU,UCD
003274 115 111 103 UCDMSG:: .ASCIZ %MICROCODE%
003277 122 117 103
003302 117 104 105
003305 000
004674 003274' .WORD UCDMSG ; POINTER TO "MICROCODE" SYMBOL
004676 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004700 020042' .WORD .STRTU ; ROUTINE TO CALL OR DATA
11498 ;
11499 004702 000000 .WORD 0 ; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 330
.WHATB -- THE WHAT COMMAND TABLE 7703.25
11501 .SBTTL .WHATB -- THE WHAT COMMAND TABLE 7703.25
11502
11503 004704 .WHATB::
11504 004704 COMND$ CLOCK,<LG.PRG!LG.RPT>,.WHTCL,CLK
004704 003160' .WORD CLKMSG ; POINTER TO "CLOCK" SYMBOL
004706 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004710 021646' .WORD .WHTCL ; ROUTINE TO CALL OR DATA
11505 ;
11506 004712 COMND$ CONSOLE,LG.OPR,.WHCON,CON
004712 003166' .WORD CONMSG ; POINTER TO "CONSOLE" SYMBOL
004714 000001 .WORD LG.OPR ; LEGAL BITS
004716 020234' .WORD .WHCON ; ROUTINE TO CALL OR DATA
11507 ;
11508 004720 COMND$ DATE,<LG.ALL!LG.RPT>,.WHDAT,DAT
004720 003176' .WORD DATMSG ; POINTER TO "DATE" SYMBOL
004722 000407 .WORD LG.ALL!LG.RPT ; LEGAL BITS
004724 015534' .WORD .WHDAT ; ROUTINE TO CALL OR DATA
11509 ;
11510 004726 COMND$ INCREMENT,LG.OPR,.WHINC,INC
004726 002345' .WORD INCMSG ; POINTER TO "INCREMENT" SYMBOL
004730 000001 .WORD LG.OPR ; LEGAL BITS
004732 020362' .WORD .WHINC ; ROUTINE TO CALL OR DATA
11511 ;
11512 004734 COMND$ KLINIK,LG.ALL,.WHKLN,KLI
004734 003203' .WORD KLIMSG ; POINTER TO "KLINIK" SYMBOL
004736 000007 .WORD LG.ALL ; LEGAL BITS
004740 015710' .WORD .WHKLN ; ROUTINE TO CALL OR DATA
11513 ;
11514 004742 COMND$ MEMORY,LG.OPR,.WHMEM,MEM
004742 003212' .WORD MEMMSG ; POINTER TO "MEMORY" SYMBOL
004744 000001 .WORD LG.OPR ; LEGAL BITS
004746 020522' .WORD .WHMEM ; ROUTINE TO CALL OR DATA
11515 ;
11516 004750 COMND$ OFFSET,LG.PRG,.WHOFS,OFS
004750 003225' .WORD OFSMSG ; POINTER TO "OFFSET" SYMBOL
004752 000002 .WORD LG.PRG ; LEGAL BITS
004754 020602' .WORD .WHOFS ; ROUTINE TO CALL OR DATA
11517 ;
11518 004756 COMND$ PARITY-STOP,<LG.PRG!LG.RPT>,.WHTPS,PST
004756 003234' .WORD PSTMSG ; POINTER TO "PARITY-STOP" SYMBOL
004760 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004762 022050' .WORD .WHTPS ; ROUTINE TO CALL OR DATA
11519 ;
11520 004764 COMND$ RELOAD,LG.PRG,.WHRLD,RLD
004764 003250' .WORD RLDMSG ; POINTER TO "RELOAD" SYMBOL
004766 000002 .WORD LG.PRG ; LEGAL BITS
004770 020670' .WORD .WHRLD ; ROUTINE TO CALL OR DATA
11521 ;
11522 004772 COMND$ REPEAT,LG.OPR,.WHRPT,RPT
004772 002244' .WORD RPTMSG ; POINTER TO "REPEAT" SYMBOL
004774 000001 .WORD LG.OPR ; LEGAL BITS
004776 020374' .WORD .WHRPT ; ROUTINE TO CALL OR DATA
11523 ;
11524 005000 COMND$ RETRY,<LG.PRG!LG.MNT>,.WHRTY,RTY
005000 003257' .WORD RTYMSG ; POINTER TO "RETRY" SYMBOL
005002 000006 .WORD LG.PRG!LG.MNT ; LEGAL BITS
005004 020714' .WORD .WHRTY ; ROUTINE TO CALL OR DATA
TABLE -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 330-1
.WHATB -- THE WHAT COMMAND TABLE 7703.25
11525 ;
11527 005006 COMND$ TRACKS,LG.PRG,.WHTRK,TRK
005006 003265' .WORD TRKMSG ; POINTER TO "TRACKS" SYMBOL
005010 000002 .WORD LG.PRG ; LEGAL BITS
005012 021066' .WORD .WHTRK ; ROUTINE TO CALL OR DATA
11528 ;
11530 005014 COMND$ VERSION,LG.OPR,.WHATV,VER
003306 126 105 122 VERMSG:: .ASCIZ %VERSION%
003311 123 111 117
003314 116 000
005014 003306' .WORD VERMSG ; POINTER TO "VERSION" SYMBOL
005016 000001 .WORD LG.OPR ; LEGAL BITS
005020 021116' .WORD .WHATV ; ROUTINE TO CALL OR DATA
11531 ;
11532 005022 000000 .WORD 0 ; END OF TABLE MARKER
11533 022330 .PSECT
11534
11535 000000 $$PASS2=0
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 331
.WHATB -- THE WHAT COMMAND TABLE 7703.25
11537 .TITLE TPSIM -- TRIPLE PRECISION ARITHMETIC SIMULATOR MODULE 7603.30
11538
11539 .IDENT "005000"
11540
11541 ;
11542 ; COPYRIGHT (C) 1975, 1979 BY
11543 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
11544 ;
11545 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
11546 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
11547 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
11548 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
11549 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
11550 ;
11551 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
11552 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
11553 ; CORPORATION.
11554 ;
11555 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
11556 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
11557 ;
11558 ; MODULE: TRIPLE PRECISION ARITHMETIC SIMULATOR
11559 ;
11560 ; VERSION: 05-00
11561 ;
11562 ; AUTHOR: R. BELANGER
11563 ;
11564 ; DATE: 7603.30
11565 ;
11566 ; THIS MODULE CONTAINS:
11567 ;
11568 ; 1) TRIPLE PRECISION ARITHMETIC SIMULATOR
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 332
.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
11570 .SBTTL .SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
11571
11572 ;+
11573 ; .SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS
11574 ;
11575 ; THIS SUBROUTINE SHIFTS THE NUMBER IN R0 AS SPECIFIED BY THE SHIFT
11576 ; COUNT IN R1.
11577 ;
11578 ; INPUT ARGUMENTS:
11579 ;
11580 ; R0 HOLDS THE NUMBER TO BE SHIFTED
11581 ; R1 HOLDS A 16 BIT SHIFT COUNT
11582 ;
11583 ; OUTPUT ARGUMENTS:
11584 ;
11585 ; R0 HOLDS THE SHIFTED NUMBER
11586 ; R1 HOLDS THE SHIFT COUNT
11587 ;
11588 ; ERROR CODES RETURNED:
11589 ;
11590 ; NONE
11591 ;-
11592
11593 022330 .SHIFT::
11594 022330 PUSH R1 ; SAVE R1 ON THE STACK
022330 010146 MOV R1,-(SP)
11595 022332 001407 BEQ 30$ ; .EXIT IF .EQ. 0
11596 022334 002403 BLT 20$ ; .SHIFT RIGHT IF NEGATIVE
11597 022336 10$:
11598 022336 006300 ASL R0 ; .SHIFT IT LEFT
11599 022340 077102 SOB R1,10$ ; .TILL COUNT IS EXHAUSTED
11600 022342 000403 BR 30$ ; .EXIT
11601 ;
11602 022344 20$:
11603 022344 006200 ASR R0 ; .SHIFT IT RIGHT
11604 022346 005201 INC R1 ; .COUNT THE SHIFT
11605 022350 001375 BNE 20$ ; .TILL COUNT EXHAUSTED
11606 022352 30$:
11607 022352 POP R1 ; .RESTORE R1 FROM THE STACK
022352 012601 MOV (SP)+,R1
11608 022354 000241 CLC ; CLEAR CC-C
11609 022356 RETURN ; RETURN
022356 000207 RTS PC
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 333
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
11611 .SBTTL .TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
11612
11613 ;+
11614 ; .TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE.
11615 ;
11616 ; THIS SUBROUTINE WILL DIVIDE THE 48 BIT DIVIDEND POINTED TO BY R0
11617 ; BY THE 48 BIT DIVISOR POINTED TO BY R1 IN THE CALL. ON RETURN,
11618 ; R0 POINTS TO A 48 BIT QUOTIENT, AND R2 POINTS TO A 48 BIT REMAINDER.
11619 ;
11620 ; INPUT ARGUMENTS:
11621 ;
11622 ; R0 POINTS TO THE DIVIDEND
11623 ; R1 POINTS TO THE DIVISOR
11624 ;
11625 ; OUTPUT ARGUMENTS:
11626 ;
11627 ; R0 POINTS TO THE QUOTIENT
11628 ; R1 POINTS TO THE REMAINDER
11629 ; THE DIVISOR AND DIVIDEND ARE DESTROYED
11630 ;
11631 ; ERROR CODES RETURNED:
11632 ;
11633 ; DCK -- DIVIDE CHECK.
11634 ;-
11635
11636 005024 .PSECT DATA
11637
11638 005024 TPDRMN:
11639 005024 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR REMAINDER
11640 005032 TPDDVS:
11641 005032 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR DIVISOR
11642 005040 TPDDVD:
11643 005040 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR DIVIDEND / QUOTIENT
11644
11645 022360 .PSECT
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 334
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
11647 .ENABL LSB
11648
11649 022360 .TPDIV::
11650 022360 PUSH <R3,R2,R1,R0> ; SAVE CALLER'S REGISTERS
022360 010346 MOV R3,-(SP)
022362 010246 MOV R2,-(SP)
022364 010146 MOV R1,-(SP)
022366 010046 MOV R0,-(SP)
11651 022370 CALL .TPXTN ; ....SIGN EXTEND THE DIVIDEND
022370 004737 022620' JSR PC,.TPXTN
11652 022374 010100 MOV R1,R0 ; ....POINT TO THE DIVISOR
11653 022376 CALL .TPXTN ; ....AND SIGN EXTEND IT
022376 004737 022620' JSR PC,.TPXTN
11654 022402 CALL .TPTST ; ....SEE IF IT IS ZERO OR NEGATIVE
022402 004737 022674' JSR PC,.TPTST
11655 022406 003466 BLE TPDDCK ; ....YES -- GIVE "DCK" ERROR
11656 022410 011600 MOV (SP),R0 ; ....NO -- RESTORE DIVIDEND POINTER
11657 022412 012703 000060 MOV #^D48,R3 ; ....ITERATION COUNT TO R3
11658 022416 012702 005024' MOV #TPDRMN,R2 ; ....DATA BLOCK POINTER TO R2
11659 022422 005022 CLR (R2)+ ; ....CLEAR THE REMAINDER
11660 022424 005022 CLR (R2)+ ; ....
11661 022426 005022 CLR (R2)+ ; ....
11662 022430 012122 MOV (R1)+,(R2)+ ; ....LOAD THE DIVISOR
11663 022432 012122 MOV (R1)+,(R2)+ ; ....
11664 022434 012122 MOV (R1)+,(R2)+ ; ....
11665 022436 012022 MOV (R0)+,(R2)+ ; ....LOAD THE DIVIDEND
11666 022440 012022 MOV (R0)+,(R2)+ ; ....
11667 022442 012022 MOV (R0)+,(R2)+ ; ....
11668 022444 012700 005024' MOV #TPDRMN,R0 ; ....REMAINDER POINTER TO R0
11669 022450 012701 005032' MOV #TPDDVS,R1 ; ....DIVISOR POINTER TO R1
11670 022454 012702 005040' MOV #TPDDVD,R2 ; ....DIVIDEND POINTER TO R2
11671
11672 ; [CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 335
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
11674 ; [CONTINUED FROM THE PREVIOUS PAGE]
11675
11676 022460 10$:
11677 022460 006312 ASL (R2) ; ....SHIFT THE DIVIDEND LEFT
11678 022462 006162 000002 ROL 2(R2) ; ....
11679 022466 006162 000004 ROL 4(R2) ; ....
11680 022472 006110 ROL (R0) ; ....INTO THE REMAINDER
11681 022474 006160 000002 ROL 2(R0) ; ....
11682 022500 006160 000004 ROL 4(R0) ; ....
11683 022504 CALL .TPCMP ; ....SEE IF REMAINDER IS .GE. DIVISOR
022504 004737 022640' JSR PC,.TPCMP
11684 022510 103407 BLO 20$ ; ....NO -- JUST KEEP GOING
11685 022512 CALL .TPSUB ; ....YES -- SUBTRACT DIVISOR FROM REMAINDER
022512 004737 022762' JSR PC,.TPSUB
11686 022516 PUSH R0 ; ....SAVE REMAINDER POINTER
022516 010046 MOV R0,-(SP)
11687 022520 010200 MOV R2,R0 ; .....QUOTIENT POINTER TO R0
11688 022522 CALL .TPINC ; .....INCREMENT THE QUOTIENT
022522 004737 022736' JSR PC,.TPINC
11689 022526 POP R0 ; .....RESTORE REMAINDER POINTER
022526 012600 MOV (SP)+,R0
11690 022530 20$:
11691 022530 077325 SOB R3,10$ ; ....LOOP TILL COUNT IS EXHAUSTED
11692 022532 POP <R0,R1> ; ....GET R0 AND R1 FROM THE STACK
022532 012600 MOV (SP)+,R0
022534 012601 MOV (SP)+,R1
11693 022536 012220 MOV (R2)+,(R0)+ ; ..UNLOAD THE QUOTIENT
11694 022540 012220 MOV (R2)+,(R0)+ ; ..
11695 022542 011210 MOV (R2),(R0) ; ..
11696 022544 012702 005024' MOV #TPDRMN,R2 ; ..POINT TO THE REMAINDER
11697 022550 012221 MOV (R2)+,(R1)+ ; ..UNLOAD THE REMAINDER
11698 022552 012221 MOV (R2)+,(R1)+ ; ..
11699 022554 011211 MOV (R2),(R1) ; ..
11700 022556 POP <R2,R3> ; ..RESTORE OTHER REGISTERS
022556 012602 MOV (SP)+,R2
022560 012603 MOV (SP)+,R3
11701 022562 000506 BR 50$ ; AND GO AWAY
11702 ;
11703 022564 TPDDCK:
11704 022564 ERROR$ DCK ; ERROR -- DIVIDE CHECK
022564 012746 014603 MOV #^RDCK,-(SP)
022570 104400 TRAP TC.ERR
11705 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 336
.TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
11707 .SBTTL .TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
11708
11709 ;+
11710 ; .TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER
11711 ; .TPCOM -- SUBROUTINE TO COMPLEMENT A 48 BIT NUMBER.
11712 ; .TPNEG -- SUBROUTINE TO NEGATE A 48 BIT NUMBER.
11713 ; .TPXTN -- SUBROUTINE TO SIGN EXTEND A 36 BIT NUMBER INTO A 48 BIT NUMBER
11714 ;
11715 ; THESE SUBROUTINE PERFORM THE FUNCTIONS INDICATED. ALL SUBROUTINES
11716 ; ACCEPT A DESTINATION POINTER IN R0. ALL SUBROUTINES
11717 ; RETURN THE POINTER UNALTERED. NO OTHER REGISTERS ARE ALTERED
11718 ; BY THESE ROUTINES.
11719 ;
11720 ; INPUT ARGUMENTS:
11721 ;
11722 ; R0 POINTS TO THE DESTINATION OPERAND
11723 ;
11724 ; OUTPUT ARGUMENTS:
11725 ;
11726 ; R0 POINTS TO THE DESINATION OPERAND
11727 ;
11728 ; ERROR CODES RETURNED:
11729 ;
11730 ; NONE.
11731 ;-
11732
11733 022572 .TPCLR:: ; CLEAR A 48 BIT WORD
11734 022572 005020 CLR (R0)+ ; SO
11735 022574 005020 CLR (R0)+
11736 022576 005010 CLR (R0)
11737 022600 000500 BR 60$ ; RESET R0 AND RETURN
11738 ;
11739
11740 022602 .TPCOM:: ; COMPLEMENT A 48 BIT NUMBER
11741 022602 005120 COM (R0)+ ; COMPLEMENT
11742 022604 005120 COM (R0)+ ; EACH WORD
11743 022606 005110 COM (R0) ; IN THE TRIPLET
11744 022610 000474 BR 60$ ; RESET R0 AND RETURN
11745 ;
11746
11747 022612 .TPNEG:: ; NEGATE A 48 BIT NUMBER
11748 022612 CALL .TPCOM ; FIRST COMPLEMENT THE NUMBER
022612 004737 022602' JSR PC,.TPCOM
11749 022616 000447 BR .TPINC ; -0 + NOT(0)+1 AND RETURN
11750 ;
11751
11752 022620 .TPXTN::
11753 022620 032760 000010 000004 BIT #10,4(R0) ; TEST THE SIGN BIT
11754 022626 001466 BEQ 70$ ; EXIT IF POSITIVE
11755 022630 052760 177760 000004 BIS #^C17,4(R0) ; SIGN EXTEND IF NEGATIVE
11756 022636 000462 BR 70$ ; EXIT
11757 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 337
.TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
11759 .SBTTL .TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
11760
11761 ;+
11762 ; .TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS.
11763 ;
11764 ; THIS SUBROUTINE WILL COMPARE THE 48 BIT NUMBER POINTED TO BY
11765 ; R0 AND THE 48 BIT NUMBER POINTED TO BY R1 IN THE CALL.
11766 ;
11767 ; INPUT ARGUMENTS:
11768 ;
11769 ; R0 POINTS TO THE FIRST NUMBER
11770 ; R1 POINTS TO THE SECOND NUMBER
11771 ;
11772 ; OUTPUT ARGUMENTS:
11773 ;
11774 ; R0 POINTS TO THE FIRST NUMBER
11775 ; R1 POINTS TO THE SECOND NUMBER
11776 ; CC-N IS SET IF (R0) .LT. (R1)
11777 ; CC-Z IS SET IF (R0) .EQ. (R1)
11778 ; CC-Z IS CLEAR IF (R0) .GT. (R1)
11779 ;
11780 ; ERROR CODES RETURNED:
11781 ;
11782 ; NONE.
11783 ;-
11784
11785 022640 .TPCMP:: ; COMPARE TWO 48 BIT NUMBERS
11786 022640 026061 000004 000004 CMP 4(R0),4(R1) ; COMPARE THE HIGH WORDS
11787 022646 001056 BNE 70$ ; NOT EQUAL -- EXIT
11788 022650 026061 000002 000002 CMP 2(R0),2(R1) ; COMPARE THE MIDDLE WORDS
11789 022656 001001 BNE 30$ ; NOT EQUAL -- EXIT
11790 022660 021011 CMP (R0),(R1) ; COMPARE THE LOW WORDS
11791 022662 30$:
11792 022662 000250 CLN ; CLEAR CC-N
11793 022664 000242 CLV ; CLEAR CC-V
11794 022666 103046 BCC 70$ ; BRANCH IF NON-NEGATIVE
11795 022670 000270 SEN ; NEGATIVE -- SET CC-N
11796 022672 000444 BR 70$ ; EXIT
11797 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 338
.TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
11799 .SBTTL .TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
11800
11801 ;+
11802 ; .TPTST -- TEST A 48 BIT NUMBER FOR ZERO.
11803 ;
11804 ; THIS SUBROUTINE WILL TEST THE 48 BIT NUMBER POINTED TO BY R0 TO
11805 ; SEE IF IT ZERO OR NON-ZERO. IF THE NUMBER IS ZERO, CC-Z IS SET
11806 ; ON RETURN, IF NON-ZERO, CC-Z IS CLEAR SET ON RETURN.
11807 ; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
11808 ;
11809 ; INPUT ARGUMENTS:
11810 ;
11811 ; R0 POINTS TO THE NUMBER TO BE TESTED
11812 ;
11813 ; OUTPUT ARGUMENTS:
11814 ;
11815 ; R0 POINTS TO THE TESTED NUMBER
11816 ; CC-Z IS SET IF THE NUMBER IS ZERO
11817 ; CC-Z IS CLEAR IF THE NUMBER IS NON-ZERO
11818 ;
11819 ; ERROR CODES RETURNED:
11820 ;
11821 ; NONE.
11822 ;-
11823
11824 022674 .TPTST:: ; TEST A TRIPLE PRECISION NUMBER FOR ZERO
11825 022674 005760 000004 TST 4(R0) ; TEST THE HIGH WORD
11826 022700 001041 BNE 70$ ; NON ZERO?
11827 022702 005760 000002 TST 2(R0) ; TEST THE MIDDLE WORD
11828 022706 001001 BNE 40$ ; NON ZERO?
11829 022710 005710 TST (R0) ; TEST THE LOW WORD
11830 022712 40$:
11831 022712 000250 CLN ; CLEAR CC-N
11832 022714 000433 BR 70$ ; EXIT
11833 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 339
.TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
11835 .SBTTL .TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
11836
11837 ;+
11838 ; .TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS.
11839 ;
11840 ; THIS SUBROUTINE ADDS TWO 48 BIT ADDENDS WHICH ARE POINTED TO BY
11841 ; R0 AND R1 IN THE CALL, AND RETURNS A POINTER TO THE SUM IN R0.
11842 ; THE ADDEND POINTED TO BY R1 IS ADDED TO THAT POINTED TO BY R0.
11843 ;
11844 ; INPUT ARGUMENTS:
11845 ;
11846 ; R0 POINTS TO THE FIRST ADDEND
11847 ; R1 POINTS TO THE SECOND ADDEND
11848 ;
11849 ; OUTPUT ARGUMENTS:
11850 ;
11851 ; R0 POINTS TO THE SUM
11852 ; R1 POINTS TO THE SECOND ADDEND
11853 ;
11854 ; ERROR CODES RETURNED:
11855 ;
11856 ; NONE.
11857 ;-
11858
11859 022716 .TPADD::
11860 022716 062120 ADD (R1)+,(R0)+ ; ADD LOW ORDER PARTS
11861 022720 005510 ADC (R0) ; CARRY ANY OVERFLOW
11862 022722 005560 000002 ADC 2(R0) ; AND ANY OVER FLOW FROM THAT
11863 022726 062120 ADD (R1)+,(R0)+ ; ADD MIDDLE WORD
11864 022730 005510 ADC (R0) ; FIX CARRIES
11865 022732 061110 ADD (R1),(R0) ; ADD HIGH ORDER PARTS
11866 022734 000421 BR 50$ ; RESET REGISTERS ANS EXIT
11867 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 340
.TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
11869 .SBTTL .TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
11870
11871 ;+
11872 ; .TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER.
11873 ; .TPDEC -- SUBROUTINE TO DECREMENT A 48 BIT NUMBER.
11874 ;
11875 ; THESE SUBROUTINES WILL INCREMENT OR DECREMENT A 48 BIT NUMBER
11876 ; POINTED TO BY R0 IN THE CALL. ON RETURN, THE POINTER IN R0 IS
11877 ; UNCHANGED. NO OTHER REGISTERS ARE ALTERED BY THESE SUBROUTINES.
11878 ;
11879 ; INPUT ARGUMENTS:
11880 ;
11881 ; R0 POINTS TO THE OPERAND
11882 ;
11883 ; OUTPUT ARGUMENTS:
11884 ;
11885 ; R0 POINTS TO THE OPERAND
11886 ;
11887 ; ERROR CODES RETURNED:
11888 ;
11889 ; NONE.
11890 ;-
11891
11892 022736 .TPINC:: ; INCREMENT A 48 BIT NUMBER
11893 022736 062720 000001 ADD #1,(R0)+ ; DO THE INCREMENT
11894 022742 005520 ADC (R0)+ ; AND CARRY THE CARRIES
11895 022744 005510 ADC (R0)
11896 022746 000415 BR 60$ ; AND EXIT
11897 ;
11898
11899 022750 .TPDEC:: ; DECREMENT A 48 BIT NUMBER
11900 022750 162720 000001 SUB #1,(R0)+ ; DO THE DECREMENT
11901 022754 005620 SBC (R0)+ ; AND STRAIGHTEN OUT THE CARRIES
11902 022756 005610 SBC (R0)
11903 022760 000410 BR 60$ ; ADJUST R0 AND RETURN
11904 ;
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 341
.TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
11906 .SBTTL .TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
11907
11908 ;+
11909 ; .TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS.
11910 ;
11911 ; THIS SUBROUTINE WILL SUBTRACT TWO 48 BIT NUMBERS POINTED TO BY R0,
11912 ; (MINUEND), AND R1 (SUBTRAHEND) IN THE CALL, AND WILL RETURN A
11913 ; POINTER TO THE DIFFERENCE IN R0.
11914 ;
11915 ; INPUT ARGUMENTS:
11916 ;
11917 ; R0 POINTS TO THE MINUEND
11918 ; R1 POINTS TO THE SUBTRAHEND
11919 ;
11920 ; OUTPUT ARGUMENTS:
11921 ;
11922 ; R0 POINTS TO THE DIFFERENCE
11923 ; R1 POINTS TO THE SUBTRAHEND
11924 ;
11925 ; ERROR CODES RETURNED:
11926 ;
11927 ; NONE.
11928 ;-
11929
11930 022762 .TPSUB::
11931 022762 162120 SUB (R1)+,(R0)+ ; SUBTRACT LOW ORDER PARTS
11932 022764 005610 SBC (R0) ; CARRY ANY OVERFLOW
11933 022766 005660 000002 SBC 2(R0) ; AND ANY OVERFLOWS FROM THAT
11934 022772 162120 SUB (R1)+,(R0)+
11935 022774 005610 SBC (R0) ; FIX CARRIES
11936 022776 161110 SUB (R1),(R0) ; SUBTRACT HIGH ORDER PARTS
11937 023000 50$:
11938 023000 024141 CMP -(R1),-(R1) ; RESET R1
11939 023002 60$:
11940 023002 024040 CMP -(R0),-(R0) ; RESET R0
11941 023004 70$:
11942 023004 RETURN ; AND EXIT
023004 000207 RTS PC
11943
11944 .DSABL LSB
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 342
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
11946 .SBTTL .TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
11947
11948 ;+
11949 ; .TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE.
11950 ;
11951 ; THIS SUBROUTINE WILL MULTIPLY THE 48 BIT MULTIPLICAND POINTED
11952 ; TO BY R0 BY THE 48 BIT MULTIPLIER POINTER IN R1, AND RETURN A
11953 ; POINTER TO THE 48 BIT PRODUCT IN R0. THE MULTIPLIER IS UNCHANGED,
11954 ; AND NO OTHER REGISTERS ARE ALTERED BY THIS SUBROUTINE.
11955 ;
11956 ; INPUT ARGUMENTS:
11957 ;
11958 ; R0 POINTS TO THE MULTIPLICAND
11959 ; R1 POINTS TO THE MULTIPLIER
11960 ;
11961 ; OUTPUT ARGUMENTS:
11962 ;
11963 ; R0 POINTS TO THE PRODUCT
11964 ; R1 POINTS TO THE MULTIPLIER
11965 ;
11966 ; ERROR CODES RETURNED:
11967 ;
11968 ; NONE.
11969 ;-
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 343
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
11971 023006 .TPMUL::
11972 023006 PUSH <R2,R1,R0> ; SAVE CALLER'S REGISTERS
023006 010246 MOV R2,-(SP)
023010 010146 MOV R1,-(SP)
023012 010046 MOV R0,-(SP)
11973 023014 CALL .TPTST ; ...SEE IF MULTIPLICAND .EQ. 0
023014 004737 022674' JSR PC,.TPTST
11974 023020 001460 BEQ 50$ ; ...YES -- QUIT NOW
11975 023022 010100 MOV R1,R0 ; ...NO -- POINT TO MULTIPLIER
11976 023024 CALL .TPTST ; ...SEE IF IT IS .EQ. 0
023024 004737 022674' JSR PC,.TPTST
11977 023030 001004 BNE 10$ ; ...NO -- ALL OK
11978 023032 011600 MOV (SP),R0 ; ...YES -- GET MULTIPLICAND POINTER
11979 023034 CALL .TPCLR ; ...AND MAKE IT .EQ. 0
023034 004737 022572' JSR PC,.TPCLR
11980 023040 000450 BR 50$ ; ...RETURN TO CALLER
11981 ;
11982 023042 10$:
11983 023042 011600 MOV (SP),R0 ; ...R0 POINTS TO MULTIPLCAND
11984 023044 PUSH <(R1)+,(R1)+,(R1),R1>
023044 012146 MOV (R1)+,-(SP)
023046 012146 MOV (R1)+,-(SP)
023050 011146 MOV (R1),-(SP)
023052 010146 MOV R1,-(SP)
11985 023054 024141 CMP -(R1),-(R1) ; .......CALLER'S MULTIPLIER SAVED
11986 023056 010102 MOV R1,R2 ; .......R2 POINTS TO THE MULTIPLIER
11987 023060 010001 MOV R0,R1 ; .......R1 POINTS TO THE MULTIPLICAND
11988 023062 005046 CLR -(SP) ; .......CLEAR A BUFFER ON THE STACK
11989 023064 005046 CLR -(SP) ; ........
11990 023066 005046 CLR -(SP) ; .........
11991 023070 010600 MOV SP,R0 ; ..........R0 POINTS TO TEMPORARY RESULT
11992 023072 20$:
11993 023072 006062 000004 ROR 4(R2) ; ..........SHIFT THE MULTIPLIER RIGHT
11994 023076 006062 000002 ROR 2(R2) ; ..........
11995 023102 006012 ROR (R2) ; ..........
11996 023104 103002 BCC 30$ ; ..........DID WE GET A CARRY?
11997 023106 CALL .TPADD ; ..........YES -- ADD THE MULTIPLICAND
023106 004737 022716' JSR PC,.TPADD
11998 023112 30$:
11999 023112 006311 ASL (R1) ; ..........DOUBLE MULTIPLICAND IN ANY CASE
12000 023114 006161 000002 ROL 2(R1) ; ..........
12001 023120 006161 000004 ROL 4(R1) ; ..........
12002 023124 PUSH R0 ; ..........SAVE RESULT POINTER
023124 010046 MOV R0,-(SP)
12003 023126 010200 MOV R2,R0 ; ...........POINT TO MULTIPLIER
12004 023130 CALL .TPTST ; ...........IS IT .EQ. 0?
023130 004737 022674' JSR PC,.TPTST
12005 023134 001402 BEQ 40$ ; ...........YES -- SET UP FOR RETURN
12006 023136 POP R0 ; ...........NO -- RESTORE R0
023136 012600 MOV (SP)+,R0
12007 023140 000754 BR 20$ ; ..........AND CONTINUE
12008 ;
12009
12010 ; [CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 344
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
12012 ; [CONTINUED FROM THE PREVIOUS PAGE]
12013
12014 ; HERE TO RETURN PRODUCT AND EXIT
12015
12016 023142 40$:
12017 023142 POP R0 ; ...........GET RID OF MULTIPLIER POINTER
023142 012600 MOV (SP)+,R0
12018 023144 POP <(R1)+,(R1)+,(R1)>
023144 012621 MOV (SP)+,(R1)+
023146 012621 MOV (SP)+,(R1)+
023150 012611 MOV (SP)+,(R1)
12019 023152 POP <R1,(R1),-(R1),-(R1)>
023152 012601 MOV (SP)+,R1
023154 012611 MOV (SP)+,(R1)
023156 012641 MOV (SP)+,-(R1)
023160 012641 MOV (SP)+,-(R1)
12020 023162 50$:
12021 023162 POP <R0,R1,R2> ; ...RESTORE REGISTERS
023162 012600 MOV (SP)+,R0
023164 012601 MOV (SP)+,R1
023166 012602 MOV (SP)+,R2
12022 023170 RETURN ; TO CALLER
023170 000207 RTS PC
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 345
.TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
12024 .SBTTL .TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
12025
12026 ;+
12027 ; .TPSHI -- SUBROUTINE TO SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER.
12028 ;
12029 ; THIS SUBROUTINE SHIFTS THE 48 BIT NUMBER POINTED TO BY R0 BY THE
12030 ; 16 BIT NUMBER IN R1 IN THE CALL. ON RETURN R0 POINTS TO THE SHIFTED
12031 ; 48 BIT NUMBER. THE DIRECTION OF THE SHIFT IS DETERMINED BY THE SIGN
12032 ; OF THE 16 BIT NUMBER IN R1. NO REGISTERS ARE ALTERED BY THIS ROUTINE.
12033 ;
12034 ; INPUT ARGUMENTS:
12035 ;
12036 ; R0 POINTS TO THE NUMBER TO BE SHIFTED
12037 ; R1 HOLDS THE 16 BIT SHIFT COUNT
12038 ;
12039 ; OUTPUT ARGUMENTS:
12040 ;
12041 ; R0 POINTS TO THE SHIFTED NUMBER
12042 ; R0 HOLDS THE 16 BIT SHIFT COUNT
12043 ;
12044 ; ERROR CODES RETURNED:
12045 ;
12046 ; NONE.
12047 ;-
12048
12049 023172 .TPSHI::
12050 023172 PUSH R1 ; SAVE R1 FROM DESTRUCTION
023172 010146 MOV R1,-(SP)
12051 023174 001416 BEQ 30$ ; .ON ZERO DO NOTHING
12052 023176 003002 BGT 10$ ; .REALLY MEANS LEFT
12053 023200 005401 NEG R1 ; .MEANS RIGHT, SO NEGATE
12054 023202 000406 BR 20$ ; .AND GO RIGHT
12055 ;
12056 023204 10$:
12057 023204 006320 ASL (R0)+ ; .CLEAR CC-C AND SHIFT
12058 023206 006120 ROL (R0)+ ; .USE CC-C AND SHIFT
12059 023210 006110 ROL (R0) ; .
12060 023212 024040 CMP -(R0),-(R0) ; .POINT BACK TO BEGINNING
12061 023214 077105 SOB R1,10$ ; .AND LOOP 'TILL DONE
12062 023216 000405 BR 30$ ; .DONE -- EXIT
12063 ;
12064 023220 20$: ; .HERE TO SHIFT RIGHT
12065 023220 022020 CMP (R0)+,(R0)+ ; .FIX POINTER TO POINT TO HIGH PART
12066 023222 006210 ASR (R0) ; .SHIFT HIGH PART
12067 023224 006040 ROR -(R0) ; .THEN MIDDLE PART
12068 023226 006040 ROR -(R0) ; .THEN LOW PART
12069 023230 077105 SOB R1,20$ ; .UNTIL DONE
12070 023232 30$:
12071 023232 POP R1 ; .RESTORE R1
023232 012601 MOV (SP)+,R1
12072 023234 RETURN ; AND RETURN TO CALLER
023234 000207 RTS PC
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 346
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
12074 .SBTTL .TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
12075
12076 ;+
12077 ; .TPSHL -- SUBROUTINE TO SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER.
12078 ;
12079 ; THIS SUBROUTINE WILL SHIFT THE 48 BIT NUMBER POINTED TO BY R0 BY
12080 ; THE 48 BIT NUMBER POINTED TO BY R1 IN THE CALL. BOTH POINTERS ARE
12081 ; RETURNED UNALTERED, AND NO OTHER REGISTERS ARE ALTERED BY THE
12082 ; SUBROUTINE. THE DIRECTION OF THE SHIFT IS DETERMINED BY THE SIGN
12083 ; OF THE 48 BIT NUMBER POINTED TO BY R1.
12084 ;
12085 ; INPUT ARGUMENTS:
12086 ;
12087 ; R0 POINTS TO THE NUMBER TO BE SHIFTED
12088 ; R1 POINTS TO THE SHIFT COUNT
12089 ;
12090 ; OUTPUT ARGUMENTS:
12091 ;
12092 ; R0 POINTS TO THE SHIFTED NUMBER
12093 ; R1 POINTS TO THE SHIFT COUNT
12094 ;
12095 ; ERROR CODES RETURNED:
12096 ;
12097 ; NONE.
12098 ;-
12099
12100 023236 .TPSHL::
12101 023236 PUSH <(R1)+,(R1)+,(R1),R1>
023236 012146 MOV (R1)+,-(SP)
023240 012146 MOV (R1)+,-(SP)
023242 011146 MOV (R1),-(SP)
023244 010146 MOV R1,-(SP)
12102 023246 024141 CMP -(R1),-(R1) ; ....BACK THE POINTER UP
12103 023250 PUSH <R2,R0> ; ....SAVE R2 AND R0
023250 010246 MOV R2,-(SP)
023252 010046 MOV R0,-(SP)
12104 023254 010100 MOV R1,R0 ; ......POINT TO THE SHIFT COUNT
12105 023256 CALL .TPXTN ; ......DO THE SIGN EXTENSION
023256 004737 022620' JSR PC,.TPXTN
12106 023262 CALL .TPTST ; ......SEE WHAT IT IS
023262 004737 022674' JSR PC,.TPTST
12107 023266 001432 BEQ 30$ ; ......EXIT IF .EQ. ZERO
12108 023270 002415 BLT 20$ ; ......SHIFT RIGHT IF .LT. ZERO
12109
12110 ; [CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARITH MACRO M1110 03-OCT-79 11:35 PAGE 347
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
12112 ; [CONTINUED FROM THE PREVIOUS PAGE]
12113
12114 023272 10$: ; ......HERE TO SHIFT LEFT
12115 023272 010002 MOV R0,R2 ; ......SHIFT COUNT POINTER TO R2
12116 023274 011600 MOV (SP),R0 ; ......POINT TO THE NUMBER
12117 023276 012701 000001 MOV #^D1,R1 ; ......SUBSTITUTE SHIFT COUNT
12118 023302 CALL .TPSHI ; ......SHIFT IT ONCE
023302 004737 023172' JSR PC,.TPSHI
12119 023306 010200 MOV R2,R0 ; ......REAL SHIFT COUNT POINTER TO R0
12120 023310 CALL .TPDEC ; ......DECREMENT IT
023310 004737 022750' JSR PC,.TPDEC
12121 023314 CALL .TPTST ; ......ARE WE DONE?
023314 004737 022674' JSR PC,.TPTST
12122 023320 001364 BNE 10$ ; ......NO -- KEEP GOING
12123 023322 000414 BR 30$ ; ......YES -- EXIT
12124 ;
12125 023324 20$: ; ......HERE TO SHIFT RIGHT
12126 023324 010002 MOV R0,R2 ; ......SHIFT COUNT TO R2
12127 023326 011600 MOV (SP),R0 ; ......POINT TO THE NUMBER
12128 023330 012701 177777 MOV #-^D1,R1 ; ......SUBSTITUTE SHIFT COUNT
12129 023334 CALL .TPSHI ; ......SHIFT IT
023334 004737 023172' JSR PC,.TPSHI
12130 023340 010200 MOV R2,R0 ; ......REAL SHIFT COUNT POINTER TO R0
12131 023342 CALL .TPINC ; ......INCREMENT IT
023342 004737 022736' JSR PC,.TPINC
12132 023346 CALL .TPTST ; ......ARE WE DONE?
023346 004737 022674' JSR PC,.TPTST
12133 023352 001364 BNE 20$ ; ......NO -- KEEP GOING
12134 023354 30$:
12135 023354 POP <R0,R2> ; ......RESTORE R0 AND R2
023354 012600 MOV (SP)+,R0
023356 012602 MOV (SP)+,R2
12136 023360 POP <R1,(R1),-(R1),-(R1)>
023360 012601 MOV (SP)+,R1
023362 012611 MOV (SP)+,(R1)
023364 012641 MOV (SP)+,-(R1)
023366 012641 MOV (SP)+,-(R1)
12137 023370 RETURN ; RETURN TO CALLER
023370 000207 RTS PC
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1110 03-OCT-79 11:35 PAGE 348
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
12139 .TITLE TRACK -- DIAGNOSTIC FUNCTION TRACK MODULE 7603.30
12140
12141 .IDENT "005000"
12142
12143 ;
12144 ; COPYRIGHT (C) 1975, 1979 BY
12145 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
12146 ;
12147 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
12148 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
12149 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
12150 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
12151 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
12152 ;
12153 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
12154 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
12155 ; CORPORATION.
12156 ;
12157 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
12158 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
12159 ;
12160 ; MODULE: DAIGNOSTIC FUNCTION TRACK
12161 ;
12162 ; VERSION: 05-00
12163 ;
12164 ; AUTHOR: R. BELANGER
12165 ;
12166 ; DATE: 7603.30
12167 ;
12168 ; THIS MODULE CONTAINS:
12169 ;
12170 ; 1) DIAGNOSTIC FUNCTION TRACK CODE
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1110 03-OCT-79 11:35 PAGE 349
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
12172 .SBTTL .TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
12173
12174 ;+
12175 ; .FRTRK -- SUBROUTINE TO TRACK A FUNCTION READ.
12176 ; .FWTRK -- SUBROUTINE TO TRACK A FUNCTION WRITE.
12177 ; .FXTRK -- SUBROUTINE TO TRACK A FUNCTION EXECUTE.
12178 ;
12179 ; THESE SUBROUTINES TRACK A FUNCTION READ, WRITE, OR EXECUTE
12180 ; BY DISPLAYING THE FUNCTION CODE AND THE CONTENT OF THE BUFFER
12181 ; ON THE FRONT END OUTPUT DEVICE.
12182 ;
12183 ; THESE SUBROUTINES ARE CALLED INTERNALLY AND ARE DEPENDENT UPON THE
12184 ; STATE OF THE SWITCHES IN ".TRKWD". THE ".TRKWD" SWITCHES ARE TURNED
12185 ; ON OR OFF BY THE "SET" AND "CLEAR TRACK" COMMANDS, RESPECTIVELY.
12186 ;
12187 ; ERROR CODES RETURNED:
12188 ;
12189 ; NONE.
12190 ;-
12191
12193
12194 .ENABL LSB
12195
12196 023372 .FRTRK::
12197 023372 PUSH R0 ; SAVE R0 ON THE STACK
023372 010046 MOV R0,-(SP)
12198 023374 PUSH .KLDFR+2 ; .SAVE THE FR CODE TOO
023374 013746 000110' MOV .KLDFR+2,-(SP)
12199 023400 PUSH #.DFRB ; ..AND THE BUFFER ADDRESS
023400 012746 000222' MOV #.DFRB,-(SP)
12200 023404 012700 003316' MOV #TFRMSG,R0 ; ...MESSAGE POINTER TO R0
12201 023410 000416 BR 10$ ; ...DO THE TRACKING
12202 ;
12203 023412 .FWTRK::
12204 023412 PUSH R0 ; SAVE R0 ON THE STACK
023412 010046 MOV R0,-(SP)
12205 023414 PUSH .KLDFW+2 ; .SAVE THE FW CODE
023414 013746 000122' MOV .KLDFW+2,-(SP)
12206 023420 PUSH #.DFWB ; ..AND THE BUFFER ADDRESS
023420 012746 000214' MOV #.DFWB,-(SP)
12207 023424 012700 003333' MOV #TFWMSG,R0 ; ...MESSAGE POINTER TO R0
12208 023430 000406 BR 10$ ; ...GO TRACK IT
12209 ;
12210 023432 .FXTRK::
12211 023432 PUSH R0 ; SAVE R0 ON THE STACK
023432 010046 MOV R0,-(SP)
12212 023434 PUSH .KLDFX+2 ; .SAVE THE FX CODE
023434 013746 000134' MOV .KLDFX+2,-(SP)
12213 023440 005046 CLR -(SP) ; ..NO BUFFER ADDRESS
12214 023442 012700 003350' MOV #TFXMSG,R0 ; ...MESSAGE POINTER TO R0
12215 ; BR 10$ ; ...AND FALL INTO COMMON CODE
12216 ;
12217
12218 ; [CONTINUED ON THE FOLLOWING PAGE]
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1110 03-OCT-79 11:35 PAGE 350
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
12220 ; [CONTINUED FROM THE PREVIOUS PAGE]
12221
12222 023446 10$:
12223 023446 012737 177777 000100' MOV #-^D1,.LDZFL ; ...PRINT LEADING ZEROES
12224 023454 CALL .TYMSG ; ...PRINT THE MESSAGE
023454 004737 026202' JSR PC,.TYMSG
12225 023460 016600 000002 MOV 2(SP),R0 ; ...GET THE FUNCTION CODE
12226 023464 000300 SWAB R0 ; ...SWAP THE BYTES
12227 023466 042700 177400 BIC #177400,R0 ; ...FLUSH JUNK FROM HIGH BYTE
12228 023472 006200 ASR R0 ; ...DIVIDE IT BY 2
12229 023474 CALL .TYP3D ; ...TYPE THAT
023474 004737 025552' JSR PC,.TYP3D
12230 023500 011600 MOV (SP),R0 ; ...BUFFER ADDRESS?
12231 023502 001406 BEQ 20$ ; ...NO -- JUST EXIT
12232 023504 CALL .TYSLS ; ...YES -- TYPE A SLASH AND
023504 004737 025444' JSR PC,.TYSLS
12233 023510 CALL .TYSPC ; ...TYPE A <SPACE> AND
023510 004737 025454' JSR PC,.TYSPC
12234 023514 CALL .TYKLN ; ...TYPE ITS CONTENT
023514 004737 025676' JSR PC,.TYKLN
12235 023520 20$:
12236 023520 CALL .TCRLF ; ...NOW A <CRLF>
023520 004737 026272' JSR PC,.TCRLF
12237 023524 022626 CMP (SP)+,(SP)+ ; ...GET RID OF BUFFER POINTER AND CODE
12238 023526 POP R0 ; .RESTORE R0
023526 012600 MOV (SP)+,R0
12239 023530 RETURN ; AND GO AWAY
023530 000207 RTS PC
12240
12241 .DSABL LSB
12242
12243 003316 .PSECT MESSAG
12244
12245 003316 TFRMSG:
12246 003316 011 124 122 .ASCIZ % TRACK > FR %
003321 101 103 113
003324 040 076 040
003327 106 122 040
003332 000
12247 003333 TFWMSG:
12248 003333 011 124 122 .ASCIZ % TRACK > FW %
003336 101 103 113
003341 040 076 040
003344 106 127 040
003347 000
12249 003350 TFXMSG:
12250 003350 011 124 122 .ASCIZ % TRACK > FX %
003353 101 103 113
003356 040 076 040
003361 106 130 040
003364 000
12251 023532 .PSECT
12252
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1110 03-OCT-79 11:35 PAGE 351
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
12255 .SBTTL .DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
12256
12257 ;+
12258 ; .DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS
12259 ;
12260 ; THIS SUBROUTINE WILL TRACK DTE-20 OPERATIONS AND PRINT ALL DTE-20
12261 ; REFERENCES BY THE COMMAND PARSER ON THE CONSOLE OUTPUT DEVICE.
12262 ; THIS SUBROUTINE IS CALLED INTERNALLY, DEPENDENT UPON THE STATE OF
12263 ; THE DTE-20 TRACK FLAG ("TR.DTE") IN THE TRACK CONTROL WORD, ".TRKWD."
12264 ;
12265 ; CALLING SEQUENCE IS:
12266 ;
12267 ; CALL .DTTRK ; TRACK THE DTE-20
12268 ; ; ONLY RETURN
12269 ;
12270 ; THE DTE-20 REGISTER OPERATED UPON IS IDENTIFIED BY ONE OF THE FOLLOWING:
12271 ;
12272 ; (A) DIAG 1 - DIAG WORD 1,
12273 ; (B) DIAG 2 - DIAG WORD 2,
12274 ; (C) STATUS - STATUS WORD,
12275 ; (D) DIAG 3 - DIAG WORD 3.
12276 ;
12277 ; A READ OPERATION IS IDENTIFIED BY "RD", AND A WRITE OPERATION BY "WR".
12278 ;
12279 ; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
12280 ;
12281 ; ERROR CODES RETURNED:
12282 ;
12283 ; NONE.
12284 ;-
12285
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1110 03-OCT-79 11:35 PAGE 352
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
12288 023532 .DTTRK::
12289 023532 012737 177777 000100' MOV #-^D1,.LDZFL ; PRINT LEADING ZEROES
12290 023540 PUSH R0 ; SAVE R0
023540 010046 MOV R0,-(SP)
12291 023542 012700 003365' MOV #DTRMSG,R0 ; .MESSAGE POINTER TO R0
12292 023546 CALL .TYMSG ; .PRINT IT
023546 004737 026202' JSR PC,.TYMSG
12293 023552 113700 000053' MOVB .REGRW+3,R0 ; .GET THE REGISTER OFFSET
12294 023556 016000 005046' MOV REGTAB(R0),R0 ; .REGISTER MESSAGE POINTER TO R0
12295 023562 CALL .TYMSG ; .TYPE IT
023562 004737 026202' JSR PC,.TYMSG
12296 023566 CALL .TYSPC ; .NOW A <SPACE>
023566 004737 025454' JSR PC,.TYSPC
12297 023572 005737 000054' TST .REGRW+4 ; .IS THIS A WRITE?
12298 023576 001002 BNE 10$ ; .YES -- GO ON
12299 023600 011600 MOV (SP),R0 ; .NO -- DATA TO R0
12300 023602 000402 BR 20$ ; .GO PRINT IT
12301 ;
12302 023604 10$:
12303 023604 017700 000054' MOV @.REGRW+4,R0 ; .GET WRITTEN DATA
12304 023610 20$:
12305 023610 CALL .TYELN ; .PRINT THE DATA
023610 004737 025506' JSR PC,.TYELN
12306 023614 012700 003446' MOV #DRDMSG,R0 ; .READ MESSAGE POINTER TO R0
12307 023620 005737 000054' TST .REGRW+4 ; .WAS IT A WRITE?
12308 023624 001402 BEQ 30$ ; .YES -- GO ON
12309 023626 012700 003452' MOV #DWRMSG,R0 ; .NO -- WRITE MESSAGE POINTER TO R0
12310 023632 30$:
12311 023632 CALL .TYLIN ; .PRINT IT AND A <CRLF>
023632 004737 026166' JSR PC,.TYLIN
12312 023636 POP R0 ; .RESTORE R0
023636 012600 MOV (SP)+,R0
12313 023640 RETURN ; TO CALLER
023640 000207 RTS PC
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1110 03-OCT-79 11:35 PAGE 353
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
12315 005046 .PSECT DATA
12316
12317 005046 REGTAB:
12318 005046 003406' .WORD DW1MSG ; MESSAGE POINTERS
12319 005050 003416' .WORD DW2MSG
12320 005052 003426' .WORD STAMSG
12321 005054 003436' .WORD DW3MSG
12322
12323 003365 .PSECT MESSAG
12324 003365 DTRMSG:
12325 003365 011 124 122 .ASCIZ % TRACK > DTE-20 %
003370 101 103 113
003373 040 076 040
003376 104 124 105
003401 055 062 060
003404 040 000
12326
12327 003406 DW1MSG:
12328 003406 104 111 101 .ASCIZ %DIAG 1/%
003411 107 040 061
003414 057 000
12329 003416 DW2MSG:
12330 003416 104 111 101 .ASCIZ %DIAG 2/%
003421 107 040 062
003424 057 000
12331 003426 STAMSG:
12332 003426 123 124 101 .ASCIZ %STATUS/%
003431 124 125 123
003434 057 000
12333 003436 DW3MSG:
12334 003436 104 111 101 .ASCIZ %DIAG 3/%
003441 107 040 063
003444 057 000
12335
12336 003446 DRDMSG:
12337 003446 040 122 104 .ASCIZ % RD%
003451 000
12338 003452 DWRMSG:
12339 003452 040 127 122 .ASCIZ % WR%
003455 000
12340 023642 .PSECT
12341
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1110 03-OCT-79 11:35 PAGE 354
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
12344 .SBTTL .EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
12345
12346 ;+
12347 ; .EXTRK -- SUBROUTINE TO TRACK A KL EXAMINE.
12348 ; .DPTRK -- SUBROUTINE TO TRACK A KL DEPOSIT.
12349 ;
12350 ; THESE SUBROUTINES WILL TRACK A KL EXAMINE OR DEPOSIT BY
12351 ; DISPLAYING THE ADDRESS, DATA, AND REFERENCE TYPE OF THE EXAMINE
12352 ; OR DEPOSIT ON THE CONSOLE DEVICE AS IT IS EXECUTED.
12353 ;
12354 ; THESE SUBROUTINES ARE CALLED INTERNALLY DEPENDENT ON THE STATE OF
12355 ; THE TRACK CONTROL WORD ".TRKWD".
12356 ;
12357 ; THE SWITCHES IN ".TRKWD" ARE TURNED ON OR OFF BY THE "SET" AND
12358 ; "CLEAR TRACK" COMMANDS, RESPECTIVELY.
12359 ;
12360 ; NO REGISTERS ARE ALTERED BY THESE SUBROUTINES.
12361 ;
12362 ; ERROR CODES RETURNED:
12363 ;
12364 ; NONE.
12365 ;-
12366
12368
12369 .ENABL LSB
12370
12371 023642 .EXTRK::
12372 023642 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
023642 004537 012512' JSR R5,.REGSV
12373 023646 012705 003502' MOV #ETRMSG,R5 ; PREAMBLE TO TYPE
12374 023652 000404 BR 10$ ; DO COMMON CODE
12375 ;
12376 023654 .DPTRK::
12377 023654 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
023654 004537 012512' JSR R5,.REGSV
12378 023660 012705 003517' MOV #DTKMSG,R5 ; PREAMBLE TO TYPE
12379 ; AND FALL INTO COMMON CODE
12380
12381 ; [CONTINUED ON THE FOLLOWING PAGE]
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1110 03-OCT-79 11:35 PAGE 355
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
12383 ; [CONTINUED FROM THE PREVIOUS PAGE]
12384
12385 023664 10$:
12386 023664 PUSH R0 ; SAVE R0 ON THE STACK
023664 010046 MOV R0,-(SP)
12387 023666 011100 MOV (R1),R0 ; .GET ADDRESS POINTER
12388 023670 012702 005056' MOV #TRADDR,R2 ; .POINT TO OUR BLOCK
12389 023674 012022 MOV (R0)+,(R2)+ ; .AND LOAD IT
12390 023676 012022 MOV (R0)+,(R2)+ ; .
12391 023700 005012 CLR (R2) ; .ZERO THE LAST WORD
12392 023702 016100 000002 MOV 2(R1),R0 ; .GET DATA POINTER
12393 023706 012702 005064' MOV #TRDATA,R2 ; .POINT TO OUR BLOCK
12394 023712 012022 MOV (R0)+,(R2)+ ; .AND LOAD IT
12395 023714 012022 MOV (R0)+,(R2)+ ; .
12396 023716 011012 MOV (R0),(R2) ; .
12397 023720 010500 MOV R5,R0 ; .PREAMBLE POINTER TO R0
12398 023722 CALL .TYMSG ; .PRINT IT
023722 004737 026202' JSR PC,.TYMSG
12399 023726 012700 005056' MOV #TRADDR,R0 ; .POINT TO ADDRESS
12400 023732 CALL .TYKLA ; .PRINT IT
023732 004737 025626' JSR PC,.TYKLA
12401 023736 CALL .TYSLS ; .TYPE A SLASH
023736 004737 025444' JSR PC,.TYSLS
12402 023742 CALL .TYSPC ; .AND A <SPACE>
023742 004737 025454' JSR PC,.TYSPC
12403 023746 012700 005064' MOV #TRDATA,R0 ; .POINT TO DATA
12404 023752 CALL .TYKLN ; .PRINT IT
023752 004737 025676' JSR PC,.TYKLN
12405 023756 CALL .TYSPC ; .AND A <SPACE>
023756 004737 025454' JSR PC,.TYSPC
12406 023762 011600 MOV (SP),R0 ; .GET TYPE
12407 023764 006200 ASR R0 ; .DIVIDE BY 16
12408 023766 006200 ASR R0 ; .
12409 023770 006200 ASR R0 ; .
12410 023772 006200 ASR R0 ; .
12411 023774 016000 005072' MOV EDTYTB(R0),R0 ; .GET TYPE POINTER
12412 024000 CALL .TYLIN ; .PRINT IT AND A <CRLF>
024000 004737 026166' JSR PC,.TYLIN
12413 024004 POP R0 ; .AND R0
024004 012600 MOV (SP)+,R0
12414 024006 RETURN ; TO CALLER
024006 000207 RTS PC
12415
12416 .DSABL LSB
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1110 03-OCT-79 11:35 PAGE 356
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
12418 005056 .PSECT DATA
12419
12420 005056 TRADDR:
12421 005056 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR ADDRESS
12422 005064 TRDATA:
12423 005064 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR DATA
12424 005072 EDTYTB: ; POINTERS FOR TYPE MESSAGES
12425 005072 003456' .WORD EDEPT ; EPT SPACE
12426 005074 003462' .WORD EDEXV ; EXEC VIRTUAL SPACE
12427 005076 003466' .WORD EDUPT ; UPT SPACE
12428 005100 003472' .WORD EDUSV ; USER VIRTUAL
12429 005102 003476' .WORD EDPHY ; PHYSICAL SPACE
12430
12431 003456 .PSECT MESSAG
12432 003456 EDEPT:
12433 003456 105 120 124 .ASCIZ %EPT%
003461 000
12434 003462 EDEXV:
12435 003462 105 126 123 .ASCIZ %EVS%
003465 000
12436 003466 EDUPT:
12437 003466 125 120 124 .ASCIZ %UPT%
003471 000
12438 003472 EDUSV:
12439 003472 125 126 123 .ASCIZ %UVS%
003475 000
12440 003476 EDPHY:
12441 003476 120 110 131 .ASCIZ %PHY%
003501 000
12442 003502 ETRMSG:
12443 003502 011 124 122 .ASCIZ % TRACK > EX %
003505 101 103 113
003510 040 076 040
003513 105 130 040
003516 000
12444 003517 DTKMSG:
12445 003517 011 124 122 .ASCIZ % TRACK > DP %
003522 101 103 113
003525 040 076 040
003530 104 120 040
003533 000
12446 024010 .PSECT
12447
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 357
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
12450 .TITLE TYINP -- COMMAND PARSER COMMAND INPUT MODULE 7603.30
12451
12452 .IDENT "005000"
12453
12454 ;
12455 ; COPYRIGHT (C) 1975, 1979 BY
12456 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
12457 ;
12458 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
12459 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
12460 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
12461 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
12462 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
12463 ;
12464 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
12465 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
12466 ; CORPORATION.
12467 ;
12468 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
12469 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
12470 ;
12471 ; MODULE: COMMAND PARSER COMMAND INPUT
12472 ;
12473 ; VERSION: 05-00
12474 ;
12475 ; AUTHOR: R. BELANGER
12476 ;
12477 ; DATE: 7603.30
12478 ;
12479 ; THIS MODULE CONTAINS:
12480 ;
12481 ; 1) COMMAND LINE INPUT CODE
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 358
.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
12483 .SBTTL .GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
12484
12485 ;+
12486 ; .GTCMD -- SUBROUTINE TO GET A COMMAND LINE FROM THE CONSOLE INPUT
12487 ; BUFFER.
12488 ;
12489 ; THIS SUBROUTINE WILL GET A COMMAND LINE FROM THE CONSOLE INPUT DEVICE
12490 ; BUFFER AND PLACE IT INTO THE COMMAND BUFFER.
12491 ;
12492 ; INPUT ARGUMENTS:
12493 ;
12494 ; R5 POINTS TO THE DESTINATION BUFFER.
12495 ;
12496 ; OUTPUT ARGUMENTS:
12497 ;
12498 ; R5 POINTS TO THE BEGINNING OF THE COMMAND BUFFER
12499 ; ".INCHC" HAS THE COUNT OF THE CHARACTERS IN THE COMMAND BUFFER
12500 ; THE LAST CHARACTER IN THE COMMAND BUFFER IS A "<NULL>".
12501 ;
12502 ; ERROR CODES RETURNED:
12503 ;
12504 ; IF THE CONSOLE INPUT FAILS, THE PARSER WILL EXIT.
12505 ;
12506 ; CBO -- COMMAND BUFFER OVERFLOW.
12507 ; ILC -- ILLEGAL CHARACTER.
12508 ;-
12509
12510 024010 .GTCMD::
12511 024010 010501 MOV R5,R1 ; COMMAND BUFFER POINTER TO R1
12512 024012 10$:
12513 024012 PUSH R1 ; SAVE R1 ON THE STACK
024012 010146 MOV R1,-(SP)
12514 024014 CALL .GTLIN ; .GO GET THE COMMAND LINE
024014 004737 024044' JSR PC,.GTLIN
12515 024020 022601 CMP (SP)+,R1 ; .DID THE POINTER CHANGE?
12516 024022 001407 BEQ 20$ ; NO -- JUST EXIT
12517 024024 122741 000055 CMPB #'-,-(R1) ; YES -- WAS LAST CHARACTER LINE CONTINUATION?
12518 024030 001004 BNE 20$ ; NO -- EXIT
12519 024032 111100 MOVB (R1),R0 ; YES -- PROMPT FOR CONTINUATION
12520 024034 CALL .TFCHR ; FORCE PRINT THE PROMPT
024034 004737 026224' JSR PC,.TFCHR
12521 024040 000764 BR 10$ ; AND GO GET THE REST OF THE LINE
12522 ;
12523 024042 20$:
12524 024042 RETURN ; TO CALLER
024042 000207 RTS PC
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 359
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
12526 .SBTTL .GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
12527
12528 ;+
12529 ; .GTLIN -- SUBROUTINE TO GET AN INPUT LINE FROM THE CONSOLE
12530 ;
12531 ; THIS SUBROUTINE WILL GET A LINE OF INPUT FROM THE CONSOLE DEVICE
12532 ; AND PERFORM THE FOLLOWING CHARACTER CONVERSIONS:
12533 ;
12534 ; (A) LOWER CASE CHARACTERS ARE CONVERTED TO UPPER CASE
12535 ; (B) "<TAB>" IS CONVERTED TO "<SPACE>"
12536 ;
12537 ; INPUT ARGUMENTS:
12538 ;
12539 ; R1 POINTS TO THE BEGINNING OF THE DESTINATION BUFFER
12540 ;
12541 ; OUTPUT ARGUMENTS:
12542 ;
12543 ; R1 POINTS TO THE END OF THE DESTINATION BUFFER
12544 ;
12545 ; ERROR CODES RETURNED:
12546 ;
12547 ; IF THE CONSOLE INPUT FAILS, THE PARSER WILL EXIT.
12548 ;
12549 ; CBO -- COMMAND BUFFER OVERFLOW.
12550 ; ILC -- ILLEGAL CHARACTER.
12551 ;-
12552
12553 .MCALL DIR$, QIOW$
12554
12555 024044 .GTLIN::
12556 024044 PUSH <R0,R3,R4> ; SAVE SOME REGISTERS
024044 010046 MOV R0,-(SP)
024046 010346 MOV R3,-(SP)
024050 010446 MOV R4,-(SP)
12557 024052 012700 000240' MOV #.CIBFR,R0 ; ...INPUT BUFFER POINTER TO R0
12558 024056 005037 000064' CLR .INCHC ; ...CLEAR THE CHARACTER COUNTER
12559 024062 10$:
12560 024062 DIR$ #.CDINP ; ...READ THE LINE INTO INPUT BUFFER
024062 012746 000200' MOV #.CDINP,-(SP)
024066 104375 EMT 375
12561 024070 103445 BCS 70$ ; ...GIVE CONSOLE INPUT FAILED ERROR
12562 024072 105737 000004' TSTB .CISTS ; ...TEST THE STATUS BYTE
12563 024076 002442 BLT 70$ ; ...GIVE CONSOLE INPUT FAILED ERROR
12564 024100 CALL .TCRLF ; ...ACKNOWLEDGE THE LINE
024100 004737 026272' JSR PC,.TCRLF
12565 024104 013703 000006' MOV .CISTS+2,R3 ; ...INPUT BYTE COUNT TO R3
12566 024110 001415 BEQ 40$ ; ...NULL LINE IF .EQ. 0
12567 024112 20$:
12568 024112 112004 MOVB (R0)+,R4 ; ...GET THE CHARACTER INTO R4
12569 024114 001440 BEQ GTLILC ; ...ILLEGAL IF <NULL>
12570 024116 105764 001360' TSTB .CHTAB(R4) ; ...SEE IF IT IS A LEGAL CHARACTER
12571 024122 002417 BLT 50$ ; ...NO -- SEE IF IT IS REALLY ILLEGAL
12572
12573 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 360
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
12575 ; [CONTINUED FROM THE PREVIOUS PAGE]
12576
12577 024124 30$:
12578 024124 110421 MOVB R4,(R1)+ ; ...PUT IT INTO THE OUTPUT BUFFER
12579 024126 005237 000064' INC .INCHC ; ...INCREMENT THE CHARACTER COUNT
12580 024132 023727 000064' 000430 CMP .INCHC,#.CMNDL ; ...HAVE WE OVERFLOWED?
12581 024140 003023 BGT GTLCBO ; ...YES -- GIVE ERROR
12582 024142 077315 SOB R3,20$ ; ...NO -- LOOP TILL DONE THIS LINE
12583 024144 40$:
12584 024144 105011 CLRB (R1) ; ...MARK THE END OF LINE
12585 024146 POP <R4,R3,R0> ; ...RESTORE THE REGISTERS
024146 012604 MOV (SP)+,R4
024150 012603 MOV (SP)+,R3
024152 012600 MOV (SP)+,R0
12586 024154 005737 000064' TST .INCHC ; TEST THE INPUT BYTE COUNT
12587 024160 RETURN ; TO CALLER
024160 000207 RTS PC
12588 024162 50$: ; ...HERE TO CHECK ILLEGAL CHARACTERS
12589 024162 122704 000041 CMPB #'!,R4 ; ...WAS IT A COMMENT?
12590 024166 001766 BEQ 40$ ; ...YES -- JUST EXIT
12591 024170 122704 000011 CMPB #11,R4 ; ...NO -- WAS IT A <TAB>?
12595 024174 001010 BNE GTLILC ; ...NO -- GIVE "ILC" ERROR
12597 024176 112704 000040 MOVB #.SPACE,R4 ; ...YES -- MAKE IT A <SPACE>
12598 024202 000750 BR 30$ ; ...AND PUT IT IN THE BUFFER
12599 ;
12610 024204 70$:
12611 024204 CALLR .EXITP ; EXIT GRACEFULLY
024204 000137 012436' JMP .EXITP
12612 ;
12613 024210 GTLCBO:
12614 024210 ERROR$ CBO ; ERROR -- COMMAND BUFFER OVERFLOW
024210 012746 011437 MOV #^RCBO,-(SP)
024214 104400 TRAP TC.ERR
12615 ;
12616 024216 GTLILC:
12617 024216 ERROR$ ILC ; ERROR -- ILLEGAL CHARACTER
024216 012746 035043 MOV #^RILC,-(SP)
024222 104400 TRAP TC.ERR
12618 ;
12619 ; THIS IS THE CONSOLE INPUT DPB
12620
12621 000200 .PSECT DPBS
12622
12623 000200 .CDINP::
12624 000200 QIOW$ IO.RLB,CIDLUN,E.FCID,0,.CISTS,0,<.CIBFR,.CIBFL>
000200 003 010 .BYTE 3,$$$ARG
000202 000000G .WORD IO.RLB
000204 000001 .WORD CIDLUN
000206 002 000 .BYTE E.FCID,0
000210 000004' .WORD .CISTS
000212 000000 .WORD 0
000214 000240' .WORD .CIBFR
000216 000214 .WORD .CIBFL
12625
12626 000214' .CDIBP=.CDINP+Q.IOPL ; CONSOLE INPUT BYTE POINTER
12627 000216' .CDIBC=.CDINP+Q.BYCT ; CONSOLE INPUT BYTE COUNT
12628
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 360-1
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
12629 024224 .PSECT
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 361
.ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
12631 .SBTTL .ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
12632
12633 ;+
12634 ; .ELNCK -- SUBROUTINE TO TEST FOR A LEGAL PDP-11 NUMBER
12635 ;
12636 ; THIS SUBROUTINE WILL TEST A NUMBER TO SEE IF IT IS A LEGAL PDP-11
12637 ; NUMBER. THIS IS REQUIRED BECAUSE THE NUMERIC INPUT ROUTINES HANDLE
12638 ; ONLY 36 BIT NUMBERS.
12639 ;
12640 ; INPUT ARGUMENTS:
12641 ;
12642 ; R0 POINTS TO THE PDP-11 NUMBER TO BE TESTED
12643 ;
12644 ; OUTPUT ARGUMENTS:
12645 ;
12646 ; R0 POINTS TO THE PDP-11 NUMBER
12647 ;
12648 ; ERROR CODES RETURNED:
12649 ;
12650 ; NOR -- INPUT NUMBER OUT OF RANGE.
12651 ;-
12652
12653 024224 .ELNCK::
12654 024224 032760 000010 000004 BIT #10,4(R0) ; IS THIS A NEGATIVE NUMBER?
12655 024232 001411 BEQ 10$ ; NO -- POSITIVE
12656 024234 022760 177777 000004 CMP #-^D1,4(R0) ; YES -- ARE ALL THE BITS ON?
12657 024242 001014 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
12658 024244 022760 177777 000002 CMP #-^D1,2(R0) ; YES -- HOW ABOUT THE SECOND WORD?
12659 024252 001010 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
12660 024254 000406 BR 20$ ; YES -- ALL OK, EXIT
12661 ;
12662 024256 10$:
12663 024256 005760 000004 TST 4(R0) ; SEE IF HIGH WORD IS .EQ. ZERO
12664 024262 001004 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
12665 024264 005760 000002 TST 2(R0) ; IS SECOND WORD .EQ. ZERO?
12666 024270 001001 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
12667 024272 20$:
12668 024272 RETURN ; TO CALLER
024272 000207 RTS PC
12669 024274 ELNNOR:
12670 024274 000137 025406' JMP GTNNOR ; GIVE "NOR" ERROR
12671 ;
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 362
.GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
12673 .SBTTL .GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
12674
12675 ;+
12676 ; .GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER
12677 ;
12678 ; THIS SUBROUTINE WILL RETURN A PDP-11 NUMBER IN R0.
12679 ;
12680 ; INPUT ARGUMENTS:
12681 ;
12682 ; NONE.
12683 ;
12684 ; OUTPUT ARGUMENTS:
12685 ;
12686 ; R0 HOLDS THE PDP-11 NUMBER.
12687 ;
12688 ; ERROR CODES RETURNED:
12689 ;
12690 ; NOR -- INPUT NUMBER OUT OF RANGE.
12691 ;-
12692
12693 024300 .GTELN::
12694 024300 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
12695 024302 005046 CLR -(SP) ; .
12696 024304 005046 CLR -(SP) ; ..
12697 024306 010600 MOV SP,R0 ; ...
12698 024310 CALL .GTNUM ; ...GET A NUMBER
024310 004737 024362' JSR PC,.GTNUM
12699 024314 CALL .ELNCK ; ...SEE IF IS REALLY A PDP-11 NUMBER
024314 004737 024224' JSR PC,.ELNCK
12700 024320 011000 MOV (R0),R0 ; ...PUT THE NUMBER IN R0
12701 024322 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
12702 024326 RETURN ; TO CALLER
024326 000207 RTS PC
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 363
.GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
12704 .SBTTL .GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
12705
12706 ;+
12707 ; .GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS.
12708 ;
12709 ; THIS SUBROUTINE WILL READ AND RETURN A 36 BIT NUMBER AS A 22 BIT
12710 ; ADDRESS IN THE BUFFER POINTED TO BY R0 IN THE CALL.
12711 ;
12712 ; INPUT ARGUMENTS:
12713 ;
12714 ; R0 POINTS TO A THREE WORD BUFFER
12715 ;
12716 ; OUTPUT ARGUMENTS:
12717 ;
12718 ; R0 POINTS TO THE 22 BIT KL ADDRESS
12719 ;
12720 ; ERROR CODES RETURNED:
12721 ;
12722 ; KLA -- KL ADDRESS ERROR.
12723 ; NOR -- NUMBER OUT OF RANGE
12724 ;-
12725
12726 024330 .GTKLA::
12727 024330 CALL .GTNUM ; GET A NUMBER
024330 004737 024362' JSR PC,.GTNUM
12728 024334 005760 000004 TST 4(R0) ; CHECK FOR A LEGAL ADDRESS
12729 024340 001005 BNE GTKKLA ; BAD NEWS -- OUT OF RANGE
12730 024342 032760 177600 000002 BIT #^C177,2(R0) ; LOOK AT SECOND WORD
12731 024350 001001 BNE GTKKLA ; SAME HERE -- OUT OF RANGE
12732 024352 RETURN ; TO CALLER
024352 000207 RTS PC
12733 024354 GTKKLA:
12734 024354 ERROR$ KLA ; ERROR -- KL ADDRESS ERROR
024354 012746 043241 MOV #^RKLA,-(SP)
024360 104400 TRAP TC.ERR
12735 ;
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 364
.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
12737 .SBTTL .GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
12738
12739 ;+
12740 ; .GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION
12741 ; .GTKLN -- ".GTNUM" BY ANOTHER NAME
12742 ;
12743 ; THIS SUBROUTINE WILL READ AND CONVERT A NUMERIC EXPRESSION FROM
12744 ; THE INPUT STREAM AND RETURN A POINTER TO THE NUMBER IN R0
12745 ;
12746 ; INPUT ARGUMENTS:
12747 ;
12748 ; R0 POINTS TO THE DESTINATION OF THE NUMBER
12749 ; R5 POINTS TO THE INPUT STREAM
12750 ;
12751 ; OUTPUT ARGUMENTS:
12752 ;
12753 ; R0 POINTS TO THE NUMBER
12754 ; R5 POINTS TO THE FIRST CHARACTER AFTER THE NUMBER
12755 ;
12756 ; ERROR CODES RETURNED:
12757 ;
12758 ; ILC -- ILLEGAL CHARACTER.
12759 ; NOR -- NUMBER OUT OF RANGE.
12760 ;-
12761
12762 024362 .GTNUM::
12763 024362 .GTKLN::
12764 024362 PUSH R1 ; SAVE R1
024362 010146 MOV R1,-(SP)
12765 024364 CALL .CKSYM ; .GET OVER LEADING BLANKS
024364 004737 000446' JSR PC,.CKSYM
12766 024370 122715 000077 CMPB #'?,(R5) ; .IS THIS AN INQUIRY?
12767 024374 001466 BEQ GTNNER ; .YES -- SAY SO
12768 024376 CALL .TPCLR ; .NO -- CLEAR CALLER'S NUMBER
024376 004737 022572' JSR PC,.TPCLR
12769 024402 CALL .GTEXP ; .READ THIS EXPRESSION
024402 004737 024560' JSR PC,.GTEXP
12770 024406 122715 000040 CMPB #.SPACE,(R5) ; .IS THE TERMINATOR A <SPACE>?
12771 024412 001053 BNE 30$ ; .NO -- JUST EXIT
12772 024414 CALL .CKARG ; .YES -- SEE IF NUMERIC ARGUMENT FOLLOWS
024414 004737 000140' JSR PC,.CKARG
12773 024420 001454 BEQ GTNNER ; .NOT NUMERIC -- GIVE "NER" ERROR
12774 024422 CALL .TPTST ; .NUMERIC -- SEE IF PREVIOUS IS NEGATIVE
024422 004737 022674' JSR PC,.TPTST
12775 024426 002407 BLT 10$ ; .NEGATIVE -- DON'T DO RANGE CHECK
12776 024430 032760 177774 000002 BIT #^C3,2(R0) ; .IS THE NUMBER IN RANGE?
12777 024436 001043 BNE GTNORE ; .NO -- GIVE "NOR" ERROR
12778 024440 005760 000004 TST 4(R0) ; .IS IT REALLY IN RANGE?
12779 024444 001040 BNE GTNORE ; .NO -- GIVE "NOR" ERROR
12780
12781 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 365
.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
12783 ; [CONTINUED FROM THE PREVIOUS PAGE]
12784
12785 024446 10$:
12786 024446 012701 000022 MOV #^D18,R1 ; .SHIFT COUNT TO R1
12787 024452 CALL .TPSHI ; .SHIFT IT
024452 004737 023172' JSR PC,.TPSHI
12788 024456 010001 MOV R0,R1 ; .SAVE THE POINTER TO THE CURRENT NUMBER
12789 024460 005046 CLR -(SP) ; .CLEAR A NEW BUFFER
12790 024462 005046 CLR -(SP) ; ..
12791 024464 005046 CLR -(SP) ; ...
12792 024466 010600 MOV SP,R0 ; ....POINT TO THE BUFFER
12793 024470 PUSH R1 ; ....SAVE THE OLD POINTER
024470 010146 MOV R1,-(SP)
12794 024472 CALL .GTEXP ; .....READ THE NEW EXPRESSION
024472 004737 024560' JSR PC,.GTEXP
12795 024476 CALL .CKEOS ; .....MUST HAVE E-O-S AT THIS POINT
024476 004737 000326' JSR PC,.CKEOS
12796 024502 CALL .TPTST ; .....SEE IF THIS NUMBER IS NEGATIVE
024502 004737 022674' JSR PC,.TPTST
12797 024506 003005 BGT 20$ ; .....YES -- GO ON
12798 024510 005060 000004 CLR 4(R0) ; .....YES -- FIX IT UP
12799 024514 042760 177774 000002 BIC #^C3,2(R0) ; .....SO
12800 024522 20$:
12801 024522 POP R1 ; .....GET THE POINTER TO THE FIRST PART
024522 012601 MOV (SP)+,R1
12802 024524 052021 BIS (R0)+,(R1)+ ; ....ASSEMBLE THE NEW NUMBER
12803 024526 052021 BIS (R0)+,(R1)+ ; ....FROM BOTH HALVES
12804 024530 051011 BIS (R0),(R1) ; ....SO
12805 024532 062706 000006 ADD #^D6,SP ; ....RESET THE STACK
12806 024536 024141 CMP -(R1),-(R1) ; .BACK THE POINTER UP
12807 024540 010100 MOV R1,R0 ; .PUT IT IN R0
12808 024542 30$:
12809 024542 POP R1 ; .RESTORE R1
024542 012601 MOV (SP)+,R1
12810 024544 RETURN ; TO CALLER
024544 000207 RTS PC
12811 024546 GTNORE:
12812 024546 000137 025406' JMP GTNNOR ; GIVE "NOR" ERROR
12813 ;
12814 024552 GTNNER:
12815 024552 ERROR$ NER ; ERROR -- NUMERIC EXPRESSION REQUIRED
024552 012746 054132 MOV #^RNER,-(SP)
024556 104400 TRAP TC.ERR
12816 ;
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 366
.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
12818 .SBTTL .GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
12819
12820 ;+
12821 ; .GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM"
12822 ;
12823 ; THIS ROUTINE EVALUATES NUMERIC EXPRESSIONS FOR ".GTNUM".
12824 ;
12825 ; DEFINITION OF AN EXPRESSION:
12826 ;
12827 ; EXP=TERM+TERM!TERM-TERM!TERM+TERM+....!TERM-TERM-....!TERM
12828 ;
12829 ; INPUT ARGUMENTS:
12830 ;
12831 ; R0 POINTS TO A THREE WORD BUFFER
12832 ;
12833 ; OUTPUT ARGUMENTS:
12834 ;
12835 ; R0 POINTS TO THE EVALUATED EXPRESSION
12836 ;
12837 ; ERROR CODES RETURNED:
12838 ;
12839 ; NONE.
12840 ;-
12841
12842 024560 .GTEXP::
12843 024560 CALL .GTTRM ; GET THE NEXT TERM
024560 004737 024654' JSR PC,.GTTRM
12844 024564 10$:
12845 024564 122715 000053 CMPB #'+,(R5) ; DID HE SAY ADD?
12846 024570 001404 BEQ 20$ ; YES -- GO DO THE ADDITION
12847 024572 122715 000055 CMPB #'-,(R5) ; NO -- DID HE SAY SUBTRACT?
12848 024576 001404 BEQ 30$ ; YES -- GO DO THE SUBTRACTION
12849 024600 RETURN ; NO -- JUST RETURN
024600 000207 RTS PC
12850
12851 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 367
.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
12853 ; [CONTINUED FROM THE PREVIOUS PAGE]
12854
12855 024602 20$:
12856 024602 012702 022716' MOV #.TPADD,R2 ; DISPATCH ADDRESS TO R2
12857 024606 000402 BR 40$ ; TO COMMON ROUTINE
12858 ;
12859 024610 30$:
12860 024610 012702 022762' MOV #.TPSUB,R2 ; DISPATCH ADDRESS TO R2
12861 024614 40$:
12862 024614 112504 MOVB (R5)+,R4 ; GET OVER THE OPERATOR CHARACTER
12863 024616 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
12864 024620 005046 CLR -(SP) ; .
12865 024622 005046 CLR -(SP) ; ..
12866 024624 010601 MOV SP,R1 ; ...SCRATCH POINTER TO R1
12867 024626 PUSH R2 ; ...SAVE THE DISPATCH ADDRESS
024626 010246 MOV R2,-(SP)
12868 024630 PUSH R0 ; ....AND PREVIOUS POINTER
024630 010046 MOV R0,-(SP)
12869 024632 010100 MOV R1,R0 ; .....CURRENT POINTER TO R0
12870 024634 CALL .GTTRM ; .....GET THE NEXT TERM
024634 004737 024654' JSR PC,.GTTRM
12871 024640 010001 MOV R0,R1 ; .....CURRENT POINTER TO R1
12872 024642 POP R0 ; .....RESTORE PREVIOUS POINTER
024642 012600 MOV (SP)+,R0
12873 024644 CALL @(SP)+ ; ....DO THE ADDITION OR SUBTRACTION
024644 004736 JSR PC,@(SP)+
12874 024646 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
12875 024652 000744 BR 10$ ; AND SEE IF THERE IS MORE
12876 ;
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 368
.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
12878 .SBTTL .GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
12879
12880 ;+
12881 ; .GTTRM -- TERM EVALUATOR FOR ".GTNUM"
12882 ;
12883 ; THIS ROUTINE EVALUATES NUMERIC TERMS FOR ".GTNUM".
12884 ;
12885 ; DEFINITION OF A TERM:
12886 ;
12887 ; TERM=FACTOR*FACTOR!FACTOR/FACTOR!FACTOR*FACTOR*....!FACTOR/FACTOR/....!FACTOR
12888 ;
12889 ; INPUT ARGUMENTS:
12890 ;
12891 ; R0 POINTS TO A THREE WORD BUFFER
12892 ;
12893 ; OUTPUT ARGUMENTS:
12894 ;
12895 ; R0 POINTS TO THE EVALUATED TERM
12896 ;
12897 ; ERROR CODES RETURNED:
12898 ;
12899 ; NONE.
12900 ;-
12901
12902 024654 .GTTRM::
12903 024654 CALL .GTFCT ; GET THE NEXT FACTOR
024654 004737 024766' JSR PC,.GTFCT
12904 024660 001411 BEQ 20$ ; EXIT IF NULL ARGUMENT
12905 024662 10$:
12906 024662 122715 000137 CMPB #'_,(R5) ; DID HE SAY SHIFT?
12907 024666 001407 BEQ 30$ ; YES -- GO DO THE SHIFT
12908 024670 122715 000052 CMPB #'*,(R5) ; NO -- DID HE SAY MULTIPLY?
12909 024674 001412 BEQ 50$ ; YES -- GO DO THE MULTIPLICATION
12910 024676 122715 000057 CMPB #'/,(R5) ; NO -- DID HE SAY DIVIDE?
12911 024702 001404 BEQ 40$ ; YES -- GO DO THE DIVISION
12912 024704 20$:
12913 024704 RETURN ; NO -- JUST RETURN
024704 000207 RTS PC
12914
12915 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 369
.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
12917 ; [CONTINUED FROM THE PREVIOUS PAGE]
12918
12919 024706 30$:
12920 024706 012702 023236' MOV #.TPSHL,R2 ; DISPATCH TO R2
12921 024712 000405 BR 60$ ; TO COMMON CODE
12922 ;
12923 024714 40$:
12924 024714 012702 022360' MOV #.TPDIV,R2 ; DISPATCH TO R2
12925 024720 000402 BR 60$ ; TO COMMON ROUTINE
12926 ;
12927 024722 50$:
12928 024722 012702 023006' MOV #.TPMUL,R2 ; DISPATCH TO R2
12929 024726 60$:
12930 024726 112504 MOVB (R5)+,R4 ; GET OVER THE OPERATOR CHARACTER
12931 024730 005046 CLR -(SP) ; CREATE A SCRATCH BUFFER ON THE STACK
12932 024732 005046 CLR -(SP) ; .
12933 024734 005046 CLR -(SP) ; ..
12934 024736 010601 MOV SP,R1 ; ...SCRATCH POINTER TO R1
12935 024740 PUSH R2 ; ...SAVE THE DISPATCH POINTER
024740 010246 MOV R2,-(SP)
12936 024742 PUSH R0 ; ....SAVE PREVIOUS NUMBER POINTER
024742 010046 MOV R0,-(SP)
12937 024744 010100 MOV R1,R0 ; .....CURRENT POINTER TO R0
12938 024746 CALL .GTFCT ; .....GET THE NEXT FACTOR
024746 004737 024766' JSR PC,.GTFCT
12939 024752 010001 MOV R0,R1 ; .....POINTER TO R1
12940 024754 POP R0 ; .....PREVIOUS POINTER TO R0
024754 012600 MOV (SP)+,R0
12941 024756 CALL @(SP)+ ; ....DO DIVISION OR MULTIPLICATION
024756 004736 JSR PC,@(SP)+
12942 024760 062706 000006 ADD #^D6,SP ; ...CLEAR THE STACK
12943 024764 000736 BR 10$ ; AND SEE IF THERE IS MORE
12944 ;
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 370
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
12946 .SBTTL .GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
12947
12948 ;+
12949 ; .GTFCT -- FACTOR EVALUATOR FOR ".GTNUM"
12950 ;
12951 ; THIS ROUTINE EVALUATES NUMERIC FACTORS FOR ".GTNUM".
12952 ;
12953 ; DEFINITION OF AN FACTOR:
12954 ;
12955 ; FACTOR=(EXP)!+FACTOR!-FACTOR!NUMBER
12956 ;
12957 ; INPUT ARGUMENTS:
12958 ;
12959 ; R0 POINTS TO A THREE WORD BUFFER
12960 ;
12961 ; OUTPUT ARGUMENTS:
12962 ;
12963 ; R0 POINTS TO THE EVALUATED FACTOR
12964 ;
12965 ; ERROR CODES RETURNED:
12966 ;
12967 ; NONE.
12968 ;-
12969
12970 .ENABL LSB
12971
12972 024766 .GTFCT::
12973 024766 122715 000136 CMPB #'^,(R5) ; SPECIAL RADIX?
12974 024772 001435 BEQ 30$ ; YES -- GO HANDLE IT
12975 024774 122715 000050 CMPB #'(,(R5) ; NO -- DOES THE FIRST CHARACTER OPEN EXPRESSION?
12976 025000 001517 BEQ 65$ ; YES -- GO HANDLE IT
12977 025002 122715 000053 CMPB #'+,(R5) ; NO -- IS IT A <PLUS>?
12978 025006 001503 BEQ 60$ ; YES -- GO HANDLE <PLUS>
12979 025010 122715 000055 CMPB #'-,(R5) ; NO -- IS IT A <MINUS>?
12980 025014 001500 BEQ 60$ ; YES -- GO HANDLE <MINUS>
12981 025016 CALL .GTNBR ; NO -- GO GET A NUMBER
025016 004737 025262' JSR PC,.GTNBR
12982 025022 10$:
12983 025022 122715 000047 CMPB #'',(R5) ; RELOCATE?
12984 025026 001404 BEQ 20$ ; YES -- DO IT
12985 025030 122715 000042 CMPB #'",(R5) ; NO -- UNRELOCATE?
12986 025034 001401 BEQ 20$ ; YES -- DO IT
12987 025036 15$:
12988 025036 RETURN ; TO CALLER
025036 000207 RTS PC
12989
12990 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 371
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
12992 ; [CONTINUED FROM THE PREVIOUS PAGE]
12993
12994 025040 20$:
12995 025040 PUSH R1 ; SAVE R1
025040 010146 MOV R1,-(SP)
12996 025042 013701 000122' MOV .RELWD,R1 ; .RELOCATION TO R1
12997 025046 122715 000042 CMPB #'",(R5) ; .UNRELOCATE?
12998 025052 001001 BNE 25$ ; .NO -- GO ON
12999 025054 005401 NEG R1 ; .YES -- NEGATE IT
13000 025056 25$:
13001 025056 060110 ADD R1,(R0) ; .COMPUTE THE FACTOR
13002 025060 105725 TSTB (R5)+ ; .GET OVER THE SYMBOL
13003 025062 POP R1 ; .RESTORE R1
025062 012601 MOV (SP)+,R1
13004 025064 000764 BR 15$ ; AND EXIT
13005 ;
13006 025066 30$:
13007 025066 105725 TSTB (R5)+ ; GET OVER THE UP-ARROW
13008 025070 112546 MOVB (R5)+,-(SP) ; SAVE THE NEXT CHARACTER
13009 025072 CALL .CKARG ; .LOOK FOR A TRAILING ARGUMENT
025072 004737 000140' JSR PC,.CKARG
13010 025076 001417 BEQ GTFILC ; .ERROR IF CC-Z IS SET
13011 025100 POP R4 ; .RESTORE THE CHARACTER
025100 012604 MOV (SP)+,R4
13012 025102 122704 000103 CMPB #'C,R4 ; .COMPLEMENT?
13013 025106 001436 BEQ 55$ ; .YES -- PROCESS COMPLEMENT
13014 025110 PUSH .IRADX ; .NO -- SAVE THE CURRENT RADIX
025110 013746 000066' MOV .IRADX,-(SP)
13015 025114 122704 000104 CMPB #'D,R4 ; .DECIMAL?
13016 025120 001415 BEQ 40$ ; .YES -- PROCESS DECIMAL
13017 025122 122704 000102 CMPB #'B,R4 ; .NO -- BINARY?
13018 025126 001406 BEQ 35$ ; .YES -- PROCESS BINARY
13019 025130 122704 000117 CMPB #'O,R4 ; .NO -- OCTAL?
13020 025134 001413 BEQ 45$ ; .YES -- PROCESS OCTAL
13021 025136 GTFILC:
13022 025136 ERROR$ ILC ; .NO -- GIVE "ILC" ERROR
025136 012746 035043 MOV #^RILC,-(SP)
025142 104400 TRAP TC.ERR
13023 ;
13024
13025 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 372
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
13027 ; [CONTINUED FROM THE PREVIOUS PAGE]
13028
13029 025144 35$:
13030 025144 012737 000002 000066' MOV #^D2,.IRADX ; .SET THE RADIX TO BINARY
13031 025152 000407 BR 50$ ; .TO COMMON CODE
13032 ;
13033 025154 40$:
13034 025154 012737 000012 000066' MOV #^D10,.IRADX ; .SET THE RADIX TO DECIMAL
13035 025162 000403 BR 50$ ; .TO COMMON CODE
13036 ;
13037 025164 45$:
13038 025164 012737 000010 000066' MOV #^D8,.IRADX ; .SET THE RADIX TO OCTAL
13039 025172 50$:
13040 025172 CALL .GTFCT ; .GET THE FACTOR
025172 004737 024766' JSR PC,.GTFCT
13041 025176 POP .IRADX ; .RESTORE THE ORIGINAL RADIX
025176 012637 000066' MOV (SP)+,.IRADX
13042 025202 000707 BR 10$ ; AND EXIT
13043 ;
13044 025204 55$:
13045 025204 CALL .GTFCT ; GET THE FACTOR
025204 004737 024766' JSR PC,.GTFCT
13046 025210 CALL .TPCOM ; AND INVERT IT
025210 004737 022602' JSR PC,.TPCOM
13047 025214 000702 BR 10$ ; EXIT
13048 ;
13049 025216 60$:
13050 025216 112546 MOVB (R5)+,-(SP) ; SAVE THE NEXT CHARACTER
13051 025220 CALL .GTFCT ; .GO LOOK FOR MORE
025220 004737 024766' JSR PC,.GTFCT
13052 025224 122726 000055 CMPB #'-,(SP)+ ; .WAS THE PREFIX A <MINUS>?
13053 025230 001274 BNE 10$ ; NO -- JUST EXIT
13054 025232 CALL .TPNEG ; YES -- NEGATE IT
025232 004737 022612' JSR PC,.TPNEG
13055 025236 000671 BR 10$ ; AND EXIT
13056 ;
13057 025240 65$:
13058 025240 112504 MOVB (R5)+,R4 ; GET OVER THE PAREN
13059 025242 CALL .GTEXP ; READ THIS EXPRESSION
025242 004737 024560' JSR PC,.GTEXP
13060 025246 122725 000051 CMPB #'),(R5)+ ; DID WE END IT PROPERLY?
13061 025252 001663 BEQ 10$ ; YES -- JUST EXIT
13062 025254 ERROR$ RPM ; NO -- ERROR -- RIGHT PARENTHESES MISSING
025254 012746 071415 MOV #^RRPM,-(SP)
025260 104400 TRAP TC.ERR
13063 ;
13064
13065 .DSABL LSB
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 373
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
13067 .SBTTL .GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
13068
13069 ;+
13070 ; .GTNBR -- NUMBER EVALUATOR FOR ".GTNUM"
13071 ;
13072 ; THIS ROUTINE EVALUATES NUMBERS FOR ".GTNUM".
13073 ;
13074 ; INPUT ARGUMENTS:
13075 ;
13076 ; R0 POINTS TO A THREE WORD BUFFER
13077 ;
13078 ; OUTPUT ARGUMENTS:
13079 ;
13080 ; R0 POINTS TO THE EVALUATED NUMBER
13081 ;
13082 ; ERROR CODES RETURNED:
13083 ;
13084 ; NONE.
13085 ;-
13086
13087 025262 .GTNBR::
13088 025262 005037 000064' CLR .INCHC ; CLEAR THE CHARACTER COUNT
13089 025266 PUSH R1 ; SAVE R1
025266 010146 MOV R1,-(SP)
13090 025270 005046 CLR -(SP) ; .SET UP THE INPUT RADIX
13091 025272 005046 CLR -(SP) ; ..
13092 025274 PUSH .IRADX ; ...SO
025274 013746 000066' MOV .IRADX,-(SP)
13093 025300 010601 MOV SP,R1 ; ....POINT TO THE INPUT RADIX
13094 025302 10$:
13095 025302 112504 MOVB (R5)+,R4 ; ....GET THE CHARACTER INTO R4
13096 025304 132764 000002 001360' BITB #CH.NUM,.CHTAB(R4)
13097 025312 001422 BEQ 20$ ; ....EXIT IF NON-NUMERIC
13098 025314 005237 000064' INC .INCHC ; ....INCREMENT THE CHARACTER COUNT
13099 025320 142704 177760 BICB #^C17,R4 ; ....FLUSH ASCII
13100 025324 120411 CMPB R4,(R1) ; ....DID WE EXCEED THE INPUT RADIX?
13101 025326 002027 BGE GTNNOR ; ....YES -- GIVE "NOR" ERROR
13102 025330 CALL .TPMUL ; ....NO -- MAKE ROOM FOR THIS DIGIT
025330 004737 023006' JSR PC,.TPMUL
13103 025334 PUSH (R1) ; ....SAVE THE RADIX
025334 011146 MOV (R1),-(SP)
13104 025336 010411 MOV R4,(R1) ; .....SET UP TO ADD THIS DIGIT
13105 025340 CALL .TPADD ; .....TO THE CUMULATIVE RESULT
025340 004737 022716' JSR PC,.TPADD
13106 025344 032760 177760 000004 BIT #^C17,4(R0) ; .....HAVE WE OVERFLOWED THE NUMBER?
13107 025352 001015 BNE GTNNOR ; .....YES -- GIVE "NOR" ERROR
13108 025354 POP (R1) ; .....NO -- RESTORE THE RADIX
025354 012611 MOV (SP)+,(R1)
13109 025356 000751 BR 10$ ; ....AND CONTINUE
13110 ;
13111
13112 ; [CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND MACRO M1110 03-OCT-79 11:35 PAGE 374
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
13114 ; [CONTINUED FROM THE PREVIOUS PAGE]
13115
13116 025360 20$:
13117 025360 062706 000006 ADD #^D6,SP ; ....FLUSH THE STACK
13118 025364 POP R1 ; .RESTORE R1
025364 012601 MOV (SP)+,R1
13119 025366 105745 TSTB -(R5) ; BACK THE INPUT POINTER UP
13120 025370 005737 000064' TST .INCHC ; LOOK AT THE CHARACTER COUNT
13121 025374 001401 BEQ GTNMRA ; GIVE "MRA" ERROR IF NONE THERE
13122 025376 RETURN ; TO CALLER
025376 000207 RTS PC
13123 025400 GTNMRA:
13124 025400 ERROR$ MRA ; ERROR -- MISSING REQUIRED ARGUMENT
025400 012746 052021 MOV #^RMRA,-(SP)
025404 104400 TRAP TC.ERR
13125 ;
13126 025406 GTNNOR:
13127 025406 ERROR$ NOR ; ERROR -- NUMBER OUT OF RANGE
025406 012746 054752 MOV #^RNOR,-(SP)
025412 104400 TRAP TC.ERR
13128 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 375
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
13130 .TITLE TYOUT -- GENERAL TERMINAL OUTPUT MODULE 7603.30
13131
13132 .IDENT "005000"
13133
13134 ;
13135 ; COPYRIGHT (C) 1975, 1979 BY
13136 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
13137 ;
13138 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
13139 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
13140 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
13141 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
13142 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
13143 ;
13144 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
13145 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
13146 ; CORPORATION.
13147 ;
13148 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
13149 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
13150 ;
13151 ; MODULE: GENERAL TERMINAL OUTPUT
13152 ;
13153 ; VERSION: 05-00
13154 ;
13155 ; AUTHOR: R. BELANGER
13156 ;
13157 ; DATE: 7603.30
13158 ;
13159 ; THIS MODULE CONTAINS:
13160 ;
13161 ; 1) GENERAL TERMINAL OUTPUT CODE
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 376
.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
13163 .SBTTL .TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
13164
13165 ;+
13166 ; .TYAST -- SUBROUTINE TO TYPE AN <ASTERISK> ON THE CONSOLE OUTPUT DEVICE.
13167 ; .TYCOL -- SUBROUTINE TO TYPE A <COLON> ON THE CONSOLE OUTPUT DEVICE.
13168 ; .TYCOM -- SUBROUTINE TO TYPE A <COMMA> ON THE CONSOLE OUTPUT DEVICE.
13169 ; .TYMIN -- SUBROUTINE TO TYPE A <MINUS> ON THE CONSOLE OUTPUT DEVICE.
13170 ; .TYSLS -- SUBROUTINE TO TYPE A <SLASH> ON THE CONSOLE OUTPUT DEVICE.
13171 ; .TYSPC -- SUBROUTINE TO TYPE A <SPACE> ON THE CONSOLE OUTPUT DEVICE.
13172 ; .TYUPA -- SUBROUTINE TO TYPE AN <UP-ARROW> ON THE CONSOLE OUTPUT DEVICE.
13173 ;
13174 ; THESE SUBROUTINES TYPE THE INDICATED CHARACTER(S) ON THE CONSOLE
13175 ; OUTPUT DEVICE.
13176 ;
13177 ; INPUT ARGUMENTS:
13178 ;
13179 ; NONE.
13180 ;
13181 ; OUTPUT ARGUMENTS:
13182 ;
13183 ; NONE.
13184 ;
13185 ; ERROR CODES RETURNED:
13186 ;
13187 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
13188 ;-
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 377
.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
13190 .ENABL LSB
13191
13192 025414 .TYCOL::
13193 025414 PUSH R0 ; SAVE R0
025414 010046 MOV R0,-(SP)
13194 025416 012700 000072 MOV #':,R0 ; .<COLON> TO R0
13195 025422 000423 BR 10$ ; .DO OUTPUT
13196 ;
13197 025424 .TYCOM::
13198 025424 PUSH R0 ; SAVE R0
025424 010046 MOV R0,-(SP)
13199 025426 012700 000054 MOV #',,R0 ; .<COMMA> TO R0
13200 025432 000417 BR 10$ ; .OUTPUT IT
13201 ;
13202 025434 .TYMIN::
13203 025434 PUSH R0 ; SAVE R0
025434 010046 MOV R0,-(SP)
13204 025436 012700 000055 MOV #'-,R0 ; <HYPHEN> TO R0
13205 025442 000413 BR 10$ ; .DO OUTPUT
13206 ;
13207 025444 .TYSLS::
13208 025444 PUSH R0 ; SAVE R0
025444 010046 MOV R0,-(SP)
13209 025446 012700 000057 MOV #'/,R0 ; .<SLASH> TO R0
13210 025452 000407 BR 10$ ; .OUTPUT IT
13211 ;
13212 025454 .TYSPC::
13213 025454 PUSH R0 ; SAVE R0
025454 010046 MOV R0,-(SP)
13214 025456 012700 000040 MOV #.SPACE,R0 ; .<SPACE> TO R0
13215 025462 000403 BR 10$ ; .OUTPUT IT
13216 ;
13217 025464 .TYUPA::
13218 025464 PUSH R0 ; SAVE R0
025464 010046 MOV R0,-(SP)
13219 025466 012700 000136 MOV #'^,R0 ; .<UP-ARROW> TO R0
13220 025472 10$:
13221 025472 CALL .TYCHR ; .OUTPUT IT
025472 004737 026240' JSR PC,.TYCHR
13222 025476 POP R0 ; .RESTORE R0
025476 012600 MOV (SP)+,R0
13223 025500 RETURN ; TO CALLER
025500 000207 RTS PC
13224
13225 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 378
.TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
13227 .SBTTL .TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
13228
13229 ;+
13230 ; .TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS
13231 ; .TYELN -- SUBROUTINE TO TYPE A PDP-11 NUMBER
13232 ;
13233 ; THIS SUBROUTINE WILL TYPE AND FORMAT A PDP-11 NUMBER ACCORDING TO THE
13234 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
13235 ;
13236 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
13237 ; (B) OCTAL: 6 DIGITS -- XXXXXX
13238 ; (C) DECIMAL: NO FORMATTING
13239 ;
13240 ; INPUT ARGUMENTS:
13241 ;
13242 ; R0 HOLDS THE NUMBER TO BE PRINTED
13243 ;
13244 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
13245 ;
13246 ; R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
13247 ; R3 POINTS TO A FORMAT TABLE
13248 ;
13249 ; ERROR CODES RETURNED:
13250 ;
13251 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
13252 ;-
13253 .ENABL LSB
13254
13255
13256 025502 .TYELA::
13257 025502 005037 000100' CLR .LDZFL ; NO LEADING ZEROES
13258 025506 .TYELN::
13259 025506 PUSH <R3,R2,R1,R0> ; SAVE CALLER'S REGISTERS
025506 010346 MOV R3,-(SP)
025510 010246 MOV R2,-(SP)
025512 010146 MOV R1,-(SP)
025514 010046 MOV R0,-(SP)
13260 025516 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
13261 025520 022737 000002 000106' CMP #^D2,.ORADX ; ....BINARY?
13262 025526 001002 BNE 10$ ; ....NO
13263 025530 012703 005120' MOV #ELNBIN,R3 ; ....BINARY FORMAT TABLE TO R3
13264 025534 10$:
13265 025534 022737 000012 000106' CMP #^D10,.ORADX ; ....DECIMAL?
13266 025542 001424 BEQ 30$ ; ....YES
13267 025544 012703 005136' MOV #ELNOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
13268 025550 000421 BR 30$ ; ....SET UP POINTERS AND EXIT
13269 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 379
.TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
13271 .SBTTL .TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
13272
13273 ;+
13274 ; .TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER
13275 ;
13276 ; THIS SUBROUTINE WILL TYPE AND FORMAT A PDP-11 NUMBER ACCORDING TO THE
13277 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
13278 ;
13279 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
13280 ; (B) OCTAL: 3 DIGITS -- XXX
13281 ; (C) DECIMAL: NO FORMATTING
13282 ;
13283 ; INPUT ARGUMENTS:
13284 ;
13285 ; R0 HOLDS THE NUMBER TO BE PRINTED
13286 ;
13287 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
13288 ;
13289 ; R0 POINTS TO THE BYTE TO BE PRINTED (ON THE STACK)
13290 ; R3 POINTS TO A FORMAT TABLE
13291 ;
13292 ; ERROR CODES RETURNED:
13293 ;
13294 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
13295 ;-
13296
13297 025552 .TYP3D::
13298 025552 PUSH <R3,R2,R1,R0> ; SAVE CALLER'S REGISTERS
025552 010346 MOV R3,-(SP)
025554 010246 MOV R2,-(SP)
025556 010146 MOV R1,-(SP)
025560 010046 MOV R0,-(SP)
13299 025562 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
13300 025564 022737 000002 000106' CMP #^D2,.ORADX ; ....BINARY?
13301 025572 001002 BNE 20$ ; ....NO
13302 025574 012703 005126' MOV #ELBBIN,R3 ; ....BINARY FORMAT TABLE TO R3
13303 025600 20$:
13304 025600 022737 000012 000106' CMP #^D10,.ORADX ; ....DECIMAL?
13305 025606 001402 BEQ 30$ ; ....YES
13306 025610 012703 005132' MOV #ELBOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
13307 025614 30$:
13308 025614 005046 CLR -(SP) ; ....SET UP BUFFERS ON THE STACK
13309 025616 005046 CLR -(SP) ; .....
13310 025620 PUSH R0 ; ......NUMBER TO BE TYPED
025620 010046 MOV R0,-(SP)
13311 025622 010600 MOV SP,R0 ; .......POINT TO IT
13312 025624 000455 BR .TYNCM ; .......AND GO TO COMMON ROUTINE
13313 ;
13314
13315 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 380
.TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
13317 .SBTTL .TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
13318
13319 ;+
13320 ; .TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS
13321 ;
13322 ; THIS SUBROUTINE WILL TYPE AND FORMAT A KL ADDRESS ACCORDING TO THE
13323 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
13324 ;
13325 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
13326 ; (B) OCTAL: HALFWORD FORMAT -- XX<SP>XXXXXX
13327 ; (C) DECIMAL: NO FORMATTING
13328 ;
13329 ; INPUT ARGUMENTS:
13330 ;
13331 ; R0 POINTS TO THE KL ADDRESS TO BE PRINTED
13332 ;
13333 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
13334 ;
13335 ; R0 POINTS TO THE ADDRESS TO BE PRINTED (ON THE STACK)
13336 ; R3 POINTS TO A FORMAT TABLE
13337 ;
13338 ; ERROR CODES RETURNED:
13339 ;
13340 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
13341 ;-
13342
13343 .ENABL LSB
13344
13345 025626 .TYKLA::
13346 025626 005037 000100' CLR .LDZFL ; NO LEADING ZEROES
13347 025632 PUSH <R3,R2,R1,R0> ; SAVE CALLER'S REGISTERS
025632 010346 MOV R3,-(SP)
025634 010246 MOV R2,-(SP)
025636 010146 MOV R1,-(SP)
025640 010046 MOV R0,-(SP)
13348 025642 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
13349 025644 022737 000002 000106' CMP #^D2,.ORADX ; ....BINARY?
13350 025652 001002 BNE 10$ ; ....NO
13351 025654 012703 005114' MOV #KLABIN,R3 ; ....BINARY FORMAT TABLE TO R3
13352 025660 10$:
13353 025660 022737 000012 000106' CMP #^D10,.ORADX ; ....DECIMAL?
13354 025666 001424 BEQ 30$ ; ....YES
13355 025670 012703 005140' MOV #KLAOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
13356 025674 000421 BR 30$ ; ....GO DO COMMON CODE
13357 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 381
.TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
13359 .SBTTL .TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
13360
13361 ;+
13362 ; .TYKLN -- SUBROUTINE TO TYPE A KL NUMBER
13363 ;
13364 ; THIS SUBROUTINE WILL TYPE AND FORMAT A KL NUMBER ACCORDING TO THE
13365 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
13366 ;
13367 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
13368 ; (B) OCTAL: 6 DIGITS AND A SPACE -- XXXXXX<SP>XXXXXX
13369 ; (C) DECIMAL: NO FORMATTING
13370 ;
13371 ; INPUT ARGUMENTS:
13372 ;
13373 ; R0 POINTS TO THE NUMBER TO BE PRINTED
13374 ;
13375 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
13376 ;
13377 ; R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
13378 ; R3 POINTS TO A FORMAT TABLE
13379 ;
13380 ; ERROR CODES RETURNED:
13381 ;
13382 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
13383 ;-
13384
13385 025676 .TYKLN::
13386 025676 PUSH <R3,R2,R1,R0> ; SAVE CALLER'S REGISTERS
025676 010346 MOV R3,-(SP)
025700 010246 MOV R2,-(SP)
025702 010146 MOV R1,-(SP)
025704 010046 MOV R0,-(SP)
13387 025706 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
13388 025710 022737 000002 000106' CMP #^D2,.ORADX ; ....BINARY?
13389 025716 001002 BNE 20$ ; ....NO
13390 025720 012703 005104' MOV #KLNBIN,R3 ; ....BINARY FORMAT TABLE TO R3
13391 025724 20$:
13392 025724 022737 000012 000106' CMP #^D10,.ORADX ; ....DECIMAL?
13393 025732 001402 BEQ 30$ ; ....YES
13394 025734 012703 005134' MOV #KLNOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
13395 025740 30$:
13396 025740 062700 000006 ADD #^D6,R0 ; ....POINT TO THE END OF THE NUMBER
13397 025744 PUSH -(R0) ; ....SET IT ON THE STACK
025744 014046 MOV -(R0),-(SP)
13398 025746 042710 177760 BIC #^C17,(R0) ; .....TRUNCATE TO 36 BITS
13399 025752 PUSH <-(R0),-(R0)> ; .....PUT THE REST ON THE STACK
025752 014046 MOV -(R0),-(SP)
025754 014046 MOV -(R0),-(SP)
13400 025756 010600 MOV SP,R0 ; .......POINT TO THE STACKED NUMBER
13401 ; BR .TYNCM ; .......AND GO TO COMMON ROUTINE
13402 ;
13403
13404 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 382
.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
13406 .SBTTL .TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
13407
13408 ;+
13409 ; .TYNCM -- COMMON ENTRY POINT FOR ".TYNUM".
13410 ;
13411 ; THIS SUBROUTINE SETS UP THE REMAINDER OF THE ARGUMENTS REQUIRED
13412 ; BY ".TYNUM" FROM ".TYELN" AND ".TYKLN".
13413 ;
13414 ; INPUT ARGUMENTS:
13415 ;
13416 ; R1, R2, AND R3 ARE ON THE STACK
13417 ; R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
13418 ; R3 POINTS TO A FORMAT TABLE
13419 ;
13420 ; OUTPUT ARGUMENTS:
13421 ;
13422 ; R0 POINTS TO THE ORIGINAL NUMBER
13423 ;
13424 ; ERROR CODES RETURNED:
13425 ;
13426 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
13427 ;-
13428
13429 025760 .TYNCM::
13430 025760 005046 CLR -(SP) ; .......SPACE FOR DIVISOR
13431 025762 005046 CLR -(SP) ; ........
13432 025764 005046 CLR -(SP) ; .........
13433 025766 010601 MOV SP,R1 ; ..........POINT TO IT
13434 025770 005002 CLR R2 ; ..........CLEAR R2
13435 025772 005737 000100' TST .LDZFL ; ..........ARE WE PRINTING LEADING ZEROS/
13436 025776 001006 BNE 10$ ; ..........YES -- GO ON
13437 026000 CALL .TPTST ; ..........NO -- IS THIS NUMBER .EQ. 0?
026000 004737 022674' JSR PC,.TPTST
13438 026004 001003 BNE 10$ ; ..........NO -- JUST PRINT IT
13439 026006 005003 CLR R3 ; ..........YES -- CALL IT UNFORMATTED
13440 026010 005337 000100' DEC .LDZFL ; ..........AND SAY WE PRINT ZEROES
13441 026014 10$:
13442 026014 CALL .TYNUM ; ..........FORMAT AND PRINT THE NUMBER
026014 004737 026036' JSR PC,.TYNUM
13443 026020 062706 000014 ADD #^D12,SP ; ..........FLUSH THE STACK
13444 026024 POP <R0,R1,R2,R3> ; ....RESTORE THE REGISTERS
026024 012600 MOV (SP)+,R0
026026 012601 MOV (SP)+,R1
026030 012602 MOV (SP)+,R2
026032 012603 MOV (SP)+,R3
13445 026034 RETURN ; TO CALLER
026034 000207 RTS PC
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 383
.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
13447 ; THESE ARE THE FORMAT TABLES
13448
13449 005104 .PSECT DATA
13450
13451 005104 KLNBIN:: ; KL BINARY TABLE
13452 005104 003 040 .BYTE 3,.SPACE ; 3 DIGITS AND A SPACE
13453 005106 003 040 .BYTE 3,.SPACE
13454 005110 003 040 .BYTE 3,.SPACE
13455 005112 003 040 .BYTE 3,.SPACE
13456 005114 KLABIN:: ; KL ADDRESS BINARY
13457 005114 003 040 .BYTE 3,.SPACE
13458 005116 003 040 .BYTE 3,.SPACE
13459 005120 ELNBIN:: ; ELEVEN BINARY TABLE
13460 005120 003 040 .BYTE 3,.SPACE
13461 005122 003 040 .BYTE 3,.SPACE
13462 005124 003 040 .BYTE 3,.SPACE
13463 005126 ELBBIN:: ; PDP-11 BYTE BINARY TABLE
13464 005126 003 040 .BYTE 3,.SPACE
13465 005130 003 040 .BYTE 3,.SPACE
13466 005132 ELBOCT:: ; PDP-11 BYTE OCTAL TABLE
13467 005132 003 000 .BYTE 3,0 ; END OF TABLE
13468
13469 005134 KLNOCT:: ; KL OCTAL TABLE
13470 005134 006 040 .BYTE 6,.SPACE ; 6 DIGITS AND A SPACE
13471 005136 ELNOCT:: ; PDP-11 OCTAL TABLE
13472 005136 006 000 .BYTE 6,0 ; END OF TABLE
13473 005140 KLAOCT:: ; KL ADDRESS OCTAL
13474 005140 006 040 .BYTE 6,.SPACE
13475 005142 002 000 .BYTE 2,0
13476 .EVEN
13477 026036 .PSECT
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 384
.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.2
13479 .SBTTL .TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.23
13480
13481 ;+
13482 ; .TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER ON THE
13483 ; CONSOLE OUTPUT DEVICE.
13484 ;
13485 ; THIS SUBROUTINE WILL TYPE A FORMATTED NUMBER IN THE RADIX SPECIFIED
13486 ; IN ".ORADX" ON THE CONSOLE OUTPUT DEVICE.
13487 ;
13488 ; INPUT ARGUMENTS:
13489 ;
13490 ; R0 POINTS TO THE 36 BIT NUMBER TO BE TYPED
13491 ; R1 POINTS TO A TRIPLET TO BE USED AS A DIVISOR / REMAINDER BUFFER
13492 ; R2 IS CLEAR
13493 ; R3 POINTS TO A FORMAT CONTROL TABLE
13494 ;
13495 ; OUTPUT ARGUMENTS:
13496 ;
13497 ; R0, R1, R2, AND R3 ARE CLOBBERED
13498 ; THE NUMBER POINTED TO BY R0 IS CLOBBERED
13499 ; THE FORMATTED NUMBER IS PLACED IN THE OUTPUT BUFFER
13500 ;
13501 ; ERROR CODES RETURNED:
13502 ;
13503 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
13504 ;-
13505
13506 026036 .TYNUM::
13507 026036 005703 TST R3 ; CHECK THE FORMAT POINTER
13508 026040 001422 BEQ 50$ ; UNFORMATTED IF .EQ. 0
13509 026042 112302 MOVB (R3)+,R2 ; ITERATION COUNT TO R2
13510 026044 001410 BEQ 40$ ; JUST A FORMAT CHARACTER IF .EQ. 0
13511 026046 10$:
13512 026046 000417 BR 50$ ; CONVERT ONE DIGIT
13513 ;
13514 026050 20$:
13515 026050 005702 TST R2 ; TEST ITERATION COUNT
13516 026052 001004 BNE 30$ ; FORMATTED NUMBER -- DO ITERATION COUNT
13517 026054 CALL .TPTST ; HAS THE QUOTIENT GONE TO ZERO?
026054 004737 022674' JSR PC,.TPTST
13518 026060 001441 BEQ 80$ ; YES -- PRINT THE NUMBER
13519 026062 000411 BR 50$ ; NO -- KEEP GOING UNTIL IT DOES
13520 ;
13521 026064 30$:
13522 026064 077210 SOB R2,10$ ; LOOP THRU THIS SET OF ITERATIONS
13523
13524 ; [CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 385
.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.2
13526 ; [CONTINUED FROM THE PREVIOUS PAGE]
13527
13528 026066 40$:
13529 026066 112302 MOVB (R3)+,R2 ; FORMAT CONTROL CHARACTER TO R2
13530 026070 001435 BEQ 80$ ; DONE IF .EQ. 0
13531 026072 162702 000060 SUB #60,R2 ; SINCE OUTPUT ROUTINE WILL ADD 60
13532 026076 PUSH R2 ; <PUSH>PUT THE FORMAT CHARACTER IN THE STACK
026076 010246 MOV R2,-(SP)
13533 026100 PUSH #60$ ; <PUSH>FAKE THE PRINT ROUTINE OUT
026100 012746 026136' MOV #60$,-(SP)
13534 026104 000754 BR .TYNUM ; AND DO THE NEXT PART
13535 ;
13536 026106 50$: ; HERE TO CONVERT ONE DIGIT
13537 026106 PUSH R0 ; SAVE R0
026106 010046 MOV R0,-(SP)
13538 026110 010100 MOV R1,R0 ; MOVE R1 TO R0
13539 026112 CALL .TPCLR ; .CLEAR REMAINDER OUT
026112 004737 022572' JSR PC,.TPCLR
13540 026116 POP R0 ; .RESTORE R0
026116 012600 MOV (SP)+,R0
13541 026120 013711 000106' MOV .ORADX,(R1) ; OUTPUT RADIX AS DIVISOR
13542 026124 CALL .TPDIV ; DO THE DIVISION
026124 004737 022360' JSR PC,.TPDIV
13543 026130 PUSH (R1) ; <PUSH> SAVE THE DIGIT
026130 011146 MOV (R1),-(SP)
13544 026132 CALL 20$ ; AND GO GET MORE
026132 004737 026050' JSR PC,20$
13545 ;
13546 026136 60$: ; HERE TO UNSTACK THE NUMBER
13547 026136 POP R0 ; <POP>GET THE NUMBER OFF THE STACK
026136 012600 MOV (SP)+,R0
13548 026140 005737 000100' TST .LDZFL ; PRINT LEADING ZEROES?
13549 026144 001004 BNE 70$ ; YES -- DO IT
13550 026146 005700 TST R0 ; NO -- SEE IF .EQ. 0 OR FORMAT
13551 026150 003405 BLE 80$ ; YES -- DON'T PRINT IT
13552 026152 005337 000100' DEC .LDZFL ; NO -- SET THE FLAG AND PRINT
13553 026156 70$:
13554 026156 062700 000060 ADD #60,R0 ; ASCIIZE IT
13555 026162 000426 BR .TYCHR ; PRINT IT
13556 ;
13557 026164 80$:
13558 026164 RETURN ; FOR NEXT NUMBER OR TO CALLER
026164 000207 RTS PC
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 386
.TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF>
13560 .SBTTL .TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF> 7601.23
13561
13562 ;+
13563 ; .TYLIN -- SUBROUTINE TO OUTPUT AN ".ASCIZ" MESSAGE APPENDED BY A <CRLF>
13564 ; .TYMSG -- SUBROUTINE TO OUTPUT AN ".ASCIZ" MESSAGE TO THE CONSOLE
13565 ; OUTPUT DEVICE.
13566 ;
13567 ; THESE SUBROUTINES WILL OUTPUT AN ".ASCIZ" MESSAGE TO THE CONSOLE
13568 ; OUTPUT DEVICE. ".TYLIN" WILL APPEND A <CRLF> SEQUENCE TO THE
13569 ; MESSAGE (FORCING THE BUFFER TO BE OUTPUT).
13570 ;
13571 ; INPUT ARGUMENTS:
13572 ;
13573 ; R0 POINTS TO THE .ASCIZ MESSAGE
13574 ;
13575 ; OUTPUT ARGUMENTS:
13576 ;
13577 ; NONE.
13578 ;
13579 ; ERROR CODES RETURNED:
13580 ;
13581 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
13582 ;-
13583
13584 .ENABL LSB
13585
13586 026166 .TYLIN::
13587 026166 CALL .TYMSG ; OUTPUT THE MESSAGE
026166 004737 026202' JSR PC,.TYMSG
13588 026172 000437 BR .TCRLF ; OUTPUT A <CRLF> AND EXIT
13589 ;
13590 026174 .TYMSF::
13591 026174 CALL .TYMSG ; PRINT THE MESSAGE
026174 004737 026202' JSR PC,.TYMSG
13592 026200 000413 BR 30$ ; FORCE IT AND EXIT
13593 ;
13594 026202 .TYMSG::
13595 026202 PUSH R1 ; SAVE R1
026202 010146 MOV R1,-(SP)
13596 026204 010001 MOV R0,R1 ; .MESSAGE POINTER TO R1
13597 026206 10$:
13598 026206 112100 MOVB (R1)+,R0 ; .GET THE CHARACTER INTO R0
13599 026210 001403 BEQ 20$ ; .EXIT IF <NULL>
13600 026212 CALL .TYCHR ; .OUTPUT THE CHARACTER
026212 004737 026240' JSR PC,.TYCHR
13601 026216 000773 BR 10$ ; .AND GO GET THE NEXT CHARACTER
13602 ;
13603 026220 20$:
13604 026220 POP R1 ; .RESTORE R1
026220 012601 MOV (SP)+,R1
13605 026222 RETURN ; TO CALLER
026222 000207 RTS PC
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 387
.TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVIC
13607 .SBTTL .TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVICE 7601.23
13608
13609 ;+
13610 ; .TFCHR -- FORCED CHARACTER OUTPUT SUBROUTINE
13611 ;
13612 ; THIS SUBROUTINE WILL FORCE PRINT ONE CHARACTER TO THE CONSOLE
13613 ; OUTPUT DEVICE.
13614 ;
13615 ; INPUT ARGUMENTS:
13616 ;
13617 ; R0 CONTAINS THE CHARACTER TO BE FORCED TO THE OUTPUT DEVICE
13618 ;
13619 ; OUTPUT ARGUMENTS:
13620 ;
13621 ; THE OUTPUT BYTE COUNTERS AND BYTE POINTER ARE UPDATED.
13622 ;
13623 ; ERROR CODES RETURNED:
13624 ;
13625 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
13626 ;-
13627
13628 026224 .TFCHR::
13629 026224 CALL .TYCHR ; LOAD THE CHARACTER INTO THE BUFFER
026224 004737 026240' JSR PC,.TYCHR
13630 026230 30$:
13631 026230 005737 000236' TST .CDOBC ; WAS THE BUFFER DUMPED?
13632 026234 001430 BEQ 40$ ; YES -- JUST EXIT
13633 026236 000430 BR .TYOUT ; NO -- FORCE THE BUFFER OUT
13634 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 388
.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
13636 .SBTTL .TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
13637
13638 ;+
13639 ; .TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE
13640 ; .TCRLF -- OUTPUT A <CRLF>
13641 ;
13642 ; THIS SUBROUTINE WILL LOAD ON ASCII CHARACTER INTO THE CONSOLE
13643 ; DEVICE OUTPUT BUFFER AND WILL DUMP THE BUFFER TO THE CONSOLE
13644 ; OUTPUT DEVICE ON:
13645 ;
13646 ; (A) APPEARANCE OF A <NEW-LINE> CHARACTER IN THE INPUT STREAM
13647 ;
13648 ; (B) OUTPUT BUFFER OVERFLOW
13649 ;
13650 ; INPUT ARGUMENTS:
13651 ;
13652 ; R0 CONTAINS THE CHARACTER TO BE OUTPUT.
13653 ;
13654 ; OUTPUT ARGUMENTS:
13655 ;
13656 ; THE OUTPUT BYTE POINTER AND BYTE COUNTERS ARE UPDATED
13657 ; OR REINITIALIZED IF THE BUFFER WAS DUMPED.
13658 ;
13659 ; ERROR CODES RETURNED:
13660 ;
13661 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
13662 ;-
13663
13664 026240 .TYCHR::
13665 026240 110077 000164' MOVB R0,@.TYOBP ; PUT THE CHARACTER IN THE BUFFER
13666 026244 005237 000164' INC .TYOBP ; POINT TO THE NEXT BYTE
13667 026250 005237 000236' INC .CDOBC ; INCREMENT THE OUTPUT BYTE COUNT
13668 026254 005337 000162' DEC .TYOBC ; DECREMENT THE LINE CONTROL COUNTER
13669 026260 001404 BEQ .TCRLF ; END-OF-LINE -- FORCE OUTPUT
13670 026262 122700 000012 CMPB #12,R0 ; WAS IT A "<NEW-LINE>"?
13671 026266 001013 BNE 40$ ; NO -- JUST EXIT
13672 026270 000413 BR .TYOUT ; YES -- OUTPUT THE LINE AND RETURN
13673 ;
13674
13675 ; [CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 389
.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
13677 ; [CONTINUED FROM THE PREVIOUS PAGE]
13678
13679 026272 .TCRLF:: ; HERE ON OUTPUT BUFFER END
13680 026272 PUSH R0 ; SAVE R0
026272 010046 MOV R0,-(SP)
13681 026274 012700 000015 MOV #15,R0 ; .<CARRIAGE-RETURN>
13682 026300 CALL .TYCHR ; .TO BUFFER
026300 004737 026240' JSR PC,.TYCHR
13683 026304 012700 000012 MOV #12,R0 ; .<NEW-LINE>
13684 026310 CALL .TYCHR ; .TO BUFFER
026310 004737 026240' JSR PC,.TYCHR
13685 026314 POP R0 ; .RESTORE R0
026314 012600 MOV (SP)+,R0
13686 026316 40$:
13687 026316 RETURN ; AND EXIT
026316 000207 RTS PC
13688
13689 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 390
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
13691 .SBTTL .TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
13692
13693 ;+
13694 ; .TYINI -- CONSOLE DEVICE INITIALIZATION
13695 ; .TYOUT -- CONSOLE OUTPUT SUBROUTINE
13696 ;
13697 ; THESE SUBROUTINES WILL OUTPUT THE BUFFER TO THE CONSOLE OUTPUT DEVICE.
13698 ;
13699 ; INPUT ARGUMENTS:
13700 ;
13701 ; NONE.
13702 ;
13703 ; OUTPUT ARGUMENTS:
13704 ;
13705 ; THE OUTPUT BUFFER POINTER AND BYTE COUNTS ARE RESET
13706 ;
13707 ; ERROR CODES RETURNED:
13708 ;
13709 ; IF THE OUTPUT FAILS THE PARSER EXITS.
13710 ;-
13711
13712
13713 .MCALL DIR$, QIOW$
13714
13715 026320 .TYOUT::
13716 026320 DIR$ #.ATCID ; ATTACH THE CONSOLE DEVICE
026320 012746 000242' MOV #.ATCID,-(SP)
026324 104375 EMT 375
13717 026326 103424 BCS TYODIE ; ERROR IF CC-C IS SET
13718 026330 DIR$ #.CDOUT ; OUTPUT THE BUFFER
026330 012746 000220' MOV #.CDOUT,-(SP)
026334 104375 EMT 375
13719 026336 103420 BCS TYODIE ; ERROR IF CC-C IS SET
13720 026340 105737 000012' TSTB .COSTS ; DID WE REALLY SUCCEED?
13721 026344 002415 BLT TYODIE ; NO -- COMPLAIN BITTERLY
13722 026346 DIR$ #.DTCID ; YES -- DETACH CONSOLE
026346 012746 000256' MOV #.DTCID,-(SP)
026352 104375 EMT 375
13723 026354 103411 BCS TYODIE ; ERROR IF CC-C IS SET
13724
13725 ; [CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 391
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
13727 ; [CONTINUED FROM THE PREVIOUS PAGE]
13728
13729 026356 .TYINI:: ; HERE TO INIT OUTPUT POINTERS
13730 026356 005037 000236' CLR .CDOBC ; RESET BUFFER BYTE COUNT
13731 026362 012737 000204 000162' MOV #.COBFL,.TYOBC ; RESET OUTPUT LINE CONTROL
13732 026370 012737 000454' 000164' MOV #.COBFR,.TYOBP ; RESET OUTPUT BYTE POINTER
13733 026376 RETURN ; AND EXIT
026376 000207 RTS PC
13734 026400 TYODIE:
13735 026400 CALLR .EXITP ; EXIT GRACEFULLY
026400 000137 012436' JMP .EXITP
13736 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 392
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
13738 .SBTTL .TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
13739
13740 ;+
13741 ; .TYR50 -- TYPE A .RAD50 SYMBOL
13742 ;
13743 ; THIS ROUTINE WILL CONVERT THE .RAD50 SYMBOL IN R0 TO ASCII
13744 ; AND PRINT IT ON THE CONSOLE DEVICE.
13745 ;
13746 ; INPUT ARGUMENTS:
13747 ;
13748 ; R0 HOLDS THE .RAD50 SYMBOL TO BE PRINTED.
13749 ;
13750 ; OUTPUT ARGUMENTS:
13751 ;
13752 ; NONE.
13753 ;
13754 ; ERROR CODES RETURNED:
13755 ;
13756 ; NONE.
13757 ;-
13758
13759 026404 .TYR50::
13760 026404 PUSH <R1,R2> ; SAVE REGISTERS
026404 010146 MOV R1,-(SP)
026406 010246 MOV R2,-(SP)
13761 026410 012702 001350' MOV #.T50TB,R2 ; ..TABLE OF DIVISORS TO R2
13762 026414 10$:
13763 026414 012201 MOV (R2)+,R1 ; ..CURRENT DIVISOR TO R1
13764 026416 001414 BEQ 30$ ; ..DONE IF .EQ. 0
13765 026420 CALL $DIV ; ..DO THE DIVISION
026420 004737 000000G JSR PC,$DIV
13766 026424 PUSH R1 ; ..SAVE THE REMAINDER
026424 010146 MOV R1,-(SP)
13767 026426 012701 001320' MOV #.R50TB,R1 ; ...CONVERSION TABLE POINTER TO R1
13768 026432 20$:
13769 026432 062100 ADD (R1)+,R0 ; ...CONVERT THIS CHARACTER
13770 026434 020021 CMP R0,(R1)+ ; ...FOUND IT YET?
13771 026436 103775 BLO 20$ ; ...NO -- KEEP TRYING
13772 026440 CALL .TYCHR ; ...YES -- PUT IT IN THE BUFFER
026440 004737 026240' JSR PC,.TYCHR
13773 026444 POP R0 ; ...LAST REMAINDER IS NEW DIVIDEND
026444 012600 MOV (SP)+,R0
13774 026446 000762 BR 10$ ; ..DO THE NEXT CHARACTER
13775 ;
13776 026450 30$:
13777 026450 POP <R2,R1> ; ..RESTORE REGISTERS
026450 012602 MOV (SP)+,R2
026452 012601 MOV (SP)+,R1
13778 026454 RETURN ; TO CALLER
026454 000207 RTS PC
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1110 03-OCT-79 11:35 PAGE 393
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
13780 ; THIS IS THE CONSOLE OUTPUT DPB
13781
13782 000220 .PSECT DPBS
13783
13784 000220 .CDOUT::
13785 000220 QIOW$ IO.WLB,CODLUN,E.FCOD,0,.COSTS,0,<.COBFR,0,VF.INT>
000220 003 011 .BYTE 3,$$$ARG
000222 000000G .WORD IO.WLB
000224 000002 .WORD CODLUN
000226 003 000 .BYTE E.FCOD,0
000230 000012' .WORD .COSTS
000232 000000 .WORD 0
000234 000454' .WORD .COBFR
000236 000000 .WORD 0
000240 000000 .WORD VF.INT
13786
13787 000234' .CDOBP==.CDOUT+Q.IOPL ; CONSOLE OUTPUT BYTE POINTER
13788 000236' .CDOBC==.CDOUT+Q.BYCT ; CONSOLE OUTPUT BYTE COUNT
13789 000240' .CDOFC==.CDOUT+Q.OVFC ; CONSOLE OUTPUT FORMAT CHARACTER
13790
13791 ; ATTACH CONSOLE INPUT DEVICE EXCLUSIVELY TO PARSER TASK
13792
13793 000242 .ATCID::
13794 000242 QIOW$ IO.ATT,CIDLUN,E.FCID,0,0,0
000242 003 006 .BYTE 3,$$$ARG
000244 000000G .WORD IO.ATT
000246 000001 .WORD CIDLUN
000250 002 000 .BYTE E.FCID,0
000252 000000 .WORD 0
000254 000000 .WORD 0
13795
13796 ; DETACH THE CONSOLE INPUT DEVICE FROM THE PARSER TASK
13797
13798 000256 .DTCID::
13799 000256 QIOW$ IO.DET,CIDLUN,E.FCOD,0,0,0
000256 003 006 .BYTE 3,$$$ARG
000260 000000G .WORD IO.DET
000262 000001 .WORD CIDLUN
000264 003 000 .BYTE E.FCOD,0
000266 000000 .WORD 0
000270 000000 .WORD 0
13800
13801 026456 .PSECT
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 394
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
13803 .TITLE ZEROC -- ZERO COMMAND MODULE 7609.15
13804
13805 .IDENT "005000"
13806
13807 ;
13808 ; COPYRIGHT (C) 1975, 1979 BY
13809 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
13810 ;
13811 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
13812 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
13813 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
13814 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
13815 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
13816 ;
13817 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
13818 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
13819 ; CORPORATION.
13820 ;
13821 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
13822 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
13823 ;
13824 ; MODULE: ZERO COMMAND
13825 ;
13826 ; VERSION: 05-00
13827 ;
13828 ; AUTHOR: R. BELANGER
13829 ;
13830 ; DATE: 7609.15
13831 ;
13832 ; THIS MODULE CONTAINS:
13833 ;
13834 ; 1) ZERO COMMAND CODE
13835 ;
13836
13837 .MCALL $DEF, DIR$, PRDP$
13838
13839 026456 $DEF
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 395
.ZEROC -- THE "ZERO" COMMAND 7609.15
13841 .SBTTL .ZEROC -- THE "ZERO" COMMAND 7609.15
13842
13843 ;+
13844 ; .ZEROC -- THE "ZERO" COMMAND.
13845 ;
13846 ; THIS ROUTINE WILL SET UP AND EXECUTE A KL "BLT" INSTRUCTION THAT
13847 ; WILL ZERO THE LOWER 256K OF KL MEMORY. KL AC 0 IS USED AS THE
13848 ; BLT POINTER, AND THUS IS NOT ZEROED.
13849 ;
13850 ; INPUT ARGUMENTS:
13851 ;
13852 ; NONE.
13853 ;
13854 ; OUTPUT ARGUMENTS:
13855 ;
13856 ; NONE
13857 ;
13858 ; ERROR CODES RETURNED:
13859 ;
13860 ; NONE.
13861 ;-
13862
13863 026456 .ZEROC::
13864 026456 CALL .CKRUN ; SEE IF THE KL IS RUNNING
026456 004737 000376' JSR PC,.CKRUN
13865 026462 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
13866 026464 005046 CLR -(SP) ; .
13867 026466 005046 CLR -(SP) ; ..
13868 026470 010600 MOV SP,R0 ; ...POINT TO THE BUFFER
13869 026472 CALL .GTKLA ; ...READ THE FIRST ADDRESS
026472 004737 024330' JSR PC,.GTKLA
13870 026476 010001 MOV R0,R1 ; ...SAVE POINTER TO FIRST ADDRESS
13871 026500 122704 000076 CMPB #'>,R4 ; ...IS LAST CHARACTER A BRACKET?
13872 026504 001403 BEQ 10$ ; ...YES -- GO ON
13873 026506 162706 000006 SUB #^D6,SP ; ...NO -- FUDGE THE STACK POINTER
13874 026512 000407 BR 20$ ; ......AND ASSUME IT IS E-O-C
13875 ;
13876
13877 ; [CONTINUED ON THE FOLLOWING PAGE]
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 396
.ZEROC -- THE "ZERO" COMMAND 7609.15
13879 ; [CONTINUED FROM THE PREVIOUS PAGE]
13880
13881 026514 10$:
13882 026514 105725 TSTB (R5)+ ; ...GET OVER THE SEPARATOR
13883 026516 005046 CLR -(SP) ; ...CLEAR ANOTHER BUFFER
13884 026520 005046 CLR -(SP) ; ....
13885 026522 005046 CLR -(SP) ; .....
13886 026524 010600 MOV SP,R0 ; ......GET SECOND BUFFER POINTER
13887 026526 CALL .GTKLA ; ......READ THE SECOND ADDRESS
026526 004737 024330' JSR PC,.GTKLA
13888 026532 20$:
13889 026532 CALL .CKEOC ; ......MUST BE E-O-C
026532 004737 000264' JSR PC,.CKEOC
13890 026536 PUSH <R0,R1> ; ......SAVE THE POINTERS
026536 010046 MOV R0,-(SP)
026540 010146 MOV R1,-(SP)
13891 026542 CALL .STPKL ; ........STOP THE KL
026542 004737 012012' JSR PC,.STPKL
13892 026546 032737 100000 000000G BIT #KF.CLK,.KLFLG ; ........IS THE CLOCK RUNNING?
13893 026554 001002 BNE 30$ ; ........YES -- GO ON
13894 026556 CALL .STCLK ; ........NO -- START IT
026556 004737 011762' JSR PC,.STCLK
13895 026562 30$:
13896 026562 POP <R1,R0> ; ........RESTORE THE POINTERS
026562 012601 MOV (SP)+,R1
026564 012600 MOV (SP)+,R0
13897 026566 012702 022750' MOV #.TPDEC,R2 ; ......DISPATCH FOR DECREMENT
13898 026572 CALL .TPCMP ; ......COMPARE ADDRESSES
026572 004737 022640' JSR PC,.TPCMP
13899 026576 002402 BLT 40$ ; ......ALL OK IF (R1) .GT. (R0)
13900 026600 012702 022736' MOV #.TPINC,R2 ; ......SET UP FOR FORWARD
13901 026604 40$:
13902 026604 010003 MOV R0,R3 ; ......END ADDRESS TO R3
13903 026606 010100 MOV R1,R0 ; ......BEGINNING ADDESSS TO R0
13904 026610 010301 MOV R3,R1 ; ......END ADDRESS TO R1
13905 026612 005046 CLR -(SP) ; ......CLEAR A DATA BUFFER
13906 026614 005046 CLR -(SP) ; .......
13907 026616 005046 CLR -(SP) ; ........
13908 026620 010603 MOV SP,R3 ; .........POINT TO IT
13909 026622 010337 000300' MOV R3,ZERDPB+6 ; .........SET UP THE DEPOSIT DPB
13910 026626 010037 000276' MOV R0,ZERDPB+4 ; .........SO
13911
13912 ; [CONTINUED ON THE FOLLOWING PAGE]
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 397
.ZEROC -- THE "ZERO" COMMAND 7609.15
13914 ; [CONTINUED FROM THE PREVIOUS PAGE]
13915
13916 026632 50$:
13917 026632 012703 000144 MOV #^D100,R3 ; .........LOOP COUNT TO R4
13918 026636 60$:
13919 026636 DIR$ #ZERDPB ; .........DO THE DEPOSIT
026636 012746 000272' MOV #ZERDPB,-(SP)
026642 104375 EMT 375
13920 026644 103415 BCS 80$ ; .........ERROR IF CC-C IS SET
13921 026646 CALL .TPCMP ; .........ARE WE DONE?
026646 004737 022640' JSR PC,.TPCMP
13922 026652 001405 BEQ 70$ ; .........YES -- EXIT
13923 026654 CALL (R2) ; .........NO -- COMPUTE NEXT ADDRESS
026654 004712 JSR PC,(R2)
13924 026656 077311 SOB R3,60$ ; .........LOOP THRU THIS SET
13925 026660 CALL .CKCTC ; .........LOOK FOR CONTROL-C
026660 004737 000236' JSR PC,.CKCTC
13926 026664 000762 BR 50$ ; .........AND GO ON
13927 ;
13928 026666 70$:
13929 026666 062706 000022 ADD #^D18,SP ; .........CLEAR THE STACK
13930 026672 005037 000140' CLR .SVKLF ; CLEAR ".SVKLF"
13931 026676 RETURN ; TO CALLER
026676 000207 RTS PC
13932 026700 80$:
13933 026700 022737 000000G 000000G CMP #IE.EBX,$DSW ; IS THE EBOX STOPPED?
13934 026706 001403 BEQ ZERESD ; YES -- SAY SO
13935 026710 ERROR$ DMF ; NO -- ERROR -- DEPOSIT MEMORY FAILED
026710 012746 015416 MOV #^RDMF,-(SP)
026714 104400 TRAP TC.ERR
13936 ;
13937 026716 ZERESD:
13938 026716 ERROR$ ESD ; ERROR -- EBOX STOPPED - DEPOSIT
026716 012746 021074 MOV #^RESD,-(SP)
026722 104400 TRAP TC.ERR
13939 ;
13940
13941 000272 .PSECT DPBS
13942
13943 000272 ZERDPB:
13944 000272 PRDP$ 0,0,0,ED.PHY
000272 011 005 .BYTE DR.DTE,5
000274 016 200 .BYTE DF.PDP,ED.PHY
000276 000000 .WORD 0
000300 000000 .WORD 0
000302 000000 .WORD 0
13945
13946 026724 .PSECT
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 398
.ZEROC -- THE "ZERO" COMMAND 7609.15
13948 000001 FTLCMN==1
13949
13950 000170' .END DATABX
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 398-1
SYMBOL TABLE
ABMSG 002460RG 003 AP.NXM= 000040 CALL = 000040 CODLUN= 000002 DFMP = 000112
ABOMSG 002111RG 003 AP.PWF= 000001 CALLI = 000047 CONI = 000005 DFN = 000131
ABTAB 001772R 002 AP.SAP= 000002 CAM = 000310 CONKNC 000600R DFRMSG 000043R 003
ADD = 000270 AP.SBE= 000100 CAMA = 000314 CONMSG 003166RG 003 DFSB = 000111
ADDB = 000273 ARMSG 002402RG 003 CAME = 000312 CONO = 000004 DFUNC = 000200
ADDI = 000271 ARXMSG 002427RG 003 CAMG = 000317 CONSO = 000007 DF.DMG= 000004
ADDM = 000272 ASH = 000240 CAMGE = 000315 CONSZ = 000006 DF.DMN= 000007
ADH = 000000 ASHC = 000244 CAML = 000311 CPEERM 000364R 005 DF.DOR= 000001
ADL = 000100 AUGMSG 002716RG 003 CAMLE = 000313 CPUMSG 002775RG 003 DF.EHG= 000010
ADMSG 002420RG 003 A.LULU= 000002 CAMN = 000316 CPVMSG 000000RG 003 DF.EHM= 000011
ADXMSG 002423RG 003 A.LUNA= 000004 CBOERM 000112R 005 CRAMSG 002463RG 003 DF.EMG= 000005
ALLMSG 002771RG 003 A.LUNU= 000006 CCA = 000014 CRATAB 001654R 002 DF.EMN= 000006
AMBERM 003050R 005 BAEERM 000023R 005 CCEMSG 001623R 003 CRLMSG 002472RG 003 DF.KLR= 000012
AND = 000404 BCCTER 006516R CC.ALL= 003417 CRLTAB 001670R 002 DF.KLW= 000013
ANDB = 000407 BC.HDS= ****** GX CC.NRM= 000000 CRMMSG 003025RG 003 DF.KLX= 000014
ANDCA = 000410 BC.SKP= ****** GX CDD = 000020 CR.ALL= 000003 DF.OFF= 000002
ANDCAB= 000413 BIT0 = 000001 CDIERM 000150R 005 CR.CR1= 000001 DF.ON = 000003
ANDCAI= 000411 BIT00 = 000001 CDMTB 002224R 002 CR.CR2= 000002 DF.PDP= 000016
ANDCAM= 000412 BIT01 = 000002 CD.ALL= 003400 CR.FUL= 000000 DF.PEX= 000015
ANDCB = 000440 BIT02 = 000004 CD.CLC= 000400 CR.HLF= 000001 DIAG1 = 174430
ANDCBB= 000443 BIT03 = 000010 CD.CRC= 002000 CR.NRM= 000000 DIAG2 = 174432
ANDCBI= 000441 BIT04 = 000020 CD.DPC= 001000 CR.QTR= 000002 DIAG3 = 174436
ANDCBM= 000442 BIT05 = 000040 CD.NRM= 000000 CR.SLO= 000003 DIKL10= 000010
ANDCM = 000420 BIT06 = 000100 CESCES 000072R CS.ALL= 000014 DISMSG 002146RG 003
ANDCMB= 000423 BIT07 = 000200 CESERM 003102R 005 CS.CS1= 000004 DIV = 000234
ANDCMI= 000421 BIT08 = 000400 CFHERM 000231R 005 CS.CS2= 000010 DIVB = 000237
ANDCMM= 000422 BIT09 = 001000 CHNPNT= 000001 CS.EXP= 177670 DIVI = 000235
ANDI = 000405 BIT1 = 000002 CH.ALP= 000001 CS.EXT= 000010 DIVM = 000236
ANDM = 000406 BIT10 = 002000 CH.ANM= 000003 CS.FST= 000004 DLYCNT= 174400
AOBJN = 000253 BIT11 = 004000 CH.AOP= 000100 CS.MGN= 000004 DMFERM 000517R 005
AOBJP = 000252 BIT12 = 010000 CH.END= 000034 CS.NRM= 000000 DMOVE = 000120
AOJ = 000340 BIT13 = 020000 CH.EOC= 000010 CS.UDF= 000014 DMOVEM= 000124
AOJA = 000344 BIT14 = 040000 CH.EOL= 000004 CTLMSG 003044RG 003 DMOVN = 000121
AOJE = 000342 BIT15 = 100000 CH.EOS= 000020 CYCLS = 000002 DMOVNM= 000125
AOJG = 000347 BIT2 = 000004 CH.ILL= 000200 DATABX 000170RG 002 DNPERM 000606R 005
AOJGE = 000345 BIT3 = 000010 CH.NUL= 000000 DATAI = 000001 DOCCNR 012430R
AOJL = 000341 BIT4 = 000020 CH.NUM= 000002 DATAO = 000003 DON10C= 040000
AOJLE = 000343 BIT5 = 000040 CH.PFX= 000040 DATBUF 002324R 002 DON10S= 100000
AOJN = 000346 BIT6 = 000100 CIDLUN= 000001 DATE = 000004 DON11C= 000100
AOS = 000350 BIT7 = 000200 CKCILS 000222R DATMSG 003176RG 003 DON11S= 000200
AOSA = 000354 BIT8 = 000400 CKCMRA 000230R DAVERM 000413R 005 DORERM 000556R 005
AOSE = 000352 BIT9 = 001000 CKEEOC 000320R DBTERM 000444R 005 DOWMTB 002306R 002
AOSG = 000357 BLKI = 000000 CKRKLR 000440R DCKERM 000474R 005 DOWTAB 002214R 002
AOSGE = 000355 BLKO = 000002 CLDSTB 002440R 002 DCOMST= 000001 DPB = 000137
AOSL = 000351 BLT = 000251 CLEAR = 000400 DCRMSG 002333RG 003 DPDTEN= 000072RG 004
AOSLE = 000353 BPARER= 000020 CLEARB= 000403 DECMSG 002760RG 003 DPOAPE 002636R
AOSN = 000356 BRMSG 002433RG 003 CLEARI= 000401 DEP = 010000 DPOATB 001522R 002
APEERM 000000R 005 BRXMSG 002436RG 003 CLEARM= 000402 DEPMSG 002136RG 003 DPODTB 001526R 002
APR = 000000 CAEERM 000056R 005 CLEERM 000267R 005 DEX = 000400 DPOITB 001532R 002
APRMSG 002672RG 003 CAI = 000300 CLKMSG 003160RG 003 DEXDON= 000004 DPOKCN 002644R
AP.ALL= 000177 CAIA = 000304 CLOSE = 000070 DEXWD1= 174406 DPONTB 001536R 002
AP.ARP= 001000 CAIE = 000302 CLRMSG 002117RG 003 DEXWD2= 174404 DPOOAI 001772R
AP.CDP= 000004 CAIG = 000307 CLRTTB 002464R 002 DEXWD3= 174402 DPOPTB 001542R 002
AP.EIP= 000400 CAIGE = 000305 CLSRTB 002454R 002 DFAD = 000110 DPOVFE 002652R
AP.IPF= 000020 CAIL = 000301 CNRERM 000324R 005 DFBEND= 000240RG 002 DPOZTB 001546R 002
AP.MPE= 000010 CAILE = 000303 CNTMSG 002125RG 003 DFCIFC 001272R DPS4 = 040000
AP.NRM= 001400 CAIN = 000306 CNUPE = 000002 DFDV = 000113 DPTMSG 003032RG 003
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 398-2
SYMBOL TABLE
DRAMSG 002500RG 003 D2.MS2= 000004 EQV = 000444 FDVR = 000174 FR.SC2= 000260
DRATAB 001704R 002 D2.MS4= 000010 EQVB = 000447 FDVRB = 000177 FR.SR1= 000306
DRDMSG 003446R 003 D2.MS8= 000020 EQVI = 000445 FDVRI = 000175 FR.SR2= 000304
DRESET= 000100 D2.RA0= 100000 EQVM = 000446 FDVRM = 000176 FR.VM0= 000320
DRMMSG 003134RG 003 D2.RA1= 040000 ERRMSG 003001RG 003 FEBMSG 002653RG 003 FR.VM1= 000322
DR.DTE= 000011 D2.RA2= 020000 ERR10C= 010000 FERMSG 002516RG 003 FR.VM2= 000324
DSEND = 000004 D2.RST= 000100 ERR10S= 020000 FERTAB 001720R 002 FR.VM3= 000326
DSFERM 000645R 005 D3RST 002146R 002 ERR11C= 000001 FIX = 000122 FR.VM4= 000330
DS04 = 004000 D3.CDD= 000020 ERR11S= 000002 FIXR = 000126 FR.VM5= 000332
DS05 = 002000 D3.MBZ= 177704 ERSMSG 000106R 003 FLDMSG 000047R 003 FR.VM6= 000334
DS06 = 001000 D3.NPE= 000002 ESDERM 001130R 005 FLGMSG 002521RG 003 FR.VM7= 000336
DTCERM 000700R 005 D3.PAR= 040000 ESEERM 001165R 005 FLTR = 000127 FR.100= 000200
DTECMD= 000451 D3.RST= 000001 ETRMSG 003502R 003 FMMSG 002447RG 003 FR.101= 000202
DTEDSF 006762R D3.SCD= 000040 EXADTB 001556R 002 FMP = 000160 FR.102= 000204
DTEFLG= 000444 D3.SSL= 100000 EXAITB 001562R 002 FMPB = 000163 FR.103= 000206
DTEF11= 000450 D3.TXB= 000001 EXAMSG 002161RG 003 FMPL = 000161 FR.104= 000210
DTEMSG 002507RG 003 D3.UPE= 000020 EXANTB 001566R 002 FMPM = 000162 FR.105= 000212
DTEMTD= 000455 D3.URE= 000004 EXAOAI 002204R FMPR = 000164 FR.106= 000214
DTEMTI= 000456 D3.WEP= 000010 EXAPTB 001572R 002 FMPRB = 000167 FR.107= 000216
DTKMSG 003517R 003 EBCECT 007056R EXAZTB 001576R 002 FMPRI = 000165 FR.110= 000220
DTRMSG 003365R 003 EBPEPE 000476R EXCH = 000250 FMPRM = 000166 FR.111= 000222
DUPE = 000020 EBSEL = 000100 EXCIOC 004270R FNCIFC 001556R FR.112= 000224
DURE = 000004 EBSMSG 002442RG 003 EXDDMF 007264R FNCOFC 001564R FR.113= 000226
DV.LOG= ****** GX EBUSPC= 000020 EXDEMF 007272R FOFMSG 000371R 003 FR.114= 000230
DWRMSG 003452R 003 EBUSPS= 000004 EXDESD 007234R FONMSG 000363R 003 FR.115= 000232
DW1MSG 003406R 003 ECTERM 000752R 005 EXDESE 007250R FORPRO= 000020 FR.116= 000234
DW2MSG 003416R 003 EDEPT 003456R 003 EXDMS1 000500R 003 FRDFRF 007566R FR.117= 000236
DW3MSG 003436R 003 EDEXV 003462R 003 EXDMS2 000507R 003 FRDMSG 002171RG 003 FR.120= 000240
DXWRD1= 002000 EDNKLA 001162R EXDMS3 000516R 003 FRDTEN= 000116RG 004 FR.121= 000242
D.CCPU= ****** GX EDONES= 040000 EXDMS4 000525R 003 FRFERM 003134R 005 FR.122= 000244
D.CKLN= ****** GX EDPHY 003476R 003 EXDTEN= 000104RG 004 FRIMSG 001101R 003 FR.123= 000246
D1.CES= 004000 EDTYTB 005072R 002 EXDTET 001616R 002 FR.ADX= 000254 FR.124= 000250
D1.DCS= 000001 EDUPT 003466R 003 EXECTO 007504R FR.APR= 000220 FR.125= 000252
D1.DDT= 000040 EDUSV 003472R 003 EXFMSG 000377R 003 FR.ARX= 000252 FR.126= 000254
D1.DEX= 000400 ED.EPT= 000000 EXMDTB 001552R 002 FR.BRX= 000250 FR.127= 000256
D1.DFM= 000010 ED.EXV= 000040 EXRTBL= 000012 G FR.CA1= 000312 FR.130= 000260
D1.DS0= 100000 ED.PHY= 000200 EXTEND= 000123 FR.CA2= 000310 FR.131= 000262
D1.DS1= 040000 ED.UPT= 000100 EXTKCN 003100R FR.CL1= 000316 FR.132= 000264
D1.DS2= 020000 ED.USV= 000140 EXTMSG 003054RG 003 FR.CL2= 000314 FR.133= 000266
D1.DS3= 010000 EF.CRI= ****** GX E.FCID= 000002 FR.CRD= 000302 FR.134= 000270
D1.DS4= 004000 EF.PR1= ****** GX E.FCOD= 000003 FR.CR1= 000316 FR.135= 000272
D1.DS5= 002000 ELBBIN 005126RG 002 E.FCTC= ****** GX FR.CR2= 000314 FR.136= 000274
D1.DS6= 001000 ELBOCT 005132RG 002 E.FHTO= 000001 FR.CR3= 000312 FR.137= 000276
D1.HLP= 001000 ELEMSG 002405RG 003 E.FKLN= 000004 FR.CR4= 000310 FR.140= 000300
D1.LBK= 000200 ELNBIN 005120RG 002 E.FPR1= ****** GX FR.DA1= 000260 FR.141= 000302
D1.MBZ= 000442 ELNNOR 024274R FAD = 000140 FR.DA2= 000262 FR.142= 000304
D1.PLS= 000020 ELNOCT 005136RG 002 FADB = 000143 FR.EBS= 000356 FR.143= 000306
D1.RUN= 002000 EMFERM 001003R 005 FADL = 000141 FR.FE1= 000266 FR.144= 000310
D1.T10= 000200 ENBMSG 003141RG 003 FADM = 000142 FR.FE2= 000264 FR.145= 000312
D1.T11= 000100 ENTER = 000077 FADR = 000144 FR.PI0= 000200 FR.146= 000314
D1.V04= 000020 EOCERM 001042R 005 FADRB = 000147 FR.PI1= 000202 FR.147= 000316
D1.XFR= 000004 EPEERM 001100R 005 FADRI = 000145 FR.RAD= 000256 FR.150= 000320
D1011 = 000040 EPMSG0 000534R 003 FADRM = 000146 FR.RAR= 000240 FR.151= 000322
D2RST 002144R 002 EPMSG1 000550R 003 FDV = 000170 FR.RBR= 000242 FR.152= 000324
D2.EBD= 040000 EPMSG2 000562R 003 FDVB = 000173 FR.RFM= 000246 FR.153= 000326
D2.MBZ= 177641 EPMSG3 000576R 003 FDVL = 000171 FR.RMQ= 000244 FR.154= 000330
D2.MS1= 000002 EPTR = 000000 FDVM = 000172 FR.SC1= 000262 FR.155= 000332
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 398-3
SYMBOL TABLE
FR.156= 000334 FW.CHN= 000160 FXFERM 003207R 005 GTNNER 024552R HRLOS = 000567
FR.157= 000336 FW.CRD= 000126 FX.BMC= 000012 GTNNOR 025406R HRLS = 000507
FR.160= 000340 FW.CR1= 000136 FX.CMR= 000014 GTNORE 024546R HRLZ = 000514
FR.161= 000342 FW.CR2= 000134 FX.CON= 000024 GTTITF 017214R HRLZI = 000515
FR.162= 000344 FW.CR3= 000132 FX.CRF= 000020 GTTMS0 001354R 003 HRLZM = 000516
FR.163= 000346 FW.CR4= 000130 FX.CSP= 000000 GTTTOR 017222R HRLZS = 000517
FR.164= 000350 FW.CSR= 000110 FX.CST= 000002 G.TICP= 000016 HRR = 000540
FR.165= 000352 FW.DJE= 000146 FX.EBC= 000006 G.TICT= 000014 HRRE = 000570
FR.166= 000354 FW.DJO= 000150 FX.MBC= 000004 G.TIDA= 000004 HRREI = 000571
FR.167= 000356 FW.DR1= 000140 FX.SMR= 000016 G.TIHR= 000006 HRREM = 000572
FR.170= 000360 FW.DR2= 000142 FX.SRF= 000022 G.TIMI= 000010 HRRES = 000573
FR.171= 000362 FW.DR3= 000144 FX.SYC= 000010 G.TIMO= 000002 HRRI = 000541
FR.172= 000364 FW.EBL= 000174 FX.UDR= 000032 G.TISC= 000012 HRRM = 000542
FR.173= 000366 FW.IAC= 000154 FX.UIR= 000030 G.TIYR= 000000 HRRO = 000560
FR.174= 000370 FW.IOJ= 000152 FX.000= 000000 HIBYTE= 177400 HRROI = 000561
FR.175= 000372 FW.IPE= 000114 FX.001= 000002 HLFMSG 003112RG 003 HRROM = 000562
FR.176= 000374 FW.KLO= 000156 FX.002= 000004 HLL = 000500 HRROS = 000563
FR.177= 000376 FW.LAR= 000176 FX.003= 000006 HLLE = 000530 HRRS = 000543
FSB = 000150 FW.LBL= 000106 FX.004= 000010 HLLEI = 000531 HRRZ = 000550
FSBB = 000153 FW.LBR= 000104 FX.005= 000012 HLLEM = 000532 HRRZI = 000551
FSBL = 000151 FW.MBX= 000162 FX.006= 000014 HLLES = 000533 HRRZM = 000552
FSBM = 000152 FW.SBR= 000174 FX.007= 000016 HLLI = 000501 HRRZS = 000553
FSBR = 000154 FW.040= 000100 FX.010= 000020 HLLM = 000502 I = 000000
FSBRB = 000157 FW.041= 000102 FX.011= 000022 HLLO = 000520 IBP = 000133
FSBRI = 000155 FW.042= 000104 FX.012= 000024 HLLOI = 000521 IDFERM 001222R 005
FSBRM = 000156 FW.043= 000106 FX.013= 000026 HLLOM = 000522 IDIV = 000230
FSC = 000132 FW.044= 000110 FX.014= 000030 HLLOS = 000523 IDIVB = 000233
FSSMSG 003150RG 003 FW.045= 000112 FX.015= 000032 HLLS = 000503 IDIVI = 000231
FTBYTE= 000000 FW.046= 000114 FX.016= 000034 HLLZ = 000510 IDIVM = 000232
FTCRAM= 000000 FW.047= 000116 FX.017= 000036 HLLZI = 000511 IDPB = 000136
FTDEBU= 000001 FW.050= 000120 FX.020= 000040 HLLZM = 000512 IE.ACT= ****** GX
FTDISP= 000000 FW.051= 000122 FX.021= 000042 HLLZS = 000513 IE.EBX= ****** GX
FTDRAM= 000000 FW.052= 000124 FX.022= 000044 HLR = 000544 IE.INS= ****** GX
FTHELP= 000000 FW.053= 000126 FX.023= 000046 HLRE = 000574 IFCERM 001254R 005
FTKLER= 000000 FW.054= 000130 FX.024= 000050 HLREI = 000575 IFLOP = 100000
FTLCMN= 000001 G FW.055= 000132 FX.025= 000052 HLREM = 000576 ILCERM 003237R 005
FTLCVT= 000000 FW.056= 000134 FX.026= 000054 HLRES = 000577 ILDB = 000134
FTLIST= 000000 FW.057= 000136 FX.027= 000056 HLRO = 000564 ILSERM 003271R 005
FTTRAK= 000001 FW.060= 000140 FX.030= 000060 HLROI = 000565 IMUL = 000220
FTTRP4= 000001 FW.061= 000142 FX.031= 000062 HLROM = 000566 IMULB = 000223
FTUCVR= 000130 FW.062= 000144 FX.032= 000064 HLROS = 000567 IMULI = 000221
FT1105= 000001 FW.063= 000146 FX.033= 000066 HLRS = 000547 IMULM = 000222
FT1110= 000001 FW.064= 000150 FX.034= 000070 HLRZ = 000554 IN = 000056
FT1115= 000001 FW.065= 000152 FX.035= 000072 HLRZI = 000555 INBUF = 000064
FT1120= 000001 FW.066= 000154 FX.036= 000074 HLRZM = 000556 INCMSG 002345RG 003
FT1135= 000001 FW.067= 000156 FX.037= 000076 HLRZS = 000557 INIDNP 006304R
FT1140= 000001 FW.070= 000160 GETSTS= 000062 HLTMSG 002213RG 003 INIDTC 006312R
FT1145= 000000 FW.071= 000162 GTDDBT 016632R HRL = 000504 INIMSG 002220RG 003
FULMSG 003105RG 003 FW.072= 000164 GTDDOR 016640R HRLE = 000534 INIT = 000041
FWDTEN= 000130RG 004 FW.073= 000166 GTDIDF 016646R HRLEI = 000535 INPUT = 000066
FWFERM 003161R 005 FW.074= 000170 GTDMS0 001345R 003 HRLEM = 000536 INTMSG 003065RG 003
FWRFWF 007710R FW.075= 000172 GTDYOR 016654R HRLES = 000537 INTROF= 000010
FWRMSG 002177RG 003 FW.076= 000174 GTFILC 025136R HRLI = 000505 INTRON= 000040
FW.APE= 000116 FW.077= 000176 GTKKLA 024354R HRLM = 000506 INTSON= 000001
FW.CA1= 000122 FXCFXF 010060R GTLCBO 024210R HRLO = 000564 INT10S= 000400
FW.CA2= 000124 FXCMSG 002206RG 003 GTLILC 024216R HRLOI = 000565 INT11C= 002000
FW.CDR= 000112 FXDTEN= 000142RG 004 GTNMRA 025400R HRLOM = 000566 INT11S= 004000
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 398-4
SYMBOL TABLE
IOCERM 001310R 005 KLIMSG 003203RG 003 MOVSS = 000207 PAG = 000010 PSWW11= 000015
IOMSG 003007RG 003 KLIOT = 000700 MPE11 = 001000 PAGMSG 003012RG 003 PSWW12= 000016
IOR = 000434 KLMSG 002527RG 003 MQMSG 002452RG 003 PARERC 003436R PSWW13= 000017
IORB = 000437 KLNBIN 005104RG 002 MRAERM 001662R 005 PARERX 003262R PSWW2 = 000006
IORI = 000435 KLNLGE= 002300R 002 MUL = 000224 PARMSG 000011RG 003 PSWW3 = 000007
IORM = 000436 KLNLGL= ****** GX MULB = 000227 PARNAM 000021RG 003 PSWW4 = 000010
IO.ATT= ****** GX KLNLOG 002254R 002 MULI = 000225 PARUEC 003510R PSWW5 = 000011
IO.DET= ****** GX KLNOCT 005134RG 002 MULM = 000226 PAR$$E= 000001 PSWW6 = 000012
IO.RLB= ****** GX KLNPLN= ****** GX M.KTAE= 000010 PAR$$K= 000126 PSWW7 = 000013
IO.WLB= ****** GX KLNPWD 002300R 002 M.KTEF= 000002 PAR$$V= 000005 PS.NRM= 001416
IPCERM 003335R 005 KLPWRF= 000010 M.KTMG= 000004 PCMSG 002455RG 003 PTLERM 002245R 005
IP.ALL= 000017 KLRERM 001532R 005 M.KTUN= 000006 PCTAB 001764R 002 PTOATM 000267R 003
IP.CRP= 000004 KLSCFH 010416R NDIERM 001722R 005 PC.AFI= 000020 PTRTEM 000150R 003
IP.DRP= 000002 KNCERM 001574R 005 NEBMSG 000121R 003 PC.AT0= 000004 PTRTHM 000220R 003
IP.FMP= 000010 KWEERM 001630R 005 NERERM 001752R 005 PC.AT1= 000010 PULSE = 000020
IP.FSS= 000001 K.LSCK= ****** GX NOFMSG 000334R 003 PC.BIS= 000400 PUSH = 000261
IP.NRM= 000016 LDB = 000135 NOMSG 002105R 003 PC.CY0= 004000 PUSHJ = 000260
IRCERM 001340R 005 LG.ALL= 000007 NONMSG 001755R 003 PC.CY1= 002000 QSIZE = 000023
IS.SET= ****** GX LG.ARG= 000010 NORERM 002014R 005 PC.FOV= 001000 QTRMSG 003117RG 003
ITFERM 001373R 005 LG.MAR= 000020 NOTMSG 003221RG 003 PC.FUF= 000002 QUTMSG 002310RG 003
ITNERM 001425R 005 LG.MNT= 000004 NOVMSG 002747RG 003 PC.LIP= 000040 Q.BYCT= 000016
JANMSG 002643RG 003 LG.MOD= 000040 NPIERM 002054R 005 PC.NDV= 000001 Q.IBUF= 000014
JFCL = 000255 LG.NUL= 000000 NRMMSG 003016RG 003 PC.OVF= 010000 Q.IOAE= 000012
JFFO = 000243 LG.OPR= 000001 NSKERM 003400R 005 PC.UIO= 000100 Q.IOEF= 000006
JMPMSG 002233RG 003 LG.PRG= 000002 NSTERM 002110R 005 PC.USR= 000200 Q.IOFN= 000002
JRA = 000267 LG.PRM= 000003 NTIERM 002133R 005 PERCLR= 001000 Q.IOLU= 000004
JRST = 000254 LG.RNG= 000100 NULMSG 002110RG 003 PE.ALL= 000037 Q.IOPL= 000014
JSA = 000266 LG.RPT= 000400 NULSTP= 000040 PE.CES= 000001 Q.IOPR= 000007
JSP = 000265 LG.STR= 000200 NUPE = 000002 PE.CRM= 000004 Q.IOSB= 000010
JSR = 000264 LOAD11= 000004 NXTMSG 002357RG 003 PE.DRM= 000002 Q.OBUF= 000014
JSYS = 000104 LOOKUP= 000076 OAIERM 002163R 005 PE.FMP= 000010 Q.OVFC= 000020
JULMSG 002711RG 003 LSH = 000242 OCTMSG 002737RG 003 PE.FSS= 000020 RAMIS0= 010000
JUMP = 000320 LSHC = 000246 OFCERM 002215R 005 PHYS = 100000 RDCPT1 002070R 002
JUMPA = 000324 MAP = 000257 OFFMSG 000037RG 003 PI = 000004 RDCPT2 002050R 002
JUMPE = 000322 MARMSG 002664RG 003 OFSMSG 003225RG 003 PIDENT= 000000 RDCPT3 002060R 002
JUMPG = 000327 MAYMSG 002700RG 003 ONMSG 000034RG 003 PIMSG 002532RG 003 RDPITB 001636R 002
JUMPGE= 000325 MBZTAB 002020R 002 OPEN = 000050 POP = 000262 RDPITE= 001652R 002
JUMPL = 000321 MCRMSG 002240RG 003 OPRMSG 002603RG 003 POPJ = 000263 REGMSG 002535RG 003
JUMPLE= 000323 MEMMSG 003212RG 003 OR = 000434 PRGMSG 002614RG 003 REGTAB 005046R 002
JUMPN = 000326 MGNMSG 003076RG 003 ORB = 000437 PRI7 = 000340 RELEAS= 000071
JUNMSG 002704RG 003 MNTMSG 002567RG 003 ORCA = 000454 PROMPT 000030RG 003 REMMSG 002627RG 003
KCNERM 001455R 005 MONMSG 001033R 003 ORCAB = 000457 PROPNT= 000021 RENAME= 000055
KF.BRM= 001000 MOVE = 000200 ORCAI = 000455 PRTOFF= 004000 REPIRC 013262R
KF.CES= 000100 MOVEI = 000201 ORCAM = 000456 PRVMSG 002364RG 003 REQKLD 000162R 004
KF.CLK= 100000 MOVEM = 000202 ORCB = 000470 PR0 = 000000 RESETT 002134R 002
KF.CON= 000200 MOVES = 000203 ORCBB = 000473 PR1 = 000040 RFMAD0= 100000
KF.DEF= 000200 MOVM = 000214 ORCBI = 000471 PR2 = 000100 RFMAD1= 040000
KF.KLO= 000400 MOVMI = 000215 ORCBM = 000472 PR3 = 000140 RFMAD2= 020000
KF.MRS= 020000 MOVMM = 000216 ORCM = 000464 PR4 = 000200 RFMAD3= 010000
KF.RUN= 040000 MOVMS = 000217 ORCMB = 000467 PR5 = 000240 RGDTEN= 000060RG 004
KF.SIM= 010000 MOVN = 000210 ORCMI = 000465 PR6 = 000300 RLDMSG 003250RG 003
KF.SMC= 004000 MOVNI = 000211 ORCMM = 000466 PR7 = 000340 RM = 000010
KF.SPM= 002000 MOVNM = 000212 ORI = 000435 PS = 177776 ROT = 000241
KLABIN 005114RG 002 MOVNS = 000213 ORM = 000436 PSENTB 002474R 002 ROTC = 000245
KLAERM 001503R 005 MOVS = 000204 OUT = 000057 PSTMSG 003234RG 003 RPMERM 002275R 005
KLAOCT 005140RG 002 MOVSI = 000205 OUTBUF= 000065 PSWW1 = 000005 RPTMSG 002244RG 003
KLHCFH 010306R MOVSM = 000206 OUTPUT= 000067 PSWW10= 000014 RQSKLD 000000R 004
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 398-5
SYMBOL TABLE
RSAKCN 013436R SETCMB= 000463 ST.CED= 000100 TENAD2= 174412 TRNE = 000602
RSAPRI 002150R 002 SETCMI= 000461 ST.CLE= 000001 TENMSG 002414RG 003 TRNN = 000606
RSERRI 002156R 002 SETCMM= 000462 ST.CTD= 040000 TFRMSG 003316R 003 TRO = 000660
RSPGI0 002200R 002 SETM = 000414 ST.CTE= 010000 TFWMSG 003333R 003 TROA = 000664
RSPGI1 002206R 002 SETMB = 000417 ST.DW1= 002000 TFXMSG 003350R 003 TROE = 000662
RSPKCN 013614R SETMI = 000415 ST.DXD= 000004 THSMSG 002375RG 003 TRON = 000666
RSTEND= 002142R 002 SETMM = 000416 ST.EBS= 000100 THUMSG 001067R 003 TRZ = 000620
RSTIOI 002164R 002 SETMSG 002265RG 003 ST.EDB= 004000 TLC = 000641 TRZA = 000624
RSTMSG 002253RG 003 SETO = 000474 ST.EPE= 000020 TLCA = 000645 TRZE = 000622
RSTPII 002172R 002 SETOB = 000477 ST.IDS= 000010 TLCE = 000643 TRZN = 000626
RTYMSG 003257RG 003 SETOI = 000475 ST.IEN= 000040 TLCN = 000647 TR.ALL= 000077
RUNITN 013706R SETOM = 000476 ST.ION= 000001 TLN = 000601 TR.DEP= 000020
RUNMSG 002261RG 003 SETSTS= 000060 ST.MBZ= 000000 TLNA = 000605 TR.DTE= 000040
RUNNST 013714R SETZ = 000400 ST.MOD= 000010 TLNE = 000603 TR.EXM= 000010
RUNTAA 013722R SETZB = 000403 ST.MPE= 001000 TLNN = 000607 TR.FRD= 000002
R.QSGC= 000015 SETZI = 000401 ST.NST= 000040 TLO = 000661 TR.FWR= 000004
R.QSPC= 000014 SETZM = 000402 ST.RIZ= 010000 TLOA = 000665 TR.FXC= 000001
R.QSPN= 000006 SHUMSG 002271RG 003 ST.RST= 011121 TLOE = 000663 TSC = 000651
R.QSPR= 000012 SKIERM 002364R 005 ST.SEP= 000004 TLON = 000667 TSCA = 000655
R.QSTN= 000002 SKIP = 000330 ST.STE= 000002 TLZ = 000621 TSCAMB 013106R
SATMSG 001111R 003 SKIPA = 000334 ST.TED= 000200 TLZA = 000625 TSCE = 000653
SBRMSG 002560RG 003 SKIPE = 000332 ST.TER= 000002 TLZE = 000623 TSCN = 000657
SBRTAB 001734R 002 SKIPG = 000337 ST.TXD= 100000 TLZN = 000627 TSCNSK 013120R
SCCCLE 020226R SKIPGE= 000335 ST.TXE= 020000 TOBM = 000004 TSCWRM 013126R
SCCLKT 002414R 002 SKIPL = 000331 ST.XDB= 000400 TOD = 000003 TSN = 000611
SCD = 000040 SKIPLE= 000333 SUB = 000274 TOIP = 000002 TSNA = 000615
SCDCDI 014346R SKIPN = 000336 SUBB = 000277 TOIT = 000001 TSNE = 000613
SCDDAV 014354R SLOMSG 003127RG 003 SUBI = 000275 TORERM 002562R 005 TSNN = 000617
SCDNDI 014362R SOJ = 000360 SUBM = 000276 TO10 = 000200 TSO = 000671
SCDNTI 014370R SOJA = 000364 SUNMSG 001123R 003 TO10AD= 174420 TSOA = 000675
SCFERM 002335R 005 SOJE = 000362 SWR = 177570 TO10BC= 174414 TSOE = 000673
SCKIPC 014562R SOJG = 000367 SWSLLT= 100000 TO10BM= 000001 TSON = 000677
SCKKWE 015126R SOJGE = 000365 SXCT = 000106 TO10DB= 000400 TSZ = 000631
SCKMS0 000630R 003 SOJL = 000361 SZIERM 002471R 005 TO10DN= 100000 TSZA = 000635
SCKMS1 000643R 003 SOJLE = 000363 TAAERM 002525R 005 TO10DT= 174424 TSZE = 000633
SCKMS2 000667R 003 SOJN = 000366 TC.CON= 000377 TO10ER= 020000 TSZN = 000637
SCKMS3 000714R 003 SOS = 000370 TC.CTC= 000002 TO11 = 000100 TTCALL= 000051
SCKMS4 000743R 003 SOSA = 000374 TC.ERR= 000000 TO11AD= 174422 TUEMSG 001043R 003
SCKNPI 014540R SOSE = 000372 TC.RST= 000001 TO11BC= 174416 TYDMTB 002364R 002
SCKPTL 014546R SOSG = 000377 TDC = 000650 TO11BM= 020000 TYODIE 026400R
SCKSKI 014554R SOSGE = 000375 TDCA = 000654 TO11DB= 004000 UCDMSG 003274RG 003
SCPART 002426R 002 SOSL = 000371 TDCE = 000652 TO11DN= 000200 UECMSG 000057R 003
SCPILS 021356R SOSLE = 000373 TDCN = 000656 TO11DT= 174426 UECMSP 001602R 002
SCPSCF 021364R SOSN = 000376 TDMSG0 000611R 003 TO11ER= 000002 UGETF = 000073
SCPSPF 021372R SPCEST 001604R 002 TDN = 000610 TPDDCK 022564R UJEN = 000100
SCRMSG 002564RG 003 SPFERM 002441R 005 TDNA = 000614 TPDDVD 005040R 002 UNASG1= 000032
SCRTAB 001750R 002 SSTLEN= 000010 G TDNE = 000612 TPDDVS 005032R 002 UNASG2= 000033
SEPMSG 002725RG 003 SSTTBE= 000212RG 002 TDNN = 000616 TPDRMN 005024R 002 UNASG3= 000034
SETA = 000424 STAMSG 003426R 003 TDO = 000670 TRADDR 005056R 002 UNASG4= 000035
SETAB = 000427 STASZI 020034R TDOA = 000674 TRC = 000640 UNASG5= 000036
SETAI = 000425 STAT = 174434 TDOE = 000672 TRCA = 000644 UNASG6= 000037
SETAM = 000426 STATO = 000061 TDON = 000676 TRCE = 000642 UNLERM 002612R 005
SETCA = 000450 STATUS= 000022 TDZ = 000630 TRCN = 000646 USETI = 000074
SETCAB= 000453 STATZ = 000063 TDZA = 000634 TRDATA 005064R 002 USETO = 000075
SETCAI= 000451 STRMSG 002302RG 003 TDZE = 000632 TRKMSG 003265RG 003 USRMSG 002636RG 003
SETCAM= 000452 STUCAE 012174R TDZN = 000636 TRN = 000600 VERMSG 003306RG 003
SETCM = 000460 STUUNL 012202R TENAD1= 174410 TRNA = 000604 VFYERM 002650R 005
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 398-6
SYMBOL TABLE
VF.DSP= 000060 $DIV = ****** GX $$$HLT= 000001 $$$VMH= 000001 .DATE3= ****** GX
VF.FFD= 000061 $DSW = ****** GX $$$INC= 000006 $$$WHA= 000001 .DAY = ****** GX
VF.INT= 000000 $MUL = ****** GX $$$INI= 000002 $$$XCT= 000001 .DBGSW 000016RG 002
VF.OVR= 000053 $$ = 000037 $$$INT= 000001 $$$ZER= 000001 .DEPAR 002250RG
VF.PRM= 000044 $$A = 000100 $$$IO = 000001 .ABORT 000004RG .DFBLK 000214RG 002
VF.SSP= 000040 $$B = 000000 $$$JAN= 000001 .ABRTC 000000RG .DFCOM 001170RG
VMAMSG 002547RG 003 $$C = 000200 $$$JMP= 000001 .ABRT0 000032RG .DFRB 000222RG 002
VMATB 002000R 002 $$D = 000011 $$$JUL= 000001 .APRWD 000000RG 002 .DFRED 001300RG
VMHMSG 002553RG 003 $$E = 000016 $$$JUN= 000001 .ASCID 000016RG 004 .DFWB 000214RG 002
VMHTB 002006R 002 $$F = 000000 $$$KL = 000001 .ASCOD 000026RG 004 .DFWRT 001404RG
WCMMSG 001363R 003 $$PASS= 000000 $$$KLI= 000002 .ATCID 000242RG 004 .DFXCT 001464RG
WCMSG0 001673R 003 $$$AB = 000001 $$$MAR= 000001 .ATLMD= 000033 .DIAG1= 000000
WCMSG1 001717R 003 $$$ABO= 000001 $$$MAY= 000001 .BRCLK= 005000 .DIAG2= 000002
WCMSG2 001733R 003 $$$AD = 000001 $$$MCR= 000001 .BRMBC 006470RG .DIAG3= 000006
WCMSG3 001745R 003 $$$ADX= 000001 $$$MEM= 000002 .BURST 006474RG .DISCC 001572RG
WEDMSG 001054R 003 $$$ALL= 000002 $$$MGN= 000001 .CCMDN 000002RG 002 .DOCMD 012266RG
WEP = 000010 $$$APR= 000001 $$$MNT= 000002 .CDIBC= 000216R 004 .DOW = ****** GX
WHAMSG 002315RG 003 $$$AR = 000003 $$$MQ = 000001 .CDIBP= 000214R 004 .DPBFR 000020RG 002
WHDMS0 000761R 003 $$$ARG= 000006 $$$NOT= 000001 .CDINP 000200RG 004 .DPBFX 000026RG 002
WHDMS1 001007R 003 $$$ARX= 000001 $$$NOV= 000001 .CDOBC= 000236RG 004 .DPDPB 000062RG 004
WHIMSG 001403R 003 $$$AUG= 000001 $$$NRM= 000001 .CDOBP= 000234RG 004 .DPETB 002742RG 002
WHKMRB 001272R 003 $$$BR = 000001 $$$NUL= 000001 .CDOFC= 000240RG 004 .DPEWD 002006RG
WHKMSA 001263R 003 $$$BRX= 000001 $$$NXT= 000004 .CDOUT 000220RG 004 .DPEWI 002014RG
WHKMSI 001315R 003 $$$CLK= 000002 $$$OCT= 000001 .CECLK= 004000 .DPEWN 002022RG
WHKMSK 001326R 003 $$$CLR= 000001 $$$OFS= 000002 .CESCK 000056RG .DPEWP 002030RG
WHKMS0 001133R 003 $$$CNT= 000001 $$$OPR= 000002 .CHTAB 001360RG 002 .DPEWT 002000RG
WHKMS1 001144R 003 $$$CON= 000002 $$$OST= 000014 .CIBFL= 000214 G .DPKLD 002666RG
WHKMS2 001155R 003 $$$CPU= 000001 $$$PAG= 000001 .CIBFR 000240RG 002 .DPKLI 002674RG
WHKMS3 001203R 003 $$$CRA= 000001 $$$PC = 000001 .CISTS 000004RG 002 .DPKLM 007116RG
WHKMS4 001233R 003 $$$CRL= 000001 $$$PI = 000002 .CKARG 000140RG .DPKLN 002702RG
WHMMSG 001443R 003 $$$CRM= 000002 $$$PRG= 000002 .CKCOL 000200RG .DPKLP 002710RG
WHOMSG 001455R 003 $$$CTL= 000001 $$$PRV= 000004 .CKCTC 000236RG .DPKLT 002660RG
WHRMSG 001423R 003 $$$DAT= 000002 $$$PST= 000002 .CKEOC 000264RG .DPOBJ 000712RG
WHTMSG 001537R 003 $$$DCR= 000004 $$$QTR= 000001 .CKEOS 000326RG .DPOEL 000742RG
WPMSG0 001762R 003 $$$DEC= 000001 $$$QUT= 000001 .CKOBJ 000350RG .DPOKL 000734RG
WPMSG1 002014R 003 $$$DEP= 000001 $$$REG= 000001 .CKRNP 000366RG .DPOSA 000620RG
WPMSG2 002042R 003 $$$DIS= 000001 $$$REM= 000001 .CKRUN 000376RG .DPOSC 000606RG
WRLMSG 001476R 003 $$$DPT= 000001 $$$RLD= 000002 .CKSYM 000446RG .DPOSD 000624RG
WRMERM 002704R 005 $$$DRA= 000001 $$$RPT= 000003 .CLDFB 006524RG .DPOSE 001616RG
WRTMSG 001517R 003 $$$DRM= 000001 $$$RST= 000001 .CLDFR 006530RG .DPOSI 000630RG
WVMSG1 001557R 003 $$$DTE= 000002 $$$RTY= 000002 .CLDFW 006540RG .DPOSN 000634RG
WVMSG2 001601R 003 $$$EBS= 000001 $$$RUN= 000001 .CLKWD 000010RG 002 .DPOSP 000640RG
XCT = 000256 $$$ELE= 000003 $$$SBR= 000001 .CLRCM 017502RG .DPOST 002340RG
XCTMSG 002322RG 003 $$$ENB= 000001 $$$SCR= 000001 .CLRFF 006554RG .DPOSZ 000644RG
XOR = 000430 $$$ERR= 000001 $$$SEP= 000001 .CLRMR= 006000 .DPOTB 003002RG 002
XORB = 000433 $$$EXA= 000001 $$$SET= 000001 .CLRUN= 010000 .DPSEE 001670RG
XORI = 000431 $$$EXT= 000001 $$$SHU= 000001 .CMDTB 002520RG 002 .DPSTE 002410RG
XORM = 000432 $$$FEB= 000001 $$$SLO= 000001 .CMNDL= 000430 G .DPTRK 023654RG
XR = 000000 $$$FER= 000001 $$$STR= 000001 .COBFL= 000204 G .DREG 000230RG 002
XTOERM 003015R 005 $$$FLG= 000001 $$$TEN= 000004 .COBFR 000454RG 002 .DRLTC= 015000
YESMSG 002101R 003 $$$FM = 000002 $$$THS= 000004 .COMEF= ****** GX .DSACF= 066000
YONMSG 002062R 003 $$$FRD= 000001 $$$TRK= 000002 .COMMA= 000054 .DSIOJ= 065000
YORERM 002765R 005 $$$FSS= 000002 $$$T1 = 000000 .COMND 000670RG 002 .DTAB 002040R 002
ZERDPB 000272R 004 $$$FUL= 000001 $$$UCD= 000001 .CONBT= 012000 .DTBUF 002344RG 002
ZERESD 026716R $$$FWR= 000001 $$$USR= 000002 .CONTC 000504RG .DTCID 000256RG 004
ZERMSG 002326RG 003 $$$FXC= 000001 $$$VER= 000001 .COSTS 000012RG 002 .DTDI1 000230RG 002
ZSTOP = 040000 $$$HLF= 000001 $$$VMA= 000001 .CSHRG= 164000 .DTDI2 000232RG 002
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 398-7
SYMBOL TABLE
.DTDI3 000236RG 002 .EXEBS 004342RG .INICL= 070000 .LDSEL= 044000 .RDVMH 005754RG
.DTDW1 006664RG .EXECT 007356RG .INICP 006320RG .LDZFL 000100RG 002 .RDVPC 005732RG
.DTDW2 006672RG .EXETB 003064RG 002 .INIC0 006076RG .LGLWD 000076RG 002 .RDXSV 000120RG 002
.DTDW3 006712RG .EXEWD 002220RG .INIT 006100RG .MEMFL 000102RG 002 .REGRW 000050RG 004
.DTSTA 006702RG .EXEWI 002226RG .INITC 006072RG .MEMRS= 076000 .REGSV 012512RG
.DTSTS 000234RG 002 .EXEWN 002234RG .INKLF 006130RG .MON = ****** GX .RELWD 000122RG 002
.DTSTW= 000004 .EXEWP 002242RG .IRADX 000066RG 002 .MONTB 003462RG 002 .REPTC 013176RG
.DTTRK 023532RG .EXEWT 002212RG .IRLTC= 014000 .MRCLR 011116RG .RESET 011502RG
.DWDW1 006610RG .EXFER 004704RG .JUMPC 017726RG .MTDPB 000036RG 004 .RESTB 004136RG 002
.DWDW2 006616RG .EXFMR 004350RG .KACFL= ****** GX .NOERR= ****** GX .RESTC 013270RG
.DWDW3 006636RG .EXITP 012436RG .KLCON 010066RG .NOHLT= ****** GX .RESTD 011616RG
.DWSTA 006626RG .EXKLD 003114RG .KLDFR 000106RG 004 .NOTSW 000104RG 002 .RESTI 011636RG
.EBCLK 006770RG .EXKLI 003122RG .KLDFW 000120RG 004 .NSETB 003574RG 002 .RESTP 011662RG
.EBPCK 000462RG .EXKLM 007064RG .KLDFX 000132RG 004 .NULLC 012254RG .RNDPB 000144RG 004
.EDELA 000034RG 002 .EXKLN 003130RG .KLFLG= ****** GX .ORADX 000106RG 002 .RPTCT 000124RG 002
.EDEWD 001016RG .EXKLP 003136RG .KLGO 010074RG .PARER 003206RG .RPTPT 000132RG 002
.EDEWI 001030RG .EXKLT 003106RG .KLHLT 010164RG .PCAB1= 150000 .RSALL 013350RG
.EDEWN 001030RG .EXMEE 002114RG .KLINC 000070RG 002 .PCAB2= 151000 .RSAPR 013444RG
.EDEWP 001016RG .EXMEL 001000RG .KLMTB 003420RG 002 .PCAB3= 152000 .RSDTE 013416RG
.EDKLA 000036RG 002 .EXMKL 001010RG .KLMT1 003444RG 002 .PCAB4= 153000 .RSERR 013452RG
.EDKLC 001140RG .EXMPI 005074RG .KLNFD= ****** GX .PEWRD 000110RG 002 .RSPAG 013476RG
.EDKLD 001066RG .EXMQR 004356RG .KLNFT= ****** GX .PITAB 000112RG 002 .RSTIN 013422RG
.EDKLI 001104RG .EXMTB 003124RG 002 .KLNMD= ****** GX .PSCWD 000116RG 002 .RSTIO 013460RG
.EDKLN 001054RG .EXMTE 003000RG .KLNPB= ****** GX .PTDIE 003622RG .RSTKL 011734RG
.EDKLP 001042RG .EXOBJ 000752RG .KLNPE= ****** GX .PTOAT 004122RG .RSTPI 013466RG
.EDKLX 000044RG 002 .EXREG 005246RG .KLNPW= ****** GX .PTTRP 003700RG .RUNCM 013622RG
.EIOJA= 067000 .EXSBR 004712RG .KLNSW= ****** GX .QUITC 014036RG .R50TB 001320RG 002
.ELDDW 000052RG 002 .EXSCR 004720RG .KLNTD= ****** GX .RCRM1= 147000 .SCCEC 021516RG
.ELEDW 000054RG 002 .EXTRK 023642RG .KLNTT= ****** GX .RCRM2= 146000 .SCCED 021524RG
.ELNCK 024224RG .EXVAB 004364RG .KLRLD= ****** GX .RCRM3= 145000 .SCCEE 021532RG
.ETAB 002030R 002 .EXVMA 004372RG .KLRST 010424RG .RCRM4= 144000 .SCCLK 021156RG
.EXAD 004276RG .EXVMH 004400RG .KLST 010314RG .RCSPF= 141000 .SCCLN 021400RG
.EXADX 004304RG .EXVPC 004406RG .KLSTP 010342RG .RDADR 005310RG .SCCOM 020174RG
.EXAMA 000662RG .FEMOD= ****** GX .KLXCT 010556RG .RDADX 005316RG .SCCON 020112RG
.EXAMC 000650RG .FREAD 007512RG .LCRDL= 052000 .RDAPR 003144RG .SCCOO 020160RG
.EXAMD 000666RG .FRTRK 023372RG .LCRDR= 051000 .RDARR 005324RG .SCCOP 020166RG
.EXAME 002066RG .FWRIT 007574RG .LCRM1= 057000 .RDARX 005332RG .SCCOT 004342RG 002
.EXAMF 004502RG .FWTRK 023412RG .LCRM2= 056000 .RDBRR 005340RG .SCCOU 020222RG
.EXAMI 000672RG .FXCT 007716RG .LCRM3= 055000 .RDBRX 005346RG .SCCRF 021402RG
.EXAMK 004606RG .FXTRK 023432RG .LCRM4= 054000 .RDCPP 011264RG .SCCRH 021406RG
.EXAMN 000676RG .GFNR = 102000 .LCRM5= 053000 .RDCRA 005604RG .SCCRQ 021414RG
.EXAMP 000702RG .GTCMD 024010RG .LDAR = 077000 .RDCRL 005612RG .SCCRS 021422RG
.EXAMT 002746RG .GTDAT 016216RG .LDBRC 010602RG .RDDRA 005620RG .SCCSE 021434RG
.EXAMZ 000706RG .GTELN 024300RG .LDBRG 010606RG .RDEBS 005354RG .SCCSI 021464RG
.EXARR 004312RG .GTEXP 024560RG .LDBRL= 043000 .RDFER 005626RG .SCCSM 021470RG
.EXARX 004320RG .GTFCT 024766RG .LDBRR= 042000 .RDFLG 005400RG .SCCTB 004220RG 002
.EXBFR 000056RG 002 .GTKLA 024330RG .LDCK1= 046000 .RDFMR 005362RG .SCDAT 014046RG
.EXBRR 004326RG .GTKLN 024362RG .LDCK2= 047000 .RDIPE 011420RG .SCFSS 021170RG
.EXBRX 004334RG .GTLIN 024044RG .LDCLK 010704RG .RDJ14= 134000 .SCINC 020304RG
.EXCRA 004662RG .GTNBR 025262RG .LDCRA 011002RG .RDJ71= 135000 .SCKLN 014376RG
.EXCRL 004670RG .GTNUM 024362RG .LDDIS= 045000 .RDMAB= 133000 .SCMEL 020502RG
.EXCTC 004222RG .GTR50 013730RG .LDPAR 010722RG .RDMQR 005370RG .SCMEM 020450RG
.EXCTF 007300RG .GTTIM 016662RG .LDRJD= 064000 .RDPI 005524RG .SCMKL 020514RG
.EXDPB 000074RG 004 .GTTRM 024654RG .LDRJV= 063000 .RDSBR 005634RG .SCMTB 004324RG 002
.EXDPM 007154RG .HALTC 006062RG .LDRM1= 060000 .RDSCR 005642RG .SCNOT 017602RG
.EXDRA 004676RG .INCHC 000064RG 002 .LDRM2= 061000 .RDVAB 005740RG .SCOFS 020554RG
.EXDTE 004776RG .INEXT 002014R 002 .LDRM3= 062000 .RDVMA 005746RG .SCPAL 021554RG
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1110 03-OCT-79 11:35 PAGE 398-8
SYMBOL TABLE
.SCPAR 021562RG .SHIFT 022330RG .TPADD 022716RG .TYDAT 017230RG .WHATV 021116RG
.SCPCR 021570RG .SHUTC 017614RG .TPCLR 022572RG .TYELA 025502RG .WHCON 020234RG
.SCPDR 021576RG .SPACE= 000040 .TPCMP 022640RG .TYELN 025506RG .WHDAT 015534RG
.SCPEN 021604RG .SPETB 004576RG 002 .TPCOM 022602RG .TYINI 026356RG .WHINC 020362RG
.SCPFM 021612RG .SSCAN 013134RG .TPDEC 022750RG .TYKLA 025626RG .WHKLN 015710RG
.SCPFS 021620RG .SSCLK= 002000 .TPDIV 022360RG .TYKLN 025676RG .WHMEM 020522RG
.SCPST 021212RG .SSM = ****** GX .TPINC 022736RG .TYLIN 026166RG .WHOFS 020602RG
.SCPTB 004374RG 002 .SSTTB 000174RG 002 .TPMUL 023006RG .TYMIN 025434RG .WHRLD 020670RG
.SCRLD 020626RG .START 012550RG .TPNEG 022612RG .TYMSF 026174RG .WHRPT 020374RG
.SCRPT 020746RG .STCLF 011770RG .TPSHI 023172RG .TYMSG 026202RG .WHRTY 020714RG
.SCRTY 020642RG .STCLK 011762RG .TPSHL 023236RG .TYNCM 025760RG .WHTCA 021662RG
.SCTRK 021044RG .STPCL= 000000 .TPSUB 022762RG .TYNUM 026036RG .WHTCL 021646RG
.SEAMB 003274RG .STPKL 012012RG .TPTST 022674RG .TYOBC 000162RG 002 .WHTPA 022064RG
.SECES 003532RG .STPXC 012036RG .TPXTN 022620RG .TYOBP 000164RG 002 .WHTPS 022050RG
.SECLK= 003000 .STRCL= 001000 .TRKWD 000142RG 002 .TYOUT 026320RG .WHTRK 021066RG
.SEFRF 003362RG .STRTB 004666RG 002 .TRPEC 000146RG 002 .TYP3D 025552RG .WRAR1 012232RG
.SEFWF 003370RG .STRTC 017704RG .TRPIP 000150RG 002 .TYR50 026404RG .WRMBX= 071000
.SEFXF 003376RG .STRTT 017736RG .TRPPC 000152RG 002 .TYSLS 025444RG .WRTAR 012226RG
.SEILC 003320RG .STRTU 020042RG .TRPPS 000154RG 002 .TYSPC 025454RG .XFRCK 001504RG
.SEILS 003320RG .STRTV 000134RG 002 .TRPSB 000156RG 002 .TYTIM 017344RG .XFWCK 001522RG
.SEIPC 003320RG .STRUN 012066RG .TRPTV 000160RG 002 .TYUPA 025464RG .XFXCK 001540RG
.SENSK 003274RG .STUCD 012106RG .TRP4V 000144RG 002 .T50TB 001350RG 002 .YEAR = ****** GX
.SETCM 017522RG .SVESP 000136RG 002 .TSCAN 012672RG .VERNO= ****** GX .YESNO 022224RG
.SETC0 017532RG .SVKLF 000140RG 002 .TYCHR 026240RG .VFYFL 000166RG 002 .ZEROC 026456RG
.SETMR= 007000 .SYNXC 012210RG .TYCOL 025414RG .WHATB 004704RG 002 ..DTP2= ****** GX
.SETRN= 011000 .TCRLF 026272RG .TYCOM 025424RG .WHATC 017556RG ..STIN= ****** GX
.SETTB 004450RG 002 .TFCHR 026224RG
. ABS. 000000 000
026724 001
DATA 005144 002
MESSAG 003534 003
DPBS 000304 004
ERRMSG 003430 005
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 18497 WORDS ( 73 PAGES)
DYNAMIC MEMORY: 19876 WORDS ( 76 PAGES)
ELAPSED TIME: 00:13:16
,[51,20]PARSER.LST/CR/-SP=[51,30]PARSER.TMP
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ABMSG 002460 RG 318-11173 #318-11173 318-11173
ABOMSG 002111 RG 314-11046 #314-11046 314-11046
ABTAB 001772 R 135-5183 #136-5236
ADD = 000270 #23-876
ADDB = 000273 #23-877
ADDI = 000271 #23-878
ADDM = 000272 #23-879
ADH = 000000 #229-8389 #229-8389 229-8389 229-8389 #229-8391 229-8391 229-8391 #229-8393 #229-8393
229-8393 229-8393 #229-8395 229-8395 229-8395 #231-8436 231-8436 231-8436 #231-8438
231-8438 231-8438
ADL = 000100 #229-8389 229-8389 229-8389 #229-8389 229-8389 229-8389 #229-8389 229-8389 229-8389
#229-8389 229-8389 229-8389 #229-8389 229-8389 229-8389 #229-8389 229-8389 229-8389
229-8389 #229-8389 229-8389 229-8389 #229-8391 229-8391 229-8391 #229-8391 229-8391
229-8391 #229-8391 229-8391 229-8391 #229-8391 229-8391 229-8391 #229-8391 229-8391
229-8391 #229-8391 229-8391 229-8391 #229-8393 229-8393 229-8393 #229-8393 229-8393
229-8393 #229-8393 229-8393 229-8393 #229-8393 229-8393 229-8393 #229-8393 229-8393
229-8393 #229-8393 229-8393 229-8393 229-8393 #229-8393 229-8393 229-8393 #229-8395
229-8395 229-8395 #229-8395 229-8395 229-8395 #229-8395 229-8395 229-8395 #229-8395
229-8395 229-8395 #229-8395 229-8395 229-8395 #229-8395 229-8395 229-8395 #231-8436
231-8436 231-8436 #231-8436 231-8436 231-8436 #231-8438 231-8438 231-8438 #231-8438
231-8438 231-8438 #231-8438 231-8438 231-8438 #231-8438 231-8438 231-8438
ADMSG 002420 RG 318-11152 #318-11152 318-11152
ADXMSG 002423 RG 318-11154 #318-11154 318-11154
ALLMSG 002771 RG 322-11352 #322-11352 322-11352 326-11422 326-11422
AMBERM 003050 R #328-11476 328-11476
AND = 000404 #23-881
ANDB = 000407 #23-882
ANDCA = 000410 #23-883
ANDCAB = 000413 #23-884
ANDCAI = 000411 #23-885
ANDCAM = 000412 #23-886
ANDCB = 000440 #23-887
ANDCBB = 000443 #23-888
ANDCBI = 000441 #23-889
ANDCBM = 000442 #23-890
ANDCM = 000420 #23-891
ANDCMB = 000423 #23-892
ANDCMI = 000421 #23-893
ANDCMM = 000422 #23-894
ANDI = 000405 #23-895
ANDM = 000406 #23-896
AOBJN = 000253 #23-898
AOBJP = 000252 #23-899
AOJ = 000340 #23-901
AOJA = 000344 #23-902
AOJE = 000342 #23-903
AOJG = 000347 #23-904
AOJGE = 000345 #23-905
AOJL = 000341 #23-906
AOJLE = 000343 #23-907
AOJN = 000346 #23-908
AOS = 000350 #23-910
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
AOSA = 000354 #23-911
AOSE = 000352 #23-912
AOSG = 000357 #23-913
AOSGE = 000355 #23-914
AOSL = 000351 #23-915
AOSLE = 000353 #23-916
AOSN = 000356 #23-917
APEERM 000000 R #321-11269 321-11269
APR = 000000 #7-242 229-8389 229-8389 229-8391 229-8391 229-8393 229-8393
APRMSG 002672 RG 267-9688 320-11245 #320-11245 320-11245
AP.ALL = 000177 #9-346
AP.ARP = 001000 #16-631 16-635 192-7180 304-10738 309-10913
AP.CDP = 000004 #9-341 9-346
AP.EIP = 000400 #16-633 16-635 192-7188 304-10750 304-10765 308-10874 308-10881
AP.IPF = 000020 #9-343 9-346
AP.MPE = 000010 #9-342 9-346
AP.NRM = 001400 #16-635 16-637
AP.NXM = 000040 #9-344 9-346
AP.PWF = 000001 #9-339 9-346
AP.SAP = 000002 #9-340 9-346
AP.SBE = 000100 #9-345 9-346
ARMSG 002402 RG 309-10912 316-11116 #316-11116 316-11116 318-11156 318-11156 326-11424 326-11424
ARXMSG 002427 RG 318-11158 #318-11158 318-11158
ASH = 000240 #23-919
ASHC = 000244 #23-920
AUGMSG 002716 RG 267-9692 320-11253 #320-11253 320-11253
A.LULU = 000002 #147-5580 #147-5585
A.LUNA = 000004 #147-5580 #147-5585
A.LUNU = 000006 #147-5580 #147-5585
BAEERM 000023 R #321-11271 321-11271
BCCTER 006516 R 149-5657 #149-5662
BC.HDS = ****** GX 250-9079
BC.SKP = ****** GX 249-9055
BIT0 = 000001 #148-5624 #278-10037 #394-13839
BIT00 = 000001 #9-303 10-381 11-407 11-427 12-464 12-465 13-488 13-511 22-841
22-855 77-3172 81-3319 82-3333 85-3434 103-4060 129-4947 191-7141 193-7225
BIT01 = 000002 #9-304 10-384 11-403 11-425 12-462 12-463 13-489 13-510 22-842
22-856 191-7140
BIT02 = 000004 #9-305 10-376 11-402 11-424 11-429 12-460 12-461 13-490 13-509
22-843 22-857 158-5944 191-7139
BIT03 = 000010 #9-306 10-375 11-401 11-421 12-457 12-459 13-491 13-508 22-844
22-858 189-7049 191-7138
BIT04 = 000020 #9-307 10-373 10-374 11-400 11-419 11-420 12-455 13-492 13-507
22-845 22-859
BIT05 = 000040 #9-308 10-371 11-407 11-418 12-453 12-454 13-493 13-506 22-846
22-860 193-7222
BIT06 = 000100 #9-309 10-370 11-396 11-429 12-451 12-452 13-482 13-505 22-847
22-861
BIT07 = 000200 #9-310 10-368 10-369 11-407 11-429 12-449 13-481 13-504 22-848
22-862
BIT08 = 000400 #9-311 10-367 11-407 11-429 12-447 13-480 13-503 22-863
BIT09 = 001000 #9-312 10-363 10-366 11-407 11-429 12-445 13-479 13-502
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
BIT1 = 000002 #148-5624 #278-10037 #394-13839
BIT10 = 002000 #9-313 10-362 10-365 11-407 11-429 12-444 13-478 13-501 #148-5624
#278-10037 #394-13839
BIT11 = 004000 #9-314 10-361 10-364 11-407 11-429 12-442 13-477 13-500 #148-5624
#278-10037 #394-13839
BIT12 = 010000 #9-315 10-360 11-407 11-429 12-440 12-441 13-476 13-499 116-4534
116-4539 #148-5624 #278-10037 #394-13839
BIT13 = 020000 #9-316 10-359 11-392 11-407 11-429 12-438 13-475 #148-5624 #278-10037
#394-13839
BIT14 = 040000 #9-317 10-358 11-389 11-390 11-407 11-412 11-429 12-437 13-474
#148-5624 #278-10037 #394-13839
BIT15 = 100000 #9-318 10-357 11-388 11-407 11-411 11-429 12-435 13-473 53-2073
53-2141 131-5010 #148-5624 #278-10037 #394-13839
BIT2 = 000004 #148-5624 #278-10037 #394-13839
BIT3 = 000010 #148-5624 #278-10037 #394-13839
BIT4 = 000020 #148-5624 #278-10037 #394-13839
BIT5 = 000040 #148-5624 #278-10037 #394-13839
BIT6 = 000100 #148-5624 #278-10037 #394-13839
BIT7 = 000200 #148-5624 #278-10037 #394-13839
BIT8 = 000400 #148-5624 #278-10037 #394-13839
BIT9 = 001000 #148-5624 #278-10037 #394-13839
BLKI = 000000 #7-231
BLKO = 000002 #7-233
BLT = 000251 #23-922
BPARER = 000020 #148-5624 #278-10037 #394-13839
BRMSG 002433 RG 318-11160 #318-11160 318-11160
BRXMSG 002436 RG 318-11162 #318-11162 318-11162
CAEERM 000056 R #321-11273 321-11273
CAI = 000300 #24-924
CAIA = 000304 #24-925
CAIE = 000302 #24-926
CAIG = 000307 #24-927
CAIGE = 000305 #24-928
CAIL = 000301 #24-929
CAILE = 000303 #24-930
CAIN = 000306 #24-931
CALL = 000040 #24-933
CALLI = 000047 #24-934
CAM = 000310 #24-936
CAMA = 000314 #24-937
CAME = 000312 #24-938
CAMG = 000317 #24-939
CAMGE = 000315 #24-940
CAML = 000311 #24-941
CAMLE = 000313 #24-942
CAMN = 000316 #24-943
CBOERM 000112 R #321-11274 321-11274
CCA = 000014 #7-245
CCEMSG 001623 R 302-10665 #303-10723
CC.ALL = 003417 #15-609
CC.NRM = 000000 #15-608 197-7395
CDD = 000020 #148-5624 #278-10037 #394-13839
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 4
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
CDIERM 000150 R #321-11275 321-11275
CDMTB 002224 R 241-8737 #242-8796
CD.ALL = 003400 #15-606 15-609 305-10786
CD.CLC = 000400 #15-604 192-7184 303-10707 306-10832
CD.CRC = 002000 #15-602 192-7169 303-10699 306-10828
CD.DPC = 001000 #15-603 192-7176 303-10703 306-10830
CD.NRM = 000000 #15-605
CESCES 000072 R 39-1602 #39-1604
CESERM 003102 R #328-11478 328-11478
CFHERM 000231 R #321-11276 321-11276
CHNPNT = 000001 #148-5624 #278-10037 #394-13839
CH.ALP = 000001 #22-841 22-850 40-1639 61-2477 62-2480 62-2481 62-2482 62-2483 62-2484
62-2485 62-2486 62-2487 62-2488 62-2489 62-2490 62-2491 62-2492 62-2493
62-2494 62-2495 62-2496 62-2497 62-2498 62-2499 62-2500 62-2501 62-2502
62-2503 62-2504 62-2505
CH.ANM = 000003 #22-850
CH.AOP = 000100 #22-847 61-2452 61-2453 61-2454 61-2455 61-2457 61-2459 62-2481 62-2482
62-2483 62-2494 62-2510 62-2511
CH.END = 000034 #22-849 100-3965 223-8179
CH.EOC = 000010 #22-844 22-849 41-1676 43-1741 45-1807 60-2411 61-2473 227-8319 260-9426
264-9552 280-10098 282-10155 300-10573
CH.EOL = 000004 #22-843 22-849 60-2411
CH.EOS = 000020 #22-845 22-849 44-1778 60-2411 61-2444 61-2446 61-2451 61-2454 61-2455
61-2456 61-2457 61-2459 61-2472 61-2473 61-2476 62-2511
CH.ILL = 000200 #22-848 60-2412 60-2413 60-2414 60-2415 60-2416 60-2417 60-2418 60-2419
60-2420 60-2421 60-2422 60-2423 60-2424 60-2425 60-2426 60-2427 60-2428
60-2429 60-2430 60-2431 60-2432 60-2433 60-2434 61-2436 61-2437 61-2438
61-2439 61-2440 61-2441 61-2442 61-2443 61-2445 61-2447 61-2448 61-2449
61-2450 61-2458 61-2474 61-2475 61-2478 62-2507 62-2508 62-2509 62-2512
CH.NUL = 000000 #22-840
CH.NUM = 000002 #22-842 22-850 40-1646 61-2461 61-2462 61-2463 61-2464 61-2465 61-2466
61-2467 61-2468 61-2469 61-2470 373-13096
CH.PFX = 000040 #22-846 40-1646 61-2452 61-2455 61-2457 61-2477 62-2510
CIDLUN = 000001 #21-817 147-5580 214-7925 360-12624 393-13794 393-13799
CKCILS 000222 R 41-1679 #41-1681 43-1750 44-1779 44-1781
CKCMRA 000230 R 40-1647 41-1677 #41-1684 45-1808
CKEEOC 000320 R 43-1748 #43-1752
CKRKLR 000440 R 46-1850 #46-1858
CLDSTB 002440 R 305-10783 #306-10826
CLEAR = 000400 #24-945
CLEARB = 000403 #24-946
CLEARI = 000401 #24-947
CLEARM = 000402 #24-948
CLEERM 000267 R #321-11277 321-11277
CLKMSG 003160 RG 327-11441 #327-11441 327-11441 330-11504 330-11504
CLOSE = 000070 #24-950
CLRMSG 002117 RG 314-11048 #314-11048 314-11048
CLRTTB 002464 R 306-10820 #306-10838
CLSRTB 002454 R 306-10813 #306-10833
CNRERM 000324 R #321-11278 321-11278
CNTMSG 002125 RG 314-11050 #314-11050 314-11050
CNUPE = 000002 #148-5624 #278-10037 #394-13839
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 5
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
CODLUN = 000002 #21-818 147-5585 393-13785
CONI = 000005 #7-236
CONKNC 000600 R 50-1977 #50-1998
CONMSG 003166 RG 327-11443 #327-11443 327-11443 330-11506 330-11506
CONO = 000004 #7-235 229-8389 229-8389 229-8391 229-8391 229-8393 229-8393 229-8395 229-8395
231-8436 231-8436
CONSO = 000007 #7-238
CONSZ = 000006 #7-237
CPEERM 000364 R #321-11279 321-11279
CPUMSG 002775 RG 322-11354 #322-11354 322-11354
CPVMSG 000000 RG #59-2366 297-10463
CRAMSG 002463 RG 318-11175 #318-11175 318-11175
CRATAB 001654 R 132-5049 #134-5102
CRLMSG 002472 RG 318-11177 #318-11177 318-11177
CRLTAB 001670 R 132-5053 #134-5110
CRMMSG 003025 RG 103-4085 306-10827 309-10914 323-11375 #323-11375 323-11375 326-11426 326-11426
CR.ALL = 000003 #15-594 15-609 302-10661 306-10818
CR.CR1 = 000001 #15-588 15-594 192-7182
CR.CR2 = 000002 #15-589 15-594 192-7174
CR.FUL = 000000 #15-590
CR.HLF = 000001 #15-591 302-10651
CR.NRM = 000000 #15-587
CR.QTR = 000002 #15-592 302-10655
CR.SLO = 000003 #15-593 302-10659
CS.ALL = 000014 #15-585 15-609 302-10682 306-10811
CS.CS1 = 000004 #15-579 15-585 192-7167
CS.CS2 = 000010 #15-580 15-585 192-7161
CS.EXP = 177670 #148-5624 #278-10037 #394-13839
CS.EXT = 000010 #15-583 302-10669
CS.FST = 000004 #15-581 15-582
CS.MGN = 000004 #15-582 302-10680
CS.NRM = 000000 #15-578
CS.UDF = 000014 #15-584
CTLMSG 003044 RG 306-10831 323-11379 #323-11379 323-11379
CYCLS = 000002 #148-5624 #278-10037 #394-13839
DATABX 000170 RG #53-2180 398-13950
DATAI = 000001 #7-232
DATAO = 000003 #7-234 231-8438 231-8438
DATBUF 002324 R 252-9143 #252-9188
DATE = 000004 #148-5624 #278-10037 #394-13839
DATMSG 003176 RG 327-11445 #327-11445 327-11445 330-11508 330-11508
DAVERM 000413 R #321-11284 321-11284
DBTERM 000444 R #321-11285 321-11285
DCKERM 000474 R #321-11286 321-11286
DCOMST = 000001 #148-5624 #278-10037 #394-13839
DCRMSG 002333 RG 315-11101 #315-11101 315-11101 316-11122 316-11122 317-11137 317-11137 318-11205 318-11205
DECMSG 002760 RG 267-9696 320-11261 #320-11261 320-11261
DEP = 010000 #148-5624 #278-10037 #394-13839
DEPMSG 002136 RG 314-11052 #314-11052 314-11052
DEX = 000400 #148-5624 #278-10037 #394-13839
DEXDON = 000004 #148-5624 #278-10037 #394-13839
DEXWD1 = 174406 #148-5624 #278-10037 #394-13839
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 6
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DEXWD2 = 174404 #148-5624 #278-10037 #394-13839
DEXWD3 = 174402 #148-5624 #278-10037 #394-13839
DFAD = 000110 #24-952
DFBEND = 000240 RG #55-2251 141-5407
DFCIFC 001272 R 73-2989 73-2991 73-2993 #73-3005
DFDV = 000113 #24-953
DFMP = 000112 #24-954
DFN = 000131 #24-955
DFRMSG 000043 R 74-3041 #74-3056
DFSB = 000111 #24-956
DFUNC = 000200 #148-5624 #278-10037 #394-13839
DF.DMG = 000004 #148-5624 #278-10037 #394-13839
DF.DMN = 000007 #148-5624 #278-10037 #394-13839
DF.DOR = 000001 #148-5624 #278-10037 #394-13839
DF.EHG = 000010 #148-5624 #278-10037 #394-13839
DF.EHM = 000011 #148-5624 #278-10037 #394-13839
DF.EMG = 000005 #148-5624 #278-10037 #394-13839
DF.EMN = 000006 #148-5624 #278-10037 #394-13839
DF.KLR = 000012 #148-5624 167-6282 #278-10037 #394-13839
DF.KLW = 000013 #148-5624 169-6375 #278-10037 #394-13839
DF.KLX = 000014 #148-5624 172-6473 #278-10037 #394-13839
DF.OFF = 000002 #148-5624 #278-10037 #394-13839
DF.ON = 000003 #148-5624 #278-10037 #394-13839
DF.PDP = 000016 #148-5624 163-6106 #278-10037 #394-13839 397-13944
DF.PEX = 000015 #148-5624 163-6124 #278-10037 #394-13839
DIAG1 = 174430 #148-5624 #278-10037 #394-13839
DIAG2 = 174432 #148-5624 #278-10037 #394-13839
DIAG3 = 174436 #148-5624 #278-10037 #394-13839
DIKL10 = 000010 #148-5624 #278-10037 #394-13839
DISMSG 002146 RG 314-11054 #314-11054 314-11054
DIV = 000234 #24-958
DIVB = 000237 #24-959
DIVI = 000235 #24-960
DIVM = 000236 #24-961
DLYCNT = 174400 #148-5624 #278-10037 #394-13839
DMFERM 000517 R #321-11287 321-11287
DMOVE = 000120 #24-963
DMOVEM = 000124 #24-964
DMOVN = 000121 #24-965
DMOVNM = 000125 #24-966
DNPERM 000606 R #321-11289 321-11289
DOCCNR 012430 R 213-7876 #213-7894
DON10C = 040000 #148-5624 #278-10037 #394-13839
DON10S = 100000 #148-5624 #278-10037 #394-13839
DON11C = 000100 #148-5624 #278-10037 #394-13839
DON11S = 000200 #148-5624 #278-10037 #394-13839
DORERM 000556 R #321-11288 321-11288
DOWMTB 002306 R 252-9157 #252-9179
DOWTAB 002214 R 241-8758 #242-8789
DPB = 000137 #24-968
DPDTEN = 000072 RG #163-6107
DPOAPE 002636 R 91-3654 #91-3658
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 7
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DPOATB 001522 R 64-2612 #64-2617
DPODTB 001526 R 65-2627 #65-2632
DPOITB 001532 R 65-2639 #65-2644
DPOKCN 002644 R 90-3605 #91-3661
DPONTB 001536 R 65-2651 #65-2656
DPOOAI 001772 R 81-3320 82-3334 #82-3353
DPOPTB 001542 R 65-2663 #65-2668
DPOVFE 002652 R 91-3649 #91-3664
DPOZTB 001546 R 65-2675 #65-2680
DPS4 = 040000 #148-5624 #278-10037 #394-13839
DPTMSG 003032 RG 306-10829 323-11377 #323-11377 323-11377
DRAMSG 002500 RG 318-11179 #318-11179 318-11179
DRATAB 001704 R 132-5057 #134-5118
DRDMSG 003446 R 352-12306 #353-12336
DRESET = 000100 #148-5624 #278-10037 #394-13839
DRMMSG 003134 RG 103-4084 309-10916 326-11428 #326-11428 326-11428
DR.DTE = 000011 #148-5624 163-6106 163-6124 167-6282 169-6375 172-6473 #278-10037 #394-13839 397-13944
DSEND = 000004 #148-5624 #278-10037 #394-13839
DSFERM 000645 R #321-11290 321-11290
DS04 = 004000 #148-5624 #278-10037 #394-13839
DS05 = 002000 #148-5624 #278-10037 #394-13839
DS06 = 001000 #148-5624 #278-10037 #394-13839
DTCERM 000700 R #321-11291 321-11291
DTECMD = 000451 #148-5624 #278-10037 #394-13839
DTEDSF 006762 R 155-5841 #155-5854
DTEFLG = 000444 #148-5624 #278-10037 #394-13839
DTEF11 = 000450 #148-5624 #278-10037 #394-13839
DTEMSG 002507 RG 121-4683 318-11181 #318-11181 318-11181 322-11356 322-11356
DTEMTD = 000455 #148-5624 #278-10037 #394-13839
DTEMTI = 000456 #148-5624 #278-10037 #394-13839
DTKMSG 003517 R 354-12378 #356-12444
DTRMSG 003365 R 352-12291 #353-12324
DUPE = 000020 #148-5624 #278-10037 #394-13839
DURE = 000004 #148-5624 #278-10037 #394-13839
DV.LOG = ****** GX 251-9094
DWRMSG 003452 R 352-12309 #353-12338
DW1MSG 003406 R 353-12318 #353-12327
DW2MSG 003416 R 353-12319 #353-12329
DW3MSG 003436 R 353-12321 #353-12333
DXWRD1 = 002000 #148-5624 #278-10037 #394-13839
D.CCPU = ****** GX 249-9057
D.CKLN = ****** GX 250-9081
D1.CES = 004000 #10-364 39-1601 175-6581
D1.DCS = 000001 #10-381
D1.DDT = 000040 #10-371 10-384
D1.DEX = 000400 #10-367 10-384
D1.DFM = 000010 #10-375
D1.DS0 = 100000 #10-357
D1.DS1 = 040000 #10-358
D1.DS2 = 020000 #10-359
D1.DS3 = 010000 #10-360
D1.DS4 = 004000 #10-361
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 8
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
D1.DS5 = 002000 #10-362
D1.DS6 = 001000 #10-363
D1.HLP = 001000 #10-366 144-5479 165-6181 165-6187 176-6592 176-6618 178-6704 206-7662
D1.LBK = 000200 #10-369
D1.MBZ = 000442 #10-384 155-5863
D1.PLS = 000020 #10-374
D1.RUN = 002000 #10-365 143-5468
D1.T10 = 000200 #10-368
D1.T11 = 000100 #10-370
D1.V04 = 000020 #10-373
D1.XFR = 000004 #10-376
D1011 = 000040 #148-5624 #278-10037 #394-13839
D2RST 002144 R 196-7342 #196-7350
D2.EBD = 040000 #11-390
D2.MBZ = 177641 #11-407 155-5864
D2.MS1 = 000002 #11-403
D2.MS2 = 000004 #11-402
D2.MS4 = 000010 #11-401
D2.MS8 = 000020 #11-400
D2.RA0 = 100000 #11-388
D2.RA1 = 040000 #11-389
D2.RA2 = 020000 #11-392
D2.RST = 000100 #11-396 196-7351
D3RST 002146 R 196-7344 #196-7352
D3.CDD = 000020 #11-420
D3.MBZ = 177704 #11-429 155-5866
D3.NPE = 000002 #11-425
D3.PAR = 040000 #11-412
D3.RST = 000001 #11-431 196-7353
D3.SCD = 000040 #11-418
D3.SSL = 100000 #11-411
D3.TXB = 000001 #11-427 11-431
D3.UPE = 000020 #11-419
D3.URE = 000004 #11-424
D3.WEP = 000010 #11-421
EBCECT 007056 R 158-5949 #158-5953
EBPEPE 000476 R 48-1916 #48-1918
EBSEL = 000100 #148-5624 #278-10037 #394-13839
EBSMSG 002442 RG 318-11164 #318-11164 318-11164
EBUSPC = 000020 #148-5624 #278-10037 #394-13839
EBUSPS = 000004 #148-5624 #278-10037 #394-13839
ECTERM 000752 R #321-11293 321-11293
EDEPT 003456 R 356-12425 #356-12432
EDEXV 003462 R 356-12426 #356-12434
EDNKLA 001162 R 71-2905 71-2907 #71-2922
EDONES = 040000 #148-5624 #278-10037 #394-13839
EDPHY 003476 R 356-12429 #356-12440
EDTYTB 005072 R 355-12411 #356-12424
EDUPT 003466 R 356-12427 #356-12436
EDUSV 003472 R 356-12428 #356-12438
ED.EPT = 000000 #9-322
ED.EXV = 000040 #9-323 230-8417 275-9941
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 9
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ED.PHY = 000200 #9-326 90-3624 91-3639 91-3644 94-3758 143-5460 163-6106 163-6124 397-13944
ED.UPT = 000100 #9-324
ED.USV = 000140 #9-325
EF.CRI = ****** GX 37-1519 195-7294 279-10064
EF.PR1 = ****** GX 240-8702 249-9050
ELBBIN 005126 RG 379-13302 #383-13463
ELBOCT 005132 RG 379-13306 #383-13466
ELEMSG 002405 RG 287-10310 316-11118 #316-11118 316-11118 318-11183 318-11183 324-11400 324-11400
ELNBIN 005120 RG 378-13263 #383-13459
ELNNOR 024274 R 361-12657 361-12659 361-12664 361-12666 #361-12669
ELNOCT 005136 RG 378-13267 #383-13471
EMFERM 001003 R #321-11294 321-11294
ENBMSG 003141 RG 326-11430 #326-11430 326-11430
ENTER = 000077 #25-970
EOCERM 001042 R #321-11295 321-11295
EPEERM 001100 R #321-11296 321-11296
EPMSG0 000534 R 123-4756 #124-4789
EPMSG1 000550 R 124-4770 #124-4791
EPMSG2 000562 R 124-4775 #124-4793
EPMSG3 000576 R 124-4780 #124-4795
EPTR = 000000 #148-5624 #278-10037 #394-13839
EQV = 000444 #25-972
EQVB = 000447 #25-973
EQVI = 000445 #25-974
EQVM = 000446 #25-975
ERRMSG 003001 RG 322-11358 #322-11358 322-11358
ERR10C = 010000 #148-5624 #278-10037 #394-13839
ERR10S = 020000 #148-5624 #278-10037 #394-13839
ERR11C = 000001 #148-5624 #278-10037 #394-13839
ERR11S = 000002 #148-5624 #278-10037 #394-13839
ERSMSG 000106 R 103-4083 #104-4093
ESDERM 001130 R #321-11297 321-11297
ESEERM 001165 R #321-11298 321-11298
ETRMSG 003502 R 354-12373 #356-12442
EXADTB 001556 R 67-2730 #67-2735
EXAITB 001562 R 67-2742 #67-2747
EXAMSG 002161 RG 314-11056 #314-11056 314-11056
EXANTB 001566 R 67-2754 #67-2759
EXAOAI 002204 R 85-3435 #85-3449
EXAPTB 001572 R 67-2766 #67-2771
EXAZTB 001576 R 67-2778 #67-2783
EXCH = 000250 #25-977
EXCIOC 004270 R 111-4375 #111-4380
EXDDMF 007264 R 162-6070 #162-6082
EXDEMF 007272 R 162-6064 #162-6085
EXDESD 007234 R 162-6069 #162-6074
EXDESE 007250 R 162-6063 #162-6078
EXDMS1 000500 R 122-4710 #122-4717
EXDMS2 000507 R 122-4711 #122-4719
EXDMS3 000516 R 122-4712 #122-4721
EXDMS4 000525 R 122-4713 #122-4723
EXDTEN = 000104 RG #163-6125
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 10
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
EXDTET 001616 R 121-4677 #122-4705
EXECTO 007504 R 165-6190 #165-6210
EXFMSG 000377 R 116-4530 #117-4558
EXMDTB 001552 R 66-2715 #66-2720
EXRTBL = 000012 G 125-4805 #318-11172
EXTEND = 000123 #25-978
EXTKCN 003100 R 94-3749 #94-3768
EXTMSG 003054 RG 306-10836 323-11381 #323-11381 323-11381
E.FCID = 000002 #21-800 146-5562 214-7925 360-12624 393-13794
E.FCOD = 000003 #21-801 146-5563 393-13785 393-13799
E.FCTC = ****** GX 42-1710 146-5560
E.FHTO = 000001 #21-799 143-5448 146-5561 152-5756 203-7569
E.FKLN = 000004 #21-802 249-9052 250-9080 250-9083
E.FPR1 = ****** GX 39-1605
FAD = 000140 #25-980
FADB = 000143 #25-981
FADL = 000141 #25-982
FADM = 000142 #25-983
FADR = 000144 #25-985
FADRB = 000147 #25-986
FADRI = 000145 #25-987
FADRM = 000146 #25-988
FDV = 000170 #25-990
FDVB = 000173 #25-991
FDVL = 000171 #25-992
FDVM = 000172 #25-993
FDVR = 000174 #25-995
FDVRB = 000177 #25-996
FDVRI = 000175 #25-997
FDVRM = 000176 #25-998
FEBMSG 002653 RG 267-9686 320-11241 #320-11241 320-11241
FERMSG 002516 RG 318-11185 #318-11185 318-11185
FERTAB 001720 R 132-5061 #134-5126
FIX = 000122 #25-1000
FIXR = 000126 #25-1001
FLDMSG 000047 R 101-4004 #101-4011
FLGMSG 002521 RG 318-11187 #318-11187 318-11187
FLTR = 000127 #25-1003
FMMSG 002447 RG 103-4086 309-10918 318-11166 #318-11166 318-11166 326-11432 326-11432
FMP = 000160 #25-1005
FMPB = 000163 #25-1006
FMPL = 000161 #25-1007
FMPM = 000162 #25-1008
FMPR = 000164 #25-1010
FMPRB = 000167 #25-1011
FMPRI = 000165 #25-1012
FMPRM = 000166 #25-1013
FNCIFC 001556 R 77-3156 77-3158 77-3163 77-3165 77-3170 #77-3175
FNCOFC 001564 R 77-3173 #77-3178
FOFMSG 000371 R 116-4536 #117-4556
FONMSG 000363 R 116-4533 #117-4554
FORPRO = 000020 #148-5624 #278-10037 #394-13839
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 11
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FRDFRF 007566 R 167-6244 #167-6261
FRDMSG 002171 RG 314-11058 #314-11058 314-11058
FRDTEN = 000116 RG #167-6283
FRFERM 003134 R #328-11480 328-11480
FRIMSG 001101 R 252-9184 #253-9208
FR.ADX = 000254 #18-722 127-4852
FR.APR = 000220 #18-700 96-3834
FR.ARX = 000252 #18-720 127-4860
FR.BRX = 000250 #18-718 127-4868
FR.CA1 = 000312 #19-752 19-753 134-5103
FR.CA2 = 000310 #19-749 19-750 134-5106
FR.CL1 = 000316 #19-759 134-5111
FR.CL2 = 000314 #19-756 134-5114
FR.CRD = 000302 #19-743
FR.CR1 = 000316 #19-758 19-759
FR.CR2 = 000314 #19-755 19-756
FR.CR3 = 000312 #19-753
FR.CR4 = 000310 #19-750
FR.DA1 = 000260 #18-728 134-5119
FR.DA2 = 000262 #18-731 134-5122
FR.EBS = 000356 #20-786 127-4872
FR.FE1 = 000266 #18-735 134-5127
FR.FE2 = 000264 #18-733 134-5130
FR.PI0 = 000200 #18-689 131-5008
FR.PI1 = 000202 #18-691 131-5011
FR.RAD = 000256 #18-724 127-4848
FR.RAR = 000240 #18-710 127-4856
FR.RBR = 000242 #18-712 127-4864
FR.RFM = 000246 #18-716 127-4876
FR.RMQ = 000244 #18-714 127-4880
FR.SC1 = 000262 #18-730 134-5143
FR.SC2 = 000260 #18-727 134-5146
FR.SR1 = 000306 #19-747 134-5135
FR.SR2 = 000304 #19-745 134-5138
FR.VM0 = 000320 #19-762
FR.VM1 = 000322 #19-764
FR.VM2 = 000324 #19-766
FR.VM3 = 000326 #19-768
FR.VM4 = 000330 #19-770
FR.VM5 = 000332 #19-772
FR.VM6 = 000334 #19-774
FR.VM7 = 000336 #19-776
FR.100 = 000200 #18-688 18-689 77-3155 129-4938
FR.101 = 000202 #18-690 18-691 129-4931
FR.102 = 000204 #18-692 193-7221
FR.103 = 000206 #18-693
FR.104 = 000210 #18-694 158-5942 192-7157
FR.105 = 000212 #18-695 192-7158
FR.106 = 000214 #18-696 192-7159
FR.107 = 000216 #18-697 192-7160
FR.110 = 000220 #18-699 18-700
FR.111 = 000222 #18-701
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 12
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FR.112 = 000224 #18-702
FR.113 = 000226 #18-703
FR.114 = 000230 #18-704
FR.115 = 000232 #18-705
FR.116 = 000234 #18-706
FR.117 = 000236 #18-707
FR.120 = 000240 #18-709 18-710
FR.121 = 000242 #18-711 18-712
FR.122 = 000244 #18-713 18-714
FR.123 = 000246 #18-715 18-716
FR.124 = 000250 #18-717 18-718
FR.125 = 000252 #18-719 18-720
FR.126 = 000254 #18-721 18-722
FR.127 = 000256 #18-723 18-724
FR.130 = 000260 #18-726 18-727 18-728
FR.131 = 000262 #18-729 18-730 18-731
FR.132 = 000264 #18-732 18-733 129-4945
FR.133 = 000266 #18-734 18-735
FR.134 = 000270 #18-736
FR.135 = 000272 #18-737
FR.136 = 000274 #18-738
FR.137 = 000276 #18-739
FR.140 = 000300 #19-741
FR.141 = 000302 #19-742 19-743
FR.142 = 000304 #19-744 19-745
FR.143 = 000306 #19-746 19-747
FR.144 = 000310 #19-748 19-749
FR.145 = 000312 #19-751 19-752
FR.146 = 000314 #19-754 19-755
FR.147 = 000316 #19-757 19-758
FR.150 = 000320 #19-761 19-762 136-5233 136-5237
FR.151 = 000322 #19-763 19-764
FR.152 = 000324 #19-765 19-766
FR.153 = 000326 #19-767 19-768
FR.154 = 000330 #19-769 19-770 136-5241 136-5245
FR.155 = 000332 #19-771 19-772
FR.156 = 000334 #19-773 19-774
FR.157 = 000336 #19-775 19-776
FR.160 = 000340 #20-778
FR.161 = 000342 #20-779
FR.162 = 000344 #20-780 189-7047
FR.163 = 000346 #20-781
FR.164 = 000350 #20-782
FR.165 = 000352 #20-783
FR.166 = 000354 #20-784
FR.167 = 000356 #20-785 20-786
FR.170 = 000360 #20-788
FR.171 = 000362 #20-789
FR.172 = 000364 #20-790
FR.173 = 000366 #20-791
FR.174 = 000370 #20-792
FR.175 = 000372 #20-793
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 13
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FR.176 = 000374 #20-794
FR.177 = 000376 #20-795 77-3157
FSB = 000150 #25-1015
FSBB = 000153 #25-1016
FSBL = 000151 #25-1017
FSBM = 000152 #25-1018
FSBR = 000154 #26-1020
FSBRB = 000157 #26-1021
FSBRI = 000155 #26-1022
FSBRM = 000156 #26-1023
FSC = 000132 #26-1025
FSSMSG 003150 RG 103-4087 309-10920 326-11434 #326-11434 326-11434 327-11447 327-11447
FTBYTE = 000000 #2-65
FTCRAM = 000000 #2-66 53-2076
FTDEBU = 000001 #2-67 53-2088 109-4292 214-7919
FTDISP = 000000 #2-68
FTDRAM = 000000 #2-69 53-2096 321-11281
FTHELP = 000000 #2-70 314-11066
FTKLER = 000000 #2-71
FTLCMN = 000001 G 1-1 33-1407 #398-13948
FTLCVT = 000000 #2-72 62-2513 360-12592
FTLIST = 000000 #2-73 21-803 21-819 53-2122 56-2265 57-2276 58-2308 146-5564
FTTRAK = 000001 #2-74 13-487 53-2156 155-5843 160-6011 167-6254 169-6345 172-6443 327-11467
330-11526 349-12192 351-12286 354-12367
FTTRP4 = 000001 #2-75
FTUCVR = 000130 #2-76
FT1105 = 000001 #2-64 #2-99
FT1110 = 000001 #2-63 #2-95 2-98
FT1115 = 000001 #2-62 #2-91 2-94
FT1120 = 000001 #2-61 #2-87 2-90
FT1135 = 000001 #2-60 #2-83 2-86
FT1140 = 000001 #2-59 2-82 3-108
FT1145 = 000000 #2-58 2-78
FULMSG 003105 RG 306-10839 323-11387 #323-11387 323-11387
FWDTEN = 000130 RG #169-6376
FWFERM 003161 R #328-11481 328-11481
FWRFWF 007710 R 169-6336 #169-6354
FWRMSG 002177 RG 314-11060 #314-11060 314-11060
FW.APE = 000116 #16-625
FW.CA1 = 000122 #16-641 187-6989 195-7305
FW.CA2 = 000124 #16-643 187-6982 195-7304
FW.CDR = 000112 #15-597
FW.CHN = 000160 #17-673 189-7042
FW.CRD = 000126 #16-645
FW.CR1 = 000136 #16-653
FW.CR2 = 000134 #16-651
FW.CR3 = 000132 #16-649
FW.CR4 = 000130 #16-647
FW.CSR = 000110 #15-573 185-6915
FW.DJE = 000146 #17-662
FW.DJO = 000150 #17-664
FW.DR1 = 000140 #17-656
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 14
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FW.DR2 = 000142 #17-658
FW.DR3 = 000144 #17-660
FW.EBL = 000174 #17-681 195-7307
FW.IAC = 000154 #17-668
FW.IOJ = 000152 #17-666
FW.IPE = 000114 #16-612 185-6921
FW.KLO = 000156 #17-670 195-7306
FW.LAR = 000176 #17-684 77-3164 177-6664 181-6808 208-7746
FW.LBL = 000106 #15-571 183-6855 195-7303
FW.LBR = 000104 #15-569 183-6846 195-7302
FW.MBX = 000162 #17-675 195-7310
FW.SBR = 000174 #17-682
FW.040 = 000100 #15-566 77-3162
FW.041 = 000102 #15-567
FW.042 = 000104 #15-568 15-569
FW.043 = 000106 #15-570 15-571
FW.044 = 000110 #15-572 15-573 169-6339
FW.045 = 000112 #15-596 15-597
FW.046 = 000114 #16-611 16-612
FW.047 = 000116 #16-624 16-625 169-6341
FW.050 = 000120 #16-639
FW.051 = 000122 #16-640 16-641
FW.052 = 000124 #16-642 16-643
FW.053 = 000126 #16-644 16-645
FW.054 = 000130 #16-646 16-647
FW.055 = 000132 #16-648 16-649
FW.056 = 000134 #16-650 16-651
FW.057 = 000136 #16-652 16-653
FW.060 = 000140 #17-655 17-656
FW.061 = 000142 #17-657 17-658
FW.062 = 000144 #17-659 17-660
FW.063 = 000146 #17-661 17-662
FW.064 = 000150 #17-663 17-664
FW.065 = 000152 #17-665 17-666
FW.066 = 000154 #17-667 17-668
FW.067 = 000156 #17-669 17-670
FW.070 = 000160 #17-672 17-673
FW.071 = 000162 #17-674 17-675
FW.072 = 000164 #17-676
FW.073 = 000166 #17-677
FW.074 = 000170 #17-678
FW.075 = 000172 #17-679
FW.076 = 000174 #17-680 17-681 17-682
FW.077 = 000176 #17-683 17-684
FXCFXF 010060 R 171-6408 #172-6451
FXCMSG 002206 RG 314-11062 #314-11062 314-11062
FXDTEN = 000142 RG #172-6474
FXFERM 003207 R #328-11482 328-11482
FX.BMC = 000012 #14-526 149-5659
FX.CMR = 000014 #14-528 189-7056
FX.CON = 000024 #14-537 50-1984 174-6527 180-6750 181-6810
FX.CRF = 000020 #14-533 151-5731 171-6434
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 15
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FX.CSP = 000000 #14-516
FX.CST = 000002 #14-518 171-6411 201-7509
FX.EBC = 000006 #14-522
FX.MBC = 000004 #14-520 158-5940 189-7051
FX.SMR = 000016 #14-530 171-6413 188-7028
FX.SRF = 000022 #14-535 171-6428 204-7601
FX.SYC = 000010 #14-524 207-7703
FX.UDR = 000032 #14-542
FX.UIR = 000030 #14-540
FX.000 = 000000 #14-515 14-516
FX.001 = 000002 #14-517 14-518
FX.002 = 000004 #14-519 14-520
FX.003 = 000006 #14-521 14-522
FX.004 = 000010 #14-523 14-524
FX.005 = 000012 #14-525 14-526
FX.006 = 000014 #14-527 14-528
FX.007 = 000016 #14-529 14-530
FX.010 = 000020 #14-532 14-533
FX.011 = 000022 #14-534 14-535
FX.012 = 000024 #14-536 14-537
FX.013 = 000026 #14-538
FX.014 = 000030 #14-539 14-540
FX.015 = 000032 #14-541 14-542
FX.016 = 000034 #14-543
FX.017 = 000036 #14-544
FX.020 = 000040 #14-546
FX.021 = 000042 #14-547
FX.022 = 000044 #14-548
FX.023 = 000046 #14-549
FX.024 = 000050 #14-550
FX.025 = 000052 #14-551
FX.026 = 000054 #14-552
FX.027 = 000056 #14-553
FX.030 = 000060 #14-555
FX.031 = 000062 #14-556
FX.032 = 000064 #14-557
FX.033 = 000066 #14-558
FX.034 = 000070 #14-559
FX.035 = 000072 #14-560
FX.036 = 000074 #14-561
FX.037 = 000076 #14-562 77-3169
GETSTS = 000062 #26-1027
GTDDBT 016632 R 261-9470 261-9474 261-9478 #262-9485
GTDDOR 016640 R 261-9453 261-9459 261-9463 261-9466 #262-9488
GTDIDF 016646 R 259-9393 260-9420 260-9430 #262-9491
GTDMS0 001345 R 259-9388 #262-9505
GTDYOR 016654 R 260-9435 #262-9494
GTFILC 025136 R 371-13010 #371-13021
GTKKLA 024354 R 363-12729 363-12731 #363-12733
GTLCBO 024210 R 360-12581 #360-12613
GTLILC 024216 R 359-12569 360-12595 #360-12616
GTNMRA 025400 R 374-13121 #374-13123
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 16
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
GTNNER 024552 R 364-12767 364-12773 #365-12814
GTNNOR 025406 R 361-12670 365-12812 373-13101 373-13107 #374-13126
GTNORE 024546 R 364-12777 364-12779 #365-12811
GTTITF 017214 R 264-9555 #265-9617
GTTMS0 001354 R 263-9540 #265-9626
GTTTOR 017222 R 264-9570 264-9573 265-9594 265-9603 #265-9620
G.TICP = 000016 #252-9144 #258-9374
G.TICT = 000014 #252-9144 #258-9374
G.TIDA = 000004 #252-9144 #258-9374
G.TIHR = 000006 #252-9144 #258-9374
G.TIMI = 000010 #252-9144 #258-9374
G.TIMO = 000002 #252-9144 #258-9374
G.TISC = 000012 #252-9144 #258-9374
G.TIYR = 000000 #252-9144 #258-9374
HIBYTE = 177400 #148-5624 #278-10037 #394-13839
HLFMSG 003112 RG 306-10840 323-11389 #323-11389 323-11389
HLL = 000500 #26-1029
HLLE = 000530 #26-1030
HLLEI = 000531 #26-1031
HLLEM = 000532 #26-1032
HLLES = 000533 #26-1033
HLLI = 000501 #26-1035
HLLM = 000502 #26-1036
HLLO = 000520 #26-1038
HLLOI = 000521 #26-1039
HLLOM = 000522 #26-1040
HLLOS = 000523 #26-1041
HLLS = 000503 #26-1043
HLLZ = 000510 #26-1045
HLLZI = 000511 #26-1046
HLLZM = 000512 #26-1047
HLLZS = 000513 #26-1048
HLR = 000544 #26-1050
HLRE = 000574 #26-1052
HLREI = 000575 #26-1053
HLREM = 000576 #26-1054
HLRES = 000577 #26-1055
HLRO = 000564 #26-1057
HLROI = 000565 #26-1058
HLROM = 000566 #26-1059
HLROS = 000567 #26-1060
HLRS = 000547 #26-1062
HLRZ = 000554 #26-1064
HLRZI = 000555 #26-1065
HLRZM = 000556 #26-1066
HLRZS = 000557 #26-1067
HLTMSG 002213 RG 314-11064 #314-11064 314-11064
HRL = 000504 #27-1069
HRLE = 000534 #27-1071
HRLEI = 000535 #27-1072
HRLEM = 000536 #27-1073
HRLES = 000537 #27-1074
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 17
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
HRLI = 000505 #27-1076
HRLM = 000506 #27-1077
HRLO = 000564 #27-1079
HRLOI = 000565 #27-1080
HRLOM = 000566 #27-1081
HRLOS = 000567 #27-1082
HRLS = 000507 #27-1084
HRLZ = 000514 #27-1086
HRLZI = 000515 #27-1087
HRLZM = 000516 #27-1088
HRLZS = 000517 #27-1089
HRR = 000540 #27-1091
HRRE = 000570 #27-1093
HRREI = 000571 #27-1094
HRREM = 000572 #27-1095
HRRES = 000573 #27-1096
HRRI = 000541 #27-1098
HRRM = 000542 #27-1099
HRRO = 000560 #27-1101
HRROI = 000561 #27-1102
HRROM = 000562 #27-1103
HRROS = 000563 #27-1104
HRRS = 000543 #27-1106
HRRZ = 000550 #27-1108
HRRZI = 000551 #27-1109
HRRZM = 000552 #27-1110
HRRZS = 000553 #27-1111
I = 000000 #229-8389 229-8389 #229-8391 229-8391 #229-8393 229-8393 #229-8395 229-8395 #231-8436
231-8436 #231-8438 231-8438
IBP = 000133 #28-1113
IDFERM 001222 R #321-11300 321-11300
IDIV = 000230 #28-1115
IDIVB = 000233 #28-1116
IDIVI = 000231 #28-1117
IDIVM = 000232 #28-1118
IDPB = 000136 #28-1120
IE.ACT = ****** GX 234-8522
IE.EBX = ****** GX 161-6047 397-13933
IE.INS = ****** GX 234-8520
IFCERM 001254 R #321-11301 321-11301
IFLOP = 100000 #148-5624 #278-10037 #394-13839
ILCERM 003237 R #328-11484 328-11484
ILDB = 000134 #28-1122
ILSERM 003271 R #328-11485 328-11485
IMUL = 000220 #28-1124
IMULB = 000223 #28-1125
IMULI = 000221 #28-1126
IMULM = 000222 #28-1127
IN = 000056 #28-1129
INBUF = 000064 #28-1130
INCMSG 002345 RG 315-11103 #315-11103 315-11103 316-11124 316-11124 317-11139 317-11139 318-11207 318-11207
327-11449 327-11449 330-11510 330-11510
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 18
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
INIDNP 006304 R 143-5453 #144-5501
INIDTC 006312 R 144-5480 #144-5504
INIMSG 002220 RG 314-11070 #314-11070 314-11070 322-11360 322-11360
INIT = 000041 #28-1131
INPUT = 000066 #28-1132
INTMSG 003065 RG 306-10834 323-11383 #323-11383 323-11383
INTROF = 000010 #148-5624 #278-10037 #394-13839
INTRON = 000040 #148-5624 #278-10037 #394-13839
INTSON = 000001 #148-5624 #278-10037 #394-13839
INT10S = 000400 #148-5624 #278-10037 #394-13839
INT11C = 002000 #148-5624 #278-10037 #394-13839
INT11S = 004000 #148-5624 #278-10037 #394-13839
IOCERM 001310 R #321-11302 321-11302
IOMSG 003007 RG 322-11362 #322-11362 322-11362
IOR = 000434 #28-1134 29-1202
IORB = 000437 #28-1135 29-1203
IORI = 000435 #28-1136 30-1220
IORM = 000436 #28-1137 30-1221
IO.ATT = ****** GX 393-13794
IO.DET = ****** GX 214-7925 393-13799
IO.RLB = ****** GX 360-12624
IO.WLB = ****** GX 393-13785
IPCERM 003335 R #328-11486 328-11486
IP.ALL = 000017 #16-622
IP.CRP = 000004 #16-618 16-621 192-7171 304-10742 309-10915
IP.DRP = 000002 #16-619 16-621 192-7178 304-10746 309-10917
IP.FMP = 000010 #16-617 16-621 192-7164 304-10754 309-10919
IP.FSS = 000001 #16-620 16-622 192-7186 304-10758 309-10921
IP.NRM = 000016 #16-621 16-622 16-637
IRCERM 001340 R #321-11303 321-11303
IS.SET = ****** GX 42-1711
ITFERM 001373 R #321-11304 321-11304
ITNERM 001425 R #321-11305 321-11305
JANMSG 002643 RG 267-9685 320-11239 #320-11239 320-11239
JFCL = 000255 #28-1139
JFFO = 000243 #28-1141
JMPMSG 002233 RG 314-11072 #314-11072 314-11072
JRA = 000267 #28-1143
JRST = 000254 #28-1145
JSA = 000266 #28-1147
JSP = 000265 #28-1149
JSR = 000264 #28-1151
JSYS = 000104 #28-1153
JULMSG 002711 RG 267-9691 320-11251 #320-11251 320-11251
JUMP = 000320 #28-1155
JUMPA = 000324 #28-1156
JUMPE = 000322 #28-1157
JUMPG = 000327 #28-1158
JUMPGE = 000325 #28-1159
JUMPL = 000321 #28-1160
JUMPLE = 000323 #28-1161
JUMPN = 000326 #28-1162
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 19
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
JUNMSG 002704 RG 267-9690 320-11249 #320-11249 320-11249
KCNERM 001455 R #321-11307 321-11307
KF.BRM = 001000 #13-479 180-6744
KF.CES = 000100 #13-482 39-1610 189-7058
KF.CLK = 100000 #13-473 39-1608 46-1847 50-1980 88-3543 90-3604 94-3748 143-5456 143-5463
162-6075 162-6079 164-6154 165-6194 165-6200 169-6343 171-6410 174-6529 174-6535
178-6694 180-6747 180-6762 180-6764 217-7997 228-8340 230-8403 280-10103 396-13892
KF.CON = 000200 #13-481 13-483 39-1608 50-1976 143-5463 174-6537 189-7058
KF.DEF = 000200 #13-483 141-5409
KF.KLO = 000400 #13-480 143-5463
KF.MRS = 020000 #13-475 188-7030 189-7058
KF.RUN = 040000 #13-474 39-1608 46-1847 50-1990 73-2996 143-5456 144-5481 164-6154 165-6194
165-6204 171-6427 174-6535 180-6747 180-6758 180-6767 200-7475 202-7538 217-7999
KF.SIM = 010000 #13-476 50-1978 174-6523 180-6744
KF.SMC = 004000 #13-477
KF.SPM = 002000 #13-478 174-6521 180-6744
KLABIN 005114 RG 380-13351 #383-13456
KLAERM 001503 R #321-11308 321-11308
KLAOCT 005140 RG 380-13355 #383-13473
KLHCFH 010306 R #176-6621
KLIMSG 003203 RG 327-11451 #327-11451 327-11451 330-11512 330-11512
KLIOT = 000700 #28-1164
KLMSG 002527 RG 318-11189 #318-11189 318-11189
KLNBIN 005104 RG 381-13390 #383-13451
KLNLGE = 002300 R 249-9061 #251-9099
KLNLGL = ****** GX 249-9059
KLNLOG 002254 R #251-9092
KLNOCT 005134 RG 381-13394 #383-13469
KLNPLN = ****** GX 249-9054
KLNPWD 002300 R 244-8874 248-9027 #251-9101
KLPWRF = 000010 #148-5624 #278-10037 #394-13839
KLRERM 001532 R #321-11309 321-11309
KLSCFH 010416 R 178-6709 #178-6712
KNCERM 001574 R #321-11310 321-11310
KWEERM 001630 R #321-11311 321-11311
K.LSCK = ****** GX 251-9095
LDB = 000135 #29-1166
LG.ALL = 000007 #22-865 255-9290 282-10174 314-11054 318-11170 318-11189 319-11220 319-11220 319-11222
319-11224 319-11229 319-11231 320-11239 320-11241 320-11243 320-11245 320-11247 320-11249
320-11251 320-11253 320-11255 320-11257 320-11259 320-11261 327-11451 330-11508 330-11512
LG.ARG = 000010 #22-858
LG.MAR = 000020 #22-859
LG.MNT = 000004 #22-857 22-865 46-1844 46-1849 283-10200 314-11058 314-11060 314-11062 323-11373
323-11375 323-11377 323-11379 323-11381 323-11383 323-11385 323-11387 323-11389 323-11391
323-11393 326-11422 326-11424 326-11426 326-11428 326-11430 326-11432 326-11434 327-11441
327-11447 327-11459 327-11465 330-11524
LG.MOD = 000040 #22-860
LG.NUL = 000000 #22-854
LG.OPR = 000001 #22-855 22-864 282-10166 314-11044 314-11046 314-11048 314-11056 314-11072 314-11074
314-11076 314-11080 314-11082 314-11084 314-11088 314-11090 315-11101 315-11103 315-11105
315-11107 315-11109 316-11122 316-11124 316-11126 316-11128 316-11130 317-11137 317-11139
317-11141 317-11143 317-11145 318-11183 318-11195 318-11205 318-11207 318-11209 318-11211
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 20
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
318-11213 319-11222 324-11400 324-11402 325-11409 325-11411 325-11413 325-11415 327-11443
327-11449 327-11453 327-11455 327-11463 330-11506 330-11510 330-11514 330-11522 330-11530
LG.PRG = 000002 #22-856 22-864 46-1837 279-10056 283-10203 314-11050 314-11052 314-11064 314-11070
314-11078 314-11086 314-11092 314-11094 316-11116 316-11118 316-11120 318-11152 318-11154
318-11156 318-11158 318-11160 318-11162 318-11164 318-11166 318-11168 318-11173 318-11175
318-11177 318-11179 318-11181 318-11185 318-11187 318-11191 318-11193 318-11197 318-11199
318-11201 318-11203 322-11352 322-11354 322-11356 322-11358 322-11360 322-11362 322-11364
322-11366 327-11445 327-11457 327-11461 327-11465 327-11468 329-11495 329-11497 330-11504
330-11516 330-11518 330-11520 330-11524 330-11527
LG.PRM = 000003 #22-864 22-865 255-9293 282-10170 319-11224
LG.RNG = 000100 #22-861
LG.RPT = 000400 #22-863 213-7875 314-11044 314-11048 314-11050 314-11052 314-11056 314-11058 314-11060
314-11062 314-11064 314-11070 314-11076 314-11078 314-11082 314-11086 314-11092 315-11101
315-11103 315-11105 315-11107 315-11109 316-11116 316-11118 316-11120 316-11122 316-11124
316-11126 316-11128 316-11130 317-11137 317-11139 317-11141 317-11143 317-11145 318-11152
318-11154 318-11156 318-11158 318-11160 318-11162 318-11164 318-11166 318-11168 318-11170
318-11173 318-11175 318-11177 318-11179 318-11181 318-11183 318-11185 318-11187 318-11189
318-11191 318-11193 318-11195 318-11197 318-11199 318-11201 318-11203 318-11205 318-11207
318-11209 318-11211 318-11213 322-11352 322-11354 322-11356 322-11358 322-11360 322-11362
322-11364 322-11366 323-11373 323-11375 323-11377 323-11379 323-11381 323-11383 323-11385
323-11387 323-11389 323-11391 323-11393 327-11441 327-11447 327-11455 327-11459 329-11495
329-11497 330-11504 330-11508 330-11518
LG.STR = 000200 #22-862
LOAD11 = 000004 #148-5624 #278-10037 #394-13839
LOOKUP = 000076 #29-1168
LSH = 000242 #29-1170
LSHC = 000246 #29-1171
MAP = 000257 #29-1173
MARMSG 002664 RG 267-9687 320-11243 #320-11243 320-11243
MAYMSG 002700 RG 267-9689 320-11247 #320-11247 320-11247
MBZTAB 002020 R 154-5813 #155-5862
MCRMSG 002240 RG 314-11074 #314-11074 314-11074
MEMMSG 003212 RG 327-11453 #327-11453 327-11453 330-11514 330-11514
MGNMSG 003076 RG 306-10835 306-10837 323-11385 #323-11385 323-11385
MNTMSG 002567 RG 255-9289 283-10199 319-11220 #319-11220 319-11220 325-11409 325-11409
MONMSG 001033 R 252-9180 #253-9200
MOVE = 000200 #29-1175
MOVEI = 000201 #29-1176
MOVEM = 000202 #29-1177
MOVES = 000203 #29-1178
MOVM = 000214 #29-1180
MOVMI = 000215 #29-1181
MOVMM = 000216 #29-1182
MOVMS = 000217 #29-1183
MOVN = 000210 #29-1185
MOVNI = 000211 #29-1186
MOVNM = 000212 #29-1187
MOVNS = 000213 #29-1188
MOVS = 000204 #29-1190
MOVSI = 000205 #29-1191
MOVSM = 000206 #29-1192
MOVSS = 000207 #29-1193
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 21
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
MPE11 = 001000 #148-5624 #278-10037 #394-13839
MQMSG 002452 RG 318-11168 #318-11168 318-11168
MRAERM 001662 R #321-11313 321-11313
MUL = 000224 #29-1195
MULB = 000227 #29-1196
MULI = 000225 #29-1197
MULM = 000226 #29-1198
M.KTAE = 000010 #152-5756
M.KTEF = 000002 #152-5756
M.KTMG = 000004 #152-5756
M.KTUN = 000006 #152-5756
NDIERM 001722 R #321-11315 321-11315
NEBMSG 000121 R 103-4073 #104-4095
NERERM 001752 R #321-11316 321-11316
NOFMSG 000334 R 116-4544 #117-4552
NOMSG 002105 R 311-10972 #312-10995
NONMSG 001755 R 305-10788 #307-10856 308-10883
NORERM 002014 R #321-11317 321-11317
NOTMSG 003221 RG 327-11455 #327-11455 327-11455
NOVMSG 002747 RG 267-9695 320-11259 #320-11259 320-11259
NPIERM 002054 R #321-11318 321-11318
NRMMSG 003016 RG 323-11373 #323-11373 323-11373
NSKERM 003400 R #328-11488 328-11488
NSTERM 002110 R #321-11319 321-11319
NTIERM 002133 R #321-11320 321-11320
NULMSG 002110 RG 314-11044 #314-11044 314-11044
NULSTP = 000040 #148-5624 #278-10037 #394-13839
NUPE = 000002 #148-5624 #278-10037 #394-13839
NXTMSG 002357 RG 315-11105 #315-11105 315-11105 316-11126 316-11126 317-11141 317-11141 318-11209 318-11209
OAIERM 002163 R #321-11322 321-11322
OCTMSG 002737 RG 267-9694 320-11257 #320-11257 320-11257
OFCERM 002215 R #321-11323 321-11323
OFFMSG 000037 RG #59-2376 123-4762 252-9171 292-10378 293-10389 296-10453 308-10876
OFSMSG 003225 RG 327-11457 #327-11457 327-11457 330-11516 330-11516
ONMSG 000034 RG #59-2374 123-4758 252-9168 293-10393 296-10450 308-10873
OPEN = 000050 #29-1200
OPRMSG 002603 RG 255-9295 283-10205 319-11222 #319-11222 319-11222 325-11411 325-11411
OR = 000434 #29-1202
ORB = 000437 #29-1203
ORCA = 000454 #29-1205
ORCAB = 000457 #29-1206
ORCAI = 000455 #29-1207
ORCAM = 000456 #29-1208
ORCB = 000470 #30-1210
ORCBB = 000473 #30-1211
ORCBI = 000471 #30-1212
ORCBM = 000472 #30-1213
ORCM = 000464 #30-1215
ORCMB = 000467 #30-1216
ORCMI = 000465 #30-1217
ORCMM = 000466 #30-1218
ORI = 000435 #30-1220
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 22
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ORM = 000436 #30-1221
OUT = 000057 #30-1223
OUTBUF = 000065 #30-1224
OUTPUT = 000067 #30-1225
PAG = 000010 #7-244 231-8436 231-8436 231-8438 231-8438
PAGMSG 003012 RG 322-11364 #322-11364 322-11364
PARERC 003436 R 99-3950 99-3950 100-3962 100-3962 100-3973 100-3973 101-3998 101-3998 #102-4017
102-4033 102-4033 103-4054 103-4054
PARERX 003262 R #99-3951 100-3984 101-4006 103-4077
PARMSG 000011 RG #59-2368 102-4018
PARNAM 000021 RG 53-2069 #59-2370 210-7790 212-7861 217-7991
PARUEC 003510 R 99-3943 #102-4030
PAR$$E = 000001 #1-50 59-2367
PAR$$K = 000126 #1-54 59-2367
PAR$$V = 000005 #1-49 59-2367
PCMSG 002455 RG 118-4593 318-11170 #318-11170 318-11170
PCTAB 001764 R 135-5179 #136-5232
PC.AFI = 000020 #13-507
PC.AT0 = 000004 #13-509
PC.AT1 = 000010 #13-508
PC.BIS = 000400 #13-503
PC.CY0 = 004000 #13-500
PC.CY1 = 002000 #13-501
PC.FOV = 001000 #13-502
PC.FUF = 000002 #13-510
PC.LIP = 000040 #13-506
PC.NDV = 000001 #13-511
PC.OVF = 010000 #13-499 129-4949
PC.UIO = 000100 #13-505
PC.USR = 000200 #13-504
PERCLR = 001000 #148-5624 #278-10037 #394-13839
PE.ALL = 000037 #9-335
PE.CES = 000001 #9-330 9-335
PE.CRM = 000004 #9-332 9-335
PE.DRM = 000002 #9-331 9-335
PE.FMP = 000010 #9-333 9-335
PE.FSS = 000020 #9-334 9-335
PHYS = 100000 #148-5624 #278-10037 #394-13839
PI = 000004 #7-243 229-8395 229-8395
PIDENT = 000000 #148-5624 #278-10037 #394-13839
PIMSG 002532 RG 318-11191 #318-11191 318-11191 322-11366 322-11366
POP = 000262 #30-1227
POPJ = 000263 #30-1228
PRGMSG 002614 RG 255-9292 283-10202 319-11224 #319-11224 319-11224 325-11413 325-11413
PRI7 = 000340 #148-5624 #278-10037 #394-13839
PROMPT 000030 RG #59-2372 217-7994
PROPNT = 000021 #148-5624 #278-10037 #394-13839
PRTOFF = 004000 #148-5624 #278-10037 #394-13839
PRVMSG 002364 RG 315-11107 #315-11107 315-11107 316-11128 316-11128 317-11143 317-11143 318-11211 318-11211
PR0 = 000000 #148-5624 #278-10037 #394-13839
PR1 = 000040 #148-5624 #278-10037 #394-13839
PR2 = 000100 #148-5624 #278-10037 #394-13839
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 23
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
PR3 = 000140 #148-5624 #278-10037 #394-13839
PR4 = 000200 #148-5624 #278-10037 #394-13839
PR5 = 000240 #148-5624 #278-10037 #394-13839
PR6 = 000300 #148-5624 #278-10037 #394-13839
PR7 = 000340 #148-5624 #278-10037 #394-13839
PS = 177776 #148-5624 241-8757 241-8757 241-8768 248-9014 248-9014 249-9037 249-9044 249-9044
249-9048 #278-10037 #394-13839
PSENTB 002474 R 309-10893 #309-10911
PSTMSG 003234 RG 327-11459 #327-11459 327-11459 330-11518 330-11518
PSWW1 = 000005 #148-5624 #278-10037 #394-13839
PSWW10 = 000014 #148-5624 #278-10037 #394-13839
PSWW11 = 000015 #148-5624 #278-10037 #394-13839
PSWW12 = 000016 #148-5624 #278-10037 #394-13839
PSWW13 = 000017 #148-5624 #278-10037 #394-13839
PSWW2 = 000006 #148-5624 #278-10037 #394-13839
PSWW3 = 000007 #148-5624 #278-10037 #394-13839
PSWW4 = 000010 #148-5624 #278-10037 #394-13839
PSWW5 = 000011 #148-5624 #278-10037 #394-13839
PSWW6 = 000012 #148-5624 #278-10037 #394-13839
PSWW7 = 000013 #148-5624 #278-10037 #394-13839
PS.NRM = 001416 #16-637 197-7399 304-10734
PTLERM 002245 R #321-11325 321-11325
PTOATM 000267 R 109-4287 #109-4306
PTRTEM 000150 R 105-4128 #108-4249
PTRTHM 000220 R 108-4234 #108-4251
PULSE = 000020 #148-5624 #278-10037 #394-13839
PUSH = 000261 #30-1230
PUSHJ = 000260 #30-1231
QSIZE = 000023 #148-5624 #278-10037 #394-13839
QTRMSG 003117 RG 306-10841 323-11391 #323-11391 323-11391
QUTMSG 002310 RG 314-11088 #314-11088 314-11088
Q.BYCT = 000016 #21-812 360-12627 393-13788
Q.IBUF = 000014 #21-810
Q.IOAE = 000012 #360-12624 #393-13785 #393-13794 #393-13799
Q.IOEF = 000006 #360-12624 #393-13785 #393-13794 #393-13799
Q.IOFN = 000002 #360-12624 #393-13785 #393-13794 #393-13799
Q.IOLU = 000004 #360-12624 #393-13785 #393-13794 #393-13799
Q.IOPL = 000014 #21-809 21-810 21-811 21-812 21-813 #360-12624 360-12626 #393-13785 393-13787
#393-13794 #393-13799
Q.IOPR = 000007 #360-12624 #393-13785 #393-13794 #393-13799
Q.IOSB = 000010 #360-12624 #393-13785 #393-13794 #393-13799
Q.OBUF = 000014 #21-811
Q.OVFC = 000020 #21-813 393-13789
RAMIS0 = 010000 #148-5624 #278-10037 #394-13839
RDCPT1 002070 R 190-7091 #192-7156
RDCPT2 002050 R 191-7110 #191-7137
RDCPT3 002060 R 190-7092 191-7107 #191-7145
RDPITB 001636 R 131-4989 #131-5007
RDPITE = 001652 R 131-4999 #131-5014
REGMSG 002535 RG 318-11193 #318-11193 318-11193
REGTAB 005046 R 352-12294 #353-12317
RELEAS = 000071 #30-1233
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 24
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
REMMSG 002627 RG 255-9285 319-11229 #319-11229 319-11229
RENAME = 000055 #30-1234
REPIRC 013262 R 225-8254 #225-8260
REQKLD 000162 R 256-9305 #256-9314
RESETT 002134 R 195-7275 #195-7301
RFMAD0 = 100000 #148-5624 #278-10037 #394-13839
RFMAD1 = 040000 #148-5624 #278-10037 #394-13839
RFMAD2 = 020000 #148-5624 #278-10037 #394-13839
RFMAD3 = 010000 #148-5624 #278-10037 #394-13839
RGDTEN = 000060 RG #156-5892
RLDMSG 003250 RG 327-11461 #327-11461 327-11461 330-11520 330-11520
RM = 000010 #148-5624 #278-10037 #394-13839
ROT = 000241 #30-1236
ROTC = 000245 #30-1237
RPMERM 002275 R #321-11327 321-11327
RPTMSG 002244 RG 314-11076 #314-11076 314-11076 327-11463 327-11463 330-11522 330-11522
RQSKLD 000000 R 79-3244 #79-3250
RSAKCN 013436 R 228-8341 #228-8358
RSAPRI 002150 R 229-8367 #229-8388
RSERRI 002156 R 229-8371 #229-8390
RSPGI0 002200 R 230-8420 #231-8435
RSPGI1 002206 R 230-8422 #231-8437
RSPKCN 013614 R 230-8404 #231-8429
RSTEND = 002142 R 195-7287 #195-7308
RSTIOI 002164 R 229-8375 #229-8392
RSTMSG 002253 RG 314-11078 #314-11078 314-11078
RSTPII 002172 R 229-8379 #229-8394
RTYMSG 003257 RG 327-11465 #327-11465 327-11465 330-11524 330-11524
RUNITN 013706 R 233-8504 #234-8524
RUNMSG 002261 RG 314-11080 #314-11080 314-11080
RUNNST 013714 R 234-8521 #234-8527
RUNTAA 013722 R 234-8523 #234-8530
R.QSGC = 000015 #79-3251 #235-8555 #256-9315
R.QSPC = 000014 #79-3251 #235-8555 #256-9315
R.QSPN = 000006 #79-3251 #235-8555 #256-9315
R.QSPR = 000012 #79-3251 #235-8555 #256-9315
R.QSTN = 000002 #79-3251 #235-8555 #256-9315
SATMSG 001111 R 252-9185 #253-9210
SBRMSG 002560 RG 318-11201 #318-11201 318-11201
SBRTAB 001734 R 132-5065 #134-5134
SCCCLE 020226 R 282-10179 #282-10187
SCCLKT 002414 R 299-10547 #301-10625
SCD = 000040 #148-5624 #278-10037 #394-13839
SCDCDI 014346 R 240-8703 #242-8774
SCDDAV 014354 R 240-8710 #242-8777
SCDNDI 014362 R 240-8716 #242-8780
SCDNTI 014370 R 240-8720 #242-8783
SCFERM 002335 R #321-11329 321-11329
SCKIPC 014562 R #245-8895 246-8907 246-8911 246-8913
SCKKWE 015126 R 247-8982 247-8985 247-8988 #247-8992
SCKMS0 000630 R 244-8865 #251-9105
SCKMS1 000643 R 246-8918 246-8924 #251-9107
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 25
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
SCKMS2 000667 R 246-8932 247-8973 #251-9109
SCKMS3 000714 R 248-9003 #251-9111
SCKMS4 000743 R 244-8856 #251-9113
SCKNPI 014540 R 244-8869 #245-8886
SCKPTL 014546 R 244-8872 #245-8889
SCKSKI 014554 R 244-8854 #245-8892
SCPART 002426 R 299-10552 299-10559 #301-10631
SCPILS 021356 R 300-10576 #301-10613
SCPSCF 021364 R #301-10616 301-10629
SCPSPF 021372 R #301-10619 301-10635
SCRMSG 002564 RG 318-11203 #318-11203 318-11203
SCRTAB 001750 R 132-5069 #134-5142
SEPMSG 002725 RG 267-9693 320-11255 #320-11255 320-11255
SETA = 000424 #30-1239
SETAB = 000427 #30-1240
SETAI = 000425 #30-1241
SETAM = 000426 #30-1242
SETCA = 000450 #30-1244
SETCAB = 000453 #30-1245
SETCAI = 000451 #30-1246
SETCAM = 000452 #30-1247
SETCM = 000460 #30-1249
SETCMB = 000463 #30-1250
SETCMI = 000461 #30-1251
SETCMM = 000462 #30-1252
SETM = 000414 #31-1254
SETMB = 000417 #31-1255
SETMI = 000415 #31-1256
SETMM = 000416 #31-1257
SETMSG 002265 RG 314-11082 #314-11082 314-11082
SETO = 000474 #31-1259
SETOB = 000477 #31-1260
SETOI = 000475 #31-1261
SETOM = 000476 #31-1262
SETSTS = 000060 #31-1264
SETZ = 000400 #31-1266
SETZB = 000403 #31-1267
SETZI = 000401 #31-1268
SETZM = 000402 #31-1269
SHUMSG 002271 RG 314-11084 #314-11084 314-11084
SKIERM 002364 R #321-11330 321-11330
SKIP = 000330 #31-1271
SKIPA = 000334 #31-1272
SKIPE = 000332 #31-1273
SKIPG = 000337 #31-1274
SKIPGE = 000335 #31-1275
SKIPL = 000331 #31-1276
SKIPLE = 000333 #31-1277
SKIPN = 000336 #31-1278
SLOMSG 003127 RG 306-10842 323-11393 #323-11393 323-11393
SOJ = 000360 #31-1280
SOJA = 000364 #31-1281
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 26
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
SOJE = 000362 #31-1282
SOJG = 000367 #31-1283
SOJGE = 000365 #31-1284
SOJL = 000361 #31-1285
SOJLE = 000363 #31-1286
SOJN = 000366 #31-1287
SOS = 000370 #31-1289
SOSA = 000374 #31-1290
SOSE = 000372 #31-1291
SOSG = 000377 #31-1292
SOSGE = 000375 #31-1293
SOSL = 000371 #31-1294
SOSLE = 000373 #31-1295
SOSN = 000376 #31-1296
SPCEST 001604 R 103-4058 #103-4082
SPFERM 002441 R #321-11331 321-11331
SSTLEN = 000010 G #54-2231 145-5549
SSTTBE = 000212 RG #54-2232 105-4125
STAMSG 003426 R 353-12320 #353-12331
STASZI 020034 R 279-10054 #279-10067
STAT = 174434 #148-5624 #278-10037 #394-13839
STATO = 000061 #31-1298
STATUS = 000022 #31-1299 #148-5624 #278-10037 #394-13839
STATZ = 000063 #31-1300
STRMSG 002302 RG 314-11086 #314-11086 314-11086
STUCAE 012174 R 206-7652 #206-7670
STUUNL 012202 R 206-7667 #206-7673
ST.CED = 000100 #12-452 12-467
ST.CLE = 000001 #12-465 12-467
ST.CTD = 040000 #12-437
ST.CTE = 010000 #12-441 12-467
ST.DW1 = 002000 #12-444
ST.DXD = 000004 #12-460
ST.EBS = 000100 #12-451
ST.EDB = 004000 #12-442
ST.EPE = 000020 #12-455 12-467 48-1915
ST.IDS = 000010 #12-459
ST.IEN = 000040 #12-454
ST.ION = 000001 #12-464
ST.MBZ = 000000 #12-469 155-5865
ST.MOD = 000010 #12-457 143-5452
ST.MPE = 001000 #12-445 12-467
ST.NST = 000040 #12-453
ST.RIZ = 010000 #12-440
ST.RST = 011121 #12-467
ST.SEP = 000004 #12-461
ST.STE = 000002 #12-463
ST.TED = 000200 #12-449
ST.TER = 000002 #12-462
ST.TXD = 100000 #12-435
ST.TXE = 020000 #12-438
ST.XDB = 000400 #12-447
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 27
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
SUB = 000274 #32-1302
SUBB = 000277 #32-1303
SUBI = 000275 #32-1304
SUBM = 000276 #32-1305
SUNMSG 001123 R 252-9186 #253-9212
SWR = 177570 #148-5624 #278-10037 #394-13839
SWSLLT = 100000 #148-5624 #278-10037 #394-13839
SXCT = 000106 #32-1307
SZIERM 002471 R #321-11332 321-11332
TAAERM 002525 R #321-11334 321-11334
TC.CON = 000377 #22-872
TC.CTC = 000002 #22-869 42-1715 107-4207
TC.ERR = 000000 #22-871 39-1611 41-1682 41-1685 43-1753 46-1859 48-1919 50-1999 71-2923
73-3006 77-3176 77-3179 82-3354 85-3450 91-3659 91-3662 91-3665 94-3769
111-4381 144-5502 144-5505 149-5663 155-5855 158-5954 162-6076 162-6080 162-6083
162-6086 165-6211 167-6262 169-6355 172-6452 176-6622 178-6713 206-7671 206-7674
213-7895 221-8116 221-8119 221-8122 225-8261 228-8359 231-8430 234-8525 234-8528
234-8531 242-8775 242-8778 242-8781 242-8784 245-8887 245-8890 245-8893 245-8897
247-8993 262-9486 262-9489 262-9492 262-9495 265-9618 265-9621 279-10068 282-10188
301-10614 301-10617 301-10620 335-11704 360-12614 360-12617 363-12734 365-12815 371-13022
372-13062 374-13124 374-13127 397-13935 397-13938
TC.RST = 000001 #22-870
TDC = 000650 #32-1309
TDCA = 000654 #32-1310
TDCE = 000652 #32-1311
TDCN = 000656 #32-1312
TDMSG0 000611 R 220-8096 #221-8127
TDN = 000610 #32-1314
TDNA = 000614 #32-1315
TDNE = 000612 #32-1316
TDNN = 000616 #32-1317
TDO = 000670 #32-1319
TDOA = 000674 #32-1320
TDOE = 000672 #32-1321
TDON = 000676 #32-1322
TDZ = 000630 #32-1324
TDZA = 000634 #32-1325
TDZE = 000632 #32-1326
TDZN = 000636 #32-1327
TENAD1 = 174410 #148-5624 #278-10037 #394-13839
TENAD2 = 174412 #148-5624 #278-10037 #394-13839
TENMSG 002414 RG 287-10307 316-11120 #316-11120 316-11120 318-11195 318-11195 324-11402 324-11402 329-11495
329-11495
TFRMSG 003316 R 349-12200 #350-12245
TFWMSG 003333 R 349-12207 #350-12247
TFXMSG 003350 R 349-12214 #350-12249
THSMSG 002375 RG 315-11109 #315-11109 315-11109 316-11130 316-11130 317-11145 317-11145 318-11213 318-11213
THUMSG 001067 R 252-9183 #253-9206
TLC = 000641 #32-1329
TLCA = 000645 #32-1330
TLCE = 000643 #32-1331
TLCN = 000647 #32-1332
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 28
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TLN = 000601 #32-1334
TLNA = 000605 #32-1335
TLNE = 000603 #32-1336
TLNN = 000607 #32-1337
TLO = 000661 #32-1339
TLOA = 000665 #32-1340
TLOE = 000663 #32-1341
TLON = 000667 #32-1342
TLZ = 000621 #32-1344
TLZA = 000625 #32-1345
TLZE = 000623 #32-1346
TLZN = 000627 #32-1347
TOBM = 000004 #148-5624 #278-10037 #394-13839
TOD = 000003 #148-5624 #278-10037 #394-13839
TOIP = 000002 #148-5624 #278-10037 #394-13839
TOIT = 000001 #148-5624 #278-10037 #394-13839
TORERM 002562 R #321-11335 321-11335
TO10 = 000200 #148-5624 #278-10037 #394-13839
TO10AD = 174420 #148-5624 #278-10037 #394-13839
TO10BC = 174414 #148-5624 #278-10037 #394-13839
TO10BM = 000001 #148-5624 #278-10037 #394-13839
TO10DB = 000400 #148-5624 #278-10037 #394-13839
TO10DN = 100000 #148-5624 #278-10037 #394-13839
TO10DT = 174424 #148-5624 #278-10037 #394-13839
TO10ER = 020000 #148-5624 #278-10037 #394-13839
TO11 = 000100 #148-5624 #278-10037 #394-13839
TO11AD = 174422 #148-5624 #278-10037 #394-13839
TO11BC = 174416 #148-5624 #278-10037 #394-13839
TO11BM = 020000 #148-5624 #278-10037 #394-13839
TO11DB = 004000 #148-5624 #278-10037 #394-13839
TO11DN = 000200 #148-5624 #278-10037 #394-13839
TO11DT = 174426 #148-5624 #278-10037 #394-13839
TO11ER = 000002 #148-5624 #278-10037 #394-13839
TPDDCK 022564 R 334-11655 #335-11703
TPDDVD 005040 R #333-11642 334-11670
TPDDVS 005032 R #333-11640 334-11669
TPDRMN 005024 R #333-11638 334-11658 334-11668 335-11696
TRADDR 005056 R 355-12388 355-12399 #356-12420
TRC = 000640 #32-1349
TRCA = 000644 #32-1350
TRCE = 000642 #32-1351
TRCN = 000646 #32-1352
TRDATA 005064 R 355-12393 355-12403 #356-12422
TRKMSG 003265 RG 327-11468 #327-11468 327-11468 330-11527 330-11527
TRN = 000600 #33-1354
TRNA = 000604 #33-1355
TRNE = 000602 #33-1356
TRNN = 000606 #33-1357
TRO = 000660 #33-1359
TROA = 000664 #33-1360
TROE = 000662 #33-1361
TRON = 000666 #33-1362
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 29
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TRZ = 000620 #33-1364
TRZA = 000624 #33-1365
TRZE = 000622 #33-1366
TRZN = 000626 #33-1367
TR.ALL = 000077 #13-494
TR.DEP = 000020 #13-492 13-494 160-6023
TR.DTE = 000040 #13-493 13-494 155-5844
TR.EXM = 000010 #13-491 13-494 160-6012
TR.FRD = 000002 #13-489 13-494 167-6255
TR.FWR = 000004 #13-490 13-494 169-6346
TR.FXC = 000001 #13-488 13-494 172-6444
TSC = 000651 #33-1369
TSCA = 000655 #33-1370
TSCAMB 013106 R 219-8070 #221-8114
TSCE = 000653 #33-1371
TSCN = 000657 #33-1372
TSCNSK 013120 R 219-8079 #221-8118
TSCWRM 013126 R 219-8082 #221-8121
TSN = 000611 #33-1374
TSNA = 000615 #33-1375
TSNE = 000613 #33-1376
TSNN = 000617 #33-1377
TSO = 000671 #33-1379
TSOA = 000675 #33-1380
TSOE = 000673 #33-1381
TSON = 000677 #33-1382
TSZ = 000631 #33-1384
TSZA = 000635 #33-1385
TSZE = 000633 #33-1386
TSZN = 000637 #33-1387
TTCALL = 000051 #33-1389
TUEMSG 001043 R 252-9181 #253-9202
TYDMTB 002364 R 266-9663 #267-9684
TYODIE 026400 R 390-13717 390-13719 390-13721 390-13723 #391-13734
UCDMSG 003274 RG 329-11497 #329-11497 329-11497
UECMSG 000057 R 102-4044 #102-4048
UECMSP 001602 R 102-4032 #102-4043
UGETF = 000073 #33-1391
UJEN = 000100 #33-1393
UNASG1 = 000032 #148-5624 #278-10037 #394-13839
UNASG2 = 000033 #148-5624 #278-10037 #394-13839
UNASG3 = 000034 #148-5624 #278-10037 #394-13839
UNASG4 = 000035 #148-5624 #278-10037 #394-13839
UNASG5 = 000036 #148-5624 #278-10037 #394-13839
UNASG6 = 000037 #148-5624 #278-10037 #394-13839
UNLERM 002612 R #321-11337 321-11337
USETI = 000074 #33-1395
USETO = 000075 #33-1396
USRMSG 002636 RG 255-9282 319-11231 #319-11231 319-11231 325-11415 325-11415
VERMSG 003306 RG 330-11530 #330-11530 330-11530
VFYERM 002650 R #321-11339 321-11339
VF.DSP = 000060 #21-827
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 30
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
VF.FFD = 000061 #21-828
VF.INT = 000000 #21-825 393-13785
VF.OVR = 000053 #21-829
VF.PRM = 000044 #21-830
VF.SSP = 000040 #21-826
VMAMSG 002547 RG 118-4595 318-11197 #318-11197 318-11197
VMATB 002000 R 135-5187 #136-5240
VMHMSG 002553 RG 318-11199 #318-11199 318-11199
VMHTB 002006 R 135-5191 #136-5244
WCMMSG 001363 R 283-10196 #283-10212
WCMSG0 001673 R 305-10779 #307-10848
WCMSG1 001717 R 305-10781 #307-10850
WCMSG2 001733 R 306-10808 #307-10852
WCMSG3 001745 R 306-10815 #307-10854
WEDMSG 001054 R 252-9182 #253-9204
WEP = 000010 #148-5624 #278-10037 #394-13839
WHAMSG 002315 RG 314-11090 #314-11090 314-11090
WHDMS0 000761 R 252-9153 #253-9195
WHDMS1 001007 R 252-9166 #253-9197
WHIMSG 001403 R 285-10247 #285-10269
WHKMRB 001272 R 254-9254 #257-9333
WHKMSA 001263 R 254-9247 #257-9331
WHKMSI 001315 R 254-9250 #257-9335
WHKMSK 001326 R 255-9280 #257-9337
WHKMS0 001133 R 254-9242 #257-9321
WHKMS1 001144 R 254-9244 #257-9323
WHKMS2 001155 R 255-9265 #257-9325
WHKMS3 001203 R 255-9272 #257-9327
WHKMS4 001233 R 255-9287 #257-9329
WHMMSG 001443 R 287-10305 #287-10317
WHOMSG 001455 R 289-10338 #289-10347
WHRMSG 001423 R 285-10254 #285-10271
WHTMSG 001537 R 296-10448 #297-10474
WPMSG0 001762 R 308-10869 #310-10927
WPMSG1 002014 R 308-10871 #310-10929
WPMSG2 002042 R 308-10879 #310-10931
WRLMSG 001476 R 292-10376 #293-10402
WRMERM 002704 R #321-11341 321-11341
WRTMSG 001517 R 293-10387 #293-10404
WVMSG1 001557 R 297-10461 #297-10476
WVMSG2 001601 R 297-10465 #297-10478
XCT = 000256 #33-1398
XCTMSG 002322 RG 314-11092 #314-11092 314-11092
XOR = 000430 #33-1400
XORB = 000433 #33-1401
XORI = 000431 #33-1402
XORM = 000432 #33-1403
XR = 000000 #229-8389 229-8389 #229-8391 229-8391 #229-8393 229-8393 #229-8395 229-8395 #231-8436
231-8436 #231-8438 231-8438
XTOERM 003015 R #321-11345 321-11345
YESMSG 002101 R 311-10968 #312-10993
YONMSG 002062 R 311-10961 #312-10991
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 31
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
YORERM 002765 R #321-11343 321-11343
ZERDPB 000272 R *396-13909 *396-13910 397-13919 #397-13943
ZERESD 026716 R 397-13934 #397-13937
ZERMSG 002326 RG 314-11094 #314-11094 314-11094
ZSTOP = 040000 #148-5624 #278-10037 #394-13839
$DIV = ****** GX 241-8754 241-8754 268-9728 268-9728 268-9732 268-9732 392-13765 392-13765
$DSW = ****** GX 42-1711 161-6047 234-8519 397-13933
$MUL = ****** GX 237-8601 237-8601 240-8726 240-8726 264-9576 264-9576 264-9580 264-9580 265-9596
265-9596 265-9606 265-9606
$$ = 000037 #35-1462 35-1462 #37-1511 37-1511 #37-1518 37-1518 #37-1520 37-1520 #39-1600
39-1600 #40-1638 40-1638 #43-1746 43-1746 #45-1806 45-1806 #48-1914 48-1914
#50-1974 50-1974 #50-1982 50-1982 #50-1985 50-1985 #50-1989 50-1989 #64-2609
64-2609 #66-2711 66-2711 #68-2813 68-2813 #69-2850 69-2850 #71-2884 71-2884
#71-2885 71-2885 #71-2889 71-2889 #71-2890 71-2890 #71-2894 71-2894 #71-2896
71-2896 #71-2900 71-2900 #71-2902 71-2902 #73-2982 73-2982 #73-2987 73-2987
#73-2999 73-2999 #74-3032 74-3032 #74-3033 74-3033 #74-3034 74-3034 #74-3040
74-3040 #74-3042 74-3042 #74-3045 74-3045 #74-3046 74-3046 #74-3047 74-3047
#74-3049 74-3049 #74-3050 74-3050 #75-3082 75-3082 #75-3083 75-3083 #75-3084
75-3084 #75-3091 75-3091 #75-3092 75-3092 #75-3095 75-3095 #76-3122 76-3122
#76-3123 76-3123 #76-3124 76-3124 #79-3242 79-3242 #81-3311 81-3311 #81-3314
81-3314 #81-3318 81-3318 #81-3322 81-3322 #81-3323 81-3323 #82-3332 82-3332
#82-3341 82-3341 #82-3343 82-3343 #82-3344 82-3344 #82-3346 82-3346 #83-3366
83-3366 #83-3370 83-3370 #83-3374 83-3374 #83-3378 83-3378 #83-3388 83-3388
#84-3419 84-3419 #84-3422 84-3422 #84-3426 84-3426 #85-3433 85-3433 #85-3441
85-3441 #85-3443 85-3443 #85-3444 85-3444 #85-3446 85-3446 #86-3462 86-3462
#86-3466 86-3466 #86-3470 86-3470 #86-3474 86-3474 #88-3534 88-3534 #88-3535
88-3535 #88-3540 88-3540 #88-3541 88-3541 #88-3545 88-3545 #88-3548 88-3548
#89-3584 89-3584 #89-3587 89-3587 #89-3592 89-3592 #89-3593 89-3593 #89-3596
89-3596 #90-3603 90-3603 #90-3625 90-3625 #90-3627 90-3627 #90-3628 90-3628
#90-3629 90-3629 #90-3631 90-3631 #90-3632 90-3632 #91-3640 91-3640 #91-3645
91-3645 #91-3648 91-3648 #91-3650 91-3650 #91-3651 91-3651 #91-3652 91-3652
#92-3677 92-3677 #92-3681 92-3681 #92-3685 92-3685 #92-3689 92-3689 #92-3700
92-3700 #93-3732 93-3732 #93-3735 93-3735 #93-3740 93-3740 #94-3747 94-3747
#94-3759 94-3759 #94-3761 94-3761 #94-3762 94-3762 #94-3763 94-3763 #94-3765
94-3765 #95-3781 95-3781 #95-3785 95-3785 #95-3789 95-3789 #95-3793 95-3793
#96-3835 96-3835 #96-3837 96-3837 #99-3950 99-3950 #100-3962 100-3962 #100-3967
100-3967 #100-3973 100-3973 #100-3977 100-3977 #100-3980 100-3980 #100-3983 100-3983
#101-3998 101-3998 #101-4003 101-4003 #101-4005 101-4005 #102-4019 102-4019 #102-4021
102-4021 #102-4023 102-4023 #102-4025 102-4025 #102-4026 102-4026 #102-4033 102-4033
#102-4035 102-4035 #103-4054 103-4054 #103-4055 103-4055 #103-4063 103-4063 #103-4064
103-4064 #103-4065 103-4065 #103-4074 103-4074 #105-4127 105-4127 #105-4129 105-4129
#105-4131 105-4131 #105-4132 105-4132 #107-4197 107-4197 #107-4203 107-4203 #107-4217
107-4217 #107-4219 107-4219 #108-4235 108-4235 #108-4236 108-4236 #108-4242 108-4242
#109-4283 109-4283 #109-4286 109-4286 #109-4288 109-4288 #109-4290 109-4290 #109-4291
109-4291 #109-4296 109-4296 #111-4370 111-4370 #111-4371 111-4371 #115-4481 115-4481
#115-4487 115-4487 #115-4488 115-4488 #115-4489 115-4489 #115-4491 115-4491 #115-4492
115-4492 #115-4493 115-4493 #115-4495 115-4495 #116-4524 116-4524 #116-4525 116-4525
#116-4526 116-4526 #116-4527 116-4527 #116-4531 116-4531 #116-4538 116-4538 #116-4545
116-4545 #118-4590 118-4590 #118-4592 118-4592 #118-4594 118-4594 #118-4596 118-4596
#118-4597 118-4597 #118-4598 118-4598 #120-4637 120-4637 #120-4639 120-4639 #120-4640
120-4640 #120-4642 120-4642 #120-4644 120-4644 #120-4645 120-4645 #120-4646 120-4646
#120-4648 120-4648 #121-4676 121-4676 #121-4680 121-4680 #121-4684 121-4684 #122-4692
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 32
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
122-4692 #122-4694 122-4694 #122-4695 122-4695 #122-4696 122-4696 #122-4698 122-4698
#122-4699 122-4699 #123-4750 123-4750 #123-4752 123-4752 #123-4753 123-4753 #123-4754
123-4754 #123-4757 123-4757 #124-4769 124-4769 #124-4771 124-4771 #124-4774 124-4774
#124-4776 124-4776 #124-4779 124-4779 #124-4781 124-4781 #124-4784 124-4784 #125-4802
125-4802 #125-4803 125-4803 #125-4809 125-4809 #129-4932 129-4932 #129-4934 129-4934
#129-4939 129-4939 #129-4941 129-4941 #129-4946 129-4946 #131-4994 131-4994 #131-4996
131-4996 #133-5081 133-5081 #133-5083 133-5083 #133-5088 133-5088 #133-5090 133-5090
#135-5193 135-5193 #135-5201 135-5201 #136-5211 136-5211 #136-5216 136-5216 #138-5305
138-5305 #140-5367 140-5367 #143-5451 143-5451 #143-5454 143-5454 #143-5462 143-5462
#143-5467 143-5467 #146-5567 146-5567 #146-5568 146-5568 #149-5654 149-5654 #149-5658
149-5658 #150-5691 150-5691 #150-5701 150-5701 #151-5732 151-5732 #158-5936 158-5936
#158-5941 158-5941 #158-5943 158-5943 #160-6010 160-6010 #160-6014 160-6014 #160-6021
160-6021 #160-6025 160-6025 #161-6051 161-6051 #161-6052 161-6052 #164-6158 164-6158
#164-6160 164-6160 #165-6177 165-6177 #165-6179 165-6179 #165-6180 165-6180 #165-6183
165-6183 #165-6186 165-6186 #165-6196 165-6196 #165-6202 165-6202 #165-6206 165-6206
#167-6257 167-6257 #169-6348 169-6348 #172-6446 172-6446 #174-6525 174-6525 #174-6528
174-6528 #174-6531 174-6531 #175-6580 175-6580 #175-6583 175-6583 #176-6591 176-6591
#176-6599 176-6599 #176-6612 176-6612 #176-6616 176-6616 #176-6617 176-6617 #177-6662
177-6662 #177-6665 177-6665 #178-6701 178-6701 #178-6703 178-6703 #180-6749 180-6749
#180-6751 180-6751 #180-6760 180-6760 #180-6766 180-6766 #181-6807 181-6807 #181-6809
181-6809 #183-6839 183-6839 #183-6842 183-6842 #183-6848 183-6848 #183-6851 183-6851
#183-6856 183-6856 #185-6913 185-6913 #185-6919 185-6919 #185-6925 185-6925 #185-6929
185-6929 #185-6934 185-6934 #187-6972 187-6972 #187-6974 187-6974 #187-6980 187-6980
#187-6983 187-6983 #187-6987 187-6987 #187-6990 187-6990 #188-7029 188-7029 #188-7031
188-7031 #189-7040 189-7040 #189-7041 189-7041 #189-7043 189-7043 #189-7048 189-7048
#189-7052 189-7052 #189-7055 189-7055 #189-7057 189-7057 #190-7088 190-7088 #190-7096
190-7096 #193-7220 193-7220 #193-7229 193-7229 #195-7274 195-7274 #195-7276 195-7276
#195-7279 195-7279 #195-7280 195-7280 #195-7281 195-7281 #195-7282 195-7282 #195-7286
195-7286 #195-7291 195-7291 #196-7343 196-7343 #197-7393 197-7393 #197-7398 197-7398
#199-7436 199-7436 #199-7437 199-7437 #199-7440 199-7440 #199-7442 199-7442 #199-7446
199-7446 #200-7477 200-7477 #201-7506 201-7506 #201-7510 201-7510 #202-7541 202-7541
#204-7603 204-7603 #206-7654 206-7654 #206-7655 206-7655 #206-7657 206-7657 #206-7658
206-7658 #206-7661 206-7661 #207-7704 207-7704 #208-7742 208-7742 #208-7744 208-7744
#208-7747 208-7747 #212-7862 212-7862 #213-7871 213-7871 #213-7873 213-7873 #213-7881
213-7881 #213-7882 213-7882 #213-7891 213-7891 #216-7980 216-7980 #217-7992 217-7992
#217-7995 217-7995 #217-8007 217-8007 #217-8009 217-8009 #217-8012 217-8012 #219-8050
219-8050 #219-8051 219-8051 #219-8061 219-8061 #220-8091 220-8091 #220-8093 220-8093
#220-8095 220-8095 #220-8097 220-8097 #220-8103 220-8103 #220-8104 220-8104 #225-8251
225-8251 #225-8253 225-8253 #225-8255 225-8255 #225-8257 225-8257 #227-8321 227-8321
#227-8323 227-8323 #227-8327 227-8327 #227-8331 227-8331 #227-8332 227-8332 #228-8342
228-8342 #228-8343 228-8343 #228-8344 228-8344 #228-8345 228-8345 #228-8346 228-8346
#228-8354 228-8354 #228-8355 228-8355 #230-8405 230-8405 #230-8418 230-8418 #230-8421
230-8421 #230-8423 230-8423 #233-8502 233-8502 #233-8503 233-8503 #233-8506 233-8506
#233-8507 233-8507 #237-8601 237-8601 #238-8635 238-8635 #240-8711 240-8711 #240-8715
240-8715 #240-8719 240-8719 #240-8726 240-8726 #241-8754 241-8754 #244-8847 244-8847
#244-8857 244-8857 #244-8860 244-8860 #244-8862 244-8862 #244-8866 244-8866 #244-8868
244-8868 #246-8919 246-8919 #246-8923 246-8923 #246-8925 246-8925 #246-8928 246-8928
#246-8933 246-8933 #246-8937 246-8937 #247-8974 247-8974 #247-8977 247-8977 #248-9004
248-9004 #248-9007 248-9007 #248-9008 248-9008 #248-9010 248-9010 #248-9012 248-9012
#249-9058 249-9058 #250-9082 250-9082 #252-9142 252-9142 #252-9154 252-9154 #252-9158
252-9158 #252-9159 252-9159 #252-9161 252-9161 #252-9162 252-9162 #252-9164 252-9164
#252-9165 252-9165 #252-9167 252-9167 #254-9241 254-9241 #254-9243 254-9243 #254-9255
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 33
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
254-9255 #255-9264 255-9264 #255-9266 255-9266 #255-9268 255-9268 #255-9270 255-9270
#255-9271 255-9271 #255-9273 255-9273 #255-9275 255-9275 #255-9277 255-9277 #255-9278
255-9278 #255-9281 255-9281 #255-9286 255-9286 #255-9288 255-9288 #256-9304 256-9304
#259-9389 259-9389 #259-9390 259-9390 #259-9392 259-9392 #260-9416 260-9416 #260-9419
260-9419 #260-9422 260-9422 #260-9428 260-9428 #260-9429 260-9429 #260-9431 260-9431
#260-9438 260-9438 #263-9541 263-9541 #263-9544 263-9544 #264-9551 264-9551 #264-9554
264-9554 #264-9560 264-9560 #264-9563 264-9563 #264-9568 264-9568 #264-9576 264-9576
#264-9580 264-9580 #265-9596 265-9596 #265-9599 265-9599 #265-9600 265-9600 #265-9606
265-9606 #266-9659 266-9659 #266-9660 266-9660 #266-9664 266-9664 #266-9665 266-9665
#266-9669 266-9669 #267-9677 267-9677 #268-9728 268-9728 #268-9732 268-9732 #268-9737
268-9737 #269-9745 269-9745 #269-9746 269-9746 #269-9750 269-9750 #269-9753 269-9753
#271-9817 271-9817 #271-9824 271-9824 #271-9829 271-9829 #272-9861 272-9861 #272-9862
272-9862 #272-9863 272-9863 #273-9870 273-9870 #275-9929 275-9929 #275-9942 275-9942
#275-9944 275-9944 #277-10003 277-10003 #277-10006 277-10006 #279-10042 279-10042 #279-10046
279-10046 #279-10052 279-10052 #279-10053 279-10053 #279-10055 279-10055 #279-10058 279-10058
#279-10061 279-10061 #280-10095 280-10095 #280-10100 280-10100 #280-10101 280-10101 #280-10105
280-10105 #282-10157 282-10157 #282-10159 282-10159 #282-10160 282-10160 #282-10164 282-10164
#283-10197 283-10197 #284-10226 284-10226 #284-10227 284-10227 #284-10235 284-10235 #284-10237
284-10237 #285-10257 285-10257 #285-10260 285-10260 #286-10282 286-10282 #286-10284 286-10284
#286-10285 286-10285 #286-10292 286-10292 #287-10306 287-10306 #288-10328 288-10328 #288-10330
288-10330 #289-10339 289-10339 #289-10341 289-10341 #290-10354 290-10354 #291-10362 291-10362
#292-10377 292-10377 #293-10388 293-10388 #294-10419 294-10419 #294-10421 294-10421 #294-10425
294-10425 #295-10433 295-10433 #296-10449 296-10449 #297-10462 297-10462 #297-10464 297-10464
#297-10466 297-10466 #299-10546 299-10546 #299-10551 299-10551 #299-10553 299-10553 #299-10554
299-10554 #299-10558 299-10558 #300-10568 300-10568 #300-10570 300-10570 #300-10571 300-10571
#300-10585 300-10585 #300-10586 300-10586 #300-10588 300-10588 #300-10595 300-10595 #301-10604
301-10604 #301-10605 301-10605 #301-10606 301-10606 #302-10666 302-10666 #302-10667 302-10667
#305-10774 305-10774 #305-10775 305-10775 #305-10776 305-10776 #305-10780 305-10780 #305-10782
305-10782 #305-10789 305-10789 #305-10796 305-10796 #305-10797 305-10797 #305-10798 305-10798
#305-10801 305-10801 #306-10809 306-10809 #306-10814 306-10814 #306-10816 306-10816 #308-10864
308-10864 #308-10865 308-10865 #308-10866 308-10866 #308-10870 308-10870 #308-10872 308-10872
#308-10878 308-10878 #308-10880 308-10880 #308-10884 308-10884 #309-10899 309-10899 #309-10900
309-10900 #309-10901 309-10901 #311-10962 311-10962 #311-10963 311-10963 #311-10965 311-10965
#311-10969 311-10969 #311-10973 311-10973 #311-10975 311-10975 #334-11651 334-11651 #334-11653
334-11653 #334-11654 334-11654 #335-11683 335-11683 #335-11685 335-11685 #335-11688 335-11688
#336-11748 336-11748 #343-11973 343-11973 #343-11976 343-11976 #343-11979 343-11979 #343-11997
343-11997 #343-12004 343-12004 #346-12105 346-12105 #346-12106 346-12106 #347-12118 347-12118
#347-12120 347-12120 #347-12121 347-12121 #347-12129 347-12129 #347-12131 347-12131 #347-12132
347-12132 #350-12224 350-12224 #350-12229 350-12229 #350-12232 350-12232 #350-12233 350-12233
#350-12234 350-12234 #350-12236 350-12236 #352-12292 352-12292 #352-12295 352-12295 #352-12296
352-12296 #352-12305 352-12305 #352-12311 352-12311 #354-12372 354-12372 #354-12377 354-12377
#355-12398 355-12398 #355-12400 355-12400 #355-12401 355-12401 #355-12402 355-12402 #355-12404
355-12404 #355-12405 355-12405 #355-12412 355-12412 #358-12514 358-12514 #358-12520 358-12520
#359-12564 359-12564 #362-12698 362-12698 #362-12699 362-12699 #363-12727 363-12727 #364-12765
364-12765 #364-12768 364-12768 #364-12769 364-12769 #364-12772 364-12772 #364-12774 364-12774
#365-12787 365-12787 #365-12794 365-12794 #365-12795 365-12795 #365-12796 365-12796 #366-12843
366-12843 #367-12870 367-12870 #367-12873 367-12873 #368-12903 368-12903 #369-12938 369-12938
#369-12941 369-12941 #370-12981 370-12981 #371-13009 371-13009 #372-13040 372-13040 #372-13045
372-13045 #372-13046 372-13046 #372-13051 372-13051 #372-13054 372-13054 #372-13059 372-13059
#373-13102 373-13102 #373-13105 373-13105 #377-13221 377-13221 #382-13437 382-13437 #382-13442
382-13442 #384-13517 384-13517 #385-13539 385-13539 #385-13542 385-13542 #385-13544 385-13544
#386-13587 386-13587 #386-13591 386-13591 #386-13600 386-13600 #387-13629 387-13629 #389-13682
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 34
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
389-13682 #389-13684 389-13684 #392-13765 392-13765 #392-13772 392-13772 #395-13864 395-13864
#395-13869 395-13869 #396-13887 396-13887 #396-13889 396-13889 #396-13891 396-13891 #396-13894
396-13894 #396-13898 396-13898 #397-13921 397-13921 #397-13923 397-13923 #397-13925 397-13925
$$A = 000100 #229-8389 229-8389 #229-8391 229-8391 #229-8393 229-8393 #229-8395 229-8395 #231-8436
231-8436 #231-8438 231-8438
$$B = 000000 #229-8389 229-8389 #229-8391 229-8391 #229-8393 229-8393 #229-8395 229-8395 #231-8436
231-8436 #231-8438 231-8438
$$C = 000200 #229-8389 229-8389 #229-8391 229-8391 #229-8393 229-8393 #229-8395 229-8395 #231-8436
231-8436 #231-8438 231-8438
$$D = 000011 #229-8389 229-8389 #229-8391 229-8391 #229-8393 229-8393 #229-8395 229-8395 #231-8436
231-8436 #231-8438 231-8438
$$E = 000016 #229-8389 229-8389 #229-8391 229-8391 #229-8393 229-8393 #229-8395 229-8395 #231-8436
231-8436 #231-8438 231-8438
$$F = 000000 #229-8389 229-8389 #229-8391 229-8391 #229-8393 229-8393 #229-8395 229-8395 #231-8436
231-8436 #231-8438 231-8438
$$PASS = 000000 314-11044 314-11046 314-11048 314-11050 314-11052 314-11054 314-11056 314-11058 314-11060
314-11062 314-11064 314-11070 314-11072 314-11074 314-11076 314-11078 314-11080 314-11082
314-11084 314-11086 314-11088 314-11090 314-11092 314-11094 315-11101 315-11103 315-11105
315-11107 315-11109 316-11116 316-11118 316-11120 316-11122 316-11124 316-11126 316-11128
316-11130 317-11137 317-11139 317-11141 317-11143 317-11145 318-11152 318-11154 318-11156
318-11158 318-11160 318-11162 318-11164 318-11166 318-11168 318-11170 318-11173 318-11175
318-11177 318-11179 318-11181 318-11183 318-11185 318-11187 318-11189 318-11191 318-11193
318-11195 318-11197 318-11199 318-11201 318-11203 318-11205 318-11207 318-11209 318-11211
318-11213 319-11220 319-11222 319-11224 319-11229 319-11231 320-11239 320-11241 320-11243
320-11245 320-11247 320-11249 320-11251 320-11253 320-11255 320-11257 320-11259 320-11261
322-11352 322-11354 322-11356 322-11358 322-11360 322-11362 322-11364 322-11366 323-11373
323-11375 323-11377 323-11379 323-11381 323-11383 323-11385 323-11387 323-11389 323-11391
323-11393 324-11400 324-11402 325-11409 325-11411 325-11413 325-11415 326-11422 326-11424
326-11426 326-11428 326-11430 326-11432 326-11434 327-11441 327-11443 327-11445 327-11447
327-11449 327-11451 327-11453 327-11455 327-11457 327-11459 327-11461 327-11463 327-11465
327-11468 329-11495 329-11497 330-11504 330-11506 330-11508 330-11510 330-11512 330-11514
330-11516 330-11518 330-11520 330-11522 330-11524 330-11527 330-11530 #330-11535
$$$AB = 000001 318-11173 #318-11173 318-11173
$$$ABO = 000001 314-11046 #314-11046 314-11046
$$$AD = 000001 318-11152 #318-11152 318-11152
$$$ADX = 000001 318-11154 #318-11154 318-11154
$$$ALL = 000002 322-11352 #322-11352 322-11352 326-11422 #326-11422 326-11422
$$$APR = 000001 320-11245 #320-11245 320-11245
$$$AR = 000003 316-11116 #316-11116 316-11116 318-11156 #318-11156 318-11156 326-11424 #326-11424 326-11424
$$$ARG = 000006 #147-5580 147-5580 #147-5580 147-5580 #147-5580 147-5580 #147-5585 147-5585 #147-5585
147-5585 #147-5585 147-5585 #214-7925 214-7925 214-7925 214-7925 214-7925 214-7925
214-7925 214-7925 214-7925 214-7925 214-7925 214-7925 #360-12624 360-12624 #360-12624
360-12624 #360-12624 360-12624 #393-13785 393-13785 #393-13785 393-13785 #393-13785 393-13785
#393-13785 393-13785 #393-13794 393-13794 #393-13799 393-13799
$$$ARX = 000001 318-11158 #318-11158 318-11158
$$$AUG = 000001 320-11253 #320-11253 320-11253
$$$BR = 000001 318-11160 #318-11160 318-11160
$$$BRX = 000001 318-11162 #318-11162 318-11162
$$$CLK = 000002 327-11441 #327-11441 327-11441 330-11504 #330-11504 330-11504
$$$CLR = 000001 314-11048 #314-11048 314-11048
$$$CNT = 000001 314-11050 #314-11050 314-11050
$$$CON = 000002 327-11443 #327-11443 327-11443 330-11506 #330-11506 330-11506
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 35
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
$$$CPU = 000001 322-11354 #322-11354 322-11354
$$$CRA = 000001 318-11175 #318-11175 318-11175
$$$CRL = 000001 318-11177 #318-11177 318-11177
$$$CRM = 000002 323-11375 #323-11375 323-11375 326-11426 #326-11426 326-11426
$$$CTL = 000001 323-11379 #323-11379 323-11379
$$$DAT = 000002 327-11445 #327-11445 327-11445 330-11508 #330-11508 330-11508
$$$DCR = 000004 315-11101 #315-11101 315-11101 316-11122 #316-11122 316-11122 317-11137 #317-11137 317-11137
318-11205 #318-11205 318-11205
$$$DEC = 000001 320-11261 #320-11261 320-11261
$$$DEP = 000001 314-11052 #314-11052 314-11052
$$$DIS = 000001 314-11054 #314-11054 314-11054
$$$DPT = 000001 323-11377 #323-11377 323-11377
$$$DRA = 000001 318-11179 #318-11179 318-11179
$$$DRM = 000001 326-11428 #326-11428 326-11428
$$$DTE = 000002 318-11181 #318-11181 318-11181 322-11356 #322-11356 322-11356
$$$EBS = 000001 318-11164 #318-11164 318-11164
$$$ELE = 000003 316-11118 #316-11118 316-11118 318-11183 #318-11183 318-11183 324-11400 #324-11400 324-11400
$$$ENB = 000001 326-11430 #326-11430 326-11430
$$$ERR = 000001 322-11358 #322-11358 322-11358
$$$EXA = 000001 314-11056 #314-11056 314-11056
$$$EXT = 000001 323-11381 #323-11381 323-11381
$$$FEB = 000001 320-11241 #320-11241 320-11241
$$$FER = 000001 318-11185 #318-11185 318-11185
$$$FLG = 000001 318-11187 #318-11187 318-11187
$$$FM = 000002 318-11166 #318-11166 318-11166 326-11432 #326-11432 326-11432
$$$FRD = 000001 314-11058 #314-11058 314-11058
$$$FSS = 000002 326-11434 #326-11434 326-11434 327-11447 #327-11447 327-11447
$$$FUL = 000001 323-11387 #323-11387 323-11387
$$$FWR = 000001 314-11060 #314-11060 314-11060
$$$FXC = 000001 314-11062 #314-11062 314-11062
$$$GLB = ****** 79-3251 79-3251 79-3251 79-3251 79-3251 79-3251 147-5580 147-5580 147-5580
147-5580 147-5585 147-5585 147-5585 147-5585 152-5756 152-5756 152-5756 152-5756
152-5756 235-8555 235-8555 235-8555 235-8555 235-8555 235-8555 252-9144 252-9144
252-9144 252-9144 252-9144 252-9144 252-9144 252-9144 256-9315 256-9315 256-9315
256-9315 256-9315 256-9315 258-9374 258-9374 258-9374 258-9374 258-9374 258-9374
258-9374 258-9374 360-12624 360-12624 360-12624 360-12624 360-12624 360-12624 360-12624
360-12624 393-13785 393-13785 393-13785 393-13785 393-13785 393-13785 393-13785 393-13785
393-13794 393-13794 393-13794 393-13794 393-13794 393-13794 393-13794 393-13794 393-13799
393-13799 393-13799 393-13799 393-13799 393-13799 393-13799 393-13799
$$$HLF = 000001 323-11389 #323-11389 323-11389
$$$HLT = 000001 314-11064 #314-11064 314-11064
$$$INC = 000006 315-11103 #315-11103 315-11103 316-11124 #316-11124 316-11124 317-11139 #317-11139 317-11139
318-11207 #318-11207 318-11207 327-11449 #327-11449 327-11449 330-11510 #330-11510 330-11510
$$$INI = 000002 314-11070 #314-11070 314-11070 322-11360 #322-11360 322-11360
$$$INT = 000001 323-11383 #323-11383 323-11383
$$$IO = 000001 322-11362 #322-11362 322-11362
$$$JAN = 000001 320-11239 #320-11239 320-11239
$$$JMP = 000001 314-11072 #314-11072 314-11072
$$$JUL = 000001 320-11251 #320-11251 320-11251
$$$JUN = 000001 320-11249 #320-11249 320-11249
$$$KL = 000001 318-11189 #318-11189 318-11189
$$$KLI = 000002 327-11451 #327-11451 327-11451 330-11512 #330-11512 330-11512
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 36
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
$$$MAR = 000001 320-11243 #320-11243 320-11243
$$$MAY = 000001 320-11247 #320-11247 320-11247
$$$MCR = 000001 314-11074 #314-11074 314-11074
$$$MEM = 000002 327-11453 #327-11453 327-11453 330-11514 #330-11514 330-11514
$$$MGN = 000001 323-11385 #323-11385 323-11385
$$$MNT = 000002 319-11220 #319-11220 319-11220 325-11409 #325-11409 325-11409
$$$MQ = 000001 318-11168 #318-11168 318-11168
$$$NOT = 000001 327-11455 #327-11455 327-11455
$$$NOV = 000001 320-11259 #320-11259 320-11259
$$$NRM = 000001 323-11373 #323-11373 323-11373
$$$NUL = 000001 314-11044 #314-11044 314-11044
$$$NXT = 000004 315-11105 #315-11105 315-11105 316-11126 #316-11126 316-11126 317-11141 #317-11141 317-11141
318-11209 #318-11209 318-11209
$$$OCT = 000001 320-11257 #320-11257 320-11257
$$$OFS = 000002 327-11457 #327-11457 327-11457 330-11516 #330-11516 330-11516
$$$OPR = 000002 319-11222 #319-11222 319-11222 325-11411 #325-11411 325-11411
$$$OST = 000014 #79-3251 79-3251 79-3251 #79-3251 79-3251 79-3251 #79-3251 79-3251 79-3251
#79-3251 79-3251 79-3251 #79-3251 79-3251 79-3251 #79-3251 #147-5580 147-5580
147-5580 #147-5580 147-5580 147-5580 #147-5580 147-5580 147-5580 #147-5580 #147-5585
147-5585 147-5585 #147-5585 147-5585 147-5585 #147-5585 147-5585 147-5585 #147-5585
#152-5756 152-5756 152-5756 #152-5756 152-5756 152-5756 #152-5756 152-5756 152-5756
#152-5756 152-5756 152-5756 #152-5756 #235-8555 235-8555 235-8555 #235-8555 235-8555
235-8555 #235-8555 235-8555 235-8555 #235-8555 235-8555 235-8555 #235-8555 235-8555
235-8555 #235-8555 #252-9144 252-9144 252-9144 #252-9144 252-9144 252-9144 #252-9144
252-9144 252-9144 #252-9144 252-9144 252-9144 #252-9144 252-9144 252-9144 #252-9144
252-9144 252-9144 #252-9144 252-9144 252-9144 #252-9144 252-9144 252-9144 #252-9144
#256-9315 256-9315 256-9315 #256-9315 256-9315 256-9315 #256-9315 256-9315 256-9315
#256-9315 256-9315 256-9315 #256-9315 256-9315 256-9315 #256-9315 #258-9374 258-9374
258-9374 #258-9374 258-9374 258-9374 #258-9374 258-9374 258-9374 #258-9374 258-9374
258-9374 #258-9374 258-9374 258-9374 #258-9374 258-9374 258-9374 #258-9374 258-9374
258-9374 #258-9374 258-9374 258-9374 #258-9374 #360-12624 360-12624 360-12624 #360-12624
360-12624 360-12624 #360-12624 360-12624 360-12624 #360-12624 360-12624 360-12624 #360-12624
360-12624 360-12624 #360-12624 360-12624 360-12624 #360-12624 360-12624 #393-13785 393-13785
393-13785 #393-13785 393-13785 393-13785 #393-13785 393-13785 393-13785 #393-13785 393-13785
393-13785 #393-13785 393-13785 393-13785 #393-13785 393-13785 393-13785 #393-13785 393-13785
#393-13794 393-13794 393-13794 #393-13794 393-13794 393-13794 #393-13794 393-13794 393-13794
#393-13794 393-13794 393-13794 #393-13794 393-13794 393-13794 #393-13794 393-13794 393-13794
#393-13794 393-13794 #393-13799 393-13799 393-13799 #393-13799 393-13799 393-13799 #393-13799
393-13799 393-13799 #393-13799 393-13799 393-13799 #393-13799 393-13799 393-13799 #393-13799
393-13799 393-13799 #393-13799 393-13799
$$$PAG = 000001 322-11364 #322-11364 322-11364
$$$PC = 000001 318-11170 #318-11170 318-11170
$$$PI = 000002 318-11191 #318-11191 318-11191 322-11366 #322-11366 322-11366
$$$PRG = 000002 319-11224 #319-11224 319-11224 325-11413 #325-11413 325-11413
$$$PRV = 000004 315-11107 #315-11107 315-11107 316-11128 #316-11128 316-11128 317-11143 #317-11143 317-11143
318-11211 #318-11211 318-11211
$$$PST = 000002 327-11459 #327-11459 327-11459 330-11518 #330-11518 330-11518
$$$QTR = 000001 323-11391 #323-11391 323-11391
$$$QUT = 000001 314-11088 #314-11088 314-11088
$$$REG = 000001 318-11193 #318-11193 318-11193
$$$REM = 000001 319-11229 #319-11229 319-11229
$$$RLD = 000002 327-11461 #327-11461 327-11461 330-11520 #330-11520 330-11520
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 37
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
$$$RPT = 000003 314-11076 #314-11076 314-11076 327-11463 #327-11463 327-11463 330-11522 #330-11522 330-11522
$$$RST = 000001 314-11078 #314-11078 314-11078
$$$RTY = 000002 327-11465 #327-11465 327-11465 330-11524 #330-11524 330-11524
$$$RUN = 000001 314-11080 #314-11080 314-11080
$$$SBR = 000001 318-11201 #318-11201 318-11201
$$$SCR = 000001 318-11203 #318-11203 318-11203
$$$SEP = 000001 320-11255 #320-11255 320-11255
$$$SET = 000001 314-11082 #314-11082 314-11082
$$$SHU = 000001 314-11084 #314-11084 314-11084
$$$SLO = 000001 323-11393 #323-11393 323-11393
$$$STR = 000001 314-11086 #314-11086 314-11086
$$$TEN = 000004 316-11120 #316-11120 316-11120 318-11195 #318-11195 318-11195 324-11402 #324-11402 324-11402
329-11495 #329-11495 329-11495
$$$THS = 000004 315-11109 #315-11109 315-11109 316-11130 #316-11130 316-11130 317-11145 #317-11145 317-11145
318-11213 #318-11213 318-11213
$$$TRK = 000002 327-11468 #327-11468 327-11468 330-11527 #330-11527 330-11527
$$$T1 = 000000 #79-3251 79-3251 79-3251 79-3251 #79-3251 79-3251 #147-5580 147-5580 147-5580
#147-5580 147-5580 147-5580 #147-5580 147-5580 147-5580 #147-5585 147-5585 147-5585
#147-5585 147-5585 147-5585 #147-5585 147-5585 147-5585 #214-7925 214-7925 #235-8555
235-8555 235-8555 235-8555 #235-8555 235-8555 #256-9315 256-9315 256-9315 256-9315
#256-9315 256-9315
$$$UCD = 000001 329-11497 #329-11497 329-11497
$$$USR = 000002 319-11231 #319-11231 319-11231 325-11415 #325-11415 325-11415
$$$VER = 000001 330-11530 #330-11530 330-11530
$$$VMA = 000001 318-11197 #318-11197 318-11197
$$$VMH = 000001 318-11199 #318-11199 318-11199
$$$WHA = 000001 314-11090 #314-11090 314-11090
$$$XCT = 000001 314-11092 #314-11092 314-11092
$$$ZER = 000001 314-11094 #314-11094 314-11094
.ABORT 000004 RG #37-1507 279-10058 279-10058
.ABRTC 000000 RG #35-1461 314-11046
.ABRT0 000032 RG 37-1509 #37-1516
.APRWD 000000 RG #53-2066 53-2145 *96-3839 288-10325
.ASCID 000016 RG 145-5553 #147-5579
.ASCOD 000026 RG 145-5551 #147-5584
.ATCID 000242 RG 390-13716 #393-13793
.ATLMD = 000033 #21-836
.BRCLK = 005000 #148-5624 #278-10037 #394-13839
.BRMBC 006470 RG #149-5653
.BURST 006474 RG #149-5655 176-6616 176-6616
.CCMDN 000002 RG #53-2068 102-4022 *210-7790 *212-7861 *212-7864 *217-7991 220-8094
.CDIBC = 000216 R #360-12627
.CDIBP = 000214 R #360-12626
.CDINP 000200 RG 359-12560 #360-12623 360-12626 360-12627
.CDOBC = 000236 RG 387-13631 *388-13667 *391-13730 #393-13788
.CDOBP = 000234 RG #393-13787
.CDOFC = 000240 RG #393-13789
.CDOUT 000220 RG 390-13718 #393-13784 393-13787 393-13788 393-13789
.CECLK = 004000 #148-5624 #278-10037 #394-13839
.CESCK 000056 RG #39-1599 143-5454 143-5454 158-5936 158-5936 161-6051 161-6051 201-7506 201-7506
213-7891 213-7891
.CHTAB 001360 RG 40-1639 40-1646 41-1676 43-1741 44-1778 45-1807 #60-2410 100-3965 223-8179
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 38
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
227-8319 260-9426 264-9552 280-10098 282-10155 300-10573 359-12570 373-13096
.CIBFL = 000214 G #56-2259 360-12624
.CIBFR 000240 RG #56-2257 56-2259 244-8858 244-8867 248-9005 259-9386 263-9542 311-10964 359-12557
360-12624
.CISTS 000004 RG #53-2070 359-12562 359-12565 360-12624
.CKARG 000140 RG #40-1637 64-2609 64-2609 66-2711 66-2711 81-3311 81-3311 84-3419 84-3419
89-3584 89-3584 93-3732 93-3732 227-8321 227-8321 259-9392 259-9392 260-9419
260-9419 260-9429 260-9429 264-9554 264-9554 277-10003 277-10003 299-10546 299-10546
299-10558 299-10558 364-12772 364-12772 371-13009 371-13009
.CKCOL 000200 RG #41-1674 75-3083 75-3083 81-3322 81-3322 88-3535 88-3535 89-3593 89-3593
.CKCTC 000236 RG #42-1709 219-8050 219-8050 397-13925 397-13925
.CKEOC 000264 RG 35-1462 35-1462 #43-1739 50-1974 50-1974 79-3242 79-3242 82-3332 82-3332
85-3433 85-3433 88-3541 88-3541 90-3603 90-3603 94-3747 94-3747 111-4371
111-4371 115-4481 115-4481 116-4524 116-4524 118-4590 118-4590 120-4637 120-4637
121-4676 121-4676 123-4750 123-4750 125-4802 125-4802 138-5305 138-5305 140-5367
140-5367 210-7791 220-8091 220-8091 225-8255 225-8255 227-8327 227-8327 233-8507
233-8507 238-8635 238-8635 240-8711 240-8711 244-8847 244-8847 248-9012 248-9012
252-9142 252-9142 254-9241 254-9241 260-9438 260-9438 264-9563 264-9563 272-9863
272-9863 275-9929 275-9929 279-10055 279-10055 280-10101 280-10101 282-10160 282-10160
282-10164 282-10164 284-10227 284-10227 284-10235 284-10235 286-10285 286-10285 286-10292
286-10292 288-10330 288-10330 290-10354 290-10354 291-10362 291-10362 294-10421 294-10421
295-10433 295-10433 299-10551 299-10551 396-13889 396-13889
.CKEOS 000326 RG #44-1776 74-3033 74-3033 75-3092 75-3092 76-3123 76-3123 365-12795 365-12795
.CKOBJ 000350 RG #45-1805 248-9008 248-9008 271-9817 271-9817 271-9824 271-9824 272-9861 272-9861
273-9870 273-9870 282-10157 282-10157 286-10282 286-10282
.CKRNP 000366 RG #46-1835 227-8331 227-8331 279-10046 279-10046
.CKRUN 000376 RG #46-1840 73-2982 73-2982 88-3534 88-3534 228-8354 228-8354 280-10095 280-10095
301-10604 301-10604 395-13864 395-13864
.CKSYM 000446 RG 40-1638 40-1638 43-1746 43-1746 45-1806 45-1806 #47-1884 47-1887 219-8051
219-8051 233-8502 233-8502 264-9551 264-9551 364-12765 364-12765
.CLDFB 006524 RG #150-5690 183-6842 183-6842 189-7041 189-7041 195-7282 195-7282
.CLDFR 006530 RG #150-5692
.CLDFW 006540 RG 150-5691 150-5691 #150-5697 185-6925 185-6925 187-6974 187-6974
.CLKWD 000010 RG #53-2072 185-6914 *190-7099 191-7112 199-7439 301-10628 305-10778
.CLRCM 017502 RG #271-9816 314-11048
.CLRFF 006554 RG #151-5726 175-6583 175-6583 178-6701 178-6701 206-7654 206-7654
.CLRMR = 006000 #148-5624 #278-10037 #394-13839
.CLRUN = 010000 #148-5624 #278-10037 #394-13839
.CMDTB 002520 RG 212-7860 #314-11043
.CMNDL = 000430 G #56-2274 360-12580
.COBFL = 000204 G #56-2263 391-13731
.COBFR 000454 RG 53-2177 #56-2261 391-13732 393-13785
.COMEF = ****** GX *37-1519 *195-7294 240-8702 249-9050 *279-10064
.COMMA = 000054 #21-834 300-10575
.COMND 000670 RG #56-2272 56-2274 217-8008
.CONBT = 012000 #148-5624 #278-10037 #394-13839
.CONTC 000504 RG #50-1973 314-11050
.COSTS 000012 RG #53-2074 390-13720 393-13785
.CSHRG = 164000 #148-5624 #278-10037 #394-13839
.DATE3 = ****** GX *240-8706 240-8709 *241-8767 252-9169
.DAY = ****** GX *241-8766
.DBGSW 000016 RG #53-2089 109-4293 214-7920
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 39
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.DEPAR 002250 RG #88-3533 316-11116
.DFBLK 000214 RG #55-2236 141-5404 167-6282 169-6375 172-6473
.DFCOM 001170 RG #73-2981 74-3032 74-3032 75-3082 75-3082 76-3122 76-3122
.DFRB 000222 RG #55-2239 150-5694 167-6245 349-12199
.DFRED 001300 RG #74-3031 314-11058
.DFWB 000214 RG #55-2237 150-5699 168-6319 *183-6845 *183-6853 *185-6927 187-6975 349-12206
.DFWRT 001404 RG #75-3081 314-11060
.DFXCT 001464 RG #76-3121 314-11062
.DIAG1 = 000000 #10-350
.DIAG2 = 000002 #10-351 154-5801 154-5822
.DIAG3 = 000006 #10-353 154-5809 154-5830
.DISCC 001572 RG #79-3241 314-11054
.DOCMD 012266 RG #212-7852 217-8012 217-8012 225-8257 225-8257
.DOW = ****** GX *241-8758 252-9155
.DPBFR 000020 RG #53-2092 90-3612 91-3646 163-6106
.DPBFX 000026 RG #53-2094 89-3595 92-3694 92-3699
.DPDPB 000062 RG 162-6067 162-6068 #163-6105
.DPETB 002742 RG 81-3313 89-3586 #315-11100
.DPEWD 002006 RG 65-2634 #83-3365
.DPEWI 002014 RG 65-2646 #83-3369
.DPEWN 002022 RG 65-2658 #83-3373
.DPEWP 002030 RG 65-2670 #83-3377
.DPEWT 002000 RG 65-2682 #83-3361
.DPKLD 002666 RG 65-2633 #92-3676
.DPKLI 002674 RG 65-2645 #92-3680
.DPKLM 007116 RG 91-3640 91-3640 #160-6018 230-8418 230-8418 275-9942 275-9942
.DPKLN 002702 RG 65-2657 #92-3684
.DPKLP 002710 RG 65-2669 #92-3688
.DPKLT 002660 RG 65-2681 #92-3672
.DPOBJ 000712 RG 64-2610 #68-2811
.DPOEL 000742 RG #68-2823 316-11118
.DPOKL 000734 RG #68-2819 316-11120
.DPOSA 000620 RG #64-2611
.DPOSC 000606 RG #64-2607 314-11052
.DPOSD 000624 RG #65-2626 315-11101 316-11122
.DPOSE 001616 RG 64-2619 68-2825 #81-3310
.DPOSI 000630 RG #65-2638 315-11103 316-11124
.DPOSN 000634 RG #65-2650 315-11105 316-11126
.DPOSP 000640 RG #65-2662 315-11107 316-11128
.DPOST 002340 RG 64-2618 68-2821 #89-3583
.DPOSZ 000644 RG #65-2674 315-11109 316-11130
.DPOTB 003002 RG 68-2812 #316-11115
.DPSEE 001670 RG #82-3331 83-3383 83-3391
.DPSTE 002410 RG #90-3602 92-3695 92-3701
.DPTRK 023654 RG 160-6025 160-6025 #354-12376
.DREG 000230 RG #55-2242 *155-5839 155-5842 156-5890 167-6282 169-6375 172-6473
.DRLTC = 015000 #148-5624 #278-10037 #394-13839
.DSACF = 066000 #148-5624 #278-10037 #394-13839
.DSIOJ = 065000 #148-5624 #278-10037 #394-13839
.DTAB 002040 R 160-6020 #162-6066
.DTBUF 002344 RG 258-9373 261-9468 #262-9500
.DTCID 000256 RG 390-13722 #393-13798
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 40
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.DTDI1 000230 RG #55-2243
.DTDI2 000232 RG #55-2245
.DTDI3 000236 RG #55-2249
.DTDW1 006664 RG 39-1600 39-1600 122-4709 143-5467 143-5467 #154-5817 165-6180 165-6180 165-6186
165-6186 175-6580 175-6580 176-6591 176-6591 176-6617 176-6617 178-6703 178-6703
206-7661 206-7661
.DTDW2 006672 RG 122-4708 #154-5821
.DTDW3 006712 RG 122-4707 #154-5829
.DTSTA 006702 RG 48-1914 48-1914 122-4706 143-5451 143-5451 #154-5825
.DTSTS 000234 RG #55-2247
.DTSTW = 000004 #10-352 154-5805 154-5826
.DTTRK 023532 RG 155-5846 #352-12288
.DWDW1 006610 RG #154-5796
.DWDW2 006616 RG #154-5800 196-7343 196-7343
.DWDW3 006636 RG #154-5808 196-7345
.DWSTA 006626 RG #154-5804
.EBCLK 006770 RG #158-5934 165-6179 165-6179
.EBPCK 000462 RG #48-1913 213-7892
.EDELA 000034 RG #53-2104 70-2870 70-2875 *82-3337 83-3362 *85-3437 86-3458 109-4289
.EDEWD 001016 RG #70-2868 83-3366 83-3366 86-3462 86-3462
.EDEWI 001030 RG #70-2873 83-3370 83-3370 86-3466 86-3466
.EDEWN 001030 RG #70-2874 83-3374 83-3374 86-3470 86-3470
.EDEWP 001016 RG #70-2869 83-3378 83-3378 86-3474 86-3474
.EDKLA 000036 RG #53-2106 71-2912 90-3606 94-3751 95-3777 163-6106 163-6124
.EDKLC 001140 RG 71-2884 71-2884 71-2889 71-2889 71-2894 71-2894 71-2900 71-2900 #71-2910
.EDKLD 001066 RG #71-2893 92-3677 92-3677 95-3781 95-3781
.EDKLI 001104 RG #71-2899 92-3681 92-3681 95-3785 95-3785
.EDKLN 001054 RG #71-2888 92-3685 92-3685 95-3789 95-3789
.EDKLP 001042 RG #71-2883 92-3689 92-3689 95-3793 95-3793
.EDKLX 000044 RG #53-2108 71-2911 89-3591 92-3673 93-3739 *143-5458 *143-5459 144-5511
.EIOJA = 067000 #148-5624 #278-10037 #394-13839
.ELDDW 000052 RG #53-2110 *82-3338 83-3382
.ELEDW 000054 RG #53-2112 *85-3440
.ELNCK 024224 RG #361-12653 362-12699 362-12699
.ETAB 002030 R 160-6009 #162-6060
.EXAD 004276 RG #113-4420 318-11152
.EXADX 004304 RG #113-4424 318-11154
.EXAMA 000662 RG #66-2714
.EXAMC 000650 RG #66-2709 314-11056
.EXAMD 000666 RG #67-2729 317-11137 318-11205
.EXAME 002066 RG 66-2722 69-2859 #84-3418
.EXAMF 004502 RG #116-4523 118-4598 118-4598 318-11187
.EXAMI 000672 RG #67-2741 317-11139 318-11207
.EXAMK 004606 RG #118-4589 318-11189
.EXAMN 000676 RG #67-2753 317-11141 318-11209
.EXAMP 000702 RG #67-2765 317-11143 318-11211
.EXAMT 002746 RG 66-2721 69-2863 #93-3731
.EXAMZ 000706 RG #67-2777 317-11145 318-11213
.EXARR 004312 RG #113-4428 318-11156
.EXARX 004320 RG #113-4432 318-11158
.EXBFR 000056 RG #53-2114 90-3621 91-3643 91-3647 94-3750 144-5512 163-6124
.EXBRR 004326 RG #113-4436 318-11160
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 41
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.EXBRX 004334 RG #113-4440 318-11162
.EXCRA 004662 RG #119-4607 318-11175
.EXCRL 004670 RG #119-4611 318-11177
.EXCTC 004222 RG #111-4365 314-11092
.EXCTF 007300 RG #164-6151 229-8381 230-8421 230-8421 230-8423 230-8423
.EXDPB 000074 RG 162-6061 162-6062 #163-6123
.EXDPM 007154 RG 160-6010 160-6010 160-6021 160-6021 #161-6035
.EXDRA 004676 RG #119-4615 318-11179
.EXDTE 004776 RG #121-4675 318-11181
.EXEBS 004342 RG #113-4444 318-11164
.EXECT 007356 RG 111-4378 #165-6174
.EXETB 003064 RG 84-3421 93-3734 #317-11136
.EXEWD 002220 RG 67-2737 #86-3461
.EXEWI 002226 RG 67-2749 #86-3465
.EXEWN 002234 RG 67-2761 #86-3469
.EXEWP 002242 RG 67-2773 #86-3473
.EXEWT 002212 RG 67-2785 #86-3457
.EXFER 004704 RG #119-4619 318-11185
.EXFMR 004350 RG #113-4448 318-11166
.EXITP 012436 RG 50-1995 79-3245 144-5499 146-5572 #214-7918 233-8511 238-8636 256-9306 275-9945
279-10043 282-10185 360-12611 391-13735
.EXKLD 003114 RG 67-2736 #95-3780
.EXKLI 003122 RG 67-2748 #95-3784
.EXKLM 007064 RG 90-3625 90-3625 91-3645 91-3645 94-3759 94-3759 143-5462 143-5462 #160-6007
.EXKLN 003130 RG 67-2760 #95-3788
.EXKLP 003136 RG 67-2772 #95-3792
.EXKLT 003106 RG 67-2784 #95-3776
.EXMEE 002114 RG #85-3432 86-3459 86-3463 86-3467 86-3471 86-3475
.EXMEL 001000 RG #69-2857 318-11183
.EXMKL 001010 RG #69-2861 318-11195
.EXMPI 005074 RG 118-4597 118-4597 #123-4749 318-11191
.EXMQR 004356 RG #113-4452 318-11168
.EXMTB 003124 RG 69-2849 125-4804 #318-11151 318-11172
.EXMTE 003000 RG #94-3746 95-3778 95-3782 95-3786 95-3790 95-3794
.EXOBJ 000752 RG 66-2712 #69-2848
.EXREG 005246 RG #125-4801 318-11193
.EXSBR 004712 RG #119-4623 318-11201
.EXSCR 004720 RG #119-4627 318-11203
.EXTRK 023642 RG 160-6014 160-6014 #354-12371
.EXVAB 004364 RG #114-4459 318-11173
.EXVMA 004372 RG #114-4463 118-4596 118-4596 318-11197
.EXVMH 004400 RG #114-4467 318-11199
.EXVPC 004406 RG #114-4471 118-4594 118-4594 318-11170
.FEMOD = ****** GX 46-1849 219-8081 220-8101 279-10056 *282-10181 283-10198
.FREAD 007512 RG 74-3040 74-3040 96-3835 96-3835 127-4883 129-4932 129-4932 129-4939 129-4939
129-4946 129-4946 131-4994 131-4994 133-5081 133-5081 133-5088 133-5088 136-5211
136-5211 158-5943 158-5943 #167-6241 189-7048 189-7048 190-7096 190-7096 193-7229
193-7229
.FRTRK 023372 RG 167-6257 167-6257 #349-12196
.FWRIT 007574 RG 75-3095 75-3095 #168-6317 177-6665 177-6665 181-6809 181-6809 183-6848 183-6848
183-6856 183-6856 185-6929 185-6929 185-6934 185-6934 187-6983 187-6983 187-6990
187-6990 189-7043 189-7043 195-7286 195-7286 195-7291 195-7291 208-7747 208-7747
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 42
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.FWTRK 023412 RG 169-6348 169-6348 #349-12203
.FXCT 007716 RG 50-1985 50-1985 76-3125 149-5660 151-5732 151-5732 158-5941 158-5941 #171-6405
174-6528 174-6528 180-6751 180-6751 181-6811 188-7029 188-7029 189-7052 189-7052
189-7057 189-7057 201-7510 201-7510 204-7603 204-7603 207-7704 207-7704
.FXTRK 023432 RG 172-6446 172-6446 #349-12210
.GFNR = 102000 #148-5624 #278-10037 #394-13839
.GTCMD 024010 RG 217-8009 217-8009 #358-12510
.GTDAT 016216 RG 240-8715 240-8715 246-8923 246-8923 246-8937 246-8937 #258-9369
.GTELN 024300 RG 81-3318 81-3318 81-3323 81-3323 83-3388 83-3388 84-3426 84-3426 280-10100
280-10100 288-10328 288-10328 #362-12693
.GTEXP 024560 RG 364-12769 364-12769 365-12794 365-12794 #366-12842 372-13059 372-13059
.GTFCT 024766 RG 368-12903 368-12903 369-12938 369-12938 #370-12972 372-13040 372-13040 372-13045 372-13045
372-13051 372-13051
.GTKLA 024330 RG 89-3592 89-3592 93-3740 93-3740 279-10052 279-10052 #363-12726 395-13869 395-13869
396-13887 396-13887
.GTKLN 024362 RG 73-2987 73-2987 75-3091 75-3091 89-3596 89-3596 92-3700 92-3700 111-4370
111-4370 225-8251 225-8251 294-10419 294-10419 #364-12763
.GTLIN 024044 RG 244-8860 244-8860 244-8868 244-8868 248-9007 248-9007 259-9390 259-9390 263-9544
263-9544 311-10965 311-10965 358-12514 358-12514 #359-12555
.GTNBR 025262 RG 260-9416 260-9416 260-9431 260-9431 264-9560 264-9560 265-9600 265-9600 370-12981
370-12981 #373-13087
.GTNUM 024362 RG 88-3540 88-3540 284-10226 284-10226 362-12698 362-12698 363-12727 363-12727 #364-12762
.GTR50 013730 RG 233-8503 233-8503 233-8506 233-8506 #237-8581
.GTTIM 016662 RG 240-8719 240-8719 246-8928 246-8928 247-8977 247-8977 #263-9535
.GTTRM 024654 RG 366-12843 366-12843 367-12870 367-12870 #368-12902
.HALTC 006062 RG #138-5304 314-11064
.INCHC 000064 RG #53-2116 244-8870 261-9482 265-9615 *359-12558 *360-12579 360-12580 360-12586 *373-13088
*373-13098 374-13120
.INEXT 002014 R 143-5461 #144-5510
.INICL = 070000 #148-5624 #278-10037 #394-13839
.INICP 006320 RG 53-2181 #145-5541
.INIC0 006076 RG #140-5368 146-5568 146-5568
.INIT 006100 RG #141-5401
.INITC 006072 RG #140-5366 314-11070
.INKLF 006130 RG 140-5369 #143-5447
.IRADX 000066 RG #53-2118 *107-4205 225-8245 *225-8246 *225-8252 258-9370 *258-9371 *261-9481 263-9536
*263-9537 *265-9614 294-10411 *294-10412 *294-10426 371-13014 *372-13030 *372-13034 *372-13038
*372-13041 373-13092
.IRLTC = 014000 #148-5624 #278-10037 #394-13839
.JUMPC 017726 RG #279-10041 314-11072
.KACFL = ****** GX *291-10367 293-10390
.KLCON 010066 RG 50-1989 50-1989 165-6196 165-6196 #174-6517
.KLDFR 000106 RG 101-3988 *167-6242 167-6243 #167-6281 349-12198
.KLDFW 000120 RG 101-3992 *168-6318 169-6335 169-6338 #169-6374 349-12205
.KLDFX 000132 RG 101-3996 *171-6406 171-6407 171-6409 #172-6472 349-12212
.KLFLG = ****** GX *39-1608 *39-1610 46-1845 50-1975 73-2996 73-2998 88-3542 90-3604 94-3748
118-4591 *141-5409 143-5455 *162-6075 *162-6079 164-6152 165-6176 *169-6343 171-6415
*171-6417 171-6421 *171-6423 *171-6430 *171-6436 174-6519 177-6666 178-6694 180-6764
*188-7030 *189-7058 202-7538 202-7540 217-7993 228-8339 230-8402 280-10103 300-10584
396-13892
.KLGO 010074 RG #174-6520 177-6667
.KLHLT 010164 RG 73-2999 73-2999 88-3545 88-3545 #175-6578 177-6662 177-6662 178-6696 181-6807
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 43
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
181-6807 280-10105 280-10105 300-10585 300-10585
.KLINC 000070 RG #53-2120 71-2895 71-2901 284-10228 284-10236 285-10248
.KLMTB 003420 RG 248-9009 #319-11219
.KLMT1 003444 RG 244-8861 #319-11228
.KLNFD = ****** GX *248-9021 *248-9022 254-9252 255-9267
.KLNFT = ****** GX *248-9020 255-9269
.KLNMD = ****** GX *248-9016 *248-9023 249-9042 *249-9045 254-9245 255-9283 255-9290 255-9293 282-10178
.KLNPB = ****** GX 249-9053
.KLNPE = ****** GX 249-9060
.KLNPW = ****** GX 248-9026 *249-9046
.KLNSW = ****** GX *79-3243 244-8853 *249-9047 254-9248 256-9302 282-10176
.KLNTD = ****** GX *248-9018 *248-9019 255-9274
.KLNTT = ****** GX *248-9017 255-9276
.KLRLD = ****** GX *290-10355 292-10379
.KLRST 010424 RG 88-3551 #180-6741 200-7477 200-7477 300-10595 300-10595
.KLST 010314 RG #177-6660 279-10061 279-10061
.KLSTP 010342 RG 37-1511 37-1511 138-5306 #178-6693 202-7541 202-7541
.KLXCT 010556 RG 164-6160 164-6160 165-6177 165-6177 #181-6806
.LCRDL = 052000 #148-5624 #278-10037 #394-13839
.LCRDR = 051000 #148-5624 #278-10037 #394-13839
.LCRM1 = 057000 #148-5624 #278-10037 #394-13839
.LCRM2 = 056000 #148-5624 #278-10037 #394-13839
.LCRM3 = 055000 #148-5624 #278-10037 #394-13839
.LCRM4 = 054000 #148-5624 #278-10037 #394-13839
.LCRM5 = 053000 #148-5624 #278-10037 #394-13839
.LDAR = 077000 #148-5624 #278-10037 #394-13839
.LDBRC 010602 RG #183-6838
.LDBRG 010606 RG 149-5658 149-5658 #183-6840
.LDBRL = 043000 #148-5624 #278-10037 #394-13839
.LDBRR = 042000 #148-5624 #278-10037 #394-13839
.LDCK1 = 046000 #148-5624 #278-10037 #394-13839
.LDCK2 = 047000 #148-5624 #278-10037 #394-13839
.LDCLK 010704 RG #185-6912 195-7279 195-7279 197-7398 197-7398 199-7442 199-7442 301-10627
.LDCRA 011002 RG #187-6969 206-7657 206-7657
.LDDIS = 045000 #148-5624 #278-10037 #394-13839
.LDPAR 010722 RG #185-6918 195-7280 195-7280 199-7446 199-7446 301-10633
.LDRJD = 064000 #148-5624 #278-10037 #394-13839
.LDRJV = 063000 #148-5624 #278-10037 #394-13839
.LDRM1 = 060000 #148-5624 #278-10037 #394-13839
.LDRM2 = 061000 #148-5624 #278-10037 #394-13839
.LDRM3 = 062000 #148-5624 #278-10037 #394-13839
.LDSEL = 044000 #148-5624 #278-10037 #394-13839
.LDZFL 000100 RG #53-2128 *115-4479 *285-10258 *350-12223 *352-12289 *378-13257 *380-13346 382-13435 *382-13440
385-13548 *385-13552
.LGLWD 000076 RG #53-2126 *68-2816 *69-2853 *212-7863 213-7875 *213-7886 *217-8010 *227-8326 *271-9832
.MEMFL 000102 RG #53-2130 64-2608 66-2710 *286-10296 287-10308
.MEMRS = 076000 #148-5624 #278-10037 #394-13839
.MON = ****** GX *241-8764
.MONTB 003462 RG 260-9421 #320-11238
.MRCLR 011116 RG #188-7026 195-7281 195-7281
.MTDPB 000036 RG 151-5728 #152-5755
.NOERR = ****** GX *39-1606 *50-1992 *201-7511 *203-7571 *279-10063
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 44
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.NOHLT = ****** GX *151-5730 *174-6538 *180-6769 *200-7478 *275-9930
.NOTSW 000104 RG #53-2132 240-8704 244-8848 249-9066 271-9818 *271-9820 *271-9825 *273-9871 282-10153
284-10220 286-10280 288-10326 290-10355 291-10364 294-10417 295-10435 302-10684 303-10709
304-10760
.NSETB 003574 RG 99-3940 #321-11268
.NULLC 012254 RG #210-7789 314-11044
.ORADX 000106 RG #53-2134 *107-4206 266-9654 *266-9655 *267-9678 268-9724 *268-9725 *269-9754 285-10252
*285-10253 *285-10261 378-13261 378-13265 379-13300 379-13304 380-13349 380-13353 381-13388
381-13392 385-13541
.PARER 003206 RG #99-3925 107-4219 107-4219
.PCAB1 = 150000 #148-5624 #278-10037 #394-13839
.PCAB2 = 151000 #148-5624 #278-10037 #394-13839
.PCAB3 = 152000 #148-5624 #278-10037 #394-13839
.PCAB4 = 153000 #148-5624 #278-10037 #394-13839
.PEWRD 000110 RG #53-2136 193-7223
.PITAB 000112 RG #53-2138 131-4990 131-5015
.PSCWD 000116 RG #53-2140 185-6920 *190-7100 191-7118 199-7438 301-10634 308-10868
.PTDIE 003622 RG #105-4118 109-4285
.PTOAT 004122 RG 53-2161 #109-4280
.PTTRP 003700 RG 54-2229 #107-4190
.QUITC 014036 RG #238-8634 314-11088
.RCRM1 = 147000 #148-5624 #278-10037 #394-13839
.RCRM2 = 146000 #148-5624 #278-10037 #394-13839
.RCRM3 = 145000 #148-5624 #278-10037 #394-13839
.RCRM4 = 144000 #148-5624 #278-10037 #394-13839
.RCSPF = 141000 #148-5624 #278-10037 #394-13839
.RDADR 005310 RG 113-4421 #127-4847
.RDADX 005316 RG 113-4425 #127-4851
.RDAPR 003144 RG 91-3651 91-3651 #96-3831
.RDARR 005324 RG 113-4429 #127-4855
.RDARX 005332 RG 113-4433 #127-4859
.RDBRR 005340 RG 113-4437 #127-4863
.RDBRX 005346 RG 113-4441 #127-4867
.RDCPP 011264 RG #190-7087 199-7437 199-7437 300-10588 300-10588 301-10606 301-10606 305-10775 305-10775
308-10865 308-10865
.RDCRA 005604 RG 119-4608 #132-5048
.RDCRL 005612 RG 119-4612 #132-5052
.RDDRA 005620 RG 119-4616 #132-5056
.RDEBS 005354 RG 113-4445 #127-4871
.RDFER 005626 RG 119-4620 #132-5060
.RDFLG 005400 RG 116-4526 116-4526 #129-4927
.RDFMR 005362 RG 113-4449 #127-4875
.RDIPE 011420 RG 103-4055 103-4055 #193-7219
.RDJ14 = 134000 #148-5624 #278-10037 #394-13839
.RDJ71 = 135000 #148-5624 #278-10037 #394-13839
.RDMAB = 133000 #148-5624 #278-10037 #394-13839
.RDMQR 005370 RG 113-4453 #127-4879
.RDPI 005524 RG 123-4753 123-4753 #131-4987
.RDSBR 005634 RG 119-4624 #132-5064
.RDSCR 005642 RG 119-4628 #132-5068
.RDVAB 005740 RG 114-4460 #135-5182
.RDVMA 005746 RG 114-4464 #135-5186
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 45
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.RDVMH 005754 RG 114-4468 #135-5190
.RDVPC 005732 RG 114-4472 #135-5178
.RDXSV 000120 RG #53-2142 107-4205 107-4206 *225-8245 225-8252 *258-9370 261-9481 *263-9536 265-9614
*285-10252 285-10261 *294-10411 294-10426
.REGRW 000050 RG *154-5797 *154-5801 *154-5805 *154-5809 *154-5811 154-5812 154-5813 *154-5818 *154-5822
*154-5826 *154-5830 *155-5837 155-5840 #156-5886 352-12293 352-12297 352-12303 352-12307
.REGSV 012512 RG 107-4197 109-4283 135-5193 185-6913 185-6919 190-7088 193-7220 #216-7976 354-12372
354-12377
.RELWD 000122 RG #53-2144 *288-10331 289-10340 371-12996
.REPTC 013176 RG #225-8244 314-11076
.RESET 011502 RG #195-7272 197-7393 197-7393 199-7440 199-7440
.RESTB 004136 RG 227-8322 #322-11351
.RESTC 013270 RG #227-8317 314-11078
.RESTD 011616 RG 161-6052 161-6052 195-7274 195-7274 #196-7341 228-8343 228-8343 228-8351
.RESTI 011636 RG #197-7390 228-8356
.RESTP 011662 RG 187-6972 187-6972 #199-7434 227-8333
.RNDPB 000144 RG *233-8508 233-8509 #235-8554
.RPTCT 000124 RG #53-2146 217-8011 285-10255 294-10422
.RPTPT 000132 RG #53-2148 *212-7858 294-10424
.RSALL 013350 RG #228-8338 322-11352
.RSAPR 013444 RG 228-8344 228-8344 #229-8366 322-11354
.RSDTE 013416 RG #228-8350 322-11356
.RSERR 013452 RG #229-8370 322-11358
.RSPAG 013476 RG 228-8345 228-8345 #230-8401 322-11364
.RSTIN 013422 RG #228-8353 322-11360
.RSTIO 013460 RG #229-8374 322-11362
.RSTKL 011734 RG 74-3052 75-3097 91-3652 91-3652 107-4203 107-4203 115-4489 115-4489 116-4527
116-4527 118-4600 120-4642 120-4642 123-4754 123-4754 125-4813 164-6162 #200-7474
228-8348 230-8426 301-10608 305-10776 305-10776 308-10866 308-10866
.RSTPI 013466 RG 228-8346 228-8346 #229-8378 322-11366
.RUNCM 013622 RG #233-8501 314-11074 314-11080
.R50TB 001320 RG #59-2344 392-13767
.SCCEC 021516 RG #303-10698 323-11375
.SCCED 021524 RG #303-10702 323-11377
.SCCEE 021532 RG #303-10706 323-11379
.SCCLK 021156 RG #299-10545 327-11441
.SCCLN 021400 RG #302-10644 323-11373
.SCCOM 020174 RG #282-10173 325-11409
.SCCON 020112 RG #282-10152 327-11443
.SCCOO 020160 RG #282-10165 325-11411
.SCCOP 020166 RG 282-10156 #282-10169 325-11413
.SCCOT 004342 RG 282-10158 #325-11408
.SCCOU 020222 RG #282-10184 325-11415
.SCCRF 021402 RG #302-10646 323-11387
.SCCRH 021406 RG #302-10650 323-11389
.SCCRQ 021414 RG #302-10654 323-11391
.SCCRS 021422 RG #302-10658 323-11393
.SCCSE 021434 RG #302-10664 323-11381
.SCCSI 021464 RG #302-10675 323-11383
.SCCSM 021470 RG #302-10679 323-11385
.SCCTB 004220 RG 301-10626 #323-11372
.SCDAT 014046 RG #240-8701 327-11445
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 46
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.SCFSS 021170 RG #299-10550 327-11447
.SCINC 020304 RG #284-10219 327-11449
.SCKLN 014376 RG #244-8846 327-11451
.SCMEL 020502 RG #286-10288 324-11400
.SCMEM 020450 RG #286-10279 327-11453
.SCMKL 020514 RG #286-10293 324-11402
.SCMTB 004324 RG 286-10283 #324-11399
.SCNOT 017602 RG #273-9869 327-11455
.SCOFS 020554 RG #288-10324 327-11457
.SCPAL 021554 RG #304-10733 326-11422
.SCPAR 021562 RG #304-10737 326-11424
.SCPCR 021570 RG #304-10741 326-11426
.SCPDR 021576 RG #304-10745 326-11428
.SCPEN 021604 RG #304-10749 326-11430
.SCPFM 021612 RG #304-10753 326-11432
.SCPFS 021620 RG 299-10554 299-10554 #304-10757 326-11434
.SCPST 021212 RG #299-10557 327-11459
.SCPTB 004374 RG 301-10632 #326-11421
.SCRLD 020626 RG #290-10353 327-11461
.SCRPT 020746 RG #294-10410 327-11463
.SCRTY 020642 RG #291-10361 327-11465
.SCTRK 021044 RG #295-10432 327-11468
.SEAMB 003274 RG #100-3960 328-11476
.SECES 003532 RG #103-4053 328-11478
.SECLK = 003000 #148-5624 #278-10037 #394-13839
.SEFRF 003362 RG #101-3987 328-11480
.SEFWF 003370 RG #101-3991 328-11481
.SEFXF 003376 RG #101-3995 328-11482
.SEILC 003320 RG #100-3970 328-11484
.SEILS 003320 RG #100-3971 328-11485
.SEIPC 003320 RG #100-3972 328-11486
.SENSK 003274 RG #100-3961 328-11488
.SETCM 017522 RG #271-9823 314-11082
.SETC0 017532 RG #271-9826 273-9872
.SETMR = 007000 #148-5624 #278-10037 #394-13839
.SETRN = 011000 #148-5624 #278-10037 #394-13839
.SETTB 004450 RG 271-9828 #327-11440
.SHIFT 022330 RG 183-6851 183-6851 #332-11593
.SHUTC 017614 RG #275-9928 314-11084
.SPACE = 000040 #21-835 44-1780 47-1886 59-2356 100-3975 259-9400 360-12597 364-12770 377-13214
383-13452 383-13453 383-13454 383-13455 383-13457 383-13458 383-13460 383-13461 383-13462
383-13464 383-13465 383-13470 383-13474
.SPETB 004576 RG 99-3927 #328-11475
.SSCAN 013134 RG 219-8061 219-8061 #223-8165 223-8171 311-10969 311-10969 311-10973 311-10973
.SSCLK = 002000 #148-5624 #278-10037 #394-13839
.SSM = ****** GX *241-8759 246-8930 252-9163
.SSTTB 000174 RG #54-2222 54-2231 *82-3339 *82-3350 *85-3436 *85-3439 105-4122 *109-4285 *109-4300
145-5549
.START 012550 RG 53-2151 #217-7987
.STCLF 011770 RG 188-7031 188-7031 #201-7507
.STCLK 011762 RG 50-1982 50-1982 165-6183 165-6183 174-6531 174-6531 180-6766 180-6766 #201-7504
206-7658 206-7658 396-13894 396-13894
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 47
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.STPCL = 000000 #148-5624 #278-10037 #394-13839
.STPKL 012012 RG 91-3650 91-3650 115-4487 115-4487 116-4525 116-4525 118-4592 118-4592 120-4639
120-4639 123-4752 123-4752 125-4803 125-4803 164-6158 164-6158 #202-7537 227-8332
227-8332 228-8342 228-8342 228-8355 228-8355 230-8405 230-8405 301-10605 301-10605
305-10774 305-10774 308-10864 308-10864 396-13891 396-13891
.STPXC 012036 RG 149-5654 149-5654 165-6202 165-6202 176-6599 176-6599 176-6612 176-6612 183-6839
183-6839 189-7040 189-7040 195-7276 195-7276 199-7436 199-7436 #203-7567 206-7655
206-7655 208-7742 208-7742
.STRCL = 001000 #148-5624 #278-10037 #394-13839
.STRTB 004666 RG 277-10005 #329-11494
.STRTC 017704 RG #277-10002 314-11086
.STRTT 017736 RG 277-10004 #279-10045 329-11495
.STRTU 020042 RG #280-10094 329-11497
.STRTV 000134 RG #53-2150 107-4226 109-4301 146-5569 220-8111 302-10673
.STRUN 012066 RG 165-6206 165-6206 174-6525 174-6525 180-6749 180-6749 180-6760 180-6760 #204-7598
.STUCD 012106 RG 37-1518 37-1518 #206-7650 280-10107
.SVESP 000136 RG #53-2152 *145-5542 217-7988 220-8110
.SVKLF 000140 RG *39-1607 #53-2154 *73-2998 *88-3549 107-4201 *118-4599 *164-6161 180-6743 180-6752
*180-6772 200-7475 *200-7480 *202-7540 *217-7990 *228-8347 *230-8425 *300-10587 *397-13930
.SYNXC 012210 RG 158-5951 176-6602 189-7055 189-7055 #207-7700 208-7744 208-7744
.TCRLF 026272 RG 74-3050 74-3050 82-3351 85-3447 90-3632 90-3632 94-3766 99-3953 105-4127
105-4127 105-4132 105-4132 107-4217 107-4217 108-4236 108-4236 109-4286 109-4286
109-4291 109-4291 115-4497 116-4547 120-4649 122-4699 122-4699 124-4785 146-5567
146-5567 220-8093 220-8093 252-9165 252-9165 255-9271 255-9271 255-9278 255-9278
285-10262 289-10342 305-10801 305-10801 309-10906 311-10975 311-10975 350-12236 350-12236
359-12564 359-12564 386-13588 388-13669 #389-13679
.TFCHR 026224 RG 217-8007 217-8007 358-12520 358-12520 #387-13628
.TPADD 022716 RG 71-2902 71-2902 #339-11859 343-11997 343-11997 367-12856 373-13105 373-13105
.TPCLR 022572 RG 135-5201 135-5201 150-5701 150-5701 260-9428 260-9428 265-9599 265-9599 284-10237
284-10237 294-10425 294-10425 #336-11733 343-11979 343-11979 364-12768 364-12768 385-13539
385-13539
.TPCMP 022640 RG 91-3648 91-3648 335-11683 335-11683 #337-11785 396-13898 396-13898 397-13921 397-13921
.TPCOM 022602 RG #336-11740 336-11748 336-11748 372-13046 372-13046
.TPDEC 022750 RG 71-2885 71-2885 213-7881 213-7881 #340-11899 347-12120 347-12120 396-13897
.TPDIV 022360 RG 264-9568 264-9568 #334-11649 369-12924 385-13542 385-13542
.TPINC 022736 RG 71-2890 71-2890 335-11688 335-11688 336-11749 #340-11892 347-12131 347-12131 396-13900
.TPMUL 023006 RG #343-11971 369-12928 373-13102 373-13102
.TPNEG 022612 RG #336-11747 372-13054 372-13054
.TPSHI 023172 RG 96-3837 96-3837 129-4934 129-4934 129-4941 129-4941 131-4996 131-4996 133-5083
133-5083 133-5090 133-5090 136-5216 136-5216 187-6980 187-6980 187-6987 187-6987
#345-12049 347-12118 347-12118 347-12129 347-12129 365-12787 365-12787
.TPSHL 023236 RG #346-12100 369-12920
.TPSUB 022762 RG 71-2896 71-2896 335-11685 335-11685 #341-11930 367-12860
.TPTST 022674 RG 213-7873 213-7873 213-7882 213-7882 225-8253 225-8253 279-10053 279-10053 334-11654
334-11654 #338-11824 343-11973 343-11973 343-11976 343-11976 343-12004 343-12004 346-12106
346-12106 347-12121 347-12121 347-12132 347-12132 364-12774 364-12774 365-12796 365-12796
382-13437 382-13437 384-13517 384-13517
.TPXTN 022620 RG 334-11651 334-11651 334-11653 334-11653 #336-11752 346-12105 346-12105
.TRKWD 000142 RG #53-2157 155-5844 160-6012 160-6023 167-6255 169-6346 172-6444 *295-10439 296-10451
.TRPEC 000146 RG #53-2162 *107-4196 107-4218
.TRPIP 000150 RG #53-2164 *105-4119 *107-4191 *107-4212 107-4220 *107-4225 *108-4240
.TRPPC 000152 RG #53-2166 *107-4194 *109-4281
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 48
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.TRPPS 000154 RG #53-2168 *107-4195 *109-4282
.TRPSB 000156 RG #53-2170 *107-4193 107-4199 107-4207 107-4222
.TRPTV 000160 RG *37-1510 *37-1513 #53-2172 107-4209 *107-4213
.TRP4V 000144 RG #53-2160 82-3339 85-3436
.TSCAN 012672 RG 68-2813 68-2813 69-2850 69-2850 81-3314 81-3314 84-3422 84-3422 89-3587
89-3587 93-3735 93-3735 212-7862 212-7862 #219-8049 227-8323 227-8323 244-8862
244-8862 248-9010 248-9010 260-9422 260-9422 271-9829 271-9829 272-9862 272-9862
277-10006 277-10006 282-10159 282-10159 286-10284 286-10284 300-10570 300-10570
.TYCHR 026240 RG 82-3343 82-3343 85-3443 85-3443 100-3967 100-3967 100-3980 100-3980 100-3983
100-3983 102-4021 102-4021 102-4025 102-4025 266-9669 266-9669 268-9737 268-9737
269-9750 269-9750 377-13221 377-13221 385-13555 386-13600 386-13600 387-13629 387-13629
#388-13664 389-13682 389-13682 389-13684 389-13684 392-13772 392-13772
.TYCOL 025414 RG 269-9746 269-9746 #377-13192
.TYCOM 025424 RG 103-4064 103-4064 305-10797 305-10797 309-10900 309-10900 #377-13197
.TYDAT 017230 RG 252-9161 252-9161 255-9268 255-9268 255-9275 255-9275 #266-9653
.TYELA 025502 RG 82-3341 82-3341 85-3441 85-3441 266-9659 266-9659 267-9677 267-9677 269-9745
269-9745 269-9753 269-9753 289-10341 289-10341 #378-13256
.TYELN 025506 RG 82-3346 82-3346 85-3446 85-3446 105-4131 105-4131 109-4290 109-4290 120-4648
120-4648 122-4698 122-4698 352-12305 352-12305 #378-13258
.TYINI 026356 RG 217-7992 217-7992 #391-13729
.TYKLA 025626 RG 90-3627 90-3627 94-3761 94-3761 355-12400 355-12400 #380-13345
.TYKLN 025676 RG 74-3049 74-3049 90-3631 90-3631 94-3765 94-3765 115-4495 115-4495 285-10260
285-10260 350-12234 350-12234 355-12404 355-12404 #381-13385
.TYLIN 026166 RG 105-4129 105-4129 108-4235 108-4235 116-4531 116-4531 121-4684 121-4684 220-8097
220-8097 220-8104 220-8104 252-9154 252-9154 252-9174 254-9255 254-9255 255-9264
255-9264 255-9286 255-9286 256-9304 256-9304 256-9309 283-10207 287-10312 293-10395
297-10464 297-10464 297-10469 305-10780 305-10780 305-10789 305-10789 306-10814 306-10814
306-10821 308-10870 308-10870 308-10878 308-10878 352-12311 352-12311 355-12412 355-12412
#386-13586
.TYMIN 025434 RG 266-9660 266-9660 266-9665 266-9665 #377-13202
.TYMSF 026174 RG 244-8857 244-8857 244-8866 244-8866 248-9004 248-9004 259-9389 259-9389 263-9541
263-9541 #386-13590
.TYMSG 026202 RG 74-3042 74-3042 101-4005 101-4005 102-4019 102-4019 102-4023 102-4023 102-4028
103-4063 103-4063 103-4074 103-4074 109-4288 109-4288 115-4491 115-4491 116-4538
116-4538 116-4545 116-4545 120-4644 120-4644 122-4694 122-4694 123-4757 123-4757
124-4769 124-4769 124-4771 124-4771 124-4776 124-4776 124-4781 124-4781 217-7995
217-7995 220-8095 220-8095 246-8919 246-8919 246-8925 246-8925 246-8933 246-8933
247-8974 247-8974 252-9158 252-9158 252-9167 252-9167 254-9243 254-9243 255-9266
255-9266 255-9273 255-9273 255-9281 255-9281 255-9288 255-9288 266-9664 266-9664
283-10197 283-10197 285-10257 285-10257 287-10306 287-10306 289-10339 289-10339 292-10377
292-10377 293-10388 293-10388 296-10449 296-10449 297-10462 297-10462 297-10466 297-10466
302-10666 302-10666 305-10782 305-10782 305-10796 305-10796 306-10809 306-10809 306-10816
306-10816 308-10872 308-10872 308-10880 308-10880 308-10884 308-10884 309-10899 309-10899
311-10962 311-10962 350-12224 350-12224 352-12292 352-12292 352-12295 352-12295 355-12398
355-12398 386-13587 386-13587 386-13591 386-13591 #386-13594
.TYNCM 025760 RG 379-13312 #382-13429
.TYNUM 026036 RG 382-13442 382-13442 #384-13506 385-13534
.TYOBC 000162 RG #53-2174 *388-13668 *391-13731
.TYOBP 000164 RG #53-2176 388-13665 *388-13666 *391-13732
.TYOUT 026320 RG 311-10963 311-10963 387-13633 388-13672 #390-13715
.TYP3D 025552 RG 74-3045 74-3045 101-4003 101-4003 124-4774 124-4774 124-4779 124-4779 124-4784
124-4784 350-12229 350-12229 #379-13297
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 49
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.TYR50 026404 RG 102-4035 102-4035 #392-13759
.TYSLS 025444 RG 74-3046 74-3046 90-3628 90-3628 94-3762 94-3762 115-4492 115-4492 120-4645
120-4645 122-4695 122-4695 350-12232 350-12232 355-12401 355-12401 #377-13207
.TYSPC 025454 RG 74-3047 74-3047 82-3344 82-3344 85-3444 85-3444 90-3629 90-3629 94-3763
94-3763 102-4026 102-4026 103-4065 103-4065 115-4493 115-4493 120-4646 120-4646
122-4692 122-4692 122-4696 122-4696 220-8103 220-8103 252-9159 252-9159 252-9162
252-9162 267-9679 269-9755 305-10798 305-10798 309-10901 309-10901 350-12233 350-12233
352-12296 352-12296 355-12402 355-12402 355-12405 355-12405 #377-13212
.TYTIM 017344 RG 252-9164 252-9164 255-9270 255-9270 255-9277 255-9277 #268-9723
.TYUPA 025464 RG 100-3977 100-3977 #377-13217
.T50TB 001350 RG #59-2358 237-8584 392-13761
.VERNO = ****** GX 297-10467
.VFYFL 000166 RG #53-2178 91-3641
.WHATB 004704 RG 272-9860 #330-11503
.WHATC 017556 RG #272-9859 314-11090
.WHATV 021116 RG #297-10460 330-11530
.WHCON 020234 RG 282-10182 #283-10195 330-11506
.WHDAT 015534 RG 241-8771 #252-9141 330-11508
.WHINC 020362 RG #285-10246 330-11510
.WHKLN 015710 RG 250-9085 #254-9240 330-11512
.WHMEM 020522 RG #287-10304 330-11514
.WHOFS 020602 RG #289-10337 330-11516
.WHRLD 020670 RG 290-10356 #292-10375 330-11520
.WHRPT 020374 RG #285-10251 294-10427 330-11522
.WHRTY 020714 RG 291-10368 #293-10386 330-11524
.WHTCA 021662 RG 301-10630 #305-10777
.WHTCL 021646 RG #305-10773 330-11504
.WHTPA 022064 RG 301-10636 #308-10867
.WHTPS 022050 RG #308-10863 330-11518
.WHTRK 021066 RG #296-10447 330-11527
.WRAR1 012232 RG #208-7743
.WRMBX = 071000 #148-5624 #278-10037 #394-13839
.WRTAR 012226 RG 88-3548 88-3548 #208-7741
.XFRCK 001504 RG 74-3034 74-3034 #77-3154
.XFWCK 001522 RG 75-3084 75-3084 #77-3161
.XFXCK 001540 RG 76-3124 76-3124 #77-3168
.YEAR = ****** GX *240-8707 *241-8762
.YESNO 022224 RG 302-10667 302-10667 #311-10958
.ZEROC 026456 RG 314-11094 #395-13863
..DTP2 = ****** GX 37-1520 37-1520 275-9944 275-9944 279-10065
..STIN = ****** GX 249-9058 249-9058 250-9082 250-9082
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 50
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
ALUN$ #139-5344 #147-5580 #147-5585
CALL #4-116 #35-1462 #37-1511 #37-1518 #37-1520 #39-1600 #40-1638 #43-1746 #45-1806 #48-1914
#50-1974 #50-1982 #50-1985 #50-1989 #64-2609 #66-2711 #68-2813 #69-2850 #71-2884 #71-2885
#71-2889 #71-2890 #71-2894 #71-2896 #71-2900 #71-2902 #73-2982 #73-2987 #73-2999 #74-3032
#74-3033 #74-3034 #74-3040 #74-3042 #74-3045 #74-3046 #74-3047 #74-3049 #74-3050 #75-3082
#75-3083 #75-3084 #75-3091 #75-3092 #75-3095 #76-3122 #76-3123 #76-3124 #79-3242 #81-3311
#81-3314 #81-3318 #81-3322 #81-3323 #82-3332 #82-3341 #82-3343 #82-3344 #82-3346 #83-3366
#83-3370 #83-3374 #83-3378 #83-3388 #84-3419 #84-3422 #84-3426 #85-3433 #85-3441 #85-3443
#85-3444 #85-3446 #86-3462 #86-3466 #86-3470 #86-3474 #88-3534 #88-3535 #88-3540 #88-3541
#88-3545 #88-3548 #89-3584 #89-3587 #89-3592 #89-3593 #89-3596 #90-3603 #90-3625 #90-3627
#90-3628 #90-3629 #90-3631 #90-3632 #91-3640 #91-3645 #91-3648 #91-3650 #91-3651 #91-3652
#92-3677 #92-3681 #92-3685 #92-3689 #92-3700 #93-3732 #93-3735 #93-3740 #94-3747 #94-3759
#94-3761 #94-3762 #94-3763 #94-3765 #95-3781 #95-3785 #95-3789 #95-3793 #96-3835 #96-3837
#99-3950 #100-3962 #100-3967 #100-3973 #100-3977 #100-3980 #100-3983 #101-3998 #101-4003 #101-4005
#102-4019 #102-4021 #102-4023 #102-4025 #102-4026 #102-4033 #102-4035 #103-4054 #103-4055 #103-4063
#103-4064 #103-4065 #103-4074 #105-4127 #105-4129 #105-4131 #105-4132 #107-4197 #107-4203 #107-4217
#107-4219 #108-4235 #108-4236 #108-4242 #109-4283 #109-4286 #109-4288 #109-4290 #109-4291 #109-4296
#111-4370 #111-4371 #115-4481 #115-4487 #115-4488 #115-4489 #115-4491 #115-4492 #115-4493 #115-4495
#116-4524 #116-4525 #116-4526 #116-4527 #116-4531 #116-4538 #116-4545 #118-4590 #118-4592 #118-4594
#118-4596 #118-4597 #118-4598 #120-4637 #120-4639 #120-4640 #120-4642 #120-4644 #120-4645 #120-4646
#120-4648 #121-4676 #121-4680 #121-4684 #122-4692 #122-4694 #122-4695 #122-4696 #122-4698 #122-4699
#123-4750 #123-4752 #123-4753 #123-4754 #123-4757 #124-4769 #124-4771 #124-4774 #124-4776 #124-4779
#124-4781 #124-4784 #125-4802 #125-4803 #125-4809 #129-4932 #129-4934 #129-4939 #129-4941 #129-4946
#131-4994 #131-4996 #133-5081 #133-5083 #133-5088 #133-5090 #135-5193 #135-5201 #136-5211 #136-5216
#138-5305 #140-5367 #143-5451 #143-5454 #143-5462 #143-5467 #146-5567 #146-5568 #149-5654 #149-5658
#150-5691 #150-5701 #151-5732 #158-5936 #158-5941 #158-5943 #160-6010 #160-6014 #160-6021 #160-6025
#161-6051 #161-6052 #164-6158 #164-6160 #165-6177 #165-6179 #165-6180 #165-6183 #165-6186 #165-6196
#165-6202 #165-6206 #167-6257 #169-6348 #172-6446 #174-6525 #174-6528 #174-6531 #175-6580 #175-6583
#176-6591 #176-6599 #176-6612 #176-6616 #176-6617 #177-6662 #177-6665 #178-6701 #178-6703 #180-6749
#180-6751 #180-6760 #180-6766 #181-6807 #181-6809 #183-6839 #183-6842 #183-6848 #183-6851 #183-6856
#185-6913 #185-6919 #185-6925 #185-6929 #185-6934 #187-6972 #187-6974 #187-6980 #187-6983 #187-6987
#187-6990 #188-7029 #188-7031 #189-7040 #189-7041 #189-7043 #189-7048 #189-7052 #189-7055 #189-7057
#190-7088 #190-7096 #193-7220 #193-7229 #195-7274 #195-7276 #195-7279 #195-7280 #195-7281 #195-7282
#195-7286 #195-7291 #196-7343 #197-7393 #197-7398 #199-7436 #199-7437 #199-7440 #199-7442 #199-7446
#200-7477 #201-7506 #201-7510 #202-7541 #204-7603 #206-7654 #206-7655 #206-7657 #206-7658 #206-7661
#207-7704 #208-7742 #208-7744 #208-7747 #212-7862 #213-7871 #213-7873 #213-7881 #213-7882 #213-7891
#216-7980 #217-7992 #217-7995 #217-8007 #217-8009 #217-8012 #219-8050 #219-8051 #219-8061 #220-8091
#220-8093 #220-8095 #220-8097 #220-8103 #220-8104 #225-8251 #225-8253 #225-8255 #225-8257 #227-8321
#227-8323 #227-8327 #227-8331 #227-8332 #228-8342 #228-8343 #228-8344 #228-8345 #228-8346 #228-8354
#228-8355 #230-8405 #230-8418 #230-8421 #230-8423 #233-8502 #233-8503 #233-8506 #233-8507 #237-8601
#238-8635 #240-8711 #240-8715 #240-8719 #240-8726 #241-8754 #244-8847 #244-8857 #244-8860 #244-8862
#244-8866 #244-8868 #246-8919 #246-8923 #246-8925 #246-8928 #246-8933 #246-8937 #247-8974 #247-8977
#248-9004 #248-9007 #248-9008 #248-9010 #248-9012 #249-9058 #250-9082 #252-9142 #252-9154 #252-9158
#252-9159 #252-9161 #252-9162 #252-9164 #252-9165 #252-9167 #254-9241 #254-9243 #254-9255 #255-9264
#255-9266 #255-9268 #255-9270 #255-9271 #255-9273 #255-9275 #255-9277 #255-9278 #255-9281 #255-9286
#255-9288 #256-9304 #259-9389 #259-9390 #259-9392 #260-9416 #260-9419 #260-9422 #260-9428 #260-9429
#260-9431 #260-9438 #263-9541 #263-9544 #264-9551 #264-9554 #264-9560 #264-9563 #264-9568 #264-9576
#264-9580 #265-9596 #265-9599 #265-9600 #265-9606 #266-9659 #266-9660 #266-9664 #266-9665 #266-9669
#267-9677 #268-9728 #268-9732 #268-9737 #269-9745 #269-9746 #269-9750 #269-9753 #271-9817 #271-9824
#271-9829 #272-9861 #272-9862 #272-9863 #273-9870 #275-9929 #275-9942 #275-9944 #277-10003 #277-10006
#279-10042 #279-10046 #279-10052 #279-10053 #279-10055 #279-10058 #279-10061 #280-10095 #280-10100 #280-10101
#280-10105 #282-10157 #282-10159 #282-10160 #282-10164 #283-10197 #284-10226 #284-10227 #284-10235 #284-10237
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 51
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
#285-10257 #285-10260 #286-10282 #286-10284 #286-10285 #286-10292 #287-10306 #288-10328 #288-10330 #289-10339
#289-10341 #290-10354 #291-10362 #292-10377 #293-10388 #294-10419 #294-10421 #294-10425 #295-10433 #296-10449
#297-10462 #297-10464 #297-10466 #299-10546 #299-10551 #299-10553 #299-10554 #299-10558 #300-10568 #300-10570
#300-10571 #300-10585 #300-10586 #300-10588 #300-10595 #301-10604 #301-10605 #301-10606 #302-10666 #302-10667
#305-10774 #305-10775 #305-10776 #305-10780 #305-10782 #305-10789 #305-10796 #305-10797 #305-10798 #305-10801
#306-10809 #306-10814 #306-10816 #308-10864 #308-10865 #308-10866 #308-10870 #308-10872 #308-10878 #308-10880
#308-10884 #309-10899 #309-10900 #309-10901 #311-10962 #311-10963 #311-10965 #311-10969 #311-10973 #311-10975
#334-11651 #334-11653 #334-11654 #335-11683 #335-11685 #335-11688 #336-11748 #343-11973 #343-11976 #343-11979
#343-11997 #343-12004 #346-12105 #346-12106 #347-12118 #347-12120 #347-12121 #347-12129 #347-12131 #347-12132
#350-12224 #350-12229 #350-12232 #350-12233 #350-12234 #350-12236 #352-12292 #352-12295 #352-12296 #352-12305
#352-12311 #354-12372 #354-12377 #355-12398 #355-12400 #355-12401 #355-12402 #355-12404 #355-12405 #355-12412
#358-12514 #358-12520 #359-12564 #362-12698 #362-12699 #363-12727 #364-12765 #364-12768 #364-12769 #364-12772
#364-12774 #365-12787 #365-12794 #365-12795 #365-12796 #366-12843 #367-12870 #367-12873 #368-12903 #369-12938
#369-12941 #370-12981 #371-13009 #372-13040 #372-13045 #372-13046 #372-13051 #372-13054 #372-13059 #373-13102
#373-13105 #377-13221 #382-13437 #382-13442 #384-13517 #385-13539 #385-13542 #385-13544 #386-13587 #386-13591
#386-13600 #387-13629 #389-13682 #389-13684 #392-13765 #392-13772 #395-13864 #395-13869 #396-13887 #396-13889
#396-13891 #396-13894 #396-13898 #397-13921 #397-13923 #397-13925
CALLR #4-125 #50-1995 #64-2612 #65-2627 #65-2639 #65-2651 #65-2663 #65-2675 #66-2715 #67-2730
#67-2742 #67-2754 #67-2766 #67-2778 #68-2817 #68-2821 #68-2825 #69-2855 #69-2859 #69-2863
#74-3052 #75-3097 #76-3125 #79-3245 #81-3315 #82-3351 #84-3423 #85-3447 #88-3551 #89-3588
#93-3736 #94-3766 #99-3953 #102-4028 #107-4214 #111-4378 #115-4497 #116-4547 #118-4600 #120-4649
#124-4785 #125-4813 #127-4883 #138-5306 #146-5572 #149-5660 #155-5846 #158-5951 #164-6162 #176-6602
#181-6811 #196-7345 #210-7791 #213-7892 #227-8328 #227-8333 #228-8348 #228-8351 #228-8356 #229-8381
#230-8426 #233-8511 #238-8636 #241-8771 #252-9174 #256-9306 #256-9309 #267-9679 #269-9755 #271-9833
#272-9864 #275-9945 #277-10007 #279-10065 #280-10107 #282-10161 #282-10185 #283-10207 #285-10262 #286-10286
#287-10312 #289-10342 #293-10395 #294-10427 #297-10469 #300-10591 #300-10596 #301-10608 #306-10821 #309-10906
#360-12611 #391-13735
CLEF$S #38-1565 #39-1605 #42-1710 #139-5344 #146-5560 #146-5561 #146-5562 #243-8842 #249-9052
COMND$ #5-179 #314-11044 #314-11046 #314-11048 #314-11050 #314-11052 #314-11054 #314-11056 #314-11058 #314-11060
#314-11062 #314-11064 #314-11070 #314-11072 #314-11074 #314-11076 #314-11078 #314-11080 #314-11082 #314-11084
#314-11086 #314-11088 #314-11090 #314-11092 #314-11094 #315-11101 #315-11103 #315-11105 #315-11107 #315-11109
#316-11116 #316-11118 #316-11120 #316-11122 #316-11124 #316-11126 #316-11128 #316-11130 #317-11137 #317-11139
#317-11141 #317-11143 #317-11145 #318-11152 #318-11154 #318-11156 #318-11158 #318-11160 #318-11162 #318-11164
#318-11166 #318-11168 #318-11170 #318-11173 #318-11175 #318-11177 #318-11179 #318-11181 #318-11183 #318-11185
#318-11187 #318-11189 #318-11191 #318-11193 #318-11195 #318-11197 #318-11199 #318-11201 #318-11203 #318-11205
#318-11207 #318-11209 #318-11211 #318-11213 #319-11220 #319-11222 #319-11224 #319-11229 #319-11231 #320-11239
#320-11241 #320-11243 #320-11245 #320-11247 #320-11249 #320-11251 #320-11253 #320-11255 #320-11257 #320-11259
#320-11261 #322-11352 #322-11354 #322-11356 #322-11358 #322-11360 #322-11362 #322-11364 #322-11366 #323-11373
#323-11375 #323-11377 #323-11379 #323-11381 #323-11383 #323-11385 #323-11387 #323-11389 #323-11391 #323-11393
#324-11400 #324-11402 #325-11409 #325-11411 #325-11413 #325-11415 #326-11422 #326-11424 #326-11426 #326-11428
#326-11430 #326-11432 #326-11434 #327-11441 #327-11443 #327-11445 #327-11447 #327-11449 #327-11451 #327-11453
#327-11455 #327-11457 #327-11459 #327-11461 #327-11463 #327-11465 #327-11468 #329-11495 #329-11497 #330-11504
#330-11506 #330-11508 #330-11510 #330-11512 #330-11514 #330-11516 #330-11518 #330-11520 #330-11522 #330-11524
#330-11527 #330-11530
DIR$ #39-1605 #39-1605 #42-1710 #42-1710 #78-3216 #79-3244 #139-5344 #143-5448 #143-5448 #145-5549
#145-5549 #145-5551 #145-5553 #146-5560 #146-5560 #146-5561 #146-5561 #146-5562 #146-5562 #146-5563
#146-5563 #148-5622 #151-5728 #155-5840 #161-6043 #167-6243 #169-6335 #171-6407 #203-7569 #203-7569
#211-7827 #214-7925 #214-7925 #214-7926 #214-7926 #232-8476 #233-8509 #249-9052 #249-9052 #250-9083
#250-9083 #252-9144 #252-9144 #254-9238 #256-9305 #258-9367 #258-9374 #258-9374 #359-12553 #359-12560
#390-13713 #390-13716 #390-13718 #390-13722 #394-13837 #397-13919
ERCON$ #5-170
ERROR$ #5-155 39-1611 41-1682 41-1685 43-1753 46-1859 48-1919 50-1999 71-2923 73-3006
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 52
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
77-3176 77-3179 82-3354 85-3450 91-3659 91-3662 91-3665 94-3769 111-4381 144-5502
144-5505 149-5663 155-5855 158-5954 162-6076 162-6080 162-6083 162-6086 165-6211 167-6262
169-6355 172-6452 176-6622 178-6713 206-7671 206-7674 213-7895 221-8116 221-8119 221-8122
225-8261 228-8359 231-8430 234-8525 234-8528 234-8531 242-8775 242-8778 242-8781 242-8784
245-8887 245-8890 245-8893 245-8897 247-8993 262-9486 262-9489 262-9492 262-9495 265-9618
265-9621 279-10068 282-10188 301-10614 301-10617 301-10620 335-11704 360-12614 360-12617 363-12734
365-12815 371-13022 372-13062 374-13124 374-13127 397-13935 397-13938
ERR$ #39-1605 #42-1710 #79-3244 #143-5448 #145-5549 #145-5551 #145-5553 #146-5560 #146-5561 #146-5562
#146-5563 #151-5728 #155-5840 #161-6043 #167-6243 #169-6335 #171-6407 #203-7569 #214-7925 #214-7926
#233-8509 #249-9052 #250-9083 #252-9144 #256-9305 #258-9374 #359-12560 #390-13716 #390-13718 #390-13722
#397-13919
EXCH$ #6-221
EXIT$S #211-7827 #214-7926
FATAL$ #5-162
GTIM$S #239-8675 #252-9144 #258-9367 #258-9374
IKL$ #8-249
IOKL$ #8-277 229-8389 229-8391 229-8393 229-8395 231-8436 231-8438
KLDR$ #148-5622 #167-6282
KLDW$ #148-5622 #169-6375
KLDX$ #148-5622 172-6473
MOV$ #39-1605 #39-1605 #42-1710 #42-1710 #143-5448 #143-5448 #145-5549 #145-5549 #145-5549 #146-5560
#146-5560 #146-5561 #146-5561 #146-5562 #146-5562 #146-5563 #146-5563 #203-7569 #203-7569 #214-7925
#214-7925 #214-7925 #214-7925 #214-7925 #214-7925 #249-9052 #249-9052 #250-9083 #250-9083 #252-9144
#252-9144 #258-9374 #258-9374
MRKT$ #148-5622 152-5756
MVB$ #214-7925 #214-7925
NBL$ #147-5580 #147-5580 #147-5585 #147-5585
NSERR$ #6-199 321-11269 321-11271 321-11273 321-11274 321-11275 321-11276 321-11277 321-11278 321-11279
321-11284 321-11285 321-11286 321-11287 321-11288 321-11289 321-11290 321-11291 321-11293 321-11294
321-11295 321-11296 321-11297 321-11298 321-11300 321-11301 321-11302 321-11303 321-11304 321-11305
321-11307 321-11308 321-11309 321-11310 321-11311 321-11313 321-11315 321-11316 321-11317 321-11318
321-11319 321-11320 321-11322 321-11323 321-11325 321-11327 321-11329 321-11330 321-11331 321-11332
321-11334 321-11335 321-11337 321-11339 321-11341 321-11343 321-11345
OFF$ #79-3251 79-3251 79-3251 79-3251 79-3251 79-3251 79-3251 #147-5580 147-5580 147-5580
147-5580 147-5580 #147-5585 147-5585 147-5585 147-5585 147-5585 #152-5756 152-5756 152-5756
152-5756 152-5756 152-5756 #235-8555 235-8555 235-8555 235-8555 235-8555 235-8555 235-8555
#252-9144 252-9144 252-9144 252-9144 252-9144 252-9144 252-9144 252-9144 252-9144 #256-9315
256-9315 256-9315 256-9315 256-9315 256-9315 256-9315 #258-9374 258-9374 258-9374 258-9374
258-9374 258-9374 258-9374 258-9374 258-9374 #360-12624 360-12624 360-12624 360-12624 360-12624
360-12624 360-12624 360-12624 360-12624 #393-13785 393-13785 393-13785 393-13785 393-13785 393-13785
393-13785 393-13785 393-13785 #393-13794 393-13794 393-13794 393-13794 393-13794 393-13794 393-13794
393-13794 393-13794 #393-13799 393-13799 393-13799 393-13799 393-13799 393-13799 393-13799 393-13799
393-13799
PARVR$ #52-2035 59-2367 59-2367
POP #4-131 #37-1522 #43-1749 #46-1853 #73-3001 #74-3043 #75-3094 #81-3325 #82-3347 #82-3348
#83-3390 #88-3549 #90-3626 #90-3630 #91-3638 #94-3760 #94-3764 #96-3841 #99-3952 #101-3999
#102-4034 #108-4241 #109-4281 #109-4282 #109-4295 #118-4599 #120-4647 #122-4697 #125-4810 #129-4952
#131-5002 #133-5095 #141-5410 #144-5496 #151-5734 #158-5950 #160-6028 #164-6159 #164-6161 #169-6351
#172-6449 #174-6540 #176-6601 #178-6710 #180-6771 #183-6857 #187-6992 #189-7060 #191-7130 #195-7293
#199-7448 #201-7512 #204-7604 #206-7668 #208-7749 #216-7984 #219-8084 #219-8086 #228-8347 #230-8424
#230-8425 #233-8508 #237-8609 #237-8610 #248-9015 #248-9017 #248-9018 #248-9019 #248-9020 #248-9021
#248-9022 #249-9038 #260-9411 #260-9424 #261-9480 #265-9611 #265-9613 #267-9678 #269-9744 #269-9754
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 53
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
#284-10229 #284-10230 #284-10231 #294-10423 #300-10587 #306-10817 #312-10986 #332-11607 #335-11689 #335-11692
#335-11700 #343-12006 #344-12017 #344-12018 #344-12019 #344-12021 #345-12071 #347-12135 #347-12136 #350-12238
#352-12312 #355-12413 #360-12585 #365-12801 #365-12809 #367-12872 #369-12940 #371-13003 #371-13011 #372-13041
#373-13108 #374-13118 #377-13222 #382-13444 #385-13540 #385-13547 #386-13604 #389-13685 #392-13773 #392-13777
#396-13896
PRDP$ #148-5622 #163-6106 #394-13837 #397-13944
PREX$ #148-5622 #163-6124
PUSH #4-137 #37-1508 #37-1509 #39-1611 #41-1682 #41-1685 #43-1745 #43-1753 #46-1836 #46-1841
#46-1845 #46-1859 #48-1919 #50-1975 #50-1999 #71-2923 #73-3006 #74-3039 #75-3089 #77-3176
#77-3179 #81-3321 #82-3335 #82-3336 #82-3354 #83-3387 #85-3450 #88-3542 #90-3617 #90-3618
#90-3620 #90-3621 #90-3622 #91-3659 #91-3662 #91-3665 #94-3750 #94-3756 #94-3769 #96-3832
#99-3926 #101-3988 #101-3992 #101-3996 #102-4031 #103-4056 #105-4121 #107-4198 #109-4284 #111-4381
#115-4486 #118-4591 #120-4638 #120-4641 #121-4681 #125-4808 #129-4928 #131-4988 #133-5077 #133-5085
#135-5198 #141-5402 #143-5450 #144-5502 #144-5505 #149-5663 #150-5693 #150-5698 #151-5729 #155-5855
#158-5935 #158-5954 #160-6008 #160-6019 #162-6076 #162-6080 #162-6083 #162-6086 #164-6152 #164-6157
#164-6167 #165-6176 #165-6211 #167-6262 #169-6337 #169-6355 #172-6452 #174-6518 #175-6579 #176-6622
#177-6661 #178-6699 #178-6713 #180-6742 #183-6841 #187-6971 #188-7027 #190-7089 #195-7273 #197-7391
#199-7435 #199-7438 #199-7439 #201-7508 #203-7570 #204-7600 #206-7653 #206-7671 #206-7674 #207-7702
#208-7745 #212-7854 #212-7856 #212-7857 #213-7895 #216-7977 #219-8054 #219-8055 #219-8057 #221-8116
#221-8119 #221-8122 #225-8261 #228-8339 #228-8359 #230-8402 #230-8406 #230-8407 #230-8412 #230-8414
#230-8415 #231-8430 #233-8505 #234-8525 #234-8528 #234-8531 #237-8582 #242-8775 #242-8778 #242-8781
#242-8784 #244-8855 #245-8887 #245-8890 #245-8893 #245-8897 #247-8993 #258-9372 #259-9394 #260-9418
#262-9486 #262-9489 #262-9492 #262-9495 #263-9538 #264-9566 #264-9571 #265-9618 #265-9621 #266-9654
#268-9724 #268-9729 #275-9932 #275-9934 #275-9935 #275-9936 #275-9938 #275-9939 #279-10068 #282-10188
#300-10582 #300-10584 #301-10614 #301-10617 #301-10620 #305-10778 #308-10868 #311-10959 #332-11594 #334-11650
#335-11686 #335-11704 #343-11972 #343-11984 #343-12002 #345-12050 #346-12101 #346-12103 #349-12197 #349-12198
#349-12199 #349-12204 #349-12205 #349-12206 #349-12211 #349-12212 #352-12290 #355-12386 #358-12513 #359-12556
#360-12614 #360-12617 #363-12734 #364-12764 #365-12793 #365-12815 #367-12867 #367-12868 #369-12935 #369-12936
#371-12995 #371-13014 #371-13022 #372-13062 #373-13089 #373-13092 #373-13103 #374-13124 #374-13127 #377-13193
#377-13198 #377-13203 #377-13208 #377-13213 #377-13218 #378-13259 #379-13298 #379-13310 #380-13347 #381-13386
#381-13397 #381-13399 #385-13532 #385-13533 #385-13537 #385-13543 #386-13595 #389-13680 #392-13760 #392-13766
#396-13890 #397-13935 #397-13938
QDPB$ #360-12624 #360-12624 #393-13785 #393-13785 #393-13794 #393-13794 #393-13799 #393-13799
QDPB$S #214-7925 214-7925
QIOW$ #359-12553 360-12624 #390-13713 393-13785 393-13794 393-13799
QIOW$S #211-7827 #214-7925
RETURN #4-145 37-1523 39-1603 40-1651 41-1680 42-1713 43-1743 44-1782 45-1809 46-1854
47-1889 48-1917 70-2872 70-2877 71-2918 73-3004 77-3174 91-3657 96-3842 122-4701
129-4953 131-5003 133-5096 136-5224 144-5497 151-5735 155-5850 160-6029 161-6045 165-6209
167-6260 169-6352 172-6450 174-6541 178-6711 180-6773 183-6858 185-6937 187-6993 189-7061
191-7131 193-7239 195-7295 199-7449 200-7481 201-7513 202-7543 204-7605 206-7669 208-7750
216-7985 219-8087 223-8188 225-8259 237-8612 261-9483 265-9616 302-10692 303-10717 304-10763
304-10767 312-10987 332-11609 341-11942 344-12022 345-12072 347-12137 350-12239 352-12313 355-12414
358-12524 360-12587 361-12668 362-12702 363-12732 365-12810 366-12849 368-12913 370-12988 374-13122
377-13223 382-13445 385-13558 386-13605 389-13687 391-13733 392-13778 397-13931
RQST$ #78-3216 79-3251 #232-8476 235-8555 #254-9238 256-9315
RVP$ #214-7925 214-7925
R50$ #79-3251 79-3251 79-3251 #235-8555 235-8555 235-8555 #256-9315 256-9315 256-9315
SETF$S #139-5344 143-5448 146-5563
SPERR$ #6-209 #328-11476 #328-11478 #328-11480 #328-11481 #328-11482 #328-11484 #328-11485 #328-11486 #328-11488
SVTK$S #139-5344 #145-5549
WTSE$S #148-5622 203-7569 #243-8842 250-9083
PARSER CREATED BY MACRO ON 3-OCT-79 AT 11:41 PAGE 54
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
$DEF #148-5622 148-5624 #278-10035 278-10037 #394-13837 394-13839
.ENB6 #239-8675 #241-8768 #243-8842 #249-9048
.INH6 #239-8675 241-8757 #243-8842 248-9014 249-9044